Conquer - LWJGL Turnbased Strategy

Guess what, although I haven’t been popping up with new Rimscape updates, I HAVE been coding! Since Rimscape needs a whole new fancy GUI system, I figured it the best way to make it would be to get it just perfectly how I want it with a very simple game, and then use the system I built to toss into Rimscape without having to fiddle with all the little things in the midst of its giant code.

So, as a result, my artist got excited and went all out with new art, and now I have a new game! This is done totally with LWJGL, which is a first for me. Hopefully within a month or two I’ll have a good buddy of mine implementing some client/server code so people can actually play this online. Until then, check it out!

Play Conquer!
If you’re not sure of what to do, click on one of the ? icons in the window of your interest and a message box will tell you what’s up. The basic concept of the game is to send ships from planets you own to planets you don’t own in an effort to takeover the galaxy.

It’s my clone of a game that comes with Fedora called Konquest. However, it lacked many features that I REALLY wanted, so I figured I’d better make my own :wink: Let me know what you guys think!

Excellent - nice and quick game. Lost though :frowning:
Gui looking nice!

I’ll test it a bit more, just need to fix my bike right now

cool gui! just trying to figure out how to play!

Nice gui and fun to play. Good work :slight_smile:

Very cool indeed :slight_smile:

not impressed. VM crashes on startup every time I try to run it (linux)

EDIT: i.e. the java console window appears and then disappears isntantly, with the JVM exiting.

cool interface, but … I have no idea what I’m doing lol ;D. Isn’t quite as animated as Rimscape :-X Good start though

@ blah: not sure what to think of that. It’s just LWJGL :slight_smile: Works on every linux machine I’ve tested on.

@ woogley: yeah it’s not an action game :slight_smile: If you’re not sure what you’re doing, try clicking the ? icons for help.

Blah, I found some silly code that wasn’t printing exceptions when thrown :slight_smile: Could you try again please? Thanks!

I added a Directions button in the main menu to help you guys get started.

Nice game, fun to play.

I don’t like the GUI, though: The font is hard to read, and there is a lot of visual noise (e.g. the thick bevelled borders). My benchmark for scifi-themed GUIs is this question: Would an advanced civilization in the year 3535 come up with something like this, after they had 1.5 millenia to optimize GUIs? Thus, clean, slim interfaces are usually much more appealing and convincing.

Also, the ‘minimize’ / ‘maximize’ buttons of the ‘windows’ do not work. In fact, my impression is that the whole window metaphor does not work very well with games, and I would simply set up fixed panels.

The biggest space for improvement, IMHO, is the movement of ships: I would try to avoid the switching between mouse and keyboard. For example, it could work like this: Player clicks on a planet and a slider bar pops up. The bar indicates a range of [0-number of ships on planet]. The player then drags the mouse across the bar to select how many ships to move. The number of ships is then shown next to the mouse pointer, and the player simply clicks on the target planet.

On a related note, I would indicate the number of ships next to each planet, since this information is available to the player anyway. As an additional tactical challenge, you could add a ‘fog of war’ where the number of ships on planets is given as a range (e.g. 50-60 ships), with the size of the range depending on how distant a planet is to the next friendly planet.

Hope I didn’t sound too critical - I really like the game as it is, but I think the GUI could be much more user-friendly…

Good comments! I’ll send along your comment to my artist to see if he can make improvements :slight_smile:

Yeah, minimize/maximize is the latest thing I’m working on. This game isn’t even available on my site since it’s still under so much development. It was just finally at a playable state so I decided to share ;D However those features will come very soon!

I agree that this game might actually look nicer with fixed windows, but like I said, Rimscape has real need for the system, and since this is a simple game, I now have a test toy to build the GUI system on. I think once there are more windows to manage it’ll be more useful. Some of the ones you don’t want to ever leave… yeah… I can see how you’d want them fixed, but popup windows and the main menu window you definitely want mobile.

As for the scrollbar for ship movement, I’ll definitely add that! Although when my friends and I play this and the original, it’s done with one hand on the mouse and one hand on the numpad for fastest playing. However I can see how it’d be nice to have the scrollbar, and thanks to my new fancy GUI system it’ll be dead easy to do, so I’ll do it :wink: Thanks!

Not sure what I think of your last suggestions… If this advanced civilization needs to optimize pixel space on their screens with streamlined GUI’s, I doubt they would have reached that point while doing battle with others with horribly innacurate communication between planets :slight_smile:

I have an idea that I think’ll work for your ship-number-on-planets idea :slight_smile: I’ll let you know when I’ve added that.

Thanks again!

Tried it again on OS X and I just got some blank screen with some graphics on, pictures of pixellated red and green ships.

…looks cool… but… is there a way to find out what am I expected to do? :slight_smile:

@blah: weird! I try on my OSX Powerbook here with no flaws. Could you get a screenshot up? Like I said, it’s just LWJGL, nothing more fancy than the most basic of window setups.

Matlu, you can click on the Directions button in the Main Menu that appears as soon as the game starts. That’ll tell you what to do to start. If you have questions about any of the windows you see, there’s a ? button at the top right corner of each one. Click that to get more info on it.

Could those of you with Mac and Linux machines give Conquer another try? Things should be better now, and I’d like you to try the DisplayMode switching. Plug in a resolution, fullscreen/window toggle, then click the checkbox just beneath those options (sorry I don’t have a real button for that yet). I’m trying to get things sorted out right in that department. I’ve seen it work fine on Windows and Mac, now I just need help testing to get all the kinks ironed out :slight_smile: Thanks!

Linux 2.6.10 kernel, Xorg, Gnome, jdk 1.5.0_02, Nvidia geforce 5650 go in a Dell inspiron 8600.

Worked fine at a couple of resolutions :slight_smile:

Wasted some time I needed for other things :stuck_out_tongue_winking_eye:

Endolf

you are indeed a horrible person, releasing such an addictive game before my exams ;D

very nice game, but very hard to beat more that 2 computers at once!

great to hear ;D

I hope I can continue to gain enemies in the future with more updates! Muhahaha!!

By the way, were any of those resolutions in fullscreen exclusive mode? I still have one person reporting that they can’t get fullscreen modes working on Linux. I dunno if I’ve fixed it now or not. I know it works for some on Linux.

Well the game has gotten continuous updates almost every day since I last posted, so I figure I should add another post encouraging you guys to check it out again :slight_smile: Also, Conquer is now listed on GameLizard. Check it out on the main page :slight_smile:

http://www.gamelizard.com/

every frame rendered, results in:

java.lang.NullPointerException
      at conquer.images.Media$QueueEntry.access$0(Media.java:306)
      at conquer.images.Media$PlanetImageLoader.setNextImage(Media.java:347)
      at conquer.images.Media.run(Media.java:300)
      at conquer.Conquer.run(Conquer.java:750)
      at conquer.LWJGLRunner.runGame(LWJGLRunner.java:374)
      at conquer.LWJGLRunner.main(LWJGLRunner.java:54)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
      at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
      at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
      at conquer.images.Media$QueueEntry.access$0(Media.java:306)
      at conquer.images.Media$PlanetImageLoader.setNextImage(Media.java:347)
      at conquer.images.Media.run(Media.java:300)
      at conquer.Conquer.run(Conquer.java:750)
      at conquer.LWJGLRunner.runGame(LWJGLRunner.java:374)
      at conquer.LWJGLRunner.main(LWJGLRunner.java:54)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
      at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
      at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)