SlideShare a Scribd company logo
1 of 26
Zawód: programista gier 
Jak zacząć pracę w branży? 
Maciej Mróz 
CTO
Największy developer gier 
społecznościowych 
w Polsce 
Ponad 
60 pracowników 
Od 10 lat 
na rynku globalnym 
Ponad 30 wydanych gier 
na całym świecie 
Zaawansowany 
proces technologiczny 
Doskonała 
jakość produktów
39 mln 
Zarejestrowanych 
użytkowników 
3.1 mln 
Aktywnych użytkowników 
w miesiącu 
70 tys. 
Rejestracji dziennie
Gry muszą zarabiać
Gry muszą zarabiać 
• Branża gier to jest biznes 
• „Indie" to tylko metoda marketingu 
• Czas spędzony "po godzinach" też kosztuje 
• Zysk z gry nie zawsze musi być finansowy 
– nauka 
– tworzenie technologii 
– budowa portfolio
Praca w branży 
• Czasy pisania gier samemu się 
skończyły 
• Duże, długotrwałe, złożone projekty, 
tworzone przez zespoły ludzi 
• Wymaga to odpowiedniego 
podejścia i narzędzi 
• Programowanie to tylko część 
układanki!
Specjalizacja jest konieczna 
Tym bardziej im większy jest projekt 
Różne problemy, podejścia do 
ich rozwiązywania, technologie 
Więcej możliwości rozwoju :) 
Nauka nie ma końca!
Możliwe ścieżki rozwoju 
Rozgrywka 
AI 
Analityka danych 
Serwery sieciowe 
Rendering 
Web development, backendy
Co zawsze warto znać? 
Algorytmy i struktury danych 
Złożoność pamięciowa i czasowa 
Matematyka 
(w szczególności: algebra liniowa, statystyka, kombinatoryka) 
Dobre praktyki i narzędzia inżynierskie
O czym jeszcze warto wiedzieć 
Systemy 
operacyjne 
Architektury 
komputerów 
Programowanie 
Sieci współbieżne 
komputerowe 
Systemy 
rozproszone
Jak nauczyć się programować 
Nie ma drogi na skróty!!!
Języki programowania 
Kilka różnych języków programowania 
"A language that doesn't affect the way you think about programming, is not worth knowing„ 
Absolutne minimum to po jednym z każdej grupy: 
• Niskopoziomowy (ręczne zarządzanie pamięcią, 
kompilowany do kodu natywnego) - C, C++, asembler 
• Wysokopoziomowy (garbage collector, refleksja i emisja 
kodu, dynamiczne typowanie lub duck typing) - Python, 
Ruby, Java, C# 
• Funkcyjny (Haskell, Scala, Clojure, Erlang ...)
Dobre praktyki inżynierskie 
• Wzorce projektowe 
• Standardy kodowania 
• Kontrola wersji 
• Continuous integration 
• Unit testing/TDD/BDD 
DOKUMENTACJA 
!!!
Jeśli programowanie nie jest Twoją 
pasją, zajmij się czymś innym
Nic nie zastąpi praktyki 
Przygotuj się na 
„10 000 godzin” 
Pisz jak 
najwięcej kodu 
Czytaj kod 
innych!
Wprawki programistyczne 
• Różne algorytmy i struktury danych 
– Szukaj tego co jest dla Ciebie trudne, wyjdź poza 
strefę komfortu! 
– Project Euler (https://projecteuler.net/), TopCoder 
(http://www.topcoder.com/), wiele innych! 
– SICP (Structure and Interpretation of Computer 
Programs) - przy okazji można poznać Scheme :) 
• Game jamy - online i w realu
Komunikacja 
Tworzenie oprogramowania to aktywność zespołowa 
Wymiana doświadczeń jest bezcenna
Załóż konto na 
GitHub albo 
podobnym 
serwisie 
Znajdź jakiś 
projekt open 
source w którym 
chcesz działać 
Albo zrób 
własny 
Komunikacja 
Nie pisz kodu do szuflady
Próbuj różnych rzeczy 
• Różne rodzaje gier 
– Arcade 2D, Logiczne, 
Przygodowe, Ekonomiczne, 3D 
• Różne platformy 
– mobilne, desktop, web, VR - 
całkiem inne problemy 
• Zadania "wokół gier" 
– System do budowy zasobów 
graficznych 
– Własny kompilator języka 
skryptowego  
2d 
+ 
3d 
% 
?
Kończ to, co zaczynasz 
• Twoim celem jest doprowadzenie projektu do końca 
i dostarczenie go graczowi 
• Naucz się kontrolować zakres projektów 
Gry, jak każde oprogramowanie, są podatne na "feature creep" 
• Programowanie to w dużym stopniu rutyna 
• Nie można być ekspertem od wszystkiego, ale warto mieć 
przynajmniej pojęcie jak wszystko działa
Technologie się zmieniają 
Technologia użyta 
w projekcie wynika z tego, 
gdzie jest 
i jaki jest nasz gracz. 
Technologie rodzą się 
i umierają każdego dnia. 
Dyktuje to sprzęt, 
oprogramowanie, 
zmiany rynku 
Nie należy wiązać swojego 
życia z jednym narzędziem 
czy też ich ekosystemem. 
Wszystko umiera. 
Języki programowania mają 
długi cykl życia, 
ale to też tylko narzędzie.
Technologie klienckie 
• Gra "AAA" na konsole/PC: z reguły C++ (ale narzędzia 
mogą być pisane np. w C#, Javie, Pythonie ...) 
• Gra webowa: HTML5 albo Flash 
• Gra mobilna: Java, Objective-C, Unity, ...
Technologie serwerowe 
• Dzisiaj prawie każda gra zawiera mniejszy lub większy element 
online 
• Proste usługi HTTP to Python, Ruby, node.js, Java 
• Serwery TCP/UDP, usługi backendowe to Java, C++, Go, Scala, 
node.js ... 
• Analiza danych: SQL, Hive/Pig, Python, R ... 
• Technologie towarzyszące: Ansible, Nagios, Docker, Amazon 
Web Services
Każdy może robić gry! 
24
25 
Każdy może robić gry 
Jak znajdziesz już swoje powołanie, po prostu podążaj za nim 
Pasja jest w którymś momencie konieczna do dalszej nauki 
Niezależnie od tego, co zdecydujesz się robić, możesz pracować 
w branży gier 
Może kiedyś u nas :) 
Skoncentruj się na tym żeby być dobrym 
programistą/programistką! 
Nieważne, do której firmy trafisz (czy założysz własną) – 
będziesz się uczyć przez całe życie :)
DZIĘKUJĘ 
ZA UWAGĘ 
mmroz@ganymede.eu 
www.slideshare.net/GanymedeLtd

