Amazingly, even with everything on our plate including bugfixing, tournament system, and 3d backgrounds, due to constraints and prerequisites and conflicts, we have a developer with some idle time next week. So we're about to begin the new and improved AI! Of course the AI is an important part of the game, and will become even more important when the new campaign mode is introduced.
Currently, much like most chess programs, Shadow Era uses a brute-force algorithm to try every possible combination of moves to decide which is the best card to play. The downside of this is that it is quite slow to compute, and often it's difficult to decide what is actually the best outcome, as it must be represented by a single numerical score of the state of the current game (eg +5 means you have a slight advantage, while -130 means you're in trouble). I'm sure you have seen the current AI make some very questionable decisions!
Instead of this, we will be moving to an AI based on decision trees. What this means is that complex AI decisions are represented by a graph that is easily visualized and simple to edit. For example, you can code a "rush deck" AI whose goal is to keep casting allies and attacking the hero. Because the decision tree has a lot of logic nested in it, it is much quicker to execute than a brute-force method. And the modular nature allows you to create complex logic that can be reused in other trees, eg "find the ally that is the highest threat".
But here's where it gets interesting! Because of the scope of the project in terms of the work required to create all the decision tree logic for multiple deck archetypes, we're going to open everything up to the community. We'll provide a separate stand-alone app that you can edit, test, and refine your AI and submit it for inclusion into the game! That's right, you can create a new AI using a simple point and click interface of arranging and connecting modules from the library, then test your AI right away in the game and see how it performs.
Of course we'll be providing samples and a video tutorial to get people started, but our goal is that creating, editing, and sharing the decision tree modules should be easy enough for everyone to grasp, even if you aren't a computer science major. But first, we need a show of hands who might be interested in this project, and any initial questions of comments you might have.
Bookmarks