Air Attack (Renamed)

At least you made it work!! :wink: Actually I tried it at a friends that has a Mac - he couldn’t get it running… he only had Java 1.5 though - maybe had something to do about that. I have realized - even though Java is platform independent - it will require a good deal of effort to make it run well on other platforms. It is on my todo list but probably won’t happen within the next few weeks… sorry.

Woah, I thought Id grown out of the age when you enjoy silly games wherer you shoot everything that moves. So wrong I was…

This is brilliat, wonderfully addictive, its on its way to ruin my university degree!

Cooles features: The particle stuff, how they bounce around, the napalm. That you can capture the ejected pilots, the shot down planes that stays there.

Most dangerous enemy: The green planes, they dont hit you very often but they destroy the land!

How it could be improved: Other weapons? Superwepon that destroys everything? The jumping is a bit awkward, a more realistic fall behavior would be nicer. Maybe more land, it irritating when its all blown away to fast. Maybe constant fireing rate in stead of one rocket at the time.

The graphics could be more polished of course, but that wouldnt make the game more fun, really. The particels could be a little transperent in stead of just squeres. The pictures could be nicer. Some animation when the player moves.

Fulllscreen didnt work, even for the downloaded jar file. (Ubuntu 8.04) Another window opens, when I click, but not in fullsceen.

Would be fun to have a look at the code!

/Jens - Nr 5 on the highscore

Thanks Jens, reviews like yours make it all worth it :slight_smile: The firerate is copied from space invaders - when one rocket has to leave the scene before you can fire a new one there is an extra incentive to aim well. I have thought about making it constant but right now kind of like that concept :slight_smile:

Good ideas for improvement. I have ideas for few new weapons such as EMP emitter that destroys everything, penetrating rockets that dont get destroyed on impact and thus clears everythingon their path and rocket launcher with higher fire rate. Not sure yet how to integrate these. Also I am thinking about “boss” planes that drop nukes (destroys a big chunk of terrain but the nuke can be shot down and moves slowly). I won’t make big changes right now but any ideas for new features are very welcome.

Also great to hear that it runs on Ubuntu!

I just made a few updates so that the game now runs on Java 1.4.

I just tried on a different Mac, and I definitely think the performance hit is from the particle effects. Maybe you can detect the platform and turn them off for Mac?

I agree with Demonpants, the game is near unplayable on Macs because of the slow framerate :frowning:

Thanks for your feedback. I just uploaded a new version with a “turn off particles button”. Reduces number of particles from 10000 to 10. Please give it a try and let me know if that relieved some of the performance problems.

That did the trick! Might I suggest automatically turning it on like:


if (System.getProperty("os.name").equals("Mac OS X"))
     particles = false;

It’s really fun! Glad I could play it.

Great that it worked! Ideally I will make particles render on Mac as well. Just read an earlier post of yours recommending lwjgl. I am thinking about looking into rewriting in that for performance. Right now I use Java2D. Do you know how much work a rewrite from Java2D to lwjgl generally requires?

Anyone knows how lwjgl compares to Java3D? Thought about making my next game 3D.

Switching to LWJGL from Java2D can be done or 2 or 3 hours, depending upon how big your game is. Basically you’ve got to:

  1. Create the LWJGL display and everything as the program starts.
  2. Replace your old repaint() way of doing things with a LWJGL drawing method.
  3. Replace all your draw methods with LWJGL ones.
  4. Create or get some sort of Texture Loader and sprite manager to replace image loading. (http://www.cokeandcode.com/node/10)
  5. You’re done.

You can also give Slick a go. I’ve never used it myself because I had already made enough LWJGL functions and libraries of my own by the time it existed, but a lot of people like it.