More Related Content

What's hot

Prototypowanie i design iteracyjny
Prototypowanie i design iteracyjnyPrototypowanie i design iteracyjny
Prototypowanie i design iteracyjnyArtur Ganszyniec
 
Creating endless playgrounds
Creating endless playgroundsCreating endless playgrounds
Creating endless playgroundsArtur Roszczyk
 
Wykład o kompromisie w grach
Wykład o kompromisie w grachWykład o kompromisie w grach
Wykład o kompromisie w grachJacek Brzeziński
 
Rozległe Fabuły Gameday2010
Rozległe Fabuły Gameday2010Rozległe Fabuły Gameday2010
Rozległe Fabuły Gameday2010Polygamia
 
Tworzenie wieloplatformowych gier mobilnych
Tworzenie wieloplatformowych gier mobilnychTworzenie wieloplatformowych gier mobilnych
Tworzenie wieloplatformowych gier mobilnychGameDesire Company
 

What's hot (8)

Prototypowanie i design iteracyjny
Prototypowanie i design iteracyjnyPrototypowanie i design iteracyjny
Prototypowanie i design iteracyjny
 
Creating endless playgrounds
Creating endless playgroundsCreating endless playgrounds
Creating endless playgrounds
 
Przepis na grę
Przepis na gręPrzepis na grę
Przepis na grę
 
Wykład o kompromisie w grach
Wykład o kompromisie w grachWykład o kompromisie w grach
Wykład o kompromisie w grach
 
Rozległe Fabuły Gameday2010
Rozległe Fabuły Gameday2010Rozległe Fabuły Gameday2010
Rozległe Fabuły Gameday2010
 
Lokalizacja
LokalizacjaLokalizacja
Lokalizacja
 
Tworzenie wieloplatformowych gier mobilnych
Tworzenie wieloplatformowych gier mobilnychTworzenie wieloplatformowych gier mobilnych
Tworzenie wieloplatformowych gier mobilnych
 
Agile LEGO Game
Agile LEGO GameAgile LEGO Game
Agile LEGO Game
 

Similar to Zawód: programista gier. Jak zacząć pracę w branży?

C++ w programowaniu gier
C++ w programowaniu gierC++ w programowaniu gier
C++ w programowaniu gierAdam Sawicki
 
Pisząc kod natywny C/C++, czyli nie taki diabeł straszny
Pisząc kod natywny C/C++, czyli nie taki diabeł strasznyPisząc kod natywny C/C++, czyli nie taki diabeł straszny
Pisząc kod natywny C/C++, czyli nie taki diabeł strasznyAdam Sawicki
 
