Battle Arena: Euro Wars - turn based strategy/action

Hello everyone !

My first 3D project. I chose libgdx for it due to previous experience, but I must say it wasn’t the best choice. Libgdx lacks many 3D solutions. I had to write many own tools and libs for importing models, pathfinding, navmesh etc. The biggest issue was the lack of a proper tool for shaders. With the benefit of hindsight I think I should have chosen JMonkey for the project. Anyway I managed to put everything together and release it. I took me about 6 months to make it.

The game is available only on Steam platform. I ship the game along with the jre. It isn’t a problem except for the exe file which runs the jar. It was flagged by some antivirus softwares (below 5%). I don’t find it an issue but everyone should take it into consideration when packaging the game along with the jre.

Libs

The game is a pure libgdx project except for two libs StraightEdge for pathfinding and Steamworks4j for Steam’s achievements. The latter took me about a week to implement. Both libs lack proper documentation though. Implementation of these libs relies mainly on using the trial and error method.

Game

The game is a turn-based-click-to-move strategy. 3 levels. 14 characters. Initially it was an online multiplier game, but it turned out to be too problematic. Not from a technological point of view, but with finding proper amount of players willing to play at the same time. I ended up with bots which works quite nice.

Tools

I developed the game in Eclipse which seems quite natural for libgdx. I also used Blender and MakeHuman for characters. The game consist of 3 levels made in Blender and imported via fbx and g3db using a python script. It’s a nice solution which works better than what JMonkeys offers.

If you have any questions regarding the game or releasing to Steam I will be happy to answer.

Download

Check out the game on Steam and please follow me on twitter for news, updates, re-tweets, pics, info & more on my new projects.

Steam

Twitter

Screenshots

Seems not bad. Would be good to get hello 3D tutorial. Jmonkey is somehow complicated and unfinished.

It isn’t bad. but I squeezzed like 110% out of libgdx 3d capabilities. The problem is a effect/time ratio. Once I spent a week doing something in libgdx where Jmonkey had already a simple method. The consensus should be - Libgdx for 2D and JMonkey for 3D. And yes, in general, libgdx is much simplier than JMonkey.

Nice job, the graphics look good. I was able to play it on my old Nvidia Geforce 630M windows 10 laptop.
Is there a way to make the camera tail the player? Sometimes buildings would block my view and I couldn’t figure out how to swivel the camera.
By the way, I’m the author of StraightEdge and am very happy to see it being used.
Cheers,
Keith

Hi Keith. You got made absolutely great lib. Fast and quite simple. It kind of saved my game as there was no alternative even within libgdx. As for the game the camera follows the player by default. You can both dettach the camera and move it freely. These options are available from the right menu - also shortcuts
SPACE - switch between the PLAYER MODE and the CAM MODE. In the PLAYER MODE click to move a player. In the CAM MODE drag the camera in any direction.
Z - change the CAMERA FOLLOW MODE. Available modes: camera on human player, camera on any active player, free(not attached) camera.

I always wondered how much effort it is to get a game ready on for Steam, and what their technical requirements are.

Does it take long to get approved on Steam, and then get the gold-master version reviewed to finally see the game in store?

Not really an effort nowadays. You pay 100$ and just fullfil technical requirements - which are… well… a working game. Thats it. There is no greenlighting anymore. Only dirty money. As for the time - you create Steam’s page which takes 2-3 hours, wait for an approval which takes 1-2 days. Next you upload binaries and wait for an approval again, so next 2-3 days. Also there is a 14 days cool-down period after creation of the gamepage. You cannot release before.