
The Coldest Winter is an upcoming game developed in Unity by Vibe XP. At it’s core, The Coldest Winter is an adventure visual novel, but with a unique blend of fast-paced gameplay, puzzle, and horror elements. The story is centered around the main character Jovanna as she crosses paths with other pivotal characters during their descent into a strange and suspiciously cold winter.
I’ve primarily worked with the Vibe XP team as a technical consultant on the project, discussing and advising on the structure and technical direction of the game with the lead developers. I have also done some feature implementation for the gameplay and resolved some emergency show-stopping bugs the night before a presentation on a couple occasions.

One of the defining gameplay mechanics is the cursor behavior. The cursor for interacting with the environment and selecting dialog options is split into two: the player’s cursor and Jovanna’s cursor.
Jovanna’s cursor is subject to her emotional state and will drift away from where you want it if she is scared or angry. The player must reign in Jovanna’s cursor, and thus her emotional state, in order to make the correct decisions. On the right you can see an example of this where Jovanna’s cursor (purple) is misbehaving, and the player (yellow) needs to grab on and drag her to a dialog option.
One way to help with this to ‘breathe’, which in the gameplay means drawing a lasso around Jovanna’s cursor to slow down her movements. This lasso mechanic was a feature I did the initial implementation for in the project. Implementation for this kind of feature had some interesting challenges.

Unity’s LineRenderer made sense for the visual element, and initially I tried stealing the LineRenderer mesh to use for collision detection. In practice this turned out to be unreliable for reasons I’m not entirely sure of- perhaps the Unity’s collision algorithm couldn’t properly handle the erratic shape of the mesh, or there were complications with generating a new mesh and assigning it to a collider all within the same frame. Instead, it ended up being much easier to run SphereCollision checks along the vertices of the LineRenderer. This lets us detect collisions with the lasso itself, meaning Jovanna’s cursor can ‘break’ the lasso if she runs into it while being encircled. It also lets us detect when the player’s cursor overlaps the lasso, which signifies a closed loop.
The next challenge was detecting if the cursor is inside the lasso when a closed loop is made. In the initial implementation of this, a subset of vertices are chosen from the loop. For instance, every 5th vertex along the array of vertices can be selected. The center position of the selected vertices is calculated, and then we create a vector between each vertex and the center. We can then run SphereCollision checks along the length of these vectors to detect if something is inside. While this method works, it can result in excessive collision checks if we are not careful. Using a subset of the lasso vertices allows us to effectively reduce the ‘resolution’ of the collision checking and save a lot of calculation time, though reducing the number of checks too much can fail to properly detect the cursor.
The collision check has since been revised to use a less expensive and more precise mathematical approach. For every vertex in the lasso, a vector is calculated between the vertex and the next vertex in the lasso. A second vector is calculated between the vertex and the cursor. We run a cross product between these two vectors. If this cross product is positive for every vertex, we can confirm the cursor is inside. If any of these cross products are negative, the cursor is outside of the lasso.
The Coldest Winter has recently released a demo, which you can check out on Steam here. It was also the winner of the GDC 2025 Best Pitch award. Vibe XP is currently on the search for investors to support the game to completion.