Rewinding time of the world around you, but it doesn't affect your character.
Should make for an interesting puzzle game. Or that mechanic could be used to make a cat petting simulator, where you basically have a cheatcode. You can indefinitely pet the cat, because as soon as the cat is satisfied and walks away, you just turn time back... 🐈
- WASD+Mouse for moving
- Space to jump
- T for swiTching to freecam
- WASD + Space to move around in the freecam mode
- Right mouse button for time rewinding
- Left mouse button for interacting
- Shift to speed up rewinding. Not actually needed to solve any levels.
- F8 enables/disables view frustum culling
- Esc to quit
First level
- Walk through laser
- Door closes
- Rewind time
- Walk through door
and then beat the rest of the game.
There is a video full of spoilers here
You'll need a Rust toolchain installed. After that, you can start the game with
cargo run
To get a release build without manually copying files, you can use
npm build
(I really want Rust build scripts that don't run during development.)
cargo run --bin bloom_demo
where bloom_demo can be replaced with the name of any demo project in the demos/src/bin
folder
A level internally has
- a numerical ID
- a camera: spawn position
- one shadow light
- ...
world space: +y up, -z forward, +x right (reasonable right-handed coordinate system) winding order: counter-clockwise units: meter importer: gltf, we flatten the tree, we generate one axis aligned collider per model
- Vulkano: https://github.com/vulkano-rs/vulkano/blob/master/vulkano-win/src/winit.rs#L17 and https://github.com/vulkano-rs/vulkano/tree/master/examples/src/bin/interactive_fractal and co
- Bloom: https://learnopengl.com/Guest-Articles/2022/Phys.-Based-Bloom and https://github.com/Shot511/RapidGL/blob/65d1202a5926acad9816483b141fb24480e81668/src/demos/26_bloom/bloom.cpp
- PBR https://learnopengl.com/PBR/Lighting and https://www.youtube.com/watch?v=RRE-F57fbXw
- Projection matrices https://johannesugb.github.io/gpu-programming/setting-up-a-proper-vulkan-projection-matrix/#perspective-projection-into-clip-space
- Player controller https://github.com/FlaxEngine/FlaxSamples/blob/master/FirstPersonShooterTemplate/Source/FirstPersonShooter/PlayerScript.cs
- Grid shader https://madebyevan.com/shaders/grid/ and https://www.shadertoy.com/view/MscSDf
- Game over pseudo-pixel-art https://www.123rf.com/photo_128791038_game-over-pixel-symbol.html
- Cat picture on the cubes https://www.redbubble.com/i/sticker/cat-pixel-art-by-MoDsama/82110572.EJUG5#&gid=1&pid=3