Któż z nas nie pamięta AMOS-a? Dla większości było to wspaniałe narzędzie, pozwalające bez umiejętności programistycznych tworzyć gry. Dziś, po latach, wspominane jako koszmar, tworzenie niesystemowych, niskiej jakości produkcji. Pozytywnie wspominany jest współcześnie chyba tylko „Legion”.
Dużym zaskoczeniem była informacja o powstaniu AMOS-a 2 i to tworzonego przez tego samego człowieka, który napisał pierwowzór. François Lionet ostatnimi laty zaangażowany był w rozwój systemu FriendOS, ale to już przeszłość. W 2018 roku mogliśmy go spotkać na Pixel Heaven (obecnie to on nawet w Polsce mieszka), wtedy nie rozstawał się z literką A.

Na Patreonie wystartował w 2018 roku, następnie była strona www amos2 org (już nieaktywna), obecnie podstawowym miejscem jest strona AOZ (linki będą na końcu opracowania).

W przeszłości pobierałem już AMOS-a 2 do obadania. Wtedy to było udostępniane przez Google Drive, a większość dostępnych tam projektów była autorstwa kogoś innego niż Lionet. Niestety gdzieś to zagubiłem, ale z tego co próbowałem to odpalane przykładowe gry wyglądały faktycznie jak retro, nie do odróżnienia od Amigi. Pamiętam też, że ogólne wrażenie było takie, że wciąż to alfa (braki na stronie, braki w dokumentacji). Niemniej już wtedy wiadomo było, że nowy AMOS będzie oparty o JavaScript. I już wtedy społeczność amigowa wyraziła brak zainteresowania taką formą, a jedyne co mogłoby ich zainteresować to możliwość konwersji starych projektów do nowego formatu (z ewentualnymi poprawkami).
Obecnie stary AMOS został upubliczniony w kwietniu 2020 roku przez autora na GitHubie, aktualnie rozwijany jest przez inne osoby jako „AMOS Professional X” (wspierane kości AGA i w przyszłości pewnie tryby graficzne Vampire).
Rok 2021 zacząłem od właśnie odświeżenia sobie tematu. Byłem (i nadal jestem) ciekaw losów projektu „AMOS 2”. Pobrałem najnowszą wersję ze strony AOZ.

Jest to bezpośrednia ewolucja poprzedniej witryny amos2.org, zachowane zostały wszystkie grafiki, w tym odniesienia do Amigi. Warto chwilę zawiesić oko na animacji tych obrazków, bo zmieniają się i można wyłowić wiele polskich akcentów (czasopisma i książki).
W sekcji „Download” można pobrać także dokumentację (ciągle w fazie „Work in progress”, aktualnie 137 stron) oraz kody źródłowe za pośrednictwem Bitbucket (konkurencja GitHuba).
Wersja, którą miałem teraz przyjemność obadać, to Beta 1.0.0. (R2) datowana na 21 listopad 2020 roku.



Wygląda to całkiem fajnie. Dokumentacja jest dostępna z poziomu edytora. AOZ Studio pozwala czytać PDF-y w nim, ale niestety nie można zaznaczać tekstu. Z rodzynków w sekcji Manuals rzucił mi się w oczy „Amiga-specific commands.pdf”.


