School of ITMurdoch University

 

ICT219 Intelligent Systems
Semester 2, 2007


ICT219 Intelligent Systems Unit Information


Unit Coordinator and Lecturer


Dr Graham Mann

 

Consultation Times

Time

Room

Mondays 2:30-3:30

ECL2.061

Fridays 11:30-12:30

ECL2.061


 

Tutor (including External Students)
Roger Wright
 
Textbook

 Champandard, Alex. AI Game Development. New Riders Publishers, 2003.

If you miss out on a copy from the bookshop get it from Amazon.com


Notice Board

(Please read this notice board regularly for the latest news.)
(Click on "Refresh" or "Reload" to read the latest notices)

19-11-07.  Good luck to everyone with your exams. If you need help with preparing, visit me during the times mentioned in the final lecture.

5-11-07.  In this final week, I’d like everyone to focus on getting all your submission finished and submitted. Even if you’re late with these, still put them in - every extra mark counts! And don’t foget this week’s lecture full of hints, tips and tricks for the final exam.

26-10-07.  Details on how to submit your project are in the Unit Information handout. Don’t forget your to include a signed cover sheet . ~o~ The credit for those Small coordinate transformation functions you might be using in your Guntactyx code should go to Jeff Timlin, a fellow student. Make sure you acknowledge that if you use those.

19-10-07.  I’ve added a link below to the Small manual. This is a short version, which should answer most questions, but if you want the full story, there’s a link in it to the “Small booklet” which isn’t small at all - it’s a 155-page doorstopper.

15-10-07.  Some folks didn’t put in a signed cover sheet with their Labs 1-6. If you didn’t, please submit one separately, either on paper or by email to your tutor - we need that to give you the marks. ~o~ As I mentioned, our labs are a little out of order this semester. This week’s concerns a rule-based system, which we covered in lectures a couple of weeks ago. At least you should be across the theory for this by now.

24-9-07.  For the theory behind this week’s lab, you need to look ahead to the lecture for Week 8, concerning neural networks. We are a little out of sequence with our labs, and we still need to cover the remaining material from Week 6 on rule based systems. For this reason, we’ll catch up by skipping straight to Topic 8 after the break.

24-9-07.  Sorry for those of you who were inconvenienced in the labs last week. Roger Wright was called away suddenly on account of a death in his family, and I didn’t discover this until late Friday because I was at a conference for most of the week (otherwise I would have covered his classes). I hope you were able to carry on with that methodology exercise anyway. It is, of course, mostly a way of getting you thinking systematically about the design of your project sooner, rather than later.

10-9-07. I’d like to remind everyone to keep up with your reading from the textbook, as well as work on your practical lab exercises. Remember, we want to see properly written-up answers to the questions on the bottom of  Labs 1-7 by September 28th.  Even if you can’t make it to the weekly labs, still work on those on your own machines, each week if possible.

This week, we are working on understanding an emotional animat called Moody which uses the FSA and FSM methods we used last week. Before you try Lab 4, it will be worth reading through this week’s lecture and Chapters 37, 39 and 42 of Champandard, which put forward a model of how emotions might work in an animat. It will be difficult to understand the Moody code without this background knowledge. Also, there’s a slightly improved version of Moody on the website (under Download Software, below).

20-8-07. The project spec is released - see below for details. It is a choice between a FEAR/Quake 2 animat or a Guntactyx team of soccer robots. Have a look at that and make a start as soon as you have chosen one - there’s precious little time this semester.

20-8-07. This week we’ll study the theory and practice of reactive design as it applies to animats and bots. We started talking about that in last week’s lecture, you’ll recall, and I’ll say more about it in this week’s. The lab requires you to read and understand the Small code for the simple reactive team bot called recruit.
To understand that, you’ll need to read through the Guntactyx manual, which is in the Guntactyx directory. I want you to learn how to modify and compile your own .sma files and try to get them running in the game.  Hint: Press the F3 key to bring up a transparent blue “heads-up” display screen, which lets you control editing, compiling and executing new bot scripts.

15-8-07. Okay, the FEAR/Quake2 software for the labs has tested out okay, and should be available in the labs for Friday. You should download Lab1 below and have a look at that. Remember to write up your answers to the questions as they will need to be submitted to your tutor during the semester.

