'Zombie Outbreak' Finally Finished !!

Download:
Version 1.0a For Windows
Version 1.0a For Linux

**NOTE: I do not take any credit for the textures used in the game, except the Player and Zombie Sprites, I made them

At long last I have finished it, i’m sorry I couldn’t have updated it more frequently, but the school year had started and I had to put this project on hold for a bit. Although I keep thinking of things to add into the game, I am very anxious to start on other projects and move on, and, although the game turned out fairly smooth and playable, the structure of the coding has slowly evolved into an awful, ugly beast riddled with terrible optimization and cheap work-arounds, and I am happy to see the end of it.

I would be greatly appreciative of any thoughts, ideas or questions. Criticism is also very helpful, as long as its constructive.

This is my first ever completed project and I hope you have as much fun playing it as I had making it.

I would be happy to help fellow game developers and share any source-code/information about the project if desired.

Version 1.0 (FINAL)

  • Completed all levels (7 in total)
  • Go to next level when stepping on the yellow blocks
  • 2 new weapons (SMG and ASSAULT RIFLE)
  • Added text at the beginning of a level
  • New and improved health bars for zombies
  • Three different types of zombies spawn
  • Made new Zombie Sprites

Version 0.6a

  • Made a new player sprite (more sprites to come)
  • Added death/game over mechanic
  • Changed bullet size
  • Zombies are now faster (it is not possible to outrun them anymore)
  • The level is now a little ‘brighter’

Version 0.5a

  • Added New Torch psuedo-lighting
  • Changed shoot controls for WASD movement

Version 0.4a

  • Default Level is improved and more ellaborate
  • changed default control method back to WASD
  • added a new Menu Screen which allows the selection of control method (either WASD or Mouse)
  • Added Weapons and bullet projectiles
  • You can now kill Zombies (Finally!)

Version 0.3a

  • Fixed buggy Main Menu Buttons
  • Added a new mechanic where zombies “bounce off” each other and do not all “bunch up” into one
  • Player now gets slowed down when he is encumbered by zombies, the amount he slows is relative
    to the number of zombies on him
  • Fixed zombie texture (does not display flashing white line anymore)

Version 0.2a

  • Added Main Menu System(Still a bit buggy, will fix later)
  • Changed movement controls to Click-and-drag instead of WASD
  • Camera now follows player
  • Got rid of maximum zombie engagement distance(if you are in their line
    of Sight, zombies will start running from any distance)
  • Changed background colour

Version 0.1a

  • Started Development
  • Added (very)basic WASD movement
  • Added (very)basic Zombie AI
  • Added a collision system for the player (will add for zombies later on)

What do you plan for the content?

I am currently working on some basic menu elements for the game and I also had the idea of making the game stealth-based in the future (the player would have the ability to hide behind walls in order to sneak to the end of the level).

I will try my best over the next few weeks to make this game a somewhat fun, enjoyable experience.

again, any criticism or suggestions are greatly appreciated and I would be happy to share some source code if requested :smiley:

I find the controls odd. I expect to move relative to the direction in which i’m facing, not just up/down/left/right regardless of the direction in which i’m looking.

Version 0.2a is live! ;D And you can dowload it here:http://www.mediafire.com/download/fr3vj83in54qu35/ZombieOutbreak_0.2a.zip

Notable changes are the addition of a Main Menu and a Changed Control method.

please excuse the Buggy buttons on the main menu, sometimes they work, sometimes they don’t. I know it has something to do with LWJGL’s Mouse.next() method but I haven’t quite figured out yet, the bug WILL be addressed soon and it is top priority for future updates. If anyone could hazard a chance of suggesting a fix that would be greatly appreciated.

thanks to EgonOlsen for pointing out the issues with the WASD control method

Version 0.3a is finished! ;D you can download it here:
http://www.mediafire.com/?xil172rwywfiv5l

The once-buggy menu buttons are fixed and there are two cool new features:

  • The Zombies now “bounce off” each other and do not all pile in together (this is hard to explain but easily evident when playing)
  • The Player is now slowed down when he is encumbered by zombies (the players drop in speed is relative to the amount of zombies on him)

If anyone is making a similar game, or is even just curious, I would be happy to share some source code and information about how I developed any aspect of the game.

As always, any criticism or suggestions are not only welcome, but greatly appreciated, and also, what do you think I should add in next?

Could you add in linux support? All you have to do (i’ll assume you are using lwjgl), is change the natives to linux, not windows folder. Thanks!

UPDATE
ZombieOutbreak is currently available for Linux (as requested by wesley.laferriere) and you can get it here

Although please note that I do not have access to a Linux-based machine and therefore there may be some problems that will go unnoticed by me, I would greatly appreciate any feedback, good or bad, from Linux users regarding the running of the application.

PS: due to my lack of knowledge about the Linux operating system, I have included both a executable jar file and a shell script (I really don’t know which will work)

Unfortunately, neither work. But I looked in xterm (the ‘command prompt’ of linux), and it said :


Exception in thread "main" java.lang.UnsupportedClassVersionError: menu/MainMenuInit : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: menu.MainMenuInit. Program will exit.

