Trzynasta gra konkursowa by Kaz 2008-12-27 00:44:29

Wczoraj podesłana została szczęsliwa, trzynasta gra konkursowa. Autorem jest Paweł "Yosh" Różański, którego jest to pierwsza gra na Atari (brawa za zdecydowanie się!), a który opisał swój program dość krótko:

"Chciałbym podzielić się moją pracą. Gra Bump polega na doprowadzeniu jednej z piłeczek do wyjścia - oznaczonego przez "Exit". Wymaga to rozwiązania kilku prostych zagadek i ciut refleksu. Za pomocą joysticka w porcie 0 kierujemy kursorem, spust odpala piłeczkę.



Dostępne są źródła w "Action!" w katalogu src. Jeżeli zamontujemy je w Atari800Win+ jako dysk H1 to uruchamiając obraz kartridża "Action!":
Ctrl+Shift+R - uruchamia odczyt pliku - należy podać nazwę H6:bump.act oczywiście - aby wymusić zmiany znaków końca lini
Ctrl+Shift+M - wejdzie w tryb monitora
C - skompiluje grę
R - uruchomi ją (do Action można powrócić przez Reset)

Pliki mają znaki końca linii zgodne z UNIX. Kod polecam edytować/przeglądać dowolnym dobrym PCtowym edytorem tekstu. Daje to niesamowitą wygodę pracy z prawdziwym "Action!".



Archiwum zawiera także savestate gry dla Atari800Win+ - działa bez carta Action! (gra nie używa żadnej funkcji bibliotecznej, ani kodu w asm). Nie rozgryzałem jeszcze jak przerobić to na ładny xex, przepraszam przyzwyczajonych do normalnych formatów. Rodzina czeka, więc kilka dni mnie nie będzie, ale na wszystkie pytania dotyczące gry czy "Action!" skrzętnie odpowiem w komentarzach lub na forum."


Informacje o grze:
1. Nazwa gry: Bump
2. Typ gry: logiczno-zręcznościowa
3. Język: Action!
4. Stopień oryginalności: wszystko autora.



Plik A8S czyli stan emulatora Atari800Win PLus oraz pliki źródłowe są tutaj. Mnie się udało dojść zaledwie do drugiego poziomu, ale przyznam, że gra wygląda na bardzo oryginalną. A wykonana też jest solidnie. Może piszący w "Action!" połączą siły do następnego konkursu - na Grzybsoniadę, a przynajmniej wymienią się doświadczeniami?
Yosh 2008-12-27 01:26:50

Była by może ciut bardziej dopieszczona gdybym nie wyczytał na Wikipedii, że północ to POCZĄTEK dnia - a nie jego koniec...

Pozdrawiam tych których pamiętają o a8. Data zakończenia konkursu skutecznie spowodowała, że w Wigilię myślałem o Atari. Czy tak będzie cały przyszły rok? :):)

Kaz 2008-12-27 01:56:25

Jezeli ktos jeszcze nie przyslal gry, bo pomyslal, ze jest termin do dzisiaj, do konca soboty, to nie widze problemu, zeby byla to polnoc z soboty na niedziele. Mysle, ze xxl tez sie zgodzi. W koncu to tylko zabawa, a nie musztra wojskowa :).

Ja i tak zwykle dopuszczalem opoznienia, bo roznie to bywa z emailami (ostatnio docieraly do mnie po kilku godzinach od wyslania, a w konkursie graficznym jeden w ogole nie dotarl), nie bylo tez sprecyzowane w regulaminie, ktorej strefy czasowej jest to polnoc, a sa przeciez atarowcy w strefach bardzo odleglych od siebie.

larek 2008-12-27 09:54:51

Faktycznie pomysł bomba! Fizyka ruchu piłeczki - rewelacja. Wykonanie bardzo dobre. Widać szybkość Action! To nie to samo, co jakiś tam TBXL ;-) Gra trudna, ale może to i dobrze. Na razie też udało mi się dojść tylko do 2 poziomu, ale nie poprzestaje na tym.

