the content
DESCRIPTION
The Content. Simple AI Simple physics Particle System Level Creation Player Classes Network play 3D sound Animated models. Program layout. WARMain Window and program main entry point WARApplication Handles more game specific stuff Takes care of DirectX, updates managers etc - PowerPoint PPT PresentationTRANSCRIPT
The ContentThe Content• Simple AISimple AI• Simple physicsSimple physics• Particle SystemParticle System• Level CreationLevel Creation• Player ClassesPlayer Classes• Network playNetwork play• 3D sound3D sound• Animated modelsAnimated models
Program layoutProgram layout
• WARMain WARMain – Window and program main entry pointWindow and program main entry point
• WARApplication WARApplication – Handles more game specific stuffHandles more game specific stuff– Takes care of DirectX, updates Takes care of DirectX, updates
managers etcmanagers etc
• Game statesGame states– Takes care of the current state’s logicTakes care of the current state’s logic
Game StatesGame States
• BaseGameStateBaseGameState– Init(), Deinit(), Update(), Render(), Input()Init(), Deinit(), Update(), Render(), Input()– KeyDown()… MouseClicked()…KeyDown()… MouseClicked()…– OnLostDevice(), OnResetDevice()OnLostDevice(), OnResetDevice()– Reference to an Application objectReference to an Application object
• Application works as a game state Application works as a game state managermanager
• Intro, Menu, Game, Level EditorIntro, Menu, Game, Level Editor
Particle SystemParticle System
• Particle Particle – Pos, Vel, Acc, Size, Color etcPos, Vel, Acc, Size, Color etc
• Particle SystemParticle System– Collection of particles and settingsCollection of particles and settings– Updates particles, kills, respawnsUpdates particles, kills, respawns
• Particle ManagerParticle Manager– Collection of particle systemsCollection of particle systems– Updates, renders and removesUpdates, renders and removes
NetworkNetwork
• NetworkManagerNetworkManager– Client & Server in oneClient & Server in one– Start(), Stop(), Send(), Read()Start(), Stop(), Send(), Read()
• MessagesMessages– BaseNetworkMessageBaseNetworkMessage
• Message IDMessage ID• Encode() – Writes data into a streamEncode() – Writes data into a stream• Decode() – Retrieves data from the streamDecode() – Retrieves data from the stream• DerivedNetworkMessage overrides DerivedNetworkMessage overrides
Basic Network LoopBasic Network Loop
• While(Network.Read())While(Network.Read())– Switch(Message.ID)Switch(Message.ID)
• Case Update:Case Update:• Message.Decode() Message.Decode() • DoUpdate()DoUpdate()
• Send messagesSend messages– Create new message and assign IDCreate new message and assign ID
• NewMessage.Encode()NewMessage.Encode()– Network.Send(NewMessage, SendType, Network.Send(NewMessage, SendType,
Connection)Connection)
AIAI
• StatesStates– PatrolPatrol– AttackAttack– InvestigateInvestigate– IdleIdle– Find CoverFind Cover– ReloadReload
The PlayablesThe Playables
• Four very different classesFour very different classes– EngineerEngineer– MedicMedic– SoldierSoldier– SpySpy
Level EditorLevel Editor
• Construct Levels On the FlyConstruct Levels On the Fly– Easy to learn and use.Easy to learn and use.
Object HierarchyObject Hierarchy
GUIGUI
ProblemsProblems
• Animated MeshesAnimated Meshes• X exporter (Panda, Official, Maya)X exporter (Panda, Official, Maya)• Networking SyncNetworking Sync• GUIGUI• WallhackWallhack
Further WorkFurther Work• Redesign a few classesRedesign a few classes• Improve AIImprove AI• FX ShadersFX Shaders• BuildingsBuildings• Multitexturing for tilemapMultitexturing for tilemap• Graphical HUDGraphical HUD• MissionsMissions• Improved physics (OBB)Improved physics (OBB)• ScriptsScripts
QuestionsQuestions
??
The endThe end