Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Jon Shafer

Pages: 1 [2] 3 4 5
Hey all, I'll keep the post short because you'll hear me talking plenty more in the video! Make sure to watch in HD so that the art and text aren't garbled by whatever YouTube defaults to.

- Jon

AtG - Developer Updates / 2014 August 14 - Progress, Pacing & People
« on: September 15, 2014, 01:34:41 PM »
A few months ago I hinted at the possibility of some big changes - well, said "possibility" has turned into reality, which means some exciting new features to talk about. But before getting into the details I think it's best to explain why we have "big changes" to talk about at all.

Iterative Design - Not Just a Buzzword!

I'm sure some of you are thinking "What do you mean 'big changes'? Wasn't the game supposed to be done by now? Has AtG succumbed to feature creep? Has Conifer run out of money? Do you guys have any idea what you're doing?"

Given the state of Kickstarter these days I begrudge no one for having perfectly-justified concerns of this sort (hell, I'm in the same boat with quite a few still-unreleased projects I've been looking forward to!). Thankfully, I can state with zero reservations whatsoever that AtG is in great shape. There are no gaping holes in the gameplay that may or may not ever get filled, nor dark clouds portending a studio closure looming over the horizon. The game is fun, all features are at least roughed in and we still have plenty of money (mmm, ramen...).

Make no mistake, we're going to overshoot the projected release date I came up with back in late 2012 by a pretty healthy margin, but I've never by shy about the fact that our one and only priority is delivering a great game - regardless of how long that takes. I know I sound like a broken record here, but that truly is Conifer's "mission statement". No one remembers when a game is late, but no one forgets when a game is bad!

Okay, okay, let's all assume that AtG is in fact as amazing as I say - why are we making "big changes"? And how do we know the game actually is in good shape? The answer to both of these questions is simple: external feedback.

As one might expect from such a mature and supportive community, a number of amazing playtesters have stepped forward as huge contributors to AtG's development. Not only have these individuals provided great insight and suggestions, but they've also provided honest assessments about the state of the game. I really do appreciate constructive criticism, and the AtG Test Group has certainly delivered on that front.

A few months ago and back before the "big changes" much of the feedback we were getting could be summed up as: "The game is good... but it feels like something is missing." After journeying to a mountaintop and meditating in raging blizzards for a couple weeks I returned to my desk having come to the conclusion that they were right.

Empty Carbs

AtG was kind of like eating a candy bar when you're so hungry your stomach is growling. The first bite is great, but a half hour later you're still not really satisfied (sorry Snickers commercial, we're going to have to agree to disagree). Exploring the map, dealing with the ever-changing seasons and migrating was fun, sure, but what was it all for?

If a game is to lure you back to play again and again you need to be able to achieve something, to earn trophies you can point to and say "Look what I did!" AtG 'v1' was a game with several cool mechanics which tested how well you could keep your head above water, but little else.

There's nothing wrong with that if your goal is to create a simple $15 indie game, but we're aiming much higher with AtG. It was clear that for the game to really, truly be one of the best strategy games ever it needed something... more. We're not just a few peripheral features bolted onto the existing chassis, but a full rebuild. A whole new center of gravity. Small tweaks here and there can work when your pacing or balance is off, but when your entire game feels hollow you have no choice but to go back to the drawing board and rethink your core vision.

What made this particularly challenging (and necessary) was that instilling a meaningful sense of progress in a game about tribes which never stay in one place for long... ain't exactly easy. The main reason why information about Germanic tribes of this era is so scarce is that they didn't leave archaeologists much with which to reconstruct their societies. In a traditional 4X game all of your achievements are laid across the map. Cities, wonders, buildings, roads - they're all placed one-by-one by your own hand. That was not an option in AtG.

And so we had our million-dollar question: what do we replace all of that with?

Power to the People

The answer we came up with? People. Instead of developing cities and structures you would be developing your followers.

While this approach seems kind of obvious in hindsight it was tough to see at the time, in large part because we're entering territory very few strategy games have ever set foot in. Two notable exceptions are Crusader Kings 2 and King of Dragon Pass, which, of course, both happen to be among the genre's most revered titles. With such illustrious company I was feeling pretty good about what this new direction might do for AtG, but how would it work in terms of actual gameplay mechanics?

Step 1 was fundamentally reconstructing the game's core vision and 'holistically' integrating this new concept into the new one. AtG's original themes of migration, dealing with a hostile environment and overcoming hardship would still have key roles to play, but joining them would be something completely new: "Clans", each with a unique name, personality, talents and desires.

Gone was the dry mechanic where a settlement's population stat would tick up turn after turn, destined to be fodder for the future's generic, interchangeable playing pieces. No, Clans would be actual characters living in a place safe from the whims of the player's godlike mouse cursor. A gentle Clan with an agrarian leaning is unlikely to be too pleased if trained as front-line warriors. But hey, if the Huns are coming you can still force them into service. Just make no mistake, there will be consequences.

With this new people-centric focus I decided to lower the number of settlements you control from a max of ~5 down to one. Yep, one. That's it. Ever. Your area of influence can still be expanded by other means, but AtG's economic engine has now been consolidated down to a single centralized system (SSI's Imperialism is a good example of how this can work).

To be fair, owning multiple settlements had always felt a bit odd in a game like this, where there's never been any way to improve or customize them. I briefly considered changing this but shelved the idea in short order, as it was clear that upgrade-able structures are fundamentally opposed to AtG's theme. The big design shift Clans represented gave me the excuse I needed to finally cut the cord.

Reducing the number of settlements doesn't mean the game is any simpler though - in fact, I'd say the opposite is true. Clans arrive in your lone settlement and can then either be trained in "settled" Professions or sent off to harvest resources, explore, fight, etc. Directing their careers and guiding their stories provides a massive amount of new gameplay that simply didn't exist before.

Alright, Clans might seem like an interesting idea, but how would they actually provide a sense of progress to a game sorely in need of it?

Professions & Pacing

AtG's Clans can have desires, become unhappy, get into feuds and more, but for now we'll focus on mechanics. Clan development is represented in two primary ways: the Professions they're trained in, and how good each is at doing their job.

Professions are the replacement for the distinct, unchangeable 'Unit Types' common in other 4X titles. In those you might build a Scout in one of your cities, but in AtG you train Clan Adelhard as Scouts - and should the situation change you can always send them home to be retrained as something else. While it's possible for a Clan to completely switch gears, doing so means sacrificing the experience gained in the old discipline and starting over from scratch. In the early game this is no big deal, but in the final few years you'll have some tough decisions to make.

For Professions to offer a truly meaningful avenue of development we needed to have either a lot of them or a way to enhance them. After all, if you only ever retrain a Clan once or twice it really won't feel like you've made much progress! In the end I opted for the 'breadth' approach of having a large roster of Professions, as switching between them already strings and I didn't want players to also lose whatever Profession-specific upgrades they might have invested in.

The question of how players would unlock all of these Professions was a tough one though, and this occupied the team's mental energies for several weeks. For a progression system of any kind to be satisfying your pacing must be nearly perfect; hand goodies out too quickly and you dilute the entire system, hand them out too slowly and your game turns into a frustrating grind devoid of interesting decisions.

One of the simplest ways to model progress in a game is a basic 'prerequisite tree'. If this were utilized in AtG this would mean to train a Clan as Weaponsmiths they'd already need to be Blacksmiths, which in turn could only be trained from Laborers, and so on.

The problem with this approach is that when you want Weaponsmiths to make weapons for you what you want is, you know, Weaponsmiths making weapons. This might sound like an obvious and meaningless statement, but it's often the most stupid simple concepts you lose sight of when wading through the waist-deep swamp that is game design. What purpose do prereqs serve? To slow players down, or at the very least gate them in some way. Follow this to its logical conclusion and you realize that Professions like the Blacksmith are little more than 'speed bumps' designed to slow how quickly you can get between what you have and what you actually want.

Worse, the deeper you make your tree the more players run into this. Over the course of an entire game players could be forced to hurdle speed bump Professions dozens or even hundreds of times. Instead of players getting excited about training a Clan in a brand-new Profession as we'd hope, they simply sigh, shrug and queue up yet another Blacksmith. It doesn't take a professional to tell you that this ain't good game design!

Don't get me wrong, the venerable prereq tree certainly can and does work well in many other situations. It's simply a bad fit for systems which require players to make parallel decisions or when it's possible to backtrack (both of which are the case with AtG's Professions).

The second idea we considered was having advanced Professions require advanced resources. In the early game you won't have access to coal... without which you can't make steel... without which you can't train Armorsmiths to make armor... without which you can't train Heavy Infantry. This sounds good and makes sense in theory, but it fell apart quickly once we actually tried it out in-game.

The issue here is that you just don't know what resources are going to be nearby. Sure, we could spread them more evenly across the map, but that dilutes their importance. The whole point of having resources like coal at all is gating access to cool stuff that everyone covets but can't have. Making coal a vital link for a large number of important Professions is basically the same as funneling players into situations where there simply may not be any real decisions to make - if you have coal you train Clans in those Professions, otherwise you might as well pretend they don't even exist. Yawn.

Our next stab at solving the Professions Pacing Puzzle was requiring Clans to have a certain amount of experience before it was possible to train them in high-level Professions. We started with seven different 'skills' experience could be gained in, but this became unwieldy once you had more than a handful of followers. "Okay, Clan Raimond is level 2 in Construction. Oh yeah, didn't they also have some experience in Learning? Maybe I should save them to be a Surveyor instead. Err, wait... am I thinking of Clan Adelhard? Hmmm, I'd better go back and check for an eighth time..."

Trust me, that's not an exaggeration! Even so, the core concept was sound and work keeping in one form or another. In the end we streamlined the design a bit: Clans now have a single 'discipline' which they accumulated experience in, and (as I mentioned above) although this can be switched actually doing so means starting over from the beginning.

This was much, much more promising than our earlier attempts, but as often is the case in game design we were derailed by an unintended side-effect: it suddenly became very difficult to adapt. One of my core design tenets is that players should be encouraged and sometimes even forced to adapt to changing circumstances, so this drawback was no joke. To address it I decided to bring back an old friend I'd said goodbye to and never expected to see again...

Growing a Backbone

4X is one of several sub-genres of what we call "sandbox" games, where the basic idea is that the flow and pacing is driven not by developers but by the players themselves. This provides an unrivaled sense of freedom, enhances the thrill of exploration and adds incredible replayability - but there is a cost.

Topping the list is that sandbox games are, to put it bluntly, really hard to make! As a developer you have to trust that your abstract, conceptual rules will hold up and keep the game on-track when mixed with the completely unpredictable behavior and tendencies of your players. A good analogy is how driving a car yourself differs from writing the unbelievably-complex AI logic for a car which can drive itself. While I'd say making games isn't quite as challenging (!), things rarely go quite as planned.

AtG had major pacing problems, and my attempts to fix them 'cleanly' by using existing systems driven by players and randomness had failed. It was time to roll up the sleeves and make sure the pacing was right.

One of our playtesters wisely noted that every 4X under the sun has a self-contained research system/Tech tree, and that this isn't coincidental. Research provides our genre with a pacing 'backbone' that, having thought a lot about it lately, I honestly think may have a good substitute. Unit and structure-based prereq trees can work well in 30-minute RTS matches, but in a 4X you're either going to burn through them in no time or run into a glut of speed bumps. So how is research special?

The fact that it's self-contained is the key. The rate you acquire Techs can be completely independent from whatever resources you might or might not have been lucky enough to find nearby, or structures that you may or may not have bee-lined for (or forgotten about!). As a designer I can very easily set a couple numbers in XML and know for certain that players will get a new Tech no fewer than every 6 turns, but also no more than every 12. I can also dramatically increase the cost of Techs playtesters have found to be particularly powerful, or lay out the tree in a different way to ensure that there's literally no way to get them before turn 150.

Another, less obvious advantage of the traditional 4X research system is that it's also 'self-propelled'. No matter what, players are always studying something, always making at least a little progress regardless of whatever else they might be doing. This is important, and not the case in a similar system where you instead purchase new upgrades with money.

Giving players that kind of full, godlike control over pacing means some will inevitably fixate on unlocks even as the rest of their empire falls into ruin (*raises hand*), while at the opposite extreme other players will neglect them completely. Neither of these is necessarily a problem when you're talking about a non-essential gameplay system, but they absolutely cripple one that provides a game's pacing backbone. Just think about what it would be like to play Civ for 500 turns and never leave the stone age!

It's important for us to remember that limits are a big reason why games are fun. There are times when being a good designer means grabbing the wheel from your players and making sure they don't inadvertently careen off the road!

Looking Forward

Now that AtG's core gameplay is firmly in place from top to bottom my focus for the next several months will be, as promised in the last update, the AI and diplomacy. After that we're talking all polish, all the time. The first part of this lengthy phase of development will be wheeling back around and making another pass on the game's Professions, Techs, etc. What we have in right now is fun, but very, very rough, and it will take some serious iteration before all the prereqs, bonuses, costs and more are in a ship-able state.

I know this update was completely devoid of pretty pictures, but the plan is for the next one to be dedicated to AtG's new art style. Not gonna lie, it's got even me pretty excited. I won't spoil the surprise early though, as we're just about done with it.

Alright, well, I think it's about time to put a bow on this one. When I started writing this post my intention was for it to be a short one, but... well... here we are. I suppose I should know better by now and learn to love the bomb! (Maybe it's time I finally bit the bullet and found someone else to help me write these so that I can spend all that time programming instead!)

