video games development

Post on 03-Aug-2015

228 Views

Category:

Engineering

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

VIDEO GAMES TECHNOLOGYhow it’s made

by Vladyslav Kurmaz

June 2015, December 2014

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

video

about speaker

AN-148 avia-simulator

Paintball editorpet project

my top 3 games

INCEPTION

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

• curiosity

• entertainment

• escape from reality

non-entertainment domains

Achitectural visualizationAvia simulatorsIndustrial 3DMedicineGamification

team, rolesGame publisher

Game designer

2D artist

Art director

Lead programmerGraphic programmer

3D ModelerAnimatorFX artist

Sound programmerPhysics programmerAI programmerScript programmer

Network programmerGame testerSound maker

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

DEEP DIVE

high-level structure

input

render one frame

network sync (client) update

network sync (server)

Game is an infinity loop

high-level structureFinite State Machine

Mainmenu

Loading

GameSettings

Createserver

Connect

Single-player

timing (FPS – frames per second)

input syncupdate

physics soundbroadcast render

logic/ai

one frame

t1 t2

game entity

pbe demo

GRAPHICS

Renders DirectX OpenGL HTML canvas/WebGL Platform specific rendering

Everything is triangles and Textures and Lightning and Shaders

Render - viewport

Render - input data

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

render - pipeline

shaders

GLSL, HLSL vertex shader pixel shader geometry shader tessellation shader

Microprogram which runs directly on GPU

lightning ambient point spot directional self-illuminated

FX particle system motion trail decal

animation - mesh/morph

high accuracy very expensive

data storing

animation - skeletal

good for body animation

requires less data storage

animation - motion capture

AoA demo

LODs & MipMaps

user interface

left,top

right,bottom

PHYSICS

Object :shapepositionorientationvelocitymassfrictionelasticity…

scene, static & dynamic

collision detection & collision response

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

cloth simulation

spatial partitioning

havok, newton, bullet, physx, etc.demo

SOUND

sound (music, ambient, 3d)

Listener :position

orientationvelocity

Sound :positionvelocity

sound scene

OpenAL, Squall, BASS, Fmod, etc.

• Chorus• Compression• Distortion• Echo• Environmental

Reverberation• Flange• Gargle• Parametric Equalizer• Waves Reverberation

sound FX

NETWORK

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

INPUT

input devices

pressedreleasedtoggle

swipetwo-finger scrolltap to zoometc.

• Control state• Message queue

button, axis, gesture

immediate vs buffered

SCRIPTING

game logic

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

engine

scripts• setup/test game without engine rebuild

• reuse engine

APIsupdate

AIShould be repeatabilityNo neural networksKISSPath findingSensors

video

OVERVIEW

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

• Editor• Presets• Scripting• Debug

NEXT STEPS

resources, hacker space

gamedev.netgamasutra.comgamedev.rudtf.rusiggraph.org

THANK YOUquestions

top related