Conquer - LWJGL Turnbased Strategy

Yes, I just tried it. Selecting destination planet if that planet is yours does not work. Pressing End to submit all to a native planet also doesn’t work.
And I’m getting better at it, I see it really depends on how much planets are around your first and the first planets of your opponents. I guess sofar I have always had them around the cpu players which really made the game a lot more difficult. Spreading these other planets out is a way of setting the difficulty methinks. Perhaps you could gradually increase the difficulty as the player progresses through them, although I think it will be a lot of work getting it right and not worth the hassle.

The flashing is quite good. I suppose it could be a little brighter, but it looks fine on my monitor.

What I was hoping, actually, was that the flash would be continuous. However, what you’ve got now is still a huge step ahead, THANKS! Dont’ know how you’re rendering this thing, maybe only once per turn, or when one of the panels are moved around?

@Warren_Head: very good thinking! That’s an especially important comment because I want to make this an online-multiplayer game and it would suck to have the game determined by an off-balance map. I’ll work on a way to determine value of initial positions to try and balance out the games, or tilt them in one’s favor if you’re looking to set difficulty.

@kul_th_las: the image is brighter now. I don’t want to have it continuously flashing because I think that’ll get a little ugly espeically when a lot happens in a turn. Instead, I’ll make it flash once when the turn completes, and once whenever you hit ctrl+d. I would use ctrl+f for “flash” but that’s already used to toggle FPS display, so d for “display” is what it’ll be for now :slight_smile: If you guys have another suggestion that you think would be better I’ll most likely take it.

I did a LOT of work to the controls so everything with the mouse and keyboard should be very intuitive now. Essentially what I did was play a lot of games and click what I thought should do things, and if it didn’t work, I fixed it in the code :slight_smile: Man I wish I could do that with all the games I play… ;D So try it now! You should be able to play the game with the keyboard pretty well. The only catch is you have to click to give the GridBoard focus.

Let me know what you think!

Hm. Now that you mention it, I think the Ctrl+D for a “flash” would be ideal.

I’m enjoying the keyboard controls now. Though I don’t use them exclusively, I find myself using both the mouse and keyboard at the same time - it feels pretty natural (well, I have been playing the game for a while now).

BTW, is there a reason that planets with names such as “B#” or “%” only display letters, and no symbols in their name? Are you planning to change this behavior?

Can’t wait for online play! Fantastic work!

All planet names should be arrangements of letters and numbers right now. For one, I want it to be easy to reach them with keyboard control. And two… do I have a two? No I think I just have that one reason :slight_smile: If you have special characters all over it’d be harder to hit the one you want on the keyboard. That make sense?

Yup, makes sense. BTW, tried multi-planet selection for the first time yesterday. Brilliant! Works great.


BUG in keyboard controls:

Alright, so you can press a letter/number to select a planet, and then TAB to the various planets that start with that letter/number. But, at least on OS X, if you press TAB before hitting an initial letter/number, a Web Start error dialog comes up “Cannot launch Conquer”. When you acknowledge this dialog the game crashes.

thanks for finding that! It’s been fixed. Happy gaming ;D

What should I do next?

How about a way to boost ship production?

Something like every 10 ships boosts production by 1% to a max of say 25% or 50% or something.

This would change strategy somewhat for moving fleets around.

Alright, here’s a few suggestions for the UI:

  1. Ctrl+D does the flash, and that’s cool, but it also does multi-planet selection of planets that start with “D” when it probably ought to be a separate and distinct command. So, rather than rewrite your input code (which I figure is causing the multi action trigger), how about moving the flash function to the F1 key. Maybe move the FPS counter display to another “F” key.

  2. A new window (perhaps replacing the console) with the following features:

-Total ships vs. Per-turn production
-Number of ships stationed on planets vs. number in transit vs. total ships
-Total ship power (perhaps sum numShips*killRatio for every fleet and planet)
-Power distribution across planets, per player

All of this information is, again, available via the console or by doing some manual math on the information already available to the player, and so the balance of the game should not be affected, just the player’s ability to leverage this information more effectively.

I’ll draw up some diagrams of what I think this stuff could look like and post them this weekend.

  1. Oh, and I’ve started to get an itch for a drag-selection feature. When I’m playing large, dense games it’d be nice to be able to select 10+ planets at once, with a single drag of the mouse. Perhaps having to hold down the “Shift” key to enable this (so that it’s distinct from the map scrolling feature). Or better yet, do a right-mouse-button for drag-selection, and keep the scrolling on the left-mouse-button. OS X players, such as myself, with only 1 mouse button already know how to do the Mac equivalent of a right-mouse-click.

I’m also playing the game on an XP box at home. Can’t say enough about this game - I’m really having a good time playing it! For it’s simplicity of design, it’s one of the best games I’ve ever played.

@CaptainJester: I’m definitely scheming something along those lines. Right now I think I may have a perpetual single player mode with some story and objective to it. Depending on a round’s performance, you might acquire points to be used in adjusting production and kill ratio of planets you own. That’s what’s currently floating in my head :slight_smile:

