Linki do ciekawych stron

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ą Fishera–Yatesa
- 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. roadmapy 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ą:

Grafika: /upload/ajax/20221114_1564145294f51c24158240ae1499e98e.png

Więcej info: gamemaker.io/en/blog/html5-open-source

Grafika: /upload/ajax/20221114_488c2f29eb393e3f77e04be6065b5820.png

Druga pula dużych nowości w 2022.11!

Pierwsza beta 2022.11 zaskoczyła nas toną nowych funkcji dla tablic, czy też opcją wyboru runtime (co pozwala oszczędzić 1-2GB danych), a ten tydzień wita nas kolejną dużą porcją funkcji tekstowych.

Zanim jednak wszystkie wylistuję, warto dodać, że to nie jedyne zmiany. Pojawia się też opcja zapisu zmiennych binarnych jako 0b01010010 oraz opcja wstawiania "podłogi" w liczbach, aby były one czytelniejsze, np. 123_456. Przypomnę, że zmienne szesnastkowe można podawać jako 0x16FF, $16FF i #16FF. Liczby binarne i szesnastkowe również mogą używać podłogi, np. 0b1111_0000_1111_1010.

Lista nowych i zaktualizowanych funkcji tekstowych

kodstring(format, arg0. arg1, ...) → String - Zamienia dane na string, opcjonalne argumenty będą wstawiane kolejno za placeholdery: {0}, {1} itd.
string_ext(format, arg_array) → String - Jak wyżej, ale dla tablicy
string_trim_start(string) → String - Zwraca tekst bez spacji na począku
string_trim_end(string) → String - Zwraca tekst bez spacji na końcu
string_trim(string) → String - Zwraca tekst bez białych spacji z obu stron
string_starts_with(string, substr) → Bool - zwraca prawdę, gdy tekst zaczyna się substringiem
string_ends_with(string, substr) → Bool - zwraca prawdę, gdy tekst kończy się substringiem
string_split(string, delimiter, remove_empty = false, max_splits = infinity) → Array - Rozdziela słowa na tablicę korzystając z delimitera
string_split_ext(string, delimit_array, remove_empty = false, max_splits = infinity) → Array - Jak wyżej, ale przyjmuje tablicę delimiterów
string_join(delimit, arg0, arg1, arg2, ...) → String - Łączy podane argumenty do jednego stringa, rozdzielając je tym co podamy jako delimiter
string_join_ext(delimit, array, offset = 0, length = infinity) → String - Jak wyżej, ale operuje na tablicy
string_concat(arg0, arg1, arg2, arg3) → String - To samo co string_join, ale używa "" do łączenia
string_concat_ext(string_array, offset = 0, length = infinity) → String - Jak wyżej, ale operuje na tablicy
string_foreach(string, function, pos = 1, length = infinity) → Undefined - wykonuje wskazaną funkcję na każdej z liter w tekście
show_debug_message(format, arg0, arg1, ...) → undefined - Funkcja działa jak dawniej, ale teraż można też dodać dodatkowe argumenty, które będą wstawiane kolejno pod placeholdery: {0}, {1}.
show_debug_message_ext(format, arg_array) → undefined - Jak wyżej, ale dla tablicy

gms.yoyogames.com/ReleaseNotes-NuBeta.html
gms.yoyogames.com/release-notes-runtime-NuBeta.html

20 lat GMCLANu

Dokładnie 20 lat temu, 1 listopada 2002, w sieci pojawił się serwis GMCLAN (gmclan.iglu.cz). Nie był to pierwszy serwis polskiej społeczności - wcześniej bowiem dostępny był serwis gamem.host.sk , stworzony przez BeWuO. Jego rozwój dość szybko jednak przystopował, stąd (w dużym skrócie) inicjatywa, aby powstał GMCLAN.

I tak oto, 1 listopada 2002 w sieci pojawił się serwis Game Makers' Clan, którego twórcą jest Ranmus (znany wam też jako Ranma_man). Z początku pod wspomnianym adresem iglu.cz, ale 1,5 roku później od 31.05.2004 - pojawił się serwis gmclan.org, który w niewiele zmienionej wersji podziwiacie do dziś. Ranma - dziękujemy!

Dla wielu z nas do dziś GMCLAN zajmuje specjalne miejsce w sercu, a niektórzy nie tylko mocno się zintegrowali, ale też osiągnęli sukcesy dzięki swojej tytanicznej pracy. Mamy kilka osób które zarobiły całkiem spore pieniądze na swoich produkcjach, mamy też osoby które pracują w największych firmach (takich z ponad 1000+ pracowników). Zorganizowaliśmy w 2010 III Zjazd Twórców Gier (dziś Game Industry Conference), następnie co pół roku aż 3 edycje Szczecin Games Show, co sprawiło, że w latach 2008 - 2014 praktycznie co pół roku większa część adminów i redaktorów, a także najaktywniejsi użytkownicy spotykali się ze sobą. Tworzyliśmy przykłady, prowadziliśmy wykłady i zajęcia w szkołach - co np. dla nie zakończyło się osobistym (a także i społeczności) sukcesem, w postaci zatrudnienia przez YoYoGames - a więc najbliżej serca GameMakera jak było to możliwe, chociaż to raczej tylko wisienka na torcie tych pozostałych, waszych bardziej obfitych sukcesów.

