kategoria: AMOS
[#541] Re: Tworzenie dem

@tukinem, post #540

A nie masz tam jakichś banków o nieparzystej wielkości?
No i błąd jest pod koniec kompilacji czy w trakcie działania już gry?
[#542] Re: Tworzenie dem

@tukinem, post #540

https://tukinem.itch.io/soko-ban
Tu dodałem nową wersję. Działam tak, że ładuję plik .asc z kodem ASCII i od razu kompiluję go do .exe, ale nie zapisuję do drawera z Sokobanem, a do innego. Wtedy działa. Coś tam z działaniem na plikach .amos jest nie tak. Tu w linku jest do gra w ostatecznej wersji. Jest highscore i dodałem ładne tło w kolorystyce amigowej:


Błędów nie powinno już być, a jakby były to śmiało piszcie.
P.S. Chciałem użyć Coppera do tła ale jednak to było bez pojęcia. Poćwiczyłem dodawanie Rainbow przynajmniej :)
P.S. 2. Ciekaw jestem, dlaczego na dole ekranu, przy SCREEN 2, który jest na dole, po lewej stronie Rainbow nachodzi na ekran, a po prawej ładnie się styka z nim. Chciałem zniwelować czarną linię przerwy pomiędzy SCREEN 1 i SCREEN 2, która zawsze powstaje.
[#543] Re: Tworzenie dem

@tukinem, post #542

No, fajne i trudne poziomy w Twoim Sokobanie. Widzę, że postawiłeś przede wszystkim na elementy logiczne.

Przyznam, że zawsze lubiłem Sokobana właśnie za te zagadki (grałem w kilka - np. Technoban), przy czym w moim klonie Sokobana odszedłem od tego schematu, stawiając bardziej na oprawę, animacje i dodatkowe elementy.

Co do oprawy graficznej, to jest OK - spełnia swoje zadanie. W grze logicznej nie powinno być zbyt wielu elementów odrywających uwagi od istoty gry. W takich grach zawsze odnajdywałem urodę w postaci ciekawych zagadek.

Twoja gra wygląda na wciągającą na dłuuuuugo dzięki ciekawym poziomom.

Co do problemów z AMOSem - może warto skompilować grę na Amidze, tudzież przeinstalować AMOSa pod emulatorem.
[#544] Re: Tworzenie dem

@tukinem, post #534

No to juz byles blisko. Wystarczylo nacisnac "Make CoreDump". Dostalbys zrzut pamieci i log do katalogu skad jest wywolywany WHDload, najpewniej systemowy katalog C: a stamtad wyatarczylo wyswietlic i pokazac tutajten log file. Najogolniej kazda Twoja zmiana w programie, zmienia pozycje danych w programie. Jesli taka zmiana powoduje, ze jakies dane sa na adresie parzystym to wszystko w porzadku, ale jesli ta zmiana powoduje, ze sa na nieparzystym to masz crash, i nie wiesz o co chodzi. Do tego wyglada mi na to, se AMOS potrafi skompilowac ten sam program roznie. Jakby jakies dane raz uwzglednial a raz nie. Moze to byc kwestia jakis ustawien AMOSa.
[#545] Re: Tworzenie dem

@Don_Adan, post #544

Próbowałem, ale nie działało.
@Hexmage960
Ja mam go skopiowanego z plikopartycji z GameDev Amikitu. Wszystko kompiluje dobrze oprócz plików z drawera Sokoban. Sprawdzałem wielo-wielokrotnie naprawdę.

Ostatnia aktualizacja: 10.02.2022 20:33:01 przez tukinem
[#546] Re: Tworzenie dem

@tukinem, post #539

Byc moze AMOS dolacza ikonki do exeka, jaka wielkosc ma ta ikonka .info? Ile bajtow?
[#547] Re: Tworzenie dem

@tukinem, post #545

Jak nie dzialalo? Dzialalo, tylko musisz go znalezc. Z tego co pamietam to bedzie w katalogu SYS:c na samym dole lub na samym gorze.

Ostatnia aktualizacja: 10.02.2022 20:34:38 przez Don_Adan
[#548] Re: Tworzenie dem

@Don_Adan, post #546

Chodziło o ikonkę drawera, a nie pliku. Kompiluję plik bez tworzenia ikonki to raz. Dwa, że tam chyba ta litania plików z danymi coś pokrochmaliła, bo jak tylko zapiszę coś do tego drawera przez Amosa, lub wczytam stamtąd, tak zaraz są błędy. Amosem muszę omijać ten drawer. Jedynie mogę stamtąd wczytać kod ASCII.
[#549] Re: Tworzenie dem

@tukinem, post #548

OK. Jedyne co może mieć związek z katalogiem to w zasadzie tylko bity protekcji. Powinno być RWED (sprawdzasz za pomocą polecenia LIST).

Dziwna sprawa, może spróbuj porównać te katalogi z Sokobanem i resztą i znaleźć różnice.

Dla świętego spokoju przeinstalowałbym AMOSa oraz AMOS Compiler mimo to z dyskietek instalacyjnych.

A tak w ogóle, to fajnie, że wydałeś już Sokobana w pełnej wersji. Gratuluję oraz dziękuję za nową grę.

Moim zdaniem nie warto załamywać rąk w przypadku niepowodzeń lub problemów z kompilatorem, ponieważ AMOS to bardzo niezawodny kawałek softu, dzięki któremu powstało wiele wspaniałych tytułów.

Teraz wliczając w to nowego Sokobana od kolegi Tukinema. Powodzenia w dalszej pracy. Koledzy na pewno Ci pomogą w razie problemów. Ja też służę pomocą, choć w AMOSie nie siedzę.

Domyślam się, że manuale do AMOSa i kompilatora znasz już bliżej.
[#550] Re: Tworzenie dem

@tukinem, post #548

Nie znam AMOS-a, ale byc moze on zapisuje sciezke do jakis danych w exeku.
I teraz jezeli pelna sciezka ma dlugosc parzysta to zawsze bedzie ok.
Ale jezeli ma dlugosc nieparzysta to:
jak jest uzyta raz, to sie wywali
jak jest uzyta 2 razy to moze byc ok (dwa razy nieparzyste, daje parzyste)
jak jest uzyta 3 razy, to sie wywali
jak jest uzyta 4 razy to powinno byc ok (4 razy nieparzyste, to tez jest parzyste)
itd
Wszystko zalezy jak AMOS to zapisuje.
[#551] Re: Tworzenie dem

@Hexmage960, post #549

Już dzisiaj byłem na tyle zrezyfnowany, że wziąłem książkę z Blitz Basic i odpaliłem Teda ale potem znów wróciłem do bojów. Najlepsze to, że skończyłem wieczorem, zgrałem Sokobana na kartę pamięci z Amigi, wsadziłem kartę po ciemku do Amigi i uszkodziłem SD2IDE bo wsadziłem kartę odwrotnie... straszny dzień dzisiaj. Ale nowy adapter zamówiłem już.
Co do preinstalacji Amosa to myślałem kiedyś o tym ale myśl o instalacji po kolei Amosa, Amcafa i innych mnie przeraża może za ten Blitz Basic wkońcu się wezmę kiedyś ale będą mi się mylić komendy bo to podobne języki.
[#552] Re: Tworzenie dem

@tukinem, post #551

Akurat instalacja AMOSa na dysku twardym to proces prosty i przyjemny (według mnie). AMOS oferuje śliczne GUI.

Najlepsze to, że skończyłem wieczorem, zgrałem Sokobana na kartę pamięci z Amigi, wsadziłem kartę po ciemku do Amigi i uszkodziłem SD2IDE bo wsadziłem kartę odwrotnie... straszny dzień dzisiaj.

Oj, to niemiła historia. Na drugi raz proszę bardziej uważaj.

Ja przenoszę dane na Amigę za pomocą dyskietek.

Ostatnia aktualizacja: 10.02.2022 22:43:29 przez Hexmage960
[#553] Re: Tworzenie dem

@Hexmage960, post #552

Instalcja Amosa to łatwa sprawa. Ale dołożyć mu Amcafa to już inna sprawa.

U mnie stacja padła, o czym pisałem w inmym temacie. Póki co ani hdd ani fdd. Tylko logo kickstartu...

Myślę czy by nie dodać krótkiej funkcji do Sokobana. Np. na ekranie highscore klawiszem R resetować wyniki do domyślnych. Prosta pętla wczytująca pliki i zapisująca dane.

Ostatnia aktualizacja: 10.02.2022 22:50:28 przez tukinem
[#554] Re: Tworzenie dem

@tukinem, post #553

Instalcja Amosa to łatwa sprawa. Ale dołożyć mu Amcafa to już inna sprawa.

Nigdy nie instalowałem żadnego rozszerzenia do AMOSa. Do czego ono służy? Do czego używasz go w swojej grze?
[#555] Re: Tworzenie dem

@Hexmage960, post #554

W tej nie używam póki co. Kiedyś chciałem się zabrać za port Pinball Dreams 2. Dodałem scrollowany ekran z poziomem oraz muzykę w tle. Ale Amos sam w sobie bardzo brzydko odgrywał ten moduł i wtedy mi doradzono żeby użyć komendy Amcafa. Więc spisałem z tutoriala tą komendę i zagrało idealnie. Poza tym Amcaf ma sporo dodatków wyświetlania bobów. W Prince of Persia 2 użyłem Amcafa do zasłaniania sprajta głównego bohatera. Amos nie ma takiej komendy. Tam chodziło o to że ekran jest w Dual Playfield i elementy które są na wierzchu mają zakrywać sprajta. Sprite Priority nie daje takiej funkcji. Dopiero Set Sprite Priority dało zamierzony efekt. Ale to już komenda Amcafa.
[#556] Re: Tworzenie dem

@tukinem, post #555

Rozumiem, dziękuję za odpowiedź.
[#557] Re: Tworzenie dem

@tukinem, post #551

Niech ktos inny skompiluje ten kod amosa i uruchomi na prawdziwej Amidze.
Ja niestety narazie nie mam nic zainstalowanego na klasyku wiec moge tylko sprawdzic na WinUAE...
[#558] Re: Tworzenie dem

@tukinem, post #551

Dlaczego zrezygnowany? Juz prawie bylo wiadomo o co chodzi.

Exception "Adress Error ($F00C)
PC = $9312B2 (Task ` AMOS`, `Prg soko-new.exe` Off $832, ExpMem $BC2B2)
Read from $9315BF (ExpMem $BC5BF)

Wystarczylo zobaczyc jakie dane byly pod adresem pamieci $9315BF, i dlaczego byly pod adresem $9315BF (to jest nieparzysty adres), a nie pod $9315C0 (to jest parzysty adres, o 1 bajt wiekszy).
Sam bym to znalazl i poprawil bo to banalne jest, ale nie mam dostepu do Amigi.
Tak na moje oko/wyczucie to wyglada, ze to jest ten sam problem/blad, ktory fiksowal Ross (dawalem linka), bo to jest na poczatku Twojego exeka. Czyli ogolnie to jest blad kompilatora, ktory uzywasz. W jakichs konkretnych warunkach on zle linkuje dane. To nie jest Twoj blad jako taki.
[#559] Re: Tworzenie dem

@tukinem, post #553

Do bobòw to bardziej turbo extension. Pamiętam jaki kiedyś Sordan mi opowiadał, że instalatora z AMCAFa krzyczy na partycji powyżej 2 GB. Ale jego można też z palca zainstalować. Tylko wtedy nie ma helpa.
[#560] Re: Tworzenie dem

@Don_Adan, post #558

Dałeś linka do tematu na EAB. Tam pisze że fix jest jest do pobrania z The Zone. Ale jak to wyszukać i pobrać? Tam też mają z tym problemy bo nie mogą znaleźć.

Pisze tam też coś wlaśnie o ikonach że to tworzy problem ale co dokładnie to nie zrozumiałem
Przydałby się ten fix.
[#561] Re: Tworzenie dem

@tukinem, post #560

Ten fiks to sa zmiany w konkretnym exeku AMOS-owym, a nie uniwersalny patch/fiks. Czyli za kazdym razem musialbys go samemu aplikowac swojemu exekowi, edytujac go jakims edytorem binarnym np. FileMasterem 2.2. Nie jest to trudne, ale nie wiem czy bys to potrafil. Na razie bym posprawdzal inne kompilatory AMOS-a i zobaczyl jakie pliki one generuja. Bo podejrzewam, ze kompilator z AMOS-a Pro 1.0 lub 2.0 moze dzialac ok. A fiksy Rossa powinny byc na FTP-ie EAB dostepne. Ewentualnie musisz/mozesz kompilowac program tak dlugo az znajdziesz przyczyne, dlaczego z tego samego zrodla powstaja 2 rozne exeki. Mozesz ich CRC sprawdzac. Jak znajdziesz dobre ustawienie to juz sobie poradzisz.
[#562] Re: Tworzenie dem

@Don_Adan, post #561

Filemastera używam na codzień więc coś pokombinuję. Zmieniłem ustawienia w kompilatorze Amosa. Pierwszą opcję DISK zmieniłem na Current Prog i zapisuję skompilowany plik exe na partycję systemową tam gdzie nie mam Sokobana. Jeszcze błędu nie miałem.

Dograłem opcję reset highscore. Wyświetla procentowo postęp kasowania, bo jednak to trochę trwa gdy FDD pracuje na 100% szybkości przy 68000.

Poprawiłem Rainbow, który jest ładnie rozciągnięty oraz zmiany ekranów (kolejność zanikania sprajta, poziomu i rainbowa podczas wychodzenia z gry). Została jeszcze poprawa ekranów startowych żeby nie było szarej otoczki, ale to już kwestia PPainta i zmiany kolorystyki palety i przekolorowania obrazków.
[#563] Re: Tworzenie dem

@tukinem, post #562

Bardziej profesjonalnie by bylo jakby byl jeden plik na rekordy z 53 slotami, a nie 53 pojedyncze zapisy, bo tak to ponad 50 razy wiecej miejsca na dysku to zajmuje. Nie wiem tez czy nie jest potrzebny disk-validator w L: dla kicka 1.3.
Sprawdzales jak gra sie zachowuje jak ktos bedzie zapisywal rekord przy dyskietce zabezpieczonej przed zapisem. Nie wyburacza sie?
[#564] Re: Tworzenie dem

@Don_Adan, post #563

Nie sprawdzałem takich rzeczy. Jeszcze wiele komend z Amosa nie znam. A sprawdzania zabezpieczenia przed zapisem i walidacji dysku nie tykałem nawet.

A co do zapisu do jednego pliku to sam nie wiem jakby to ugryźć. Musiałbym użyć komend POF, EOF itd.

Ostatnia aktualizacja: 11.02.2022 22:15:56 przez tukinem
[#565] Re: Tworzenie dem

@tukinem, post #564

nie pomyslalem o tym wczesniej ale jakos nie znam komendy do sprawdzania protekcji przed zapisem ale przeciez wyskoczy nam requester "Disc is write protected".

Do zapisu pliku bez kasowania jego poprzedniej wartosci sluzy Append zamiast Open Out
np. Append #1,"hiscore.txt".
[#566] Re: Tworzenie dem

@selur, post #565

Powiedzmy że mam 1 plik highscore.txt ze wszystkimi rekordami. Przechodzę poziom 20, pobiłem rekord i następuje aktualizacja pliku. Podaję inicjały do zapisu i wtedy:
Open Out 》kasowanie całego pliku highscore.txt.

O Append też pisałem wcześniej. Musiałbym użyć Pof, żeby przeskoczyć w dane miejsce i nadpisać. Jeszcze tak daleko nie zaszedłem w Amosie

Co do rozmiaru na dysku to te pliki nie zajmują dużo. Łącząc je w jeden będzie to samo. Każdy zajmuje 20B a razy 53 pliki to niewiele.

Jeśli ktoś ma ochronę przed zapisem dyskietki albo go drażni szybkość fdd to co za problem zgrać grę na hdd? Będzie działać wtedy szybko. Często się nie resetuje rekordów przecież.

Ostatnia aktualizacja: 12.02.2022 08:18:22 przez tukinem
[#567] Re: Tworzenie dem

@tukinem, post #566

Wieczorem wrzuce jakis kod 'hi score' w bankach, bo faktycznie te redkordy nie maja tu dobrego zastosowania..
[#568] Re: Tworzenie gier

@karolb, post #352

Nie dają mi spokoju te zmienne globalne.

Help w Amosie Pro jak i książka "AMOS PROFESSIONAL USER GUIDE" (str.105), twierdzą że jest możliwe użycie komendy Global w taki sposób:

Global "*"

i wszystkie zmienne powinny być globalne.

Tymczasem AMOS PRO wywala komunikat "syntax error".
[#569] Re: Tworzenie dem

@tukinem, post #566

To nie do konca jest tak, ze 53 pliki 20 bajtowe niewiele zajmuja. Na dyskietce w OFS to bedziesz mial 53 razy 488 bajty na nazwe pliku i 53 razy po 488 bajty na dane, czyli 106 blokow lacznie. Dla jasnosci, 1 bajtowy plik na dyskietce OFS zuzywa 488 bajtow a na dyskietce FFS 512 bajtow. W przypadku 1 pliku i zapisu 53 rekordow po 20 bajty to bedzie plik o dlugosci 1060 bajtow. I to zajmie 1 blok na nazwe i 3 bloki na dane. Czyli 106 bloki vs 4 bloki. Roznica jest duza, szczegolnie jesli potrzebowalbys miejsca na dyskietce.
[#570] Re: Tworzenie gier

@karolb, post #568

tak, dokladnie to samo pisze w instrukcji w amosie, ale jest to znany bug :(

Global does not allow string literals and wildcards. So Global "G*" gives a Syntax Error as soon as it sees the double-quotes (single-quotes doesn't work either). The same applies to Shared.

https://www.ultimateamiga.com/index.php?topic=9596.0
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem