A new version of this scenario was uploaded on Sat Nov 02 01:25:44 UTC 2013
Upgraded sprites
Smoothed knockback
Added attack effects
Added reviving (press "v" or "/" to revive)

The reviving doesn't actually work. I tried it.
The DoctorProfessor is out!

A new version of this scenario was uploaded on Wed Aug 13 02:30:06 UTC 2014
Massive revamp!
Remade sprites
Altered sword mechanics
Made zombies tougher
Made bombs less common
Removed shields
Removed the old way to revive fallen players
Added medpacks:
medpacks can be used to revive dead players and heal living players
players start with one medpack
press shift or ; to throw
medpacks are randomly dropped by zombies
Added combo points:
players gain combo points by scoring multiple hits in quick succesion
a combo of over 20 points will result in more powerful sword attacks
Updated title screen

A new version of this scenario was uploaded on Wed Aug 13 10:05:54 UTC 2014
Players can now face diagonally

A new version of this scenario was uploaded on Wed Aug 13 10:36:25 UTC 2014
Forgot to add diagonal facing capability for the red player, that's fixed now.

Really cool game, but i feel kinda lonely playing a two player game by my self, maybe an option to just be one player?
Hehe I ran around and collected zombies in a big pile until the game lagged very much, then I struck 601 zombies in one blow :)

Sure thing, I could implement single player. I might even experiment a bit with AI for the second player.
I think it's safe to say you have the record for the highest combo. :P

A new version of this scenario was uploaded on Thu Aug 14 08:08:24 UTC 2014
Added singleplayer mode. Nothing special at the moment, yet to be improved.
The title screen now remains in the scenario until a play mode is selected (singleplayer or multiplayer). This will allow for more game options in the future (for instance, gameplay options to change the way you play).
Zombies now reset the player's combo when they hit them.
Fixed bug where combo displays would remain in the world when the player died.

A new version of this scenario was uploaded on Thu Aug 14 10:41:39 UTC 2014
Fixed bug where the spin attack would sometimes use the wrong sword sprite.
Fixed bug where the player's arms would still try to update after they were removed from the world.
Rewrote zombie image code, hopefully this will reduce lag.
Increased the zombie spawn chance in multiplayer.

That was a quick update! This game is really nice.
Maybe you should add some small randomness to the zombie walk, cause I find that the easiest way to actually survive is to not enage in combat, but just run around and avoid them which is easy since they're quite slow and predictable, Maybe add like a sudden spurt when they get really close, to get the impression that they "jump in" to bite you :D That will atleast ruin my tactic

Well, I haven't added randomness to the zombie walk, but I added in lunging (sudden spurts of speed when they get close), and it seems to be just what this game needed! Thanks for the suggestion, it turned out great!

A new version of this scenario was uploaded on Fri Aug 15 01:18:05 UTC 2014
Fixed bug where explosions would render on top of the player's arms.
Altered zombie knockback.
Zombies now lunge at players when close enough. This has considerably increased the difficulty, as well as defeating certain styles of playing that take advantage of the zombies' movement speed.

I think the game is probably a little too hard now... :P Here's a patch to make it slightly easier.

A new version of this scenario was uploaded on Fri Aug 15 08:54:32 UTC 2014
Slightly increased player swing speed.

A new version of this scenario was uploaded on Sat Aug 16 00:10:43 UTC 2014
Bombs are now picked up like medpacks and thrown with SHIFT or SEMICOLON.
Medpacks and bombs now show on the player when equipped.
Info is now displayed about items that the player picks up.

A new version of this scenario was uploaded on Sun Aug 17 11:58:29 UTC 2014
Forgot to add bomb throwing for the red player, that's fixed now.
Rewrote player code so that both players get their code from their base class, meaning there will no longer be any inconsistencies between the two player classes' code.
Began work on a secret feature...

A new version of this scenario was uploaded on Tue Aug 19 02:41:49 UTC 2014
Added guns!
Assault Rifle, Shotgun, Grenade Launcher.
Assault Rifle shoots constantly.
Shotgun shoots a spray of bullets.
Grenade Launcher shoots a grenade that gets lodged in zombies.
Edited attack effect sprites.
Further refined zombie image code.

Yeah, I got your email. I check my email about every day.

A new version of this scenario was uploaded on Wed Aug 20 23:14:41 UTC 2014
Balance update!
Sword now does more damage.
Sword special attack now spins more.
Assault Rifle does more damage.
Assault Rifle now has a special attack.
Shotgun shoots further.
Grenade launcher now spreads shrapnel in all directions.
Added weapon: Knives.
knives are thrown in groups of three and pierce enemies.
Added weapon: Jousting Pole.
jousting poles don't do much damage, but they can be used to charge through large groups of zombies.

A new version of this scenario was uploaded on Wed Aug 20 23:18:35 UTC 2014
Re-uploading in hopes that the game will now display at the proper size.

Oops, accidentally released an update to try and fix a browser problem :P
Check the previous update that I uploaded today! It's got lots of cool stuff!

A new version of this scenario was uploaded on Fri Aug 22 22:30:49 UTC 2014
The game now starts immediately without the need of the run button. There have been a few problems with this, and if the buttons aren't working, just pause the game and run it again.
Added loading screen.
Added a window that pops up when you lose the game showing you your time.
Throwing knives now have a special attack, press "V" or ":" to use it.
Player 2's item button has been changed to "L".
Added a temporary pause button. It pauses the game for about 2 seconds, in case the player's controls get stuck and they need to reset them. The temporary pause button is "E" or "[" for easy access from both players. This was actually a feature introduced in the last update, but I forgot to mention it.

