Jump to content

Conquest of the Aftermath - new game in development


Recommended Posts

Now that I'm back in the habit of programming daily, I want to try sharing a project from the ground up again. This is my new game, "Conquest of the Aftermath," which I plan to have finished by December 31.


CotA is inspired by Risk, with additional elements borrowed from other games. Gameplay takes place on a map of 20x28 tiles, which are randomly distributed among four players, neutral territory, and water. Each tile has a terrain type -- in the beginning, inhospitable lands like mountains, forests and swamplands. Each tile also has a population, refugees from the war that destroyed the old cities and scattered your faithful followers across the land.


In a finite number of turns each round, players can move population, terraform the land to grow food, and attack other tiles to gain territory. Population increases and decreases depending on the amount of food, access to water and villages, and morale of the populace. Morale and food also factor into battle statistics and can give one player an advantage. Excess food can be used to bribe neutral populations to join your ranks, while shortages can lead to mutiny and the defection of populations.


Weather and natural disasters (including aftershocks from the nuclear attacks) may also play a part.


I have not yet decided the object of the game, or whether each game may be set to one of several options (total victory, biggest gains in a preset time period, or the defense of a 'home city' tile).

Right now we're REALLY early on. I'm just figuring out how to display the map and store all these variables. I'm using strings and speed is already a factor. I'm writing the code with simple, line-number-only IF-THEN statements, in anticipation that I will compile this game when it's completed.

All the program does right now is create the map and set up variables, and allow the user to browse each tile's attributes. Over the weekend I plan to puzzle out the rules for number of turns, and figure out the balance the player must strike between terraforming, cultivating and conquering.


Wish me luck! I have an idea how I want it to all come together, but there's a lot in flux right now. :)









  • Like 5
Link to comment
Share on other sites

I use GCHAR to keep tabs on the map data, but there's other information about each tile I'm keeping in strings.


My main time hangup right now is at the map generation part -- I still don't have it doing all that it needs to do, and we're over three minutes from hitting ENTER on RUN to seeing the finished map and being able to interact with it. That's not unheard of by 1982 standards (the "please wait" before a dungeon or map spawns) but I'm trying to be realistic about anyone actually sitting through that in 2015. Plus, I want to be able to manipulate the map and its data a lot between turns. This'll be a good way for me to get my feet wet with the compiler, and I can bless Overdrive mode while I'm testing it before it's ready to compile. :)

Link to comment
Share on other sites


we're over three minutes from hitting ENTER on RUN to seeing the finished map and being able to interact with it. That's not unheard of by 1982 standards (the "please wait" before a dungeon or map spawns) but I'm trying to be realistic about anyone actually sitting through that in 2015.


Ha! Welcome to my world :grin: That is the curse of creating complex programs with XB,,, Both Panzer Strike and Close Action required a LOT of waiting at load time, so I don't think this should stop you. A little waiting can be a good thing in this ever speeding world :)

Link to comment
Share on other sites




Spent some time tonight removing code I didn't need yet because I got ahead of myself, plotting the map more accurately for the start of the game (no villages or cultivated fields at the start), and doing a LOT of work on paper.


The combination of string handling and less robust IF-THEN statements is killing me. But I think I have it sorted how I'll approach the game turns.


Unlike Risk, where your turn can last as long as you have armies to fight, CotA will give you a finite amount of moves per turn. Your terrain and the morale of your population will affect your number of turns. You must then divide those turns up between terraforming the land, planting crops, moving populations, and attacking.


In addition to the other players, there are "non aligned" populations (shown in black on the map). Depending on your morale levels and battle odds, they may join your side without a fight when you attack their tiles. They may also align with you for a payment of food, if you have surplus. Similarly, you may lose areas to mutiny if people aren't being fed or morale otherwise takes a beating.


Also unlike Risk, you can fight "to the last man," or abandon territory you own, if consolidating your position makes more sense.


Still not sure if the object of the game will be to just outmatch everyone or to defend a home base. I'm gonna try to get the main turn loop done over the next few days and then see how playing the game feels.


I may be in over my head on this one, but I'm gonna do my best to rise to the challenge. :)




  • Like 3
Link to comment
Share on other sites

Let me know if you get stuck with the AI algorithms. I'll be happy to help out :)

As a general rule, try to breakdown the AI actions into a collection of simple axioms (if/then type of actions) each being a subroutine, which you can mix and match as needed depending on the situation. It's amazing how much apparent complexity arises from the application of simple rules...

Link to comment
Share on other sites

  • 2 weeks later...

After a week or so of no coding time, I got back to this today. I started implementing the turn loop, specifically the calculation of feeding your population.


Each tile on the board, no matter what kind of terrain (except water), has some population, scattered there as they fled war. Through foraging and raiding the ruins of homes and stores, it's assumed they can find a minimum amount of food. The only way to obtain a larger amount is to clear tiles of land and plant them. Once a tile is planted, in the next turn cycle it will yield a surplus, and can be replanted. Planted land adjacent to water will yield even more.


If your food output is more than your population needs, you have a surplus, and your people's morale goes up (this is important for battles and other factors). If it is not enough, some of your population will starve, at random locations across the map. (Population who live on food growing tiles are less affected by shortages.)


As it stands now, you begin the game with just enough food resources to cover most of your population, but you'll quickly have to figure out the best division of your labor each turn between terraforming and planting, and taking over new territory.



I have some holiday time off work this week, and I'm hoping to get the turn loop finished, including attack/defense routines, and then begin work on the AI. I have a feeling a lot of my formulas will have to be adjusted once the game's playable and I see how a typical match unfolds.

  • Like 1
Link to comment
Share on other sites

If it seems like I'm going on about the minutiae of the game, a lot of what I'm writing in this thread will hopefully end up as game documentation. I want to make sure everything's as well explained as possible. I hope the game's also intuitive to just sit down and play, but with as much as there is going on in this one, I want to do my best not to miss anything.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...