GridWorld – Introduction Peter Cowling University of Bradford P.I.Cowling@bradford.ac.uk
Outline • Aims of the project • Design Philosophy • Outcomes • The student experience • Teaching/assessment methods • The teacher experience • Demo and Conclusions
GridWorld - Principal Aims • Make learning fun and competitive • In the following areas: • AI software design and implementation • C#.NET and VS.NET • By getting students to write AI software agents for games… • …and continuously running a competition between AI agents so they can see how each agent is doing. • … as for Virus and Terrarium
GridWorld – Further Aims • … but also offer an open platform for easily creating new games • … and enable the development of a simple but flexible API for each game • … and make this robust • … using the idea of a grid environment which can be used to represent most board, card and video games.
Design Philosophy • GridWorld Engine • Client • Form • Graphics rendering • File I/O • Server (part of client) • Results • Security • Web • Game Manager • Game • Rules • Images • (Results Data) • (User Input)
AI for GamesCM-0328D Prof Peter Cowling Sponsored by Microsoft Software co-developers Black Marble http://www.comp.brad.ac.uk/intranet/modules/AIFG/ Tuesday 2-4 Richmond N3 (from 9th Feb) Monday 2-4 Chesham C3.10 (from 2nd Feb) External speaker – Black Marble (Mon 2nd Feb 12-2 Horton D2.06)
Research: • "A Coevolutionary Model for the Virus Game", P.I. Cowling, M.H. Naveed, M.A. Hossain, IEEE Symposium on Computational Intelligence and Games (CIG 2006) (IEEE Computer Society press), 45-51. • “Board Evaluation for the Virus Game", P.I. Cowling, IEEE Symposium on Computational Intelligence and Games (CIG 2005) (IEEE Computer Society press), 59-65. … and Knowledge Transfer • Soon-to-appear article in Times Higher Education supplement • "Writing AI as Sport", P. I. Cowling, AI Game Programming Wisdom 3, Charles River Media (2005) 89-96. • "ViewpointAI: Thinking Ten Years Ahead", P.I. Cowling, invited article in Develop magazine (Nov/Dec 2005). • "Using Bugs and Viruses to Teach Artificial Intelligence", Peter Cowling, Richard Fennell, Robert Hogg, Gavin King, Paul Rhodes, Nick Sephton, International Conference on Computer Games: Artificial Intelligence, Design and Education (CGAIDE 2004), Microsoft Campus, Reading, UK, 8-10 Nov 2004).
The Student Experience • All learning is hands-on. • Students learn new ideas through using them. • Student motivation is very high • Many students comment that this is the most enjoyable module they have experienced • Some students who are unsure of their programming skills produce excellent software • Students recognise the career benefits of using up to date technology • Students’ competitive drive is harnessed • Student comments speak for themselves
Presentation of Material • Few PowerPoint slides • Code & Talk • Q & A in lectures • Detailed web pages with many links • Weekly labs – initially directed finally advice surgeries • Prizes • Focus (carefully) on the competition
AI subjects taught • OXO • AI design as “thinking about thinking” • Simple rule-based approaches • Scripting • Board evaluation • Minimax search • Infectious! • Positional features • Pattern matching • Alpha-beta pruning
…AI subjects taught • …Infectious • Parameter Tuning • Genetic and Evolutionary Algorithms • Testing and refinement for AI • Bugs • State machines • Hierarchical State machines • Multiple Concurrent State machines • Avoiding deadlock • Opponent modelling • Pathfinding and A* • Terrain Analysis
Games design Reinforcement Learning Neural Networks Agent coordination Game theory Bayesian Probability Data Mining Mapping “Fun” metrics Behaviour capture Emotion Environmental triggers Behaviour hierarchies Dynamic scripting … Subjects considered/to be taught
Use in Assessment • Coursework 1 (40% of module marks): • Design, build, test, refine and document a board evaluation function for Infectious! • Coursework 2 (60% of module marks): • Design, build, test, refine and document an agent for Bugs • Marks awarded for originality, design depth, quality of testing, refinement based on test results, documentation
The Teacher Experience • Good attendance – in body and mind • Lots of questions and interaction • Coding in lectures quite nerve-wracking and very instructive to students • Students frequently brought ideas from outside the course • Enjoyable teaching experience
Conclusions • Game AI is a good medium for teaching AI as well as programming/debugging and software design… • … and encourages students to “think outside the box”. • Hands-on with coursework-only assessment works.