Game Dev School 2016 - Gry i rynek mobilny
Game Dev School 2016 - Gry i rynek mobilnyGame Dev School 2016 - Gry i rynek mobilny
Game Dev School 2016 - Gry i rynek mobilnyMateusz Janczewski
 
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnychPROIDEA
 
Narzędzia game designera
Narzędzia game designeraNarzędzia game designera
Narzędzia game designeraAkademiaf2p
 
Intro do Domain Driven Design. ( PL )
Intro do Domain Driven Design. ( PL )Intro do Domain Driven Design. ( PL )
Intro do Domain Driven Design. ( PL )GOG.com dev team
 
Architektura serwera gier online
Architektura serwera gier onlineArchitektura serwera gier online
Architektura serwera gier onlineMaciej Mróz
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówMichal Lukaszewski
 
Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych
Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych
Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych GameDesire Academy
 
Technologie przetwarzania danych by ZAiIO
Technologie przetwarzania danych by ZAiIOTechnologie przetwarzania danych by ZAiIO
Technologie przetwarzania danych by ZAiIOArkadiusz Nowakowski
 
Perełki programowania gier. Vademecum profesjonalisty. Tom 2
Perełki programowania gier. Vademecum profesjonalisty. Tom 2Perełki programowania gier. Vademecum profesjonalisty. Tom 2
Perełki programowania gier. Vademecum profesjonalisty. Tom 2Wydawnictwo Helion
 
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPJak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPPiotr Horzycki
 
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5krakspot
 
Wprowadzenie do tworzenia gier
Wprowadzenie do tworzenia gierWprowadzenie do tworzenia gier
Wprowadzenie do tworzenia gierDariusz Kieda
 
Girls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząćGirls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząćmonterail
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlSebastian Marek
 
Komputer PC w nowoczesnej firmie
Komputer PC w nowoczesnej firmieKomputer PC w nowoczesnej firmie
Komputer PC w nowoczesnej firmieWydawnictwo Helion
 

Similar to Zawód: programista gier. Jak zacząć pracę w branży? (20)

C++ w programowaniu gier
C++ w programowaniu gierC++ w programowaniu gier
C++ w programowaniu gier
 
Pisząc kod natywny C/C++, czyli nie taki diabeł straszny
Pisząc kod natywny C/C++, czyli nie taki diabeł strasznyPisząc kod natywny C/C++, czyli nie taki diabeł straszny
Pisząc kod natywny C/C++, czyli nie taki diabeł straszny
 
Game Dev School 2016 - Gry i rynek mobilny
Game Dev School 2016 - Gry i rynek mobilnyGame Dev School 2016 - Gry i rynek mobilny
Game Dev School 2016 - Gry i rynek mobilny
 
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
 
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnych
 
Narzędzia game designera
Narzędzia game designeraNarzędzia game designera
Narzędzia game designera
 
Intro do Domain Driven Design. ( PL )
Intro do Domain Driven Design. ( PL )Intro do Domain Driven Design. ( PL )
Intro do Domain Driven Design. ( PL )
 
Architektura serwera gier online
Architektura serwera gier onlineArchitektura serwera gier online
Architektura serwera gier online
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędów
 
Developers Club 2003
Developers Club 2003Developers Club 2003
Developers Club 2003
 
Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych
Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych
Artur Staszczyk: Optymalizacje i wydajność w grach komputerowych
 
Technologie przetwarzania danych by ZAiIO
Technologie przetwarzania danych by ZAiIOTechnologie przetwarzania danych by ZAiIO
Technologie przetwarzania danych by ZAiIO
 
Perełki programowania gier. Vademecum profesjonalisty. Tom 2
Perełki programowania gier. Vademecum profesjonalisty. Tom 2Perełki programowania gier. Vademecum profesjonalisty. Tom 2
Perełki programowania gier. Vademecum profesjonalisty. Tom 2
 
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPJak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
 
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
 
Wprowadzenie do tworzenia gier
Wprowadzenie do tworzenia gierWprowadzenie do tworzenia gier
Wprowadzenie do tworzenia gier
 
Girls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząćGirls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząć
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPl
 
Od zera do Automattica
Od zera do AutomatticaOd zera do Automattica
Od zera do Automattica
 
Komputer PC w nowoczesnej firmie
Komputer PC w nowoczesnej firmieKomputer PC w nowoczesnej firmie
Komputer PC w nowoczesnej firmie
 

More from GameDesire Company