Jak to działa?
Rozmiar po instalacji na dysku (Windows, 64 bit) to 1,19 GB (a właściwie to 1,32 GB, bo to aż 47 938 plików, 7 472 folderów). Są wersje na systemy macOS i Linux.
Samo narzędzie jest proste, przypomina edytor kodu Pythona micro:bit. Jest nowocześnie – z prawej strony ekranu jest bezpośredni link do Discorda. Ograniczenie wersji darmowej to 80 uruchomień. Komercyjna wersja to koszt 89 euro na 2 lata bądź 9 euro miesięcznie.
Zalety i wady? Wadą jest powolność produkcji na słabszych konfiguracjach – u mnie Cybernet to 6 klatek na sekundę (Intel E8500 3 GHz, 12 GB RAM, Opera GX). Jestem pewny, że wcześniejsze moje zabawy z poprzednią wersją i innymi przykładami były grywalne z normalną prędkością.
Trochę ociężałe to jest (samo narzędzie). Sama funkcjonalność (są tylko niezbędne opcje i kolorowanie składni) może się podobać. Naszą twórczość możemy uruchomić w przeglądarce internetowej bądź w wewnętrznej AOZ Studio.
Odpowiadając dosłownie na pytanie „jak to działa” posłużę się cytatem z sekcji strony o nazwie „How it works”
Twoje programy są tworzone w języku AOZ BASIC i konwertowane przez AOZ Studio do szybkich aplikacji HTML5/Javascript, które można uruchomić na dowolnej platformie. Konwersji dokonuje „Smart transpiler”, który działa tylko na zmodyfikowanych elementach, zapewniając ultraszybki cykl rozwoju. Automatyczny raport błędów, AOZ Viewer do pomocy (…)
Kompatybilny z oryginalnymi AMOS i STOS (aplikacje typu all-in-one-file w nowoczesnej strukturze, z każdym elementem gry jako oddzielnym plikiem, a kod źródłowy w formie tekstowej).Prosta, ale bardzo wydajna i ustrukturyzowana składnia języka BASIC, z procedurami, funkcjami i rzeczywistą orientacją na obiekt. Ulepszone instrukcje, animacje, 2D, 3D, dźwięki/muzyka, baza danych, grafika z obrotami, zoom, opcje pochylania sprite’ów, bobów i ekranów, nieograniczona liczba ekranów, przezroczyste ekrany do przewijania paralaksy, zmiany kolorów itp. Łatwe włączanie kodu JavaScript do samego kodu BASIC-a w nawiasach klamrowych, z prostym dostępem do zmiennych BASIC i komunikacją między dwoma językami. Zdefiniuj własne instrukcje i funkcje za pomocą słów kluczowych „Instrukcja” i „Funkcja” (Zaprogramuj język za pomocą języka).(…)
(pełny tekst tutaj -> https://www.aoz.studio/faq-1)
Co poza tym? Autor chwali się małą objętością kodu.

Wspólne zadanie to bob z napisem „Hello World!”. Na stronie projektu można pobrać PDF, który zawiera przykładowe kody źródłowe w różnych językach.

Print "Hello World!"
Do
With Bob( bob1, 368, 288, "image1" ) //set image1.jpg as bob1, position on screen at 368, 268
Add "Joystick Movement" //Bob 1 will move with joystick and cursor keys default parameters
End With
Loop
Dla kogo jest AMOS 2?
Obecnie projekt na Patronite ma wsparcie 609 dolarów miesięcznie, przy 51 patronach i założeniu docelowym 2.500 $, ale jest bardzo prawdopodobne, że Lionet ma też inne źródła finansowania.
Zdaniem autora łatwo pracuje się w tym narzędziu, jak w AMOS-ie. Jest kompatybilny. Na razie wyrzuca kod do JavaScriptu ale potem mają wychodzić kolejne „generatory”tak, by później można było wyrzucić kod do C/C++. Ale to już pewnie będzie AMOS 3.
Lionet celuje w placówki oświatowe, szaleństwo. Język chwalący się korzeniami amigowymi, jednocześnie prosty i nowoczesny, do nauki informatyki. Interesujące. Będę obserwował.
Linki
Wywiad z Françoisem Lionetem – twórcą języków programowania STOS i AMOS
http://pixelpost.pl/wywiad-z-francoisem-lionetem-tworca-jezykow-programowania-stos-i-amos/
AMOS Professional Classic – link prowadzi do mapy drogowej na 2021 rok
http://amos-professional-aga.frederic-cordier.fr/?amos-professional-aga-x-version
Link do Patreona F.Lioneta
https://www.patreon.com/francoislionet
Aktualna strona projektu AMOS 2 czyli AOZ Studio
https://www.aoz.studio/the-aoz-story
Link do pliku instalacyjnego
https://download.aoz.studio/
ciekawe
Tak, bo JavaScript działa na zdarzeniach -„jak coś się zdarzy, to coś tam”. A on zrobił tak, że działa po kolei, jak w większości języków.
Zrobienie z BASIC-a JavaScript to jest sztuka i pewnie niewielu potrafiłoby wymyśleć jak to zrobić.