Jason. Cała informatyka w jednym miejscu!

Środek tygodnia zostanie odznaczony artykułem jak zacząć tworzenie gier w C++. Wczoraj opisywałem sam język C, kliknijcie tutaj jeśli C++ Was nie interesuje i nie patrzycie na programowanie obiektowe, tylko strukturalne.

TWORZENIE GIER W C++. INFORMACJE OGÓLNE

Język C++ stworzony przez Bjarne Stroustrupa we wczesnych latach .80 jest powszechnie znany jako "język C poszerzony o klasy", choć na tym się nie kończą zmiany. Dodanie paradygmatu obiektowego spowodowało znacznie większe zainteresowanie językiem i do dnia dzisiejszego jest on doskonałym kandydatem do pisania dowolnych aplikacji i programów. Prawdziwy "kombajn" optymalnego i sprawnego funkcjonowania mogący wycisnąć z procesora wszystkie soki. Warto zaznaczyć taki fakt, że wszystkie narzędzia przeznaczone do języka C jak najbardziej mogą być wykorzystywane i w C++. Mimo tego, że posiadają kilka różnic, są ze sobą bardzo spokrewnione a sam język C++ (jak również C) jest nadal wspierany, rozwijany i rozbudowywany co czyni go perfekcyjnym językiem na tworzenie w nim gier.

Logo języka C++

C++ przyszedłszy na świat w latach .80 "wzbogacony" o dodatkowy paradygmat obiektowy, łączy optymalne działanie aplikacji z wygodnym pisaniem kodu.

Źródło: Wikimedia

LISTA PROGRAMÓW

Jak napisałem w poprzednim akapicie wszystko to, co dotyczy języka C, pozwala na tworzenie gier w C++. Pozwoliłem sobie jeszcze raz podać wszystkie tytuły dotyczące języka C oraz wprowadzić nowe, które dotyczą bezpośrednio języka C++:

  1. SDL
  2. Allegro
  3. Orx
  4. raylib (polecam :D!)
  5. Tilengine
  6. Unreal Engine
  7. Godot
  8. Urho3D
  9. CRYENGINE
  10. SFML
  11. nCine
  12. Cocos2d-x

GARŚĆ PORAD

Jeśli wiemy już na pewno, że chcemy rozpocząć tworzenie gier w C++, zerknijcie na kilka uwag na ten temat. Pozwoliłem sobie skopiować te same porady, które znajdziecie w artykule poświęconym językowi C gdyż jak wspomniałem wcześniej, są to języki bardzo spokrewnione działające w ten sam sposób:

  • Język C++ (jak również C) nie jest przeznaczony dla amatorów. Aby umiejętnie się nim posługiwać, wymagana jest znajomość manualnego zarządzania pamięcią. Każda biblioteka / framework korzysta ze wskaźników w większym lub mniejszym zakresie.
  • Kompilator nie uchroni przed wszystkimi błędami w kodzie. Program może zostać uruchomiony, ale może posiadać błędy podczas funkcjonowania programu najczęściej związane z niepoprawnym alokowaniem pamięci. Mało tego, język C nie posiada zdolności "identyfikowania" długości tablicy czy listy. Musimy o to zadbać samodzielnie również w C++, chyba że korzystamy ze struktur pomagających uchronić przed tego typu błędami np. "string" zamiast "char*".
  • Każda biblioteka jest zdolna do wieloplatformowego eksportu, natomiast konieczne jest zaopatrzenie się w odpowiednie narzędzia. Android na przykład będzie potrzebował pakietu "Android NDK", a kompilacja do HTML będzie dostępna tylko poprzez "Emscripten" albo "WebAssembly". Należy zajrzeć do dokumentacji wykorzystywanej biblioteki i kierować się podawanymi wskazówkami co trzeba doinstalować i wykonać. Dotyczy to również języka C.
  • Wybór architektury systemowej (32 lub 64 bity) w języku C++ MA znaczenie! Nie tylko powoduje to dylemat niekompatybilności dla systemów z powodu niewłaściwej architektury, ale także może zmienić zakresy niektórych typów danych, przez co na jednej wersji będzie chodzić perfekcyjnie, a na drugiej może dojść do przekroczenia zakresu liczb całkowitych!

Oto koniec debat na temat języka C++. Zrobicie jak chcecie, jednak stanowczo odradzam początkującym pisania od razu w C++! Tworzenie gier w C++ to nie jest bułka z masłem! Jest masa dużo łatwiejszych języków, a na początku każdej drogi chodzi przede wszystkim o doświadczenie, a nie próbę zrobienia "Doom Eternal" :). W tym artykule rzucamy okiem na wytwór Microsoftu jakim jest C#.

PODOBNE ARTYKUŁY