Tajniki ASO (App Store Optimization)
Tajniki ASO (App Store Optimization)Tajniki ASO (App Store Optimization)
Tajniki ASO (App Store Optimization)GameDesire Company
 
Armada - the way to ship microservices
Armada - the way to ship microservicesArmada - the way to ship microservices
Armada - the way to ship microservicesGameDesire Company
 
Inspire and be inspired - open your mind and join the community
Inspire and be inspired - open your mind and join the communityInspire and be inspired - open your mind and join the community
Inspire and be inspired - open your mind and join the communityGameDesire Company
 
Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.
Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.
Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.GameDesire Company
 
An Interative Approach to the Development and Distribution of Social Casino
An Interative Approach to the Development and Distribution of Social CasinoAn Interative Approach to the Development and Distribution of Social Casino
An Interative Approach to the Development and Distribution of Social CasinoGameDesire Company
 
Scaling Online Game Development
Scaling Online Game DevelopmentScaling Online Game Development
Scaling Online Game DevelopmentGameDesire Company
 
Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?
Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?
Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?GameDesire Company
 
User-Generated Content in Social Casino. Get Creative!
User-Generated Content in Social Casino. Get Creative!User-Generated Content in Social Casino. Get Creative!
User-Generated Content in Social Casino. Get Creative!GameDesire Company
 
It's not a product, it's a service!
It's not a product, it's a service!It's not a product, it's a service!
It's not a product, it's a service!GameDesire Company
 

More from GameDesire Company (10)

Tajniki ASO (App Store Optimization)
Tajniki ASO (App Store Optimization)Tajniki ASO (App Store Optimization)
Tajniki ASO (App Store Optimization)
 
Armada - the way to ship microservices
Armada - the way to ship microservicesArmada - the way to ship microservices
Armada - the way to ship microservices
 
Inspire and be inspired - open your mind and join the community
Inspire and be inspired - open your mind and join the communityInspire and be inspired - open your mind and join the community
Inspire and be inspired - open your mind and join the community
 
Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.
Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.
Zawód: Analityk Gier. O przekuwaniu danych w użyteczne narracje.
 
An Interative Approach to the Development and Distribution of Social Casino
An Interative Approach to the Development and Distribution of Social CasinoAn Interative Approach to the Development and Distribution of Social Casino
An Interative Approach to the Development and Distribution of Social Casino
 
Scaling Online Game Development
Scaling Online Game DevelopmentScaling Online Game Development
Scaling Online Game Development
 
Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?
Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?
Jak C++ może pomóc w tworzeniu wysokiej jakości kodu?
 
User-Generated Content in Social Casino. Get Creative!
User-Generated Content in Social Casino. Get Creative!User-Generated Content in Social Casino. Get Creative!
User-Generated Content in Social Casino. Get Creative!
 
It's not a product, it's a service!
It's not a product, it's a service!It's not a product, it's a service!
It's not a product, it's a service!
 
Od Pacmana do Big Data
Od Pacmana do Big DataOd Pacmana do Big Data
Od Pacmana do Big Data
 

