2D side scrolling shoot-em-up

Long long time ago I made a 2D side scrolling shoot-em-up with a friend of mine, but unfortunately you had to download the game to actually play it.

Recently I have had some sparetime on my hands and was able to convert it to JWS. So it should be really easy to run now. It also includes the libraries for Linux and Mac OS (next to Windows).

Link to JWS (about 20MB total download): http://www.dagvandemaker.nl/EH/EuropeanHero.jnlp

You can get an impression of the game in action by choosing “demo” from the main menu.

The controls are:
Q = shoot
W = shield
A = toggle items
S = use item

Regards,
Chris

Screenshots of game:

http://www.europeanhero.com/images/screenshots/ehpromo2.gif

http://www.europeanhero.com/images/screenshots/ehpromo11.gif

http://www.europeanhero.com/images/screenshots/ehpromo9.gif

http://www.europeanhero.com/images/screenshots/ehpromo7.gif

http://www.europeanhero.com/images/screenshots/ehpromo12.gif

http://www.europeanhero.com/images/screenshots/ehpromo6.gif

The menu shows up but the font is unreadable as its black like the background of the buttons.

http://img21.imageshack.us/img21/2705/49564515.th.png

you can see the font slightly when you hold mouse on the button.

Then it fails to work here, it looks like your missing the lwjgl natives for linux64 or using a really old version of lwjgl that doesn’t support 64bit linux.

[quote]java.lang.UnsatisfiedLinkError: /home/user/.java/deployment/cache/6.0/63/1e7eff-3cdba68a-n/liblwjgl.so: /home/user/.java/deployment/cache/6.0/63/1e7eff-3cdba68a-n/liblwjgl.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1687)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at org.lwjgl.Sys$1.run(Sys.java:72)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:65)
at org.lwjgl.Sys.loadLibrary(Sys.java:81)
at org.lwjgl.Sys.(Sys.java:98)
at org.lwjgl.openal.AL.(AL.java:59)
at com.ccorp.sound.CCALSound.(CCALSound.java:90)
at EuropeanHero.init(EuropeanHero.java:1240)
at EuropeanHero.(EuropeanHero.java:1033)
at EHStartup.run(EuropeanHero.java:25726)
at EHStartup.(EuropeanHero.java:25648)
at EuropeanHero.main(EuropeanHero.java:1022)
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:1468)
at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1414)
at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1225)
at com.sun.javaws.Launcher.run(Launcher.java:114)
at java.lang.Thread.run(Thread.java:619)

Java Web Start Error:

null

[/quote]

Ok, I’m afraid I did not include Linux 64 natives. Now I have added a JAR with the “liblwjgl64.so” and “libopenal64.so” files. That should do the trick right? I am using LWJGL 2.1.0.

As for the font, I changed the colours and the font itself. But the game itself uses Tahoma (like the startup menu), so I don’t know what the effect ingame is.

Also I can see from the image that you included that the font size is different as to what I get in Windows. How could I make the font look the same on every OS? Currently I use this: “button1.setFont(new Font (“Arial”, Font.BOLD,12))”

Thanks,
Chris

Arial is not available on Linux by default. Best way is to embed TTF font directly into your game and load it using Font.createFont method (remember to store it into some field and use deriveFont methods to get different size and styles). There are some free fonts that allow such kind of usage/distribution, like DejaVu fonts.

Thank you for your feedback. I have included the font now in the game. And use the:


InputStream is = getClass().getResourceAsStream("data/fonts/tahomabd.ttf");
Font font_type = Font.createFont(Font.TRUETYPE_FONT, is);
font_type = font_type.deriveFont(12f); 

command to get the Font from the JAR file. On windows it works, but don’t know about Linux. And is the issue of font size solved by doing this?

Still have to find a free Tahoma font though… :frowning:

hey I gave the game a try (I’m on windows so everything was fine)

Well the game is very well produced, it certainly looks (almost) professional.
But one thing you should REALLY improve is the main spaceship art … come on, just one frame ?? this is something the player will keep looking at as long as he plays the game, so it’s better to be something nice … some left/right gliding animations, maybe a light effect when shots, stuff like that . But really, you spent a lot of effort on the rest of the graphics that will probably be overlooked by the poor spaceship graphics .

Well I couldn’go much further in the game, cause I had to leave. Even though there is a “restore” option, I didn’t see exactly how to activate it and restore my game.

Apart from that issues, congratulations for the game … it is really nice . (but it can still improve 50% or so with a new spaceship looks and animation!)

Thanks for the feedback,

Guess you are right. Everybody keeps bitchin’ about the main ship. Let’s just say that after finishing the game, I did not have the strength any more to improve that :). But comments on the main ship seem to be a reoccurring theme. I’ll definitely look into it!

Ooh yeah, I disabled the save function, because with Web start the game files sometimes keep ending up on someones desktop. But you can always restart a level, and the first episode is 6 stages, so can be finished in 40 minutes or so.

.