Chciałem sobie pograć na prawdziwym Atari i niestety nie mogę poradzić sobie z kompilacją kodu. W emulatorze ustawiam H1:, właczam patch H:, w Action! wczytuję poprzez Shift+Ctrl+R plik H6:bump.act, przechodzę do monitora, daję "C" i zaczyna się kompilacja, ale po chwili wywala mi błąd nr 9 :(
Nie wiem, co z tym fantem zrobić. Gdyby była wersja skompilowaną, to można by się pokusić o połączenie jej z biblioteką (są odpowiednie linkery) i zrobić samodzielny plik xex. Ale ten błąd 9 wszystko mi psuje... :(

@Yosh, czy jesteś w stanie skomilować grę i zapisać ją na dyskietkę (ATR)? Wystarczy, że do stacji D1: włożysz jakiś dysk z dowolnym dosem i zapiszesz plik nie na H:, tylko na D:.

miker 2008-12-27 09:58:23

To teraz moiżna poprosić kolegę TDCa o skompilowanie tego i zrobienie pliku .xex (ztcp ma jakiś działający runtime dla Atction!).

sikor 2008-12-27 10:16:11

Też mam nadzieję, że komuś się uda to zrobić. Gra rewelacja, ale jak dla mnie - musi chodzić na real sprzęcie (nawet spod cartridge-a Action!) - bo tak moja ocena spada o pięć punktów... ;(

Rozyk 2008-12-27 11:48:11

Gra wciąga bardzo, trzeci poziom trudny, dalej pewnie jeszcze lepiej! Pytanie do Pawła: Czy pomysł jest autorski, czy wzorowany na istniejącej grze?

Kaz 2008-12-27 14:24:59

Nie wiem jak pomysl, ale poziomy w 100% zaprojektowane przez Yosha.

Rozyk 2008-12-27 14:42:27

Ja chcę już głosować! Nie mogę się doczekać ;-)))
Czy jak się połączę przez proxy w Nowej Zelandii to już mogę? Mają Niedzielę.......

Kaz 2008-12-27 14:58:42

Rozyk - ha ha genialne :). A dzien przed koncem glosowania bedzie mozna w ten sposob sprawdzic wyniki? :)

Yosh 2008-12-27 19:56:25

@larek: po kompilacji powstaje plik, ktory nie dziala :P moze trzeba linkowac (mimo ze nie uzywam funkcji z biblioteki) a ze bylo malo czasu do 0:00 to tego nie rozgryzlem, a teraz jestem w innej czesci polski, za kilka dni sie pobawie tym.
Korzystam teraz z kompa kuzyna, na pamiec nie znam numerow bledu - bez basica, bez dysku w stacji, 65XE maszyna i na atariwin800+ mi dzialalo

@Rozyk: pozimów bardzo mało jest, może poza konkursem cos dorobie .. za bardzo sie zapatrzylem w pileczki :)
Gra jest 'inspirowana' lekcjami fizyki, i wszystkim co ma kulki odbijace sie od scian i zapadki (np. quake-iem ..
uwielbiam odbijac granaty od przejezdzajacych platfrom)
Pomysl odbijajacych sie pileczek? Matki natury? Newton-a? :)

@sikor: na real atari tez mi zalezy, wnikliwi uzytkownicy Action zauwaza ze w memory.act wymuszam kompilowanie od adresu $2000, co powinno byc ok jako memlo z dos-em

Dziekuje wam, ze nie skupiliscie sie na schematycznej grafice gr.0 :> tylko na fizyce, troche to nerwow kosztowalo :P

xeen 2008-12-27 20:08:59

mam nadzieję, że zaprojektowane poziomy da się skończyć.
utknąłem na 3, ojciec zaparł się i powiedział że go skończy choćby miał zjeść joystick. pomysł fajny, gra trudna

miker 2008-12-27 20:28:28

może to pomoże: http://tiny.pl/622p
(alternative Action! Runtime Source - plik PDF)

miker 2008-12-27 20:36:00

na tej stronce jest jeszcze runtime:

http://joyfulcoder.net/atari/action/?p=code

(podobno działa - sprawdźcie)

sikor 2008-12-27 20:42:52

