Download presentation
Presentation is loading. Please wait.
Published byImogen Reed Modified over 9 years ago
1
Final presentation saswat, venkat, vivek, vaibhav, jian, revant
4
...back in the beginning It was ambitious
5
3D racing/combat game Mono wheel vehicle Offensive/defensive weapons ▪ Missiles ▪ Turrets ▪ Spikes 3 game modes ▪ death match ▪ races ▪ style Networking Motion blur Dynamic lighting … Networking Motion blur Dynamic lighting …
6
Open source graphics engine Networking Physics Race mode Frame rates Game Architecture 3D art But.. We survived
7
Irrlicht Hacked code to get features we wanted Recompiled source Profiled and optimized packages Were at mercy of open source forums Poor documentation EMT_LIGHTMAP_LIGHTING EMT_LIGHTMAP_LIGHTING_M2 EMT_LIGHTMAP_LIGHTING_M4
8
Lost / out of order packets Synchronize state of game objects LAN server discover Efficient serialization ▪ Use cheap bit masks ▪ Update only when necessary ▪ Works over wifi Non linear development Did not decide on networking initially
9
Interpolate between messages Prevent ‘jumping’ t = 0 t = 1
10
Networking meant more work in other areas ▪ Who died and who killed? ▪ Did the missile hit? ▪ Game states ▪ Lobby UI ▪ Networked sound ▪ In-game chat ▪ …
11
Why the wheel was hard ▪ PhysX’s uses a vertical RayCast wheel model ▪ Collision only at the vertical y contact point ▪ No wheel-wheel collision re-invented The wheel re-invented The wheel
12
Our wheel implementation Additional shapes for collision response ▪ 2 cylinders and 1 box Carful grouping of all game objects .. And a lot of debugging ▪ To a point where we almost gave up the idea
13
Anisotropic friction model for Skid Based on a piecewise cubic Hermite spline. Varies with speed and tire pressure
14
‘Tunneling’ Go through walls at high speeds Implemented custom CCD [continuous collision detection] Visual debugging Keep graphics and physics world in sync
15
20 fps ▪ Octree for each mesh ▪ Careful level design ▪ Prioritizable update loop Custom implementation
16
C++ Pointers, types, network packets, sound, physics, aghhh Our solution: ▪ A reusable game engine ▪ abstracts networking, physics and graphics ▪ Fairly extendible ▪ Game play programmers only worry about game level details ▪ Planning to release as open source
17
Is player A ahead of player B? ▪ Update rankings in real time ▪ Cool wave points system ▪ Adaptive interpolation algorithm Race AI [may be scraped] ▪ Non deterministic, yet intelligent ▪ Follow vehicle physics
18
Nobody had done 3D art before Our external artist got busy Did the wheel mesh, UI We Learnt 3D design tools Textured each triangle Realistic Light mapped environment Dynamic lighting !!
19
Smooth content pipeline
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.