Hey y’all! Joshua here. Would you look at that not only did I do a regular blog post but here I am showing off what’s new too! I should also explain what happened between updates.
Let’s go over what happened first. I was making a lot of progress on the project. I fixed tons of bugs and was trying to work on sound design. Then my lungs started to go. I was having issues breathing regularly. I was in and out of clinics and hospitals. It was not a fun time. If I could sit, I spent the time playing games or studying math. It was a truly awful time. When I finally started to get better I got covid. This was my first time getting covid, and with these issues it wasn’t a fun time.
After taking about a month off due to medical issues I sat down and tried to play the game. I hated the feel of it. I’ve always had issues with Unity’s physics engine, especially falling. With Unity you drop like a sack of rocks. You keep gaining speed until you hit terminal velocity, like one would in real life. However, Unity compounds it rapidly. Which makes certain level designs impossible. I then tried out a bunch of Unity 2D games and found they all had these issues. It is clearly an issue with Unity being a 3D engine that was patched to be a 2D engine. Since the levels I had been designing were Donkey Kong Country like I needed to go back to the drawing board.
What should I fix? The physics? The level designs? The gameplay? There were three major issues I had. First I tried out different level designs. The only ones that worked for Unity’s stock physics were Super Mario Bros style maps. No going up, just left and right. Then it dawned on me why so many Unity games follow the same level design patterns and feel. I didn’t enjoy this. I wanted verticality. Could I fix the physics? At that point what am I really using Unity for? So I did some digging and found part of my old 2D engine’s code. The Books1 Engine has seen better days and I don’t really want to go through all that again. I bail on fixing the physics and work on new gameplay ideas.
What should the new gameplay be? It should be one that works with little to no verticality. Well, I have shooting and collisions down. Platforms, traps, and weapon buffs/different types all work. Why not make a 2D action game? A nice Contra clone. First thing I do is make a quick level designed for Contra. Seems to work. Designed a few mechanics that all seemed fun. The few that made it out of the design stage were buggy but fun. Then I started to design enemies. None of the ones I came up with fit a run ‘n gun style game. Then I realized the game needed a face lift. Unsure of what to do I decided to read a physics text book and relax. After some time I figured out what part of the physics I needed to change, and how I wanted to change it. Then things just started to fall in place.
In the span of a week I added key hunting, better physics for the style of levels I am making, two new enemy types, cleaned up the code, improved FPS, and more. In the video below you’ll see I focused on the two new baddies and the key hunting mechanic.
The key hunting mechanic fits the style of game I want to make. It has verticality but going up isn’t the only way. This was actually a lot of fun to work on and I am really happy to have gotten it to work. The keys are currently a placeholder graphic. The spinning explosion icon is from when you could increase the damage of the bullets. I did have an issue where the doors would delete themselves but randomly block you from moving. I mean randomly. Sometimes they’d delete just fine and other times they would delete themselves, they’re gone from the hierarchy, but would still block you. I made a new prefab with the exact same components and it stopped doing that glitch.
The first enemy shown off is a dropper. As you climb ladders or go around the stages hunting for keys these little bastards can fall on you. They’ll not be a square in the final release and they’ll have more fine tuned physics and abilities come release. This was to show you the basic concept of them. It was a lot of fun getting them to work. I ran into all sorts of weird errors. Like if they dropped they were instantly killing you without having to land on you, bullets wouldn’t kill them, they would try to phase through the floor, they would try to walk along the edge of a platform and sometimes would even walk upside down! There was also a weird bug where they were forcing the blobs to fall through a platform when they dropped off. This is why the blob is directly above him, so I could test both at once. I am not sure how that happened since they don’t share a lick of code. Unity can be extremely weird. One time I changed how high a mushroom bounce pad would bounce you and then the exit wouldn’t work. Reloaded the build and it worked fine.
Finally we have our shooting enemy. This guy took a lot of work to get right. He kept turning away when he was supposed to shoot me. He would shoot in whatever direction I was looking at. Meaning if I was facing left he shot left. If I was facing right he shot right. There were lots of bugs. Especially when movement got involved. None of these bugs were as weird as the ones above. They were all either poorly loaded serialized variables or I goofed in coding. Once I got it all fixed up he shoots and moves! He currently can’t walk over a ladder, but that’s to be added soon. If he sees ya it’s going to hurt! Due to poor color choices the bullets he shoots out are hard to see. They’re pink. Obviously pink on purple is a bad idea! It was a quick color choice to make sure which bullets he was loading were being fired.
Another thing not shown here is the ability to stomp on baddies. They’ll bounce you up. However, if an enemy has more than 1 HP left you won’t instantly kill them. Each enemy has different health values now and point values. There’s lots of stuff I have been working on.
Originally I wanted this game to be finished by Jan 15th, including sounds. However, that just wasn’t possible. I think the game is in a better state now because I was forced to take breaks. I was so zeroed in on it that I was ignoring glaring flaws, like it wasn’t fun. Now when I am testing stuff and trying to place it and piece all together I am actually having fun. It’s been interesting, that’s for sure. I am learning a lot from this and have already started to design a second project after this to continue with what I have learned. Excited for the next post! Let’s hope it isn’t too far away.