We opened with me praising our awesome Test Group, and we'll close things out with the reverse, just to raise the excitement level a notch or two. These are excerpts from the two most recent 'First Impressions' playtest reports, both written after the big redesign described above:


"The game is very interesting. Right off the bat... the combination of knowledge/terrain/clans gets the gears in the head spinning. It feels well thought out, with a nice balance between options. There was a good 'one more turn' vibe going. Enough so that my notes from the first playsession are very sparse! You've done a great job crafting a fun game with depth."


"Wow, it's 4am now. After my initial eight-hour play session, I'm extremely impressed by the implementation so far. The game feels like the rough-cut of a precious gem. I can already tell this is going to be one of my favorite games of all time."


Thanks again for your support and patience, everyone. Like you, we can't wait until AtG reaches that incredible potential our playtesters have already gotten a taste of and we can officially call it "done". While that moment may still be far ahead of us it gets closer and closer every day!

- Jon

AtG - Developer Updates / 2014 June 4 - Alpha II and Beyond
« on: June 04, 2014, 04:51:07 PM »
What's New in Alpha II?

Alright, let's talk about what this milestone means for the game itself!

Seasons & Map Generation

This was actually a bit of a detour from the original plan, but I had long known serious work was needed here, and the map is so crucial to everything else that I decided to bite the bullet.

The old system for creating and managing the seasons was extremely primitive - and it showed. Climate zones were assigned in thick bands based on latitude, with small modifications made near mountains. Randomness was leaned on heavily in an attempt to add some fuzziness. In the end, rather than getting large cold fronts advancing from the north you were instead treated to obvious and unrealistic stripes, with the occasional snow tile peppered here and there.

Climate and terrain is closely linked, so when I decided to redo the former I felt it best to step back and add map generation to the task. What we want are believable maps that contain regions with strong character, but the old logic could do little more than produce an even mix of terrain across the entire map. I decided to basically burn everything to the ground and start over.

I spent a week researching climate, precipitation, ocean currents, temperature patterns, drainage basins and much, much more. I then came up with a design that centered around the two elements I felt most important: each tile's moisture and winter warmth. The game already calculated elevation based on proximity to the ocean, mountains and hills, but I rewrote most of this system as well to produce the results I was aiming for.

After a couple weeks the game was producing maps with lush forests, bone-dry deserts and everything in between. I'll let the results speak for themselves:

Ensuring these interesting worlds are playable and balanced will require spending more time on the placement of resources and starting locations, but we now have a solid foundation to work from.

A couple months ago I made another change to seasons, but this one was a little more abstract.

Part of what makes seasons important in the real world is that they stick around for a while. After a month or two you get used to it being winter or summer. Years had always been 12 turns from the very first day AtG was playable, but in the back of my mind a small voice was continually whispering that the seasons were rushed. Most invasions launched in the spring would be bogged down by snow before even reaching their target. After receiving similar feedback from others I doubled their length.

There are times when features are clearly imbalanced or broken, but this was a good example of the kind where there's nothing to guide you but your own gut. Brainstorming and playtesting are the only tools you have, and with several games under my belt since the change I'm confident it was the right move.

Sages & Roman Technology

But the length of seasons wasn't the only major game feature that felt weird. The concept behind Romanization Perks was to allow players to add and swap bonuses around as the game situation changed. But "forgetting" how to build boats just didn't sit right. Plus, what the hell is a Romanization "perk" anyways? Perk? Really? That's the best term you could come up with? Every game abstracts a few things along the way, but sometimes you can go overboard and completely lose sight of the theme.

The original AtG design doc actually called for a Romanization system and a Tech Tree. I merged the two because they were quite similar in form, but in the end I decided to turn back the clock and split them back in two. But conceptually, what bonuses could make sense to switch around? The default in Civ games is your government, but knowledge of any real sophistication barbarian tribes might have exhibited here are now lost to the sands of time. And even if it wasn't, it's probably fair to say that radical changes weren't made every year or two.

But what could make sense are the individuals who served in the government. One feature from King of Dragon Pass that I'm particularly fond of is the advisers. You select men and women who offer unique traits from a pool, and can hire or fire them as you see fit. From this seed, AtG's "Leadership Council" was born.

"Sages" appear every couple years and offer their services. I wanted the choice of who to hire and dismiss to be a tough one, so there are only two "Minister" jobs available. After a minister has served for a while you can 'demote' them and they'll stick around until re-appointed, but firing them too early is an insult, and results in their permanent departure. I liked the balance this offered between keeping folks on that you like and encouraging you to cycle through and 'collect' new Sages, growing your pool over time.

I feel it's important that players not stick with the same Ministers forever, as this is the exact opposite of the strategy genre's goal of providing "interesting decisions". You should feel like you can switch at any time, and this meant purposefully omitting 'ongoing' bonuses like lower food requirements. At first this is cool, but eventually you grow accustomed to it, and what was once a bonus becomes a permanent crutch. "Man... Food is so tight already, I can't possibly justify firing him!"

Instead, I've opted for bonuses that are either very in-the-moment or stick around forever. An example of the former might be extra rewards for taking out bandit camps, the latter a permanent reduction in food cost for units trained while the minister was in office. This approach comes with problems of its own (why not just keep a sage on for one turn, train a ton of units, then fire him?), but these are much easier to solve than the ones which have plagued 4X for decades that I tackled first.

Another aspect of sages I really like is that they provide a way to nudge players strategically in the early going. In many games there's so much you could do that very little stands out as a good, clear option. However, if a sage shows up that increases your chances of finding horses you suddenly have an interesting opportunity that might be worth switching gears for.

I actually like what the sage add to the game so much that they've prompted me to consider a much bigger change to the overall economy of AtG. But we'll get into that soon...

With the introduction of sages I decided to change the name of the "Romanization Perks" to "Roman Technology". People are already very familiar with the concept of researching/learning/acquiring technologies, and the term now makes a lot more sense for bonuses that are permanent.

Mac & Linux Versions

Getting AtG running on non-Windows platforms has been the project's biggest technical hurdle, and the primary dividing line between Alpha I and II. The game is built in XNA/C#, which means by default it only runs on Windows and XBox 360. Jonathan and I have spoken about switching to another tech base at some point, but this isn't really the kind of change you want to make mid-project.

Fortunately, a "wrapper" named MonoGame exists to port XNA to other platforms, including Mac and Linux. Way back during the Kickstarter campaign we were able to get AtG running on both, but it was basically just a tech demo to see if it was even possible. We put the porting effort on the back burner while focusing on getting the game playable, but we knew the day would come when we'd have to take the plunge.

There were two main challenges associated with this task.

The first was purely logistical, and involves the creation and maintenance of a "project" file containing MonoGame "links" to the thousands of C#/XNA-specific files that make up AtG. Jonathan and I were initially considering doing this by hand, but it became clear that this would ultimately add up to dozens, if not hundreds of hours. Not only would we have had to manually modify the links any time a file was added, moved or renamed, but this process would inevitably resulted in countless errors which would also require time to track down, fix and test.

We opted to instead write a small utility program to take the existing project file and automatically make any necessary changes. With a single press of a button we can prepare AtG for deployment on all three platforms. To simplify our lives further we have them all bundled up into a single deployment package, though this adds an extra ~80 MB, so we'll probably split them up before release once we're posting updates less frequently.

However, even with the utility the project file links still gave us some trouble. Windows doesn't care how you capitalize file and folder names. OSX and Linux do. I think you know where I'm going here...

But all of these tasks were just a matter of grinding through and doing it. The second, more daunting problem was finding the right combinations of settings, libraries and add-ins to get AtG to actually run at all. And this was by no means a sure bet.

MonoGame is neither professional middleware nor a free solution from a big vendor like Microsoft, but an Internet hobby project. A very good one, but a hobby project nonetheless. No one is officially in charge of it, different individuals had different versions of the code, documentation was very limited and some features were just plain abandoned.

After countless dead ends, problems with getting audio files to play and running into errors with zero useful information or leads to work from we finally stumbled around in the dark long enough to concoct a strange brew that reliably worked on both platforms (many thanks to Port Master Ethan Lee for his help!).

After having a near heart attack when the strange collection of files we'd gotten working was thought lost, we packaged everything together, made a half-dozen backups and finally established a pipeline for deploying the game on all PC platforms!

What's Next?

Now that all of AtG's major features are at least roughed out our focus for the next half-year or so is improving the game's feel and pacing. The following three tasks are what we've identified as being most crucial to that. I'll go into more detail on each as they're checked off the list in the coming months.

Combat & Supply

Despite being a huge chunk of the game, the current design for this is basically still a 'rough draft'. It was one of the first features implemented, but is now one the last to receive real love. It's functional, but not terribly interesting or clear.

Our goal is for combat in AtG to focus on maneuver, positioning, the terrain, and the seasons. Many games claim this as an objective, but unless you really go out of your way brute strength is usually all that matters.

To avoid this, there needs to be a legitimate way for a weaker army to defeat a stronger one without engaging it directly. With seasonal change being one of AtG's keystone features, it was obvious from day one that simulating supply made sense for both gameplay and immersion reasons.

The plan is for supply to be fairly simple, as we want winning to require good strategy and not just obsessive bean-counting. The supply available on tiles will range from 0 to 3, with most unit types requiring only 1 and more expensive cavalry units requiring 2. You can chain together fixed supply depot structures to improve the supply of tiles near them and allow for winter campaigns far from home. But if this chain is broken units will quickly lose morale and health, making them extremely vulnerable to attack.

One last ingredient for spicing up combat that I'm particularly excited about is a new unit: the skirmisher. In most games light infantry is virtually useless, as they often fall into the brute strength is always better trap. But supply offers a way for us to avoid this.

