Bevy Game Jame #4 entrant, 2023.
You are a hexagon. You spawn many hexlings. These are your drones. You are helpless without them. They are helpless without you. Together, you must survive the hostile geometric darkness.
Love those fighters drawing paths through the void with their drive plumes.
Bots are an intrinsic part of the mid to late game. A cloud of bots surrounds you, travelling away from you and toward you, completing tasks.
Bayek and Senu's symbiotic relationship adds a wonderful dimension. Importantly, she is his eyes and ears, but can also engage his foes. She dispells the fog of war and acts as his advance scout.
Carriers are just fun to play. They take a long time to build up to full strength, but are devastating to certain enemy types.
In a roguelite style, the player moves through "rooms" in an uncertain environment, obscured by fog of war. They must depend on their growing relationship with their spawned hexlings, learning more about them and their capabilities as they progress.
Web (WASM), Linux, Windows, MacOS.
- Bevy Engine: rendering/ECS/etc
- Neovim: code and debugging
- Bitwig Studio: music and effects
- TODO: credit crates
Story-driven roguelike.
People who like an off-beat concept, and who appreciate story provided alongside their mayhem might enjoy this game. Also, geometry.
Initially, the player spawns a single, tiny hexling. They discover they are entirely dependent on it to survive. In turn, it must be "fed" raw materials. It follows the player, and can be sent forth at a distance or recalled to "home base".
As the story develops, the player sees text updates without interrupting gameplay. The number of hexlings will gradually increase, and they will discover the need to "feed" them in order to progress. The hexlings may gain abilities such as shield or additional firepower.
Boss fights will present themselves (probably in the form of giant geometric constructs... the dreaded Octagonal Orofice, the monstrous Metagon whose number of sides cannot be rationally comprehended, and so on).
That's a LOT of Entities!
I interpret the theme as the player's dependence on a cloud of hexlings, ever-growing, against swarms of enemies that threaten to engulf them. Nothing too complex or esoteric going on here. We'll see if various CPUs hold up under the strain.
For some reason, the player is inside. "Inside where?" is a question we do not necessarily need to answer. However, they're contained, and they cannot pass through walls or doors so collision detection required.
The player cannot see far past their own nose. In order to progress, they need to rely on their hexlings revealing the local environment. This will lead to a claustrophobic experience, and heavy dependence on their symbiotic relationship with their hexling friends.
The hexlings are in one of three states at all times: orbit, charge, and recall. The player orders a charge (at which point we signal this state by e.g. flashing the player mesh), and can immediately reverse the hexling's direction by recalling them. This may lead to some interesting micro with quick changes between the states.
The player can move freely within the environment constraints. How? Trigonometry, of course.
The hexlings must be fed to recover their strength. A hungry hexling will still function, but at a degraded level. They will eventually expire if not fed.
Feeding consists of ordering them to charge close enough to a resource-rich cluster of "food". They eat green triangles.
Either the player or their hexlings may have their movement restricted or their abilities curtailed by fixed traps within the environment. An evolution of the hexlings' powers could include heightened "detect traps" ability.
Entirely "programmer art". We may be able to add skins to meshes if there's time, but gameplay definitely has to come first.
We call this style the ad-hoc number 8 wire cobbled together genre. Recorded sounds on mobile phone, pasted into tracks. Ideally, it would be nice to use devices like 6/4 time, six-tone chords, etc. to reflect the nature of the hexagonal beast.
There is an attempt to make sounds within the game musical. Use of harmonics, ringing tones, percussive notes etc. as events occur. Consistency in charge and recall effects e.g. a player should start to automatically listen for the recall sound which will assist them in managing the rather unconventional control scheme.
Perhaps boss fights can adopt more of a discordant approach. Bosses could use metre consistent with the number of sides. We could also lean into harmonious, melodious content when the hexlings are at rest or feeding.
Consistent location of text updates, large enough to be easily read but unobtrusive. Fades after a short time. Triggered by game events.
- WASD: player movement
- Space: switch between charge and recall states
- Left Shift: spawn hexling(s)
- Escape: pause, with menu option to quit
- M: toggle soundtrack
- +/-: overall sound volume
If there's time:
- R/Q: fine-tune the hexlings' direction of travel, perhaps in an arc?
Complete by: now-ish
- Game design document
- Create template repo
- Update to latest Bevy
- Remove/edit/personalise
- Add MIT/Apache2 dual licenses
Complete by: end of day Sunday.
- Bare-bones title screen
- "Hit space to begin"
- "Hit escape to exit"
- Space leads to playing gamestate with player drawn
- Escape leads to pause gamestate with menu
- Second escape hit exits
- Space in pause state returns to playing
- Resurrect simple CI
- WASM builds and can be published to itch.io
- Linux builds and runs locally
- Windows builds and runs locally
Complete by: end of day Sunday
- Player can move WASD
- Player can animate X axis flip (for charge and recall states)
- Charge state changes color
Complete by: end of day Tuesday
- Procedural generation of rooms according to set dimensions?
- Draw a room with an exit
- Player collides with walls but can pass through exit
Complete by: end of day Wednesday
- Holding down left shift prompts a simple spinning animation, and a hexling appears!
- Hexling follows player
- Multiple hexlings can be spawned
- Hexlings collide with environment, and each other, but not with exit
- Hexlings do not get close enough to player to collide i.e. orbiting
- Hexlings move out of player's way (perhaps scatter like bowling pins?)
- Hexling charge (recall should just work?)
Complete by: end of day Thursday
- Charge harmonic
- Recall harmonic
- Spawn hexling harmonic
- Enter game harmonic
- Pause screen taps
Complete by: end of day Thursday
- WASM
- Linux
- Windows
Complete by: end of day Thursday
- Re-scale all entities to support smaller screens
- While you're doing that, refactor all magic numbers
- Fix pause/play bug
Complete by: end of day Friday
- Itch viewport works seamlessly with fullscreen button
- Fix
D
key not working on Itch - Enemy has shape and orbits around a fixed point
- Viewport follows player
- Enemy will attack on proximity (either player or hexlings)
Complete by: midday Saturday
- Enemy will seek to attack player, which reduces player health
- Hexlings can damage enemy by colliding with it, which reduces their health also
- Enemy despawns once destroyed
- Enemy disintegrates into a cloud of entities once destroyed
- Player likewise creates a barrage of entities when they are destroyed.
- If player is destroyed, game over state displays.
- In game over, enter restarts
- In game over, escape exits
Complete by: end of day Saturday
- Don't reach for magical, we need quick and dirty
- Recorded and attached to playing state
Complete by: Sunday morning
- Stops in pause state
- Press
M
to mute soundtrack - If it's simple, add key controls to change volume
- Add enemy sound effects (harmonic or harsher/discordant?)
Complete by: midday Sunday
- Player can't see beyond r radius
- Player can see radius around each hexling
- Fog... looks like fog? If there's time.
Complete by: midday Sunday
- Text events can appear based on in-game triggers
- Text eventually fades
- Basic story development and triggers for first room
Complete by: end of day Sunday
- Say, four rooms with boss at end
- Distribute enemies throughout
- Distribute food for hexlings
- Hexling colour degrades to grey when damaged
- Hexlings can feed to regain health
- Ensure hexling damage is function of health
- For the purposes of the theme, allow a lot of hexlings? But also a lot of enemies, for balance.
- Story development and triggers for first level
Complete by: end of day Sunday
- WASM
- Linux
- Trial MacOS build?
- Windows
Complete by: end of day Monday
- If you've gotten this far (nice work!) allow yourself the luxury of working on another music track, or making the first one more polished.
- Consider a brief title track or theme
- Add or polish sound effects
- Consider altering music during conflict
- Consider a boss fight track
Complete by: end of day Monday
- If complications haven't arisen, add another level
- Reduce hexling and enemy numbers in first level to provide growth
- Create another boss fight
- Create a portal or transition to the new level
- Consider adding a success/win screen
Complete by: Monday night, probably laaate
- WASM
- Linux
- MacOS
- Windows
Complete by: Monday night
- Update itch.io description
- Links to all builds
- Ensure documentation and crate credits are provided
- Final checks and play tests