Physics, Rigid Body Model, Collision, ODE, Spring Stuff
FSM / Macros / Unit AI --- Ass 7
Discuss Projects
Putting Smarts into the environment, Pathfinding ,Higher level AI in games
Software Engineering, Extreme Programming
Assign Projects / Deliverables
Discuss project interrelations, group interactions
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Monday - Discussion on difficulies
Wednesday - Deliverable, Explain / Demo Progress
Final -> Demo / Test
First Third - August / September
Examine a game
Create a simple c server
Continous resource gathering aspect
Setup scripting calls to interact with the server
Create a new visual something to live in the world
Make your aspect play sounds now and then
Make your aspect drive the boat around for a bit
Second Third - October
Things for them to program
Unit AI - Move, Attack, Attack Move
A* / Pathfinder (Navigation Graph)
Weapons / Damage / Sound
If can see it and in range. (see it to be implemented later)
Physics / Engine / Helmsman / Sound
Construction / Training
Two Day for testing
First day - define project
second day - design the coding - ideas on how it can be done
third day - techniques for doing these things
fourth day - LAB - testing / answer questions / going down the right path
fifth day - testing
sixth day - DUE / through testing
seventh day - integration / bugs
eigth day - final testing
Third Third - November / December
ART stuff -
model new things
icons
Construction / Training - Limited Construction
Art / Sound / Interface
Progress Bars
Integrate with sub-selection Info
Research / Upgrades
Fog of War
Displaying it
Determining it
Correlate with minimap
Integrated with weapons systems
Interface
General Beautification
Panel for building
Iconed RMenu
Bottom Panel
Minimap
Selected Unit Info Panel
Context Buttons
Tuning
Testing
Final - Playing
Days
sketchup - create a cube / boat thing
do something with sketchup / put it into lagoon
assign final projects
design final projects
test
Introduction
Syllabus
Discussion - What are games?
Discussion - Why study Games?
Gaming covers all aspects of computer programming
Complex, challenging, and interesting examples
Reading the game programming gems, I couldn't help but notice how it covered all aspects of computer science
In this class we will explore many aspects of computer science as they relate to computer games
Algorithms
AI
Graphics
Operating Systems
Lectures will cover many aspects of computer games, both in the abstract and particular to our engnie
Programming Languages
Graphics
Physics
Networking
Sound
AI
EVA
First assignment
Grading
20% - Common Assignments
80% - Project Deliverables
Peer Review
Games
Discuss Ass 1 --- Overview of games
Run python script to determine order to discuss games
Call people up and ask questions about the game
how did you like the game?
Is this game important? why?
Decisions / skills
flowchart describing the game-play
difficult / unique programming parts
Start with a simple game, now what components make up that game? What did programmer spend their late nights programming.
What are the major game components that make up those games.
Graphics
Sound
Physics
Networking
Interface
AI
How do they interact, what are the connections between them
When did you see significant progress in each. Graphics are always under development, sound has improved drastically recently, networking peaked a few years ago, interfaces have gotten more elegant, AI is always the thing they are supposed to improve next -- Only a few games actually make significant progress here.
Lagoon
Lagoon is a naval simulator / rts developed in our lab for the navy.
In this class we will be modifying it to make an RTS game
Step 1 ---
Replace whatever art we feel has to go,
Step 2 ---
Implement some new aspects / behaviors,
Step 3 --- Tweak the gameplay until its fun.
Step 5 --- Profit
Lagoon contains all the major game systems with varying degrees of sophistication
Programming Languages
What languages do games use?
More then 1
Why???
Its insanely useful to have more then 1
Programming languages are good for different things, specific programs do well with a single language, complicated programs that do a variety of tasks can benefit from muliple languages
Hard-core language
Computer / console -> c / c++ (almost exclusively)
Great for super effecient code, interacting with hardware --- well defined tasks
ROL -> visual c++ --- crashes
Mobile -> java (almost exclusively -- helps with bazillion types of phones)
Scripting language
Custom --- unreal script, torque
Python --- Civ 4, Nebula
--- Dawn of War, lots of others
What is a sripting language?
Generally written in c, can read / run stuff on the fly
Much more effecient at more general computing, especially when stuff need not be super effecient
How do we integrate it with c code?
SWIG
BOOST
Other -- Nebula
Key
Linking to the function (static functions)
Passing data types (scripting generally supports more flexible data types