SudoHack - Enemies and Prettiness

SudoHack is a multiplayer roguelike where you and your friends, playing as computer programs, try to infiltrate a computer system. You gain “Bits” by destroying the guardian programs that are put in your way, but also lose them for every hit you take and every second that passes by. Your goal is to reach the end of the room before you run out of Bits and get destroyed yourself, therefore gaining access to deeper levels of the system, until you reach the core.

I really should have spent the last few days on university stuff, but I really couldn’t resist, I integrated two enemy types (a static turret and a “moving turret”, as it’s called in the code) and a background for the “floor”, which was previously just black. Also the bullets look a little different now and being hit by enemy fire decreases your shared HP (“Bits”!) now, just as the general passage of time does. Looking at a diff from gitk tells me that I made a lot more changes, but most of them are not interesting or tangible enough (for non-programmers) to talk about. Also: screen shakes, flashes, explosions - the cool stuff. I think a video is the best I can do now, suspense curve-wise:

Here my roommate (thanks, Jonas!) and I tried a little round in one of the first (and highly unrefined) maps. The weapons are already randomly generated and trying them out or just trying to figure out the AI (which I programmed myself, but sadly still can’t fully predict) is already quite fun.

One of the biggest problems I encountered during this developement session is visual design in general. I had a really hard time figuring out proper palettes for the game and am still not really convinced by them. Also I’m not sure if the current general art style of the game is what I have in mind for it. The general atmosphere is also still very much uncertain, but, I think, largely influenced by music and can easily be shaped with it. If anyone has good ideas regarding the design (colors, graphics, whatever it is), please let me know!

The AI also still has it’s weaknesses (I think at the moment the AI is only a weakness) and it proved a lot harder than I thought to design proper state machines for convincing enemy behaviour. I also realized that this game is very, very dependant on proper balancing. Changing just a few values even a tiny bit has huge impacts on the enjoyability of the game and I think that it will take many, many hours to get it right. I’m happy that it’s still a while until I have to seriously tackle these problems, but it also makes me happy that a very fun game might just be a digit after the decimal place away!

The next steps I’m going to tackle are various changes that, ideally should have no effect on the game dynamics themselves, but tidy up the code base a little and optimize some things that require it at the moment. After that I will change the way the game handles configuration files and make the first distributable version for the readers of this blog to enjoy! I hope that it will take me a few days (or a week), because that means that I spent my time on important stuff. Let’s see how that goes..