Made for
LD Jam 13.
This tech level design prototype was made to experience how it is
to block out 3D levels in the Godot engine for level design
purposes. However I also wanted to get to know the engine centric
features better, and so everything was coded from scratch so less
time went to actual level design and more into getting the game
systems to work.
Problems streaming it here?
Watch it on YouTube.
I sought to learn the following Godot Engine features I still had
not fully explores yet -
- Signals
- Groups
- Viewports
- Components (as nodes in tree)
You can clone the project from
Codeberg.
The core design experiment was to have two worlds, - a "real"
world and a "disc" world - where the stamina and health are
connected. Take a fall in the disc world, you lose energy in the
real world that keeps you awake and playing the game. The more
special moves you do, the fed level decreases.
The player must run though the level to the finish line before the
time runs out to beat the game. But time moves relative to what
the player does:
var tick_defaults: Dictionary = {
"Walking": {
"energy": {
"mode": StatUseMode.use_mode.USE,
"tick": 6.0,
},
"hunger": {
"mode": StatUseMode.use_mode.USE,
"tick": 6.0,
},
},
"Gaming": {
"energy": {
"mode": StatUseMode.use_mode.USE,
"tick": 2.0,
},
"hunger": {
"mode": StatUseMode.use_mode.USE,
"tick": 6.0,
},
},
"Sleeping": {
"energy": {
"mode": StatUseMode.use_mode.GAIN,
"tick": 0.25,
},
"hunger": {
"mode": StatUseMode.use_mode.USE,
"tick": 8.0,
},
},
"Eating": {
"energy": {
"mode": StatUseMode.use_mode.GAIN,
"tick": 8.0,
},
"hunger": {
"mode": StatUseMode.use_mode.GAIN,
"tick": 0.25,
},
}
}
If the energy or fed amount goes to 0 the player faints and needs
to start running from the start of the level again, but they keep
the powerups such that they can do the run faster on the next go.
You can find energy drinks and food in the disc world to regain
energy and becoming fed in the real world, but some times the
player must exit the disc world and eat from the fridge or sleep
on the bed. However this causes time to go faster, which means the
player may not finish the game within the par time.