Tuesday, 11 November 2008

Worksheet 4

This is a copy of the final worksheet for the planning module for my honours dissertation project.

Introduction

The aim of this project is too look at dynamic scripting and try to determine what would be the most suitable method of implementation for use in a commercial real time strategy game. Dynamic scripting can be used in games were the artificial intelligence is defined in scripts, or rules, which are executed sequentially. What dynamic scripting does to this method of AI implementation is, it applies a weight value to each of the scripts, or rules, which can be updated so that rules with higher weight values, which are considered to be more successful than those with lower values, are more likely to be selected for use by the game AI. For instance the project will look at offline learning, which is dynamic scripting which calculates the new weight values for the rules after a game has been completed rather than during the game. As well as the underlying method for the learning algorithms for the AI for example, natural networks, genetic algorithms and evolutionary learning and try to determine the most suitable method of AI judged against factors that are important to commercial game developers.

Issues

The issues that this project is going to address are why dynamic scripting is not already implemented in commercial games and the reasons why it is more preferable to the current AI algorithms already being used; including the issue that using dynamic scripting can lead to inferior AI especially if the player deliberately misleads the AI. This problem was looked at and a method of history fallback, were the weights associated with specific rules are reverted to a previous score when the AI tarts to produce less than desirable results, however the results of this method didn’t produce any significant advantage and therefore requires more optimisation. The method of automatic rule ordering for dynamic scripting has been shown to be just as effective as manual tuning rules (Spronck et al 2007) therefore automatic rule ordering combined with a means of history fall back could help prevent undesirable AI behaviour.

Research Question

"Is Dynamic Scripting a suitable method for AI decision making in a real-time strategy game?"

Addressing The Question


To address the question and to show significant results I will be using an open source game called “Wargus” which is a clone of the popular “Blizzard” real time strategy game “Warcraft 2” and I will try some different multiple implementations of dynamic scripting with a different underlying algorithm for the AI of the opponent in the game. Then using a serious of tests in which the game will be played by two AI controlled players one using the original implementation of the game AI and the other controlled by one of the different implementations of dynamic scripting I should be able to show which of the implementations would be best used in a commercial game using a few of that factors that are important to games developers i.e. Fast, Effective, Robust and Efficient (Spronck, Sprinkhuizen-Kuyper & Postma 2004)

Progress


So far the progress that has been made for the project is the selection of a suitable arena for the testing of dynamic scripting, i.e. “Wargus” which is an open-source clone of Warcraft 2 and I have acquired a “lua” editor, lua being the scripting language used by the engine which is the foundation of “Wargus”. I have also started to read tutorials on “lua” and I am starting to become familiar with its implementation and will then start to try editing the “Wargus” AI with some simple example to begin with. I have also read numerous articles and journals, most co written by Pieter Spronck who first suggested the idea of dynamic scripting, which discuss the issues associated with dynamic scripting and met with Dr King, a lecture at the university, twice to discuss my project and have arranged to meet my new project supervisor so that I can have his opinion on my topic as well.

No comments: