A little game inspired by an old time C64 classic.The oldest source code dates back to 2004, but only during the last months it's been heavily under development.There are also distant roots planted in ancient ages on the Amiga, when I was unsuccessfully struggling with Assembler and graphic chip programming.

During development, generic game independent parts were extracted to foundate a framework. But the clear focus was not to build another infamous game engine, but a game.The relation is now roughly 40% game and 60% framework, roughly 58.000 LoC. Does it look like that ? Well...

Open issues:- Multiplayer (oh dear )- Game balancing- Fullscreen mode- Playing custom maps created with Tiled

Tested on Windows 7, XP and Linux.Windows XP is not recommended because of unreliable timers.On Mac, there is currently a LWJGL-issue, should run with the (unpolished) Java2D fallback, though.Linux freaks must bring their own JRE 7 so far, because packaging with Ant does not preserve file permission flags.

Ok the game started. I quickly posted that last response, while doing so I died, and now I can't get it to start again. I admit I don't do a lot of gaming other then retro stuff or flash games, but this seems pretty complicated to make it start. I'm not creating a new game, and hitting save and it's not starting this time.

To start a game, you hit new, save and run. If nothing happens then, its a bug...This procedure originates from the multiplayer mode.

The lobby is all Swing, the game is OpenGL with self-made UI buttons, except the level change screen which uses LibGdx buttons.When I started, I used only Java2D and Swing and now I really don't have the time to re-implement it (multiplayer mode is driving me mad). Swing aint that bad basically, only sometimes like today when simple things like scrolling a text pane to the beginning just doesn't work...Switching between the Swing Lobby and the OpenGL based game works like a charm.

Different keymaps are indeed already implemented and shipped (see user-inputmap.properties) but the options editor is not finished to actually enable them. (Anybody knows a nice property editor component for Swing for various data types, default values and validation ?)

It looks and sounds really great. Totally professional. I'm assuming you are a professional programmer.

But I can't last more then 30 seconds without dying. And the fact that it's such a pain to start a new game, makes me not want to. I'll probably stick with it, but that's because you're on this forum. If this was a game on the web I would have moved on by now.

Starting a new game is annoying. After all, i want to play a game not to setup a server. There should be a kind of short cut button to start a single player game IMHO. Game play wise, i don't get how to take over other bionics. I can stun them with the blue bullet...and then...what? I've no idea...

I tried it, the graphics and sounds are really good. But like the others, it took me ages to figure out how to start a server. Then for the gameplay, I played about 10 times, and never last more than 20 seconds In fact like EgonOlsen, I don't understand what I have to do The physics applied to the drone ( what is it exactly ? ) is also a bit strange like when you go to the left, gain full speed and then go to the right, there's no more inertia so it's a bit confusing and difficult to handle.

I think there's not much to do to improve it, maybe you should add more details about how to play in the text displayed in intro. And also review/simplify the UI to login / create a server. Otherwise I say it again I love the graphics !

Starting a gameAlright, I think for the offline mode that can be simplified to one button.

Game balanceYep, it's too hard. Question is, what to change. There are many parameters, like actor and bullet power, basic aggression, impact of battles on aggression, values of the different actor classes (-> colors), costs of capturing better Bionics.Then, it shouldn't be to easy to just grab a better Bionic and walk through the game.Do levels have the right size ? What should the power bonus be for successful camouflage ? What about relations between Bionic and bullet power ?All this really gives me a headache.

Game playThere are basically three ways to go:1. Shoot and kill (left mouse)

2. Camouflage as better Bionic (gives power & score bonus if you succeed). This has an impact on hostile Bionics. Use the colored button bar. If hit, you are disguised and lose power (the stake). Originally was an idea for the multiplayer mode. Came to my mind when playing a Poker game.

3. Take over other Bionics to improve bullet power, maximum power and constantly scare off enemies. Shoot a blue energy ball (right mouse), quickly approach the paralyzed Bionic (you hear its heart beat then) and press the assimilation button. Only possible if you have enough power and are quick (currently only 3 seconds).

Messing with stronger Bionics and with groups is currently a sure way to die. Maybe on each level there should only be one class/color so you can slowly improve.

The button legend is under the help tab. Maybe it should be selected on the first game start. Not knowing what to do is clearly the worst.

Scrolling text paneNow it works, after I found the correct place to do it with a fresh mind...

PhysicsThere is a primitive velocity/acceleration handler doing its work. Maybe its easy to handle direct heading changes with it as well.

The main thing that would make it easier would be if the player new what they were supposed to do. It might not be too hard if I knew what I was supposed to do. Your instruction page is stylish as if it's not game instructions but real life, but that just makes it confusing. I think you need to dumb it down. I would prefer instructions that told me exactly what to do.

It's hard to say what you can do to make the game easier without really understanding it. But there are a lot of robots firing me at the beginning, can't there just be one? What about an in game tutorial at the start? Because even the instructions in the message above can get a bit hard going to get through. I don't think there is anything wrong with having a really stupidly easy level at the beginning either.

I'll definitely be back to try it again when you updated it though, it looks like it could be really good. I think from my own game and seeing others on the showcase it can be quite easy to make your game too hard.

Yep, this is the basic the command to run the game:java -client -Xms256m -Xmx256m -XX:+UseG1GC -Djava.library.path=client/lib -jar client/dem-client.jar

The optimize-scripts use the server VM instead of client. But the above line should do it.Should there a day come when the game is finished, the JRE paths are hardcoded to prevent trouble from different Java versions and path problems, so everything will be bundled.

The source code is not open source.Maybe that will change some day, but it would require a good amount of work for the documentation beyond JavaDoc and it is questionable if there is enough interest to make it worth it.But I have been thinking already to extract and publish dedicated modules.If I find time to do it. Right now I am fighting Ant, Linux, Apache and HTTP...

Here comes a fun update.Particles !Though clueless when it comes to OpenGL, with LibGDX and its particle editor I could easily set up particles for explosions and other visual effects.Also good to keep up the overall motivation to do some nice stuff in between. Evil multiplayer classes are still waiting to get me

Yep, this is the basic the command to run the game:java -client -Xms256m -Xmx256m -XX:+UseG1GC -Djava.library.path=client/lib -jar client/dem-client.jar

The optimize-scripts use the server VM instead of client. But the above line should do it.Should there a day come when the game is finished, the JRE paths are hardcoded to prevent trouble from different Java versions and path problems, so everything will be bundled.

Interesting, why G1 ?

“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson

Yep, this is the basic the command to run the game:java -client -Xms256m -Xmx256m -XX:+UseG1GC -Djava.library.path=client/lib -jar client/dem-client.jar

The optimize-scripts use the server VM instead of client. But the above line should do it.Should there a day come when the game is finished, the JRE paths are hardcoded to prevent trouble from different Java versions and path problems, so everything will be bundled.

Interesting, why G1 ?

Pretty sure G1 is actually enabled by default in Java 7. For good reasons I suppose.

This was just experimental, with the newest garbage collector type, which is as far as I remember, a specialist for guaranteeing short pauses. But its been some months since I looked deeper into that topic, so that is no general recommendation.

Pretty sure G1 is actually enabled by default in Java 7. For good reasons I suppose.

No, it's just "fully supported". The old one is still default.

My question was because, firstly, it was explicitly defined. I thought that maybe some extencive profiling was done to warrant this. Secondly, by my own knowledge and testing, G1 is more for heavy lifting, server side gc. While having more predictability and generally being "better", my own profiling has shown some disappointing numbers for my lil things.

This was just experimental, with the newest garbage collector type, which is as far as I remember, a specialist for guaranteeing short pauses. But its been some months since I looked deeper into that topic, so that is no general recommendation.

This anwered my question though

“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson

I had some profiling sessions, but stopped it because it is very time consuming and hard to draw the right conclusions for JVM tweaking.The only clear result was to not use the server VM as default because it's aggressive optimizing is too CPU consuming for weak (single core) machines. The game showed bad stuttering. So there is only an optional "optimized server VM launcher".

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org