Light infantry is characterized by high mobility and survivability. AtG's zone of control system prevents units from 'sliding' past one another, and while skirmishers don't inflict much damage they also don't suffer much. Like a fly, they're far more annoying than dangerous. Constantly harassing and delaying larger armies might slow them down just enough for winter to arrive, or at the very least provide enough time to muster your own army.

Well, that's the idea anyways - we'll find out soon if it adds up to something fun!


Every six months or so I like to step back and really put a microscope on AtG's design, and the introduction of a new group of testers is a perfect opportunity to do so again. Reviews of this sort often re-affirm what you've already believed, but there are also times when they lead to sweeping changes. AtG's economy may be the latest 'victim'.

This is a game where nothing lasts forever. Resources deplete and eventually you have to move on. Unlike other 4X games there's very little to commemorate your achievements, aside from still being alive. There's a certain charm to that, but I do think there's a void there that could be filled with something. We don't want players to feel like they're just treading water.

Inspired by the sages and tester suggestions, I'm considering shifting the design of the economy from being structure-centric to people-centric. A farmer wouldn't just build a farm and disappear, but have a name and a history. He'd have unique traits, and his skills would improve over time. If his farm floods he might get pneumonia. Over the course of a game you'd get to know him, and if he's captured or killed it'll hurt a whole lot more than if yet another generic farm was pillaged. At the end of a game your trophy wouldn't be a mighty empire of shiny buildings, but an interesting cast of characters, each with their own story.

Of course, all of this could end up going nowhere, but I want to at least fill you in on what I'm thinking, just in case radical changes are made. Either way, I'll be sure to describe the process and its conclusion in detail for you here in a few months!

Economic & Tactical AI

Nearly all of our testers have noted that the roadblock to AtG "taking the next step" is an improved AI. AI leaders are capable of the absolute basics right now, but this is where the large majority of the remaining work on AtG remains.

The first order of business is teaching the AI how to perform more advanced economic tasks, such as building new Settlements, developing plans to address resource shortages, and migrating.

Of course, it's of little use for the AI to build up a mighty economic engine if it's just going to be captured by the human player. The AI is already capable of "missions" like taking out nearby bandit camps and the like, but it's still woefully inadequate at defending itself. Once the combat system is in better shape it will finally make sense to invest more time here.

Finally, once the AI can protect itself we'll want to give it some fangs. For the player to take the AI seriously, it at least need to be capable of plowing through a weaker foe with a big pile of units. Full awareness of supply lines, amphibious invasions, the capacity to plan ahead and compensate for winter will come, but not until the basics are taken care of.

Diplomacy & Personality

The final ingredient necessary for AtG to make the jump from promising-prototype to actually-fun-strategy-game is instilling its leaders with character. Excellent diplomacy is one of AtG's priorities, and we have a long, long way to go on this front. Good ideas, design and code are all helpful, but by far the most important element is time.

To begin with, there's just a ton of dialogue and AI behaviors to write. If we want AI leaders to warn you to stay away from their borders, remember whether you do or not, comment on that fact and account for it in their future diplomatic planning we have to actually add each of those pieces by hand. After that you need to test it at least five or ten times to make sure it's even working the way you expect it to. It likely won't be, which demands yet more time for tweaking and evaluation.

Once the guts of the system actually work, it'll be time for me to put my writing cap on, because there's a looooot of dialogue that needs penning. There are twelve factions, each of which needs an interesting, unique voice.

On top of that, I'll probably want to write two to three times as much dialogue as absolutely necessary to minimize immersion-killing repetition. Seeing the same line just twice immediately breaks the illusion of the AI leaders being thinking, feeling characters. Ultimately, this is inevitable, but with enough time we can at least push it back to the third or fourth playthrough.

Anyone who's written professionally or just for fun knows how hard it is to come up with even one well-crafted sentence, let alone a whole book's worth!


So that's what's on the agenda. We're now past the halfway mark, but not by much. Possible changes to the economy aside, the updates will probably start getting a little less sexy, so be prepared for the regular refrain of "Hi guys, been playtesting and tweaking, it's coming along great!" But hey, that's strategy games development for you. Thanks again for your patience and support!

- Jon

AtG - Developer Updates / 2014 May 20 - Welcome to Alpha II!
« on: May 20, 2014, 07:14:57 PM »

I'm excited to announce that as of today At The Gates is now in Alpha II! Hooray!

So, uh... what the heck is "Alpha II", anyway?

"Alpha II" is the new name for the milestone we had been calling "Beta" for the past 15 months. So why the switch?

When most people hear that a product is in "beta" their immediate expectation is that it's, you know, almost done. AtG is coming together, but with over a year of development left it would be unfair to set the bar quite that high. Calling it "beta" has lead to some confusion among both players and partners over the past few weeks, so I decided to bite the bullet and give it a more appropriate name.

What this all means in the real world is that if you contributed or pre-ordered at the $50 level you can now download AtG from the Humble website!

If you haven't used the Humble Dashboard before just head over to Humble's Key Resender and enter the email address you had associated with your Kickstarter (or PayPal) account when you contributed. This is also where new versions of the game will be posted, so keep the address handy.

Alpha II also, at last, includes working Mac and Linux versions! These gave Jonathan and I a bit of a headache over the past couple months, but I'm already glad we spent the effort, and I'm sure our non-Windows fans will agree.

(As an aside, you can pre-order the "Early Access" bundle from our website at any time, should you be interested in joining the Alpha Test Group. I'm no longer able to refund Kickstarter pledges because of how much time has passed, but if you are willing to buy the Early Access version I'd be more than happy to refund your pledge via PayPal instead.

I should note that while AtG is a lot more fun than it was back when alpha testing started in October, it's still very, very rough. If you want a complete, polished experience I would honestly recommend holding off for now.)

I know many of you will be patiently waiting to play AtG until it's officially released, so I'll use this post as another opportunity to provide a peek behind the curtain of game development. In the next week or two I'll also be posting an in-depth review of the cool new features we've been busy with, along with our plans for the next few months. Later this year I plan to start streaming my playtests on In the meantime, feel free to follow or bookmark my new account, and I'll make an announcement once we get rolling.

The AtG Test Group will continue to be 'closed' and private, as I want all our effort to remain focused on our one and only goal: making the best strategy game of all time. The relationship between these might seem tenuous, but both this and my decision to rename the Beta milestone are rooted in the same logic. Let's dig into the issue a bit deeper.

Why Games Keep Secrets

If I were granted just one wish by the game development genie, I would ask that the only factor which determines a game's financial success was its quality at release. But alas, there are many examples of how this isn't the case. Consumers have a budget of both money and time, and few are willing to spend a large chunk hunting around for the 'ideal' entertainment product.

However, an advantage game developers have is that those who play games tend to be pretty invested in their hobby. Not only do they talk about it with their friends, but many also read gaming websites, watch YouTube videos, visit forums, look up review scores on Metacritic, etc. But this marketing head-start can turn into a ball and chain if you're not careful.

It never takes long for a 'narrative' to be woven around a game once it leaves the shroud of private development and goes 'public'. This is usually beneficial in the Age of Social Media, where more eyeballs is always better - but there are times when the narrative skews in wild and unexpected directions and the court of public opinion renders final judgment on a game long before it's finished. Needless to say, this can seriously hamper a game's chances of doing well.

Developers put a lot on the line when they offer their game up to the world, so they naturally want their work to shine. Many projects have been compromised because of how much time was spent making a game look good for the public, press or upper management. That isn't to say this is always a dumb route to take. The very survival of a project or studio can based on how shiny their pre-alpha looks, and I absolutely do not envy developers in that position.

Strategy games in particular take a while to come together. Much of their charm is the way every system makes up a massive interconnected web, but like an actual spider's web the price you pay is that pulling a single thread too hard causes the entire structure to unravel.

To be sure, it's also possible to be too protective of your game, hiding it away for so long that the perfect diamond you finally end up forging is only enjoyed by a handful of people. Putting out one cult classic after another might be good for the ego, but it doesn't keep food on the table!

So later this year we'll be loosening the screws a bit on AtG and allow people to post impressions, videos, etc. outside of our private forums with the goal of spreading word about this awesome game we're making far and wide.

But how do you draw that line between "not ready" and "ready"?

There's never a perfect answer, and for me it's one part gut feel and one part analytical process. A few weeks ago I sat down and thought again about what AtG "is" and made a list of what's truly essential and what's just complementary. My rule of thumb is that anything that goes unnoticed by someone mildly interested after playing for an hour can probably wait for later.

Based on this line, my list of essentials includes things like Competent Tactical AI and Finalized Art Style. A strategy game with a heavy emphasis on war obviously needs an AI that can at least defend itself. Major intercontinental invasions would also be nice to have, but can definitely wait for later.

While hardcore strategy gamers might roll their eyes about my second requirement, first impressions are hugely important in the entertainment business, and the way something looks is obviously the first thing you notice. I probably wouldn't have shown AtG's pre-pre-pre-alpha screenshots back during the Kickstarter campaign had that been an option! (On a related note, we have some really exciting things coming on this front - stay tuned.)

Unique faction abilities and victory conditions are a couple features I've deemed less important, so they will come online after we open up a bit. Both have an important role to play and are absolutely necessary for a finished release, but take either one away and the core essence of AtG remains unchanged. And alas, it pains me to say as a UI junkie, but making the game easier to play and learn also falls into this bucket.

But this is all just my opinion. I'm good friends with developers who disagree vehemently, and believe that a developer should get their game out in front of people as soon as possible. Being an indie would sure be a whole lot easier if marketing and PR were as straightforward as programming!


I'll be back with another update soon to talk about what we've been up to the past couple months and what's coming up next. 'Til then!

- Jon


Late last year I talked about how I was gearing up for a head-first dive into diplomacy. I'm still in that pool, but happy to report I've finally made my way out of the deep end. Without a doubt, this has been the biggest challenge I've undertaken. Accordingly, the whole process has taken a bit longer than I had planned.

But let's not skip ahead, and instead turn back to the beginning of our lengthy story.

The Plan

From the very beginning my primary goal with diplomacy was to put players in the driver's seat. If you've been following along since day one you may remember this article, which outlined my plans for diplomacy, now almost exactly a year old. The core of that design was AI Leaders making requests and you could pick from at your leisure. A few months ago I finally started getting my hands dirty, and it wasn't long before I discovered some serious flaws in the approach.

Topping the list was the dearth of interesting requests that actually make sense. Sure, you have the obvious "Please give me some food" and "Go beat up that guy" missions, but... where do you go from there?

Many possibilities that could work from a gameplay perspective don't make much sense thematically. Attila could ask you to build a big statue of him but, uh, why would he really care all that much? Wouldn't he rather just have your land or some iron? You're Attila's peer, not his official statue carver.

Okay, so maybe Attila is actually that full of himself and asks for his visage to be erected in granite - we have another problem now. Is building statues... fun? Is there even any strategy to it? Empire builders aren't city builders, and plopping down new structures in this genre is rarely super-engaging. It's the same reason why peaceful victory conditions are nearly always less fun than their more militaristic counterparts.

By this point it was clear that building one of the game's most important features on top of one of the genre's weakest was unwise. The question was where to go next.

The Plan v2.0

I decided to throw out everything and go all the way back to the drawing board.

I started by analyzing the two strategy games which have done the best job with diplomacy: Alpha Centauri and King of Dragon Pass. The common trait they both shared was driving diplomacy through personality rather than mechanical diplomatic knobs Sister Miriam may not have been the most strategically sound leader on the block, but you sure as heck knew who she was and what she wanted.

Taking the same approach would be a pretty big shift for AtG, but I concluded this was the right road to take. As much as we might like to pretend otherwise, there's simply no getting around the fact that interacting with another human is radically different from dealing with a computer. We're hard-wired to think of living organisms as agents with feelings, agendas and preferences. Computers are just logic and math, and it's impossible to truly mask that.

The new plan I came up with was for diplomacy to instead evoke the feeling of an interesting book, only different every time you pick it up. Each story should contain memorable characters and events, not just dry mechanical systems.

So we had a new destination - now I just had to figure out how to get there.

A relatively minor feature from the original design would turn out to be the starting point. One of the AI leader requests was insulting another leader, and doing so would improve relations with the initiator and damage them with the target. I had a thought... "What if this sort of interpersonal drama wasn't just an element of diplomacy, but the diplomacy?"

A big advantage AtG has over other games in the genre is that it's exclusively single-player. Systems need not be symmetrical or even fair. After all, our AI leaders might pretend to have feelings, but they obviously don't actually care who wins or loses or if life's unfair. This freedom to bend the AI to our every last whim is a huge asset, as it means the diplomacy system need not be symmetrical.

At this point I knew I was on to something. I brainstormed for a couple weeks, exploring where this new design could take us.

I realized that instead of waiting around for you to initiate contact AI leaders could take matters into their own hands and force you to answer questions you'd rather not.

In other empire builders it's incredibly annoying when AI leaders pop up between turns and there's no way to progress until you've made a decision, and I knew I wanted to fix this. AtG's single-player-only nature means that putting things on hold until your turn came with no drawback. The game would require a reply before you could end your turn, but you'd have as much time as you'd like to research your options beforehand.

Okay, so AI leaders would ask you to answer tough questions. But what should they ask for?

Sight to the Blind

Personality. Everything comes down to personality. I kept reminding myself throughout this process, and continue to do so. To bring this out I would have the AI leaders ask you questions relevant to their unique situation and philosophical leanings.

There should be no mystery as to whether or not Genseric and Attila like each other. They should often make comments about one another and trade barbs through the diplomatic channels. But this would get old quick if they kept saying the same line over and over again. It was clear that avoiding this would require AI leaders to be very attuned to what was going on around them in the world.

Genseric might think Attila is a threat and ask if you see things the same way. Either way, your answer will obviously have an effect on how much each AI leader likes you, but it should also mean more than just that. If you do in fact agree that Attila is a threat Genseric should remember that, and expect you to put your money where your mouth is when the time comes.

I also thought about what sorts of things a human player would care about and realized that context-awareness could be elevated to an even higher level.

Let's say you're exploring and come across a valuable iron deposit, and you know that Attila also happens to be in the neighborhood. Wouldn't it be cool if you could, you know, tell him to stay away? Or maybe instead of a demand you could negotiate, giving up small concessions in return? Yes please!

Not Given, But Earned

I now had many of the basic pillars for the new diplomacy design roughed out, but still hadn't yet figured out how all this would translate into actual gameplay mechanics.

A concern I'd long had regarding diplomacy was that a single 'Relations' value between you and each AI leader wasn't really deep enough. I played with adding other metrics like 'Trust', but came to the conclusion that this was barking up the wrong tree. When dealing with an AI opponent all that matters in the end is whether it's going to be nice to you or not. Splitting this up into different numbers muddies the water and poses some serious problems for a designer (how does an AI leader behave when he loves you but doesn't trust you? Does that even make sense?).

The concept of multiple relationship metrics was certainly flawed, but I was convinced that there was still something there, and maybe it just needed to be utilized differently...

Further brainstorming eventually gave birth to the answer and a new feature: 'Respect'. The key difference between the other failed ideas is that Respect is a global value. High Respect improves Relations and unlocks new diplomatic actions with all Leaders, while low Respect has the opposite effect. If you stare down a bully or aid someone in need your deeds will be whispered of in palaces, great halls and back alleys all across Europe. Conversely, word of you backing down will spread just as quickly, and may come back to haunt you.

Respect offers a completely new axis to consider when an AI leader puts you on the spot. Telling Attila and his horde of horse archers to shove it might seem like a bad idea in the short term, but doing so could also earn you long-term friendship with other members of the diplomatic community. As we've already discussed, AI leaders pay attention to what's going on, and neither friends nor enemies will soon forget acts of extreme courage and character.

To raise the stakes even further I decided that hard-earned reputation of yours would be incredible fragile. As in the real world, the only way to build up a good reputation is by working hard for a long time. And alas, a single slip-up can cost you everything. The benefits of being respected worldwide are great, but the challenge of holding onto them is equally so.

This new mechanical knob got me thinking about another interesting possibility: wishy-washy answers. Maybe instead of always having to agree or disagree, in some situations you could hedge and give a non-committal answer. Doing so would eliminate the risk of a strongly negative reaction by any specific AI leader, but the price would be your global Respect.

There are times when this could save your bacon, but others when it's downright crippling. Perhaps you're good friends with both Attila and Genseric, and one asks if you hate the other. You don't want to risk offending either party, so you play it smooth and give the 'diplomatic answer'. Everyone knows what you did, but at least you've avoided taking sides. Hmmm... smells like the kind of interesting, difficult decisions I love!

Loose Ends

So far I've covered the big changes to the design of the diplomacy system, but there have been a few smaller ones also worth mentioning.

My original thinking was for AI Leaders to have a handful of personality traits, similar to other empire builders. The list of traits would be lengthy, but some would inevitably be shared between leaders. Not only would this make it easy to hook behaviors in code up to specific traits, but these tags could be shown in-game, immediately giving you, the player, a basic feel for who these leaders are and and how they might act.

After spending several days fleshing out the design for several dozen Traits I stepped back, looked at what I'd made, and decided to scrap pretty much all of it.

The problem with shared traits is that they're actually in complete opposition to our primary goal: making each leader feel like a real, unique character. If Attila and Genseric are both labeled as "Wrathful" we’re already starting off on the wrong foot. This is better than having no clue, but as soon as you see the trait duplicated in another leader the immediate, undeniable implication is that the leaders are very much not unique. And no matter what we do that mechanical, copy-pasted flavor never quite goes away.

There will probably still be visible personality traits, but none will be shared. I’d also like for there to be variation between games so that a single AI leader doesn’t always behave exactly the same. The sweet spot for strategy is when you know enough about the situation to make educated decisions, but not so much that things become predictable.

To switch gears a bit, some of you might recall the ‘first meeting gift exchange minigame’ I talked about a while ago. Well, hopefully you didn't get too attached to it, because it's as dead as our good friend Julius Caesar. From the beginning there was always a niggling voice in the back of my head, and eventually it grew so loud that I couldn't ignore it any more. Along with just being kinda weird, I was never completely satisfied with the strategic trade-offs it offered.

Sure, you could choose to keep some cash in reserve and ensure you were always able to provide a gift, but spending money is a whole lot more fun than, you know, not spending it. And discourages you from utilizing the same approach in every game? In my mind’s eye I saw a future where virtually everyone gave gifts either 100% or 0% of the time. The correct answer being the same every time is pretty important in mathematics, but in game design it's a major flaw.

So alas first meeting gift minigame, we never knew ye. Still, the goal of spicing up first meetings lives on. The idea I’m playing around with now is every AI leader making an offer, request or demand of some kind upon meeting him. Not only does this highlight their personality far better than the gift minigame would have, but it still also puts some pressure on you to respond. If meeting Attila also means him demanding one thing or another it won’t take to establish some pretty clear opinions of the man!

Rubber, Meet Road

So that's the long, winding story of how the design of diplomacy has changed this winter. Congratulations, we've finished Chapter 1! Yep, everything we've talked about so far was still just the beginning.

A design is just that: a design. Not an actual, playable, fun game. Nearly all games sound like fun when all they are is a design doc. The unfortunate reality is that most fall apart long before the first playtest. I had the design, but not the game. My challenge was now translating all of these interesting ideas I’d pulled from various places into usable logic and code.

It wasn't really a surprise, but it didn't take long before any shred of hope of being past the hard part evaporated. Computer AI is nothing more than rules, math and numbers. Even if you know exactly what you want, crafting an entity with a near-human understanding of context with such crude tools is like building a skyscraper out of Popsicle sticks and glue.

Making a random die roll and deciding an AI leader pops up and say he's declaring war on you because he doesn't like you is, obviously, trivial. But it's a completely different ballgame if he needs to do so because you ignored his second warning about straying too close to his eastern border, stating such in a natural-sounding manner. And let's not forget this is just one possible exchange among many dozens.

When implementing a gameplay feature my usual process is to spend a few days brainstorming the high and mid-level design objectives, then start pounding out code like a fiend. Gameplay code is remarkably fast and easy to write - unfortunately, the remaining 90% of the work is the hard part of iterating, bugfixing and polishing.

Given the scope and complexity of what I had planned for diplomacy in AtG I knew my traditional approach wouldn't work. Instead, I would plan out every last minute detail before writing a line of code, ensuring any architectural flaws or oversights would be caught before causing real problems. The importance of this really can’t be exaggerated. A single structural error in a system as intricate as diplomacy in an empire builder can result in weeks of rework far down the road. In game development surprises are just part of the deal, but you want to catch and eliminate as many as you can while still in the design stage.

So I rolled up my sleeves and prepared for what I knew would be a messy affair, and I may have gotten a little carried away at the beginning. Wouldn't it be cool if AI leaders could mix and match comments relating to a shared topic? I sure thought so. Genseric might talk about how Attila was encroaching on his territory, then note that he'd also stolen an iron deposit, then finally ask you to undermine Attila in some way. Each of these could be combined, separated and used in any number of ways. The sky would be the limit!

Or not. The fatal problem was that the web of connections this results in grows to astronomical complexity in a hurry. Which statements are valid with one another? Which seem close but are subtly incompatible? How do you ensure the grammatical transitions between statements are sound right? Hell, how do you even figure out what order to put things in?

I do still think a system like this could work in theory, but even if it that’s true the end result would most likely be composite statements more disjointed than clever. We're making a game here, not exploring interesting theories in an academic setting.

For my diplomatic design to even be feasible I knew I'd have to step back a bit and start with a simpler foundation. The priority would be an AI that was extremely sharp and context-sensitive within tight limits. Quality, not quantity. Genseric could still complain about Attila getting too close and ask you to lend your support, but this would be a specific package of statements defined in code.

This approach would also allow me to ramp up scope down the road, if desired. Genseric noting that Attila is up to no good would be an ‘Observation’ comment type, while a follow-up statement asking you to go beat up on him would be a ‘Judgement’. That Observation could be used in a completely different situation, perhaps a greeting when you open up the diplomatic screen. Other Judgments could be hooked into it - maybe Genseric notes that Attila is up to no good, then asks you to break off your trade treaty with him. Flexible, but still simple.

I had reached a point where I had answers for all of the big questions on both the design and architecture side. I buckled down. Hard. I spent weeks mapping out the contents and logic for every single class and every single method in painstaking detail. After countless hurdles and breakthroughs I finally reached a point where I was satisfied with my preparation. I was ready to start programming.

Too Prepared?

However, I faced a mounting problem I’d never anticipated or even experienced before.


I’d planned out the diplomatic system to such great detail that calling what I now had on my plate ‘programming’ seems like a cruel joke. What I was actually doing was copying text out of a text document into a code window and cleaning up the syntax so that it would compile. Over. And over. And over. Not for hours or days, but weeks. Weeks of copying and pasting text. What started as a massive, exciting challenge devolved into a daily chore I dreaded.

I did finally make it through to the end, but my enthusiasm towards the diplomacy system had waned considerably. I now had a robust framework in place, but a massive amount of work still remained. AI leaders could stitch Observations and Judgments together and figure out whether saying a mean thing about that other guy made sense, but there was basically zero actual content to take advantage of it.

I tried to buckle down again, but this doesn't really help when you have to be creative again. I decided it was best to step away from diplomacy for a little bit. Normally I like to use these opportunities to brainstorm some new gameplay feature, but my brain was too toasted for even that.

Instead, I recharged over the following couple weeks by working on small polish features (hello, unit flag command icons!), catching up on business stuff I’d been putting off (ugh, taxes…), organizing my spreadsheets, penning this epic (!) tale, and fixing bugs.

About a week ago I was ready to jump back in. I started by implemented AI leader intrusion detection, demands to pledge to get or stay out, visualizing the tiles you're not allowed to enter again. A couple more days of testing and we were in business - everything was functioning just as I'd hoped. At long last I could see the fruits of my labor in the game, and all at once the hard work that was needed to breathe life into the monster finally seemed worth it. There’s really nothing quite as exhilarating as watching your baby take its very first breath.

The most exciting thing is that this is just the beginning. Writing the logic for each type of exchange and instilling each leader with a unique personality will certainly take time, but I now know that it can be done. I don't know how long it will ultimately take to get everything in and polished, but I can't wait to see how it turns out.

Looking Back

For two and a half months solid I ate, breathed and lived diplomacy. Thinking back on it now, I’m actually kind of surprised I didn’t run out of gas sooner. Even so, the core issue wasn’t the amount of time I spent on one single feature - I was changing gears every couple weeks to a completely new dimension of the project.

No, the problem was that preparing so methodically ended up sucking the joy out of the necessary next step of executing said plans. I don’t mind a little busywork here and there, but two straight weeks of literally zero creativity and challenge was too much. I know this is what many people have to endure every day of their lives, and I have a great deal of respect for those who do.

And as much as I wish it were so, when crafting a computer opponent for a game as ambitious as AtG you can't just try harder and push your way across the finish line by sheer force of will. Good AI requires planning, patience and a good bit of excitement to keep you going. It's kind of like building a whole separate game, only one where you can't really see what's going on!

Taking the time to do this right is the main reason why I decided to push AtG back into 2015. These days it's just kind of assumed that strategy games and indie games (to speak nothing of those which are both!) won't be as polished as they could be at release. I don't know how much longer it will take, but I promise you AtG will not be one of those games.

If I were to go back in time and repeat the past three months, I honestly wouldn’t change a whole lot. The key difference would be limiting my planning to high-level stuff, and not writing out the exact contents of individual methods.

I'm sure some programmers swear by this in-depth approach, and it certainly did lead to me sitting on a more robust framework today than I'd have had I coded it up by the seat of my pants. But the cost isn't one I want to pay again. If that means spending a week or two in the distant future rewriting a class or two - well, that's a price I'll happily pay. Games are an extension of the development team's creativity and passion. Lose those and your game loses its soul.

Looking Ahead

Phew, I think we made it! Now let's put a bow on this thing.

The plan from here is to flesh out the diplomatic skeleton currently in place and dress it up all nice and pretty, finish up a couple medium-sized features (which I'll talk more about in the next update), then kick off the beta test in 4-6 weeks.

Alright then! Time to get back to it. I snuck a quick glance at my other screen and I think Attila is giving me the stink eye. Probably something to do with me putting his logic for declaring war on hold to finish up this post.

Hmmm... On second thought, maybe I should leave that particular feature out...

- Jon

Official AtG Website | Follow @ConiferGames on Twitter | Like us on Facebook

AtG - Developer Updates / 2014 February 20 - Art
« on: March 06, 2014, 12:15:10 PM »
In this post I'll be talking about our recent progress on the art side!


In my December 2013 update I unveiled the new borders system, including a sneak peak at the heinous placeholder art that was in at the time (something my illustrious art lead still hasn't forgiven me for, I should note...).

Thankfully, Kay and Jonathan have since given the borders a serious face-lift, which you can see in the screenshot above. I'm sure Kay will continue making tweaks right up until we ship, but it'd be a bit of an understatement to say the new look is an improvement. Jonathan even went the extra mile and made the border width, gradient, etc. completely XML-driven, so hey, why not keep fiddling with things as long as you can?


As expected, these little guys ate up a sizable percent of artist time over the past few months, and will continue to do so until the game is finished. We now have rough drafts done for around half of the planned units. Here's the concept art for the Surveyor, one of the game's newer (and cooler) units that I talked about back in the July 2013 update:

Additionally, a few units are almost finished. Here's a short video showing the Scout giving his new-found mobility a spin.

Each frame of animation is a subsection of a much larger sprite sheet. An XML file associated with the sheet specifies the order of frames and how long each should be shown. Here's what the Scout's attack looks like:

And here's a video showing what it looks like in the game after we sprinkle it with Jonathan's magical fairy dust of code.

Making 2D animation by hand like this is a pretty insane amount of work when you consider how many frames are needed for every unit times the number of animations times the number of facing directions - but the payoff is equally huge.

Gameplay is always the #1 priority with a strategy game, but there's also real value in offering players a more immersive experience. 99% of gamers aren't willing to play a game that features ASCII art, regardless of how good the mechanics are. Everything beyond that minimum bar is just a matter of degrees.

Immersion is particularly important for AtG, as our 'main character' is the world itself. There's a lot going on in the game to be sure, but the procedural, cyclically evolving maps are the framework upon which everything else rests. The mechanics already create the illusion of a living world - the art should reinforce that.

On-Map Interface

We have a lengthy polish process still in front of us but even at this early stage we're always looking to improve usability and flow. One recent example is the addition of icons signifying a unit's current command to its ownership flag. This makes it possible to see what someone is up to without needing to even mouse over it:

The plan is also to display the number of turns remaining before said mission is completed nearby, and I'm sure the team and test group will come up with other enhancements as well.

Some developers might wait until the end of a project to bother with this sort of work, but that's just not how I'm wired. I obsess over user interface and experience and if I feel like a new UI feature will make the game easier to play or learn I'll usually set aside what I'm doing and plug it in right then and there. There are times when I have to slap and remind myself that feature X is a higher priority, but hey - if something needs to get in anyways you might as well knock it out while you're thinking about it, right? A stitch in time and all that.

Okay, quick tangent time. I know I've talked about this before, but I just can't help myself.

This kind of freedom is the reason to be a tiny self-or-crowdfunded indie. Keeping even a 'small' team of ten on track requires a non-trivial amount of planning and management, and this kind of overhead grows exponentially with head count. It doesn't take much before a dedicated producer becomes more than just a luxury.

By contrast, AtG's core team recently grew to two full-timers. The obvious downside of such a skeletal team is that developing a big, complex game like AtG demands a long and patient dev cycle. And sure, I still have to answer emails, file taxes, etc. But I'd estimate at least 80% of my time is spent designing or programming. This ain't the right model if you're aiming to make a first-person shooter, but I don't anticipate one of those creeping onto the schedule any time soon!


Anyways, that's about it for recent highlights on the art side. Stay tuned for my upcoming opus of an update which will retrace the twists and turns taken by the diplomacy system over the past few months. I'll also be sharing some more details about the start of beta testing, which I expect to get rolling in late March.

Your support is sincerely appreciated, and should you have any questions feel free to leave a comment or fire me a message! The road ahead remains a long one, but I have no doubt this game will be amazing once we're all done.

- Jon

P.S. Yes, yes, I know, the date I put this up and the date in the thread title don't match. Just catching the forum up to the Kickstarter page!

AtG - Developer Updates / 2013 December 1 - Economics & Schedule
« on: December 09, 2013, 11:13:22 AM »

Hey all, it’s been a couple months so I figured it was time again to let you know where we’re at with AtG.

Alpha testing started up in October and has already paid huge dividends. We have of course found many bugs and made innumerable small improvements, but the biggest benefit has been highlighting the important, high-level questions marks we still need to address.

The biggest hole we’ve identified relates to structure and goals. Most of the planned big gameplay features are in, but what does it all add up to while you’re playing? Sure, you can explore the map, survey and harvest resources, migrate from one place to another – but why? What the heck are we trying to do here anyways?

This is a challenge designers face with every complex empire builder, but it’s particularly acute with AtG right now. One reason for this is that true diplomacy has yet to be implemented. Our intention is for the AI leaders to help steer the experience through their demands, requests and general opportunities offered.

The Romans especially have an important job in the early game, as they’re basically the ‘neighborhood bully’ you can either line up behind or defy. Their role changes over time as a variety of nasty events like plagues and civil wars afflict them (but not you!), presenting enterprising barbarian leaders with the occasional chance to flip the balance of power.

Our offensive along this front began a few weeks ago, but there’s still a long way to go. We’ve also made a number of other big changes, which I’ll go over in detail.

Recent Changes

Another issue relating to early game pacing involved migration. In early versions your starting location was fairly cozy and self-sustaining, which meant there was very little reason to move – and when you did it was easier to just spin off small colonies than completely pack up. We’ve made a number of modifications to address this.

Starting locations are no longer quite so hospitable. You start with a sufficient stockpile to keep your head above water for a couple years, but you now need to start thinking about finding a new place to live right away. This provides a clear goal from turn 1 that the game was previously lacking.

There have also been some tweaks to the economic system. Resources like Metal and Wood are still vital for building Improvements and Units, but maintenance is now paid only in Wealth. Food now serves as a cap on the number and size of Cities that can be supported, and is no longer required by Units. This smooths out some of the unnecessarily complicated wrinkles in the economic system by clarifying the role of each resource without making any of them less important.

Borders are another recent addition, and one that really changes the feel of the game. (You can see our temporary placeholder art in the two screenshots I’ve attached to this update) Improvements now need to be inside your borders to produce anything, but the high food cost of Settlements discourages them from being spammed everywhere. There is now an interesting tension between having enough Settlements to collect resources, but not so many that you can’t feed everyone.

Borders also add some clarity to diplomacy. I wanted each kingdom’s area of control to feel ‘fuzzy’, as this is how it was historically during this time, but gameplay has to win out over realism. You have to know how close is too close, because negotiating with computer opponents is just plain frustrating it’s not clear what they want.


So what’s next?

No surprise, our #1 priority in the coming months is diplomacy. Not only is it important in defining the feel and pacing of the game, but getting it right will also take a significant amount of playtesting and iteration. Hand-in-hand are the still-WIP Romanization Perks, which are earned by working with or fighting against the Romans – and if there are no requests to complete for them then it’s going to be awful hard to acquire Perks! Once a first pass on these two features are in we’ll have a good idea as to the form the final version of the game will take.

Once interaction with other leaders is knocked out we’ll be shifting focus to smaller gameplay features that have been on the list for a while: steel upgrades for Units, the valuable Salt resource (which acts like both Food and Wealth), migratory animals, etc. Finally, we’ll wrap up the big stuff with important-but-peripheral features like faction abilities and victory conditions.

In the first few months of 2014 we’ll open the game up to beta testing and shift over to ‘tweak and polish’ mode – where we’ll remain for a loooong time. I’ve noted in both the original Kickstarter pitch and subsequent updates that the goal with AtG is not just to make a strategy game that not only breaks new ground but also one that is polished at release. This recipe calls for one key ingredient which has no substitute: time.

AtG could be released as originally planned in mid-2014 as a ‘good’ game. But would it be one of the best strategy games ever? Probably not. As such, I’ve made the decision to push back AtG’s release until 2015.

I know this is disappointing news, but at the end of the day what we all want is a great game, and our team is willing to stick with AtG as long as it takes to get there. This kind of flexibility is only possible because our funding comes from your generosity, and while painful in the short term it will no doubt pay off over the long term. I think I speak for everyone in saying that what we want is an amazing game, even if it means a longer wait.

Thanks again for your support and patience. As always, don’t hesitate to ask if you have any questions!

- Jon

Forum Announcements & Questions / Avatar Size Limit Has Been Increased
« on: November 01, 2013, 03:44:54 PM »
The previous size limit was 80x80, and I decided to bump it up to 125x125. I figured I'd announce so that everyone interested knows they have the option to upgrade.

- Jon

AtG - Developer Updates / 2013 October 8 - Alpha Testing… We Are Go!
« on: October 08, 2013, 07:11:55 PM »

The first playable alpha version of At the Gates is now available! For those of you who generously contributed $80 or more, a download link for the alpha version of AtG should be on your Humble Dashboard along with a complimentary Steam key.

If you haven't used the Humble Dashboard before, just head over here to Humble's Key Resender and enter the email address you have associated with your Kickstarter (or PayPal) account. This Dashboard is where new versions of the game will also be posted, so keep the address handy.

Didn't pledge at the $80 tier, but all this talk of steamy, hot, barbaric, 'frozen-and-crossable-rivers-in-the-winter' strategic action just too much to resist? Well, no problem! You can still join in on the fun by pre-ordering the At the Gates Early Access Bundle.

If you choose to do so but you also made a contribution in the past we're happy to refund your original pledge via PayPal. Just fire us a quick email at and we'll process your refund within a day or two. Those of you who contributed at the beta-testing tier ($50) will be granted access in Q1 2014.

Okay! So before we all get too excited about the idea of playing AtG I'll offer a reminder that THE goal of our test group is to help identify what's fun (or more likely, what isn't). It's not to simply experience said fun. Good games end up good only through hard work. Or, well, luck, but I'm not betting on that, nor should anyone. In any case, AtG is still very rough and it will take time for the game's true form to take shape. And that's completely forgetting the annoying bugs you'll run into along the way (I'm not kidding here - imagine your best gaming experience ever ruined with no way of continuing it. Not fun.).

As you might imagine, personally, I prefer waiting until a game is completely finished before playing it, but I know others feel differently. Conifer would be the proverbial 'barbarian tribe in the winter sans food' without the absolutely invaluable feedback provided by our testers, and we're indebted to them for their efforts. Make no mistake though, this sort of work isn't everyone's cup of tea. If you're hoping to, you know, have fun playing At the Gates... well, the alpha testing group probably isn't for you.

Those of you brave souls who are in fact a part of this distinguished cadre, I encourage you to use the Steam version (included on your Humble Dashboard page). Steam comes bundled with several handy features that make the lives of the dev team easier and should, ideally, result in a better game. In particular, Steam automatically updates to new versions (ensuring everyone is on the same page, saving us time when hunting down problems), provides Conifer with extra debugging tools when the game inevitably runs into problems, and gives us information about what computer hardware our community is using. Of course, if you prefer the direct, DRM-free download that is also (and always will be) an option.

For now, only the Windows version of AtG is available for testing, but the plan is to add support for both Linux and Mac within the next month or two. For a while now our architect Jonathan and I have been completely focused on getting the game testable period, so we now have to spend some time catching the other platforms back up. Fortunately though, all versions should remain in sync and functional once we do reach that point. And my most sincere thanks to those waiting on the iPad version, as the wait there is going to be a while - not until the PC version is done and ready to roll.

Current Features

Alright then! Without further ado, here's a quick rundown of the major features available in the alpha version of AtG:

In Right Now
  • Full economic system
  • Full combat system
  • Seasonal map changes
  • Random world generation
  • Supply system
  • Resources and Goody Huts
  • Basic AI logic

Still Planned
  • Unit animations (except for the Scout, which is already in)
  • The majority of non-terrain art
  • Diplomacy (aside from declaring war)
  • Romanization Perks (a system similar to scientific research in other 4X games)
  • Victory conditions
  • Faction differentiation
  • Modding
  • Smart AI logic

Additionally, many of the on-map items are still represented with (purposefully gaudy) placeholder graphics, and we have several gameplay items on our to-do list for improvement as well (e.g. terrain seasonal effects, combat resolution).

In other words, pardon our dust and please watch your step as you enter the construction zone!

Project Roadmap

I know that many of you aren't part of the alpha testing group and this announcement is little more than a cruel tease. As recompense I'll provide an update for our upcoming development road map, which should hopefully whet your appetite, at least to a small extent!

Over the next month we'll be incorporating feedback from the playtest group and making any big changes to the gameplay the team deems necessary. We might have to completely revamp the economic system, or there might only be minor tweaks. There's honestly no way to say for sure, and all I can say right now is "Welcome to iterative design!"

From there, the focus shifts over to diplomacy and player-AI interaction. You can declare war now but not much else. Fulfilling requests offered by other AI leaders and dealing with the Romans are both meant to be major features that anchor the mid and late-game. As such, we need to establish a feel for what we actually have there within short order, then figure out whether if we're actually going down the right path.

After that we'll shift back over to the AI. It's already capable of the basics, such as managing resources, surveying and harvesting new deposits, taking out nearby hostile camps, etc. but more advanced actions are beyond its capabilities. My aim is for AtG to have the best AI of any 4X game ever made, so we certainly still have a long way to go in achieving that goal!

Heading into the new year we'll shift over into 'beta testing' mode where we'll start bouncing around quite a bit and fighting fires as they appear. Again, your guess as to what that involves is as good as mine. The only thing I'm sure of is that a significant percentage of my time from here on out will be dedicated to AI development.

I'm really happy with our progress, but AtG is very much still an alpha, and as such needs a ton of work. We have a long road until release though, so there's plenty of time to polish things up. Thanks again for your support and interest, and I can't wait to find out where we'll all end up!

- Jon

AtG - Developer Updates / 2013 September 23 - New Art Style (Sneak Peek)
« on: September 23, 2013, 12:34:09 PM »
Just a quickie today. I wanted to give you guys a taste of the new, more painterly art style we're shifting AtG over to:

Kudos should be forwarded along to our art director 'Fox' on her amazing work!

- Jon

AtG - Developer Updates / 2013 September 4 - The Strategy of Playtesting
« on: September 04, 2013, 04:32:08 PM »

Hey all, just a short update on recent goings-on, plus a special a peek behind the curtain regarding how developers decide when to pull back said curtain. I know many of you are very eager to get your hands on the game, and we'll be kicking the alpha off in a few weeks. So what have we been up to, and why the wait?

AI Status Report

I'm in the process of finishing up the first batch of key AI functionality. The basic framework for all AI systems (except for diplomacy) is now in. The AI knows how to explore, account for supply, train new units, defend itself, and survey/improve resource deposits. The last two items on my list are teaching the AI how to take out nearby hostile camps, and migrating once an area's resources start running out. At that point they'll be at least semi-competent at the early game, and - officially - able to play the game.

On a related front, Jonathan is almost done untangling the complex web of pain that is pathfinding, a feature needed by the AI and for the issuing of multi-turn move orders. Among many other benefits, I'm particularly excited about the ability to see which tiles you're able to move to during the turn. Blind trial and error is not most people's preferred method of learning!

Once these tasks are wrapped up we'll be doing a week of internal playtesting and tweaking to ensure the game can be played for at least a few minutes before devolving into a charred mass of fail.

Okay, sure, the game isn't done yet - this is neither news nor a concern if you're a member of our dedicated initial test group. After all, if the game were ready then it wouldn't be an alpha test! So what's the rationale behind holding off for another few weeks?

Deciding When to Start Playtesting

First impressions are incredibly valuable. In fact, probably the most important feedback a developer can get. They offer a nearly-unbiased metric for what's actually working and what needs the most attention. It's tempting to shrug off early complaints and say "that's no big deal, we'll fix it later." But sometimes "later" never comes. And even if it does, that seemingly minor problem might have been masking one far more insidious. And now that you only have a month left it's far too late to do anything about it. Woops!

Veteran playtesters are crucial in a variety of other ways, but after playing for a while you become blind to certain high-level flaws that newbies spot easily. Your stock of these bullets is limited, and it's unwise to start firing them at an early experience you know to be completely unrepresentative of your final vision. This is true with any game, but let's take a look at a couple tangible examples from AtG.

The supply feature has yet to be tested rigorously and it's pretty much guaranteed the amount provided by each terrain, consumed by each Unit, the effect radius of Supply Camps and so on are all completely out of whack. If we started testing right now most players would find the system completely brutal and (gulp) unfun. But is this because our design vision for supply is completely broken? Or is it simply the result of a few numbers slightly askew? This determination is hard under ideal circumstances, and at this early stage you honestly have no clue until you're sure reality matches up at least roughly with the idealized design that lives in your head.

Exploration might be an even more poignant illustration of this. Uncovering a shrouded map is fun because you're constantly discovering something new - but after you've seen it all that excitement diminishes somewhat. We've invested heavily in making this aspect of AtG very strong, but does it really work? Until the AI is playing the same game as the human there's no way you can accurately gauge this. If you're able to grab all of the goodies you'll develop a highly skewed opinion of the reward pacing. And unlike supply, once you've seen the surprises there's no going back. Sure, exploration is still fun the hundredth time you play, but in a very different way. That's not the kind of blind spot you want to just shrug off.

Playtesting too early isn't even the biggest risk, as it's much easier - and far more dangerous - to pursue the opposite extreme. Everyone is sensitive to criticism and there's always a voice in the back of your head encouraging you to spend too much time polishing your work before opening it up to the world. The problem is that the more you invest the more you waste when you change gears. And trust me, change gears you will. A lot. In the best-case scenario you've wasted a lot of time, and in the worst your game is far worse than it could - and should - have been.

Developers have a tough balancing act in deciding when to reveal their game to the outside world. There's no formula that works in all situations, but there's no doubt in my mind that it's better to err on the side of early.

And lean that direction we shall. Just... not quite yet! Thanks again for your patience and support!

- Jon


Hey all, fairly short update this time - news I'm sure many of you are rejoicing over!

Alpha Testing

The plan is to kick things off in late August or early September. I'll be wrapping up a couple more big features next week, but before spending a lot of time on playtesting I want the AI to be capable of the basics: defending itself, claiming resource deposits, taking out hostile tribes, etc. We have a good idea of how it will do this, and now it's time to actually put that in code. AtG is very much playable right now, but ultimately, until the AI is competing with you it's impossible to get a good feel for what state a strategy game is in.

Resource Distribution

As you all know, in AtG it's important to be thinking about the opportunities in front of you, be it migrating, claiming a valuable resource that just appeared, or taking advantage of a surprise diplomatic request. Resources in particular are a major factor which drives the game, and lately I've been working on how they're distributed across the map, and the rate and manner in which new ones appear.

One of my goals is for different regions of the map to have character, instead of everything feeling like one homogeneous mass. To help achieve this, inside the random map generator I added the ability to produce clusters of items. These can be resource deposits, neutral-owned improvements, goody huts, you name it. I call these "Region Traits," and down the road I might flesh them out even further and allow for properties that aren't simply objects which occupy tiles.

I've had to make several tweaks in order to achieve game balance, and no doubt many more will be necessary. Fortunately, I knew this ahead of time and the system is very flexible. You can throw down basically any type of object with it, define what terrain must (not) be present, which other traits must (not) be present, etc. The old, scattershot distribution logic is still in there and everything is in XML, so modders should have a lot of fun playing around with all the knobs.

Resource Appearance

The other resource-related feature I've been working on is resource appearance. At the start of a game a small percentage of them are visible, and new ones pop up over time. I've thought a lot about the best way of doing this... should the appearance of new deposits be completely random? Should you have to send a unit off to find them? Is there some kind of abstract investment players can make to speed up the rate? Unfortunately, there are problems with each of these.

Units manually checking each tile is nothing but tedious busywork, and wasn't something I particularly enjoyed in SSI's Imperialism. Overall I liked that game, but there really wasn't any strategy to finding new resources. Off-map investment is too abstract, and doesn't fit thematically in late antiquity. And while deposits just popping up out of nowhere works, it's a shot squarely across the bow of suspension of reality: if everything else in the game requires sending units out to do it, how are you coming across this perfect geographic information?

The design I've settled on is a mix of the best elements of those problematic ideas, joined up with a couple new ones. When you first encounter a new resource deposit it's "shrouded." You can tell if it's a rock, a plant or an animal, but not exactly what it is, nor can you use it. To resolve that, a "surveyor" unit has to go out and identify the deposit. New resources do appear somewhat randomly over time, but instead of seeing a "large iron deposit" appear in the fog, the information you're getting is basically just hearsay that needs to be verified. The deposit may not even exist at all!

There are several reasons why this is the approach I've settled on.

First, it dangles a carrot out there for players, and gives them something to get excited about and plan around. It also requires active involvement that can be prioritized, shifted, etc. I didn't want a system where you just waited around, hoping that at some point in the near future the game decides to be nice and serve you dinner.

And, gameplay aside, what I really like is that it makes sense. While a scout is off running around he might come across a shiny metal in a pile of rocks or find animal dung on the ground, and you should at least have some information about what you just found. Or rumors about some metal to the east might circulate, but there's no way to know for sure. In the end, drawing accurate conclusions requires someone with experience taking a look.

This new feature will be one of our focal points with the upcoming alpha test. As always, there's a chance it's just plain unfun or has other major problems, and we have to go back to the drawing board - but hey, that's game development!

- Jon

AtG Website | 'Like' us on Facebook | Conifer Twitter

Forum Announcements & Questions / Forum Slowness
« on: July 08, 2013, 01:05:18 PM »
As many of you have probably noticed, the forums have been finicky the past few weeks. They fortunately haven't gone down completely, but often slow down to a crawl and sometimes fail to load. The hosting appears to be fine, so it's likely an issue confined to the forum database or software.

I ran a variety of performance and maintenance processes on the database, and I'm hoping that corrects the problem. If not though, let us know in this thread, and our crack team will look into it further.

Apologies for the lengthy inconvenience!

- Jon

AtG - Developer Updates / 2013 June 24 - AI Design Breakdown
« on: June 24, 2013, 04:24:19 PM »

The AI is one of every strategy game's most important features. The bread and butter of the genre is offering difficult decisions in a replayable environment where success requires constant adaptation. Good AI enhances all three of these elements - whereas a bad one can derail the entire experience.

In the context of game AI, "good" means more than just "smart." The job of computer opponents is more than just standing in for humans - they're a part of the world and a gameplay system just like economics, diplomacy and warfare. Attila the Hun isn't just there to provide a roadblock to victory - he's there to be Attila the Hun, the frightening warlord who races in with a massive horde of horse archers, burns everything in sight, and runs off before you can muster a response. Is such a strategy productive? Hopefully! But it's in many ways that's only a secondary concern.

That having been said, a good AI must also put up a competent fight. This is especially true with features like combat, when the AI's decisions are front-and-center and mistakes cannot be tucked under the rug. Such competency requires AI players to craft plans and be capable of course correcting as necessary.

For all of this to come together, you too as AI developer must have a plan. To that end, I've spent much of the past couple months putting together an insanely detailed breakdown for every AI subsystem and the logic each will perform. Think of it as a "first draft," where the second will be the translation to programming code. I've run through repeated thought experiments to test my design and I've scrapped more than one critical feature when it became clear that intention and results weren't in harmony.

I won't be posting that work today (or ever... it's already well over 200 pages and still growing!). But I know many of you would like to see how I envision everything fitting together, so what I will be doing is sharing my basic outline for the components that will make up an AI player. As with all of game development I have no doubt the details will change a thousand times over, but I'm fairly confident this general structure will be maintained until the game is completed, and very possibly for several future titles.

- Jon

AtG Website | 'Like' us on Facebook | Conifer Twitter

AI Outline

Info Library (IL) - Not a specific AI system, but a general name for the vast collection of processed data for an AI player... is that guy stronger than me? How dangerous it that tile? etc.

Grand Strategy AI (GSAI) - Sets the general, game-wide direction taken by the player.

Objectives AI (OAI) - Determines what the AI's priorities are, what opportunities are available, which are worth pursuing, etc. The Objectives chosen are what shapes the decisions made by all of the following AI subsystems.

Economic AI (EA) - Allocates Resources, manages production choices and handles misc low-level economic decisions like choosing Romanization Perks.

Diplomatic AI (DAI) - Manages day-to-day diplomatic interactions, including when to offer trades, what offers we'll accept and what specific wording is used in all exchanges.

Front AI (FAI) - Allocates Units between different opportunities, and puts in requests with EAI when more are needed.

Tactical AI (TAI) - Gives specific orders to every Unit, every turn.

Priority - A scale with 20 values that serves as a general measurement for how important something is. Each label can have a "+" or "-" after it to make its value slightly more or less. So a "Very Good-" Priority would be one level above a "Good+" Priority, which is itself one level above "Good".

Zone - A small group of tiles, will probably end up being roughly 3x3.

Grand Strategy AI (GSAI)


The GSAI chooses a single GS, which shapes the general game-wide direction an AI player pursues. It dictates the what, but not the how - it might provide us with the goal of conquest, but it won’t tell us if we’re going to do it by sea, with mounted Units, etc. Execution details such as these are decided at the OAI level, which also takes personality traits and the current situation into account.


In the early game, the GSAI picks a “precursor” GS, which hints the player in a direction without committing them to anything specific. Maybe we’re playing a militaristic game, but we don’t know what form that will take. Or we’re committed to being peaceful with the Romans, but we’re unsure how closely we should tie ourselves to them since we don’t yet know our proximity.
In the XML, each AI leader is assigned a fixed set of GSs it’s able to choose from. This ensures that every leader plays consistent with their personality, but doesn’t tie them down to a single strategy like “always attack everyone you see.”

Factors to Consider
  • The AI’s intrinsic personality is by far the most important. Attila is never going to sit back and play nice with everyone, no matter what the situation is.
  • Proximity to the Romans. If we’re really close we probably want to make nice. If we’re too far away then focusing heavily on them doesn’t really make sense.
  • Proximity to other barbarians. If we’re completely surrounded by enemies then we probably want to lie low and play it safe until things shake out.
  • Availability of resources. Should we completely lack Metal, then it doesn’t make much sense to play aggressively.
  • Geography. If we’re close to the water, this opens up the possibility of naval raiding. If we’re tucked into a defensible corner, then we can afford to be a little less cautious.
  • Military balance of power. If we fight a major war, lose our entire army and two-thirds of our population, then it’s probably time to change course.

Relationship with Other Systems

The GSAI doesn’t receive input from any other subsystem.
  • OAI: The sole job of the GSAI is to alter the Priority scoring of Objectives being considered by the OAI. It makes decisions unilaterally (using data from the IL) and receives no input from anyone.

Objectives AI (OAI)


This is the meat of the player-level AI which sets all short and medium-term goals. Decisions are made here for everything from who to declare war on, to which resource deposits to try and grab, to when and where to migrate.

The reason why so much is done in one place is because the AI needs to have a very clear idea of how to score competing priorities. This can either be done with multiple subsystems that all “speak the same language,” or handled in a single location. We’re taking the latter approach.

However, what the OAI does not do is manage any details. If we want Metal, then the OAI figures out which Deposit is worth going after and assigns it a priority, then hands the task off to the FAI to get it done. If there aren’t enough Units available the FAI is what figures this out, and then makes a Request to the EAI.


The OAI utilizes two different types of Objectives, lumped into a single prioritized list:
  • Goals - Abstract “things we want to do,” like undermining the Goths, getting more Metal, or migrating.
  • Opportunities - Concrete “things we can do,” like invading the Goths, harvesting the Iron Deposit on Tile X, or migrating to Region Y.

Objective Creation & Execution

First, every single possible Objective is analyzed for its viability, and if it’s legal, prioritized. Ongoing Objectives are processed first and given a small bias (so that the AI doesn’t change its mind all the time), followed by new Objectives. The combined list is then sorted.

Next, higher priority Objectives alter the Priority of those Objectives below them in the list - if we’ve decided we’re going to invade the Romans, it doesn’t make sense to also try to complete a Request for them!

Any Objective with at least Medium- Priority is considered Active, which means it will be acted upon by other AI systems. Everything below that threshold is completely ignored. Since every possibility is considered and scored, this is our way of “focusing the AI’s attention.”

Ultimately, the OAI has authority over all other systems. If it says to declare war, that’s what we’re going to be doing - consequences be damned.

Relationship with Other Systems
  • GSAI: Our current GS alters the Priorities of individual Objectives within the OAI. The “Lie Low” GS will greatly reduce the Priority assigned to all “Invade Player X” Objectives.
  • EAI: When the OAI wants a nonmilitary thing built, researched, chosen, etc., it puts in a Request with the EAI. Construction Requests from the OAI are extremely rare, as all Requests for anything relating to Units come from the FAI (which, in turn, derives its goals from the OAI - delegation at its finest!).
  • DAI: The OAI’s Objectives shape the general approach taken by the DAI (“make trades when possible”) and even occasionally makes specific directives (“try to trade for Metal”). The OAI is completely in charge of declaring war and making peace. When negotiating peace treaties, the OAI tells the DAI the general parameters of what is acceptable. The best way to think of it is that the OAI makes the important decisions, while the DAI handles day-to-day affairs.
  • FAI: The OAI provides the FAI with 2 things. First, general military goals, such as “capture Gothic Cities” or “wreak mayhem on the Huns” or “ignore everything else, protect the homeland!” The OAI also asks for specific missions, such as “capture that Hostile Stronghold” or “claim that Iron deposit.” The OAI also gets its info from the IL side of the FAI as to whether we should be fighting, and if so, how.

Economic AI (EAI)


The EAI balances day-to-day management of the economy with fulfilling “Requests” that come from the OAI and FAI. It’s main job is to manage the allocation of Resources, but it also handles other economic decisions such as choosing Romanization Perks.

Nearly all actions taken by the EAI will be with the goal of fulfilling Requests, but there will be times when there are no pressing matters to attend to and the EAI must maintain a healthy holding pattern.

The EAI also makes Requests of the OAI when there are circumstances that prevent it from completing Requests its received. For example, if the FAI asks the EAI to build Infantry but we have no Metal to do it with, it’s up to the OAI to rectify that (or not, if there’s more important business to attend to).


The main task of the EAI is balancing competing Requests and the long-term health of the kingdom. If we have a Request to train Units which require Population, we’re unlikely to build them from tiny Cities that can’t really afford it, unless that really is in fact the best way to complete a very high Priority Request.

Most Requests have a target location, and the EAI factors that in when deciding where to build what. For example, if we’re planning on launching an invasion it’s better to have Units built nearby than on an island on the other side of the map.

If the score for a City/Request pairing is high enough, that Request is pushed through. If not, the Request goes away, and must be re-added the following turn by the subsystem which made it. This ensures other systems are constantly re-evaluating what they do and don’t need, and allows the EAI to be flexible and adapt to new circumstances immediately.

The EAI evaluates multiple combinations of actions to see which results in the highest score (just like basically every action taken by the TAI). This prevents situations where the AI is too “greedy” with accomplishing Requests. We’d rather the EAI accommodate two “High” Priority Requests than one that’s “Very High” and another that’s “Insignificant.”

The EAI performs exactly the same for all players in all situations. Personality biases are expressed in the Objectives chosen by the OAI.

Factors to Consider
  • OAI economic and FAI military Requests
  • Is a City a particularly good or bad fit?
    • Proximity to target location
    • Population before and after
    • Proximity to enemies
    • Other (special buildings)
  • Current and projected Resource accumulation
  • Current and projected maintenance (e.g. no Food during the winter)

Relationship with Other Systems
  • OAI: The EAI receives Requests from the OAI, and can also make Requests of it. “You want us to train ships, but we don’t have any Wood!”
  • DAI: The EAI tells the DAI how much we can (or cannot) afford to give up certain Resources for trade or peace treaties. However, the decision for whether or not to make the move is ultimately up to the DAI, as making peace might be a matter of life or death.
  • FAI: The EAI receives construction Requests from the FAI.

Diplomatic AI (DAI)


The main job of the DAI is to execute on diplomatic directives provided by the OAI (which is where the important decisions like declaring war and suing for peace are made). The DAI manages day-to-day interactions of popping up when appropriate, determines the exact language in which a message is to be delivered, etc.

The DAI also looks for opportunities to complete Objectives within the parameters outlined by the OAI. There might be an Objective that really wants us to get Iron, and the Diplomatic AI looks for opportunities to trade for it. If there’s another Objective that tells us to hate on the Goths, we won’t try to trade for their Iron even it would help us.


The DAI tests the list of actions it can perform to see if they make sense at that time, based on what Objectives have diplomatic ramifications and are in a state where action is permitted. For example, if we have an Objective to declare war and attack the Goths and the Objective says it’s ready to go, the DAI will fire away.

A particularly diplomatic AI leader will create diplomacy-specific Objectives, which the DAI then sees and reacts to.

The DAI will only attempt to make a trade if the active Objectives allow for it. e.g. if both “Get More Metal” and “Don’t Trade with Attila” are active, we’ll try to trade for Metal, but not with our Hunnic friend.

If another leader offers us a proposal, the DAI determines if it’s worth agreeing to. It analyzes each piece of the deal to see how valuable it is to us in our specific situation. For example, the value of a Resource or the cost of declaring war on someone will be tested against our Objectives.

As should be fairly clear, the goal is to look at Objectives as much as possible when deciding on what diplomatic activities to engage in.

Factors to Consider
  • Current Objectives.
  • Relations with other leaders.
  • MAYBE stuff in the IL, although my preference is to use the Objectives whenever possible, as this is the part of the AI that decides what it does and does not want to do.

Relationship with Other Systems
  • OAI: The DAI receives general diplomatic directives from the OAI via Objectives. e.g. Make nice with the Western Romans, don’t help the Huns, etc.
  • EAI: The DAI can ask the EAI it how much of a Resource it’s okay to trade. However, the DAI has the final authority to make the call.

Front AI (FAI)


The FAI divvies Units up and ensures they’re utilized in the best way possible.

The most important job of the FAI is enacting the whims of the OAI. It might want us to take down a Hostile Stronghold, or muster an invasion, or improve an Iron Deposit. It’s up to the FAI to figure out what is required and put the pieces in motion. From there, the TAI then takes over and directs specific moves.

As part of this, the FAI organizes Units into “Fronts,” which are groups with a shared goal. An invasion force should muster at tile X and launch from tile Y. The homeland is divided into Zones A, B and C, and each needs a unique level of defense based on the threat posed to and contents of each. We need at least Z in order to safely escort a Laborer to the Horses over yonder.


The FAI creates one Front for each:
  • Invasion or Mission requested by the OAI.
  • Zone that the player has an interest in defending.

A Front ends either when the OAI kills off the associated Objective, or when the FAI decides to abandon a Zone (on defense). Defensive Fronts are recreated every turn, since they don’t keep track of any persistent data.

Fronts that are not Defensive are classified as either a Mission, if they have a very discrete goal (such as capturing a Hostile Stronghold), or an Invasion, if its objectives are less defined (go beat up on the Huns). Collectively, these two are referred to as “I/Ms,” as they tend to be similar to one another and somewhat unlike Defensive Fronts.

All Fronts are assigned a Priority, which determines how Units are divvied up. For I/Ms, Priority is identical to the associated Objective. The Priority of a Defensive Front is based on the general defense-related Objectives in the OAI (“Defend the homeland at all costs!”) and the Value of the Zone in question (based on Assets contained, strategic usefulness, etc.).


The FAI assigns each I/M a Muster Tile, which is where Units will be collected in preparation for launch, and a Target Tile, which is what we’re going once the Front is finished mustering.
The OAI can assign a Front Orders which weight the score of actions taken by its Units. If a Front is essentially just a bucket of Units that have a shared goal, the Orders shape how that goal is to be achieved. Orders drive low-level behavior, such as recklessness, caution, and preventing specific Improvements from being pillaged.

A Front can be set to Withdraw if the OAI decides to cancel the Objective or abandon a Zone. A Withdrawal Target Zone is chosen, and Units belonging to that Front head towards it. Units can be pulled off of a withdrawing Front by another Front if the score is high enough. Since Defensive Fronts are recreated each turn, when one is set to Withdraw it actually creates a new I/M whose sole purpose is to get to the Withdrawal Target.

Unit Assignment

When deciding how many Units of what type a Front should be given, the FAI estimates the strength and makeup of enemy forces likely to be encountered. A list of minimum Values deemed necessary in each Domain (anti-Infantry, anti-Cavalry, anti-Naval, etc.) is generated.
  • To determine what Units go where, each Unit/Front pairing is scored for fit, factoring in what the Front needs, the Front’s Priority, distance, general availability or scarcity of Units, etc. Once a big list has been compiled we link the Unit/Front with the highest score, and then work our way down until all Units have been assigned.
  • Each time a Unit is added to a Front, the scores for all remaining Units with that Front are recalculated. Score drops by a small amount for each Unit added so that Fronts with a marginally lower Priority get Units - otherwise the big boys would never share.
  • Once a Front is close to having its minimum requirements satisfied, the penalty for adding Units is reduced and then eliminated.
  • If there’s not much to go around and a Front has high requirements (relative other Fronts in the area) its Priority is reduced. Generally speaking, we prefer fewer fully-staffed Fronts to several undermanned Fronts.
Based on how well or poorly each Front’s requirements are satisfied, the FAI then delivers Requests to the EAI to train new Units.

Special Unit Roles

Some Defensive Fronts can have part of their requirements satisfied by Reserve “Units.” These don’t actually exist, but the EAI has set Resources aside and can pop them out at any time.
I/Ms have dedicated Units for Rearguard duty. The FAI evaluates the Assets that must be guarded, the threats posed to the Front’s flank, etc. and determines how many Units it needs and where they should be stationed. I/Ms also set aside Units for Recon, which fan out to keep an eye on things, and rejoin the main force in case something important comes up.

Once the initial FAI design is functioning correctly, logic will then be added allowing Units to be loaned away by I/Ms that are still mustering to other nearby Fronts. If we’re building up a massive invasion force, this allows us to temporarily siphon off Units to take out Hostile Strongholds, escort civilians, etc.

Factors to Consider
  • Objectives outlined by the OAI.
  • Value of each Zone.
  • Threat posed to each Zone.
  • Current and future seasonal effects.
  • Availability of Units of different Domains in a general area.

Relationship with Other Systems
  • OAI: The FAI receives directives from the OAI via Objectives, which also determine what Orders are given to specific Fronts. The IL side of the FAI provides info to the OAI regarding our military situation.
  • EAI: The FAI places Requests in to the EAI when it needs Units for various tasks.
  • TAI: The FAI informs the TAI the general approach to be taken in each Zone so that it knows how to score different actions.

Tactical AI (TAI)


This is where individual Units are all given orders.

The TAI runs through (almost) every combination of possible moves and attacks, scores the results, and chooses the best outcome.


A brute force approach is expensive, but necessary. It’s impossible for us to “teach” the AI how to execute a flawless tactical plan, as there are far too many factors that need to be considered.
In order to cut down on the exponential processing requirements, a series of checks will be made to limit the number of actions and combos considered. e.g. If there is no danger nearby just take the fastest path to our destination. Another way we’re speeding up execution is by placing Units into “Dependency Groups,” which separate out those which are and are not affected by one other. A Scout exploring an island has no bearing on a siege against Rome, so one need not account for the moves of the other.

Each combination of actions is assigned two scores: Safe, and Risky. A Front’s Orders (generally shaped by Objectives and leader personality) determine the modifier applied to these scores. A particularly conservative leader might need to see a significantly higher Risky score in order to go that route.

The score of an individual action is determined by a large set of rules which account for possible battle results, unseen danger, distance to destination, defensive bonuses, supply, etc. Scoring calculations are calibrating using our determination as to the Value of the Asset (Unit, Improvement, City, etc.). If moving to a tile is guaranteed to result in a Unit’s death, the negative score for that move is equal to the Unit’s Value.

Every time an attack takes place or a new enemy Unit is revealed, the Dependency Group’s action combo is re-scored. This ensures the AI is always using the most up-to-date information and won’t be ambushed.

Factors to Consider
  • The position, number and strength of owned, friendly and enemy Units.
  • Map conditions:
    • Supply available
    • Movement cost
    • Defense bonus
  • Unseen Danger present on each tile:
    • General likelihood that there are hostile Units nearby, based on proximity to enemy staging points, the strength of those enemies, etc.
    • Memory of where enemy Units used to be.
    • What opponents can or might be able to see.

Relationship with Other Systems
  • FAI: The TAI speaks with only the FAI, from which it receives the priorities it should be considering when making specific moves.

Hey guys, time again to provide a quick update regarding recent news and progress. Most of our updates have skewed heavily on the design and theory side, so this time we'll be delving into the more artistic ends of the project.

Early next week I'll also be posting our massive outline for the general design principles behind every AI subsystem. I was originally planning on including that with this post, but the length was starting to get a little crazy so I decided to hold off and split things up.

Unit Animations

The team has started on the rough animation work for the units. These will eventually be painted over, but I figured you guys would enjoy a little sneak peak.

The schedule and budget call for around 180 unique unit animations which run the gamut from running to fighting to dying. We're starting with the run cycles.


We've had an audio intern on board the past couple months and he's been helping produce some great sound effects.

One of the ways we're using sound is instilling even more life to the changing of the seasons. I've uploaded the ambiance tracks for spring and autumn, so give 'em a listen. You might need to turn down your volume to get a proper feel, as these pieces will only be just loud enough to help create a mood.


We're doing concept sketches for all of the leaders before any more full paintings are finished, just to make sure every character is sufficiently unique from one another. We have about half of the concepts done, and I've included a couple here.

Is anyone able to identify either of these fascinating gentlemen?


On the programming front, we've now hooked the Steam overlay into At the Gates. This is completely optional and won't be required to play the early builds nor the final release, but I know many PC gamers prefer having everything in one place.

When the time comes, if you've bought the game the option to claim a Steam key will appear on your Humble account page. I'm expecting this to be available right when alpha testing begins, but I can't make any guarantees just yet.

Where, When and How to Download the Game

We recently finished the migration of At the Gates over to Humble's system. The biggest perk of this is the ability to easily manage builds, but it also means we're now able to start officially accepting pre-orders, so go tell all your friends!

Everyone that has contributed to the game via Kickstarter or PayPal should now be able to access their download page for AtG by going to Humble's key resender and entering the email address associated with your Kickstarter (or PayPal) account. This page is where new versions of the game will be posted, so it's definitely an address you'll want to bookmark.

The plan is to start alpha testing in a couple months, and to officially release the game during the third quarter of 2014 (July/August/September). Of course, our #1 priority is making the best game possible, so there's always a chance we need to push that back. If we do move dates around I'll make sure you know as soon as I do.

Alright, that's it for today - look forward to some AI fun next week!

- Jon

Official AtG Website | 'Like' us on Facebook | Conifer Twitter

Pages: 1 [2] 3 4 5