@kul_th_las:

  1. done! F1 does the flash. F2 does the FPS toggle, and it’s also in the Options menu to toggle.

  2. done! Shift-click and drag to select multiples. If you already have some selected, in the same fashion that you have to hold ctrl to select additional planets, ctrl+shift+clicking will let you drag and select additional planets.

Brilliant! Brilliant!

Alright, another small request. Can you make both the main “Enter” key, and the one on the number pad trigger the same thing in the UI. I find, after pressing “End” to send all ships from planet(s) that on some keyboards (since I’m playing it on both Mac & Windows) it’s easier/more natural to press the NumPad “Enter” key than the primary one on the keyboard. Besides, they often logically do the same thing in any number of other programs.

Those diagrams are forthcoming.

Done! I look forward to the diagrams! :slight_smile:

A couple of suggestions:

  1. Create some sort of scanner system. Any planet that you control can scan out to a short distance. Say the distance a ship could travel in one turn. This way you can get an idea of enemy ship movements.

  2. You could simulate a technology system without complexity. As time goes on in the game, ship production speeds up. As well ship speed gets faster and scanner range increases. You could also increase the base ship production of each planet.

These aren’t very pretty, but you’ll get the idea.

Explaination:

http://members.cox.net/jlunt/graph_diagram.jpg

  1. A diagram window, relative to each player. This window always displays the information for the current human player’s turn. This window is intended to replace the console. For debugging purposes, I suppose you should keep the console around, but perhaps it could be turned off by default, and activated with the “~” key, or another “F” key.

On a player’s turn, it shows them “Total number of ships on planets” - i.e. the number of that player’s ships currently stationed on planets, and available for movement/attack.

Ships in transit - a percentage of the total number of ships that player owns (stationed + in transit) that are currently in transit from one planet to another

The first graph shows a comparison of “Total ships on planets” between the current player (green), and the two opponents (red and yellow, in this case).

The next part shows total planetary firepower, that is: numShipsOnPlanets*averageKillRatio
The reason for only comparing ships that are stationed on planets is because that’s the only information currently available to the player about his enemies, given the current UI.

The graph below that shows the comparision from player to player.

“Per-turn production” show the percentage increase of the player’s planetary forces, per turn, expressed as a percentage of total planetary power.

All graphs are scaled such that the highest value takes up the entire width of the window, and the other values take up a width of window that is proportional to this max value.

http://members.cox.net/jlunt/normal_display.jpg

  1. The second diagram shows an approximation of the Conquer game represented by diagram #1

http://members.cox.net/jlunt/power_distribution.jpg

  1. The third diagram shows power distribution. Each planet has a firepower rating, that is (numShips*killRatio). The relative size/opacity of each disc represents this calculated value, and gives a quick reference to how powerful a force is, in comparison to surrounding planets.

All these values need to be scaled relative to each other so that both small and large scale games will be reasonably displayed.

Any questions, just ask.

I’ve been awfully busy with things, but I do like your idea. Would you be interested in writing the code for it? :slight_smile: You could play with my gui and create a new Canvas extention that I could plug in. How’s about it?

Hm. Sounds interesting. I’ll take a shot at it, how’s that?

I’ve actually been meaning to dig into some OpenGL code, and since I’m already interested in this project, why not?

FYI, for those of you watching this thread:I implemented the power distribution thing. You can toggle it with F3 (well, in the custom build version anyway, not the publicly downloadable one)). I think it needs a bit of visual tweeking still.

I’ll send it off to Malohkan and see what he thinks.

Silly me. I realized that I should probably post some screen shots.

This is the implementation of the Power Distribution diagram from earlier in the thread. The way it’s displayed is as follows:
Each planet has a “firepower rating”, that is calculated literally as (currPlanet.numShips*currPlanet.killRatio).

So, what you see is the most powerful planet is rendered with the largest/most opaque firepower circle, and the rest of the planets are scaled relative to the most powerful. That is, no matter how large or small the game is, if the most powerful planet has 100 ships, or 1,000,000 ships, the size of the firepower circle doesn’t get out of hand. In the experimental build you can toggle this display on/off using F3. I find that it works pretty well, even when multiple powerful planets are close together. It really helps you see sudden power shifts during play.

Another one of the most useful features is when you have a planet with a whole bunch of ships on it, thinking that it’s safe, but it’s got a small firepower rating; that let’s you know, quickly and visually, where the weak points in your defense are. The display updates in real time, and is based on how many ships are actually stationed on the planet. In other words, if the most powerful planet (or any planet for that matter) moves all of its ships out into space, the display instantly updates to represent the shift in power.

Also, neutral planets are NOT rendered with a firepower rating, so as not to reveal their kill ratio before they are owned by anyone. So, same strategy as always, but a little more user friendly.

Feedback welcome.

EDIT : The url where the screen shots were hosted is not longer in service, so I’ve taken the links out.

Thanks to kul_th_las for his clean and great code! I implemented his changes, and added the feature to the Options menu and also changed the game saving code so that your preference of whether or not to show the power distributions is saved. The update is live! Good job kul_th_las! :slight_smile:

Alright, the console replacement idea thingy has been getting put off for a while. I do tech support for a school district, see, and with the beginning of the school year it’s been crazy. I promise to get back to it some time. Might be a couple of months or more.

Glad to see everyone has the chance to try the new features.