Dokument ten zawiera ciągle rozwijany i uzupełniany zbiór dobrych praktyk, jakimi innymi powinno się kierować przy projektowaniu i planowaniu programów kształcenia kierunków studiów mających dostarczać pracowników dla sektora producentów gier.
Podstawowe zalecenia
Nauczanie przez praktyków
Jednym z kluczowych i najczęściej podnoszonych zagadnień w nauczaniu dla gamedevu jest nauczanie przez praktyków. Choć jest to paradygmat szeroko sugerowany dla edukacji, to w edukacji dla branży gier ma szczególne znaczenie. O ile można nauczyć się programowania w stopniu wystarczającym by uczyć go dalej, to nie jest to już możliwe na przykład dla pipelineów produkcyjnych. W szczególności zaś nie jest możliwe nauczenie się teoretyczne projektowania gier (ang. game design). W tych obszarach edukacji niezbędni są wykładowcy, prowadzący laboratoria, edukatorzy posiadający praktyczne doświadczenie w branży.
Dyskusją cały czas toczącą się w branży gier jest natomiast kogo należy uznać praktykiem z wystarczającym doświadczeniem. Najczęściej uznawaną cezurą jest posiadanie w portfolio przynajmniej jednej wydanej komercyjnie gry. Ma to niejednokrotnie swoje odzwierciedlenie nawet w ogłoszeniach o pracę.
W krajach z bogatszymi doświadczeniem edukacji dla gamedevu, często podkreśla się, że obecność praktyków na uczelniach nie powinna ograniczać się tylko do stałej listy wykładowców. Bardzo dużą wartość niosą ze sobą także gościnne wykłady, zwłaszcza odbywające się z dużą regularnością, dostęp dla studentów do konsultacji z praktykami, mentoring, we wszelkich postaciach, opieka nad realizowanymi projektami czy wreszcie udział praktyków z branży w ocenie projektów i feedback jaki mogą oni zaoferować studentom.
Nauczanie przez projekty
Może najcenniejszą rzeczą jaką student może wynieść z uczelni są zrealizowane projekty. W praktyce rekrutacji do branży dużo rzadziej pyta się o zdobyte wykształcenie czy skończoną uczelnię niż o portfolio zrealizowanych projektów i doświadczenie zdobyte na nich. Powoduje to kilka kolejnych zaleceń.
- Większość kształcenia powinno się odbywać przez realizowanie praktycznych projektów.
- W branży nie ceni się projektów rozpoczętych, a jedynie te zakończone. Projekt rozpoczęty i niezakończony jest wręcz świadectwem braku kwalifikacji. oczekiwanie od kandydata do pracy zakończonych projektów bywa bardzo dosadnie podkreślane w wymaganiach rekrutacyjnych.
- Dużo większą wartość mają projekty gier, które mogą być w jakiś sposób upublicznione nawet jeżeli tylko poprzez bezpłatnie udostępnienie w internecie. Doświadczenia obcowania graczy z grą stworzoną przez studentów, ich reakcji, feedbacku, nie da się niczym zastąpić. Studenci powinni być tak prowadzeni, by tworzyli właśnie tego rodzaju projekty.
- Studenci powinni być edukowani, zachęcani, a następnie dopilnowywani, aby wybierali projekty w skali, która jest realizowana w zakresie czasowym, jaki mają na ten projekt. Problemem obserwowanym w sposób powtarzalny od lat, jest porywanie się na zbyt duże projekty właściwie na każdym etapie edukacji, przy czym im wcześniej tym bardziej. Choć do kategorii klasycznego żartu branżowego, urośli studenci pragnący stworzyć epicką grę MMORPG z otwartym światem, to i mniejsze projekty obierane przez nich zazwyczaj są zbyt duże.
- Można też wskazać, że właściwie student nie powinien uzyskać dyplomu ukończenia studiów, jeżeli nie stworzył kompletnej, działającej i w pełni funkcjonalnej gry, zgodnej z pierwotnym projektem. W praktyce projekty dyplomowe powinny być nastawione na wytworzenie gry nadającej się do opublikowania, jeżeli nie komercyjnego, to przynajmniej bezpłatnego.
Dodatkowe dobre praktyki
Nauczanie, a w szczególności projekty, winny kłaść nacisk na naukę pracy w zespole. Choć istnieją jednoosobowe zespoły indie, które odniosły sukces i są z tego bardzo znane, to opieranie się na tym jest jednak właśnie bardzo zwodnicze. Do jednoosobowego tworzenia gier trzeba bardzo dużo doświadczenia i jest to raczej dla rzadkich przypadków osób z wieloma talentami. Statystyczny absolwent uczelni powinien trafić do mniejszego lub większego zespołu tworzącego gry i potrafić sobie w nim poradzić.
Idealnym rozwiązaniem, praktykowanym już w takiej edukacji w krajach zachodnich, byłoby łączenie w zespołach studentów zupełnie różnych specjalności na przykład programistów i grafików. W polskich realiach wymaga to prawdopodobnie projektów międzyuczelnianych, z natury trudnych w realizacji i dlatego nasze kształcenie dla branży gier jeszcze długo będzie odstawało od zachodniego.
Game jamy, hackatony czy maratony programowania niosą ze sobą bardzo dużą wartość. Game jamy to intensywna praca w zespole, poznawanie innych stylów pracy, nowych technologii, metodologii czy pipelineów produkcyjnych. Typowy format game jamu, 48 godzin, odpowiada niemalże dwóm punktom ECTS. Jednocześnie można zaobserwować, że projekty realizowane na game jamach, wyglądają lepiej niż niejeden projekt zaliczeniowy, nawet w skali 4 czy 5 punktów ECTS. Domknięte projekty game jamowe często z pewnym powodzeniem wpisywane są do portfolio. Należy więc wskazać, że uczelnie powinny organizować game jamy i hackatony oraz zachęcać studentów do udziału w zewnętrznych i ułatwiać im to.
Uczelnia powinna możliwie szeroko wspierać działalność studenckich kół naukowych. Obserwacje ostatnich kilku lat na rynku pracy uczą, że często to właśnie koła naukowe są wylęgarniami najbardziej wartościowych młodych twórców gier. Koła zazwyczaj organizują seminaria i zapraszają gości, wypełniając w ten sposób bardzo skutecznie część zadań jakie inaczej spoczywałyby na uczelni. Koła sprzyjają wewnętrznej dyskusji, tworzeniu projektów po godzinach, wreszcie organizują studentów do udziału game jamach, hackatonach, konferencjach. Co należy podkreślić, sprawnie działające koło, jest widoczne społeczności dookoła uczelni i ma bardzo pozytywny wpływ zarówno na filmy szukające przyszłych pracowników jak i na decyzje maturzystów wybierających uczelnię.
Warto, by absolwent poszukujący pracy w gamedevie był już zaznajomiony z zwinnymi (agile) metodologiami wytwarzania oprogramowania. Scrum i Kanban są najczęściej stosowanymi w branży gier.
W toku nauczania w student powinien zapoznać się z wzorcami projektowymi charakterystycznymi dla gamedevu, np.: Singleton, Factory, Prototype, Observer, etc.
Technologie w nauczaniu uniwersyteckim
Przeszukane zostały ogłoszenia na skillshot.pl z czterech różnych miesięcy. Łącznie przeszło 400 ogłoszeń. Wybrane zostały ogłoszenia nadające się dla absolwentów, na pierwsze zatrudnienie w branży, a więc wolne od zapisów wymagających od kandydata doświadczenia. Tylko niecałe 25% kwalifikuje się w ten sposób. Niecałe 30% jeżeli wliczone zostaną oferty typu: office manager, social media manager, player support.
Jeżeli pracodawcy oczekują takich technologii na stanowiskach mogących stanowić pierwsze zatrudnienie w branży, to należałoby wskazać, że powinny ich uczyć właśnie uczelnie. Zajęcia i projekty studentów powinny być wykonywane z wykorzystaniem właśnie tych technologii. Inne technologie, rzadsze, bardziej edukacyjne, a przede wszystkim starsze, należy wycofywać i zastępować tymi.
Na liście uwzględnione zostały tylko technologie, nie ma np. umiejętności.
Usunięto wiedzę bardzo standardową i od dawna występującą w edukacji: bazy SQL, TCP/IP, etc..
Część wyników wymaga dodatkowego komentarza, z czego być może najbardziej te dotyczące języków programowania i silników u programistów. Na udział C# i C++ składały się zarówno ogłoszenia, które wymagały jednego lub drugiego – na przykład duże firmy poszukujące programistów jednocześnie do Unity jak i Unreala, jak i te wymagały obu języków, nawet jeżeli w trybie C++ wymagany, a C# mile widziany. Należy też się spodziewać że programiści unreala są bardziej poszukiwani i lepiej wynagradzani. Nie można również wywnioskować, że znając C# kandydat kwalifikuje się do każdej pracy programisty w branży.
Developer
Technologie najczęściej występujące w ogłoszeniach:
C# 60%
Unity 50%
GitLab 30%
.NET Core 20%
API Facebook 20%
AWS 20%
Firebase 20%
Java 20%
Linux 20%
Występowały także: Ansible, Bitbucket Server/Stash, Docker, REST, Unreal Engine
Programista
C# 100%
C++ 71%
Unity 71%
Unreal Engine 57%
C 29%
GIT 29%
Występowały także: .NET Core, Ansible, Blueprint, DirectX, OpenGL lub Vulkan, Docker, Game Maker Studio, Haskell, REST, Rust
Game Designer
Technologie najczęściej występujące w ogłoszeniach:
Unity 67%
Unreal Engine 33%
Występowały także: języki skryptowe (Python, Lua)
Level Designer
Technologie najczęściej występujące w ogłoszeniach:
Unity 50%
Występowały także: Jira, Kanban, Unreal Engine
Animator 2D
Technologie najczęściej występujące w ogłoszeniach:
Spine 100%
Występowały także: Dragon Bones, pakiet Adobe CS (Photoshop, Illustrator, After Effects)
Ilustrator / Grafik 2D
Technologie najczęściej występujące w ogłoszeniach:
pakiet Adobe (Photoshop, Illustrator) 75%
Unity 38%
Występowały także: GIT, Substance Painter, SVN
UI/UX artist
Technologie najczęściej występujące w ogłoszeniach:
Adobe After Effects 67%
Adobe Illustrator 67%
Występowały także: Adobe Photoshop, InDesign/ QuarkXPress, Unity
Grafik 3D
Technologie najczęściej występujące w ogłoszeniach:
Blender 56%
3ds Max 44%
Photoshop 33%
Substance Painter 33%
Unreal Engine 33%
Maya 22%
Unity 22%
ZBrush 22%
Występowały także: Jira
Environment Artist
Technologie najczęściej występujące w ogłoszeniach:
Unity 100%
After Effects 67%
Występowały także: Blender/3d Max, Maya, Substance Painter, Unreal Engine, Zbrush
Technical Artist
Technologie najczęściej występujące w ogłoszeniach:
Maya 75%
Photoshop 75%
C++ 50%
Houdini 50%
Max Scripting and HLS 50%
Python 50%
Substance Designer 50%
Zbrush/Mudbox 50%
Występowały także: C#, GIT, Moba language, Unreal Engine
Tester
Technologie najczęściej występujące w ogłoszeniach:
Unity 36%
Jira, MantisBT, Redmine 27%
Występowały także: GIT