video games development

49
VIDEO GAMES TECHNOLOGY how it’s made by Vladyslav Kurmaz June 2015, December 2014

Upload: globallogic-ukraine

Post on 03-Aug-2015

228 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Video Games Development

VIDEO GAMES TECHNOLOGYhow it’s made

by Vladyslav Kurmaz

June 2015, December 2014

Page 2: Video Games Development

about speaker 6 years – GAME DEVELOPMENT 4 years – INDUSTRIAL 3D

video

Page 3: Video Games Development

about speaker

AN-148 avia-simulator

Paintball editorpet project

Page 4: Video Games Development

my top 3 games

Page 5: Video Games Development

INCEPTION

Page 6: Video Games Development

what is game. why do we play it.based on

• curiosity

• entertainment

• escape from reality

Page 7: Video Games Development

non-entertainment domains

Achitectural visualizationAvia simulatorsIndustrial 3DMedicineGamification

Page 8: Video Games Development

team, rolesGame publisher

Game designer

2D artist

Art director

Lead programmerGraphic programmer

3D ModelerAnimatorFX artist

Sound programmerPhysics programmerAI programmerScript programmer

Network programmerGame testerSound maker

Page 9: Video Games Development

roadmap / workflowWe were an “Agile” before it became main stream

Page 10: Video Games Development

DEEP DIVE

Page 11: Video Games Development

high-level structure

input

render one frame

network sync (client) update

network sync (server)

Game is an infinity loop

Page 12: Video Games Development

high-level structureFinite State Machine

Mainmenu

Loading

GameSettings

Createserver

Connect

Single-player

Page 13: Video Games Development

timing (FPS – frames per second)

input syncupdate

physics soundbroadcast render

logic/ai

one frame

t1 t2

Page 14: Video Games Development

game entity

pbe demo

Page 15: Video Games Development

GRAPHICS

Page 16: Video Games Development

Renders DirectX OpenGL HTML canvas/WebGL Platform specific rendering

Everything is triangles and Textures and Lightning and Shaders

Page 17: Video Games Development

Render - viewport

Page 18: Video Games Development

Render - input data

float position[3] float normal[3] unsigned int color float texel [2] …

Page 19: Video Games Development

render - pipeline

Page 20: Video Games Development

shaders

GLSL, HLSL vertex shader pixel shader geometry shader tessellation shader

Microprogram which runs directly on GPU

Page 21: Video Games Development

lightning ambient point spot directional self-illuminated

Page 22: Video Games Development

FX particle system motion trail decal

Page 23: Video Games Development

animation - mesh/morph

high accuracy very expensive

data storing

Page 24: Video Games Development

animation - skeletal

good for body animation

requires less data storage

Page 25: Video Games Development

animation - motion capture

AoA demo

Page 26: Video Games Development

LODs & MipMaps

Page 27: Video Games Development

user interface

left,top

right,bottom

Page 28: Video Games Development

PHYSICS

Page 29: Video Games Development

Object :shapepositionorientationvelocitymassfrictionelasticity…

scene, static & dynamic

Page 30: Video Games Development

collision detection & collision response

Complexity :O(n^2)O(n log(n))

Page 31: Video Games Development

cloth simulation

Page 32: Video Games Development

spatial partitioning

havok, newton, bullet, physx, etc.demo

Page 33: Video Games Development

SOUND

Page 34: Video Games Development

sound (music, ambient, 3d)

Page 35: Video Games Development

Listener :position

orientationvelocity

Sound :positionvelocity

sound scene

OpenAL, Squall, BASS, Fmod, etc.

Page 36: Video Games Development

• Chorus• Compression• Distortion• Echo• Environmental

Reverberation• Flange• Gargle• Parametric Equalizer• Waves Reverberation

sound FX

Page 37: Video Games Development

NETWORK

Page 38: Video Games Development

c1

c2

c3

serverserver

server

c1 c2 c3

c1

c2

c3

input

input

input

collect info from clients update send new positions

build-in, standalone server

Page 39: Video Games Development

INPUT

Page 40: Video Games Development

input devices

Page 41: Video Games Development

pressedreleasedtoggle

swipetwo-finger scrolltap to zoometc.

• Control state• Message queue

button, axis, gesture

immediate vs buffered

Page 42: Video Games Development

SCRIPTING

Page 43: Video Games Development

game logic

Lua, Python, JS, C#, Cint, etc.

engine

scripts• setup/test game without engine rebuild

• reuse engine

APIsupdate

Page 44: Video Games Development

AIShould be repeatabilityNo neural networksKISSPath findingSensors

video

Page 45: Video Games Development

OVERVIEW

Page 46: Video Games Development

game engines, cross-platform development• Unreal• Unity• Popcap game engine• …

• Editor• Presets• Scripting• Debug

Page 47: Video Games Development

NEXT STEPS

Page 48: Video Games Development

resources, hacker space

gamedev.netgamasutra.comgamedev.rudtf.rusiggraph.org

Page 49: Video Games Development

THANK YOUquestions