Presentation on theme: "TGD3351: Game Algorithms TGP2281: Game Programming III in my own words, better known as Game AI."— Presentation transcript:
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 Selected materials will be uploaded in MMLS Classes: – (L) Wednesdays, 11.00am-1.00pm (subject to change?) – (T) Thursdays, am Consultation hours: – Thursdays, pm (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 CourseworkSEGDB.CS Game Project70%60% Test20% Homework/ Assignments 10%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 Pacman Galcon
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