W tym tygodniu, dla odmiany od informowania o nowościach w becie GameMakera (w sierpniu czeka nas jeszcze dawka emocji), dodałem na stronę dwa przykłady.
Przypomnę, że obecnie zamiast wrzucać na stronę spakowane pliki staramy się wrzucać kod na naszego githuba - ma to tę zaletę, że po pierwsze możecie zgłosić ewentualne błędy (a nawet je poprawić), a także można sobie przejrzeć kod bez potrzeby ściągania go. Nasz github ma też fajny do zapamiętania adres - github.gmclan.org przeniesie was gdzie trzeba
Wracając jednak do przykładów, tym razem na tapet wziąłem silnik sieciowy do gier online, korzystający z natywnych funkcji GMa, dzięki czemu taki serwer i klienci mogą działać na większości platform.
Dodatkowo - w ramach testów - dorobiłem silnik który działa na podobnej zasadzie co szalenie u nas popularny ponad dekadę temu 39dll.dll
. Okazuje się, że funkcje sieciowe w GM działają bardzo podobnie i większość tych funkcjonalności to raptem aliasy do funkcji buffer_xxx, do tego stopnia, że w ramach testów udało mi się odpalić klienta i serwer Almory Online 0.7.6 w becie GM 2023.8 i podmieniając jedynie funkcje do połączenia, oraz przenosząc odbieranie pakietów z eventu step do Async-Network udało mi się pozbyć starego .dll i odpalić grę na Androidzie czy Steam Decku. Przypomnę, że gra pierwotnie była robiona w GM 7, w 2009 roku...
Przykład gry sieciowej - serwer i klient w GM 2023.6+:
gmclan.org/plik/232
Przykład gry sieciowej a'la 39dll - serwer i klient w GM 2023.6+:
gmclan.org/plik/233
Niewielkie i pisane na szybko dokumentacje znajdują się w repozytoriach przykładów - oba przykłady są obecnie w wersjach beta, gdy "dojrzeją" postaram się dodać też artykuły na temat tego jak działa przesyłanie danych.
Miłej zabawy i nie zapomnijcie zgłaszać błędów i poprawek poprzez Github
Dwa przykłady sieciowe dodane na stronę - powrót 39dll ale bez dll
Poniedziałek, 07 Sierpnia 2023, 09:38