Linki do ciekawych stron

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/.../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.

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.

Miniaturka youtube

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:

Miniaturka youtube

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/.../4

Jeśli ciekawi was na co czekamy w wersji 2024.6 (planowanej na początek wakacji), zapraszam do dalszej części wpisu.

Przeczytaj dalszą część »

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.

Grafika: /upload/ajax/20240402_368bcd3a584a328656c38da27246f33d.png

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.

Przeczytaj dalszą część »

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 110 bugów

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/.../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.

Grafika: /upload/ajax/20240304_b2f3f5f7bbf3016a7ed7a7330ddfc2fa.png

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

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.

Najnowsze wersje GameMakera:

Stabilna
2024.4.1.152 • 2024.4.1.202
wydana 12 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 230 dni temu
Beta
2024.600.0.562 • 2024.600.0.580
wydana  4 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
41 użytkowników online na discordzie:
s..., Alice, Nitro Slav, Carl-bot, EchoDuck, p..., PeekoHiko, GibkiKaktus, Grela, Add92, debil debilowski, TobiasM (Morgo), Kowu, Kuzyn, HappyOrange, fervi, m..., 21Lancz, Sevitaus, Kalor, r..., LadyLush, MKP (GEM), Moldis, Arrekin, yazaa, Dyno, 🆅🅸🆃🅾74🅼, Deusald, Moho, LeD, 𝕳𝖚𝖌𝖔 𝕲𝖔𝖓𝖝𝖆𝖑𝖊𝖝, Miłosz, m..., Danieo, Mtax, Alkapivo, Krzysiek1250, Shockah, Cosplyfanka, xVANiLL
Shoutbox
gnysek (13:35, 03.06.24)
Przypominam, ze w sobotę i niedzielę na Pixel Heaven się mozemy zobaczyc
Wojo (03:18, 30.05.24)
gmclan wiecznie żywy
gnysek (10:09, 21.05.24)
Ale z jakimi błędami...
I am Lord (09:52, 20.05.24)
o piszą o nas 😁
Chell (11:15, 17.05.24)
nareszcie będzie można zaimplementować padający śnieg w gierce
gnysek (18:33, 16.05.24)
JS zmierza do GM xD
I am Lord (16:29, 05.05.24)
Czaję
gnysek (13:38, 04.05.24)
Nie wbudowują tego przez warunki licencyjne. Ale kto wie, może jako prefab zobaczymy to już w kolejnym wydaniu, bo wtedy prefaby mają zostać dodane.
I am Lord (12:17, 03.05.24)
Aha to trzeba coś tam jeszcze kombinować tak
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?