Oto artykuł o tym, jak zacząć tworzenie gier w języku C++ 🚀! Streszczę Ci jak wygląda język C++, jakie znajdziesz w sieci narzędzia do tworzenia gier przy jego użyciu i to zarówno darmowe, jak i te za które trzeba zapłacić, a na koniec, parę porad z mojej strony 💖!
CZY TWORZENIE GIER W JĘZYKU C++ BĘDZIE DLA CIEBIE ODPOWIEDNIE?
Pozwoliłem sobie podzielić treść na 3 rozdziały 👇:
- czym jest język C++,
- jakie występują narzędzia do tworzenia gier z jego udziałem,
- porady z mojej strony na podstawie własnych doświadczeń.
To na początek jak to wygląda z tym C++ 🙂.
CZY JĘZYK C++ PASUJE DO TWORZENIA GIER?
C++ jest doskonałym kandydatem do pisania dowolnych aplikacji, w tym gier 🎮. Nie ma znaczenia, czy Twoją grą będzie prosta platformówka retro, czy przepięknie wyglądające RPG akcji osadzone w otwartym trójwymiarowym świecie na kształt AAA+ 💣. Pisząc w tym języku kod możesz być spokojny(-a) o wysoką prędkość przetwarzania instrukcji, niczym błyskawica ⚡!
Język choć powstał już na początku lat .80, nie był wtedy jeszcze powszechnie stosowany tak, jak jest obecnie. W tamtych czasach komputery nie były na tyle potężne, aby deweloperzy mogli sobie pozwolić na taki "wypas", stąd też wszystkim znany "C poszerzony o klasy" zaczął zaznaczać swoją obecność dużo później (bo gdzieś tak w połowie lat .90), gdy kompilatory lepiej optymalizowały kod od strony wydajności 🎯.
Najważniejszym elementem było wprowadzenie paradygmatu obiektowego 🌟. C++ bardzo spopularyzował podział kodu na obiekty i klasy, czyli sposób pisania jaki występuje w innych językach (np. Java, C#). Dołóżmy do tego te same cechy jakie występują w języku C i dostajesz prawdziwy "kombajn" możliwości, który sprawia, że procesor i programista zasuwają na najwyższych obrotach ⏩! C++ jest nadal wspierany, rozwijany i rozbudowywany co czyni go perfekcyjnym językiem na tworzenie w nim gier 🤩!
Zanim rzucisz się do nauki C++'a, popatrz na jego składnię i odpowiedz sobie na pytanie czy dasz radę ją opanować od początku swojej działalności, czy może lepiej będzie na moment odstąpić i sięgnąć po prostszy do zrozumienia język np. Lua 🤔. Musisz być gotowy(-a) na to, że w tym języku będziesz sobie stawiać o wiele więcej znaków zapytania ❓. Trzeba dobrze rozumieć zagadnienia związane z zarządzaniem pamięcią, gdyż to jest "clue" całego języka, tak zresztą jak jego "brata", języka C ⚠️. Natomiast na 100% warto coś stworzyć w C++, gdyż to jest obecnie jeden z przodujących języków w branży gier 🏆!
Dla podsumowania: język C++, jak najbardziej do tworzenia gier 😀! Natomiast jeżeli dopiero zaczynasz pojmowanie czym jest tworzenie gier, to zdecydowanie lepiej stworzyć coś małego w o wiele mniej skomplikowanym języku i potem przejść do C++, zacząć uczyć się trudniejszej składni i podnosić sobie poprzeczkę 📈.
Na koniec zaznaczam, że wszystkie narzędzia przeznaczone do języka C jak najbardziej mogą być używane przy użyciu C++ 🚀. Języki choć różnią się w pewnych miejscach "składniowo", to są ze sobą bardzo spokrewnione i jakakolwiek biblioteka przeznaczona do języka C, będzie bez problemu działać na kodzie w C++ 😊.
![]() |
C++ przyszedłszy na świat w latach .80 "wzbogacony" o dodatkowy paradygmat obiektowy łączy optymalne działanie aplikacji z jeszcze przyjemniejszym pisaniem kodu. Jest absolutnie niezastąpiony w branży gier, gdy w grę wchodzi zapewnienie wysokiej wydajności dla wymagających tytułów.
Źródło: Wikimedia
W JAKI SPOSÓB MOŻNA TWORZYĆ GRY W JĘZYKU C++?
Tworzenie gier w języku C++ jest możliwe na 2 sposoby 👇:
- korzystasz wyłącznie z biblioteki do graficznych aplikacji i ograniczasz się jedynie do pisania kodu,
- korzystasz z narzędzia z edytorem wizualnym, takiego jak silnik gry (np. "Unreal Engine").
Którą drogą pójść? To zależy od gustu i umiejętności 🙂. Najlepiej skorzystać z dobrodziejstw XXI wieku i korzystać z pełnego silnika, bo jednak otwiera to Tobie o wiele większe możliwości 📈. Podejście z samą biblioteką polecam dziś głównie dla frajdy i "posmakowania" lat .90, tak aby ewentualnie sobie stworzyć jakiś mały projekt na GitHuba chcąc zaprezentować swoje umiejętności (lecz żeby na tym nie kończyło się Twoje myślenie, że to wystarczy do znalezienia pracy ⚠️!).
CZY JĘZYK C++ JEST DOBRY DO SZUKANIA PRACY W BRANŻY GIER?
Absolutnie 🧨! Jednak gdy będziesz planował(a) budowanie sobie portfolio, to najlepiej połączyć język C++ i silnik "Unreal Engine" ℹ️. To jest najczęściej stosowane narzędzie w projektach komercyjnych, zaraz obok "Unity" 💵. Wśród wielu ofert pracy niezmiernie rzadko pojawia się coś innego z C++ poza "UE", jednak jeżeli coś takiego uda Ci znaleźć, to zdecydowanie warto zainteresować się takim wspomnianym narzędziem i spróbować swoich sił od tej strony 🔔!
Chcąc znaleźć pracę "w game dev'ie", dobrze jest popatrzeć na oferty bardziej niszowe, bo przez to chętniej poszukuje się osób biegłych z ich obsługi 👍. Poradzę Ci też spojrzeć na silniki "Defold" i "PixiJS" - nie dotyczą stricte języka C++, natomiast możesz znaleźć na nie oferty pracy czy zleceń, co stanowi dobrą "furtkę" w branży, do której bardzo trudno się dostać 🔒.
Stwórz sobie po jednym repozytorium na każde z narzędzi (za to bardzo dobrze zrobionym!), tak by nie ograniczać siebie tylko do jednego tytułu ℹ️.
LISTA DARMOWYCH I PŁATNYCH NARZĘDZI OBSŁUGUJĄCYCH JĘZYK C++
A teraz część druga, czyli zestawienie narzędzi, które wspierają język C++ 📝. Wypisuję zarówno całkowicie darmowe, jak i te wymagające pewnych opłat, a o ich wspomnieniu tutaj zadecydowała ich popularność oraz to, czy do tej pory otrzymują aktualizacje ℹ️.
Przypomnę, że każde narzędzie wspierające pisanie kodu w języku C, może zostać użyte również do pisania w C++ 💛. Zapoznaj się z artykułem na temat tworzenia gier w języku C, aby dowiedzieć się jakie to są narzędzia 📜.
JAKIE SĄ DARMOWE NARZĘDZIA DO TWORZENIA GIER W JĘZYKU C++?
Oto lista darmowych narzędzi do tworzenia gier w języku C++ 👇:
JAKIE SĄ PŁATNE NARZĘDZIA DO TWORZENIA GIER W JĘZYKU C++?
Wśród płatnych narzędzi do tworzenia gier w języku C++, mam tylko jeden, który można polecić: "Leadwerks Game Engine 5" (pisanie w C++ wymaga zakupu DLC "Leadworks Pro" ⚠️) 😛.
PORADY ODNOŚNIE TWORZENIA GIER W JĘZYKU C++
Jeżeli wiesz już na pewno, że chcesz zacząć tworzenie gier w języku C++, zerknij na te kilka uwag na ten temat 👀. To są te same porady, które znajdziesz w artykule poświęconym językowi C, gdyż jak wspomniałem wcześniej, są to języki bardzo spokrewnione i działają w ten sam sposób 🌟.
UŁATW SOBIE KOMPILOWANIE PRZY POMOCY "CMAKE"
Hasło "CMake" będzie często przewijać Ci się tam, gdzie mowa czy pismo o języku C++. To jest narzędzie do zarządzania procesem kompilacji ℹ️. Przydaje się do 2 szczególnych sytuacji 👇:
- dołączanie plików nagłówkowych jako zależności aplikacji,
- budowa aplikacji na różne platformy.
Narzędzie jest w stanie posługiwać się wieloma "zestawami" dołączanych zależności na każdą z platform ❤️. Jeżeli zechcesz tworzyć gry w języku C++ ograniczając się wyłącznie do "klepania kodu", zainteresuj się narzędziem "CMake" - ono Ci bardzo pomoże 👍! Przy silnikach gry raczej będzie to zapewnione już "z automatu" ⏩.
ZWRACAJ UWAGĘ NA ARCHITEKTURĘ SYSTEMU
Język C++ (jak i jego "starszy brat" 😄) to języki wysokiego poziomu "stojące" najbliżej tych niższych warstw systemu przez co wyróżniają się pod wieloma względami od reszty języków, które pojawiały się później. To jest jedna z nich - wpływ architektury systemu na zakres niektórych typów danych 🤯!
W standardzie języka jest napisane, że najbardziej standardowy typ liczbowy, "int", musi mieć co najmniej 32 bity zakresu dla siebie ℹ️. To oznacza, że na 64-bitowej architekturze może przyjąć 64 bity ⚠️! Może, lecz nie musi! Stąd też ważne, abyś podczas programowania nie polegał(a) na założeniu, że na pewno będziesz mieć te 64 bity zakresu dla siebie, aby potem nie było nerwowego szukania przyczyny wadliwego działania jakiejkolwiek części Twojej gry poprzez przekroczenie zakresu liczb całkowitych (więcej o tym w osobnym artykule) 😔!
Dzisiaj jest to znikoma rzecz, więc wrzuć na luz i się tym bardzo nie przejmuj 😉. Ja tylko zwracam uwagę, że w przypadku otrzymywania ogromnych liczb może nastąpić przekroczenie zakresu liczb całkowitych na 32-bitowej wersji aplikacji, podczas gdy na 64-bitowej wszystko będzie działać bez zarzutu 🙃.
Ta porada też jest bardziej skierowana dla tych, którzy będą korzystać wyłącznie z biblioteki, bo silniki gier też zapewne mają zabezpieczenia od tej strony ☑️.
PRZENOSZENIE NA INNĄ PLATFORMĘ MOŻE BYĆ WYJĄTKOWO UCIĄŻLIWE
Tworzenie gier w języku C++ może być drogą pełną cierni...zwłaszcza gdy przychodzi moment na portowanie swojej gry, czyli eksport na inną platformę niż PC, a Ty korzystasz jedynie z biblioteki 😬.
Często doświadczysz sytuacji, w której pobierasz niezbędny pakiet do eksportu np. "Emscripten" na HTML5 i coś "nie siądzie", mimo wykonywania wszystkiego według instrukcji ❌. Wtedy dopiero zaczyna się karuzela 💫. Szukanie przyczyny, zmiana wartości, zmiana całych dyrektyw, a niekiedy eksperymentowanie na większą skalę 🔧. Musisz być na to gotowy(-a) 🫵!
I znowu - korzystający z silnika gier są "zwolnieni" od tej przestrogi, bo i tutaj Cię wyręczy od brudnej roboty 🙂.
Oto koniec treści na temat tworzenia gier w języku C++ 🏁. Ze swej strony odradzam początkującym pisania od razu w C++ ⛔! To już wyższa szkoła jazdy i możesz mieć problemy z opanowywaniem zagadnień z taką samą prędkością, jaką byś miał(a) przy prostszym języku, jak np. Lua (o tym języku również napisałem) ⚠️. Na początku nauki najważniejsze jest doświadczenie, a nie próbę zrobienia własnego klona "Doom Eternal" 😊.
