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
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
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
YYG wygasza funkcje Marketplace, szykując miejsce dla Prefabów
Uwaga!
Ważne informacje dotyczące Marketplace!
YYG poinformowało dzisiaj, że wkrótce zniknie możliwość sprzedaży assetów na marketplace - będą one jednak nadal wyświetlane, a te które są darmowe (lub je kupiliśmy) nadal będzie można pobierać. Sam Marketplace będzie też w późniejszym terminie całkowicie wygaszony. Możliwe będzie jednak aktualizowanie istniejących assetów. [color=red]Update:[/color] Planowana data zaprzestania sprzedaży to 14 sierpnia.
W związku z tą zmianą, YYG zachęca do zaktualizowania stron z opisami płatnych assetów, o linki do sprzedaży w innych serwisach (np. itch.io) - dzięki temu, mimo, ze przycisk "kup" zniknie z marketplace, nadal będziemy mogli czerpać korzyści z naszych zasobów.
Wkrótce mają zostać też ujawnione informacje o tym, jak działać będzie biblioteka Prefab, która zastąpi marketplace. Nasze zasoby będzie można rozprowadzać zarówno trzymając je na serwerach YYG (a w więc jako następstwo marketplace), lub też na własnych serwerach (a dzięki githubowi, łatwo będzie je również wersjonować). Prefaby mają umożliwić dołączanie bibliotek do projektu, ale eksportowanie jedynie zasobów, które faktycznie dodaliśmy do projektu. Dzięki temu, załączając np. bibliotekę zawierającą tonę skryptów, obiektów i sprite, jeśli użyjemy tylko jednego z nich, finalna gra nie będzie zawierać tylko ten jeden zasób. GM ma automatycznie wykrywać referencje, jeśli jakiś zasób odwołuje się do innego (parent w obiektach, oraz powiązane skrypty). W planach jest też dodanie do GM namespaceów (dzięki czemu prefab mógłby mieć te same nazwy skryptów co nasza gra i nie spowodowałoby to konfliktów), ale na potwierdzenie tych informacji trzeba jeszcze poczekać.
W późniejszym terminie zostanie wprowadzona opcja sprzedaży Prefabów, jednak nie będzie ona dostępna na start.
Po minięciu okresu na zwrot kupionych assetów, zebrane przez nas środki zostaną wypłacone, o ile w danych konta znajdują się poprawne dane konta PayPal.
Pełna treść ogłoszenia: forum.gamemaker.io/index.php?threads/marketplace-future-and-the-prefab-library.113969
Hotfix 2024.6.1
YYG wydało hotfix dla wersji 2024.6.1:
- przywrócono VSYNC w IDE (ale można go wyłączyć w opcjach) - brak tej opcji powodował błędy na monitorach G-Sync
- naprawiono nameof()
, audio_sound_loop_end()
, string_concat()
, string_join()
które w specyficznych przypadkach nie działały
- precyzyjne kolizje znów działają poprawnie po ręcznej zmianie image_index
Pełna lista zmian i linki do pobrania releases.gamemaker.io/release-notes/2024/6
2024.6 wydane
Czerwiec za nami, a wraz z początkiem kolejnego miesiąca wydano "miesięczną" wersję GameMakera - 2024.6.
Co nowego?
- Tekst w roomach (na layerach) - pozwala nie tylko dodać tekst na layerze z assetami, ale też stworzyć takowy zasób na dowolnym layerze w trakcie gry. Zaletą tego rozwiązania w stosunku do draw_text()
jest możliwość justowania i ustawiania odstępów między znakami w pionie i poziomie.
- Raycast dla funkcji fizyki (physics_raycast()
)
- Dostęp do depth i stencil buffera - pozwoli na tworzenie efektów jak shadow mapping, deferred rendering, volumetric rendering, ambient occlusion - ale jeśli nie jesteście specami od tajemnic GPU, na pierwsze przykłady i gotowce od społeczności zapewne przyjdzie nam chwilę poczekać
- panel instancji i assetów w room editorze - rozwiązuje problem wybierania layerów i zawartości layerów w room editorze - dzięki temu oba są widoczne na raz; w kolejnych wydaniach właśnie tam trafią elementy layerów flex/gui
- można wyłączyć culling sprite'ów/instancji
- kolizje w kształcie elipsy działają teraz wg. rozmiaru bboxa, nawet jeśli jest on większy niż sprite (wcześniej były limitowane do prostokąta o wysokości i szerokości sprite)
- przejście na .NET8 i załatanie wielu problemów z wydajnością, w tym szybsze logowanie przy starcie IDE (ale nie wszystkich, więc zgłaszajcie koniecznie wszystko co jeszcze znajdziecie)
- ponad 200 innych zmian i bugfixów
Więcej informacji na blogu YYG: gamemaker.io/pl-PL/blog/release-2024-6
Lista wszystkich zmian i nowych funkcji: releases.gamemaker.io/release-notes/2024/6
Lista wszystkich załatanych bugów (część mogła występować tylko w betach): github.com/YoYoGames/GameMaker-Bugs/milestone/11?closed=1
Następne wydanie to 2022.0.3 LTS, a zaraz po nim 2024.8, w którym - jeśli nie będzie opóźnień: Flex Panel, UI Layer, Prefaby i wsparcie dla SVG (więc coś czuję, że nie wszystko zdąży).
Nowości w betach 2024.600
GM Update 2024 za nami, więc po obietnicach czas na czyny. Niestety, ze względu na zbyt krótki okres większość zapowiedzi zobaczymy najwcześniej w lipcu, ale to nie znaczy, że YYG zostawi nas jedynie z poprawkami. Wersja "6", oferuje całkiem sporo nowości które mogą mieć wpływ na wydajność:
- Text on Layer - możliwość dodania tekstu na layerach tak samo jak w sekwencjach. Dużym atutem jest fakt, że tekst ten można dodać także w trakcie gry za pomocą funkcji layer_text...
. W porównaniu do draw text funkcjonalność ta wyróżnia się też wydajnością (korzysta z vertex bufferów), oraz możliwością wyjustowania i ustawienia odstępów w poziomie i pionie.
- Stencil Buffer - dostęp do bufora szablonowego GPU. Pozwala chociażby na używanie maskowania bez użycia surface.
- Surface Depth - możliwość odczytania danych o "głębi" na surface. Dotyczy to raczej gier 3D, ale to jedna z tych rzeczy których wykorzystanie zależy od kreatywności twórcy
- Physics Raycast - pozwala znaleźć miejsce, w którym nastąpi kolizja obiektów z włączoną fizyką
- struct_existst/remove_from_hash
kolejna z funkcji, która pozwala na szybszy odczyta danych w strukturach poprzez wstępne hashowanie nazw zmiennych
- wyliczenie wartości dla funkcji których wynik znany jest w momencie kompilacji i będzie stały przez całą grę - więcej info w #5688
- optymalizacja wykrywania kolizji (kolizje precise nie będą już sprawdzane poza bounding boxem, gdzie i tak zawsze zwracały false)
- optymalizacje memory leaków w IDE, przejście z .NET 6 na .NET 8
Pełna lista: releases.gamemaker.io/release-notes/2024/600
Oczywiście wciąż trwają też prace nad Code Editorem 2, który nadal nie trafi do wersji stabilnej. Poza tym, do końca czerwca pojawiać będą się jeszcze różne bugfixy, ale jeśli chodzi o nowości, to minęła już data "feature freeze" i Flex Layery, Prefaby czy UI Layer zobaczymy najwcześniej 2 lipca.
Wsparcie dla JavaScript zmierza do GameMakera - GM Update 2024
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.
Najnowsze wersje GameMakera:
wydana 5 dni temu
wydana 327 dni temu
wydana 11 dni temu
![:P](/data/skins/1/images/emot9.gif)