This week was a bit slow due to having to dedicate time to other stuff (mainly, paid stuff).
It was possible to have some progress, though i know think i have to refactor my dungeon generator to be more modular.
One thing that i'm trying to wrap my head around is how to do generic functions in GDScript, as right now i have a BFS tree walk for dungeon generation setup but it's VERY case specific and have to do a different BFS function for each thing i need to do (search blocked rooms, search where to put loot/keys/upgrades), fairly suboptimal and very ugly looking.
I have still 27 items in the TODO list before switching from alpha relase cycles to beta release (which means i'll be into bug fixing, performance enhancement and new content/features that don't affect core gameplay). Was targetting end of february but the gf told me "you're dedicating too much time to work and not to me" and hence some time has to be used on social interaction with my SO 🤣.
Ofc, i won't leave this without an update on what has been done this week:
- Added an in-game option to register to my mailing list (along with what kind of updates the user wants).
- Created the mailing list server (more on this below).
- Changed the medikit to something without a red-cross (seems the redcross org is very severe about this).
- Added a free mode query (Shift + Query key) this lets the user inspect the scene without moving the aiming.
- Spruced up the pickup dialog with class icons and descriptions which were missing.
- Solved a door edge case where the doors were spawned in corners.
- Made door opening terminals spawn on the "reachable" side of the dungeon, so there's less cases now of doors that cannot be opened by the player.
- Added a low pass audio filter and heartbeat when using stat augmenting utility items (Check the video above).
- Started rigging a voxel model for the base marine to test the asset creation pipeline in Godot.
Regarding my "wheel reinvention" on the mailing list server: Lots of software out there wasn't properly fit for what i wanted to achieve, and the only ones that have the features i want have a very low free tier and i'm unfortunately unable to pay with their methods due to the dumb country i live on. However, i have discovered that Namecheap web hosting plans have support for NodeJS apps, so i did one quick app that just handles subscription, confirmation and unsubscription lifecycle in <200 lines of code and saves the data i need to a simple Mysql table. I plan on releasing this on github when i put the additional code required to do the mass sending.