Lampyre development journal (3)
This sprint summary is going to be PHAST because I spent a lot of time working on game design and not enough on code this week - so let's get this done so I can run back to GODOT !
🗃️ What the ending sprint was about
Objectives
- ⚙️🛠️ fixing and/or completing existing contextual inputs of fires, depending on:
- ❌ acceptable fuel (most lights will only burn on processed sap-fuel, but crude pyres will gulp wood logs and plant parts)
- ⚙️ lightning methods available to the vyrrlin (right now, fire propagation is only possible if you're holding a blazing torch yourself - blazes should be able to be started with flints too, as you can find yourself in many situations without an existing flame)
- ⚙️ the amount of fuel available on the lamp (AKA adding fuel)
Bonus
- 🛠️ ❌ adding the fuel-related window to our crafting UI, letting the player click to easily add possessed and/or stored items into the fire
- 🪲 ❌ double-clicking an item that has no special use in the inventory bugs out the drag-and-drop selection
- 🪲 ❌ opening the inventory while a crafting window is opened closes the latter (it should not)
New bugs found:
None !
🗑️: abandoned / ➕: added and done / ✅: done / ❌: not done / ⚙️: incomplete / ⚖️: balancing / 🪲: bug fixing / 🩹: gameplay change / 🛠️: major feature / 📝 : game design
🪴 Sprint conclusions
Difficulty (how complex the sprint was): 2/5 🟢
Progress made (how much of the desired functionalities were developed): 1/5 🔴
Sprint time accuracy (did it take the time we thought it would take): 2/5 🟠
Nothing difficult encountered, but my motivation was very low on the sprint's start and self-doubts were running rampant again in my mind. My new routines or the sprint format were not the culprits, so I took a bit more time to think about the way I planned out my development dashes.
Code-wise, I clarified some contextual inputs for the player to immediately understand they could potentially light lantern fires, but sometimes lack the tool(s) to do so.
🕯️ Notes and insights
Books and journaling helped, and I realized I really needed to think of Lampyre as an experience and a story-making tool. I am not supposed to be building a database, an architecture or perfect code. The game's not even complex enough to warrant this attitude.
What made me code fast during the first few months, or when experimenting with forests and resources was that I was focusing on the actual gameplay results. You need scripts to make the game works, but there's a world of difference between "I'll be coding a crafting UI because I guess my game has survival bits and need one" and "Look at that, my crafting system is so good that a new player immediately understands it and it could be its own stand-alone game - and I'm iterating over this thing fast as hell".
So, I'm not going to get on another self development ramble here. But I rewrote our current sprint and game mechanics so that I stay focused on the resulting scenes: situations, emotions, playability.
And now I'm motivated. Awesome.
🔭 Next sprint overview
Sprint end target: 1rst February.
Objectives
Our objectives remain largely the same, but instead of listing code requirements first, we'll be aiming for playable scenes and then list what it entails (the difference may seem subtle, but I'm a dummy and rephrasing it that way in my development journal made an incredible difference).
🪔 Scene 1/5: Daily flame routine
Making sure the lights protecting the haven work fine, and that the daily patrol ritual stays interesting and organic.
Completed
- The player is appearing next to its altar flame, it's late afternoon.
Planned this week
All game lights must display the correct contextual inputs whether the player has an available torch, flint or specific light-related buff. And the input, well, they must work correctly too.
🛠️ fixing and/or completing existing contextual inputs of fires, depending on:
- acceptable fuel (most lights will only burn on processed sap-fuel, but crude pyres will gulp wood logs and plant parts)
- lightning methods available to the vyrrlin (right now, fire propagation is only possible if you're holding a blazing torch yourself - blazes should be able to be started with flints too, as you can find yourself in many situations without an existing flame)
- the amount of fuel available on the lamp (AKA adding fuel)
Planned for this scene
- The player can repair, refuel, light or extinct each fire as they see fit.
- The player (and other vyrrlins) can equip a flint, a common stone fragment found in debris and splintered rocks. It can light fires without an existing flame and can never break, but using it is way slower. It's also noisy and can attract shadows to you. You can sharpen a flint again using other flints you found.
- The player can see its torch fuel and recharge it, either with its own items or directly with nearby stored resources.
- Lanterns (fires, not torches) display a visual effect that I call the haven light belt. Each of them display the clear limit of their illumination perimeter when hovered. When lanterns are close enough to form a chain, hovering one at dusk will immediately inform you whether the belt is fully lit or not, letting you know if the village is safe for the night.
- Fire can be fueled with curated sap fuel. The most basic ones can also accept raw and less effective materials such as twigs or logs - taken from the vyrrlin's inventory, or a nearby storage.
- Whether the light belt is complete or not, two allied vyrrlins will comment on the situation if they come near the player at dusk, indicating that the haven's protection could be incomplete.
- Flamebearer is a popular role in villages. Should the player spend efforts on lightning the fires himself, the villagers will passively gain some relationship points with him/her and throw appreciative comments at dusk.
- At night, ombrelgins and chimeras surrounding the village should be blocked by a lit light belt.
That's quite a list, but note that a number of these functionalities are already implemented. I just want to coat them in a cohesive, high impact test scene to see if this basic gameplay loop works.
If I keep this structure going, that means we'll throw a party for each completed scene, and a big celebration for completed gameplay loops (all scenes finished).
Also, GODOT 4.6 is out and it looks incredible. Making the switch during the week !