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!
Linki do ciekawych stron
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
Fonty SDF i nowa funkcja kolizji w kolejnej becie 2023.1
YYG co prawda długo zwlekało z kolejną betą GameMakera po noworocznej przerwie, ale w końcu dostaliśmy i to z grubej rury:
- fonty SDL, zachowujące niemal idealną jakość przy skalowaniu
- efekt audio "tremolo"
- wyłączenie obfuskacji HTML5 (skoro moduł jest open-source - to czemu zaciemniać gry?)
- przyspieszenie funkcji string i array o 5-50%
- funkcje array_get_index()
i array_contains()
do znajdywania elementów w tablicach
- funkcja move_and_collide()
która pozwoli omijać przeszkody idąc po ich krawędzi (ślizganie)
- array_shuffle
pozwala teraz na mieszanie tylko części tablicy (argumenty pozwalające określić początek i koniec tasowania)
- poprawki dla Feathera
- 35 bugfixów
Wiemy też, że wersja beta 2023.2 (dostępna w lutym) dostarczy nam:
- efekty outline/shadow dla fontów SDL
- oznaczanie punktów loopowania w dźwiękach audio
gms.yoyogames.com/ReleaseNotes-NuBeta.html + gms.yoyogames.com/release-notes-runtime-NuBeta.html
Najnowsza beta ponownie działa na Ubuntu 20.04+ .
Noworoczny GameJam wystartował!
Wystartował noworoczny GameJam Opery i YYG.
Temat jest niezwykle prosty i jest nim:
Relaks
Dodatkowo gra może zostać wyróżniona, jeśli opcjonalnie będzie się przechodzić sama
Przypomnę, GJ trwa 2 tygodnie (4 - 18 stycznia 2023), a nagrody to 10 x 1500$ (~6500zł).
Więcej informacji o zasadach - gx.games/pl/events/new-year
Wesołych Świąt!
Za nami niełatwy rok, ale obfitował on w wiele ciekawych dla społeczności wydarzeń - chociażby pierwszy raz od 2019 była okazja się spotkać na żywo Rozwijał się też GameMaker, dodaliśmy parę artykułów i tutoriali na youtube, pojawiło się nieco nowego kodu na githubie... ale kolejny rok będzie jeszcze lepszy! Najpierw jednak pora na kilka dni odpoczynku w rodzinnym gronie.
Cała GMCLANowa ekipa: gnysek, Uzjel, Threef, składa wam życzenia Wesołych Świąt, a niech 2023 rok będzie tym w którym wydacie swoje wymarzone gry, zyskując sławę, bogactwo i pozostając przy tym skromnymi GMCLANowiczami
Rok 2023 zapowiada się interesująco, gdyż nie dość, że szykuje się pierwsze od 6 lat duże wydanie GameMakera (zupełnie nowy silnik), to na naszym lokalnym podwórku, szykuje się kilka większych premier gier (ale ćśśś, to tajemnica! ), oraz zupełnie nowa odsłona waszego ukochanego serwisu (taka z dark mode i wsparciem dla komórek i tabletów! ). No i znów się spotkamy na żywo, tym razem w czerwcu!
P.S. cały czas cisnę, aby pierwsze demo nowej wersji strony odpalić jeszcze w tym roku
Zgarnij 1500$ w nowym game jamie YYG i Opery
YYG i Opera organizują konkurs Nowy Rok, Nowy Game Jam, w którym do wygrania jest 10x 1500$.
Co trzeba zrobić? 4 stycznia wejść na stronę gx.games/pl/events/new-year , sprawdzić jaki będzie temat game jamu, a potem do 18 stycznia wrzucić na GX.games swoją produkcję. Można więc korzystać z darmowej licencji GameMakera.
Jak zawsze, gra nie musi idealnie pasować do tematu, można też wrzucać poprawki bugów (ale nie zmiany gameplayowe czy balansu) po terminie. Warto jednak pamiętać, że gra musi działać na mobilnej wersji Opery GX.
Nagrody wybierze jury YYG i Opery (wygląda, że tym razem nie będzie głosowania użytkowników).
GM 2023.1 z pierwszą betą
YoYoGames w nowym cyklu wydawniczym ustanowiło lipiec i grudzień miesiącami urlopowymi, w których nie wydaje stabilnych wersji, ale to nie znaczy, że nie wydaje wersji beta na kolejny miesiąc, więc w grudniu dostaliśmy już wersję styczniową. Wersja 2023.1 ma wprowadzić sporo "poprawek dla wygody użytkowania" (QoL), a pierwsza beta zawiera tylko mały wycinek zmian które teoretycznie wg. roadmapy trafią do wydania styczniowego (które dopiero za 50 dni! ).
Nowości:
- kolejne pomniejszenie runtime (ten podstawowy też nie ściąga już plików win/mac/linux jeśli któryś z nich to nie nasz OS)
- nowy serializer JSONów projektów, który ma przyspieszyć zapis, nowy sposób zapisywania sortowania drzewa zasobów
- nowe funkcje dla zmiennych typu static
(więcej poniżej)
- is_instanceof()
- sprawdzanie czy dany konstruktor dziedziczy po innej (przez id, a nie przez string; włączając dziedziczenie)
- pobieranie u stawianie staticów dla klas/funkcji, poprzez static_get(), static_set()
- pierwsze pozwala zmienić wartość static spoza funkcji/konstruktora, drugie pozwala natomiast dodać nowego statica do struktury
- array_shuffle(), array_shuffle_ext()
- do sortowania tablic (ale nie jako array_sort(a, function(){ return random(1, -1); });
, a metodą [url=en.wikipedia.org/.../url]
- audio_effect_create()
ma teraz dodatkowy opcjonalny parametr w którym można przekazać struct z danymi o efekcie; działa to podobnie jak w instance_create() które też dostało taki argument kilka wydań temu
- nowy plik projekt.resource_order
który można dodać do .gitignore i dzięki temu unikać konfliktów przy dodawaniu/przesuwaniu zasobów w drzewach (generalnie dla projektów kilkuosobowych zaleca się sortowanie po nazwie i manipulowanie kolejnością poprzez nadawanie alfabetycznych nazw w danej grupie)
Zmiany dotyczące odczytywania staticów pozwalają na dostęp do statycznych po nazwie funkcji lub konstruktora i korzystać z nich jak z namespace'ów w innych językach (jedyny warunek - jakakolwiek inicjalizacja przed pierwszym odczytem):
kodfunction GameOptions() {
static music = true;
static fullscreen = true;
}
// trzeba zainicjować, żeby utworzyć statyczne
GameOptions();
// teraz możliwe jest:
var _music_enabled = GameOptions.music;Tym samym otrzymaliśmy coś wzorem namespace'ów, z dobrze znaną nam notacją nazwa.własność.
Info o becie 2023.100.0.252 IDE: gms.yoyogames.com/ReleaseNotes-NuBeta.html
Info o becie 2023.100.0.264 runtime: gms.yoyogames.com/release-notes-runtime-NuBeta.html
Stabilna wersja powinna wyjść 31 stycznia. Zawierać ma też nowe filtry, a także być może Particle Editor.
GM 2022.11 wydany!
Ostatnia "stabilna" wersja GameMakera przewidziana na ten rok została właśnie wydana. Co nowego?
- opcja wybierania które runtime chcemy, aby oszczędzać dane i skrócić czas instalacji
- nowe funkcje dla tablic i stringów, format 0b00111 dla liczb binarnych, możliwość zapisywania liczb z podłogą (np. 100_000)
- nowe funkcje z efektami audio (demo: gnysek.itch.io/gm-audio-effects-demo , kod: github.com/gmclan-org/audio_bus_effects_demo )
- nowe filtry dla roomów
- tradycyjny sposób wklejania obrazków do image editora (bez tworzenia brushy)
- krytyczne poprawki dla HTML5 dotyczące działania eventu step
- aktualizacja wymagań biblioteki Gradle dla Androidów
- aktualizacja biblioteki padów, dzięki czemu wiele z nich zacznie teraz poprawnie działać
- 202 naprawione bugi
- powrót wersji beta IDE dla Linuxa (dla Ubuntu 20.04+, ale kompilacja z windowsa/maka wciąż działa także na 18.04)
Lista zmian w IDE: gms.yoyogames.com/ReleaseNotes.html
Lista zmian w runtime: gms.yoyogames.com/release-notes-runtime.html
W tym roku pojawi się jeszcze beta styczniowej wersji, z numerem 2023.100. Wg. [url=gamemaker.io/en/roadmap]roadmapy[/url] powinna zawierać filtry dla sekwencji, oraz być może Particle Editor.
Eksporter HTML5 dostępny jako OpenSource
Najstarszy eksporter z serii "Studio", wydany jeszcze w 2011 roku jako "5pice" ( gmclan.org/index.php?nius=413 ), czyli HTML5, znany też jako najbardziej zbugowany - od dziś dostępny jest jako OpenSource. Z racji na różnice w implementacjach przeglądarek czy brak na nich niektórych funkcji, pewne rzeczy nie mogły działać identycznie jak te z natywnych platform, ale sporo z nich to zwyczajne błędy. Od teraz każdy może naprawić te błędy oraz poznać budowę i logikę GM Studio.
github.com/YoYoGames/GameMaker-HTML5
Co ważne, można używać własnej wersji do eksportowania gier - od obecnej bety 2022.11 (a więc pod koniec miesiąca i stabilnej wersji), wystarczy wejść w Preferencje > Platformy > HTML5 i tam zmienić ścieżkę na własną:
Więcej info: gamemaker.io/en/blog/html5-open-source
Najnowsze wersje GameMakera:
wydana 76 dni temu
wydana 4 dni temu
wydana 10 dni temu