Jak, gdzie i w czym początkujący programista może zacząć programować gry?

16.11.2017 AUTOR: Aleksandra Balcerzak

Zastanawiałeś się kiedyś jak zacząć programować gry komputerowe?Każdy programista kiedyś zaczynał, był na początku swojej drogi zawodowej i budował wszystkie swoje umiejętności programowania od zera. W jaki sposób może zacząć swoją przygodę początkujący developer, którego interesuje programowanie gier? Co może zrobić poza poznawaniem komend i typową nauką poprzez czytanie i zapamiętywanie? Jakie projekty – m.in.  tworzenie gier 3d  – może wykonać, by rozwinąć swoje umiejętności?

Jak zacząć programować gry komputerowe

Żeby robić proste gry wystarczy znajomość jednego z wymienionych języków – Java, JavaScript, C, C#, C++, PHP bądź Python. Nie ma zatem jednego języka przeznaczonego wyłącznie do programowania gier, a wszystko zależy od tego, jakiego języka już się uczymy i jakie projekty chcielibyśmy wykonać.

Popularnym językiem wśród początkujących programistów gier jest język C++ i często po przejściu pierwszego kursu na jego temat i po poznaniu jego podstaw, zaczynają oni tworzyć swoje pierwsze samodzielne projekty. Warto jednak nie stawiać sobie na początku poprzeczki zbyt wysoko i zacząć od najprostszych, nieskomplikowanych nadmiernie gier 2D. Choć może się to również wydać zniechęcające, warto mieć świadomość, że takie gry jak chociażby GTA tworzą zespoły złożone z ponad setki programistów, jeszcze większej ilości specjalistów od tworzenia grafiki i proces ten wymaga nawet kilku lat.

Tworzenie gier :Biblioteka SFML dla początkujących

SFML, czyli ang. Simple and Fast Multimedia Library to łatwa w użyciu biblioteka multimedialna dla języków C i .Net (ale jest dostępna także dla takich języków, jak Java, Ruby, Python czy Go), która umożliwia m.in. tworzenie prostych gier (tak naprawdę to programowanie nawet prostych gier to wyzwanie ) i aplikacji multimedialnych. Dzięki jej funkcjonalnościom można chociażby wykonać projekt i podłożyć do niego ścieżkę dźwiękową. Liczne tutoriale uczące SFML-a początkujących są dostępne w języku angielskim na oficjalnej stronie biblioteki (klik). Można także za darmo pobrać wciąż popularną książkę z grudnia 2015 roku – ebook-a „SFML Game Development By Example”. Jest ona dostępna na packtpub.com (tu).
Z kolei dla osób preferujących naukę programowania gier w języku polskim jest dostępny kurs Szymona Siarkiewicza (tu). Powstał on jednak za czasów SFML-a w wersji 2.0 stąd może zawierać pewne braki, niemniej wciąż jest popularnym i szeroko polecanym źródłem nauki dla początkujących programistów gier. Z kursów z SFML, warto wspomnieć też kursy z nowszych wersji SFML-a (tj. wersji 2.0, 2.1 i nowszych 2.x), np. ten dostępny na stronie serwisu programistycznego C/C++ cpp0x.pl (klik).  Uczy on m.in. konfiguracji SFML-a, tworzenia pierwszej aplikacji, obsługi zdarzeń, renderowania figur geometrycznych czy przemieszczania i skalowania sprajtów.

 

Warto dodać, że – jak podaje oficjalna strona SFML – biblioteka ta jest całkowicie darmowa do każdego zastosowania, zarówno komercyjnego, jak i na zasadach opensource. Można zatem stosować ją bez żadnych ograniczeń (jest to tzw. licencja zlib/png). Oprócz SFML innymi popularnymi, nieskomplikowanymi frameworkami są także chociażby SDL, Allegro, Love czy HGE. Do ich obsługi jednak również potrzebne są minimum podstawy języka C++, a SFML jest najpopularniejszą z nich.

Co poza SFML-em?

Jeśli po opanowaniu posługiwania się biblioteką multimedialną SFML, potrafisz tworzyć gry 2D i wciąż Ci mało – chcesz chociażby zacząć robić gry 3D, następnym etapem może być wybór bardziej zaawansowanych narzędzi, takich jak biblioteka graficzna 3D (np. OpenGL) bądź jeden z silników do gier (np. Unreal, Unity).

OpenGL to podstawowa niskopoziomowa biblioteka graficzna do tworzenia trójwymiarowych projektów (m.in. gier czy oprogramowania użytkowego). Darmowy i godny polecenia kurs z OpenGL w języku polskim jest dostępny na portalu cpp0x.pl (tutaj). Jest idealny dla zaczynających swoją przygodę z tym programem, gdyż uczy takich funkcji, jak definiowanie i rysowanie sceny 3D, tworzenie przekształceń geometrycznych, renderowanie, cieniowanie. Uczy także implementacji rozszerzeń, takich jak biblioteki, czym jest bufor głębokości, jak przetwarzać obrazy, tworzyć struktury czy w końcu zawiera kompletny wykaz zmiennych stanu OpenGL w wersji 2.1.

Z kolei silnik Unity do tworzenia gier (przede wszystkich 2D) świetnie sprawdzi się dla początkujących. Jest stosunkowo prosty w obsłudze i jest w nim dostępnych bardzo wiele poradników, tutoriali, kursów czy dokumentacji. Oprócz tego korzysta z niego duża, pomocna społeczność, a dostępne rozszerzenia, takie jak wtyczki czy inne funkcjonalności są znaczącym wsparciem dla początkujących.

Drugim popularnym silnikiem jest Unreal (dostępny tu). Pracuje od jednak jedynie na C++, posiada jednak dostęp do kodu źródłowego silnika oraz lepszą obsługę grafiki niż Unity. Nada się on zatem świetnie dla bardziej zaawansowanych developerów.

Niektórzy wybierają również takie narzędzia, jak GameMaker (dostępny tu), czyli środowisko do tworzenia gier i programów komputerowych 2D zarówno dla początkujących, jak i zaawansowanych (dostępne w adekwatnych do poziomu wiedzy wersjach, jak Standard czy Studio). To przyjazne narzędzie, które zawiera własny język skryptowy GML, który przypomina składnię chociażby C++, JavaScripta czy ObjectPascala. Umożliwia także tworzenie bardziej rozbudowanych algorytmów, modyfikację zasobów, odczyt plików czy prosty tryb wizualizacji 3D oraz rozszerzanie programu przez biblioteki DLL, co znacznie zwiększa jego potencjał. Dla początkujących z pewnością przydatny będzie zestaw gotowych funkcji, takich jak tworzenie zachowań poprzez przeciąganie i upuszczanie klocków (czyli najprostszych funkcji) do obiektów.

Artykuł powstał dzięki:

Coders Lab

Łącząc doświadczenie edukacyjne ze znajomością rynku pracy IT, Coders Lab umożliwia szybkie i efektywne zdobycie pożądanych kompetencji związanych z nowymi technologiami. Skupia się się na przekazywaniu praktycznych umiejętności, które w pierwszej kolejności są przydatne u pracodawców.

Wszystkie kursy odbywają się na bazie autorskich materiałów, takich samych niezależnie od miejsca kursu. Dzięki dbałości o jakość kursów oraz uczestnictwie w programie Career Lab, 82% z absolwentów znajduje zatrudnienie w nowym zawodzie w ciągu 3 miesięcy od zakończenia kursu.


Do góry!

Polecane artykuły

22.07.2020

Ochrona znaku towarowego. Sprawdź jak się możesz ...