As you know, The Universim has evolved dramatically since our original pitch on Kickstarter. With your support, we’re improving nearly every aspect of the game on a daily basis. We do our best to keep
The Prometheus engine takes up a huge amount of our time. It’s the primary life simulation system, so it makes sense that it will. It controls Nugget
So in order to update Nugget artificial intelligence, we also have to update other features simultaneously. No amount of clever modularity or maintenance techniques could save us from this. In addition to the work
We’re almost ready to start moving into different eras, which will allow you to try out updated buildings, build new ones, and research new technologies. We also want to introduce Road Networks, so the city formation feature can finally take form in the game. In order to make roads
At this moment, we have reached the milestone where we want to start implementing the first round of these features in the
These changes will also finally allow us to implement the load/save feature. While we have done a fair amount of background work on this, a lot of features are very dependent on one another (as mentioned previously), so we have more work to do before it’s ready to go. The Universim is a very complex project and we’re really excited to take it to the next stage. After all of these updates are done, we will start implementing new eras, research items, and so much more.
You can read a blog post below from one of our lead AI developers responsible for the smarter AI system and a lot of other nifty stuff.
Thanks again for helping us make the best god game ever!
THE NEW AI SYSTEM FOR THE UNIVERSIM
Author Bartek Dzieńkowski is a
Ph.D. Student at the Wrocław University of Science and Technology
To understand how a good AI is achieved, we need to clarify what it is. It is a field of science that brings a range of tools to solve everyday problems of the Nuggets:
- Detecting the player/god’s cursor gestures to cast god powers (classification problem)
- Running away from an angry bear (decision problem)
- Making sure that the Epicenter doesn’t run out of resources (optimization problem)
- Assigning jobs to Nuggets so they don’t starve in the future (planning problem)
Each class of a problem is solved using specialized methods invented by the nerdy science Nuggets. Although we are planning to solve each of the listed problems, the last two are especially important to us, because they are required to build a self-contained nation of
One of the most popular approaches for solving AI problems in video games are based on Utility Systems,
Let’s consider this example: Once a new Eatery was built in the town, Nuggets become picky and stopped eating raw fruits from
The described case shows that even the Nuggets’ economy in the Stone Age can be a complicated system. For the
The approach that is being introduced to the game involves Automated Planning. The idea that stands behind planning is quite straightforward. Imagine that you are playing chess and you try to predict what will happen if you make a certain move. Can you take into account all possible moves or predict the effect of more than two moves forward in the future? A computer program can and it uses a form of planning to do that. To avoid possible confusion, it should be noted that the common understanding of planning may differ from the technical term of planning in AI, which is defined as follows:
“Planning is the reasoning side of acting. It is an abstract, explicit deliberation process that chooses
Now, after we cited a wise book and you are still with us, we can give you more detailed information. First, a planning method builds a game state which is a structure holding data describing the current state of the game. Next, the method applies a set of possible actions in such a game state to simulate the future game states. The procedure is repeated until the method finds a game state that was defined by us as the goal. Finally, the routine returns a sequence of actions that must be executed in order to reach the goal state.
Does it sound complicated? Then, let’s
The described approach ensures that Nuggets make smart decisions, and since it is done automatically, we have more time to chew bubblegum and watch silly videos on
In reality, implementing a planning system in a game is not that simple. Actually, it is challenging enough that not so many games
Ready-to-use planning systems (e.g., SHOP2) follow a domain-independent fashion of defining planning problems. It means that they have a special syntax for describing the game state, actions, and search criteria. This would force us to convert the game rules into a language that such a planning system understands, and then retrieve a solution returned by the system. Because by default they don’t use domain-specific information, this makes them very inefficient. Of course, they can be tweaked, but they don’t offer enough benefits in exchange for problems with data conversion and consumption of computational resources, which is unacceptable.
A decision was made to design a new planning system for The Universim. Making such a system was an adequate task for a person who implemented similar ones in the past. In practice, it required
The core of the system has been already implemented by Bartek (me!). However, a considerable part of the legacy implementation became incompatible with the new idea of handling AI. At the moment, we are deeply engaged in the migration process that involves moving (and fixing) parts of code to the new system. The majority of that cleanup process is being done by
As previously mentioned, the new AI will lead to much more intelligent Nugget behavior. What is not obvious is that the planning system is general and can solve a range of optimization problems. It will be also utilized to handle urban planning in the long-awaited road system.
More details soon!
Do you like technical articles? Write what you want to learn about AI.
Crytivo Games Team.