Exodus Defence

Website
Play Demo (JNLP)
Play Demo (Applet)

http://calefay.com/exodusdefence/screenshots/ed4.jpg

Exodus Defence is a jME based game I have been working on. It is a misison based shooter where you attempt to protect evacuation rockets, and delay an enemy onslaught.

It is currently very lacking in content (the current missions are very simple) and needs optimisation. But it is (hopefully!) playable.
I’d like to iron out as many glitches as possible, so any and all feedback is appreciated.

I think you are on to something with this…

Music/sound/graphics all on the right track.

I got a little confused on the gameplay (what is the red box on the planes as they go by? Is that some kind of lock-on?). I shot the jets many many times but saw no damage or anything.

I really didn’t know what I was doing…but it kept my interest for more than the obligatory 2 minutes.

Nice work thus far.

Thanks for trying it.

Yes the red boxes are a lockon indicator, for missiles. If you have used the missile upgrade (you get a free one at the start) then right mouse or ctrl will fire a missile, which will follow the target if you had a lock.

I will try to add in a better explanation at the start of what’s going on.

Also I should mention that from the game menu, you can change the level in order to try out the other missions without completing them in order.

Yeah…I tried the island one with the helicopters…nice water effects and what not.

How come you can’t switch choppers like with the turrets on the first level?

It’s just the way the level is set up. Perhaps I should change that since the valley level is already a solo chopper mission.

I have put a new version up with some new features, having taken onboard the feedback I got.
Notably, there is now a tutorials section with a fairly in depth tutorial for fixed turrets. A helicopter tutorial is next on my list.

My JNLP versioning is still dodgy so you might need to delete an old version from your Java cache if you want the new one.
Again, I appreciate any feedback if you try it.

Here is the list of changes:

V1.01 Changes

  • Added mission objectives panel to HUD
  • Mission objectives now update the HUD when they progress
  • Made all helicopters on the island mission playable.
  • Improved target selection for AI turrets and aircraft.
  • Improved the narrative dialogue system - clearer text and more lines available.
  • Narrative now scrolls if several appear at once.
  • Added a tutorials option to the main menu.
  • Added a turret tutorial mission which teaches the player how to use turrets, upgrades, switch units etc.
  • Alien fighter is now a bit more vulnerable to cannon fire.
  • Tweaked the heavy gunship to be a little more cumbersome.
  • Increased the power of the scripting system:
    • New script actions.
    • Ability to run and kill scripts from other scripts.
    • Better interaction with the objectives system allowing more interactive scripts, and simple logic to be used.

I always like to see some screenshots before launching a JNLP.

;D

http://calefay.com/exodusdefence/screenshots/ed1.jpg
http://calefay.com/exodusdefence/screenshots/ed2.jpg
http://calefay.com/exodusdefence/screenshots/ed3.jpg
http://calefay.com/exodusdefence/screenshots/ed4.jpg
http://calefay.com/exodusdefence/screenshots/ed5.jpg
http://calefay.com/exodusdefence/screenshots/ed6.jpg
http://calefay.com/exodusdefence/screenshots/ed7.jpg
http://calefay.com/exodusdefence/screenshots/ed8.jpg
http://calefay.com/exodusdefence/screenshots/ed9.jpg
http://calefay.com/exodusdefence/screenshots/ed10.jpg
http://calefay.com/exodusdefence/screenshots/ed11.jpg

Haha, I’m the most annoying guy here, but imageshack.us is blocked @ work. No matter, I’ll take a look at this at home :wink:

[quote]Haha, I’m the most annoying guy here, but imageshack.us is blocked @ work. No matter, I’ll take a look at this at home
[/quote]
Nonsense! What kind of an indie developer would I be if I didn’t help people view my screenshots from work?
I have hosted them along with the game itself an updated the links… hopefully that is better ;D

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.javaws.Launcher.executeApplication(Launcher.java:1321)
at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1267)
at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1066)
at com.sun.javaws.Launcher.run(Launcher.java:116)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.opengl.Display
at com.jme.system.lwjgl.LWJGLDisplaySystem.close(LWJGLDisplaySystem.java:310)
at com.jme.app.BaseGame.quit(BaseGame.java:112)
at com.jme.app.BaseGame.start(BaseGame.java:102)
at com.calefay.exodusDefence.EDGame.main(EDGame.java:696)
… 9 more

