JWars Warfare Simulation

JWars is an acronym for JWars Warfare Simulation.

It is a 2D top-down realtime strategy game (technically just a tactical one). I hereby invite everyone to try it out, and I would like any opinions. Regarding gameplay the game has not yet been balanced. The innovative point here lies in organizing the units in a military hierarchy instead of a flat structure which other games use.

Here’s an executable .jar.
http://www.student.dtu.dk/~s021864/jwars/jwars.jar

Instructions:

  • Left click or use the panels to select units or formations (don’t drag boxes, that’s so 1996 :))
  • Use backspace or mouse-scroll-up to select the next higher military formation
  • Right click to order units to move somewhere.
  • Use arrow keys to scroll
  • Use command line parameters (java -jar jwars.jar -h) to achieve meaningful gameplay
    (example: java -jar jwars.jar -ofm name=Zhukov). Note that OGL pipeline shortcut o must be the first of the single-letter parameters (I’ll get around to fixing this)

Known issues (or things which I haven’t yet had time to fix):

  • You can control the enemy!! This, however, is because I like doing so for debugging
  • Things still shoot at each other when opponents are no longer visible if they are in range
  • Terrain means nothing to movement or hiding
  • Proper pathfinding
  • Webstart :slight_smile:
  • You can create exceptions by getting units to move or fire off the map
  • Mouse scrolling like in all other RTS games
  • Formation movement is deficient since units move at their max speeds.
  • This list is incomplete

Screenshot:
http://www.student.dtu.dk/~s021864/jwars/jwscreen.jpg

Worked well here on the uni computers even with direct draw disabled - 33 FPS.

Nice path-finding, and i like the JTree idea of units that you control.

Some things you could add:
It would be cool to have box-selection of units & scrolling movement when the mouse is near the side of the map, like a normal RTS, it would seem more natural & intuitive. I can’t stand having to move the view using the mini-map.
A game speed option. Right now it takes too long for the units to walk across the map.
Set a cooler swing look and feel than just plain old metal. Maybe a khaki metal theme or perhaps Substance :wink:

Nice work.

Thanks for the reply, and pretty quickly too.

Try the -n or -m parameters to use native or motif L&F. Motif looks tank-armour-ish and is well suited for a WWII game. The pathfinding is - well - a simple hack, actually. It easily gets into more trouble than it can handle.

I’ll update the list of issues (mouse scroll) and add a screenshot.

I know the map is a bit too large for comfortable “quick” testing. The units should of course be dispersed properly on the map so it creates a real front line. The lack of box-drag-selection serves to encourage using the hierarchical structure. Maybe I should add it anyway… the hierarchical structure is meant to provide decent possibility of task automatization and interaction between units in terms of AI, and this is done to reduce the necessary number of mouse-clicks and encourage tactical thinking. The slow gameplay (though perhaps too slow) is also meant to encourage tactics while making mouse click speed less important.

One thing about group movements. Part of the reason for group movements is to have one part of a group protect another or just having a combined strength. When you have a group with mixed movement speeds, the whole group should move at the speed of the slowest member. When I moved a batallion as a group, the tanks just took off leaving the ground troops behind.

Thanks for the reply, CaptainJester. I am also flattered that so large a proportion of the forum members whose names contain military titles take the time to respond.

I can reveal that when a formation receives a move order, the order is passed on to the formation AI which interprets it freely. Right now this AI is hardly an actual AI, but the architecture allows substitution of AIs such that a battalion can easily be set to interpret the order differently. For example reducing it to waypoints and waiting for its sub-units to return messages that their orders are completed, or having them move with equal speed. This is lots of work though and will take some time.