Od jakiegoś czasu piszę edytor poziomów do gry: Lord of the Orb. Zawsze lubiłem tą grę, i z sentymentu postanowiłem napisać edytor labiryntów. Za wcześnie może na pokazywanie screenów czy filmików, ale wierzcie na słowo, że edytor działa całkiem dobrze (jak dla mnie). Jego rozwój niestety od jakiegoś czasu zatrzymał się w miejscu bo nie wiem jak rozwiązać pewien problem.
Problem wygląda tak: Chodzi o miejsce powstawania stworków w labiryncie. Gdzie w kodzie gry sa współrzędne miejsca powstawania w labiryncie przeciwników? Niestety na asemblerze sie nie znam i wszystko co robiłem tego nie wymagało, ale teraz już nie mam pomysłów jak to miejsce znaleźć, a tym bardziej zmienić w edytorze poziomów. Są 3 labirynty i w każdym to miejsce jest inne.
Jeśli jest to stałe miejsce, to prawdopodobnie w mapie jest to zaznaczone jakimś specjalnym rodzajem "klocka" (otoczony jest polami o ukośnym kreskowaniu).
Tak też myślałem że jest, ale tak nie jest. Osobnego rodzaju klocka dla miejsca "spawnu" potworków nie ma. Otoczone miejsce obszarem o ukośnym kreskowaniu też tego nie powoduje. Można usunąć zupełnie ten obszar a potworki i tak się będą pojawiały w tym samym miejscu. To musi być gdzieś w kodzie określone dla każdego poziomu, nie w samej mapie. W tym główny problem. :-(
Dzieki za odpowiedz XXL. Zobacze czy to dokladnie to. Nie bede modyfikowal silnika gry. Nie znam sie na programowaniu na Atari. Kiedys tylko Basic. Teraz pisze edytor poziomow zmieniajacy dane leveli. Edytor narazie jest pod linuxa i Qt. Ale taki edytor pozwoli na edytowanie poziomów i być może za jakiś czas jakiś konkurs na najfajniejszy labirynt. ;-) Jeszcze raz dzięki za pomoc. Sprawdze i dam znać czy działa. ;-)
ps. A możesz napisać jaka to prosta metoda sprawdzania takich rzeczy?
to dokladnie to :-) pamietaj tylko ze to ADRES, czyli jesli dane pierwszego levelu zaczynaja sie od $4000 a dane w tabeli pod $29F3 wygladaja tak: $84,$47 to znaczy ze w danych levelu pod adresem $4784 jest respawn. respawn dziala tylko jesli w danych levelu pod tym adresem jest $00. przyklad: w atari win plus po wystartowaniu gry nacisnij F8 i wpisz: C 29F3 3D 40 (enter) nastepnie: cont (enter) wejdz to gry i poczekaj chwilke :-) respawn jest zaraz przed tym migajacym kluczem. zwroc uwage ze respawn jest wysokosci 3 znakow a nie 2 czyli najlepiej gdyby znak wyzej bylo puste miejsce :-)
Okey, spawn point potworków mam załatwiony. ;-) Dzieki.
Teraz mam kolejne rzeczy to rozgryzienia.
A mianowicie: W grze sa drzwi ktore otwiera sie kluczami. Teraz potrzebuje wiedzieć gdzie w grze (kodzie gry) sa adresy odpowiedzialne za to, że za danymi drzwiami pokazuje się dany obrazek. Ostatnie drzwi to wiem jakimi klockami jest oznaczane ze ma przejsc do kolejnego levelu. To jest ok. Chodzi mi o poszczegolne drzwi wczesniej. Od razu piszę, że nie ma klocka ktory odpowiada za to tak po prostu. W mapie poziomu nie ma informacji o tym. To musi być rozwiązane jakoś podobnie do spawnu potworków .
Nie wiem czy to jasno napisałem o co mi chodzi. :-(
Niestety ja nie znam sie na asemblerze i dla mnie to moze byc krok nie do przejscia.
Chyba ze kolega XXL mógłby mi napisać jak krowie na ulicy, ;-) jak znalazł spawn point. Moze to jest jakos podobnie.
Pozdrawiam XaVeR
ps. Edytor poziomów powoli bo powoli sie rozwija. Za jakis czas jak juz bede choc troche z niego zadowolony udostepnie jakis screenshot albo filmik. Zobaczymy... ;-)
nie widze problemu z definiowaniem drzwi i kluczy wiec pewnie o czyms nie wiem - napisz na maila xxl at atari.pl dokladnie ktore drzwi i moze jakis skrinszot.
w grze moze byc maksymalnie 9 "komnat ze skarbami" jak sie rozloza w 3 fazach zalezy od ADRESOW w tabeli zaczynajacej sie od: $2DCC - przyklad: $ee,$47 czyli pod adresem $47ee jest lewy gorny rog pierwszej komnaty gdzie pojawi sie obrazek. porownywane sa ADRESY wiec wejscie drzwiami nie jest dowolne ;-) komnata zostanie zaliczona jesli gracz natrafi na klocek $85. jesli program nie znajdzie w tabeli $2DCC zadnej z 9 komnat skacze do sprawdzania ktora to jest faza i w zaleznosci od tego wykona program przejscia fazy (ostatnie drzwi na levelu) - ten podprogramik dobrze by bylo zmienic bo tu jest wiele stalych ktorych nie zdefiniujesz w edytorku. ok. jesli ktorys adres od $2DCC sie zgodzi program skacze do kopiowania grafiki, tabela jest pod $2ECB - przykladowo pierwsze drzwi beda pobieraly dane od $2E60, tu jest specyficzny format danych: KLOCEK,INDEX,KLOCEK,INDEX, itd. zakonczony 0. przyklad: $1B,$29.. oznacza ze od gornego lewego rogu komnaty + $29 nalezy postawic klocek $1B itd.
proponuje powaznie zastanowic sie nad ZMIANA podprogramu odpowiedzialnego za sukces po kazdym levelu.
Wiem, że odgrzewam stary temat, ale może warto. ;-) Daaaawno nie pisałem dalej edytorka leveli do Lord of the Orb, ale ostatnio sobie o tym przypomniałem. Dzięki Tobie XXL mogłem posunąć dalej ten projekt. Już można dowolnie ustawiać komnaty ze skarbami, spawn point i wszystkie inne elementy gry. Jedyne co nie będzie zmieniane, to miejsce startu gracza i komnaty końcowe leveli (bo muszą być na samym dole). Edytorek nadal ma sporo błędów i nie jest do końca "idiotoodporny", ale prace troche się posuwają naprzód. To tyle narazie. Może kiedyś i ta gra doczeka się wielu nowych poziomów jak nr. Robbo, albo Boulder Dash. ;-)
Z okazji nieuchronnie zbliżającego się roku 2013, pragnę życzyć wszystkim czytelnikom AtariOnline.pl Wszystkiego Najlepszego w nadchodzącym 2013 roku.
Przy okazji, jak wiecie z tego wątku, piszę od dawna już edytor poziomów do gry Lord of the Orb. Brak czasu, motywacji i duża ilośc obowiązków spowolniły ten projekt dość znacznie. Ale to w końcu tylko hobby. ;-) W tej chwili już da się stworzyć nowe poziomy, więc o to i są. :-) Edytor modyfikuje plik atr z grą.
Na ten nowy rok załączam nowe poziomy do tej gry. Mam nadzieję, że nie zawierają zbyt wiele błędów. Bardzo proszę o testowanie i opinie.
Proszę o nie umieszczanie (narazie) gry w tym stanie, w żadnym z katalogów gier. Jak będzie dobrze przetestowana napewno warto ją będzie umieścić (i pewnie wiele, wiele innych).
to jest jakas masakra! tego sie nie da przejsc! zauwaz, ze trzeba odrazu zejsc na dol bez zbierania czegokolwiek a i tak nic to nie da bo respawn jest w takim miejscu ze jak jednego wyprowadzisz w pole rodzi sie nastepny a jest tylko jedno przejscie. powyzej to samo - jedno waskie i za dlugie przejscie...
Hmmm... może troche przesadziłem ze stopniem trudności. Troszeczkę uprościłem w niektórych miejsach labirynt. Mam nadzieję, że będzie już troche łatwiej. W drugim pliku zamieniona kolejność poziomów 1-2. Tak żebyście też zobaczyli inne jakby co. ;-)
Edytorek narazie nie będzie upubliczniony, bo jeszcze wiele jest do zrobienia. Ale pewnie kiedyś go upublicznie, i skończy się to jakimś konkursem na levele. ;-) Ale z tym to cierpliwości.
Fajnie, że Wam się podoba.
ps. Nie rozumiem, że trzeba przejść obok respawnu bez zbierania czegokolwiek? Czemu? Można też do potworków strzelać, a to chyba ułatwia.
Dużo wody upłyneło od czasu, kiedy wątek edytora do gry "Lord of the Orb" był na czasie. Brak czasu i zajmowanie się innymi sprawami sprawił, że o grze i edytorze troche zapomniałem. Przypomniał mi niedawny wpis na profilu AtariOnline na Facebooku i postanowiłem odświerzyć temat. Skutek? Myślę, że już dość grywalna alternatywna wersja (mapy) wspomnianej gry.
Was, drodzy Atarowcy, proszę o przetestowanie zmodyfikowanej gry oraz wszelkie uwagi.
Jeśli się nadaje, to adminów strony proszę o dodanie do bazy danych gier (po testach).
Ze swojej strony mogę zapewnić, że kolejne wersje z nowymi labiryntami napewno się ukażą.
Cieszę się, że nasze wpisy na FB potrafią mieć tak realny efekt :)
Jedna prośba: czy mógłbyś na stronie tytułowej gry wypisywać jakąś informację o wersji (np. wyrzucając napis Copyright, przesuwając "(c) 1983 Jose R. Suarez" do lewej i dopisując coś w rodzaju XaVer 2017)? Tak aby nie trzeba było się potem domyślać, o który zestaw poziomów chodzi.
No właśnie - najlepiej by było posługiwać się konkretną nazwą nowego zestawu plansz w wersji beta. Samo "Lord of the Orb" jest niestety mylące, szczególnie jeśli planowanych jest wiele nowych zestawów leveli.
No dobra. Nie mam z Waszej strony uwag, że za trudne, czy nie da się przejść ;-) więc w mojej opinii można potraktować to jako pierwszą z wielu kolejnych zestawów map do tej gry.
Na ekranie tytułowym umieszczona stosowna wzmianka.
ps. do adminów. Można ten (i kolejne) wersje map umieścić jakoś w bazie gier, czy nie ma sensu zaśmiecać bazy?
Ja nie ingeruje zupełnie w grafike wewnątrz komnat. Wszystko jest oryginalnie. Rozumiem, że chodzi Ci o komnatę z otwartą skrzynią? ;-) To nie przesunięta prawa strona, to otwarta pokrywa skrzyni ze skarbem.
Z tematycznością jest o tyle problem, że nie mam wpływu na grafikę wewnątrz komnat (narazie). Ale, może... kiedyś. Narazie podoba mi się to co obecnie można zrobić.
Z okazji Nowego 2018 Roku, życzę Wam Wszystkiego Najlepszego, całej masy nowych świetnych produkcji na Atari i spełnienia wszelkich marzeń. Zdrowia, zdrowia i jeszcze raz pieniędzy. ;-)
A tak zupełnie przy okazji nowego roku 2018, pragnę podzielić się z Wami nowymi poziomami do gry "Lord of the Orb", do której edytor (jak to widać w tym wątku) od jakiegoś czasu.... powiedzmy, że rozwijam.
Życzę miłej zabawy z nowymi labiryntami (a w razie czego, dajcie znać jeśli coś nie tak).
Dzięki za feedback. Każda taka opinia jest istotna. Ponieważ sam gram w nowe levele które tworze, to czasem trudno obiektywnie ocenić ich trudność. Po kilku razach nie są już takie trudne. Postaram się stworzyć też SET troche prostrzy. Dzięki.
Narazie nie próbowałem podmieniać grafiki elementów, bo w kod gry ingeruję tylko na poziomie edycji samego labiryntu (i adresów bram). Edytorek jest pod linuxem (C++, Qt) a na programowaniu na Atari się nie znam. Ale... kto wie... może kiedyś. ;-) Narazie mam sam frajdę, że taką modyfikację mi się udało zrobić. Zawsze lubiłem tą grę, a teraz mam frajdę z nowych labiryntów.
Prawie. :) Właśnie dorzuciłem je do bazy; zmieniłem jedynie nagłówki obrazów ATR i dokleiłem 26624 zer, by wielkość plików była zgodna z wielkością obrazu w gęstości pojedynczej (gdyby ktoś chciał przegrać je na fizyczną dyskietkę). Poprawiłem też nazwy dotychczasowych plików w bazie.
Poprawne nazwy to:
Lord of the Orb (2017-06-18)(Antic)(US)[h new maps XaVeR][set 001].atr Lord of the Orb (2018-01-01)(Antic)(US)[h new maps XaVeR][set 002].atr
But please, use common ATR images that correspond to disk-sizes, e.g. 90k (92176 bytes), 130k (133136 bytes) and 180k (183936 bytes).
The new images of LotO are only 64k in length, allthough SIO2PC allows this length (at least the old version I am using on a DOS PC!), it does not correspond to any disk-size and when transfering these images back to real A8 diskettes, one may get troubles then. On today's PC however with Gigabytes of RAM and Terrabytes of harddisks it is not nescessary to save a few kbytes (90k-64k = 26kbytes saved, does not matter much for a giga-harddisk).
Evil as I am, I used Supercopy to convert these 64k LotO "bootdisks" back into XEX diskfiles (unpacked filelength 256 sectors) and then used Exomizer to pack them down to approx. 10 or 11 kbytes...
Dzięki wielkie. Przyznam szczerze, że nie do końca wiem po co te zabiegi z długością obrazu itp. Nie znam się na Atari na tyle po prostu, ale nie wątpię, że wiesz co robisz. ;-) Ja modyfikowałem jedynie podstawowy obraz: Lord of the Orb (1983)(Antic)(US).atr (w poprawionej nazwie).
W 16-bajtowym nagłówku ATR-a jest informacja o wielkości obrazu. Te krótsze są owszem poprawne, ale byłby kłopot ze skopiowaniem ich na fizyczną dyskietkę (jak pisze CharlieChaplin). Pod emulatorami, czy też pod SIO2PC/SIO2SD/SIDE to bez różnicy.
To jeszcze mam prośbę. Czy mógłbyś bardzo łopatologicznie napisać mi (nam?) jak dokładnie przeprowadziłeś procedurę poprawy długości tych plików? Jakimi programami? Na pc, czy Atari? Skąd programy wziąść (AOL?) Czy też wykonywane to było bardziej ręcznie? (bo w nagłówku ATR jest też CRC).
Dopytuję, bo chciałbym na przyszłość przygotowywać to już poprawnie nie kłopocząc osób trzecich. (A może taka informacja przypałaby się również innym, tak jak ja, nie obeznanym dobrzez z tematem).
Procedura była banalna i wykonałem ją na PC. Pobrałem twoje pliki i otworzyłem je pod Hex Edit 5.0 beta (można też pod innym edytorem heksadecymalnym). Z bazy AOL pobrałem też pierwszy lepszy obraz w gęstości pojedynczej (92176 bajtów) i po jego otwarciu zaznaczyłem pierwsze 16 bajtów i skopiowałem je do schowka. Następnie przeszedłem do zakładki z grą i tu również zaznaczyłem 16 pierwszych bajtów. Po kliknięciu prawym klawiszem myszki wybrałem opcję "Paste (Replace)"; po potwierdzeniu pytań programu bajty te zostały wklejone.
Przeszedłem na koniec pliku (trzeba kliknąć miejsce pod ostatnią linią z bajtami) i wybrałem z menu rozwijalnego "Edit" funkcję "Insert Block". W polu "Size" wybrałem opcję "Specified" i wpisałem tam wartość 26624 (czyli różnicę w wielkości obrazu --> 92176-65552); w polu "Fill with" wybrałem opcję "Hex" i wpisałem tam 00. Potwierdziłem pytanie programu i zapisałem plik przez kliknięcie ikonki dyskietki. To wszystko. :)
W takim podmienionym nagłówku już masz informację o ilości tzw. paragrafów, czyli bloków po 16 bajtów (trzeci i czwarty bajt licząc od początku). W zaktualizowanym masz tam wartość $1680, czyli dziesiętnie 5760. 5760 * 16 to 92160, czyli wielkość obrazu bez nagłówka. W twoich była to wartość $1000, czyli 65536 bajtów.
W katalogu z grą jest już tam obraz podstawowy o poprawionej długości.
Since I am creating the disks of the Abbuc Software Contest entries for many years now, I also had to battle with many non-standard ATR image sizes (and Abbuc releases them on physical floppy disks with standard sizes). Here is how I solved some of them with SIO2PC and my A8 using mostly sector-copy programs:
a) ATR size is smaller than 90k: - boot Diskcopy (from TurboDOS XL/XE by Reitershan) or Mycopier 1.c and set config to "continue on Error"; then read the shortened ATR (e.g. D1) and write it to a new disk/disk-image (e.g. D2) with standard size; when there is no more data to read (because the ATR is too short), several errors occur but the copy program continues reading (no need to press a key each time) and writes empty sectors therefore on the destination disk...
b) ATR size is between 90k and 130k: - got an ATR with a size of 112k at one time and most sector copy programs could not detect the size or handle it as 130k. Boot very old Sectorcopy 2 (from a self-created 130k ATR, where it only occupies 3kbytes!) and set config to read up to sector $410. Insert disk with size between 90k and 130k as e.g. D1 and write the data to a standard 130k disk or image on e.g. D2. After a while a read error occurs, because no more data is there. Now set Sectorcopy 2 as D1 again and give reading a retry - it will read the empty sectors of the Sectorcopy 2 disk and write them to D2 (destination disk). Mycopier does not work here, because when its config is set manually to Medium density = on, it checks for sector 1040 being readable and otherwise assumes a 90k disk. But on the 112k ATR sector 1040 is not present and 90k is not enough...
c) ATR size is 140kbytes: - old SIO2PC (version 2.x or 3.x) did have a bug, it always created Medium/Enhanced density disks with 140kbytes instead of 130kybtes. Some A8 sector copy programs have problems then to detect the correct density and falsely assume 90kybtes/single density. Simply boot Mycopier 1.c and manually set the config to Medium density = on, then it will read the entire "140k" image and write a correct 130k image or disk. Sectorcopy 2 should also work here, when config is set to read/write up to sector $410...
d) ATR size is between 145k and 180k: - Boot Diskcopy or Mycopier 1.c and set config to "continue on Error". Read the shortened DD ATR from e.g. D1 and write it to a standard DD ATR to e.g. D2. Have not had this case yet, but this should theoretically work...
For ATR images with a size smaller than 90k (e.g. created with Make-ATR by Ken Siders or Xboot by FoX) there also exist some PC programs to correct the size to full 90k, e.g. the attached ATR-Fix.EXE. (For Make-ATR which turns a COM/XEX into an ATR, there is also UnMakATR, which extracts the COM/XEX from this ATR again; looks like there is no such tool to extract a COM/XEX from an ATR created with Xboot...)
Remanent gier z 2017 roku zainspirował mnie do dalszych prac nad edytorem poziomów do Lord of the Orb. O ile do upublicznienia (jeśli w ogóle) jeszcze dużo czasu minie, to przy okazji prac nad edytorem powstają nowe poziomy tej zacnej gry. Przedsmak można zobaczyć tutaj:
Plik jeszcze nie ma poprawnego rozmiaru (90kB), bo edytowałem plik o właśnie za małej wielkości. Poprawię to.
Nie wiem czy poziomy są tym razem znacznie łatwiejsze. Ja je przeszedłem bez większego problemu. Ostatni (3) poziom jest najtrudniejszy, ale da się. ;-) Ja w tym jestem mało miarodajny.
To narazie wersja Beta, jeszcze nie do dodawania do archiwum AOL.