I have failed you all. It’s September O’Clock and my August game isn’t done yet. I’ve worked as hard as I can to get to the end, but I kept seeing new things to do, new things I hadn’t planned for, and I’m simply not gonna make it. Not even with the 4 day grace period. But I’m determined to finish this game, so don’t give up on me yet! Let’s talk about what I did do this week instead!
Oh, man what didn’t I do this week. I did a lot so I’m gonna try to get past everything pretty quickly.
First I figured it was about time you could transition between screens, because honestly I’ve grown a bit tired of my tiny test level. You travel from screen to screen by doors like in Zelda one, so firstly I set up a system, that let doors be tied to each other. This would tell me where to send my player upon door-collision. Fairly easy. I also set up a LevelManager, that could keep track of everything just in case. The end result? Looky here:
— Hjalte Tagmose (@hjaltetagmose) August 26, 2017
Alright, but what kinda world might one encounter on the other side of that door? Actually what was this game gonna consist of at all? So, I spent some time coming up with a story for the game, but I’m not really gonna go into detail. Basically one of the environments you go through is a sewer like place with rats and pipes and shit, which meant: Time to draw!
I basically just messed up my previous wall sprite and called it a day… However the overall layout and the high use of water and pipes, would sell the atmosphere without much else I thought, and carried on.
So time to do that. Level design for me, is that thing you do an hour before the deadline, so with a month of work riding on it, I felt a bit uncomfortable. It took me quite some time before I really got comfortable and build something half decent. It was highly inspired by Zelda one again, but I’ll talk about why that was a problem later. Anyway, here’s what I ended up with:
— Hjalte Tagmose (@hjaltetagmose) August 27, 2017
Damn, that’s a lot of individual tiles… Yeah, I didn’t place them all manually, that’d be terrible. I had actually already build a drawing tool for my grid system before starting this game, and it was very helpful!
It basically works by putting a bunch of prefabs into an array, which then automatically sets up some keyboard-shortcuts for you. This means that you just pick a prefab and start drawing in the scene view! Pretty incredible. Unfortunately I hadn’t taken all situations into account and I did a few times accidently place a diagonal wall through the entire level, which could not be control-z’ed.
Speaking of tools, I noticed one annoying thing while playing my level. The doors were always messing up and it was hard to see if I had done something wrong. Plus it was just tedious to go in and individually set the connected door on each and every door in the level. So I made this tool. It basically takes two doors and then sets their respective connected doors to be equal to each other. Lovely. It also displays a little line between them in either green or red to show that they’re connected (or not).
Okay time to play. Quick note, I had also introduced a new enemy. This was the rat. It moves every other turn, and that was one thing I noticed during this play test. It was very similar to the skeleton. I didn’t feel like it was different enough to warrant an entirely new enemy, so I decided to change the skeleton up a bit. One thing skeletons are good at is being dead, so of course, getting killed isn’t as big a deal to them. I decided they should reanimate after death. Basically, you kill a skele-man, he turns into a pile of bones, a few turns pass and PUFF. All new skele-man ready to fight.
So, walking around this big level I suddenly realized how annoying it was to spam keys a million times waiting for turns to finish executing. This was especially frustrating in levels without enemies. Why did I have to wait around if nothing else was going on? Firstly, I realized that my turn execution waited 0.1 seconds after going through a loop. This had been for testing purposes mostly, so I just removed that, but even then I had to continously tap a single button to move, so I made a timer thing, that could check if the key was being held or just tapped. Now if you hold a key down, it’ll just keep executing turns as fast as it can. This seems to work fine as it takes some time for the player to actually move, but it can sometimes mean moving extremely quickly, when not intended. This might be a setting you can turn off in the final game…
Quiet in here… Too quiet.
As anyone else with a problem, I went to reddit and posted about my game and its audio needs (link). The response was overwhelming. An avalanche of professional and not-so-much audio guys contacted me over the next couple days. Lots of people offering their talent, often with no want of compensation. Unfortunately none really seemed to stick. Until recently, when a very talented guy offered to do everything for 30 bucks. Hell of a price, but still a price. Was I really paying, when I had an inbox full of people willing to do it for free? Well yes, because half the guys doing it for free would do either nothing or very little at which point they just stopped. This is forgivable, I mean they worked for free and all, so I was paying for him to stay. And 30 bucks is pennies compared to what you’d normally pay.
Anyway I build a quick demo for inspiration and that’s when I noticed the player still had a 100 lives. There was really no way to die and if you did it would just spawn a bunch of errors and crash the game… That’d might be a problem…
I was quite tired so I quickly decided that you’d just restart the level you were currently in and hacked together some code to do just that. It was a bit buggy but hey, it works.
The last thing I did this week was to create this boss room sprite.
— Hjalte Tagmose (@hjaltetagmose) August 28, 2017
So, what to do this next week? Well, I’ve decided that the level does not work as is. The game just isn’t built to support branching paths and it kinda feels awkward, so I intend to redo it more linearly. This also means that my keys/coins system is a bit out of place. There’s gonna be no use for coins in the final game, so I’m going to remove that. For now I think I’m going to keep the keys, but I don’t intend for there to be much in the area of branching paths.
Take out coins
Maybe more activators/activatables.
Tune in next week — same Bat-time, same Bat-channel!
-Hjalte Tagmose (@hjaltetagmose)
Not a level designer