GameAI_Introx

Download Report

Transcript GameAI_Introx

TGD3351: Game Algorithms
TGP2281: Game Programming III
in my own words, better known as
Game AI
In a nutshell
• B. MM (SEGD)
– GP I – Basics
– GP II – Game engine, Rendering, Particles
– GP III – Game Artificial Intelligence (AI), Learning
• CS (GD Specialization)
– Game Design Fundamentals
– Game Physics
Course matters
• Refer to GA/GP3 course website (main) for more details
http://pesona.mmu.edu.my/~johnsee/teaching/gamealgo
• Selected materials will be uploaded in MMLS
• Classes:
– (L) Wednesdays, 11.00am-1.00pm (subject to change?)
– (T) Thursdays, 9.00-11.00am
• Consultation hours:
– Thursdays, 2.00-4.00pm (tentative, might change)
Textbook and References
• AI for Game Developers, Bourg & Seeman
• Artificial Intelligence for Games, Millington
• Programming Game AI by Example, Buckland
• Learning XNA 4.0, Reed
XNA’s Not Acronymed (XNA)
• XNA Game Studio – Primary tool for this
course, Language: C# (very similar to Java…)
• Why not Unity3D? UDK?
• All you need is
– Visual Studio (2010 version) preferably
MSDNAA license for students available
– XNA Game Studio (free download)
Coursework Distribution
• A 100% Coursework course
Coursework
Game Project
Test
Homework/
Assignments
SEGD
70%
20%
10%
B.CS
60%
20%
20%
Project
•
•
•
•
All students MUST hand in the project
Project to be done in pairs (3 a group not allowed)
AI-oriented game
Details will be ready when the guidelines are out
(end of this week)
– 4 checkpoints: Project Proposal, Progress Milestones #1,
#2, Final Submission
– Presentations required for Proposal (in Week 3) and Final
Submission (probably Week 14)
Other Coursework
• Term Test
– Test on AI knowledge and concepts (no programming
involved!)
• Class Homework
– Short homework pieces in the form of programming
exercises or theory questions
– To be handed up on the same day or after a few days
Do you need to come to class?
• I don’t care if you want to come to class and I
would rather not be taking attendance, BUT
the problem is…
Course policies
1. Honour Code
– Acknowledge the people you ascertain help from (can be
coursemates, external parties)
– Acknowledge material taken from elsewhere
– Acknowledge source of code used
2. Late days and late penalties
– Each student given 2 late days
– If project partners want to take a late day, each project
member must contribute a day from his allocation
– Once the late days run out, any late submission penalized
at 1% (of total coursework) per day. No coursework may be
handed in after the stated hard deadline.
Also necessary to mention…
1. I’m wasting your time, you’re wasting my
time (IWYTYWMT) syndrome
2. How much should you know/learn that will
be enough?
3. Discussion-oriented not Lecture-oriented
Toilet break…
• Any further questions about the course?
XNA Topics
– Game Framework Setup (OOP Design Approach)
– Game Loop Functionality
– Managing Game Assets
– Tile-based Environment
– Player Movements / AI Movements
– Simple Collision Detection (Bounding Boxes)
– Game Item Manager
AI Topics
– Game AI Fundamentals
– Game NPC Movements
– Flocking and Function-based Movements
– Basic Pathfinding
– A* Pathfinding and Extensions
– AI Scripting
– Finite State Machines
– Decision Trees and Rule-based AI
– Fuzzy Logic
Topics
– Tactical and Strategic AI
– Board Game/Turn-based Game AI
– Advanced Topics (Neural Nets, Genetic
Algorithms)
Early AI in Games
• Atari’s Pong – one of the first video games
ever created and released to the public
• Tracking AI: How does it work?
Board games  Video games
• Backgammon on Atari 2600
• Pathfinding AI
Space Invaders
• Pattern AI. Moving and reacting based on
patterns
Obsolete?
• Are these early ideas in Game AI still used in
today’s games?
• What do you think and WHY?
First-Person Shooters
• Quake 3
– How do AI bots find cover under fire? Way points?
– Line of sight computations
First-Person Shooters
• Halo 3
– Acting together: Team or group-based AI
– Coordination: Fixed / Adaptive
Real-Time Strategy (RTS)
• Warcraft 2
• What are “strategies” consider in an RTS game?
• Managing resources / economy
• Scripting
Simulation Games
• The Sims
– Artificial life
– Programmable / adaptive behaviours, emotions
– Open-ended concept
Board Game / Turn-based AI
• Othello/Reversi
– Use information in game to
determine best moves (optimal
solutions) in the near future
– Minimax and other ‘searching’
techniques
– Heuristics to speed up calculations
Play & Tell
• Pong
http://www.download-free-games.com/online/game/pong
• Pacman
http://www.freepacman.org
• Galcon
http://www.galcon.com/flash/
Upcoming
• Tutorial is ON this week
– Introduction to XNA Game Studio and how to
create a simple game engine from ground up
– Demo-and-follow style
• Week 2: XNA Walkthrough Week
– Might need to get lab instead of room
– More tutorials on XNA to gain more experience
Any Questions?