
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).
You can try viewing the original page on Web Archive (may not load correctly).
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.
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.
* ⚠️ Download the Desktop version for better performance/graphics/less glitches.
https://www.youtube.com/watch?v=TSpy2ANL79U
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.
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.
🕹️ 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.
| ⌨️ | |
|---|---|
| Walk | W A S D |
| Jump | Space |
| Shoot Portal A | Left Mouse Button |
| Shoot Portal B | Right Mouse Button |
| Retry Level | R |
▶️ 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 Engine | Own made using C++/OpenGL with Lua Scripting and PBR shading |
| 3D modeling | Blender 3.3 |
| SFX | Audacity |
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 portal | Apply fancy swirl shader | Magic |