Chasing Elysium - Devlog #011 - Prologue Prototype and Build 1

Hey all, it's time for the November 2025 devlog!

Writing

I finally got around to getting some of the writing for the game down in an actual tangible format. I have the prologue and chapters 1, 2, 9, and 10 outlined in some detail. Skeletons exist for chapters 3, 4, 5, and 6. I also have a particular aspect of the story that will be present in chapters 2 - 10 outlined in some detail as well. Chapters 1 - 10 will comprise "Act 1".

As for future chapters, I have chapters 11 - 20 in a skeleton format. These will comprise Act 2. For Acts 3 and 4... I have significantly less written. Basically nothing. A single scene that's been in my head for quite some time and a rough idea of what the overall goals will be. This is fine, it will be quite a while before I get there. For now I need to focus on act 1, and in particular on getting a prototype and rough draft of the prologue done so people can playtest it and I have an actual, y'know, game in progress.

Programming

"Toasts"

I added a simple "toast" system for giving players little pop up messages. These will be used for things such as tutorials and general information. I even added a queueing system so toasts can be queued up and played in order, with each being allowed to have a different time that it shows up on screen.

Idiomatic Godot

I restructured how game scenes are organized to be more "idiomatic" Godot. This meant moving a bunch of nodes around, changing some functionality to use signals, etc. A lot of work that doesn't really change the functionality of the game but will make it significantly easier to develop as the game gets bigger.

Story Flags

Finally implemented a story flag system. Keeping it super basic, it's basically just global state with a signal for state change and an enum to give names to flags. The signal in particular will allow aspects of the world to update dynamically as the story progresses.

Scene Loader and Player Spawn Points

I added player spawn points for the purposes of traveling between maps, as well as a scene loader that can load a new scene and then place the player at the appropriate location. This is going to be useful, beyond the obvious, for handling player deaths and respawns. I don't expect players to die during the prologue, but it's better to do it right from the start and it's not impossible.

State Machine Refactoring

I initially wrote the state machine for the player specifically with the intent to reimplement it separately for NPCs. I figured that the needs of player vs NPC would mean sufficiently different code so the state machine code wouldn't be reusable. This was a naive assumption! There's a lot of similarity! So I refactored the state machine to be boilerplate code that works for any character, with different implementation of the details for player vs NPC.

Player Refactoring

The state machine refactoring above naturally led to a refactoring of the player as well. Huzzah! There's still a lot more refactoring to do, I already see a few places that could be improved which would lead to positive effects pretty quickly, but that's not a priority at the moment and easy to do when I get to it.

Everything Refactoring

Ok so the refactoring got a little busy actually. I ended up going through every code file and scanning for any issues that I could detect. I reorganized everything to follow Godot's style guide more thoroughly (consistency is good!), reworked signals to be more meaningful and better used, reorganized actual node structure, generalized a few components, and eliminated all export variables that refer to a node so that code structure would be more stable. A lot of work that didn't really change any functionality, but important to get done so that later work is easier to do!

Attack Projections

One key feature I want in this game's combat system is "attack projections" - effectively, an on-screen visualization of where an upcoming attack is going to land. Including these visualizations means that player positioning becomes very important. It inherently implies that enemy attacks are dodgeable if you can get out of the marked area in time.

With projections in place I hope to be able to design enemy encounters, particularly bosses, that require players to be mindful of their positioning and take a more active (if reactive) response to enemy behavior.

Anyways, circle and line projections are implemented!

No points for figuring out what game provided the inspiration for this aspect of the combat system.

Hotbar Storage

Players are going to want to adjust what abilities they have on their hotbar, so at some point I needed to implement actual hotbar storage. That is done now, and I've integrated it into the character setup! This was particularly important because I needed to implement the starting character's basic melee and ranged attacks, and I didn't want to jury rig the hotbar at init anymore. It was time to get rid of that and move towards proper set up.

Speaking of, the melee and ranged attacks for the starter character are now in!

Character Attack Library

As I implement attacks for characters, I need an easy way to look them up in game. There is now an attack library with attacks sorted by character! It should now be possible to implement attacks by just adding them to this library.

I am not fully happy with this interface but it works for now. It should be able to accomplish everything I need at the very least.

Character Swapping

Technically I only implemented the rough framework that will be needed for this, but at some point when there are multiple player characters we will need to be able to let the player swap which one they control. The player script now allows for this to be dynamically chosen via a single variable. There will definitely be more work involved in this, but for now there is a basic skeleton of what will eventually be that feature.

Tutorial

The tutorial has been written and implemented! I do feel it may be a tad too easy and too simple at present, but also we are lacking all of the assets to make it really appealing to the senses so perhaps that is what's missing. This can always be tweaked and tuned!

Lighting

I did a little bit of experimenting with lighting in the prologue's cutscenes. I don't want to go too deep into 2D lighting, but it is something I am actively considering as an option to improve particular scenes. I'm a firm believer that good lighting is what makes 3D games visually stand out, and when it's been done well in 2D games it has been something that's made me go "wow". I absolutely don't want to overdo it or use lighting as a replacement for making the game actually look good, but using it as an accent is something I want.

Prototype

Finally, as of today I am releasing the prototype of the game to my friends. I'm eagerly looking forward to feedback from them. This is a big milestone for me!

December Plans

For the next month, my plan is to do the following:

  • Week 1: Review and implement feedback, code clean up and refactoring
  • Weeks 2-3: Create assets for what currently exists
  • Release prototype 2
  • Week 4: Review and implement more feedback, plan the next chunk of development, continue working on assets