For the longest time I had this weird challenge in the back of my head: create an RPG game in 48 hours. I outlined my idea in my previous blog and started the project, but I deemed it a failure after not touching the project for several months.

I restarted the project in March 2020. And I failed again! But it was a better failure this time. There’s a video at the end if you want to see where I got.

This time, I kept a private diary which I intend to share here. Here’s the full document – sorry for the formatting, but I kinda wanted to highlight just how sloppy the whole thing is:

got some basic movement working
abilities are going to be big, better spend some time on them
spent way too much fucking time on the ability editor
	but some bugs got fixed so it was kinda worth it?
fucking windows update
importing standard assets into a urp project is cumbersome
shader graph is surprisingly buggy -- need to save asset multiple times to get it working
testing abilities is hard.
	it requires a target, which is a critter for simplicity
	it requires an abilit; just a debug version for now
	it requires UI -- I can either make throwaway debug ui, or something that's usable in the long run
i fucked up abilities. i tried to be too smart.
rewriting it took two hours, shit!
spent 20 minutes looking for a suitable low-res rendering method for URP, then i panicked and stopped
ranged abilities took another hour; collisions, layers, passing data between actor and projectile, etc.
a simple enemy took 2 hours. not bad at all! I'm *kinda* proud because they're *kinda* smart
making a hud is boring, yet, it's a super-high priority task. I get why so many games reuse the same UI paradigms.
an hour and 10 minutes passed while i was refactoring abilities, just to revert them again.
	current version is cumbersome: an ability is a ScriptableObject, so I must juggle a lot of files
	I wanted to inline these, but then I couldn't create different types from the editor
	so I fucked around with CustomEditors and PropertyDrawers; none of them worked
	I'm back to juggling files, that, at least, works flawlessly. still cumbersome though
I noticed that I'm writing less and less comments. I have not seen this observation before -- lots of quality comments at the beginning of the project, and it gets less frequent with elapsed time -- or added complexity.
I'm using http://cpetry.github.io/NormalMap-Online/ it's nice.
Dener1111, you absolute genious, you made low-res mode possible! https://github.com/Dener1111/LowRes
I finally decided that fuck it, I'm not gonna release the source
importing shit takes a lot more time that I anticipated
I decided to tackle the URP; I'm not logging these hours, but it's about 2-3-4?
	I managed to get a dither pass working. it was fucking convoluted, documentation is the usual Unity bullshit (I found a cool tutorial which was almost exactly what I needed, then it turned out the whole thing is missing altogether)
	anyway, dithering is an option now. I need to get some graphics ASAP so I'll know what features do I want
	dithering is cool, but it is very crude, maybe too much.
I included fantasy creature assets. OMG, it is coming alive!!! but seriously, I'll need an inventory, fast :P
added music and some footstep sounds. this really adds to the atmosphere! i need to pay attention to sounds.
	also, Actor and ActorFX is a bit of a mess; I need to clean this up. Still not as bad as Abilities though
There are quite a few warnings in the project. Solution:
	#pragma warning disable 649
	Unity should somehow sort this out. But, on the other hand, I _did_ catch two variables that were unused...
	Cleaning those up, I now have 15 warnings: two valid (temporary debugging stuff), the rest in external assets
	that's for 12.000 lines of code. my work is 2000 lines, the rest is third-party.
spent 40 minutes trying to replicate Diablo3's resource globes.
	https://simonschreibt.de/gat/diablo-3-resource-bubbles/
	I consider this a very valuable learning experience, however, it is a horrible waste of time if I consider its impact on the project.
the whole inventory took a single hour! drag&drop, icons, multiple grids, stacking, rarity borders...
	I was putting this aside for the longest time because I thought it would be so difficult.
	But I already had some prototypes for drag&drop and stuff, so it went so well! niceeeeeee
I updated the resource globe effects. I didn't log the time, this might be cheating...
I got carried away with App State. I had some scripts that do _way more_ than what I need.
	Shit. I wanted to keep this simple. Either use something that works, or don't use it!
	...speaking of which, I could use a simple app framework...
I spent 45€ on a modular main character. Let's hope it works...
I'm spending a LOT of time on the main menu.
I created a cool logo and scene. I was on a call, so I didn't log the time. I regret nothing!
Fuck, my gorgeous logo is crashing the game all the time. _what the f_
	okay, got it, i think -- if the Game view is scaled down significantly (~0.6x), it will crash the editor. wow.
	edit: nah, that didn't fix it. it's just too random. I have a single fucking point light in my menu scene (which gives it all the color, fuuuuuck, I need to redo the whole menu), disabling it might work. maybe it's about lit particles.
coding the app state was easier than I thought. I was postponing it for too long now. I feel like I could make a useful library for dealing with this kind of shit in the future.
I have 6 hours left, fuck! There's no game yet! So many things are missing, so many useless things are done... I need a plan to turn this into a full game, quickly...
I set up an orc enemy, with animations and footstep sounds. It took an hour; not so bad, but I'm sooo out of time. It is very apparent that I'd need effects and sound for the combat, it lacks weight right now. Animations are a bit off too, but not too bad.
I'm kinda at a loss about what to work on next. I'm not sure I can make a full game out of this, there are 1) too many features missing 2) the combat needs more polish to be acceptable. But I don't want to announce failure again...
I did level up. It was fairly fast! Looks like creating a level would be the best thing to do now.

This has been sitting on my desktop since 4-5 months.

A couple of things stand out. I often, if not always, knew immediately when I was wasting time. There’s cheating too, which might tell something about my self-discipline? And I’m positively suprised by the number of observations I made during work. I assumed that these observations occur when I look back at a project session, but apparently that’s not the case. I’m glad I learned something about learning. :)

An unexpected side-effect of this project was making music: one day I just sat down to fuck around with a DAW – no time tracking, no clear goals, just to see if I can make some background stuff. And I was immediately hooked – since then, I made an entire hour worth of music! I basically got an entire new hobby from this.

So while the game itself remains incomplete, it was an absolutely positive experience in all regards. I learned a lot from my failures, I tried lots of new things, and got into electronic music production (disclaimer: I’m a long time guitar player, so making music is not entirely new, but making electronic music certainly is).

Oh yeah, and here’s the video of the game, with its single enemy and both items:

Doesn’t look that bad, right?