13-8-07. Well, the FEAR/Q2 platform still hasn’t been installed into the labs, but I hope I can have it installed there by the end of the week. The other software is there, though. And there’s no reason you couldn’t install the FEAR/Quake2 platform on a home machine. I don’t have enough disks for everyone, but I will try to circulate as many copies as possible, if you could just pass them on to the next student when you are done.

8-8-07. Hi there! I hope you enjoy studying artificial intelligence by developing and playing computer games. I’ve still got a some work to do to get everything functioning perfectly. The lecture slides and labs will be slightly updated as we go along, so I won’t release these all at once. Please be patient if some software or document is not available (but phone or email me if you spot some problem). To get ready for the unit make sure you have the textbook and some removable media (CD-R disks).


 

Lecture Schedule

Time

Location

Lecturer

Fridays 2:30-4:30pm

ECL3

Graham Mann

 

 

(These could change as we go through the semester, so download them as late as you can.)
 

Lecture Slides

       Title

Lab Exercises

Week 1

Games, AI and AI in Games; A Brief History of AI

None

Week 2

Reactive and Reflective Agents; Animats; Game Development and Game Platforms

Lab 1

Week 3

Obstacle avoidance; A Reactive animat, Problem Solving

Lab 2

Week 4

State Machines; Control of an Animat by States

Lab 3

Week 5

Emotive States; an Emotive Animat

Lab 4

Week 6

Knowledge Representation, Rule Based Systems; A Rule-Based Animat

Lab 5

Week 7

The Project; AI Methodology and Evaluation

Lab 6

Week 8

Machine Learning; Neural Networks

Lab 7

Week9

Neural Networks; A Neural Network Animat

Lab 8

Week10

Genetic Algorithms

Lab 9

Week11

A Genetic Animat

Lab 10

Week12

 Revision and Exam Preparation

Finishing up remaining work


Project

Project Specification

Cover Sheet (Off-campus)

Cover Sheet (On-campus)


Tutorials

Time

Laboratory

Tutor

Mon 12:30-1:30

ECL2.005

Graham Mann

Fri 12:30-1:30

ECL2.005

Roger Wright

Fri 1:30-2:30

ECL2.005

Roger Wright

Fri 4:30-5:30

ECL2.005

Roger Wright

 


Download Software

 

 

  Quake2/FEAR Platform

 

Read the Installation Guide first

Quake 2 Demo   Patch

FEAR                 Boost Libraries

Python

You also need VS6.0 - see tutor for that.   

FEAR Functions 

 

Test Environments (put into C:\...baseq2\Maps)

arena1.bsp (small octagonal space with few features)

arena2.bsp (small octagonal space)

arena3.bsp (small octagonal space with lots of rocket launchers)

plattest.bsp (small room with an automatic platform)

trigger_test.bsp (largish space with button operated door, button operated platform and a ladder)

base1.bsp

base2.bsp

  Genetic Algorithms

 

TSPApp_exe.zip

 

  Finite State Machines

 

CommentCounter.zip

 

FEAR Animats

 

Daemon animat

Aimy animat (new version)

Jacky animat (new version)

Kanga animat (new version)

Moody animat (new version)

 

Guntactyx Bot Teams

The following Small files may be used for your Guntactyx experiments and the project (make sure you credit the authors)

   State_Recruit.sma

   sittingduck.sma

   foxhound.sma

   Lab7_LogisticFunction.xls

 

Guntactyx Soccer Notes

The following slides contain useful facts and code to help write a reasonable Soccer bot team for the project.

GuntactyxSoccerNotes.ppt

Example soccer bot code. (Do NOT use any of this code without acknowledging the author).

roland.sma

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Links

Turing's 1950 paper on AI and some discussion

History of Artificial Intelligence

Graph Search Algorithms

TreeSprites Creatures Grove (Norns)

Rule-Based Systems

Knowledge Representation

Neural Networks

More about Neural Networks

NNs and Linear Separability

 

Need help with C++? Try some of these lessons.

Samea Wood's  C++ Notes

Small manual (short version)

Fuzzy Logic

More on Fuzzy Logic

Huge Bunch of Links about Evolutionary Computing

Genetic Algorithms

More on GAs

Traveling Salesman Problem

   Affective Computing at  
   MIT's Media Lab

   Kismet Robot

   Tutorial on FSMs

    FSMs and FSA

    About the Quake Game

    About Guntactyx Game

    AI Buzz - Latest News
    on AI

    Minsky’s Society of Mind
    Theory

    Lenat’s Project Cyc and 
    Cycorp. company