10 SEC. P🌀RTAL

10 SEC. P🌀RTAL

This game is from ldjam.com, which is currently unavailable.
You can try viewing the original page on Web Archive (may not load correctly).
overall: 3.71
fun: 3.50
innovation: 3.42
theme: 3.63
humor: 2.60
mood: 3.10
Reach the end of the level by shooting portals every 10 seconds. Passing through a portal will also teleport you 10 seconds back in time, making it possible for your older self to help your current self.

🕹️ How to play


You can shoot portals on the white parts of the walls/floors/ceilings. Passing through a portal will cause your older self (from up to 10 seconds ago) to be played back in the level. Use this to your advantage, as you might need help from your older self with pressing a button.

⌨️
WalkW A S D
JumpSpace
Shoot Portal ALeft Mouse Button
Shoot Portal BRight Mouse Button
Retry LevelR

▶️ Play in browser!

* ⚠️ You might need to click the screen multiple times before entering first person mode!
* ⚠️ Download the Desktop version for better performance/graphics/less glitches.

🎥 Gameplay video:

If you're stuck in the game, you can watch the video to see how it should be played:
https://www.youtube.com/watch?v=TSpy2ANL79U

👨‍💻 Technical details:



Tool
Game EngineOwn made using C++/OpenGL with Lua Scripting and PBR shading
3D modelingBlender 3.3
SFXAudacity

Game Engine

This game was made using my custom C++/OpenGL engine (Engine source/Game source).
This is an Entity-Component-System based engine. Entities and their Components can be created and updated in Lua scripts (through Sol3, and the engine's automatic Lua API generation) upon specific events or time intervals, while systems programmed in C++ can do the heavy calculations. An example of such a system is the `PhysicsSystem` that links the Physics related components with the actual Physics simulation done by Bullet and fires Lua events on collisions.

Screenshot of the Engine with debug visualization and inspection GUI

The graphics in this specific game are rendered with a PBR renderer that I made using the help of LearnOpenGL. 3D models & (rigged) animations are imported from Blender through glTF. With the `CustomShader` component I can render certain entities with an alternative shader: The swirl effect on the Portal Guns is a good example of this.

Art/Graphics

Even though the 3D models and shaders were made by me, I opted out of the Graphics category because I downloaded PBR materials from textures.com.

Render the 'other' side of the portalApply fancy swirl shaderMagic


Audio

All sound effects were downloaded from freesound.org. (List with attributions)

All feedback is welcome!

Twitter
Found a bug?
Tell us on Discord