Próbowałem pomęczyć. Jest błąd w pliku memory.act - błąd numer 9, zmienna tam, gdzie powinna być stała. I tyle mogę powiedzieć, bo Action nie znam ;(
Jeszcze jedno: kompilując na Atari trzeba wszędzie nazwy plików zmienić na takie z dużej litery - być może dlatego nie chciał zapisać? U mnie się wykrzaczał już przy wywoływaniu... ;( A po poprawce - właśnie ten błąd jest (ale to już w samym kodzie).

sikor 2008-12-27 20:45:16

@Yosh: jeszcze jedna uwaga: używasz funkcji bibliotecznej PrintE. Runtime będzie konieczny - szkoda, że nie podesłałeś też skompilowanego pliku, może coś by się wywalczyło...

Kaz 2008-12-27 20:54:31

Yosh - to prawda, fizyka ruchu kulek mnie ujela :). Moze powinies pomyslec o napisaniu dla Atari pinballa?

sikor 2008-12-27 21:28:46

O.K. Jeden błąd znalazłem: trzeba zmienić w pliku MEMORY.ACT typ tablicy BYTE na CARD przy deklaracji CHARSET.ACT. Ale nadal wywala potem kompilację, błąd 8 (niezadeklarowana procedura) przy funkcji lcbSLASHat5x20().

sikor 2008-12-27 22:14:11

Jeszcze jedno - runtime z drugiego linku Mikera działa, dołącza się go na początku programu w ACTION! i voila ;) Ale z tą grą jużnie powalczę... (nie znam ACTION!).

Yosh 2008-12-28 16:36:04

Wooolniej chlopaki :)

Na czystym kompie mojej cioci, swierze atari800winplus, podmontowany dysk H1, cardridge action i nic wiecej - kompiluje sie (Error nie wystepuje), zrodla sciagane ze strony Kaz-a

Sam kod nie ma bledu unemozliwiajacego skompilowanie go.

Kod jest dosc dlugi i Action troche glupieje jak ma cos wiecej w ramie niz ... sam kod kompilowanej gry. (ja tez widze bledy jak podepne D1: z jakims dosem)

Tablica jest typu BYTE ARRAY - tablica bajtow dla generatora znakow.
PrintE w koncowej grze _nie_ jest wykorzystywane - wszystko skrzetnie wykomentowalem (';' to komentarz). Action! to kompilator - wykomentowanego kodu nie ma sladu w wynikowym

@xeen: 3 to przedostatni poziom :( - i da sie go przejsc (jak kazdy)

Mozna tez 'przegladac' poziomy za pomoca slawnego klawisza z gier L.K.Avalonu do przeskakiwania do kolejnego poziomu

Wiecej grzechow nie pamietam.

miker 2008-12-28 16:42:05

A czy jest szansa na skompilowanie tego do zwykłego exe-ka/xex-a???
Polecam "mój" drugi link z runtime'em. Sikor sprawdzał - ponoć działa.

Yosh 2008-12-28 17:47:18

Jestem u rodziny - komp ograniczony. Ale napewno bedzie xex. Tez mam Real Atari w domu :)

xxl 2008-12-28 22:39:23

genialna gra. oryginalna, dobrze zrobiona, tryb graficzny swietnie pasuje... az trudno uwierzyc ze to jego pierwsza gra. mam nadzieje na tym nie poprzestanie. rodzi sie talent. prosze tylko poprawic ruch pileczki (moze za mala precyzja obliczen?) dodac biblioteczke i puscic normalna gre w swiat.

Yosh 2008-12-30 02:04:55

@Fandal i Miker: wielkie dzięki za .xex

Heh, trochę w gorącej wodzie kąpany jestem. Sprawdzałem wiele aspektów generowanego kodu przez Action!, ale w życiu bym nie przypuszczał, że RSH i LSH to są biblioteczne procedurki....

czyli używam biblioteki......

Czuje się jakby ktoś ze mnie zakpił - na nich oparłem główną część gry...... :):)

miker 2008-12-30 06:37:38

Yosh: nie ma sprawy, Fandal tu głównie "zadziałał", ja mu tylko podesłałem plik .a8s. Gra fajna, ale niestety jest duże przegięcie z tzw. "difficulty ratio". Dosłownie RAZ udało mi się przejść drugi poziom (i to nie za bardzo pamiętam w jaki sposób), także to również będzie miało wpływ na moją ocenę. Liczę na pokonkursową wersję z większą ilością plansz i nieco bardziej przemyślanym wzrostem stopnia trudności na kolejnych poziomach. Pozdrawiam!

Yosh 2008-12-30 11:01:40

Dzięki, konstruktywna krytyka na pewno zostanie wzięta pod uwagę:)

Mój kolega bilardowiec, plansze drugą przeszedł rysując palcem po ekranie krzywą łamaną poprzez obszary o najmniejszym zagęszczeniu - poszło mu w miarę szybko - ale oczywiście wiem, że to bardzo subiektywne jest.

