I never played the original game but this version looks great.
This project looks really cool. If memory serves me correctly, something doesn’t look right about the lightning coming out your tesla coils when compared to the original game. Your lightning seem to have a straight/diagonal movement look while the original game had more random and natural looking lightning. Anyway really nice work.
I thought the exact same thing, but I wasnt sure.
Coincidentally I coded a lightning effect like a month ago:
j7DX4Eyrh-Y
Wow, thats lightnings looks very natural. What approach do you used?
Keep up the good work, it looks really cool ;D
Maybe he could use another set of artworks under free/open license. He could adapt the sprites used in Bos Wars or the ones of a mod closer to Red Alert 1.
I can’t find the page but it was a very old page showing this concept in a java or javascript thingy to try out.
Here is the source code, might not be completely bug free though:
http://www.java-gaming.org/?action=pastebin&id=1025
You may use or copy everything you see there, feel free to ask questions.

I can’t find the page but it was a very old page showing this concept in a java or javascript thingy to try out.
Here is the source code, might not be completely bug free though:
http://www.java-gaming.org/?action=pastebin&id=1025
You may use or copy everything you see there, feel free to ask questions.
Thank you! Very useful code snippet and very easy to figure out how to use it.
So here it is (thickness: 1px, displace: 1f, detail: 1f, numberOfBolts: 3):
http://zippy.gfycat.com/BreakableLastingIraniangroundjay.gif
I always think good code is simple, less lines, easy to use / read and understand
because 2 weeks later I dont even know what I wrote.
however this code of course wasnt made for third parties, with some of it having hardcoded values and colors…
Hi
Really like the look of the game, I remember playing this back in the day and your remake looks awesome and faithful to the looks of the original.
Unfortunately I can’t seem to get the game to start on my machine, maybe you can help. I have Ubuntu 14.04, OpenJDK with Hotspot JIT. I’ve followed some guides using:
cd /dev/input/
Then:
sudo chmod o+r /dev/input/event*
Which I wasn’t really sure I should need to do. After this the Linux plugin finds controllers but it seems your game still cannot use them. I’m guessing the other errors that follow are because you want to render a cursor as in your GIFs but can’t as there is no mouse input?
Please see attached log. ???
Tue Jul 15 23:04:10 BST 2014 INFO:Initialising sounds..
Tue Jul 15 23:04:10 BST 2014 INFO:- Sound works
Tue Jul 15 23:04:10 BST 2014 INFO:- 64 OpenAL source available
Tue Jul 15 23:04:10 BST 2014 INFO:- Sounds source generated
Tue Jul 15 23:04:10 BST 2014 INFO:Slick Build #237
Tue Jul 15 23:04:10 BST 2014 INFO:LWJGL Version: 2.9.1
Tue Jul 15 23:04:10 BST 2014 INFO:OriginalDisplayMode: 1920 x 1080 x 24 @60Hz
Tue Jul 15 23:04:10 BST 2014 INFO:TargetDisplayMode: 1200 x 700 x 0 @0Hz
Tue Jul 15 23:04:10 BST 2014 INFO:Starting display 1200x700
Tue Jul 15 23:04:10 BST 2014 INFO:Use Java PNG Loader = true
Loading: net.java.games.input.LinuxEnvironmentPlugin
Linux plugin claims to have found 10 controllers
Tue Jul 15 23:04:10 BST 2014 INFO:Found 0 controllers
Tue Jul 15 23:04:10 BST 2014 ERROR:null
java.lang.NullPointerException
at cr0s.javara.render.Sequence.render(Sequence.java:76)
at cr0s.javara.ui.cursor.CursorManager.drawCursor(CursorManager.java:132)
at cr0s.javara.main.StateMainMenu.render(StateMainMenu.java:318)
at org.newdawn.slick.state.StateBasedGame.render(StateBasedGame.java:199)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:688)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at cr0s.javara.main.Main.main(Main.java:89)
Tue Jul 15 23:04:10 BST 2014 ERROR:Game.render() failure - check the game code.
org.newdawn.slick.SlickException: Game.render() failure - check the game code.
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:691)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at cr0s.javara.main.Main.main(Main.java:89)

According to a Stack Trace I only can say, for some reason there is no cursor texture was loaded into Sequence. I think there is some another exceptions with access to game asset files.
Can you tell me, how do you launch JavaRA? Are you build it manually from repository or use a test release (which sort of outdated btw)?
It’s the old release, I’ve now cloned your repository and I’m trying to build it. I get stuck as I only use Eclipse for leJOS, usually use NetBeans, and I can’t workout how to build it to a JAR… sorry this probably isn’t very helpful.
I get similar errors from Eclipse if I try to run but I don’t know if it should work this way?
I love it! I when i was younger i played Red Alert 2 a lot, this reminds me of the fun i had!

It’s the old release, I’ve now cloned your repository and I’m trying to build it. I get stuck as I only use Eclipse for leJOS, usually use NetBeans, and I can’t workout how to build it to a JAR… sorry this probably isn’t very helpful.
I get similar errors from Eclipse if I try to run but I don’t know if it should work this way?
I just created a new release: https://github.com/Cr0s/JavaRA/releases/tag/1.0.3a
Try it. Hope it helps.

I just created a new release: https://github.com/Cr0s/JavaRA/releases/tag/1.0.3a
Try it. Hope it helps.
I got both your new and old release going. It seems to be a capitalisation issue:
java.io.FileNotFoundException: /home/danieldean/javara/assets/scores.mix (No such file or directory)
Is the error that first pops up, there are more like it. What stands out to me is that the path should be:
/home/danieldean/JavaRA/assets/scores.mix (No such file or directory)
I think I’m right to say Windows isn’t case sensitive but Linux is. If I rename the directory from ‘JavaRA’ to ‘javara’ it works.
Thanks for doing the new release.
I see you made a change a few hours ago, it seems like it was to solve this but it doesn’t. I think you also have:
--randomAccessFile = new RandomAccessFile(f.toString().toLowerCase(), "r");
++randomAccessFile = new RandomAccessFile(f.toString(), "r");
In ‘cr0s.javara.resources.ResourceManager’ at line 113 to fix:
java.io.FileNotFoundException: /home/danieldean/workspace/javara/assets/scores.mix (No such file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:122)
at cr0s.javara.resources.ResourceManager.loadMixes(ResourceManager.java:113)
at cr0s.javara.resources.ResourceManager.<init>(ResourceManager.java:74)
at cr0s.javara.resources.ResourceManager.getInstance(ResourceManager.java:79)
at cr0s.javara.ui.cursor.CursorManager.loadCursors(CursorManager.java:37)
at cr0s.javara.ui.cursor.CursorManager.<init>(CursorManager.java:25)
at cr0s.javara.ui.cursor.CursorManager.getInstance(CursorManager.java:30)
at cr0s.javara.main.StateMainMenu.enter(StateMainMenu.java:210)
at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:175)
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:393)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:317)
at cr0s.javara.main.Main.main(Main.java:92)
And also:
--try (RandomAccessFile randomAccessFile = new RandomAccessFile(Paths.get(PAL_FOLDER + name).toString().toLowerCase(), "r")) {
++try (RandomAccessFile randomAccessFile = new RandomAccessFile(Paths.get(PAL_FOLDER + name.toLowerCase()).toString(), "r")) {
To fix ‘cr0s.javara.resources.ResourceManager’ at line 285:
java.io.FileNotFoundException: /home/danieldean/workspace/javara/assets/pal/temperat.pal (No such file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:122)
at cr0s.javara.resources.ResourceManager.getPaletteByName(ResourceManager.java:285)
at cr0s.javara.resources.ShpTexture.remapShpFrame(ShpTexture.java:67)
at cr0s.javara.resources.ShpTexture.getAsImage(ShpTexture.java:58)
at cr0s.javara.render.Sequence.render(Sequence.java:85)
at cr0s.javara.ui.cursor.CursorManager.drawCursor(CursorManager.java:132)
at cr0s.javara.main.StateMainMenu.render(StateMainMenu.java:319)
at org.newdawn.slick.state.StateBasedGame.render(StateBasedGame.java:199)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:688)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
Hopefully this doesn’t break any other OS. After this the my modified clone works. ;D I’m not sure how I’d ‘merge’ the changes or whatever if you’d want to do that but let me know if you do.

Hopefully this doesn’t break any other OS. After this the my modified clone works. ;D I’m not sure how I’d ‘merge’ the changes or whatever if you’d want to do that but let me know if you do.
Thank you for this report, I pushed a fix and hope it will work on Linux now.
It works nicely. ;D I’ve been enjoying getting destroyed by the AI…
Hi
I’ve been playing this some more, still not been able to beat the AI though. One thing I found annoying was that I couldn’t tell what was what in the sidebar so I added some tool-tips, I notice you have that as an enhancement. Maybe you want to take a look and see if it’s what you’re after:
I’ve added a singleton for the tool-tip, a method to sidebar page to get a button given its coordinates and a bit to your update logic. I couldn’t workout if your start page has descriptions for the buttons so couldn’t make the tool-tips work for that. If it’s okay I’ll fork, spread the changes over a few commits and tidy it then create a pull request?
I’ve not used Slick2D before but I think I may have to try it next, seems a good next step.

I’ve added a singleton for the tool-tip, a method to sidebar page to get a button given its coordinates and a bit to your update logic. I couldn’t workout if your start page has descriptions for the buttons so couldn’t make the tool-tips work for that. If it’s okay I’ll fork, spread the changes over a few commits and tidy it then create a pull request?
Thanks for it, but I already has implemented tooltips tonight. :3
http://kubach.tk/i/290366558ba0dd2e666679bc034ec353.jpeg
If you wish to help, you may look on another issues.