2D Initial Cross-section
2D Forest Cross-section
3D Third-person view
3D Castle Close-up
3D World Overview
Visualizing the 4th dimension is pretty hard, but visualizing the 3rd dimension is also no easy feat; if you are a 2-dimensional being. Using this starting point, we wanted to make something that challenges players to use our intuitive 3D-thinking brain to finish a puzzle in 2D.
What is Continuum
Continuum (as in dimensional continuation), is a puzzle platformer with one simple objective, that under any normal circumstance is impossible to finish. The goal is to get to the opposite side of the castle, where the tombstones sit. But you can’t, because you cannot phase through it, and you can’t go around it. Or can you? This 2D game is actually a fully 3-dimensional game, meaning by rotating yourself, you can effectively side-step into another 2-dimensional plane in the 3D world, allowing the player to navigate around the tower.
How we built it
We utilized the Unity3D game engine to achieve the game effects. The cross-section rendering process utilizes the near clip plane of the camera and back-face culling.
The rendering process is as follows:
- All the objects in the world are rendered to the depth buffer and only the depth buffer, with back-face culled. This means that parts of the object outside of the near clip plane of the camera will not get its depth written to the buffer.
- All the objects in the world are rendered with a solid colour, with front-face culled. This will show all the back-faces of the objects, but pixels that have depth value behind the ones in depth buffer will not render (i.e. the outside of objects will not render, only the inside parts that are clipped by the camera's near plane plane will be rendered).
Challenges we ran into
During the development of the game, our team faced a number of challenges. For example, in order to obey the law of 2D dimensional games, the character can only rotate in multiples of 90 degrees. To resolve the issue, we find out that we can use the quaternion rotation data provided by Unity and convert it to Eulerian angles to figure out the current character rotation angles so we can round to the nearest 90 degrees.
Through the game is "finished", we would have liked it to have more challenges, for example moving objects into other 2-dimensional planes to trigger game mechanics, and perhaps something to do one those fancy sky islands.