In the last update I said that Player 2's item button was changed to "L". That was incorrect. Player 2's special attack button was changed to "L".

A new version of this scenario was uploaded on Sat Aug 23 00:12:39 UTC 2014
Fixed bug where the player would start with the throwing knives.
This may be my last update for a while as I am busy spriting for another game at the moment.

A new version of this scenario was uploaded on Sun Aug 24 05:32:03 UTC 2014
I've been working hard on the art for the other game I'm working on so that I can still release updates for this every now and then.
Players can now return to the title screen after they die by pressing enter.

A new version of this scenario was uploaded on Thu Aug 28 07:47:04 UTC 2014
Added pause menu.

Idea for a game, try something out of your element. maybe a strategy trading game that focuses on trading resources that fluctuate in price. Or maybe a city builder? like an 8-Bit Sim-City (top view ofcourse) where you manage resources :D
Hope this helped somewhat, and for some reason i cant play this game, my java security settings is down and its just some games i can play :/
Could you send me the jar? my email is myran168@gmail.com
Thanks,
Ryan

They all sound like great ideas TehRyan, but unfortunately I don't have time for a big project like that at the moment because I'm busy making the art for someone else's game right now.

The game is quite fun, very well made and i really enjoy the art!
art is a big part of a game, and im sure the person your doing the art for appreciates it!

One minor thing is that while moving up/down/left/right he moves slower than he does when he moves diagonal. For example, if he is moving 7 cells per act cycle when going up/down/right/left, while going diagonal he would be moving 7 cells in each direction, ending up with him moving approximately 10 cells diagonal, (the square root of 98 to be exact).
Just something to think about if you really want to fine tune your game. Sorry I nitpick, it just bothers me :)

@dan11, how would you go about fine tuning the game in this situation? (not that I need to know, myself -- but for others, and for K_wow).
To clarify: when simplified by moving one pixel at a time, you can move left, right, up, or down, at a speed of one pixel per move; but, when moving diagonally, you cannot. Then, you must move by multiples of the square root of 2. That is the distance between two diagonally adjacent pixels.

In my games that are 8-directional, I usually import the provided SmoothMover class and move Math.sqrt((speed*speed)/2) in two directions. For a speed of two, for example, that would be the square root of two in two different directions to move two pixels diagonally, as (sqrt 2)^2 + (sqrt 2)^2 = 2^2, (Pythagorean theorem, the two bases (x,y) must be sqrt 2 to make the hypotenuse 2, the hypotenuse being the the diagonal distance moved). Sqrt 2 is a decimal number, so one must use SmoothMover or a similar system to track movement.
Speed of 3 would be sqrt 4.5 in two directions (sqrt 4.5)^2 +(sqrt 4.5)^2 = 3^2
Speed of 4 would be sqrt 8 in two directions (sqrt 8)^2 +(sqrt 8)^2 = 4^2
And so on...
For games that require 360 degree movement, I would use trigonometry.
Sorry if my explanation is not too clear

Yeah, I am aware of this issue, but I never really thought it was major enough to remake the entire movement code to fix. I'm not sure if I'll ever get around to fixing it, to be honest. Sorry :(

Yes, in order to move diagonally the same distance as one pixel distance horizontally or vertically, you must multiply the distance by one half the square root of two, or approximately 0.7071; because that value squared is two-fourths, or one-half, and two halves is a whole.
I do not know why you would complicate it by moving speed inside the square root function and squaring it when you can just leave it outside. That is, instead of 'Math.sqrt((speed*speed)/2)', you can just use 'speed*Math.sqrt(1/2)' or 'speed*Math.sqrt(2)/2'.

Yes, I just put it as Math.sqrt((speed*speed)/2) to show a thought process. Speed*speed is c^2 in the Pythagorean Theorem, half of that is a^2 or b^2, and the square root of that is a or b, (only if the right triangle is isosceles of course).
Any of the ways @danpost listed look neater and are more simplified; again, I only wrote it as I did to show a thought process.
Again, sorry if I am making things more confusing.

Oh, yeah. I mean 2 times the square root of two is not the same as the square root of four, but that's irrelevant. Even so, fixing diagonal movement is still pretty low on my priorities list right now.

A new version of this scenario was uploaded on Thu Sep 04 02:14:42 UTC 2014
Added settings menu.
current settings are 'attack effects' and 'friendly fire'.
Game over screen now shows the player's record this session.
The scenario pause button now opens or closes the pause menu.
Fixed bug where zombies are affected by the blue player's knockback in multiplayer.
Fixed bug where the player could start a long assault rifle special attack by picking up the assault rifle while spinning with the sword.
I'm taking a short break from this game to work on another simple greenfoot game that creates its images with code.

2013/8/7

2013/8/7

2013/8/7

2013/11/2

2014/8/13

2014/8/13

2014/8/13

2014/8/14

2014/8/14

2014/8/15

2014/8/15

2014/8/15

2014/8/20

2014/8/20

2014/8/20

2014/8/20

2014/8/21

2014/8/22

2014/8/30

2014/8/30

2014/8/30

2014/8/30

2014/8/30

2014/8/31

2014/8/31

2014/8/31

2014/8/31

2014/8/31

2014/8/31

2014/8/31

2014/8/31

2014/9/1