Journal #6: Kryptonite

Published November 07, 2016
Advertisement

I'm back! I told you Sid Meier's Civilization was my Kryptonite and it basically stole my last two weekends playing it. The first weekend was no real surprise and I had planned to just play it all weekend. But I got sucked in again the following one while doing a few productive things like laundry. In any case it's a very good continuation of the franchise and worth a look if you like that sort of game.

Now, onto what I worked on this last week. I decided to put more console work off to the side (with appropriate notations on my todo list) in favor of something a little more in the vein of a gameplay feature. So to that end I implemented what is the core gameplay loop of a tactical strategy game (along the lines of XCom or Final Fantasy Tactics). Now I obviously already had the game loop doing all the windows messaging, managing frame processing and rendering. This was the gameplay loop to control the player's interaction with the game.

I added a new component and couple objects to act as players. Right now this component consists of an array of handles which are the ships controlled by that player. I also added a new component to handle unit stats and added that to all the ships that I had created and added them to one of the two players. The stats component isn't particularly complicated right now, just an arbitrary mapping of keys & values. Long term I don't expect that gameplay will rely heavily on this, but it's really nice for experimentation and prototyping. And it's not unit/spaceship specific. Right now all the ships have two stats: Power & Supply. The game loop then consists of:


  1. Player Turn Start - Set all that player's ships supply stat to their power stat value
  2. Move unit - User clicks another tile, path the unit to that tile, decrement supply by 1
  3. When supply reduced to zero, move the selection to the next unit
  4. Continue moving units and rotating the selection until all units controlled by player have a 0 supply stat
  5. When there are no units with available supply, move to the next player and return to step 1

This should be fairly recognizable to strategy game players and it's nice to have moved my program closer to "game" territory.

I also added a few other related elements like:


  • tabbing to rotate the selection of the current unit
  • preventing pathing from occurring when the current unit has a 0 supply stat
  • preventing the current unit from becoming one controlled by other players if you clicked a tile that had a unit you didn't own in it. Using the mouse to change unit selection was already supported.


This is the point at which I would/should have a video to show off the various unit moves and player turn transitions but I haven't familarized myself with video capture tools quite yet.
Previous Entry Journal #5: Not a Holiday
Next Entry Journal #7
1 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement