AMOS 2

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 Pixel Heaven w Warszawie 2018 roku z nieodłączną maskotką 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).

amos2.org

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.

https://www.aoz.studio/the-aoz-story

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.

AOZ Studio w akcji – tu kod źródłowy gry Cybernet
Gra Cybernet – początek rozgrywki
Cyball przeniesiony z Amigi

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”.

Obecność w dokumentacji manuala do AMOS-a Proffessional z 1992 roku (556 stron) była dla mnie zaskoczeniem
Kolejne zaskoczenie – w ustawieniach domyślna czcionka to Roboto Mono, ale można ustawić Amiga Topaz

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.

Różnice są spektakularne, szkoda że jest tak ociężale

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.

Zadanie do wykonania w różnych językach, poniżej kod źródłowy dla AOZ Studio czyli AMOS 2
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/

2 myśli na temat “AMOS 2”

    1. 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ć.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s

Ta witryna wykorzystuje usługę Akismet aby zredukować ilość spamu. Dowiedz się w jaki sposób dane w twoich komentarzach są przetwarzane.