Hey everyone! It's been a while since the last devlog (more than six months ago, I'm so sorry) but I'm back with some big updates and some stories to tell!
Stick around until the end, because I’d love your feedback on a few things. I want to hear what you, as a potential player, think about some mechanics I’m working on.
WHERE I'VE BEEN
(Feel free to skip this part if you're just here for the devlog!)
Trying to balance school, work, schoolwork, work-school, and personal projects has been a massive challenge. One course, in particular, completely consumed my attention when I wasn’t at work trying to feed myself (or, more importantly, pay for school/the course that demanded my attention). As much as I wanted to dedicate more time to RKR - Rush Kill Repeat- or any of my other projects, really- it just wasn’t possible.
Thankfully, I passed the course, and was excited to dive back into my projects.
Then came the Great CPU Melt of 2024.
One day, I got home from work, eager to boot up my laptop and get back to work. BUUUT... I couldn’t. My laptop refused to start. The keyboard lit up, but the screen was stuck in a weird limbo. After some digging (and a lot of denial), I discovered the problem: the solder on my CPU had melted. Yes, melted. I didn't even know this was possible.
Here’s my best guess at how it happened: my Asus ROG STRIX G17 had a habit of randomly turning itself on. I think it must’ve done just that while sitting in my knapsack (the one day I decided to bring it to work). Left unchecked, the computer likely overheated past the point of its own safeguards, causing the solder to meeeelltt.
Luckily, all of the data on the SSD is still in-tact, there's just a lot, and it's bitlocker encrypted. I can't load the folders with File Explorer, so anything I need has been hand-picked via the command-line using robocopy. This was a very long process.
Regardless, I finally managed to get back my project files, and I learned a very valuable lesson: GitHub is now my best friend :)
TL;DR - My laptop died in a dramatic, fiery (not literally fiery) fashion, and I had to go through a lengthy process to get myself a new laptop, and retrieve the project files by hand.
BUT I AM BACK AND MORE MOTIVATED THAN EVER.
LET'S CATCH YOU NEW PEEPS UP TO SPEED:
(and the returning readers, too- since it's been so long!)
In the last devlog, I gave a few specifics as to what I wanted to work on next:
- Polish the Visuals of the Gun Wall
- Add the Option to Continue with your Current Weapon
- Maybe Start a Patreon
I can happily announce that I completed all but one of these tasks! (I didn't make a Patreon) Let's take a look at the new stuff!
THE NEW STUFF
POLISH THE WEAPON WALL
The first thing I did when I got my hands back onto my project files was polish the visuals of the weapon wall. I found that having them scattered about was messy and simply looked... Bad.
To jog your memory, take a look at the old weapon wall:
Ew.
The new and improved weapon wall features:
- A scrollable panel containing all of the unlockable weapons.
- New sprites
- Animations for better visual feedback
Take a look!
I really tried to focus on visual feedback to provide a better user experience. Locked weapons (weapons that you can't access when you're playing the game) are represented by a padlock to the right of the weapon name. To indicate to the user that they CAN unlock a weapon, the panel flashes slowly and the padlock shakes.
I had to make my own Dictionary-like data structure for the weapon wall. I wanted to be able to pass expressions (or rather, the return of those expressions) into each item in the list. Unfortunately, GameMaker: Studio 1.4 doesn't have any data structure that would allow me to do such a thing. So, I opted to write my own. I essentially abuse objects to store their values, and add each instance of the object to an iterable list so that I can reference their values in the list as keys.
Here's an example:
The scroll amount scales to the length of the shop_items array. This setup will help make adding new guns in the future much easier due to how modular I've designed the system to be.
And I'm not done with the weapon wall yet! In the future, I'm hoping to:
- Add the lighting system back in, and perhaps a CRT-like filter over the panels to make them look all glow-y and such.
- Have souls leave Milo the Money Pig when you unlock a weapon
- Have the padlock fall down to better indicate a successful purchase
- I've really got to remake that back button. That's a sprite I've had since 2020, I think.
ADDING THE OPTION TO CONTINUE WITH YOUR CURRENT WEAPON
Before this addition, the player was forced to choose a new weapon from the couch. This was fine until I put prices (kills from that game) on the weapons. What if you don't have enough kills? You're soft-locked. SO- I added the option to continue with the weapon you have. This will come in handy for when I implement upgrades for the weapons.
When I'm done with the Couch, you'll be able to:
- Send game kills directly to Milo (guaranteeing you exactly that many kills for when you game over),
- Use game kills (NOT from the Kill Bank, but just kills accumulated in this run of the game) to switch to a different weapon,
- OR use game kills to apply an upgrade to your current weapon,
- OR just continue with your current weapon, without upgrading.
This is how it looks so far:
A couple of things still need to be added/changed/fixed on this screen. Most notably:
- I need to add the upgrades
- I should prevent your current base weapon from being available on the couch
- Improving the visual language to promote a smoother user experience
OTHER SMALLER BUT NOTABLE ACTIVITIES:
- Fixed procedural generation on a Pizzeria level
- Got some art commissioned for the Steam page
- Optimized level setup code
NEXT STEPS:
In the coming weeks, I'm going to focus on the following:
- Changing the way dying and Milo works to balance risk and reward
- Improving visual language for the Couch and the Weapon Wall
- Adding environment decorations (e.g. loose boxes in the Cardboard Fort, tables in the Pizzeria, etc.)
- Implementing weapon upgrades
- Various bug fixes, for example certain guns not working in certain levels
QUESTIONS FOR YOU, DEAR READER:
- When you die in the game, how many game kills do you think should be automatically transferred to Milo for use in the Weapon Unlocking Shop? I think 1/3 kills would be fair, and promote strategically transferring game kills to Milo from the Couch.
- Speaking of transferring kills to Milo from the Couch, should there be a limit to how many you can transfer in-between rounds? Keep in mind, kills acquired in one game directly impact your progress in that game. (i.e. accumulating 500 kills in one game beats the game, and sending those kills to Milo to "bank" them, removes them from the game and guarantees them for use later, when otherwise, if you were to die, you'd only get to keep 1/3 of the accumulated kills from that round.)
- Do you have any other suggestions or feedback? What would you like to see in the game?
I’d love to hear your thoughts—feel free to comment, DM me, or join the Discord to chat!
AND HEY- THANK YOU!
If you made it this far, thank you so much! It means the world to me that you’re reading this. Sometimes I wonder if anyone actually reads these posts, and knowing you’re here keeps me motivated.
If you want to find me anywhere else, I have a Discord server, and you can find the Steam game here!
Thanks again for all of your support! Until next time, whenever that may be! (I'll aim for another two weeks 😉)