Include LWJGL binaries for Solaris please.

Hi, sorry for missing this reply.
I don’t actually have Solaris binaries for the (rather old) version of LWJGL the game currently runs on.
IIRC they were not available when I looked, so it may be that I have to move to the latest version before I can put a Solaris compatible version up :’(

Put a new version up, once again probably need to delete the old one from cache :-
It is a fairly minor update, just trying to polish up the UI.

I’ve also put a website up, so that I can put proper instructions there and hopefully get an applet version going at some point. And show none imageshack screenshots of course :wink: Haven’t got any of those things properly done yet though…

http://www.calefay.com/

Version 1.02 changes

  • Improved the appearance of many UI elements, with neater backgrounds and clearer checkboxes.
  • Moved the mission objectives HUD element. It should now not conflict with other elements even at very low resolutions.
  • Added contrasting backgrounds to various UI containers when they are viewed during gameplay, for better readability.
  • Added option in graphics menu to turn narrative backgrounds on/off.
  • Increased the default window size to 800x600.
  • Added a new game selector. This allows you to select the scenario you start, similar to the tutorial selector.

http://calefay.com/exodusdefence/screenshots/ed12.jpg

Didn’t start in Ubuntu Linux 9.04:


java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1321)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1267)
	at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1066)
	at com.sun.javaws.Launcher.run(Launcher.java:116)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.opengl.Display
	at com.jme.system.lwjgl.LWJGLDisplaySystem.close(LWJGLDisplaySystem.java:310)
	at com.jme.app.BaseGame.quit(BaseGame.java:112)
	at com.jme.app.BaseGame.start(BaseGame.java:102)
	at com.calefay.exodusDefence.EDGame.main(EDGame.java:696)
	... 9 more

Screenshots look great though! :slight_smile:

Ouch!
My mistake, I put in a bad jnlp last night (that’ll teach me to deploy things at 4am).
I fixed it and tested on my Linux machine, so it should work now.
Thanks for pointing that out.

Fails on Windows 7 64-bit as well… (probably same issue as Solaris)

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.opengl.Display
at com.jme.system.lwjgl.LWJGLDisplaySystem.close(LWJGLDisplaySystem.java:310)
at com.jme.app.BaseGame.quit(BaseGame.java:112)
at com.jme.app.BaseGame.start(BaseGame.java:102)
at com.calefay.exodusDefence.EDGame.main(EDGame.java:696)
… 9 more

New version up today: Exodus Defence.
New video. It is a fairly incompetent playthrough of the first level.
Play it in an applet.

Moved to up-to-date JME and LWJGL versions which brought quite a few benefits.
This update is mainly an effort to make the game compatible and stable on more machines. Solaris natives are now included and I’d be grateful if anyone could test!
I’m trying to make Exodus Defence as stable and slick as possible, and I could use as much feedback as possible to help so please try it!

Here is the list of changes:
•Moved from JME1 to JME2, with a corresponding update to the LWJGL version. This made possible several of the improvements below.
•Created an applet version of the game. Exodus Defence can now be played inside a website.
•Significant performance improvements on some machines.
•Various compatibility issues resolved to make the game run well on more machines.
•Added Solaris natives to the distribution. Exodus Defence should now run out of the box on Solaris. Testing required.
•Added 64bit natives to the distribution. Exodus Defence should now run in 64bit JVMs - notably Java 6 on Mac.
•Consolidated the game, sound and graphics menus into a single settings menu. Removed some components that were not implemented.
•Sound is now disabled by default. This may improve compatibility and reduce the startup time. Sound can be enabled in settings.
•To help with testing, detailed logging can now be toggled in the settings menu. Logging is output to the Java console.
•Improved error handling - should they happen, most exceptions should be caught and recovered from with details recorded in the log.
•Improved the default crosshair and lockon graphics.

Very impressive work, the game plays much better than before and shaping up very nice.

just a note when using lwjgl applets always use

<param name="separate_jvm" value="true">

it makes a massive difference in making the applet more compatible, reliable and usable.

also leave the following line

<param name="al_prepend_host" value="false"> 

as true or commented out unless you have good reason to make it false.

Thanks kapta. Applet deployment is new to me. I’ve made those changes.

The source code is now on google code:
http://code.google.com/p/edefence