YYG wypuściło ostatnią tegoroczną wersję stabilną GM oznaczoną jako 2024.11.
Dla przypomnienia:
- obecny runtime dostanie jeszcze layery UI w wydaniu 2024.13, wraz z innymi poprawkami
- od 2025 będziemy dostawać wersje stabilne (LTS) co pół roku, oraz bety (co kilkanaście dni); znikają wersje miesięczne; wersja 2025.0 będzie zawierać to co 2024.13 + wszelkie poprawki (zwłaszcza dla pluginów, które mogą dostawać aktualizacje częściej i osobno)
- GMRT będzie w 2025 doganiał obecny runtime, oraz otrzymywał nowyme funkcjonalności
- obecny runtime nie dostanie już nowych funkcjonalności, ale będzie aktualizowany i łatany do 2027 roku - potem będzie działał zależnie od platformy, do pierwszych drastycznych zmian SDK/API.
- oba runtime są wciąż darmowe tak długo, jak projekt nie przynosi przychodów; konsolowe są nadal płatne (gdy ich używamy)
Co nowego w 2024.11 ?
- 350+ poprawek
- poprawki wydajności IDE - wyłapano różne miejsca, które prowadziły do wycieków pamięci lub wywoływane były zbyt wiele razy; poprawki na niektóre GPU AMD i nVidia
- nowy edytor kodu CE2 (ma jeszcze sporo bugów, dlatego domyślnie jest wyłączony)
- system pluginów w IDE (na razie tylko pluginy YYG)
- system prefabów (na razie tylko prefaby YYG; tylko w becie)
- wsparcie dla SVG (jako vertexy, tak samo jak SWF; na razie tylko w becie; w 2024.13 dojdzie outline oraz gradient)
- nowy aktualizator Windowsa (zobaczycie go w akcji dopiero przy następnej aktualizacji, ale już jest na dysku)
- opcja nie kompilowania zasobów, których nie używamy (domyślnie wyłączona w starych projektach; domyślnie włączona dla nowych projektów w 2024.11+). Działa to tak, że jeśli nazwa jakiegoś zasobu nie pada w kodzie, nie będzie on kompilowany. Jeśli jakieś zasoby wczytujemy jako string, warto zrobić zmienną, w której będzie tablica takich zasobów (gra nie musi z niej skorzystać, ważne, żeby były gdziekolwiek w kodzie). Ustawienie jest w "Game Options" (dla każdego projektu osobno).
- wsparcie Windows ARM64
- eksport gier WASM dla dowolnej przeglądarki - pozwala eksportować gry GX.games jako .zip, dzięki czemu można je odpalić poza serwisem gx.games; WASM jest wydajniejszy od HTML5 i ma mniej bugów, będzie też domyślnym eksportem zamiast HTML5 w GMRT
- other trzyma teraz poprzedni kontekst (self) w przypadku metod i with - #7349
- poprawki layerów FX - jeśli wasz layer się uszkodził, otworzenie rooma i przejście na ten layer powinno go naprawić
- audio zgłasza błędne argumenty - w poprzednich wersjach GM niektóre funkcje działały nawet gdy podawano błędne parametry - teraz będą poprawnie wywalać błąd, ale można skorzystać z audio_throw_on_error()
i łapać wyjątki, lub włączyć zachowanie "legacy" jeśli naprawianie gry po zmianach nie powiedzie się
- json_parse()
zwróci teraz błąd, gdy przekażemy liczbę, a real()
zwróci błąd, gdy w tekście jest spacja lub litery (można włączyć zachowanie "legacy" dla tej zmiany)
- static są wywoływane tylko raz jeśli w trakcie pierwszego wywołania danego statica, zostaje on wywołany ponownie (można wyłączyć zachowanie "legacy")
- przełącznik dla włączenia starych zachowań (legacy) - przywraca wspomniane: wielokrotne wywoływanie static jeśli nastąpi pętla generowania konstruktorów, przywraca stary system błędów audio, przywraca dawne działanie other, przywraca stare konwertowanie liczb na stringi #8138
- matrix_inverse() - nowa funkcja
- script_execute()/script_execute_ext()
obsługuje konstruktory
- poprawki systemu dźwięku, dzięki czemu dekodowanie dźwięku nie wpływa na główny wątek dźwięku
Lista zmian: releases.gamemaker.io/release-notes/2024/11
Pełna lista poprawek: github.com/YoYoGames/GameMaker-Bugs/milestone/13?closed=1
GMCLAN.org
Witamy na stronie polskiej społeczności programu GameMaker!
Naucz się tworzenia gier z naszych kursów, zadawaj pytania oraz prowadź dyskusje na Forum lub Discordzie.
Pomagamy w tworzeniu gier już 22 lat - chętnie pomożemy i Tobie.
Aktualności
Od 2025 zmiany w cyklu wydawniczym GM
YYG przedstawiło swoje wstępne plany na 2025 rok. Po pierwsze ujawniono terminy dla brakujących eksportów dotyczące nowego runtime GMRT (oraz wsparcie dla C#), po drugie zmieniono cykl wydawniczy. Po trzecie - znamy datę zakończenia wsparcia dla obecnego runtime.
Nowy cykl wydawniczy
- GM dostanie w tym roku dwa nowe wydania: 2024.11 (w ciągu kilku dni), a następnie... 2024.13, w którym mają pojawić się ostatnia nowa funkcjonalność dla obecnego runtime - layery UI. Numeracja będzie nietypowa (gdyż wersja ta wyjdzie już w 2025), aby dostosować ją do nowej wersji LTS.
- kolejnym wydaniem będzie LTS 2025.0 (okolice kwietnia), i od teraz to będzie główne wydanie GameMakera, zastępując wersje "miesięczne" (które wychodzą teraz co 2-3 miesiące). Wersja LTS będzie w pełni aktualizowana co pół roku - ale aktualizacje np. funkcjonalności IDE, dzięki przepisaniu ich na system pluginów, mogą następować częściej i będą zarządzane przez GMPM (Game Maker Package Manager). Rozciągnięcie w czasie pozwoli na systematyczne dołączanie kolejnych eksportów nowego runtime (GMRT) do kolejnych "dużych" wydań LTS. Nie zmieni się jednak cykl wydawania wersji beta i tam będzie można sprawdzić wszystkie nowości.
- nie chcesz jakiejś nowości w IDE? Wystarczy nie instalować/aktualizować pluginu.
- kolejną "dużą" wersją LTS będzie 2027 - i tym samym w 2027 zakończone zostanie wsparcie dla runtime GMS2, a GMRT stanie się jedynym wspieranym runtime. Jeśli ktoś będzie chciał korzystać ze starego - będzie musiał pozostać na GM 2025 (skoro dostanie update co pół roku - będzie to prawdopodobnie 2025.4). Nowy runtime jest kompatybilny z obecnymi projektami, więc w 99% przypadków wszystko powinno działać tak samo.
Nowości w GMRT
- wsparcie dla JS jest dostępne od bety 0.13
- wsparcie dla C# pojawi się pod koniec 2025
- beta eksportu na WASM (zastępująca HTML5) jest już dostępna
- beta eksportu na Linuxa i MacOS pojawi się w tym roku
- beta eksportu na Androida i iOS pojawi się po nowym roku
- beta eksportu na konsole (PlayStation, Xbox, Switch) pojawi się w drugiej połowie roku
- nie ma jeszcze informacji kiedy zaczną pojawiać się nowe funkcjonalności czy nowe elementy języka GML (v3)
Powolne wygaszanie runtime GMS2 - wsparcie do 2027
- layery UI to ostatnia funkcjonalność dodana do runtime GMS2. Mogą się jeszcze oczywiście pojawić jakieś mikro nowości, ale od wydania 2025 LTS naprawianie będą jedynie bugi i aktualizowane SDK
- od wydania 2027.0, runtime GMS2 nie będzie już aktualizowany (tak samo jak np. GM 1.4.9999), ale będzie można go używać tak długo, jak dana platforma nie wprowadzi zmian, które uniemożliwią kompilowanie gry. Nie trzeba więc martwić się o Windowsa, ale dla konsol czy telefonów może zaistnieć potrzeba przejścia na GMRT w 2028 roku
- dla przypomnienia: obecne "płatne" licencje nie będą obowiązywać na komercyjne wydania gier używających GMRT, ale dla darmowych gier (lub komercyjnych, przed ich wydaniem) można korzystać z GM za darmo (zgodnie ze zmianami z listopada 2023).
Bonusy wersji Enterprise
Abonamentowa wersja GM, która potrzebna jest głównie do eksportów konsolowych, oferować ma nowe, dodatkowe funkcjonalności względem darmowej i komercyjnej licencji:
- prywatny dostęp do kodu źródłowego wszystkich eksportów
- możliwość zbudowania własnej wersji z wybranymi poprawkami, przed wyjściem kolejnej wersji LTS
- osobna prywatna baza na zgłoszenia błędów
- osobny prywatny serwer discord
Jeśli macie jakieś pytania, trwa sesja Q&A dotycząca tych nowości:
forum.gamemaker.io/index.php?threads/gamemaker-winter-update-2024-q-a.116786
Oryginalny wpis na blogu:
gamemaker.io/pl-PL/blog/winter-update-2024
GameMaker kończy 25 lat, GMCLAN 22 lata
Dokładnie 15 listopada 1999, w poniedziałek, Mark Overmars na swojej uczelnianej stronie cs.uu.nl/people/markov/ udostępnił program GameMaker 1.1, służący do tworzenia prostych gier.
My dołączyliśmy do tej przygody niewiele później - 1 listopada 2002 w sieci pojawił się serwis gmclan.iglu.cz - Game Makers' Clan, dziś znany wam jako gmclan.org / gamemaker.pl. Sama polska społeczność powstała jednak ponad rok wcześniej (ok. sierpnia 2001), wraz ze stroną gamem.host.sk .
GM rozwijał się dość dynamicznie (zważywszy na fakt, że do 2007 roku był tworzony przez jedną osobę), przeżywając 4 najważniejsze momenty:
- wydanie wersji 5.0 (interfejs który został z nami do 2017), która zmieniała naprawdę wiele (i mocno przyspieszała GML)
- przejęcie przez YoYoGames które ruszyło w stronę wydawania gry na inne platformy i przepisanie runnerów (począwszy od GM4Mac, GM5pice aż po GM:Studio)
- przejęcie przez Playtech i wydanie GMS 2.0
- przejęcie przez Operę, powrót do nazwy GameMaker, udostępnienie go za darmo w wersji niekomercyjnej, prace nad nowym runtime (GMRT) ze wsparciem dla nowych języków programowania (JS), oraz przygotowanie menadżera pakietów i system pluginów
W kolejne ćwierć wieku GameMaker wchodzi więc z przytupem, na przyszły rok oferując nam być może największe nowości zmiany w swojej historii, a już na pewno dorównujące tym z lat 2012 i 2017.
Historia programu GameMaker
Z tej okazji, YYG wydało też darmową grę w której można poprowadzić... biuro YoYoGames:
W przeglądarce: gx.games/games/6huaaq/gamemaker-25th-anniversary
Na steam: store.steampowered.com/app/3219220
Layery UI przeniesione na styczeń 2025
Nie tak miało wyglądać przesunięcie o miesiąc wydania 2024.10 i połączenie go z 2024.11. YYG przesunęło wczoraj UI layery do wydania styczniowego (2025.1). Teoretycznie więc możemy liczyć jeszcze na zobaczenie ich niczym gwiazdkowego prezentu w grudniu, w praktyce jednak z powodu okresu świątecznego beta wersji 2025.1 ma raptem 2-3 tygodniowe okienko w grudniu w czasie którego mogą się w niej nowe funkcjonalności, gdyż cały styczeń powinien być przeznaczony jedynie na poprawki błędów - zwłaszcza, że wersja styczniowa ma być wersją wyjściową dla nowej wersji LTS 2025 (która wprowadzi wszystkie zmiany z ostatnich 2 lat do wersji LTS 2022).
To oznacza, że o ile wersja LTS nie zostanie również opóźniona, layery UI nie trafią także do niej... pozostaje nam więc czekać na oficjalne wiadomości w tej sprawie.
Na razie nie wiadomo też co z pozostałymi funkcjonalnościami które teoretycznie powinny trafić do listopadowego wydania. Status "zamrożenia" osiągnie ono za 15 dni i od tego dnia, aż do wydania wersji miesięcznej, będziemy dostawać jedynie poprawki. Co nie zdąży do końca października, pojawi się w kolejnych wersjach beta nie wcześniej niż 3 grudnia. Na tę chwilę, na publikację wciąż czekają:
- prefaby
- konwersja SVG na polygony
- pluginy IDE
- update IDE/runtime w tle (Windows)
Roadmapa: roadmap.gamemaker.io
Lista wydań: releases.gamemaker.io
Obecny milestone: github.com/YoYoGames/GameMaker-Bugs/milestone/13
YYG łączy wydania 2024.10 i 2024.11 w jedno
YYG poinformowało, że w związku z opóźnieniami, nie będzie wydania 2024.10, ale za to 2024.11 które miało zawierać jedynie poprawki do wyłapanych przez następne 2-3 tygodnie błędów. Jego funkcję przejmie nieplanowane wcześniej wydanie 2025.1.
Jeśli ktoś czekał na poprawki które nie załapały się do 2024.8 niestety będzie musiał przeczekać na ich wydanie "miesięczne" dodatkowe 4-5 tygodni dłużej, do bety zawitają jednak bez opóźnień.
Dobra wiadomość jest jednak taka, że wg. poprzednich założeń nowe funkcjonalności które nie zostałyby dodane do bety przed końcem września (miesiąc przed wydaniem jest bowiem "zamrożenie" dla nowości), trafiłyby dopiero do wersji 2025.2 (a więc do bety w grudniu lub styczniu). Do tego wszystkie błędy, które do połowy października nie zostałyby naprawione (tu też jest zamrożenie dla nowych zgłoszeń), czekałyby i tak do wydania listopadowego.
Po zmianach, nowe funkcjonalności i bugi mają dodatkowy miesiąc czasu w którym można je dodawać do bety - może to oznaczać, że np. Pluginy czy UI Layery mimo opóźnienia wydania o miesiąc - trafią do nas w wersji beta aż 3 miesiące szybciej (październik, zamiast styczeń/luty). To, czy trafią szybciej do wersji miesięcznej zależeć będzie jednak od liczby błędów które zgłosimy.
Zmiany te mają też pozytywny wpływ na następną wersję LTS - ta z 2025 roku ma wyrównywać wszystko, co zostało dodane od czasu wydania wersji 2022, a zatem funkcjonalności z 2023 i 2024 roku (oraz poprawki z wersji 2025.1).
Oczywiście, jeśli ktoś czuje taką potrzebę, wkrótce wydana zostanie też wersja 2022.0.3 LTS (2022r3), która będzie obsługiwać nowsze SDK, oraz poprawki bugów które nie dotyczą zmian z ostatnich dwóch lat.
Nowa roadmapa: roadmap.gamemaker.io
Lista wydań: releases.gamemaker.io
Obecny milestone: github.com/YoYoGames/GameMaker-Bugs/milestone/13
GameMaker 2024.8 wydany
GameMaker doczekał się sierpniowego wydania, które może rewolucji nie wnosi (bowiem wszystkie najciekawsze rzeczy opóźniono na następne wydanie), ale zawiera kilka zmian którymi i tak warto się zainteresować:
- wsparcie dla flexpaneli (tylko w runtime - w UI layerach wraz z ich wprowadzeniem) - przykład: gmclan.org/news/719
- poprawki kolizji tilesetów
- dodanie gpu_set/get_scissor()
- polecam przykład: gmclan.org/artykul/111
- Android: wsparcie dla nowych wersji Gradle, oraz nowego API 34+
- iOS: wsparcie dla definiowania wspieranych przez grę języków w pliku dla AppStore
- nowe funkcje widoku debugowego w grze (dbg_button(), dbg_drop_down(), dbg_text_separator()
)
- poprawki dla particle_get_info
- poprawki wydajności i zużycia RAMu w IDE
- drobne zmiany w narzędziu do zgłaszania bugów (lepiej widać, że załączniki są ZAWSZE prywatne)
- poprawki przez które czasem nie aktualizował się runtime i zostawał poprzedni (2024.8 wymaga również runtime 2024.8+)
- 327 poprawek
Pełna lista zmian, poprawek, nowych funkcji i enumów: releases.gamemaker.io/release-notes/2024/8
Info na blogu GM: gamemaker.io/en/blog/release-2024-8
Trwa głosowanie na grę, zapowiedź i narzędzie roku.
Do 11 września potrwa głosowanie na najlepsze produkcje GameMakera w ostatnim roku:
Najlepsza gra: Arzette: The Jewel of Faramore, Athenian Rhapsody, Isles of Sea and Sky, Picayune Dreams, The Bunny Graveyard
Najbardziej wyczekiwania gra: ANTONBLAST, Deadlock Station, Fishbowl, Keylocker | Turn Based Cyberpunk Action, Windswept
Najlepsze narzędzie: GameMaker's Testing Library, GMRoomLoader, Post-Processing FX, SnowState, SynthEngine.
Głosować można tutaj: opr.as/GMA24-Vote .
Sierpniowy Asset Bundle z setką obrazków dla particli
Jeśli nie pamiętacie, to od prawie 3 lat YoYoGames oferuje co miesiąc posiadaczom GameMakera zestawy assetów graficznych czy dźwiękowych. Swego czasu dostępne były tylko dla posiadających licencję na program, ale wraz ze zmianami licencji dostępne są za darmo dla każdego kto założy konto na stronie gamemaker.io .
W tym miesiącu zestaw zawiera 100 grafik do tworzenia particli:
Wszystkie paczki (grafiki, dźwięki, utwory) znajdziecie tutaj: gamemaker.io/en/bundles
GMRT - ruszyła otwarta beta nowego runtime
Na ten dzień czekaliśmy od dawna - GM wkracza w zupełnie nową epokę.
Od dziś można testować GameMaker Runtime - GMRT, przepisany od zera silnik który będzie napędzał gry GMowe.
Różni się sposobem kompilacji (do kodu natywnego) co oznacza znaczący wzrost wydajności, co najmniej do poziomu GMS2 YYC. Pozwoli to też na kompilowanie i obsługę dodatkowych języków - już zapowiedziano JS, w planach jest też co najmniej C#. Ułatwi też kompilację dodatkowych, własnych modułów, lub modyfikację tych już istniejących, bez potrzeby tworzenia zewnętrznych rozszerzeń.
Aby wziąć udział w becie wystarczy jedynie pobrać zwyczajną wersję beta GM w wersji 2024.800 lub nowszej, a następnie pobrać wszystkie narzędzia dostępne w GMPM (Game Maker Package Manager).
Pełen opis wymagań i informacji o tym jak korzystać z GMRT znajdziecie tutaj: github.com/YoYoGames/GMRT-Beta/blob/main/docs/introduction/GMRT-beta-intro-and-setup-instructions.md .
Jedną z nowości którą dostajemy już dziś, jest eksperymentalny dostęp do API WebGPU - github.com/YoYoGames/GMRT-Beta/blob/main/docs/webgpu/webgpu_api.md .
Platformy "desktopowe" mają być gotowe do końca 2024, a wszystkie platformy, na początku drugiej połowy 2025.
Więcej informacji o becie GMRT: gamemaker.io/pl-PL/blog/gmrt-open-beta
Zgłaszanie błędów do bety GMRT: github.com/YoYoGames/GMRT-Beta/issues/new/choose
Niekompatybilności względem GML v2.3: github.com/YoYoGames/GMRT-Beta/blob/main/docs/introduction/GMRT-beta-intro-and-setup-instructions.md .
Flex Panele dostępne w becie 2024.8
Z racji miesiąca urlopowego kolejna beta musiała swoje odczekać, ale dostarczyła ona jedną z funkcji na które czekaliśmy. Mowa o Flex Panelach, które służą do budowania interfejsów i automatycznego skalowania elementów.
Funkcjonalność otworzy skrzydła niestety dopiero gdy pojawią się UI layery (po wakacjach), gdyż wtedy flexy będzie można tworzyć bezpośrednio z IDE bez potrzeby używania kodu, a także przypiąć automatycznie assety i instancje - na tę chwilę takie rzeczy trzeba zaprogramować samemu.
Jeśli ktoś chce sprawdzić, bawiąc się na szybko stworzyłem proste demo tego co można uzyskać - gmclan.org/uploader/plik/21302,flex_test .
YYG opublikowało też wpis na blogu który tłumaczy działanie flex paneli i pokazuje parę przykładów - gamemaker.io/en/blog/flex-panel-functions .
Oczywiście wszystko wyjaśnione jest też w dokumentacji GM (na razie tylko dla wersji beta), a same właściwości flex paneli znajdziemy w dokumentacji systemy Yoga na którym oparto implementację - yogalayout.dev .
Najważniejsze zmiany w pierwszej becie 2024.800
- flex panele
- dużo poprawek dla bety Code Editora 2 (ale wciąż pozostaje trochę rzeczy do poprawy)
- funkcje gpu_set_scissor
i gpu_get_scissor
do "wycinania" ekranu
W ramach bet z serii .800 najprawdopodobniej dostaniemy też prefaby (w związku z wygaszaniem marketplace o którym pisałem w poprzednim newsie), oraz wsparcie dla plików SVG w runtime (wyświetlanych jako vertexy, jak SWF).
Pełna lista zmian: releases.gamemaker.io
Najnowsze wersje GameMakera:
wydana 2 dni temu
wydana 18 dni temu
wydana 10 dni temu