Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 06 Aug 2013
Offline Last Active Oct 13 2013 09:36 PM

Posts I've Made

In Topic: Help on Game AI Design

23 September 2013 - 06:24 PM

Sorry, I forgot the API question in my obsession with AI. ;)


Not that I have anything helpful to add, as I have no experience with adding a scripting language. I've programmed in a scripting language before, on a MUD. However, there's bound to be a few helpful posts/articles here on GameDev.net. Let me/us know if you find anything particularly well-written?


Alternatively, you could just ask for the help in your actual language. Your helpers might need you to add some querying/setting functions into your existing code, but it shouldn't delay you quite as much as learning and implementing scripting.


Ben. smile.png

In Topic: Help on Game AI Design

21 September 2013 - 09:38 PM

When making AI, I always try to remember not to over-complicate it, because it only needs to be viewed from the player's perspective. They often can't tell whether the AI makes a choice because it's clever, random or stupid. It's the same with a real opponent.


I might have lots of fun setting up a complex decision-making system based on needs analysis, 'thinking time', etc. Ok, I *will* have lots of fun doing that! :)


However, there may be a simpler way. For example, there may be a handful of different AI styles that could be simpler to program, then your game randomly chooses which style to use when assigning opponents.


The styles might be:

  1. Scrooge: the AI never spends big money on a tape (or anything), but instead tries to accumulate money without losing it.
  2. Ratings, ratings, ratings: the AI takes whatever action will get it the most ratings, in the short term. So, it might buy a great tape and then not have much money for a while.
  3. Steady as she goes: the AI buys mid-range tapes and has all settings to mid-range.
  4. Jackpot: the AI 'saves up' for one big move.

You could even give the AI a particular name when it is using a particular style of play, so the player can get used to the strategy over time just like with fighting real regular opponents. And players can talk about their success and strategies for particular combinations of AI opponents, which makes the game more enjoyable for certain players.


AI is usually the most fun for me when simple systems produce unexpected and complicated behaviours. In the case of this system, the player will be facing two AIs with one of a large number of combinations of styles, which can lead to a very wide variety of game experiences if everyone is competing over the same resources.


When designing styles of play, the idea is to make the AI always do the same simple behaviours, so your CODE (your effort) isn't complicated, but the GAMEPLAY (effect for the player) is.


I should probably terminate my waffle there. I tried not to make this a long reply, and just give the general principles, because I think that's what you're looking for. I hope this helps!


Ben :)