YYG zaprezentowało dziś nadchodzące zmiany w GM, chociaż tym razem film był znacznie krótszy niż przez 2 wcześniejsze lata i obejmuje znacznie krótszy okres - jest możliwość, że nie zapowiedziano wszystkiego, co pojawi się w tym roku.
Poza prezentacją nowego Code Editora, który jest już dostępny w betach, więc można go sprawdzić na własnej skórze.
W końcu dowiedzieliśmy się nieco więcej o Layerach UI. Będzie to specjalna warstwa w roomach, współdzielona przez nie wszystkie, w której będą widniały kolejne sub-layery na których można ustawiać elementy. Teoretycznie, jeszcze w maju powinniśmy zobaczyć betę tej funkcjonalności.
Kolejny raz wspomniano też o prefabach - ale poza filmem prezentującym jak mniej więcej ma działać UI nie powiedziano chyba nic nowego - to nadal mają być biblioteczki, które będzie można zaciągnąć do projektu i wybrać sobie dowolne zasoby, które staną się częścią projektu. To czego nie wybierzemy, nie zostanie eksportowane. Jeżeli jakiś prefab wymaga innych zasobów w nim dostarczonych - to oczywiście zadziała to kaskadowo.
Śmietanką na torcie były oczywiście informacje o nowym runtime. Zabrakło co prawda dokładnej daty startu otwartej bety GMRT, ale mogę was zapewnić, że niewiele brakuje, aby mogła ona wystartować. Potwierdzono też, że w pierwszym wariancie dotyczyć będzie ona jedynie Windowsa, a pozostałe eksporty będą systematycznie dochodzić - w kolejności: mobilki i konsole.
Najważniejszą wiadomością było jednak nadchodzące wsparcie dla JavaScript w nowym runtime, które ma działać jeszcze w tym roku. W przyszłości YYG planuje też wsparcie dla innych języków, w tym C#. Nie poinformowano jednak w jak wielkim stopniu. Wiadomo jednak, że GML i JS będzie można miksować, więc część kodu będzie mogła powstawać w jednym a część w drugim języku, a zmienne będą przekazywane.
Linki do ciekawych stron
Prezentacja GM Update 2024 za tydzień
YYG poinformowało, że w przyszłym tygodniu (13 - 17 maja 2024) zaprezentuje tegoroczną prezentację GameMaker Update, w której dowiemy się jakie nowości powinniśmy dostać w ciągu nadchodzących kilkunastu miesięcy.
Czego się spodziewamy?
- szczegóły o nowym runtime - GMRT - oraz nowościach jakie zaoferuje
- więcej szczegółów o rzeczach które obecnie widnieją już na roadmapie (layery UI, Prefaby, Code Editor 2, przepisanie obsługi okien w IDE, Pluginy)
- niezapowiedziane rzeczy
- coś na temat rzeczy które zniknęły z roadmapy (rollback, triggery obszarów, akcje przycisków)
Prezentacja nastąpi 16 maja (czwartek) o 18:00 polskiego czasu:
GM 2024.4 dostępny
Zakończył się kwiecień, więc zgodnie z planami na ten rok YYG wydało nową aktualizację GM. Niestety, parę rzeczy zostało przesuniętych na kolejne (czerwcowe) wydanie, ale daje to dodatkowe dwa miesiące na wykrycie ich błędów, a korzystać z nich i tak będzie można już w kolejnym tygodniu w wersjach beta.
Co nowego w wersji 2024.4 ?
- zmieniono domyślną ścieżkę dla projektów (co za zapobiegać nieświadomej synchronizacji z Google Drive lub OneDrive) - można jednak przywrócić sobie w preferencjach "starą"; GM będzie wykrywał i ostrzegał o zapisywaniu w folderach synchronizowanych
- kompresja tekstur dla GPU (więcej w poprzednim newsie)
- nowe tryby blendingu - teraz można ustawić tryby równań jakie zajdą, a nie jedynie sposób mnożenia pikseli źródłowego i nowego; służy do tego funkcja gpu_set_blendequation()
(domyślny, stary tryb to bm_eq_add
)
- nowe funkcje dbg_view_exists(view), dbg_section_exists(section)
- nowa funkcja dla Androidów: gamepad_enumerate()
, pozwalająca wykrywać gamepady bez potrzeby ustawiania zgody na dostęp do Bluetooth (BLUETOOTH_CONNECT
)
- zaktualizowano bazę gamepadów
- Nowe projekty będą teraz posiadać pliki .gitignore, .gitattributes
- Zmiany SDK: YYC nie korzysta już z 32-bitowego linkera, może to wymagać aktualizacji preferencji, do tego zmianie uległy minimalne wymagania dla SDK: Android, Switch, PlayStation, Xbox, trzeba je ręcznie podnieść dla istniejących projektów
- Przy importowaniu stripów (pliki z końcówką _stripN
, gdzie N to liczba klatek które zostaną stworzone) przy przeciąganiu do IDE spowodują usunięcie suffixu _stripN z nazwy.
- Nowe ustawienie dla domyślnej prędkości sprite wstawianych na asset layer w roomach
- Skróty wieloliterowe w IDE: pozwala na ustawienie skrótów klawiszowych korzystających z więcej niż jednego znaku, wciskanych po sobie (podobnie jak w np. Visual Studio), typu Ctrl+A,S
.
- Poprawki wydajności IDE
Nowy Edytor kodu pozostaje na razie jedynie w wersjach beta i pozostanie tam tak długo, jak będzie potrzebował.
Więcej informacji o 2024.4: releases.gamemaker.io/release-notes/2024/4
Jeśli ciekawi was na co czekamy w wersji 2024.6 (planowanej na początek wakacji), zapraszam do dalszej części wpisu.
Kompresja tekstur GPU dostępna w GM
Na tę chwilę czekał każdy, komu w grze brakuje FPSów na słabszych sprzętach, dotyczy to więc zwłaszcza osób tworzących na Androidy i Switcha.
Od najnowszej wersji 2024.4 (a także w wersjach beta) dostępna jest opcjonalnie kompresja sprzętowa tekstur pod GPU, co oznacza, że w przeciwieństwie do obrazów JPG, PNG czy QOI tekstura taka nie musi zostać rozpakowana do 32-bitowej bitmapy, a samo GPU bez problemu poradzi sobie z wszelkimi operacjami na tej teksturze w jej skompresowanej wersji. Oszczędza to zatem zarówno pamięć VRAM jak i czas przy korzystaniu z shaderów, czy po prostu przy rysowaniu na ekranie.
Repozytorium z przykłądowym projektem oraz instrukcją używania znajdziecie na githubie yoyogames:
github.com/YoYoGames/GM-GPUTextureCompression
Przygotowanie projektu jest na razie dość specyficzne, gdyż YYG nie skupiało się na razie na wsparciu po stronie IDE dla tego rozszerzenia, czekając na nasz feedback - możliwe więc, że w kolejnych wersjach nie będzie trzeba ręcznie wpisywać kompresji dla każdej grupy tekstur.
Co ważne, mimo kompresji i oszczędności VRAM na niektórych platformach (zwłaszcza na Androidzie) nadal obowiązuje limit wielkości tekstur. Nie wynika on tyle z wagi tekstury jaka faktycznie zmieści się w pamięci a... z limitu sterowników, które nie chcą operować na wartościach większych niż np. 2048 (2^11) czy (2^12). Wciąż jednak powinien być odczuwalny efekt poprawy nawet na niższych ustawieniach - jak twierdzi YYG, niektóre z testowanych przez nich gier zyskały aż 10x na wydajności. Jak jest faktycznie - zapewne trzeba poczekać na pierwsze opinie innych twórców.
Nowy Edytor Kodu w Becie!
Doczekaliśmy się - od wersji 2024.400.0.532 w betach IDE dostępny jest nowy edytor kodu. Poza samymi funkcjonalnościami typowymi dla dzisiejszych edytorów, wprowadza on jeszcze jedną ważną nowość - edycję obiektów w trybie pełnego ekranu. Oznacza to, że zamiast latających okienek połączonych liniami, dostaniemy wszystko na pełnym ekranie (wszystkie eventy jeden pod drugim), a "stary" styl edytowania, który jest z nami od ponad 20 lat, odchodzi powoli w zapomnienie.
Nowy edytor pozostanie w becie tak długo, jak będzie tego potrzebował i niemal pewne jest, że nie pojawi się jako element miesięcznej wersji 2024.4 - jeśli chcecie więc go wypróbować (i zgłosić wszelkie propozycje i błędy) - musicie pobrać wersję beta (którą da się zainstalować osobno od wersji "miesięcznej" czy LTS). Warto też testować edytor na kopiach projektów. Jeśli nie widzicie nowego edytora - należy go włączyć poprzez Preferences > Code Editor 2 - bez włączenia tej opcji można pozostać (prawdopodobnie na stałe) przy obecnym wyglądzie edytora.
Pierwsza beta z serii 2024.400
Od wydania wersji 2024.2 minęły już dwa tygodnie, czas więc na kolejny dwumiesięczny cykl wydawniczy GMa.
Wersja 2024.4 powinna wprowadzić sporo DUŻYCH nowości, widocznych dla oka, w przeciwieństwie do poprzedniczki która przemycała wiele rzeczy pod spodem, szykując grunt na "mięsko" w kolejnych miesiącach.
Jeszcze przed świętami powinniśmy dostać wyczekiwaną betę nowego edytora kodu, są też plany rozpoczęcia wkrótce otwartej bety nowego runtime - o szczegółach zapewne dowiemy się już w trakcie GDC, które startuje w poniedziałek, 18 marca.
Przy okazji wydania nowej bety, YYG zaszczyciło nas też nową stroną na której można sprawdzić listę nowości!
Jest to zdecydowanie najlepsza i najbardziej czytelna odsłona tej strony jaką do tej pory widzieliśmy.
releases.gamemaker.io
Co nowego?
- lokalne pakiety (local packages) mogą być teraz tworzone bez logowania (co ma związek z darmową wersją GM)
- można teraz ustalić własną domyślną prędkość animacji dla sprite'ów w roomach
- w przypadku przeciągania stripów do IDE, stworzony sprite będzie pozbawiony suffixu _stripN
, gdzie N oznacza liczbę klatek
- poprawki wycieków pamięci IDE
- dwie nowe funkcje dbg_view_exists(view), dbg_section_exists(section)
- poprawki dla [url=github.com/YoYoGames/GameMaker-Bugs/milestone/10?closed=1]110 bugów[/url]
Więcej zmian pojawić ma się po powrocie ekipy YYG z USA.
Szczegóły tej i kolejnych bet 2024.400 znajdziecie pod adresem releases.gamemaker.io/release-notes/2024/400
GameMaker 2024.2 wydany!
Z lekkim poślizgiem (potrzebnym na poprawki ostatnich bugów) zajechała pierwsza tegoroczna wersja GameMakera - 2024.2.
Lista nowości tym razem nie jest imponująca - dlatego, że skupiono się na poprawkach bugów, oraz przygotowaniach pod nowy runtime i pakiety, więc kolejne lepiej widoczne zmiany pojawią się dopiero w marcowych betach. Czasem jednak odrobina stabilności też jest potrzebna
- Nowe funkcje: is_mouse_over_debug_overlay()
, is_keyboard_used_debug_overlay()
, vertex_submit_ext()
, handle_parse()
(zamiana stringa w referencję na asset), window_enable_borderless_fullscreen()
(fullscreen dla gier bez obramowania), GM_is_sandboxed
- Zmiany w działaniu funkcji dbg_text_input()
, json_parse()/json_stringify()
(lepsze wsparcie dla undefined, możliwość własnego filtrowania i wyłączenia konwersji z/na referencje GMowe)
- Sekwencje mają od teraz możliwość ustawienia efektów (FX) dla dźwięków
- Narzędzie do konwersji projektów z wersji 2.x, 2022.x i 2023.x do najnowszej wersji, wspierającej pakiety zasobów
- Debug overlay zyskał wyświetlanie tekstur, surface i zużycia pamięci
- kompresja tilesetów, dzięki czemu roomy z dużą ich ilością zajmują mniej miejsca na dysku
- HTML5 otrzymał nowe argumenty dla gml_pragma
które pozwalają zoptymalizować gry tak, aby korzystały z natywnych funkcji JS zamiast własnych YYG np. dla operacji matematycznych. Ustawienie jest opcjonalne, w razie, gdyby jakiś specyficzny fragment kodu jednak psuł nasz eksport
Pełna lista zmian: github.com/YoYoGames/GameMaker-Bugs/milestone/7
W marcu są duże szanse, aby ruszyła otwarta beta nowego runtime, oraz otwarta beta nowego edytora kodu. Warto zaznaczyć, że to nie oznacza ich dostępności w wersji 2024.4 - zostaną w becie nieco dłużej, ale to nie jedyne nowości jakie nas czekają. O ich szczegółach dowiemy się w ciągu najbliższych dni, wraz z pierwszą wersją beta 2024.4.
FMOD w końcu dostępny w GameMakerze
YYG poinformowało dziś, że skończyło prace nad rozszerzeniem FMOD. Dzięki temu, można teraz odtwarzać aż 20 formatów audio, w stosunku do raptem 3 które obsługuje normalnie GM (wav, ogg, mp3). Do tego oferuje też różne dodatkowe efekty, czy analizę. Więcej informacji pod adresem: github.com/YoYoGames/GMEXT-FMOD/wiki
Warto dodać, że o FMOD jest darmowy, o tyle gry które osiągną sukces komercyjny mogą potrzebować licencję - szczegóły znajdziecie na: fmod.com/licensing
Pierwsze większe zmiany w LTS dopiero w 2025, w 2024 jedynie aktualizacje SDK
Ucieszą się osoby, które z różnych powodów wolą korzystać z wersji GameMakera, która nie posiada "chorób wieku dziecięcego" dzięki nie wprowadzaniu żadnych nowości, a oferuje jedynie poprawki dla poważnych bugów i aktualizacje SDK, co ułatwia nam aktualizacje, gdy dobrze działającą potrzebujemy jedynie rekompilować jeśli wymaga tego np. AppStore, Google Play, czy sklepy konsolowe, wprowadzając jakieś nowe wymagania - a nie zmienia się nic w kodzie.
YYG planuje kolejne wydanie LTS (Long Term Stable) wyrównujące je z bieżącymi funkcjami IDE i runtime dopiero w 2025 roku (oznaczone jako 2025.0). Powodem tak dużego rozstrzału jest stopniowe wprowadzenie w tym roku nowego runtime (w ciągu kilku tygodni ma ruszyć otwarta beta), który do 2025 powinien już być wystarczająco stabilny.
Obecny LTS doczeka się co najmniej jednej aktualizacji SDK w tym roku (2022.0.3; jeśli zajdzie nagła potrzeba - odpowiednio więcej) - więc będzie zdatny to pracy zapewne nie tylko w tym, ale co najmniej w przyszłym roku.
Warto jednak czasem sprawdzać na kopii projektu, jak działa on w bieżących wersjach GM - chociażby wersja 2024.2 dostanie kilka poprawek optymalizujących dostęp do struktur i wszelkich danych które wymagają hashowania, a nazwy te są literałami (czyli nie mogą się zmienić w trakcie gry) - zmiana ta pozytywnie dotyka zwłaszcza kompiler GMS2 YYC - przy grach mobilnych może to oznaczać, że większa liczba sprzętów osiągnie wymarzone 60/60 FPS, jeśli gra miewała problemy na telefonach-zmieniakach.
Wersje miesięczne nadal będą się pojawiać tradycyjnie co 1, 2 lub 3 miesiące.
World of Horror z nominacją do Paszportów Polityki 2023
Miło nam poinformować, że stworzona w GMie gra World of Horror, nad którą pracował znany wam z forum @japanstache, czyli Paweł Koźmiński, został nominowany do Paszportów Polityki 2023 w kategorii Kultura Cyfrowa. To jak na razie najwyższe wyróżnienie dla GMowych gier które powstały w naszym kraju, dlatego gratulujemy!
Najnowsze wersje GameMakera:
wydana 27 dni temu
wydana 356 dni temu
wydana 4 dni temu