Podziękowania więc jeszcze raz dla Ranmy, który przez 15 lat szefował i z własnej kieszeni utrzymywał serwis. Oczywiście podziękowania też dla BeWuO i Woocka, którzy wcześniej jak i później przyczyniali się do rozwoju serwisu.

Podziękowania dla byłych i redaktorów i adminów - byłych:
Damianoza, Piotra, Choosena, Liona, Mosta23, Anacondy, Jakima, Patrysława, Dawidsu, Jakluba, Snake'a, Marka.S, Dawiddsa, Matthewa, Marmota, Borka, ΨΧΞ / PsichiXa, Mimka, Platyny, Tymona, Maximala, Hudera;
i obecnych:
Uzjela i Threefa.

Dziękuję osobom, które wspierają (lub wspierali) serwis na Patronite:
Tymon, bagnz0r, Borek, I am vader (LeD), I am Lord (Huderlord), Sutikku, SimianVirus7, tramur, Chell, Adriann, nowy_user, Uzjel, HamsterMan, Threef

Podziękowania dla najaktywniejszych osób, które przychodzą mi do głowy (a których jeszcze nie było):
TeeGee, Nikas, Anty, Wojzax, Konrad-GM, pablo1517, Pieter, Dawidds, I am Vader, blackmaul, PoxiPol, Japanstache, Pablo-GM, Matthew, Addriann, Snake, Ignis, Chell, copoconaco, bagnz0r, LolikZabijaka, Exigo, Nirvan, Saus, Hunter, Wojo, Piczer, Sutikku, Ludzix, Firemark, szmalu, Ignatus, Borro Casso, Shockah, Shil, Flaque, MaxGaming, Sly, Yoda, Utermiko, szmalu, Xedom, Cordoba, Webzir, Roki, propaganja, Piotrek1910, nowy_user, a i niech nawet będą - halpowicze. I oczywiście podziękowania każdemu, ale to każdemu, nawet jeśli zapomniałem - ale po 20 latach skleroza może się już przydarzyć, ale bez waszych postów ta strona nie byłaby taka wspaniała!

Podziękowania też oczywiście, dla Marka Overmarsa, który w 1999 roku stworzył Animo i bez którego niczego tutaj by nie było. Ale też dla Sandy'ego Duncana, Mike'a Dailly i Russella Kay, którzy tchnęli w program drugie życie (a ostatnio nawet trzecie).

Dzięki wam za:
... niezliczone miliony wejść na stronę!
... 452 004 posty na forum!
... 251 700 shoutów!
... 21 391 komentarzy!
... 18 000 MB danych na serwerze!
... ponad 7300 dni razem!
... ponad 2000 osób które coś napisały!
... 654 newsy!
... 20 cudownych lat!

Dziękujemy !
(... miejsce na łezkę w oku)

GameMaker LTS wydany!

YoYoGames po narzekaniach osób, dla których stabilna jest stabilna i potrafi mieć błędy, na których poprawę trzeba czekać długo, postanowiło poza comiesięczną wersją wydać równoległą - Long Term Support.

Wersję tę można zainstalować równolegle do stabilnej (i bety) i żadna z nich nie wpływa na pozostałe. Co oferuje wersja LTS?
- jest oparta na 2022.9
- będzie wspierana przez 2 lata
- nie dostanie żadnych nowych ficzerów
- dostanie jedynie poprawki bugów, oraz wymaganych kompatybilności (SDK) dla eksporterów TYLKO jeśli będzie to wymagane

Jest to idealna wersja dla osób które nie chcą instalować nowej wersji bo boją się, że zepsuje ona ich projekt.

Wersję LTS pobierzecie tutaj:
gms.yoyogames.com/ReleaseNotes-LTS.html

Normalna, comiesięczna wersja będzie oczywiście wydana pod koniec listopada (2022.1), a potem w styczniu (2023.1).

YYG obiecało, że udostępni swoje rozszerzenia na Githubie (w końcu i tak ich kod jest dostępny za darmo na marketplace), co ma pomóc też w samodzielnym łataniu i optymalizowaniu kodu przez użytkowników (odciążając YYG i obchodząc też helpdesk).

Firma zaskoczyła jednak, dając rozszerzenia, których wcześniej nie oferowała na marketplace.

Obsługa kamery/galerii (tylko Android) - github.com/YoYoGames/GMEXT-MobileUtils
Wyświetlanie nakładki przeglądarki (iOS/Android) - github.com/YoYoGames/GMEXT-WebView

Pozostałe rozszerzenia znajdziecie pod linkiem: github.com/orgs/YoYoGames/repositories?q=GMEXT

