Już w najbliższy wtorek, w samym środku przeciętnie ciepłej majówki, czeka nas najgorętsza prezentacja od YoYoGames i Opery.
GameMaker Update 2023 powinien przybliżyć nam (znane i nieznane) informacje o tym, jakie zmiany i nowości w programie są planowane na ten rok. Oczywiście sporą część z nich znamy chociażby z [url=gamemaker.io/en/roadmap]roadmapy[/url], czy z [url=youtube.com/watch?v=gMYGAiHAyuI]zeszłorocznej prezentacji[/url], ale powinno pojawić się sporo detali na temat tych, które zbliżają się wielkimi krokami.
Najbardziej czekamy oczywiście na:
- nowy edytor kodu (stary będzie można opcjonalnie nadal używać), który pozwoli na pełnoekranową edycję skryptów i obiektów, wraz z indeksem eventów i funkcji w danym oknie, co pozwoli na szybsze przeskakiwanie pomiędzy fragmentami (spodziewany na początku wakacji)
- system prefabów, który pozwoli tworzyć lokalne predefiniowane zasoby, które będzie można selektywnie dodawać do naszych gier, a aktualizacja źródła spowoduje wczytanie najnowszej wersji w każdym z projektów; GMPM, czyli manager pakietów GameMakerowych oparty o JSowy npm, który pozwoli takie pakiety pobierać i wersjonować (spodziewany po wakacjach)
- systemy UI/GUI (layer, flex panel, predefiniowane funkcje) - tu terminy nie są znane, chociaż wiadomo, że layer i flex mogą pojawić się pierwsze, gdyż same systemy GUI będą korzystać ze wspomnianych wcześniej prefabów
- nowy runtime - którego zamknięta beta powinna ruszyć po wakacjach i o którym nieoficjalnie na discordzie GM Community padły już tysiące zapowiedzi, ale zawsze lepiej mieć te oficjalne na papierze
Prezentacja pojawi się w sieci we wtorek, o 18:00 polskiego czasu. Nie zapomnijcie ustawić sobie przypomnienia na YouTube!
Linki do ciekawych stron
Beta 2023.400
Z dużym opóźnieniem (dwóch tygodni) zajechała w końcu beta 2023.400. Co w niej nowego?
- event Audio Playback End
- nowe filtry w room editorze
- opcja wybrania domyślnego eksportera (dla płatnych licencji/subskrypcji)
- funkcja particle_get_info()
pozwalająca pobrać system, emiter i ustawienia z particli
- funkcja array_shift()
pozwalająca wstawić nowy element na początku tablicy
- funkcja window_set_showborder(true/false)
pozwalająca na wyłączenie systemowej ramki okna (z przyciskami) w trakcie gry (ta funkcja istniała w GMS 1.x i GM5-8.1)
- array_copy()/_delete()/_insert() obsługuje teraz ujemne wartości (-n), aby wykonywać działania względem końcowych n elementów tablicy
Więcej informacji:
IDE: gms.yoyogames.com/ReleaseNotes-NuBeta.html
Runtime: gms.yoyogames.com/release-notes-runtime-NuBeta.html
Aktualizacja
Okazuje się, że mimo zapowiedzi, obecna beta nie dostała nowego instalatora.
Przygotowałem za to artykuł który wyjaśnia czym jest dodane w tej wersji hashowanie: gmclan.org/index.php?artykul=105
LTS update #1 wydane!
YoYoGames opublikowało dziś pierwszą aktualizację dla wydania Long Term Stable, oznaczoną jako 2022.0.1. Przypomnę, że wersje LTS pozbawione są wielu rzeczy dodanych w aktualizacjach wydanych później niż wersja 2022.9 - ale niektóre, wobec których nie są zgłaszane błędy, i nie wpływają one na istniejące funkcjonalności - będą dodawane.
Lista zmian w LTS
- funkcja move_and_collide
- możliwość połączenia rozszerzeń HTML5 w główny plik .js generowany przez GM
- mnóstwo nowych funkcji dla stringów (te dodane w 2022.11 i 2023.1)
- wsparcie dla nowych Android Studio i XCode
- wsparcie dla nowych SDK konsol (Switch, PlayStation, Xbox)
- klikadziesiąt bugów
Pełna lista do znalezienia tutaj:
IDE: gms.yoyogames.com/ReleaseNotes-LTS.html
Runtime: gms.yoyogames.com/release-notes-runtime-LTS.html
Kwietniowy Asset Bundle dostępny
Przywitaliśmy kwiecień, a wraz z nim pora na nowy darmowy Asset Bundle dla osób skubskrybujących jakąkolwiek wersję GMa:
Wszystkie bundle znajdziecie pod adresem: gamemaker.io/en/bundles
LTSr1 opóźnione
Wraz z końcem marca 2023 miała się ukazać pierwsza aktualizacja wersji LTS GameMakera, niestety YYG potrzebuje jeszcze trochę czasu, aby ją dopieścić. Z jednej strony można być złym, że trwa to tak długo - z drugiej, po to LTS jest wersją LTS, żeby nie wyjść z jakimś upierdliwym błędem.
Wiemy już jednak, że wśród zmian jedynej prawdziwie stabilnej wersji, jest dodanie funkcji move_and_collide
, nowych funkcji dla stringów, wielu poprawek Feathera (zmniejszy to zużycie RAM), oraz wsparcie dla nowszych wersji API/SDK: Android Studio (Dolhin/Electric Eel i jbr zamiast jre), Xcode14, NSwitch 15.3.2, PS4 10.5, PS5 7.0, XBox GDK Oct2022u1.
W związku z tym, kwietniowe bety będą opóźnione, a liczba kwietniowych ficzerów może być mniejsza niż zakładano (przypomnę - głównie mieliśmy dostać wsparcie dla SDF i zapętlania audio w IDE, bowiem w runtime jest to możliwe już 2-3 miesiące).
GM 2023.2 - ten bez potrzeby logowania i z Particle Editorem, już jest
Z lekkim poślizgiem, wyszedł planowany na końcówkę lutego GameMaker 2023.2 . Co w nim nowego?
- brak potrzeby zakładania konta - po pobraniu programu możemy sprawdzać testowe kompilacje na Windowsa oraz Operę GX nie logując się do programu
- Edytor Particli oraz nowy typ zasobów particle. Poza samym edytorem, dla przykładu mamy też predefiniowane particle - a wszystko co stworzymy można wstawić w room editorze.
- loop pointy dla audio (na razie tylko w kodzie - planowane jest ich dodanie do IDE w kwietniu)
- nowe formaty Surface (jeśli ktoś planuje wykorzystać HDR w grze)
Inne zmiany:
- działa już ustawianie wartości w statycznych poprzez Function.property
(o ile wcześniej Function() zostało chociaż raz wywołane)
- usunięto trzymanie informacji naszej własnej o kolejności zasobów w projekcie z głównego pliku .yyp co ułatwia pracę z gitem
- nowe funkcje dla zmian opcji generowania fontów SDF (wsparcie w IDE planowane na kwiecień)
- rozszerzenia HTML5 mogą być wstawianie w główny plik, zamiast trzymane osobno
- nowa funkcja is_callable()
- json_stringify()
dostało nowy argument, pozwalający na wygenerowanie JSONa z formatowaniem (wcięcia)
- usunięto funkcje is_vec3(), is_vec4() and is_matrix()
- bo takich typów zmiennych nie ma w GM, funkcje te sprawdzały po prostu rozmiary tablic.
- naprawiono problemy z androidami i ekranami 120Hz
Jak zwykle, pełniejsza wersja zmian, oraz linki do pobrania dostępne są pod adresem:
gms.yoyogames.com/ReleaseNotes.html
gms.yoyogames.com/release-notes-runtime.html
W marcu czeka nas aktualizacja wersji LTS, natomiast "miesięczne" wydanie pojawi się dopiero w kwietniu.
W marcu ma się też pojawić stream "GameMaker Update 2023", na którym poznamy plany YYG na ten rok. Przypomnę, że wstępnie planowano zamkniętą betę nowego runtime na okolice wakacji i otwartą betę pod koniec roku.
GMCLANowy akcent wśród zwycięzców gamejamu Opery
Na początku tego roku odbył się gamejam o nazwie New Year, New Jam, którego tematem był "relaks".
Wśród 10 najlepszych (zwycięskich) gier, wybranych przez jury składające się z pracowników Opery i YYG, znalazła się też polska pozycja The Void za którą odpowiada dobrze wam znany Uzjel.
Zawsze cieszy, gdy ktoś z GMCLANu wygrywa w konkursach lub osiąga inny sukces, gratulacje!
W grę zagracie (na przeglądarkach Opera GX) pod tym adresem: gx.games/pl/games/fpxb0u/the-void-puzzle-game
Nowy przykład - Pianino w GM
Na naszym GMCLANowym githubie ( github.gmclan.org ), pojawił się dziś nowy przykład - pianino w GameMakerze.
Pokazuje on jak za pomocą parametru pitch, zmienić wysokość dźwięku o wybraną nutę.
Pobierzecie go tutaj: github.com/gmclan-org/piano_example
Natomiast spróbować go na żywo w przeglądarce można tutaj: gnysek.itch.io/gamemaker-piano
Korzysta on z prostej zasady, gdzie pitch należy ustawić jako power(2, nuta/12)
, gdzie "nuta" oznacza o ile dźwięków się przesuwamy. Ujemne wartości zagrają poniżej, a te powyżej 11 oznaczają kolejną oktawę (bo cała ma 12 nut, a zaczynamy od 0).
Miłej zabawy!
GM 2023.2 - Particle Editor i brak potrzeby logowania
YYG nie zwalnia tempa i wydało właśnie pierwszą betę planowanego na koniec lutego wydania GM 2023.2. Co w nim?
Po pierwsze, dostaliśmy Particle Editor, który pozwoli tworzyć particle w IDE, wraz z podglądem na żywo. Pojawiły się one też oczywiście jako zasób.
Z innych zmian, pojawiła się też możliwość korzystania z GameMakera bez zakładania konta. Edytor pozwoli nam tworzyć gry, oraz testować wydanie Opera GX, a jeśli będziemy chcieli eksportować grę lub skorzystać z innych eksportów - zapyta nas o dane logowania i pobierze te, na które pozwala nasza licencja.
Poza tym, pojawiło się wsparcie dla nowych wersji Android Studio i XCode 14. Użytkownicy darmowej wersji ucieszą się także, że od teraz filtry w roomach dostępne są dla każdej z licencji.
Bardziej zaawansowanych twórców ucieszą nowe formaty surface - w tym oszczędniejszego (4 bity na kanał) surface_rgba4unorm
, ale też np. surface_rgba16float
który wspiera HDR.
Pojawiła się funkcja is_callable()
która sprawdzi, czy zawartość zmiennej da się wywołać, a json_stringify()
dostało opcję "pretty print", czyli sformatowania kodu tak, żeby był czytelniejszy dla człowieka.
Niektórych graczy ucieszy też opcja zapętlania utworów audio - dzięki funkcjom audio_sound_loop(), audio_sound_get_loop(), audio_sound_loop_start(), audio_sound_get_loop_start(), audio_sound_loop_end(), audio_sound_get_loop_end()
możemy ustawić punkty w których nasz utwór - który normalnie się nie zapętla - zacznie jednak to robić. Niestety ustawianie tego w IDE pojawi się dopiero w kolejnej wersji.
Początkowo usunięto też funkcje get_string(), get_integer()
, na razie jednak usunięto ich likwidację do czasu wydania nowego runtime - wtedy zostaną jedynie ich asynchroniczne wersje.
Ze złych wieści jest jeszcze taka, że w lutowym wydaniu zabraknie wsparcia dla czcionek SDF w IDE - pojawi się ono dopiero... w kwietniu. Czemu nie w marcu? Otóż w marcu YYG planuje wydanie pierwszej aktualizacji dla wersji GM LTS, więc kolejne nowości pojawią się dopiero w betach marcowo-kwietniowych.
Pełna lista zmian: gms.yoyogames.com/ReleaseNotes-Beta.html + gms.yoyogames.com/release-notes-runtime-NuBeta.html .
GM 2023.1 wydany!
Nadszedł koniec miesiąca, a to oznacza pierwsze w tym roku pełne wydanie GameMakera.
Co w nowej wersji?
- nowa funkcja move_and_collide()
która świetnie radzi sobie ze skośnymi ścianami
- fonty SDF - które można skalować z minimalną utratą jakości
- funckja method_call()
która pozwala wywołać metody przekazując tablicę argumentów (tak samo jak script_execute_ext).
- static_get/set
które pozwala przypinać funkcje statyczne do struktur nawet jeśli nie są instancjami konstruktora, a także możliwość używania singletonów (pod warunkiem, że dany static został stworzony):
kodfunction moje_funkcje() constructor {
static a = function() { show_debug_message("a" );}
static b = function() { show_debug_message("b" );}
}
moje_funkcje(); // zwróćcie uwagę na brak przypisania i brak "new"
moje_funkcje.a();
moje_funkcje.b();- is_instanceof() pozwala teraz sprawdzić czy dany konstruktor dziedziczy po innym konstruktorze
- efekt audio "Tremolo"
- audio_play_sound_ext()
- nowa funkcja która odtworzy audio na podstawie przekazanej struktury (i pozwala na ustawienie wieeelu parametrów)
- SWF i Spine mogą trafić na te same tekstury co zwykłe sprite
- array_get_index(), array_contains(), array_contains_ext()
- zmniejszenie rozmiaru runtime
- możliwość wyłączenia obfuskacji HTML5
Więcej na gamemaker.io/en/blog/release-2023-1
Najnowsze wersje GameMakera:
wydana 74 dni temu
wydana 2 dni temu
wydana 8 dni temu