Zawód: programista gier. Jak zacząć pracę w branży?

  • 1. Zawód: programista gier Jak zacząć pracę w branży? Maciej Mróz CTO
  • 2. Największy developer gier społecznościowych w Polsce Ponad 60 pracowników Od 10 lat na rynku globalnym Ponad 30 wydanych gier na całym świecie Zaawansowany proces technologiczny Doskonała jakość produktów
  • 3. 39 mln Zarejestrowanych użytkowników 3.1 mln Aktywnych użytkowników w miesiącu 70 tys. Rejestracji dziennie
  • 5. Gry muszą zarabiać • Branża gier to jest biznes • „Indie" to tylko metoda marketingu • Czas spędzony "po godzinach" też kosztuje • Zysk z gry nie zawsze musi być finansowy – nauka – tworzenie technologii – budowa portfolio
  • 6. Praca w branży • Czasy pisania gier samemu się skończyły • Duże, długotrwałe, złożone projekty, tworzone przez zespoły ludzi • Wymaga to odpowiedniego podejścia i narzędzi • Programowanie to tylko część układanki!
  • 7. Specjalizacja jest konieczna Tym bardziej im większy jest projekt Różne problemy, podejścia do ich rozwiązywania, technologie Więcej możliwości rozwoju :) Nauka nie ma końca!
  • 8. Możliwe ścieżki rozwoju Rozgrywka AI Analityka danych Serwery sieciowe Rendering Web development, backendy
  • 9. Co zawsze warto znać? Algorytmy i struktury danych Złożoność pamięciowa i czasowa Matematyka (w szczególności: algebra liniowa, statystyka, kombinatoryka) Dobre praktyki i narzędzia inżynierskie
  • 10. O czym jeszcze warto wiedzieć Systemy operacyjne Architektury komputerów Programowanie Sieci współbieżne komputerowe Systemy rozproszone
  • 11. Jak nauczyć się programować Nie ma drogi na skróty!!!
  • 12. Języki programowania Kilka różnych języków programowania "A language that doesn't affect the way you think about programming, is not worth knowing„ Absolutne minimum to po jednym z każdej grupy: • Niskopoziomowy (ręczne zarządzanie pamięcią, kompilowany do kodu natywnego) - C, C++, asembler • Wysokopoziomowy (garbage collector, refleksja i emisja kodu, dynamiczne typowanie lub duck typing) - Python, Ruby, Java, C# • Funkcyjny (Haskell, Scala, Clojure, Erlang ...)
  • 13. Dobre praktyki inżynierskie • Wzorce projektowe • Standardy kodowania • Kontrola wersji • Continuous integration • Unit testing/TDD/BDD DOKUMENTACJA !!!
  • 14. Jeśli programowanie nie jest Twoją pasją, zajmij się czymś innym
  • 15. Nic nie zastąpi praktyki Przygotuj się na „10 000 godzin” Pisz jak najwięcej kodu Czytaj kod innych!
  • 16. Wprawki programistyczne • Różne algorytmy i struktury danych – Szukaj tego co jest dla Ciebie trudne, wyjdź poza strefę komfortu! – Project Euler (https://projecteuler.net/), TopCoder (http://www.topcoder.com/), wiele innych! – SICP (Structure and Interpretation of Computer Programs) - przy okazji można poznać Scheme :) • Game jamy - online i w realu
  • 17. Komunikacja Tworzenie oprogramowania to aktywność zespołowa Wymiana doświadczeń jest bezcenna
  • 18. Załóż konto na GitHub albo podobnym serwisie Znajdź jakiś projekt open source w którym chcesz działać Albo zrób własny Komunikacja Nie pisz kodu do szuflady
  • 19. Próbuj różnych rzeczy • Różne rodzaje gier – Arcade 2D, Logiczne, Przygodowe, Ekonomiczne, 3D • Różne platformy – mobilne, desktop, web, VR - całkiem inne problemy • Zadania "wokół gier" – System do budowy zasobów graficznych – Własny kompilator języka skryptowego  2d + 3d % ?
  • 20. Kończ to, co zaczynasz • Twoim celem jest doprowadzenie projektu do końca i dostarczenie go graczowi • Naucz się kontrolować zakres projektów Gry, jak każde oprogramowanie, są podatne na "feature creep" • Programowanie to w dużym stopniu rutyna • Nie można być ekspertem od wszystkiego, ale warto mieć przynajmniej pojęcie jak wszystko działa
  • 21. Technologie się zmieniają Technologia użyta w projekcie wynika z tego, gdzie jest i jaki jest nasz gracz. Technologie rodzą się i umierają każdego dnia. Dyktuje to sprzęt, oprogramowanie, zmiany rynku Nie należy wiązać swojego życia z jednym narzędziem czy też ich ekosystemem. Wszystko umiera. Języki programowania mają długi cykl życia, ale to też tylko narzędzie.
  • 22. Technologie klienckie • Gra "AAA" na konsole/PC: z reguły C++ (ale narzędzia mogą być pisane np. w C#, Javie, Pythonie ...) • Gra webowa: HTML5 albo Flash • Gra mobilna: Java, Objective-C, Unity, ...
  • 23. Technologie serwerowe • Dzisiaj prawie każda gra zawiera mniejszy lub większy element online • Proste usługi HTTP to Python, Ruby, node.js, Java • Serwery TCP/UDP, usługi backendowe to Java, C++, Go, Scala, node.js ... • Analiza danych: SQL, Hive/Pig, Python, R ... • Technologie towarzyszące: Ansible, Nagios, Docker, Amazon Web Services
  • 25. 25 Każdy może robić gry Jak znajdziesz już swoje powołanie, po prostu podążaj za nim Pasja jest w którymś momencie konieczna do dalszej nauki Niezależnie od tego, co zdecydujesz się robić, możesz pracować w branży gier Może kiedyś u nas :) Skoncentruj się na tym żeby być dobrym programistą/programistką! Nieważne, do której firmy trafisz (czy założysz własną) – będziesz się uczyć przez całe życie :)
  • 26. DZIĘKUJĘ ZA UWAGĘ mmroz@ganymede.eu www.slideshare.net/GanymedeLtd

Editor's Notes

  1. Źródło: http://abstrusegoose.com/249