Russell potwierdził też, że wkrótce eksport HTML5 będzie dostępny jako Open Source. Stanie się tak dlatego, że ze względu na wydajność i przesiadkę na nowy runtime w przyszłym roku, HTML5 zostanie zastąpiony przez WASM którego używa obecnie Opera GX. Podobno wersja 2022.9 pozwala już odpalić lokalnie gry GX w innych przeglądarkach (trzeba jednak przekopiować link).

Beta 2022.11 ze świetnymi zmianami!

Lubię gdy YYG nas zaskakuje o dorzuca rzeczy, których nie zapowaidało, a już w ogóle takich, których brakowało w IDE i ułatwiają życie. Dzisiaj, w ramach pierwszej bety (już na listopad) dostaliśmy naprawdę konkretne rzeczy.

Po pierwsze, w końcu po pobraniu nowej wersji GMa można wybrać, jakie runtime chcemy zainstalować. Od kiedy pojawiła się subskrypcja Indie, tych runtime było do pobrania aż 12 (licząc wersje VM i YYC osobno). Od teraz można sobie wybrać i pobrać tylko podstawową (czyli sam program startujący kompilację) i VM dla obecnego systemu operacyjnego (Windows/Mac/Ubuntu) - można nawet wykluczyć wersje YYC dla obecnego systemu.

Grafika: /upload/ajax/20221020_96a8781721692850c9776e271a6fc0ef.png

Poza tym, pojawiło się mnóstwo nowych funkcji dla tablic. Funkcje które zwracają nowy wynik (nie ruszając oryginalnej tablicy):
kodarray_all(array, function, offset = 0, length = infinity) → Bool
array_any(array, function, offset = 0, length = infinity) → Bool
array_copy_while(array, function, offset = 0, length = infinity) → Array
array_create_ext(size, function) → Array
array_filter(array, function, offset = 0, length = infinity) → Array
array_find_index(array, function, offset = 0, length = infinity) → Any
array_first(array) → Real
array_foreach(array, function, offset = 0, length = infinity) → Undefined
array_intersection(array1, array2, ...) → Array
array_join(array1, array2, ...) → Array
array_last(array) → Real
array_map(array, function, offset = 0, length = infinity) → Array
array_reduce(array, function, init = array[offset], offset = 0, length = infinity) → Any
array_union(array1, array2, ...) → Array
array_unique(array, output, offset = 0, length = infinity) → Array
Funkcje które modyfikują oryginalną tablicę:
kodarray_filter_ext(array, function, offset = 0, length = infinity)
array_map_ext(array, function, offset = 0, length = infinity)
array_unique_ext(array, offset = 0, length = infinity)
array_reverse_ext(array, offset = 0, length = infinity)

Poza tym odświeżono też bazę gamepadów, więc teraz sporo nowszych modeli zacznie prawidłowo działać, jeśli jakiś ich przycisk zwracał inną wartość niż zakładaliśmy.

W tym miesiącu mają się tez pojawić efekty audio, ale to wydanie jeszcze ich nie zawiera (chociaż informacje o runtime nieśmiało wspominają, że taka zmiana będzie).

Pełna lista zmian i link do pobierania:
gms.yoyogames.com/ReleaseNotes-NuBeta.html
gms.yoyogames.com/release-notes-runtime-NuBeta.html

Najnowsze wersje GameMakera:

Stabilna
2024.13.1.193 • 2024.13.1.242
wydana  2 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 137 dni temu
Beta
2024.1300.0.785 •
2024.1300.0.790
 0.16.1

wydana 23 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
gnysek (13:44, 10.04.25)
Za 3-4 miesiące GM przejdzie na wydania "półroczne", więc korzystanie z wersji beta żeby sprawdzić nowości będzie wskazane :P
Adriann (18:09, 08.04.25)
Odpowiadam, dzisiaj :D
Adriann (20:48, 04.04.25)
A kiedy te UI layery mają wejść do normalnej wersji gma?
gnysek (00:38, 11.03.25)
I jak, zobaczyłeś ? :D Trochę im zjechało na publiczny release, ale były już w ostatnich dniach lutego dostępne jak się wie, jak pobrać kandydatów do bety :P
Kuzyn (21:30, 05.03.25)
uwierzę jak zobaczę :P
gnysek (10:35, 18.02.25)
W ciągu 10 dni mają wyjść w końcu Layery UI :D
Wojo (10:25, 27.12.24)
Jak tworzyłeś* ah ta niecną autokorekta (kiedyś też stworzyłem apki na androida w sumie)
Wojo (10:23, 27.12.24)
O siemka baca, czasami myślę o tobie w kontekście tego jak tworzyłem apki na androida. Swoją drogą czasami zapominam, że forum istnieje bo cały ruch teraz utrzymuje się na discordzie, ale pora to zmienić!
Uzjel (20:17, 10.12.24)
Cały ruch przeniósł się na Discorda.
MagnusArias (17:43, 01.12.24)
O matko... a ja tutaj jestem od ponad 15 lat i czasami zaglądam... biernie bo biernie, ale czasem wpadnę
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?