YYG po dwumiesięcznej przerwie wydało kolejną "miesięczną" wersję GM, kończąc tym samym okres bety dla nowych funkcji.
Co nowego w wersji 2023.6 ?
- nowy konwerter projektów ze starszych wersji (1.4 i 2.x) do najnowszej wersji
- nowe opcje kolizji dla Spine (GMowe lub Spine'owe)
- fonty SDF w IDE
- Feather domyślnie włączony (jeśli nigdy nie zmienialiśmy żadnych opcji Feathera)
- nowy debug overlay oparty na ImGui
- tworzenie paczek do zgłaszania bugów
- shorthand dla structów (jeśli zmienna w structcie ma się nazywać i mieć wartość jak zmienna istniejąca obecnie w obiekcie, wystarczy napisać {zmienna}
zamiast {zmienna: zmienna}
- 140 bugfixów
- nowe efekty audio (High-shelf, Low-shelf, Peak EQ)
- tworzenie launcherów gier przez game_change()
(Windows, macOS, PS4, PS5 i Switch)
- funkcje do ZIPowania
- nowe/przywrócone funkcje: ds_grid_to_mp_grid(), surface_get_format(), display_get_frequency()
Trzy z funkcji na powyższej liście (Feather, debug overlay i paczki do zgłaszania bugów) są przedsmakiem tego co dostarczy wersja 2023.8, w której pojawi się nowy edytor kodu, nowe narzędzia debugowe i nowy system zgłaszania bugów do YYG prosto z IDE (niektóre funkcjonalności mogą pozostać w becie dłużej i nie trafić do 2023.8).
Wkraczamy też właśnie w okres największych zmian GM od dawna: w następnych 3-4 miesiącach sprawdzimy nowy edytor kodu, nowy runtime (otwarta beta w III kwartale), prefaby, stopniową zmianę identyfikacji zasobów z liczb naturalnych na referencje, czy też nowe funkcje do tworzenia GUI - Flex Panel, GUI Layer i predefiniowane klasy GUI. Druga połowa 2023 będzie więc jeszcze grubsza niż wszystkie poprzednie zmiany, od kiedy Opera przejęła YYG - które zaoferowało nam w 2,5 roku czasie kilkanaście razy więcej, niż Playtech przez 7 lat.
Pełne info o aktualizacji 2023.6 pod adresami:
gms.yoyogames.com/ReleaseNotes.html
gms.yoyogames.com/release-notes-runtime.html
Linki do ciekawych stron
Wsparcie dla mod.io oraz framework testujący GM dostępne
Czerwiec już praktycznie się kończy, ale YYG nie zwalnia. Udostępniono dziś dwie nowe open-sourcowe biblioteki:
Api mod.io
Pozwala na pobieranie i przeglądanie modów do gier z serwisu mod.io korzystając z API.
github.com/YoYoGames/GMEXT-mod.io
Niestety, implementację modów musimy zrobić już sami - do tego polecam:
- Tiny Expression Runtime yellowafterlife.itch.io/gamemaker-txr
- The Catspeak Programming Language github.com/katsaii/catspeak-lang
Przypomnę też, że od niedawna GM ma ustawienie, w którym tekstury są wczytywane z pliku poza win.dat (Dynamic Texture), dzięki czemu użytkownik może je podmienić i w ten sposób można np. tworzyć nowe skiny do gry.
Framework testujący czy funkcje GML działają prawidłowo
Tego narzędzia YYG używa, aby sprawdzić, czy najnowszy runtime nie powoduje błędów.
github.com/YoYoGames/GM-TestFramework
Nowa roadmapa w pełni dostępna!
W zeszłą środę wspomniałem o tym, że na githubie YYG pojawiła się lista feature requestów które będą wrzucane w kolejnych wersjach GM, tymczasem dziś YYG postanowiło przygotować bardziej oficjalny widok, z podziałem na wersje miesięczne w których dane funkcjonalności zostaną wprowadzone.
github.com/orgs/YoYoGames/projects/13/views/1
Z ciekawostek, w wersji 2023.6 która wyjdzie w tym tygodniu mamy opcję odpalania z obecnej gry innej gry ( game_change()
). Natomiast najciekawiej zapowiada się wydanie sierpniowe, które zawiera:
- asystent AI
- rozszerzone narzędzia do debugowania
- id jako referencje, zamiast kolejnych liczb naturalnych (część 1, ds_xxx)
- kolizje na tilemapach
- otwieranie zasobów w zewnętrznych edytorach (powrót funkcjonalności sprzed GMS2)
- lepszy ekran wyboru templatek z gotowymi grami
- zaktualizowany manual
- zgłaszanie bugów prosto z IDE, zamiast przez stronę YYG
W związku z pracami nad nowym runtime oraz prawdopodobną betą nowego edytora kodu, wydanie wrześniowe zostanie przeskoczone i kolejne dostaniemy dopiero w październiku. Bardzo prawdopodobne jest, że wtedy ruszy też otwarta beta nowego runtime, gdyż wg. zapowiedzi miało się to stać w Q3 2023. Tutaj czekają nas:
- referencje zamiast id jako liczby naturalne (część 2, assety z drzewka)
- manager pakietów
- nowe funkcje dla vertex bufferów
- okno właściwości sekwencji
- kolejne nowości dla audio FX
I raptem miesiąc później, w listopadzie:
- panele Flex
- layer GUI
- zasób tekstowy w roomach
- lepszy proces aktualizacji IDE (czyżby bez instalatora?)
Niestety, na liście miesięcznej nie ma prefabów, które wymagane są do dodania systemu UI, ale wynika to raczej z tego, że będą one dostępne w wersjach beta do czasu wyeliminowania wszelkich problemów i ewentualnych poprawek UX po naszych opiniach (podobnie z edytorem kodu). Bardzo więc możliwe, że niektóre rzeczy trafią do wspomnianych wydań nawet jeśli na razie nie są na liście.
Przypomnę, całą listę (wszystko na rok 2024 jest na razie jako "Future Release") znajdziecie tutaj:
github.com/orgs/YoYoGames/projects/13/views/1
Bardzo duża lista nowości GM na nowej roadmapie
Pisałem tydzień temu o nowym sposobie zgłaszania Feature Requestów do GameMakera, bezpośrednio na githubie, gdzie inni mogą zagłosować na nasz pomysł, a YYG go oceni i zatwierdzi lub odrzuci.
Na tej liście pojawiły się dziś rzeczy, które zawitają do GM w najbliższych miesiącach, w tym całkiem sporo również dla obecnego runtime a nie jedynie dla nowego. Przy okazji - są plany, aby nowy runtime trafił do otwartej bety w trzecim kwartale tego roku, a wersja produkcyjna jest spodziewana około czerwca 2024.
Planowane nowości w IDE
- nowy edytor kodu (na razie tylko w becie, od 2023.800)
- więcej kolumn w interfejsie, dzięki czemu będzie można ustawiać np. inspektor i drzewko assetów obok siebie, a nie w tabach
- pole "szukaj" w preferencjach
- zmiana rozmiaru rooma z wyborem w który róg/środek mają trafić obecne instancje
- pluginy do IDE
- ulepszony system Undo/Redo (prawdopodobnie chodzi o zrzucanie za dużych stosów powodujących memory leaki do pliku)
- ulepszony system importu zasobów (zapewne ma związek z prefabami)
- lepsze wsparcie dla różnych DPI
- lepsze zarządzanie okienkami
- lepsze wsparcie dla motywów
- pozbycie się górnego paska systemowego okna
- prefaby (importowalne z własnej/zewnętrznej biblioteki zasoby)
- fonty SDF w IDE (są już w betach 2023.600)
- asystent AI
- otwieranie zasobów w zewnętrznym edytorze
- raportowanie błędów bezpośrednio z IDE
- manager pakietów
- GUI, GUI Layer, Flex
- Tekst w roomach
- usprawniony proces aktualizacji IDE
Planowane nowości w runtime
- data structures jako referencje a nie id liczbowe; następnie reszta zasobów
- kolizje na tilemapach
- zdalne debugowanie; nowe narzędzia debugowania
- odpalanie wielu kopii gry na raz
- dodatkowe funkcje dla vertex bufferów
- wibracje na macOS (tylko nowy runtime)
- wsparcie dla Regexów (tylko nowy runtime)
Lista może być aktualizowana, na ten moment znajdziecie ją tutaj:
github.com/orgs/YoYoGames/projects/12/views/1?layout=board&filterQuery=status%3A%22Planned+-+IDE%22%2C%22Planned+-+New+Runtime%22%2C%22Planned+-+GMS2+Runtime%22
Gry z eksportera Opera GX od teraz także w Chromium
Kolejna dobra wiadomość od Opery i YoYoGames - gry stworzone w darmowym eksporterze GX.games, który pozwalał na tworzenie gier pod przeglądarkę Opera GX, od dziś zadziałają także w każdej przeglądarce opartej na Chromium. Nie trzeba już ściągać specjalnej odsłony przeglądarki Opera z dopiskiem GX.
W gry możecie zagrać na stronie gx.games/pl .
Dodatkowo poinformowano, że Firefox i Safari nie będą gorsze, ale ich wsparcie pojawi się dopiero za "jakiś czas"
Lista feature requestów do GMa dostępna publicznie!
Kolejna pozytywna zmiana w YYG - od dziś prośby o nowe funkcjonalności są dostępne publicznie i można na nie głosować, co pomoże ustalić priorytety.
Listę (już posortowaną) znajdziecie tutaj: [url=github.com/YoYoGames/GameMaker-Feature-Requests/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc]github.com/YoYoGames/GameMaker-Feature-Requests/issues[/url]
Koniecznie oddajcie swoje głosy!, aby przyspieszyć dodawanie nowych brakujących funkcji do GM. I jeśli macie ochotę - od teraz w tym samym repozytorium githubowym można zgłaszać pomysły:
[url=github.com/YoYoGames/GameMaker-Feature-Requests/issues/new/choose]github.com/YoYoGames/GameMaker-Feature-Requests/issues/new/choose[/url]
Rusza zamknięta beta nowego runtime do GM!
Stało się! GameMaker oficjalnie wchodzi w zupełnie nową erę, żegnając się powoli z runtime, który powstał na bazie oryginalnych GameMakerów, pamiętających jeszcze Delphi i Marka Overmarsa.
YoYoGames właśnie ogłosiło, że od przyszłego tygodnia rusza beta tzw. nowego runtime, który został napisany totalnie od zera. Przypomnę, że w pierwszej iteracji ma on być w stanie odtwarzać obecny kod, traktując go jednak jako pewną bibliotekę (lub przestrzeń nazw) i w przyszłości może wprowadzić nową skłądnię czy funkcje języka GML, wykorzystującą nowy silnik znacznie lepiej. Obecna zamknięta beta będzie więc służyć do tego, aby potwierdzić, że wszystkie stare projekty działają.
Zaproszenia do bety będą wysyłane partiami, a w pewnym momencie, gdy jakość będzie już zadowalająca, całość przejdzie w otwartą betę.
Formularz zgłoszeniowy: forms.gle/i65ZFCFe2KDRdfef6
Oficjalny post o zamkniętej becie: forum.gamemaker.io/index.php?threads/gamemaker-new-runtime-beta-application.103634
Pierwsza beta GM 2023.6 dostępna
YYG nie zwalnia tempa, chociaż zmniejszyło nieco liczbę wydań w tym roku, co jednak podyktowane jest głównie aktualizacją LTS oraz przygotowywaniem nowego runtime, którego zamknięta beta wkrótce ma ruszyć.
Co nowego w wersji 2023.6?
- Dear ImGui zostało zaimplementowane w GM i można go używać do wyświetlania informacji debugowych w grze za pomocą znanego już show_debug_overlay(true);
- mnóstwo nowych funkcji dla Switcha związanych z trybem online
- poprawki logowania SSO i odświeżania licencji (u w końcu nie trzeba się logować na nowo po tygodniu, zobaczymy na jak długo)
- funkcja ds_grid_to_mp_grid()
- dużo bugfixów zwłaszcza dla HTML5
Kolejne zmiany pojawią się w kolejnych betach, bowiem zamrożenie funkcjonalności nastąpi w połowie czerwca, mamy więc niemal miesiąc do tego terminu.
GM 2023.4 wydany
Trzecie miesięczne wydanie GameMakera w tym roku jest już dostępne.
Co nowego?
- funkcje pozwalające generować hashe zmiennych w strukturach, aby przyspieszyć dostęp do nich
- nowa funkcja dla struktur - struct_foreach
. Dodatkwo, wszystkie funkcje variable_struct_xxx dostały nowe aliasy struct_xxx.
- funkcja particle_get_info
pozwalająca używać info o particlach stworzonych w edytorze i edytować właściwości w trakcie gry
- funkcja sprite_add_ext
pozwalająca dodawać sprite'y asynchronicznie, oraz dodawać stripy jako jedną teksturę (a nie X osobnych)
- event Audio Playback Ended
- wsparcie dla template stringów - wystarczy podać nazwę zmiennej w nawiasach klamrowych, aby była ona podstawiona w tekście: kodvar name = "GMCLAN";
var age = 20;
draw_text(0,0, $"{name} ma już {age} lat");- array_copy()/_delete()/_insert()
przymuje negatywne wartości, aby wykonać działania względem końca tablicy; dodano funkcję array_shift()
- nowe filtry dla layerów: Blend, Glow, Recursive Blur, Clouds, Mask
- nowe opcje czyszczenia cache projektów (np. tylko kod, grafikę lub audio)
- opcja wybrania domyślnego targetu eksportu dla osób z subskrypcją
- ponad 120 bugfixów
Pełne informacje o wydaniu jak zawsze na stronach yoyogames:
gms.yoyogames.com/ReleaseNotes.html - IDE
gms.yoyogames.com/release-notes-runtime.html - Runtime
GM Update 2023 - podsumowanie
Za nami prezentacja GM Update 2023 - możecie ją obejrzeć na youtube: youtube.com/watch?v=uF5q_Y0NwJs - ale jeśli nie macie 30 minut czasu, w telegraficznym skrócie:
Różne
- wszyscy użytkownicy subskrypcji mogą kompilować gry z linii komend; posiadacze subskrypcji konsolowej w późniejszym czasie uzyskają dostęp do kodu źródłowego GMa
- wkrótce będzie można tworzyć pluginy do IDE (Feather i Particle są już takimi "nowymi" pluginami)
- tłumaczenia IDE i manuala będzie można poprawiać na githubie (i też będą "pluginami")
- GM będzie wspierać modowanie gier - mod.io - pojawią się do tego rozszerzenia
- wsparcie dla machinations.io w IDE
- wciąż do GM zmierza FMod
- muliplayer GX (tzw. rollback) pozostanie w becie to czasu wyjścia nowego runtime, bo dopiero wtedy będzie można go znacznie ulepszyć; strona serwerowa będzie open-source i będzie można stawiać własne serwery
- pojawi się opcja tworzenia grafiki i kodu za pomocą AI
Nowy runtime
- zamknięta beta nowego runtime w wersji desktopowej/webowej ruszy w ciągu kilku tygodni; otwarta beta będzie jeszcze w tym roku
- nowy runtime kompiluje znacznie szybciej, dzięki czemu nie będzie już podziału VM/YYC - wszystko będzie działać jak na tej drugiej platformie, jeśli więc nie eksportujecie za pomocą YYC wasze projekty drastycznie przyspieszą
- nowy runtime na początku będzie "nakładką" na stary GML, więc beta ma doprowadzić do tego, żeby stare projekty działały praktycznie bez zmian po otwarciu
- nowy runtime będzie dostępny tylko dla osób które płacą za subskrypcję, oraz dla platformy GX.games za darmo
- nowe funkcje po wydaniu nowego runtime będą trafiać już tylko do niego - wersja LTS ostatecznie dostanie wszystkie aktualne funkcjonalności które uznane są za wystarczająco stabilne (co najmniej 2-3 miesiące bez bugów)
- nowy runtime zaoferuje pliki WAD, dzięki czemu będzie można dzielić zasoby na więcej paczek, tworząc DLC, czy też wrzucając pliki innego typu niż zasoby GM do takich paczek, aby były ukryte przed graczami
Prefaby
- prefaby będą projektami, których zasoby można wybiórczo załączać w innych projektach
- prefaby nie są kopiowane, więc wystarczy zmodyfikować oryginalny projekt, aby wszystkie projekty które go używają "załapały" nową wersję
- pojawi się system zarządzania pakietami GMPM (GameMaker Package Manager) - nakładka na npm, która pozwoli zarządzać prefabami i ich wersjami (gdyby jakaś gra miała mieć na stałe starszą wersję naszej paczki), a także pobierać je z serwerów, które każdy z nas będzie mógł definiować (miałem przeczucie zakładając github.gmclan.org )
- pojawi się oczywiście nowy marketplace ze wsparciem dla tego wszystkiego
Systemy UI
- layer GUI, oraz flexbox zmierzają do GM (flexbox to rozciągliwe gridy, które pozwolą dzielić ekran na miejsca, gdzie mają trafiać elementy GUI)
- predefiniowane elementy GUI pojawia się dopiero razem z prefabami - będą z nich korzystać, więc wszelkie predefiniowane elementy będą zasobami GMowymi (obiekty, sprite'y, GML)
Nowy edytor kodu:
- nowy edytor kodu pojawi się w wersji beta w III kwartale 2023 (na początku jako opcjonalny, stary nie zniknie). Pozwoli on wybierać z górnej belki zasoby, eventy czy funkcje w danym skrypcie, pozwalając na łatwą pełnoekranową pracę:
- nowy edytor kodu będzie mógł wspierać dowolny język programowania, dzięki czemu będzie można edytować rozszerzenia w GM i uzyskać podstawowe wsparcie dla funkcji i argumentów (shadery, XML i JSON będą wbudowane); Language Server będzie taki sam jak w Visual Studio, można więc będzie użyć gotowych rozwiązań
- nowy edytor będzie wspierać język markdown razem z podglądem (side by side), dzięki czemu będzie można tworzyć dokumentacje
Room Editor:
- znikną typy layerów - GMS2 od początku pozwalało ustawiać dowolne rzeczy na layerach w trakcie gry, ale room editor pozwalał wyłącznie jeden typ (z typem asset pozostawionym dla dowolnych zasobów dodawanych w przyszłości - obecnie: sequences i particles)
- obiekty z creation code będą wyróżniane
- pojawią się ulepszenia dla tilesetów
- większość okien z właściwościami rzeczy w room editorze będzie można przesuwać w dolne miejsca
Więcej info na: gamemaker.io/en/blog/gamemaker-update-2023
Najnowsze wersje GameMakera:
wydana 74 dni temu
wydana 2 dni temu
wydana 8 dni temu