YoYoGames wydało pierwszą z 10 planowanych na ten rok aktualizacji (nie będzie ich w lipcu i grudniu). Od tego roku zmieniono numerację, która pomaga nadążyć za tym, jaka wersja jest ostatnia, stosując zapis ROK.MIESIAC i wydając aktualizacje w ostatnim tygodniu danego okresu.
Co nowego?
- [color=red]Zmiany w systemie kolizji[/color]. Bardzo poważna zmiana dotknęła systemu kolizji. Od razu mówię, że stary możecie włączyć w opcjach projektu (Config > Main).
Zmiana polega na wyliczaniu kolizji z użyciem typu liczbowego float (zmiennoprzecinkowe), zamiast real (całkowite). Ma to znaczący korzystny wpływ na obiekty przeskalowane, bowiem niektóre kolizje nie działały prawidłowo dla ułamkowego skalowania małych spritów i potrafiły się rozjeżdżać o parę pikseli. Gdyby jednak wasza gra sobie z tym radziła, zostawiono opcję działania "po staremu". Czasem i YYG pomyśli
- Filtry dla pojedynczych layerów, po tym jak wprowadzono opcję dodawania predefiniowanych shaderów jako layer (2.3.6, dwa wydania temu), sporo osób narzekało, że działają one na wszystkie poprzedzające layery. Po trzech miesiącach nie jest to już problemem, chociaż nie tak łatwo jest znaleźć, jak filtr dla pojedynczego layera ustawić - trzeba bowiem włączyć Inspektora (Windows > Inspector) i wtedy po znaznaczeniu layera zobaczymy nowe opcje. Obstawiam, że YYG nie dodało ich do normalnych właściwości roomu, bo i tak planuje wywalić ten panel wraz z ulepszoną wersją interfejsu zarządzania projektem, która pojawi się w tym roku (jeśli każda wersja GM dostanie po dwie rzeczy z Roadmapy, pierwsze zmiany interfejsu dostaniemy w maju). Dodatkowo dla wsparcia tego systemu pojawiły się odpowiednie funkcje GML, np. [url=beta-manual.yoyogames.com/.../url].
- Inspektor dla fontów i layerów - o tym pisałem już wyżej, dodatkowo Inspektor działa dla fontów. Brakuje jeszcze Inspektora dla AnimCurves, Sounds, Paths, a wygląda na to, że swojego nie dostaną Timelines. Na pewno swój dostanie natomiast Particle Editor, który pojawi się jeszcze przed nowym interfejsem (czerwiec-sierpień?).
Od kolejnej bety (we wtorek) już na poważnie zaczyna się też testowanie funkcji Feather Intellisense o której pisałem w poprzednim wpisie. Przy okazji dodam tylko, że teraz bety są numerowane tak jak reszta programu, ale do miesiąca dodawane jest +100, zatem beta wersji 2022.2 będzie mieć numer 2022.200.0.X .
Linki do ciekawych stron
Nowa numeracja GMS2, nowy system podpowiadania składni
YYG zaczyna 2022 z przytupem, wprowadzając kilka dużych zmian.
Po pierwsze, teraz program będzie numerowany w postaci ROK.MIESIAC.KOMPILACJA, zatem po 2.3.7.606 otrzymamy GMS 2 2022.1.X . Nie będzie wydań w lipcu i grudniu, ale numeracja zostanie utrzymana (z ominięciem .7 i .12). Obstawiam, że następnym krokiem będzie zmiana nazwy na GameMaker Studio GX - bo inaczej za dużo dwójek w tej nowej numeracji
Po drugie, w becie dostępny jest nowy system podpowiadania składni który wyróżnia typy zmiennych. Macie tablicę struktur jakiegoś typu? Nie ma problemu, GM będzie to wiedział i np. w pętli for pozwoli na podpowiadanie właściwości tejże struktury.
Co ważne, ten system nie będzie dostępny w stabilnych wersjach aż do momentu, gdy wyłapiemy wszystkie błędy, więc w 2022.1 go nie zobaczymy, ale w becie można bez problemu z niego korzystać. Jeśli komuś się nie podoba - jest opcja wyłączenia go w opcjach.
Nowością są sugestie błędów które pokazywane są za pomocą ikonki pióra (Ctrl+Q wyświetla ich szczegóły), dlatego nowy system dostał nazwę Feather. System potrafi też podpowiadać sprite czy kolory - wraz z ich podglądami!
Nowy system wyświetla też w lepszy sposób opisy które tworzymy dla naszych funkcji.
Betę można pobrać tutaj: gms.yoyogames.com/ReleaseNotes-NuBeta.html .
Wygląda też, że jeszcze bardziej potaniała wersja Indie subskrypcji z 36 zł na 24zł:
YYG zaoferuje serię kursów dla twórców gier
YYG chce w końcu zainwestować trochę w kursy dotyczące programowania w GameMakerze i tym razem zamiast tutoriali wideo i kursów na stronie zaoferuje webinar, w którym osoby związane z programem opowiedzą ciekawe informacje dotyczące wybranych zagadnień (ale nie wykluczono, że kolejne materiały nie muszą być eventami online).
Pierwszy temat nie jest wyjątkowo ciekawy, bowiem dotyczy przejścia z klocków Drag and Drop do GML i odbędzie się 26 stycznia o 22:00 polskiego czasu i poprowadzi go Aaron Craig. Kolejne dwa poprowadzą Josia Roncancio i obecnie odpowiedzialny za pisanie dokumentacji Gurpreet Singh Matharoo, ale ich daty nie są jeszcze znane, nie wiadomo też jakie będą poruszać tematy - zapewne tak samo jak darmowe zasoby (obecnie dostępna jest druga paczka), wydarzenia odbędą się raz na miesiąc.
Na wydarzenie można zapisać się na stronie gamemaker.clickmeeting.com/876849311/register .
Kolejne aktualizacje bety 2.3.8 dopiero w 2022
YoYoGames w tym roku dokonał zmiany i mieliśmy otrzymywać bety w każdy wtorek i czwartek, a nowe wersje raz na miesiąc, ale grudzień wyjątkowo jest miesiącem w którym zasady te nie do końca obowiązują (takich miesięcy w roku ma być dwa - obstawiam, że będzie to też jeden miesiąc wakacyjny).
W związku z tym ostatnia beta 2.3.8 wyszła 16 grudnia i nie zobaczymy już ani bety, ani nowej wersji przez najbliższych kilka tygodni.
Poza zmianami, o których pisałem już 9 grudnia, otrzymaliśmy też nową stałą ev_pre_create, która pozwala wykonać ponownie zdarzenie Pre Create. Jeśli o nim nie słyszeliście - to w tym momencie ustawiają się te zmienne, które ustawiliście w oknie "variables" we właściwościach obiektu. Event jako taki istnieje już ponad 3 lata, ale dopiero teraz YYG pozwoliło na ponowne go wywołanie, które umożliwi dzięki temu resetowanie naszych własnych zmiennych obiektu do jego początkowej wersji.
Pojawiła się też opcja stosowania filtrów tylko na jednym layerze ale na razie nie jest dostępna z IDE, a jedynie z kodu, za pomocą funkcji fx_set_single_layer("filterName", true/false).
Najbardziej kontrowersyjną zmianą jest nowy system kolizji który wylicza teraz nakładanie się obiektów korzystając z liczb zmiennoprzecinkowych zamiast całkowitych, co popsuło wiele gier. Ponieważ ekipa YYG ma teraz urlop, nie wiadomo, czy takie było zamierzenie, czy może jednak to błąd, ale wiele osób zgłasza, że występują problemy z kolizjami obiektów które znajdują się na sąsiadujących pikselach, w wielu sytuacjach zachowując się tak, jakby wszystkie funkcje sprawdzające kolizje miały teraz dodatkowy margines 1 piksela. Jeśli więc zauważycie problemy w swoich grach, to albo wróćcie do poprzedniej bety, albo poczekajcie do stycznia, gdy pojawią się rozwiązania lub informacje od YYG co robić i jak żyć po tych zmianach i czy to zamierzone, czy może jednak tradycyjnie już coś skaszanili
Roczna licencja GMS2 Indie za 100zł!
Jeśli chcielibyście skorzystać z niemal pełni możliwości GameMakerStudio 2 (poza eksportami na konsole), lepszego momentu nie będzie - w ramach najnowszego Humble Bundle, licencję "Indie" (eksport Windows, Mac, Linux, HTML5, Android, iOS) można dostać za 22€, czyli ok 100zł. Normalnie roczna licencja na tym poziomie kosztuje 360zł, można więc oszczędzić ponad 70%.
Jest też opcja za ok. 12€ (55zł) rocznej licencji creator, i chociaż to też dobra opcja, to zyskujemy mniej, gdyż normalnie licencja ta kosztuje 12zł miesięcznie lub 120zł za rok, ale pozwala jedynie na eksport jedynie na Windowsa, Maca i Linuxy.
Ceny powyżej mogą się nieznacznie zmieniać, gdyż taka jest specyfika Humble Bundle, że (teoretycznie) zależą one o wysokości wpłat użytkowników. Uwaga: kupując droższy bundle dostajemy jedynie droższą licencję - mimo, że bundle pokazuje dwie.
Ofertę znajdziecie tutaj: humblebundle.com/software/gamemaker-studio-2-software
Poprawiona wersja 2.3.7 dostępna
Sporo osób które pobrały 2.3.7 skarżyło się, że GMS2 zawiesza się na ich komputerach zaraz po starcie. YYG wydało dziś poprawki, które powinny rozwiązać problem.
Więcej informacji i krótka lista zmian (wrzucono jeszcze parę poprawek) dostępne pod adresem: gms.yoyogames.com/ReleaseNotes.html .
Beta GMS 2.3.8 z nową kompresją grafiki
YYG po przejęciu przez Operę nie przetaje zaskakiwać - w wersjach 2.3.7 i 2.3.8 doczekaliśmy się porządków i usunięcia funkcji, które od dawna nie istnieją (np. dotyczące reklam, czy zakupów na telefonach i tabletach) i zostały przeniesione do zewnętrznych bibliotek - część tego kodu pamięta jeszcze GMS 1.4 i nie była nawet widoczna dla gier z GMS2, wiec takie porządki są mile widziane.
Przy okazji zmieniono też sposób kompresji obrazków w runnerze - zamiast PNG, od teraz będą to oraz w formacie [url=github.com/phoboslab/qoi]QOI[/url] który jest kompresowany algorytmem BZ2 - ma to gwarantować nie tylko 20% mniejsze pliki wykonywalne, ale też szybszą dekompresję grafiki przy wrzucaniu jej do RAMu (GPU).
W tej wersji wycofano też workery, czyli hosty które pozwalały na kompilowanie gier z Windowsa na Macu (lub na odwrót) bez instalacji IDE na danym systemie. Z racji, że IDE dla obu są dostępne bez problemu, a mało kto z tego korzystał, funkcję wywalono.
W tej wersji pojawił się też Font Inspector, co znaczy, że jeszcze tylko Paths, Curves, Path, Sound, Room nie dostały swoich (ale już elementy w Romach dostały). Do dodania alternatywnego sposobu edycji projektu zostało więc już coraz mniej do skończenia i pewnie pierwszą betę nowego wyglądu dostaniemy wiosną.
<hr>
Betę 2.3.8 (która instaluje się osobo i nie wpływa na zwykłą instalację) pobierzecie klikając w "Download" na stronie gms.yoyogames.com/ReleaseNotes-NuBeta.html (link przekierowuje zależnie od systemu operacyjnego, wiec działa dla Winowsa, Mac i Ubuntu).
Darmowe assety graficzne dla posiadaczy subskrypcji
YYG znów zaskakuje - od dziś, co miesiąc, każdy posiadacz subskrybcji innej niż Free otrzyma za darmo zasoby graficzne do tworzenia gier.
Aby otrzymać zasoby, wystarczy zalogować się na swoje konto, i z menu "GameMaker" (po lewej, nie na górze), wybrać opcję "Bundles".
Potem wystarczy już tylko kliknąć "Add" i zasoby są nasze na tak długo, jak trwać będzie nasza subskrypcja.
Co jednak ważne [color=red]mamy tylko miesiąc aby przypisać daną paczkę, jeśli ją przegapimy, zniknie bezpowrotnie[/color]. Na stronie Bundle widać zegar który odlicza ten czas, ale skoro już tam zajdziecie, to kliknięcie "Add" zajmie dodatkową sekundę więc warto wysilić palec do dodatkowego kliknięcia.
Pierwsza paczka nazywa się Fantasy Side-scrolling Platformer i zawiera 300 Spritów, 17 animacji Spine, 94 efekty dźwiękowe, 8 utworów muzycznych.
Zasoby można pobrać w całości, w częściach, jako zipy lub jako yymps (lokalna biblioteka do zaimportowania).
Więcej informacji znajdziecie w helpdesku YYG: help.yoyogames.com/.../4412342294289-How-to-claim-and-use-your-Asset-Bundle
GMS z eksportem od 12zł miesięcznie!
YoYoGames i Opera wsłuchały się w głosy osób którym nie spodobały się zmiany związane z subskrypcją (mimo, że większość mogła w ten sposób za darmo dostać nowe eksporty) i przedstawiła jeszcze lepszą ofertę.
Od dzisiaj dostępne są następujące licencje (osoby które kupiły licencje 2.x wcześniej oczywiście je zachowują):
- Free/GX za darmo pozwala na eksport do przeglądarki Opera GX i grania w serwisie gxc.gg
- Creator, 12zł/m-c, 120zł/rok pozwala na eksport na Windowsa, Mac, Linux
- Indie, 36zł/m-c, 360zł/rok pozwala na eksport na Windowsa, Mac, Linux, Android, iOS, UWP, HTML5, Opera GX
- Enterprise, 290zł/m-c, 2900zł/rok pozwala na eksport na Windowsa, Mac, Linux, Android, iOS, UWP, HTML5, Opera GX, PS4, PS4, Xbox One, Xbox Series X|S, Switch (konsole wymagają kont deweloperskich u producentów konsol)
Każdy kto kupił licencję dla GMS2.x wcześniej, może oczywiście korzystać z niej na starych zasadach, a dodatkowo każda licencja podlega bonusowi skorzystania przez rok z licencji Indie (zatem licencja np. Desktop+Mobile to już 2 lata za darmo), bez utraty "stałej" licencji. W przyszłym roku planowana jest premiera GMS 3.x/GX, który będzie korzystał jedynie z subskrypcji (ale tak samo jak 1.4, 2.x będzie można używać dalej, po prostu nie dostanie już aktualizacji po 2024 roku).
help.yoyogames.com/.../4405059050001-Subscriptions-FAQ
Beta 2.3.7 dodaje nowe możliwości programistyczne!
Ku zaskoczeniu, bowiem nie było to wcześniej zapowiadane, a i samo YYG zapomniało wspomnieć w release notes przy okazji pierwszej listopadowej bety (teraz są one wydawane w każdy wtorek i czwartek), w GML pojawiły się dwie nowe funkcjonalności.
Pierwsza to tzw. null coalescing operator, czyli operator nadający wartość gdy zmienna jest pusta (w przypadku GML nie mamy Nulla, więc bardziej odpowiednie będzie powiedzenie - niezdefiniowana).
W GMS 2.0 - 2.3.6 zapisalibyśmy to tak:
koda = is_undefined(b) ? 5 : b;Tymczasem w wersji 2.3.7 można prościej:
koda = b ?? 5;Można to czytać jako: ustaw a jako b, no chyba, że b nie ma wartości, to wtedy 5.
Oczywiście, są też przypadki, gdy chcielibyśmy to samo zrobić ale dla tej samej zmiennej, więc i tutaj doszedł nowy operator:
koda = is_undefined(a) ? 5 : ateraz można skrócić do:
koda ??= 5Co można odczytać jako: jeśli a nie jest jeszcze zdefiniowane, to ustaw 5.
Drugą zmianą jest pomijanie argumentów funkcji, aby użyć domyślnej wartości.
Jeśli mielibyśmy taką funkcję: kodfunction costamcostam(a, b = 5, c = 14, d = 19){};To chcą ustalić jedynie wartości a i d, musimy ręcznie przepisać domyślne wartości b (=5) i c (=14), co może być kłopotliwe, gdy z jakiegoś powodu zechcemy kiedyś zmienić domyślne wartości. Teraz wystarczy argument... pominąć, nie podając żadnej wartości. Zakładając więc, że a i d chcemy ustawić na 1, zamiast:
kodcostam(1, 5, 15, 1)możemy napisać:
kodcostam(1,,,1);
Te dwie niewielkie zmiany wbrew pozorom mogą okazać się bardzo przydatne.
Najnowsze wersje GameMakera:
wydana 75 dni temu
wydana 3 dni temu
wydana 9 dni temu