Mr. Nutz Week 4
Welcome back! Happy Memorial Day! Get comfortable and I will get you up to date on what my last week has looked like.
the tldr
Compared to last week I got a little less work done on game development and speedrunning, but did a little better with weight loss, despite rain limiting my total miles walked + run. I feel good about the week. Let’s get into the details.
game dev - 4 hours
The important habit to protect is working on game dev immediately after my morning chores. The four hours of work I did this week were done in three days, so in the days where I got the ball rolling, I worked a little over an hour a day.
Those days were Tuesday, Wednesday, and Thursday. Once Friday hit, I made a classic error. My goal was to work Tuesday - Saturday, take Sunday off, and dedicate Monday entirely to reflection and writing this blog post. On Friday, I thought, ‘Well, look. Why not instead of taking Sunday off, I take today off? My brother Jason wants to hang out, so I think it makes sense to just switch these days off.”
That never works. I didn’t work a single day the rest of the week, as I drifted into long weekend mode.
I think there’s two tweaks to my process to make based on this. First, you cannot move the day off. Even working one hour in a day makes that day a success as far as I am concerned, so even if I have some sort of plans, I can still just work an hour before said plans. Moving the day off to earlier in the week is a recipe for taking more days off than you actually want to. Days off at the end of the week reinforces the idea of ‘earning’ days off.
The second tweak to this is related to the long-weekend-mindset I felt in myself. As of last week, my plan for a work week included working on Saturday. I do not work a standard M-F job, so there’s no ‘real’ reason why I cannot do this. I often try to convince myself that the ‘weekend’ is just a construct. I reason that I am happier on days that I successfully do work, so I should just work on these so-called ‘weekends’, since in my lifestyle, all the days of the week are functionally close to identical. I do not have kids, so there’s no one to watch due to school being out on the traditional weekend. It is true that Erika doesn’t work on Saturdays, but that isn’t much of an excuse for me to not work; Erika is a night owl who wakes up much, much later on weekends than the time frame that I normally spend working.
With all of that said, this weekend I’ve spent time coming to terms with the fact that the weekend is simply embedded in me. As humans we naturally live by the 24 hour cycle of the Earth’s ‘real’ rotation, but we also live by the 7 day ‘imaginary’ cycle of the human-made week. When I woke up on Saturday morning I did what I have done on weekends stretching back as long as I can remember - I played video games. The game I’m playing right now is DOOM - The Dark Ages.
As a side note, if you know me personally, it might come as a surprise that I enjoy DOOM. I have a general air of non-violence, as well as an aversion to overt masculinity. I do not enjoy gore at all. I do not listen to any metal music. DOOM is, even to myself, one of the oddest things that I like as much as I do. I absolutely LOVE DOOM. I played DOOM 2016 for 84 hours and DOOM 2020 (Eternal) for 132 hours. I cannot speak highly enough about these games.
Anyway, back to what I was saying, I woke up on Saturday morning, a morning I was scheduled to work, and instead just made a coffee and enjoyed playing the new DOOM game for several hours. I have no regrets about this - it was a blast. It felt restorative. To an extent, I felt like a kid again. I think the feeling of waking up on the weekend and playing video games or doing whatever other leisure activity I am up to is worth preserving, even if I continue to think there’s a lack of ‘real’ reasons to take weekends off.
So, I think I am going to modify my schedule to include work on the standard Monday - Friday, and have Saturday and Sunday be off days. The additional tweak to this is I will continue writing the weekly blog post on Mondays, but I will also try to work on Mondays (except, not this week, since today is Memorial Day and we’re going roller skating soon).
In terms of the game development itself, I am really happy with the progress. I spent some time thinking about what will actually make this game different. The central concept I am starting to put into code is the tradeoff between the ability to attack, and the ability to move quickly (my speedrunning background is absolutely influencing these decisions).
I am picturing a system in which your ability to double jump, your ability to dash, and your ability to attack are all drawn from the same pool of “ammo” or charges. Double jumping requires one charge, a dash (including an air dash) requires one charge, and an attack will do one damage per charge you decide to use on it.
This leads to a scenario where I can create ambiguity about how to most efficiently move through a level. There are tradeoffs. A charge can always be used to go faster via dashing, but saving up dashes might allow you to double jump to a new route later on. Having two charges when you reach an enemy with two health might be faster than using one charge to double jump over the enemy and the other to dash. I see the potential for a speedrun route that isn’t just “run right”, but requires planning.
To facilitate this line of thought, I also thought that picking up a block needs to be instantaneous - there can’t be a ‘picking up the block’ animation. Stockpiling charges should be fast since having charges is fundamentally about going faster. At the same time though, I want to keep the skill ceiling of this game high. So I do not want blocks to simply automatically get picked up if you go by them, I want to require a user-input. Requiring a user-input also allows the player to stand on items that could be picked up and converted into a charge, allowing another option in the charge-management decision tree. I think the way I will denote what things can be picked up and converted to charges will be anything that is a bright yellow color.
This led to me implementing an ‘aura’ system. If you press the corresponding input, an aura will appear around the player, and any yellow items within that aura will get picked up and converted to a charge. For now, I have the # of charges the player has displayed as a # above the player’s head - that display choice will not be permanent, but it’s what I have for now. You also cannot simply hold the button that creates the aura - so if the player is moving left to right, they have to hit the input as they pass by yellow pick-up-able items to get them.
You can see a demonstration of this here:
Next steps for this are to build out the double jump and the attack, and link those to the charge system. We’ll see where I am at next week <3
speedrun - 4.5 hours, 50% complete
Oh Mr. Nutz. The thing that’s driving me a bit nutty about this project recently is that saving and loading save states induces a lot of crashing in this game. For the uninitiated, the way I practice speedruns is on a special cartridge that goes into the standard Super Nintendo and can be played on my old-school CRT TV, but that allows you to save and load whenever you want. This helps me practice specific areas of the game more efficiently than would be possible if you were playing the game normally.
There are a lot of games in which saving and loading in this fashion can crash your game. The save and load system was built to work across the entire SNES library, so the way individual games interact with it is subject to weirdness. The annoyance of Mr. Nutz is that for a lot of the levels, if you save or load within that level, the game will crash if you try to move on to the following level.
In practice, this creates a problem that gets worse the further into the learning process you are. For example, you can save right at the start of level 1, and practice level 1. Great. But, now, if you try to exit level 1 and go into level 2, the game will crash. To practice level 2, you need to reset the game and play level 1 without saving (essentially playing the game normally), and then save at the start of level 2. Now you can practice level 2, but once you’re ready to move onto level 3, you get another crash. Now you need to reset and play levels 1 and 2 without saving to get to level 3. You can see how this would become really annoying once you’re more than halfway through the learning process, which is where I am at now.
Nonetheless, I simply need to keep learning. We’ll check back in next week.
weight loss - down 0.3 pounds, down 1.3 overall
The slow descent continues! As long as we’re still moving down, I am not one to complain. I can handle slow progress.
The major change in the system from last week was adding a fasting day. Last week I fasted on Monday. I do enjoy fasting and think I will try to keep this Monday fast in the schedule going forward.
If you add up the pieces, you can tell that I still eat too much junk food. I ran four 5ks, fasted an entire day of the week, and still lost less than half a pound. One thing I will say - I felt less compelled by junk food this week. I think its appeal is starting to fade on me as I spend more time doing healthy things. I am starting to be able to envision a week where I do not need a full fledged unhinged cheat day (what I do now). I am hopeful for more good progress this week!
That’s all from me - have a great week everyone <3