Visual Entertainment and Technologies Forum

Full Version: [$6,000] #142 | AI Redesign
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Price: $6,000

Description: When I started GearCity, I was mainly interested in showcasing my AI writing ability. Each AI in the game is a behavioral stack machine. I designed them to play the game like a real player, within the rules and information of the game.

While this worked great for one or two AI companies, it did not scale well for many AI companies. The performance degradation caused me to start taking shortcuts in AI behavior in the name of performance.

This has left us with an AI system that is neither fast nor slow. Neither competent nor incompetent. It cheats, but not all the time nor well.

This bounty will rewrite the AI system. We'll be removing the behavioral stack system. Instead of each AI node acting as its own entity, the game will parse the possible AI actions, looking for AI companies that need to do that action. And then it will do it.

The changes will help us reduce some overhead with each action. Instead of 300 AI entities calling a function to check if it needs to do something, the game will call the function once and produce a list of companies that need to do the action.

This bounty would negate bounty #141 and would likely reduce performance gains made from multi-threading the AI per bounty #92

Requirements: None

Required By: #143

Concerns: This bounty will introduce many bugs. The AI quality will take some time to reach or exceed the behavioral state system.

Performance gains are difficult to predict.

There will be fewer performance gains from multi-threading, but it still should be faster than the multi-threading of the old system.

The AI will no longer be playing the game like a player. The AI will have more omniscience. Hopefully, that results in a more skillful AI.

Eric's Opinion: This bounty will help us twofold. 1) It will improve the performance of the AI, thus reducing turn times and allowing us to add more AI to the game. And 2) It is likely to increase the AI's difficulty level because we can give more time to specific AI calculations.

On the downside, the AI will no longer be playing the game like a player. Nor will the AI have as wide of a behavioral pattern. To this latter point, I have already removed or reduced much of the behavioral difference between the AI to make them perform better. 

Links: It doesn't happen unless you contribute!