Just a general advice for writing HTML games: remember to preventDefault() on all keyboard-related events (keydown, keypress) for all keys you use when your game has focus (add tabindex to your canvas so you'll get focus/blur events).
Otherwise browser's shortcuts could interfere with your game. I have Opera customized with 1-key shortcuts (with no modifier key) and that's a minefield in games that assume keyboard is all for them.
preventDefault() worked in Opera since ancient times. However, Opera took default action on different event than other browsers (keydown instead of keypress if I remember correctly).
Decent game overall, but I hope you plan on switching out the Advance Wars sprites with something you own in the future. (or use resources from sites like http://opengameart.org/)
Really really great game! You should make the rewards for freeing a prisoner appear instantly, waiting for those items to appear kills the pacing of the game somewhat.
That's interesting. I actually found having the jump and shoot actions over on the left hand quite intuitive. I'm now wondering whether left/right handedness or some other physical factors are involved in this...
Just make UP work in addition to X. This way users with built in reflexes won't feel punished.
Also, make space work for jumping too. I hit space a few times causing me to skip down on the page.
You don't need to advertise these additional key bindings, but since they are very common in other games a significant portion of players will automatically use them.
(Dvorak user here.) I've played many Flash games in which the keys were WASD, but they actually worked the same even if I didn't switch the layout back to Qwerty. And then I've played games in which it did matter which layout I used. I suspect there's one set of functions that receives keypresses, and another that looks at more raw device input. Perhaps there is a way to do the same thing here?
That wouldn't work with a physical Dvorak keyboard, though (as opposed to my Qwerty keyboard, with the input layout on my operating system set to Dvorak). Do you have one, out of curiosity? (And, hmm, you could make WASD--or X and C here--work as desired on a real Dvorak keyboard by making it handle keypresses rather than device input and then setting the layout to Qwerty.)
If you use keyCode instead of charCode I think you'll get the same result on every keyboard layout, but of course if you tell people to use C, it means the key where C is on a US keyboard, not really the key where a C is printed. I believe Dvorak users are conscious enough to understand that though.
I would have made space shoot, too, incidentally (arrows + space should be the same for just about every keyboard out there), but configuration itself is a great idea.
I also wish that the length of time you held down the jump key controlled the height of your jump rather (up to a maximum, obviously), rather than one-size-fits-all jumps, but that's minor.
Play an old NES game that used that system like Super Mario Bros. (any of them) then play your game to see how much more in control you feel.
You should allow the user to customize the keyboard, I prefer 'awsd' for movement and 0 and . as nintendo's 'A' and 'B' buttons. It maps better in my brain.
There is generally about a one frame deep pipeline between the user interface and the rendering so you end up with more like a 100ms delay which is two human reaction times and enough to feel unresponsive.
Story of old: in the 90's, when the radiology transcriptionists were moved too far away for RS232 to reach their computer, and they were put on LAT devices (8 serial ports to Ethernet with crazy complicated optimization to multiplex traffic from all 8 into the same packets) their duplicate key errors and general frustration went up. Working from audio, they watched the screen and if the delay was ever perceptible they would restrict a key. Allen ended up writing them an editor that worked in half duplex mode (local echo).
Also an image on film is the integration over the time the shutter was open, causing a very smooth motion blur. Games don't naturally have this motion blur, so low frame-rate movement appears choppy.
Sometimes film makers reduce the length of integration (time the shutter is open) to produce a choppier scene. This was prominently featured in action scenes of the movie Gladiator. Many people did not like the effect because, like a low frame-rate video game, it was harsh and disorienting.
Because movies show motion blur which makes things appear more smooth. Most games just show static snapshots of moments in time and it makes motion jerky as a result.
This was really fun! Addictive enough to have me spend 20 minutes completing all 5 levels.
Suggested areas to work on:
1 - The FPS reduces significantly when battling the tanks and shooting the officers - almost to the point of wondering if the game will crash.
2 - There was 1 prisoner on level 4 who I'm sure was unreachable.
3 - Improved sound effects i.e. different level music, mood music when facing the tanks etc
Additional unexpected behavior:
4 - NPCs were able to shoot through boxes/floors which stopped my bullets.
5 - When dropping off a ledge, it is possible to walk into midair before falling.
Also, like many 2D games, the best way to kill something like the level 1 boss is to scroll it off the screen and spam bullets.
I did not have any performance issues - it was steady at 60fps.
I'd recommend against using OpenID; see http://productblog.37signals.com/products/2011/01/well-be-re... for a well-written explanation of why. However, in the meantime, if you continue to use OpenID, please allow user-specified OpenID URLs, not just a fixed list of providers.
Not to be a downer (I'm sure there was still a lot of work in it), but when it loaded I thought "oh, it's just Biolab disaster" (the first demo game of impactjs: http://playbiolab.com/). I think this game is just a "reskin".
This is so awesome! Good work bazookaBen! I can't believe that you can make games with... html5. I thought this is only like: "with html5 you can make games! yea yea, i will just stick to flash..."
Great game. A little QA: your enemies are speaking a mix of German and English, and the signage is English. When you follow woogley's advice and change the sprites out, make sure exit becomes Ausgang. Some enemies say "fire!" instead of "feur!", and some say "stop!" instead of "halt!" Also, I couldn't restart the game at the game over screen (using c or x). Chrome 10 on OSX.
Fun game! I'm happy I got to play. Smooth and natural feeling controls at 50+ fps on Opera 11.01, Windows Vista, 2.4GHz Core 2. Smoother than some native code games games I have played. Good art, good sfx.
I did want bigger pixels. Zooming in the page in the browser worked fine. And I would have liked either a higher difficulty setting or adaptive difficulty that gets harder if I haven't died for a while, like Xevious had. And I agree with nicetryguy that a short jump would be nice. And the monster didn't really make any sense in the game story.
i put the monster in as a teaser actually. Perhaps I need to include some sort of cutscene / chatter between characters. Have to find balance between game flow and fun
Pretty awesome! My two complaints: Not everything has to talk. The weird monster going "roar" was a bit tacky. It's an ingrained convention that if something is flashing, it's about to disappear, so don't have your health crates flash by default.
ImpactJS
Google Appengine + Python for hosting and achievement system
GIMP for graphics
TextMate
Switch for Mac (to reduce the bitrate for the audio files)
Great game. Just played it again so I can beat it. One thing I found annoying was how the enemy bullets can go through cover. Also I would have liked it more if you added more boss fights like the one in the first level instead of just tanks.
Is there anything that can be done about the audio lag? In other words, is it something that could be solved in JavaScript, something that needs to be improved in browsers, or an inherent flaw in the HTML5 audio spec?
Really like the game, have you considered doing a write up on how you developed it? I think there is a lot of people out there that would be interested in developing a game, especially with this level of polish.
Use Notifo. I don't recall whether it notifies you about all comments on links you submit, but at least you can get notified when you get a direct reply to one of your comments.
nope, my handle is @bazooka_ben, with 2 followers right now
just created it yesterday, don't have much idea on how to manage the account. Basically looking at what other game designers use their twitter and try to emulate them.
Otherwise browser's shortcuts could interfere with your game. I have Opera customized with 1-key shortcuts (with no modifier key) and that's a minefield in games that assume keyboard is all for them.