Top Banner
Ixion Final presentati on sasw at, venkat, vivek, vaibhav, jian, revant
20

Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Jan 05, 2016

Download

Documents

Imogen Reed
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Ixion

Final

presentation

saswat, venkat, v

ivek, vaibhav,

jian, revant

Page 2: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

And it all began with… a wheel

Page 3: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

in a 3D world..

Page 4: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

What we promised

...back in the beginning

It was

ambitious

Page 5: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Today we deliver that and more!!

3D racing/combat game

Mono wheel vehicle

Offensive/defensive weapons▪ Missiles▪ Turrets▪ Spikes

3 game modes▪ death match▪ races▪ style

Networkin

gMotion blur

Dynamic lightin

g

Page 6: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

And it was not easy

Open source graphics engine

Networking

Physics

Race mode

Frame rates

Game Architecture

3D art

But .. We

survived

Page 7: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Open source graphics engine

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

Page 8: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Networking

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

Page 9: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Interpolate between messages Prevent ‘jumping’

t = 0 t = 1

Beyond Network Programming

Page 10: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Networking ….

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▪ …

Page 11: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Physics

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

Page 12: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Physics…

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

Page 13: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Physics…

Anisotropic friction model for Skid Based on a piecewise cubic Hermite

spline. Varies with speed and tire pressure

Page 14: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Physics…

‘Tunneling’ Go through walls at high speeds Implemented custom CCD [continuous

collision detection]

Visual debugging Keep graphics and physics world in sync

Page 15: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Frame rate Issues

20 fps▪ Octree for each mesh ▪ Careful level design ▪ Prioritizable update loop

Custom implementation

Page 16: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Our Architecture

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

Page 17: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Race Mode Challenges

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

Page 18: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

3D art

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 !!

Page 19: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Content Pipeline

Smooth content pipeline

Page 20: Final presentation saswat, venkat, vivek, vaibhav, jian, revant.

Without further ado …