Exodus Defence - demo and source code

Nice Work  :smiley:

Nice work, but the heli control is kinda buggy

And I don't know how to upgrade the cannons

(Kinda hard to shot down the space ships^^)

Thanks, if you can let me know of any bugs you come across I will try to fix them.



Currently the helicopters do struggle if your framerate is very low. It's because there's a pilot-assist system that keeps you level (otherwise elevation+turn would make you roll). It doesn't work well at very low FPS. I'll probably look at putting controls and AI in a different thread.



I added a mission objectives panel (still kinda basic) to remind what you have to do. I am also adding a couple of tutorial missions as I know it's kinda confusing and lacking instructions.



Right now I want to iron out as many bugs and incompatabilities as possible, fix up missing menu options, and get it to where people can grasp the controls quite quick. Then I will look at adding some decent missions.



Open to feedback and suggestions  :smiley:

Very nice game! I really like to play it. Is there a chance to see the sourcecode?



Maybe one thing that to change: If the "rays" of the bullets were fatter it would be easier to see if you hit the enemy.

It's probable that I will release the source code at some point, but not imminently.



Right now I do restructure the code quite often, as it has moved from the initial simple demo to quite a complex engine, and in the future I want the possibility of an online version.


I have put a new version up with some new features in response to feedback, notably 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 all feedback.



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.

attempting to launch this on mac 0S 10.5.7 java version "1.6.0_07" gets the following exception;



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:1332)
   at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1270)
   at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1117)
   at com.sun.javaws.Launcher.run(Launcher.java:105)
   at java.lang.Thread.run(Thread.java:637)
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

That's strange, I have tested it on 10.5.6 with no problems.

I will update and look in to that.

I managed to reproduce the error, by raising the 64 bit 1.6 JRE to first option in Java preferences.

This will cause a problem as the app uses 32bit LWJGL.

I don't have an equivalent 64bit build, so I'll have to try and come up with another solution.

Wow,… marvelous work! Actually watching the videos was very cool but playing is really cool! I trapped in to an error but didn't have the java-console open. I will test it after work again and give you a report. Nevertheless again: Very good work. Exodus Defence increased my motivation to fulfill my project even more…thx



EDIT: I tried the game again and there were no crushes! (Ok,…actually there were many helicopter-crashs :smiley: )

Thanks positive comments increase my motivation too  :smiley:

Put a new version up, once again probably need to delete the old one from cache  :expressionless:

It is a fairly minor update, just trying to polish up the UI.



I have also created a simple Exodus Defence website, so that I can put proper instructions there and hopefully get an applet version going at some point. Or maybe I just wanted to mess around with CSS for a bit  :roll:



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.



Really don't have time to playtest right now, sorry, but here's what I gathered from that video:


  • Would be sweet to have a simple visual representation of how badly damaged each turret is; much like in Starcraft.
  • Are you planning to actually add voice acting for the calls? If not, it would sound much better if you could at least add some kind of muffled babbling. Ever played GTA 1/2?
  • When that rocket took off it was kind of a weird moment when you're just looking at it slowly making it's way up there. I think it would feel more rewarding if the rocket produced more smoke and particles, possibly also shaking the screen up something fierce. Looking back at my voice comment, it'd also be nice if their incoming message became extra scrambled when talking simultaneously with the launch.
  • I don't like the machine-gun's sound too much. It should be rougher (player should realize these are HEAVY rounds we're firing) and it would also be very rewarding to hear a sound of penetrating metal with every successful hit.
  • When the turret you're using gets hit with a rocket, that should cause some terrible shaking, maybe with the addition of some classic red is the sides of the screen, or some more inventive equivalent of that.
  • Despite the fact that the transition from one turret to another is quite smooth, it might be nice to have a transparent map show up to further indicate what's going on position-wise during this transition.



    All together the game looks like a lot of fun with plenty of difficulty and nice pace. Planes and rockets move convincingly and explosions look good; a very important part of this game I'd say ;D



    Job well done man!

Exodus Defence



New version up today. To celebrate I have added a new video! It is a fairly incompetent playthrough of the first level.

This update moves Exodus Defence from JME1 to the latest JME2 version.

Most notably you can now play the game in an applet. Added to that there are quite a lot of compatibility improvements.



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.

Nice work.

Can I get the source code? It's really a good example for the beginners, like me, to learn jME.

Thanks. Again I do intend to release the source code, when it gets to a certain stage. Bear in mind it's a ton of code.

I'm not working on Exodus Defence right now but when I get back to it, I will think about that.

awesome!



you've done a good work, man!

Rather than leaving it, I went ahead and did the necessary work.



Full Exodus Defence source code is now on google code:

http://code.google.com/p/edefence/



I hope it is helpful to the community.

:o you made a well refined, entertaining yet simple game, and you released it free in every sense for javamonkeys and the general public alike to have fun and learn valuable lessons from it.



Very helpful!



I can imagine some really nice tutorials being based on this game. The flagrush tutorials have received a lot of praise, so it's clear the community would love to see more tuts like that.

Are there any new versions planned? :slight_smile: