Dev Blog #16 – Designing Artificial Intelligence (AI)

Last week during an interview, we were talking about livestreaming and the reasons why we’re doing it.  For us, the biggest threat to game development is not making the game happen. Making a game is not a huge challenge, and we’re relatively confident that we can make a reasonably good game. But can we make a great game? Like we’ve always said, the even harder part is getting people to know that it exists and get them to play it when there are so many great games and other things they can do out there.

Being Real in the World of Entertainment

Let’s look at the grand scheme of what people can be doing. Before, the main sources of entertainment were books, television, and radio. Then computers happened. There is now a vast source of content thanks to the internet to keep people entertained for billions of hours. On Twitch, there are literally thousands of people broadcasting something. In terms of games, there are also so many options available on Steam and all other game platforms.

And here we are, a small independent studio, saying “Hey don’t look at any of that, come play our game. We want you to look at this!” It’s a very difficult argument to make and we can’t really directly talk to people to convince them to do that. We have to go around the corner a bit and ask people, “Why don’t you come and watch our dev stream?” then maybe the game is something interesting to them, that they would eventually play it.

How do we get them to watch? We post on Facebook, Discord, Twitter, Reddit, 9GAG, and everywhere else. We need to start a discussion on another platform. Essentially, we are making marketing for our marketing for our marketing for our marketing, to get them to play a game that doesn’t even exist yet.

But another thing we find of value on Twitch is that it’s all real. This is the actual team doing actual development of the game. There are no scripts or press releases. When we look at all the time and energy we spent marketing our game and building our brand, we hope that the one thing that we have shown our supporters is honesty. When you come to our streams, we are exposing what real game development looks like and the life of building creative content: figuring out how all of this works.

We think that in a world where there are unlimited options, what people find valuable is to be treated like humans – and that is what we’re doing. We hope you appreciate all the time and energy we are putting into this as we share our real experiences and real lives of making games. Just like how earlier this week we had some extra livestreams of working on MS Excel to design the scripting system for the single player aspect of the game.

Developing AI for Single Player Games

There was an article about writing wherein the author talks about how the biggest problem is sorting out the commas when the story isn’t done yet. In terms of game development, it’s something that we’re also very guilty of. We’ve been going through balancing issues and fixing the user interface when we still haven’t made the main game yet. We needed to step back and decide what’s really missing from the game that we should have been doing.

One of the things we promised is the map editor. It’s easy to make the editor and it’s already there, because we need it to make the game, but we haven’t finalized yet how it all works on the side of the player. There are a lot of issues we have to resolve such as how they are uploaded, filtered, moderated, displayed, and so on.

The other thing we said was that we were going to make this primarily a single player game. Though a lot of players are interested in multiplayer, we learned from Legends of Callasia that some players don’t want to be pressured by the turns and time limits. We need this bulk number of users to build up the player base in order to make multiplayer a great experience.

But you can’t just make a single player game. You have to figure out several things, and it’s not really the most obvious stuff like the story. For instance, how do you make the AI actually do stuff? How do you give missions to the player? How do you tell the AI and the players what to do? What kind of missions do we have? How do we script those missions? As we dig deeper, we realize that there is a huge chunk of design that we haven’t done yet. We need to go build the scripting system, which is then up to the coder to integrate to the game. This is only the first step.

The next step is the AI, and not yet the actual missions. If you make a single player game, there is no other human to make intelligent decisions. People think making multiplayer is harder because of the obvious server and connection issues, but it’s actually easier when there’s another human playing with you. Instead, single player has algorithms that predict behavior.

In a simpler game, there are simpler AI and limited rulesets, so it’s quicker to do forward thinking and predict what’s going to happen in the game. In a game like Last Regiment that has so many hexes, units, and powers, the brute force approach in letting the game forward-project all the possible things that could happen in any given turn is extremely difficult, if not impossible. We have to look at AI in a different way and pretend that he’s human. We give it a series of goals and look at threat levels to determine what happens next. We can’t give it limitless power and classify smart or dumb AI. We assign them behaviors, whether they are aggressive, defensive, cowardly, and so on.

We then have to relate it to all the other aspects of the game and create rulesets such as when AI can use certain spells or which units to bring in certain situations. It gets really big real fast, and we haven’t even made the missions yet.

The other thing we can do is to “cheat” by granting the AI an advantage by having better tactical situations than the player. This can come in the form of increased reinforcements or territories, but as a human player, you should be able to think and come up with better strategies.

As a small indie studio, improving the AI is a challenging promise to fulfill. At this moment, a lot of the mechanics are still changing as we keep on rebalancing the game, so for now, we need to make sure that the AI is adaptable to various rulesets.

Most of the work we’ve done are still in the backend, so there’s not much progress to show right now. Next week we will be building more maps and hopefully there’s something more visual we can present.

Some of you might have noticed that we play some baroque music at the beginning of our livestreams. Part of the reason why is that Chris personally enjoys them, but at the same time, it goes back to the setting of our game, which is a more modern time period than the usual medieval fantasy tropes.  It’s the same reason why we’ve incorporated rococo elements in our UI, which we mentioned last time.

As we continue to work on the lore and the story of the game, we’ve been thinking a lot about how we can introduce more elements from the baroque period. But what is baroque, anyway?

Making the Reality of the World Better

The term baroque comes from the Portuguese term barroco, which means “oddly shaped pearl”. This art style is overly ornamented or exaggerated, compared to the naturalist movement in the periods that came after which were more simplistic. Thus it seemed that the baroque style was not speaking to the true spirit of the world.  Baroque was very involved in capturing the beauty and wonder of the world even if it’s an ugly and terrible place. The idea is that art should be something you create to rise up and lift you above the mundane.

As we build out Last Regiment, work on the userface, and determine how it looks and feels, it makes more sense to follow this baroque ideal that we don’t want to show what the word is, but what the world could be. We want to make the reality of the world better, and not produce art that reflects how bad the world is.


2 thoughts on “Dev Blog #16 – Designing Artificial Intelligence (AI)”

Comments are closed.