I’ll look it up a bit and edit this post.

P.S. Thanks for porting!

Hmmm… that’s a shame :cranky:
Unfortunately I do not have access to a Linux machine and Linux porting will apparently be a no-no

I may look at Linux porting in the future, but for now, there are more pressing matters at hand
(sorry Wessles)

EDIT:
But if anyone could suggest any fixes, that would be great ;D

I wouldn’t jump to conclusions so quickly. Let me see if it works on any linux-buddies’ machines.

Version 0.4 is out and you can download it here

this is probably the most important update yet, notable additions are:

  • Weapons
  • You can kill actually kill Zombies, huzzah!
  • new, more complex ‘hospital’ level
  • you can switch between two control methods, WASD(default) and Click-and-drag Mouse Controls

Its also worth noting that it’s relatively easy to make you own custom maps, all you need to do is create a .png image using your favourite image editing program (I use Paint.NET download it here), Different colours correspond to different Tiles and Entities, Read Section 3 of the readme for a more info.

I would like if you guys gave feedback and tell me which you find better, the WASD controls or the Click-and-drag controls
I’d also like to see some of the maps you guys can make, let your imagination run wild!

Just checked it out

Controls are fine for me, I like them(why is shoot, right click, instead of left click?) :slight_smile:
collisions all look good and work :slight_smile:

the size between the players and others are a bit too much though :o

The player is ‘always walking’ never standing, get on that :-\

When shooting, it seems slightly pointed off centered? like the angle needs to be tweaked, when mouse appears perfectly horizontal to player and player appears looking perfeclty horizontal (along 0,90,180 lines) the shot fired seems to be like 5-10 degrees off center? ???

The right mouse button shoots because initially, the left mouse was used to move the player, I forgot to change it and ill get on
that ASAP

Ill fix those for the next update also

This is because the shotgun is deliberately inaccurate at long range, and is meant to be a powerful weapon, but only effective at close range(like many conventional video game shotguns) I will add in more weapons in future that have higher accuracy (less bullet spread)

Thank you for the feedback, it is welcome and greatly appreciated :slight_smile:

It looks like you compiled for Java 7, while wesly.laferriere is using Java 6. So either wesly can get Java 7 or you can compile for Java 6 (which Java 7 is backwards compatible with).

It works fine on Fedora 19 64-bit, but I am using OpenJDK 7, not 6. Wesley is using Ubuntu, and I know Ubuntu is more tentative to releasing new software than Fedora. By the way, Wesley, what is your output to java -version? If it is not 1.7, then try sudo apt-get update and then if that does not make it go to version 1.7, you can uninstall the Java 1.6 stuff and install the java-1.7.0-openjdk package (along with the development package) (NOTE: names may change on Ubuntu) which should work. Interestingly Fedora already has a java-1.8.0-openjdk package, so I’m curious if OpenJDK has Java 8 out already. Actually I just looked it up, it is still in development but it is in the package manager so that people can play with it.

Also, Wesley, unless Ubuntu has changed, gnome-terminal is the default Linux terminal emulator on Ubuntu and Fedora. Linux has tons of terminal emulators, so to say that XTerm is the only one is a false statement. You can find tons of terminal emulators; ones such as Terminator and Konsole exist too.

Thanks guys for the Linux-related help :slight_smile:

Linux porting is a very hard thing to get my head around atm, as i have no access to a Linux machine and therefore can’t test things as I go along.

I think I’ll release Linux versions on Java 1.7 as I did before, It seems this is compatible with some of you, I just really wont have the time to be stepping down to java 1.6 for release on Linux Operating Systems, It would be too time consuming and I would have no way of testing this.

Sorry for the inconvenience caused, but listen to Sammidysam’s advice, he sounds like he knows what he’s doing :smiley:

Thanks for thinking that I know what I am doing. I wonder if I do.

I don’t quite understand what is confusing about Linux with Java though. Because you are using Java, you just make sure you never hard-code Windows stuff (like using ‘\’ for path separator or something) and then it’ll work on all platforms without needing separate download links.

Also, what is the Shell script you included? I tried to concatenate it and it looked like a bunch of garbage… I doubt you need a Shell script, because running the JAR worked fine for me.

Version 0.5a is out and you can find it for windows here (and for Linux, here)

Only a few minor changes this time; the player now wields a torch, and there is a certain amount of lighting. The method i’m using for lighting at the moment is okay, but not ideal, I am basically just drawing a picture of a large black square with a transparent cone in the middle, the effect that this produces is actually kind of decent, but this means i can only have one light at a time. If anyone has done lighting in this sort of engine before, or know of any good read-ups on the subjects, please let me know

There are also a few tweaks to controls and animations

As always any suggestions and criticism as greatly appreciated and very welcome.

PS: I have also started to release Linux versions as well, If you do use Linux, please let me know if it works, if it does, I will continue to release Linux builds using Java 1.7

For me (ArchLinux), it runs perfectly.

Even though it technically is possible to see zombies without the flashlight, I somehow can’t. I don’t know. It might be actually good.

Unlike in other games I was very ‘surprised’ when seeing the zombies… Good thing!