Generic Zombie Shooter!

Last year I started working on this project hoping to complete it in a week for Halloween, but I think this was too ambitious of a deadline for someone who had never developed a game before. I gave up on it for about 8 months, but have just recently started working on it again and have put about a month straight of work into it, and it’s not far from its 1.0 release. The current version is 0.8, with only a couple of features to implement for its 0.9 release.

Generic Zombie Shooter is exactly what it sounds like… you kill lots of zombies! I got the inspiration for it from the “I MAED A GAEM WITH ZOMBIES IN IT!!!1” game on Xbox Live. It’s a top-down shooter and has several weapons. The weapons are as follows:

  • Popgun (Handgun)
  • Rooty Tooty Point & Shooty (Assault Rifle)
  • Boomstick (Shotgun)
  • The Flammenwerfer (Flamethrower)
  • Hand Eggs (Grenades)
  • Flip-Flops (Landmines)
  • Shiny Sticks (Flares)

There are also several zombie types. Here are the zombies currently in the game:

  • Regular Zombies (Well, OBVIOUSLY…)
  • Fast Zombie Dogs (Faster than normal zombies and very vicious.)
  • Acid Zombies (Hulking green abominations that spit balls of concentrated acid at you!)
  • Poison Fog Zombies (When killed, they explode into a cloud of green, poisonous fog that poisons the player! Watch out!)
  • Zombie Matrons (The mother of all zombies. If not killed fast enough, she will burst and create a swarm of 5-10 tiny zombies!)
  • Tiny Zombies (Smaller and faster, but weaker versions of regular zombies that swarm you in droves!)

The zombie names are subject to change, because despite its generic nature, I’d like to give everything in the game a comical name and meaning.

The game should be completed in a couple weeks if I don’t slack off, so I’d like to hear some opinions on it. Also, I’ve gotten a lot of good ideas from other communities for features that I should add, and have implemented several of them. So now I will show a list of features currently being worked on, and features to be implemented in the future.


  • Add more weapons.
  • Change gameplay so you do not start with all weapons automatically. Add store system so you can
    buy the weapons with your cash.
  • Add powerups (speed, firing rate, unlimited ammo?, extra life, etc)
  • Add “boss” waves every 20 waves or so where the entire wave is just one big boss monster with a special power.
  • Add background music or ambient sounds so the game isn’t as quiet. Maybe add zombie noises.
  • Add EXP and level up system to enhance certain attributes.
  • Add alt-fire for certain weapons.
  • Add effects to ammo for tertiary effects.

Post v1.0 Release Features:

  • Lighting system so the player has a “flashlight” so he can only see in front of him, and rest of the screen will be shadowed. (Gonna need help with this one!)
  • Implement a day/night cycle once shadowing is implemented.
  • Randomly generated terrain.
  • Pathing AI for zombies to make terrain possible. (Something tells me moving directly toward the player won’t really work.)
  • Add level-based gameplay, possibly as a different gamemode than the wave based gameplay. A friend of mine suggested this feature, and suggested that it should be like a map, where each day, you can explore a new area, where you need to fight off the zombies, and search for survivors. You can choose to travel at night, but there would be lower visibility and more zombies.
  • Change enemy AI so they attack when either, a) the player is in their line of sight, b) they “hear” the player, or c) are attacked by the player. Zombies that detect you will alert zombies near them, forming hordes.
  • Custom Graphics (I’m not very good with graphics, so every zombie, with the exception of the Matrons, had their sprites taken off Google. Also, the first three weapons in the loadout and the player were also taken from Google. You may have noticed the Flammewerfer’s icon bears a resemblance to a certain Team Fortress 2 character’s weapon of choice. :P)
  • (Optional) Migrate game engine to LWJGL.

So, tell me what features you think this game should have before its v1.0 release, and I’ll consider throwing them in!

Here’s a link to the JAR:

Here are a couple screenshots!

The grass is nicely textured, but it’s really hard to see anything else amidst all those highly contrasting shades of green.

Yeah, but like I said, the graphics aren’t final. I’d appreciate any input on changes I could make or links to tutorials on how to make graphics that don’t suck. :stuck_out_tongue:

You could probably just de-saturate the grass texture, using whatever photoshop-ish tool you have, and maybe draw half as much, letting the base ground texture show through more (I’m assuming that’s a base texture anyway).

I was bored, so I desaturated the grass slightly.

??? :persecutioncomplex: ::slight_smile:

I’d love to try a playable demo when you can!

There is a playable demo on my portfolio website, but it acts up sometimes and doesn’t launch the correct version (I hate Java Web Start…)
I have the JAR on Dropbox, but it may not be the most current version, but I suppose that doesn’t really matter. I believe it’s at least the base v0.8 release. Here’s a link. I’ll try to remember to update it alongside my Github repo and the version on my website.

Download JAR:

P.S. There’s a built-in error handling system that will show you the stack trace and details on how to contact me (better to use the forum in this case) with the error. Though this may sound silly, the error window itself has caused some problems before, though I’m not sure what the problem is. I may as well post a thread on the forum about it!

I can run around and shoot and stuff. But there is nothing to shoot or kill? no zombies?

Did you kill them all already?

Uhhhh… try re-launching it? I’ve never seen that problem, nor has anyone who I asked to test it. It may be because each of the zombie types currently spawns via a thread, which I’m actually changing right now.

Update! I’ve just started working on wave based gameplay, and have gotten the basic function of it working, however, I’ve run into a few problems, namely…

  1. Poison Fog Zombie explosions are being drawn in the wrong spot when they explode. I had this problem before, and I fixed it. I can only assume it has something to do with the way I’m handling zombie updates now with wave based gameplay, but I’m not sure. The same must be happening with Zombie Matrons since they use the same method of drawing their explosions.

  2. The wave timer that counts down to the next wave spawn continues to count down while the game is paused. I’m not really quite sure how to prevent this, since I’m getting the difference between the current time and the time for the next spawn to find the number of seconds until the next spawn.

Other than that, I’m not aware of any problems. I also de-saturated the background image, like you suggested. Here’s a screenshot, though it doesn’t show much…

Add a small shadow to your guys. It would do wonders.

I’m planning a lighting system at some point via raycasting, but I have no idea how to do that yet, so that’s post 1.0.
If you know how I could get started, that’d be great. I also don’t even know if Java2D can do that kind of thing.

Just thought I’d pop in and show off some of the latest changes. Most notable is the lighting, which isn’t quite what I want, but will do for now. This method will not work once I added randomly generated buildings. I’ve also added a new weapon and a new item… the Popgun and the Shiny Sticks (Handgun and Flares). The Popgun has unlimited ammo and can be used as a default weapon in case you run out of ammo. The Shiny Sticks, well… light things up! So you can see enemies coming at you from far away. I’ve also added a screen for player death that shows a few statistics (number of zombies killed, final wave number, medkits collected, ammo collected).

I’ve got three more weapon slots to fill. I’ve decided not to do melee weapons because I couldn’t figure out how to adapt my Weapon class to handle them. If anyone can think of some unique weapons to really spice the game up, I’d love to hear of them!

Let me know what you think!