Skip to content

Wprowadzenie do silnika gry

Silnik stanowi fundament przeznaczony do budowy gier z mechanikami multiplayer, fizyką, renderingiem, UI oraz multimediami. Główna gra oparta na nim to zręcznościowy parkour z elementami RPG (zbieranie przedmiotów) i walką z bossem (Sesją).

Wykorzystane narzędzia i technologie

  • Język: C++17
  • Grafika: OpenGL
  • Okna i wejście: GLFW 3.4 + GLEW
  • Sieć: Natywne gniazda (Sockets) systemu operacyjnego dla protokołu UDP.
  • Multimedia (Wideo): Biblioteki FFmpeg (libavcodec, libavformat, libswscale) dekodujące wideo w locie na tekstury OpenGL.
  • Wczytywanie tekstur: stb_image.h - lekka biblioteka single-header.
  • Renderowanie czcionek: stb_truetype.h - generowanie map bitowych dla czcionek TTF.
  • Budowanie: CMake (automatyczna konfiguracja dla Windows, macOS i Linux).
  • Zapis stanu gry: Autorski, lekki parser plików .json.

Co gdzie jest? (Struktura projektu)

  • src/ - Główne pliki źródłowe (.cpp) silnika. Logika, rendering, sieć, odtwarzacz wideo.
  • include/ - Pliki nagłówkowe (.h) oraz zewnętrzne biblioteki (stb).
  • assets/ - Zasoby gry: modele (.obj), tekstury (.png), wideo (.mp4), czcionki (.ttf) oraz plik dialogs.json.
  • docs/ - Pliki Markdown tej dokumentacji.
  • skrypty build_* - Dedykowane skrypty przyspieszające proces kompilacji i pobierające zależności (np. FFmpeg na Windows).