Digital Frontier: Programowanie gier - część 1

Post on 10-May-2015

200 views 2 download

description

Pierwsza część mojego wykładu na kursie Digital Frontier. http://kurs.digitalfrontier.pl/

Transcript of Digital Frontier: Programowanie gier - część 1

Programowanie gierCzęść 1 – Kto to: programista gier?

Digital Frontier · 16-12-2012

Leszek GodlewskiProgramistaleszek.godlewski@thefarm51.com

www.thefarm51.com

Plan spotkania

www.thefarm51.com

● Część I: Kto to: programista gier?● Programista gier vs „klasyczny”● Przegląd dyscyplin programowania gier

● Część II: Silnik, czyli koń roboczy● Część III: Narzędzia (zbrodni)● Część IV: Rozgrywka, głupcze!● Część V: Back-end, front-end...

Infrastruktura sieciowa

Kto zacz?

www.thefarm51.com

● Farmer od marca 2010● Painkiller HD, Adventurer...

● Entuzjasta open source● Modder gier od ~12 roku życia● Student Politechniki Śląskiej

WGK 2012

Szukamy pracowników!

http://www.skillshot.pl/search/The+Farm+51 www.thefarm51.com

●Fajny zespół!●Fajne projekty!●Fajne miasto!●Polecam! � �

www.thefarm51.com

Programista gier vs „klasyczny”

Kto to jest: programista?

www.thefarm51.com

● Lubi:● Sensowne, techniczne wyzwania● Znać oczekiwania wobec niego● Optymalizować swoją pracę

● Nie lubi:● Braku designu● Marnowania jego czasu● Działu QA � �

A programista gier?

www.thefarm51.com

programista gier!=

programista „klasyczny”(webdev, enterprise itd.)

● Natura i skala problemów● Sposób myślenia● Narzędzia● Interdyscyplinarne środowisko pracy (zespół)

Problemy - „growe” vs „klasyczne”

www.thefarm51.com

Programowanie „klasyczne” Programowanie gierDużo czasu na rozwiązanie problemu

Większość problemów musi być rozwiązana w obrębie 1 klatki animacji (33⅓ ms lub mniej!)

Dużo dostępnej pamięci Mało dostępnej pamięci (zwłaszcza na konsolach)

Priorytet: niezawodność Priorytet: wydajność

Dziedzina problemów – głównie deterministyczna

Dziedzina problemów – głównie niedeterministyczna

Odpowiedzialność przed klientem/przełożonym

Odpowiedzialność przed kolegami z zespołu

Inżynieria oprogramowania

www.thefarm51.com

● IO stosowana wyrywkowo...● UML – rzadkość● Continuous Integration – rzadkość● Testy jednostkowe – rzadkość● Wzorce projektowe – rzadkość

● ...ale jednak● Modne metodologie agile

– Scrum, Kanban...● Kontrola wersji, bugtracking● Code review

www.thefarm51.com

Dyscypliny w programowaniu gier

Struktura współczesnej gry

www.thefarm51.com

EdytorEdytorNarzędziapoziomówNarzędziapoziomów

Narzędziaassetów

Narzędziaassetów

SilnikSilnik

FizykaFizyka

RenderingRendering AudioAudio

SiećSieć

PlatformaPlatforma

WejścieWejście

Infrastrukturasieciowa

Infrastrukturasieciowa

GraGra

UIUI MechanikaMechanika AIAI

Stanowiska programistyczne

www.thefarm51.com

● Engine Programmer/Engineer● Graphics/

Rendering...● Physics...● Platform...● Input...● Audio/Sound...● Tool...

● Network...● Gameplay...● Artificial

Intelligence...● User Interface...● Generalist...● Lead...

Indywidualne specjalności

www.thefarm51.com

rozmiar zespołu

wsz

echs

tron

ność

wiedza

I wszystko to musimy zrobić sami?

www.thefarm51.com

Nie.

● Gotowe silniki● Unity, Unreal Engine/UDK, CryEngine,

Unigine...● Middleware

● OGRE, Renderware, FMOD, Havok, PhysX, Bullet, SpeedTree, Scaleform...

Jaki jest „plan minimum”?

www.thefarm51.com

EdytorEdytorNarzędziapoziomówNarzędziapoziomów

Narzędziaassetów

Narzędziaassetów

SilnikSilnik

FizykaFizyka

RenderingRendering AudioAudio

SiećSieć

PlatformaPlatforma

WejścieWejście

Infrastrukturasieciowa

Infrastrukturasieciowa

GraGra

UIUI MechanikaMechanika AIAI

Jaki jest „plan minimum”?

www.thefarm51.com

EdytorEdytorNarzędziapoziomówNarzędziapoziomów

Narzędziaassetów

Narzędziaassetów

SilnikSilnik

FizykaFizyka

RenderingRendering AudioAudio

SiećSieć

PlatformaPlatforma

WejścieWejście

Infrastrukturasieciowa

Infrastrukturasieciowa

GraGra

UIUI MechanikaMechanika AIAI

Jaki jest „plan minimum”?

www.thefarm51.com

EdytorEdytorNarzędziapoziomówNarzędziapoziomów

Narzędziaassetów

Narzędziaassetów

SilnikSilnik

FizykaFizyka

RenderingRendering AudioAudio

SiećSieć

PlatformaPlatforma

WejścieWejście

Infrastrukturasieciowa

Infrastrukturasieciowa

GraGra

UIUI MechanikaMechanika AIAI

www.thefarm51.com

Pytania?

Dziękuję za uwagę!

Polub nas na Facebooku!http://www.facebook.com/farm51http://www.facebook.com/ProjectAdventurerhttp://www.facebook.com/PainkillerGame

leszek.godlewski@thefarm51.com

www.thefarm51.com