Na taką informację czekaliśmy od dawna. GameMakerStudio 2 w końcu czekają konkretne zmiany, poprawiające i dodające mnóstwo brakujących funkcjonalności do języka GML!!!
Pełna lista tutaj: yoyogames.com/blog/514/gml-updates-in-2019 - ale postaram się wam przybliżyć o co chodzi (zwłaszcza tym który angielski sprawia problemy).
Dereferencje tablic i struktur.
GMS 2 wprowadził zmianę, która pozwala wstawić tablicę do tablicy. Tak naprawdę teraz tablice 2D to własnie tablica w tablicy. Niestety, odczyt takiej zagłębionej tablicy nie jest łatwy, trzeba bowiem "podtablicę" przypisać najpierw do zmiennej.
Zmiany to poprawią i będzie można napisać tak:
kodvar a = my_array[1][4][0][2];To samo dotyczy map, list i gridów:
kodvar a = my_list[| 5][# 5, 6][? "key"]; // odczyt 5 elementu listy, potem pozycji 5,6 grida, potem klucza mapy w tymże gridzie
Skrypty i funkcje można napisać teraz wszędzie i przypisać do zmiennej.
Zamiast tworzyć skrypt, od teraz będzie można napisać:
kodfunction my_script(a,b){return a+b;}Poza faktem, że można zrezygnować z argument0,...,.argment15, można też przypisać funkcję do zmiennej (jak w JS) i ta zmienna automatycznie zostaje nazwą funkcji. Powala to też na tymczasowe funkcje:
kodvar my_script = function(a,b){return a+b;} // bez "var" funkcja będzie globalnaMinusem jest to, że takie funkcje stracą dostęp do zmiennych tymczasowych zdefiniowanych poza nimi.
Wszystkie istniejące skrypty zostaną przekonwertowane po odpaleniu w GMS 2.3 do nowego formatu, a domyślnie zostanie argument0, argument1 itp.
Funkcje będzie też można dzięki temu zrobić w jednym pliku, a nie każda osobno. Będzie trzeba się przestawić z mówienia "skrypt" na "własna funkcja" - chociaż na finalne nazewnictwo poczekamy, na forum YYG już są na ten temat narzekania.
Lekkie obiekty
Będzie można zdefiniować własne obiekty, bez jakichkolwiek wbudowanych zmiennych (x, y, image_index itp.) - coś na zasadzie "struct" z innych języków czy właśnie obiektu z Javascriptu.
kod
var a = {
name: "Buty z borsuka",
price: 500,
def: 20,
desc: "Te buty zrobiłem ręcznie",
can_buy: function() { return global.gold > price; }
};
konstruktor "new"
konstruktor "new" pozwoli na utworzenie instancji obiektu (coś jak instance_create dla lekkich obiektów).
kod
function Item(n,p){
name = n;
price = p;
};
var buty = new Item("Gwiezdne kapcie", 300);
Łapanie wyjątków
GMS2 wprowadzi funkcjonalność wyłapywania błędów w grze, bez wywalania fatal errorów.
kod
try {
var b = my_array[-1];
} catch ex {
// w zmiennej ex będzie błąd, zapewne "Index out of bounds" w tym przypadku
} finally {
// kod który będzie wykonany zawsze po try-catch, w sumie to bez finally za klamrą też powinien się wykonać
}
Garbage collector
Będzie usuwał zmienne które wyparowały z pamięci. Nie jest jeszcze jasne czy, ds_xxx też znikną, jak nie będą przypisane do żadnej zmiennej, bo tego YYG nie napisało. Ale logicznym by było, zeby tak się stało.
Linki do ciekawych stron
Od wersji 2.2 GMS, stringi będą rzutowane na liczby w przypadku działań
Ku zaskoczeniu YYG ogłosiło, że od wersji 2.2.2 dla zarówno standardowych, jak i eksportów YYG, włącza obsługę typowania dynamicznego string->liczba (w drugą stronę o dziwo nie).
yoyogames.com/.../gml-consistency-in-version-2-2-2
Na czym to polega? Otóż jeśli napiszemy:
kodvar = 5 + '6';to otrzymamy 11, a nie błąd kompilacji. Każdy string, który jest poprawną liczbą, zostanie przekonwertowany i nie wywali błędu.
Prawidłowe liczby to np. "5", "+"5, "-5", "5.5", "5e", "5cokolwiek" - wszystko, co przekonwertowała by też funkcja "atof" z języka C. Wszystkie znaki inne niż cyfry zostaną odrzucone, o ile udało się już coś skonwertować.
Może to powodować trochę błędów - innych niż do tej pory, na co warto zwrócić uwagę.
Przypominam też, że o ile 5 + "6" to 11, to już "5" + 6 powinno dać nam... błąd.
Wprowadzi to niestety nieco zamieszania i chyba dotychczasowe, mniej elastyczne podejście mimo generowania błędów było lepsze. Z drugiej jednak strony, podobno w niektórych eksporterach to już tak działało, więc teraz zostało "wyrównane".
Przetestuj pełną wersję GMS2 za darmo!
Z okazji Global Game Jamu, który odbywa się w ten weekend, YYG rozdaje wszystkim chętnym klucz do pełnej wersji Desktop programu, działający od piątku do końca stycznia.
Osoby które z niego skorzystają, mogą kupić potem GMS 20% taniej.
Więcej info: yoyogames.com/.../global-game-jam-jar-2019-licence-tips-resources
Pierwszy temat w drugim sezonie ligi 24
Dzisiaj - testowo - rusza drugi sezon ligi 24. Temat będzie prosty, na wykonanie gry będzie cały weekend (piątek 18:00 - poniedziałek 00:00).
Tym razem nie chodzi tyle o zrobienie samej gry, co przetestowanie czy wszystko działa (osobna punktacja, osobny sezon, upload plików).
Przypominam, że w lidze może brać udział każdy, kto zgłosi grę (niekoniecznie wykonaną w GM), w temacie ligi w czasie jej aktywności. Nie trzeba dawać kodu źródłowego.
Update:
Dodałem brakujące wpisy puktacji z tur #156, #157, #158 ! Co prawda linki do gier na forum nie działały, ale i tak wzuciłem zipy z infomracją o tym i punktację (wygląda, ze niektórzy głosowali już po zakończeniu, wiec sugerowałem sie kolejnością w postach).
Mała aktualizacja strony
Wskazówka:
Dzisiaj dokonałem wrzutki kilkudziesięciu zmian (optymalizacje i nowości), na łącznie ponad 1000 linijek kodu. Testowałem je w wolnych chwilach przez pół roku, więc mam nadzieję, że wszystko działa jak trzeba. Najważniejsze z nich to:- Sezony w lidze 24, osobna punktacja, wyświetlanie wyników na stronie głównej w formie podium, animowany zegar w HTML5, przeogromny refactoring kodu
- połączanie dwóch stron nowości z forum w jedną, kolorowanie ikonek tylko nieprzeczytanych postów
- zmiany w JS i CSS, przygotowanie do porzucenia mootools i przejście na jQuery
Artykuły:
- tryb pełnego ekranu w Akademii, która mam nadzieję wystartuje do wiosny z kursem dla początkujących (powrót Catch the Clown!)
- poprawnie wyliczanie średniej ocen (tzn. zamiast 9.99 możliwe jest 10.0)
- orientacyjny czas czytania artykułów
- ikony wersji GMa w artykułach i plikach (muszę jeszcze je ręcznie ustawić w panelu)
Uwaga!
Jeśli znajdziecie jakieś błędy, albo macie uwagi - zgłaszajcie
Nowy główny menadżer w YoYoGames - Staurt Poole
Po tym jak we wrześniu odszedł James Cox (którego działania nie pokrywały się z wizją Mike'a i jak wiemy z jego bloga, głównie to, oraz brak wizji poprawy mimo odejścia Jamesa, skłoniły również Mike'a do odejścia), nowym menadżerem został Stuart Poole. Stuart pracuje w firmie od 2010 roku, w trakcie gdy ja tam pracowałem był moim "wydawcą" gier.
Opcje teraz są dwie - jako stary wyjadacz, Stuart będzie mocno cisnął na Playtech (bo to on odpowiada teraz za kontakty z nimi) na pewne rzeczy, aby rozwijać GMS2.
Druga opcja jest taka, że Mike pewnie wiedział, że ten awans nadejdzie, a mimo to odszedł, zatem Stuart może mieć już zupełnie inną wizję niż w 2012, gdy tam pracowałem i niestety nic lepszego się nie wydarzy.
Najbliższe miesiące pokażą, oby jednak wszystko poszło w dobrą stronę!
Źródło: gamesindustry.biz/articles/2019-01-16-yoyo-games-promotes-stuart-poole-to-general-manager
Community Awards 2018 wystartowało!
Mamy rok 2019, czas więc przyznać nagrody dla najlepszych użytkowników w roku 2018.
forum.gmclan.org/index.php?/topic/34212-post
Do najbliższego piątku, do godziny 23:59 można zgłaszać kandydatów w następujących kategoriach:
Gra roku
Demo roku
Zapowiedź roku
Artykuł / Tutorial / Silnik roku
Screen / Film / GIF roku
Użytkownik roku
Cytat roku
Wygraj GMS2 w wersji Desktop+Mobile+UWP+Web
YoYoGames organizuje konkurs w który można wygrać GMS2 w wersji Desktop+Mobile+UWP+Web.
Wystarczy przed 2 stycznia 2019 opublikować w mediach społecznościowych (twitter/facebook) swoją grę z hastagiem #GMSpaceMod,
Drugi warunek - gra musi być przeróbką gry z tego tutoriala: yoyogames.com/.../make-your-own-arcade-classic-with-our-new-tutorials
Pełen regulamin: yoyogames.com/.../space-mods-holiday-community-competition
Obiżka 50% na moduł dla telefonów i 20% na pozostałe
YYG wprowadziło do końca roku obniżkę cen GM. Moduł eksportu na Androida+iOS przeceniono o 50%, pozostałe o 20%.
Desktop - 79 USD (300zł)
Web - 119 USD (450 zł)
Mobile - 199 USD (750 zł)
UWP - 319 USD (1200 zł)
Jak widać, w ostatnich latach ceny wzrosły tak mocno, że nawet na promocji są poza zasięgiem początkującego - w 2003 roku GM kosztował 18 USD ...
Mike Dailly opuszcza YYG
Po 8 latach i 9 miesiącach pracy dla YoYoGames, Mike Dailly zakończył dziś pracę w YYG. Mike był szefem działu rozwoju GMa (chociaż tak naprawdę z Russellem po prostu byli "szefami od wszystkiego" ). To on zaprezentował w 2010 SkyDivera działającego na PlayStation Portable - pierwszą grę w GM, która odpalona została na sprzęcie innym niż PC (Mike po godzinach pracował dla YYG już wcześniej) - z tego technologicznego dema, dwa lata później wyrosło GameMaker Studio. Pewnie gdyby Mike'a i Russela pomysły nie były tak bardzo wstrzymywane (wpierw) przez Sandyego, a potem Playtech, dziś GMS byłby bliżej Unity niż nam się wydaje. Mike był też tą osobą, która zaprosiła mnie do pracy w YYG, gdzie spędziłem parę miesięcy swojego życia - za co niezmiernie jestem mu wdzięczny.
Na razie nie wygląda, aby Mike miał plany na przyszłość (chyba po prostu trochę odpocznie).
Nie jest to dobra wiadomość, bo zawsze, gdy firma traci tak doświadczoną osobę, a nie cierpi na nadmiar podobnych pracowników, zaczynają się kłopoty.
Najnowsze wersje GameMakera:
wydana 62 dni temu
wydana 197 dni temu
wydana 7 dni temu