Niestety brakło mi czasu na plansze, więc chciałem zrobić bardziej demo 'technology preview' niż grę jako taką.

Powiedzmy, że osobiste cele zostały spełnione:
1) ja tam się mogę na te kulki gapić w nieskończoność
2) nie tylko mi się (choć trochę) podoba moja gra :):)
3) nauczyłem się Action! (mój pierwszy kod w tym języku)
4) forma konkursowa jest bardzo motywująca - jest termin, trzeba JAKOŚ skończyć, organizować sobie czas. Jestem autorem kilku 'wiecznych' projektów :P o których nawet żal wspominać (z poza Atari)
5) do superprodukcji na Atari jeszcze mi daleko, ale miło dołożyć swoją cegiełkę

Pozostaje nic innego niż po raz kolejny podziękować, za Atarową społeczność w Sieci - dzięki temu co Wy wyprawiacie z Atari, ja również dałem się ponieść sentymentom. Wielkie dzięki!!!

xxl 2008-12-30 12:09:25

pisales wczesniej cos? na jaka platforme? sorry moze powinienem znac - az glupio sie pytac.

Yosh 2008-12-30 13:11:20

Parałem się różnymi pierdołami, zawód też mam taki, że 'piszę'. Ale zawsze chciałem napisać jakąś grę. Pisałem jakieś banały nie warte uwagi w Basicu, potem w QA (ramcart mi padł i straciłem, ale w sumie dobrze - teraz w Action mógłbym to odtworzyć w dwa wieczory:P), potem chciałem gierkę przenieść(napisać od nowa) na PC i "lekko" przeszacowałem..... I sfrustrowany swoimi ambicjami wybrałem ponownie korzenną platformę, taką na której ograniczenie pamięciowe i czasowe będą tak duże (w porównaniu z grzybem), że będę MUSIAŁ skupić się na esencji. I tak oto zrodził się pomysł napisania całkiem od zera gry Bump (forma kazkompo jest o tyle super, że jest zapewniony dopływ feedback-a w postaci konkretnych punktów), z której jestem zadowolony i w końcu czuję się na tyle spełniony, że mogę w spokoju realizować kolejne projekty :P

(Aha opisałem wam jakieś 20 lat mojego życia.... sorki ....)

Scalak 2008-12-30 14:06:04

chciałbym zgłosić jeden BUG - mały ale... Zapatrzony w fizykę "piłeczek" na czołówce po dłuższej chwili jedna z nich (ta nad literką M) wyskoczyła górą, odbiła się od prawej krawędzi ekranu, poszybowała w buraki i ścięła grę ;)
Jeśli chodzi o samą grę - bardzo przyjemna.

Yosh 2008-12-30 19:47:51

@Scalak: fajnie, że masz podobny gust do mojego :P
Rozpatrując modele obliczeń - ten był najlepszy (szybki - pierwotnie gra miała twarde 50 FPS)
Teraz, co potwierdziłeś - widzę że gubiąc dokładność kulki się rozpędzają :)
Chwile potrwa zanim to przewale ....

@miker: przekleiłem 2 funkcje (RSH i LSH) z alternative Action! Runtime Source i po drobnej zmianie w kodzie Action! produkuje poprawne .xex z mojej gry - dzięki

miker 2008-12-30 21:07:18

Super! Myślę, że warto dorzucić do bazy jako np. v2. :)

miker 2008-12-30 21:22:19

O, wiem, gdzie ten błąd, o którym Scalak wspomniał. Kuleczka znajdująca się w literce "M" po jakimś czasie wyskakuje z niej i "wysypuje" całą grę. Moim zdaniem wystarczyło by dodanie jakiejś ramki dookoła tytułu, czy czegoś w tym guście. Pozdrawiam!

Yosh 2008-12-30 22:01:52

Z U też wyskoczy - później, spoko.. kilka godzin i poprawie obliczenia... oby. Łatać nie lubię (typu niewidzialna ramka) bo jeżeli kiedyś będę robił plansze - to niech mają 'spójną' i poprawną fizykę...

miker 2008-12-30 22:04:45

...albo taka ramka jak jest podczas gry - to powinno załatwić sprawę :)

MKAC 2009-01-23 09:18:13

Ja grę przeszedłem, uważam, że jest genialna !