Dalej pracuje nad grą. Zastanawiałem się jak zrobić dużą otwartą mapę dla wielu graczy. I długo nad tym myślałem. Na początku myślałem o Pythonie, ale szybko okazało się, że optymalizacja mapy w Pythonie jest dość skomplikowana. Nawet użycie Numpy nie dawało zadowalających efektów, zwłaszcza przy dużych, otwartych światach.

Następnie przesiadłem się na Javę, bo to świetne narzędzie z wieloma optymalizacjami. Ale tutaj natrafiłem na problem z operacjami bitowymi, które były kluczowe dla mojej gry. Chciałem, aby dane były kodowane binarnie, co w Javie było nieco trudniejsze do zaimplementowania.

Ostatecznie zdecydowałem się na C++. Ten język daje mi pełną kontrolę nad wydajnością i operacjami bitowymi, co jest kluczowe dla mojej gry z otwartym światem.

Teraz mam już prawie gotowy silnik gry, zrobionych około 200 testów jednostkowych, które potwierdzają, że działa.

W przyszłym tygodniu planuję podzielić się tutaj z wami pierwszą betą, bez tekstur – zamiast animowanych postaci będą się poruszać symbole po kolorowych kwadratach. Będzie można tworzyć proste interakcje. W grze znajdą się także skryptowane lokacje z scenariuszami i questami, a zamiast tradycyjnego systemu walki, będą mini-gry, jak kółko-krzyżyk czy warcaby.

Potem skupię się na narzędziu do edycji mapy i dalszym rozwoju lokacji.


#chwalesie #programowanie

Komentarze (4)

koszotorobur

@DexterFromLab - no to czekam na tę betę

Catharsis

Pisanie własnego engine do gry to jest tytaniczny wysiłek i wymyślanie koła na nowo. Zastanów się czy na pewno tego potrzebujesz. Jestem niemal pewien, że kiedyś już pisałem podobny komentarz tutaj, ale jeśli chcesz tylko stworzyć grę to najprawdopodobniej możesz użyć Unity, Godota, Unreala albo jakiegokolwiek innego engine do tworzenia gier, masa jest takich na GitHubie w przeróżnych językach programowania.

Pisanie swojego własnego silnika ma tylko sens gdy:

  • Twojej gry nie dało by się zrobić w żadnym dostępnym silniku bo ma jakąś wyjątkową mechanikę (np. patrz przypadek gry Noita)

  • Nudzi ci się i chcesz to zrobić dla samego faktu kodowania plus np. potem mogło by wlecieć do portfolio.


Nie chce zniechęcać ale pisząc samemu silnik i to jeszcze w C++ więcej czasu poświęcisz na walkę z tym silnikiem niż faktyczne tworzenie gry. A już samo tworzenie gry w pojedynkę to jest duże i czasochłonne wyzwanie.

DexterFromLab

@Catharsis spoko, to jest maga prosty silnik. Nie jest tak że wymyśliłem sobie nieiwadomo co. No i przede wszystkim chodzi właśnie o to że chce sobie pokodować.

szatkus

optymalizacja mapy w Pythonie jest dość skomplikowana.
Ale tutaj natrafiłem na problem z operacjami bitowymi, które były kluczowe dla mojej gry.
Ostatecznie zdecydowałem się na C++.

Tu się dzieją jakieś straszne rzeczy.

Zaloguj się aby komentować