Exodus Defence - demo and source code

Well I’ve been working on this for a while now. I decided it would be a good idea for me to complete a game in JME, see all the pit falls etc. Also for JME to have another completed game.

Inevitably it isn’t as far along as I wanted, so I decided to draw a line and share some stuff. Pictures!

EDIT: Video here: http://www.youtube.com/watch?v=IjZLZarc52c

EDIT: Snow base video here: http://www.youtube.com/watch?v=6JTtQJ-rAHQ

EDIT: Rainy valley video here: http://www.youtube.com/watch?v=FVM8yC5D-uE

EDIT: JNLP here: 安全加密检测

EDIT: Applet here: 安全加密检测

EDIT: Source code here: http://code.google.com/p/edefence/

the terrain looks very nice, how did you create it?

Well after some deliberation I decided to overhaul the core gameplay. Development has taken too long to be happy with a very limited game and it’s really just a waste of a flexible engine at this point.

I have added full support for player controlled aircraft, fully destroyable buildings and scenery (optionally) aswell as a fully scriptable objectives system. I’m also designing some much bigger maps. I intend to add a system for mulit mission scenarios in a persistent theatre, with dynamically generated secondary objectives.

Anyway on with the eyecandy. Just two quick screenshots of the valley map I’m working on. Still very much incomplete with no scenery objects, foliage or buildings yet. Note these are taken in a 640x480 window and I haven’t got the UI resiszing yet - it doesn’t look so clunky at normal resolutions!

Looks pretty sharp there m8 :smiley:

do we get to check out a video or demo soon  :wink:

(is that the FPS in the top left corner?)

That looks so much fun! Awesome work there Alric. Your models and texturing look well done.


The number in the top left is score. It's a bit of an afterthought really and so low in the pics cos I was too busy taking screenies to shoot anything  :stuck_out_tongue:

I did originally plan to put a demo up but there's quite a bit left to do as it turns out.

I'll try to post a vid tomorrow though  }:-@

nice  XD


Very nice!  At first look it reminds me of a closer-to-the-action version of Missle Command, but there appears to be more going on.  Please describe the gameplay/rules (of engagement ;) when you get a chance.  I would very much like to play this once you get a distribution together!

haha good call ashtonv. That's actually more or less exactly how I originally envisioned it.

From when I started playing with JME I had developed a few classes for stuff like lasers, projectiles etc. and at some point I figured, got half a game here why not make a full one.

I wanted to do something simple enough to be confident I would finish it, but not waste too much time so get good reuse out of the work. So I settled on something kinda like a 3D missile command - lots of action, get some good code for handling tons of projectiles, aircraft and all that. But at the same time a confined play area and simple game play to take a lot of scaling problems out.

In all honesty the gameplay isn't likely to be much fun in this one. It's more about testing what I had learned with Java/JME and getting something finished to show off the engine.

Basically you control AA turrets and your objective is to protect an evacuation rocket until it can launch.

You come under constant bombardment from missiles, plus potentially helicopters, bombers, aliens and so on.

To start with you just have a simple rapid fire gun, but you can upgrade it with things like double barrels, faster rate of fire, lasers, homing missiles and all that. There can be any number of turrets but usually four. You can control any of them and the others will be controlled by AI. Turrets can be knocked out of action but not destroyed - one of the upgrades is repair. If all are destroyed you are toothless, but you only lose if the rocket is destroyed.

I put a video with a fair bit of gameplay up:

I love it Alric! That video is awesome! The screenshots don't do it justice. You've done a great job with the sound effects and all the weapons. (In case you can't tell I'm really impressed :wink: ). Any plans for using JGN? It would be fun to have forum tournament.

I agree w/ Nymon, the pictures actually make the game look less well… awesome!

You should be very proud of this work Alric :slight_smile:

(btw what did you use for your AI?)

Love the graphics! The last 4 screenshots should be put in the jME screenshot gallery :slight_smile:

very nice work

Thanks for the comments  :smiley:

what did you use for your AI?)

Well AI is one of those things I don't know much detail about really, so I implemented the little known WAD algorithm (What would Alric Do?). Basically every controllable thing in the game presents an interface which is the only way to control it. So for example an aircraft, requires you to set the stick position and the throttle - regardless of if 'you' is the AI. From there I just tried to think how I would control <whatever> and code it. As there is clear separation I know that whatever hacked up mess I end up with would be pluggable/disposable and not impact the rest of the code.

So it's a mix of the good, the bad and the ugly. What I like about it is that it 'plays by the rules' just like the player has to, and there is no preprogrammed pathing or any of that. Some parts are quite clean, some I am happy with the function but they need a lot of cleanup and some are downright shocking.

Any plans for using JGN?

I do plan to play with JGN and actually I'm really looking forward to doing. But probably not with this project.
There were a few objectives I set when I started it and that would violate one of them  }:-@ (no libraries used except JME core and my own work). My original plan was to get this to a release state, and be done with it, move on to something else. But I'm thinking now that I might do another version which adds in some of JME's bells and whistles (really haven't used much other than particles), and some of the capabilities you don't really get to explore in this, such as being able to fly the aircraft.

So maybe I'll see if a small networked demo is possible at that stage - I did think it would be funny to have some sort of 'assault on test island', as much as people love that demo  }:-@

What did you use to record your video?

that game looks great and a whole load of fun…

well done…

I recorded the video with FRAPS then combined and compressed it with Ulead video studio (think I got it free with a camera). I also took the screenshots with FRAPS.

awesome video!

Looks great.  Nice job… kind of reminds me of missile command a little (which is good, in my opinion. hehe)