atarionline.pl Panowie i Poddani 2021 - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorpirx
    • CommentTime11 Jun 2021
     
    tak mnie zmogło na starą gierkę "panowie i poddani", w którą pogrywałem za dzieciaka z kolegami. pomyślałem sobie, że dorobię obsługę fujineta czy coś.

    o kurka wodna, jak zacząłem patrzeć w kod to się załamałem, spaghetti code turbo power, ale to nie wina programisty, w zwykłym basicu ciężko inaczej robić...

    W każdym razie przepisałem kod na tbxl_parser kolegi dmsc (https://github.com/dmsc/tbxl-parser) i benedyktyńskim wysiłkiem odspagettiowałem kod i deobfuskowałem większość zmiennych i procedur.

    niestety nie obeszło się bez dorzucenia worka błędów.
    Obecna wersja jest gorsza od oryginału, bo wyrzuciłem też większość obsługi błędów. Ale w większości wypadków da się kontynuować wpisując 2 razy CONT.

    drugi krok - poprawa błędów, uzyskanie "jakości" oryginału, ale nie ortodoksyjnie :]

    trzeci krok - przepisanie na madpaskala czy coś, to już zadanie bliskie trywialnemu z obecnej postaci.

    krok czwarty - server gry i obsługa przez fujinet
    • 2:
       
      CommentAuthorPecus
    • CommentTime11 Jun 2021 zmieniony
     
    Nosz kurde. :)

    Nudzisz się :)

    Też bardzo lubiłem tę grę i kiedyś zaglądałem do kodu - masakra.
    Tak więc świetna robota (roboty początek ;) ).

    edit:

    Ale widzę, że inne teksty, ale ja grałem w "wersję" Hammurabi. I tam śmierć gracza była oznajmiana tekstem "Własne straciłeś życie" a tutaj jest "Zszedł śmiertelnie" :)
    • 3:
       
      CommentAuthorjhusak
    • CommentTime11 Jun 2021
     
    Nic nie chcę mówić, ale jak to przepiszecie na madpascala czy inny cc65, to kod się rozrooośnie.
    • 4: CommentAuthorpirx
    • CommentTime11 Jun 2021
     
    źródło to pewnie nie spuchnie bardzo, ale wynik to niewątpliwie - tutaj 'print' zajmuje 1 bajt, w asemblerku pewnie z 12. Za to liczby się skrócą, większość wejdzie w short inta, mniejsza część w bajt, tylko część będzie trzeba floatować.
    • 5: CommentAuthormono
    • CommentTime11 Jun 2021
     
    Czy dobrze rozumiem, że w takim razie to co mówił Roland Pantoła w wywiadzie u Vasco że Forth to najlepszy kompromis między szybkością a zajętością ma sens?
    A w takim razie najsensowniejsze na maszyny z małymi zasobami są interpretery z wstawkami w kodzie maszynowym. Heh niby prawda stara jak świat, ale zanim do człowieka dotrze... :)
    • 6:
       
      CommentAuthorjhusak
    • CommentTime11 Jun 2021 zmieniony
     
    Dokładniej to procesory bytecodów (szybsze i prostsze interpretery). Czyli jak maszynówka, ale więcej na raz.

    Jak się dobrze interpreter napisze, to nie ustępuje dużo takiemu C czy Pascalowi. Patrz fastbasic kolegi dmsc na tymże githubie (2 x szybszy niż Turbo Basic KOMPILOWANY opierając się na deklaracjach).
    • 7: CommentAuthormono
    • CommentTime11 Jun 2021
     
    Roland w wywiadzie mówił coś w rodzaju: "w maszynówce, żeby skoczyć do podprogramu to potrzebuję 3 bajtów kodu, w Forth tylko 2". Jestem w stanie wyobrazić sobie coś w rodzaju:
    run:
    ldy #0

    go:
    lda (prgad),y
    sta jump
    iny
    lda (prgad),y
    sta jump+1
    iny

    jmp (jump)

    co służy wywoływaniu procedur składających się np z:
    sum_a_b:
    lda (prgad),y
    iny
    clc
    adc (prgad),y
    iny
    sta acc

    jmp go

    Strasznie szybkie to nie będzie, taki program niby chaotycznie będzie skakał po pamięci, ale zrobi co trzeba. I będzie krótki bo w pamięci programu będzie miał adresy procedur i ewentualnie argumenty np.
    <sum_a_b_LSB>
    <sum_a_b_MSB>
    <arg0>
    <arg1>
    ...

    Przy zastosowaniu ONP to faktycznie może to być dość krótkie. Kod kompilowany zabrałby ze 30 bajtow, kod stokenizowany 4...
    • 8: CommentAuthorilmenit
    • CommentTime11 Jun 2021 zmieniony
     
    Kod się rozrośnie, ale jednocześnie pozbywamy się interpretera i runtime Basica oraz potencjalnie zwalniamy przestrzeń pod OS, z którego zwykle BASICi korzystają. Gdyby robić współcześnie interpreter, to wielu niedogodności by się można pozbyć, ale jeżeli się używa starych narzędzi, to nie jestem przekonany, czy przesiadka na język kompilowany do ASM to ostatecznie aż taka strata miejsca.
    • 9:
       
      CommentAuthorjhusak
    • CommentTime11 Jun 2021 zmieniony
     
    Jedyną zaletą Basica (AtariB też) jest właśnie ten zwięzły bytecode, ale psuje wszystko brak dwubajtowych intów, który to brak się niweluje dużą ilością zmiennych-stałych. Drugą jedyną zaletą jest, że jest i że jest od dawna :)

    Poza tym przesiadka na MP czy CC65 wiąże się z nauką "do czego się to kompiluje), wówczas można tworzyć o wiele oszczędniejszy kompilat. Ale tak w sumie jest zawsze, nie wyłączając AtariBasic.
    • 10: CommentAuthorpirx
    • CommentTime18 Jun 2021
     
    trochę poprawiłem, w zasadzie to daje się grać. jakby ktoś spróbował i podpowiedział jakieś grube błędy to bardzo chętnie przyjmę na klatę
    ->link<-
    • 11: CommentAuthormcs
    • CommentTime18 Jun 2021
     
    Jak najszybciej odpalić to pod emulatorem?
    • 12: CommentAuthorpirx
    • CommentTime18 Jun 2021
     
    trzeba mieć atr z turbbejem i z niego uruchomić program.
    • 13:
       
      CommentAuthorKaz
    • CommentTime20 Jun 2021 zmieniony
     
    Jak ktoś nie ma to przygotowałem: dyskietka ATR z Turbo Basic XL 1.5 oraz programem Pirxa. Można zrobić jeszcze łatwiejszą dla początkujących, samouruchamialną, ale to może wtedy, jak gra będzie gotowa. W tej chwili trzeba poczekać na odpalenie DOS-a, kliknąć literę L (Load), podać nazwę TURBOBAS.COM, po załadowaniu Turbo Basic XL, wpisać LOAD "D:FEUDAL.BAS" i potem odpalić grę komenda RUN.

    Pirx - a czy nie chciałbyś nadawać rozszerzenia TBA zamiast BAS? Taka konwencja ułatwia rozróżnianie programów w Basicu i stosują to niektórzy autorzy. To nie jest "big deal", ale zawsze ciutkę czytelniej :)
    • 14: CommentAuthormcs
    • CommentTime20 Jun 2021
     
    Wielki dzięki Kaz! :)

    Hammurabi to była jedna z moich ulubionych gier :)
    • 15:
       
      CommentAuthorKaz
    • CommentTime20 Jun 2021
     
    Mcs - nie ma sprawy. Uruchamiać grę można pod emulcem na wiele sposobów, na prawdziwym Atari plik ATR przydaje się bardziej niż goły program BAS.
    • 16: CommentAuthorpirx
    • CommentTime21 Jun 2021 zmieniony
     
    Hej hej, dobra robota, ja myślę, że to ostatnia wersja w turbobeju, chyba, że jakieś ciekawe błędy się znajdą.
    Generalnie to wersja, którą przerabiałem miała sporo błędów oryginalnie, w szczególności związanych z końcem gry.
    Kawałki nigdy nie były wykonywane, a najsmutniejsze, że nigdzie się nie wyświetlają nazwy księstw, chociaż są w liniach DATA.
    Rozszerzenie ".bas" tylko z powodu tego, że tak z automatu nazywa wynik tbxl-parser.
    Dodałem całkiem autostartującego atra.
    • 17:
       
      CommentAuthorKaz
    • CommentTime21 Jun 2021
     
    Pirx - o, świetnie! To jak mniemam, można wrzucić taką wersję do katalogu gier - czy czekamy jeszcze na jakieś zgłoszenia?
    • 18: CommentAuthorpirx
    • CommentTime21 Jun 2021
     
    hehehe, może jeszcze nie, dopiero na screenie zauważyłem, że w tej wersji na początek jest 100000 dukatów, potrzebowałem tego, żeby szybciej zostać supreme ruler :]
    to oczywiście za dużo do normalniej gry, wystarczy może z 5 rund, żeby wygrać ;]
    • 19:
       
      CommentAuthorDracon
    • CommentTime21 Jun 2021 zmieniony
     
    Działa OK, od razu wspomnienia wróciły... ;)
    Tylko, że ja w to grałem pod nazwą "HAMMURABI". :o Jakie są więc różnice między tym ostatnim a tą grą (poza czołówką z zamkiem, ze znaków atascii :)) ?

    Acha, można łatwo "wywalić" program:
    - przy pytaniu "ile ziarna i nasion kupujesz", wciskając sam Return pojawi się... "Error - 8 INPUT AT LINE 90".
    • 20: CommentAuthorpirx
    • CommentTime21 Jun 2021
     
    No właśnie to dla mnie zagadka, najchętniej obejrzałbym oryginalną wersję z USA, ale nie mogę takowej znaleźć. "Hammurabiów" znalazłem kilka, ale to są inne gry.
    Co do braku obsługi błędów wprowadzania np. liczb - oryginalnie gierka była obstawiona TRAPami, ale jako że celem jest przepisanie na madpaskala to je wszystkie wyrzuciłem.
    Zwykle da się kontynuować wpisując CONT raz lub dwa razy.
    • 21:
       
      CommentAuthorKaz
    • CommentTime22 Jun 2021
     
    Pirx - ale o których wersjach mówisz? Widziałeś wersję ATAPOL, z obrazkiem przed grą? Jeżeli chodzi o oryginał to chyba był w jakimś magazynie - może Bluki będzie wiedział więcej, on kolekcjonował takie perełki.
    • 22: CommentAuthorpirx
    • CommentTime22 Jun 2021
     
    wersja atapol - może jestem jakiś słaby, ale nie udało mi się jej uruchomić poza ten obrazek
    Inne hammirabie to wersje tej gry: ->link<-
    prawdopodobnie "panowie i poddani - ekonomia feudalna" to rozwinięcie oryginalnego hammurabiego, może się nawet oryginalnie nazywało "Hammurabi", ale wątpię - nie dzieje się w babilonie, ale w średniowiecznej italii.
    • 23: CommentAuthormono
    • CommentTime22 Jun 2021 zmieniony
     
    Tak, widziałem wariant tej gry p.t. "Santa Paravia en Fiumaccio".

    Edit: I nawet macie ją w katalogu: ->link<-
    • 24: CommentAuthorpirx
    • CommentTime22 Jun 2021
     
    o kulka wodna, tegożem szukał...
    to sporo starsza wersja, ale chociaż będę miał napisy po angielskiemu. Zagadka panów i poddanych powoli się wyjaśnia ;)))))))
    • 25:
       
      CommentAuthorKaz
    • CommentTime22 Jun 2021
     
    Pirx - ej, to ja nie widziałem, że Ty nie przeglądałeś jedynego słusznego i prawilnego źródła gier ;)
    • 26: CommentAuthorpirx
    • CommentTime22 Jun 2021
     
    panie, zycia tyle ni ma, zeby to wszystko przejrzec :]
    • 27: CommentAuthorpirx
    • CommentTime22 Jun 2021
     
    o mamciu... ->link<-

    Ciekawe, czemu ktoś to przerobił na hammurabiego... może lepsza nazwa.
    • 28:
       
      CommentAuthorKaz
    • CommentTime22 Jun 2021 zmieniony
     
    A tak pierwsza pierwsza gra z tej serii to ta:

    ->link<-

    dlatego ma taką nazwę. To co podałeś, to taki klon+rozwinięcie.
    • 29: CommentAuthorpirx
    • CommentTime22 Jun 2021
     
    to ja wim, ale "panowie i poddani" to ewidentnie klon "Santa Paravia" z Apple, a nie hamurabiego, więc dziwne, że ktoś to przemianował na ham.
    • 30: CommentAuthormcs
    • CommentTime22 Jun 2021
     
    o, nawet źródła tej z 1978 są ->link<-
    • 31: CommentAuthormcs
    • CommentTime22 Jun 2021
     
    ->link<-

    In addition to the multiple versions of Hamurabi, several simulation games have been created as expansions of the core game. These include Kingdom (1974) by Lee Schneider and Todd Voros, which was then expanded to Dukedom (1976). Other derivations include King (1978) by James A. Storer, and Santa Paravia en Fiumaccio (1978) by George Blank; Santa Paravia added the concept of city building management to the basic structure of Hamurabi, making it an antecedent to the city-building genre as well as an early strategy game. Hamurabi inspired more complicated economic simulation games; M.U.L.E. (1983) and Anacreon (1987) are two games that critics mentioned as being similar to Hamurabi.
    • 32:
       
      CommentAuthorKaz
    • CommentTime16 Jul 2021
     
    Pirx, czy Ty czasem nie szukałeś tej wersji PL?
    • 33: CommentAuthorMDW
    • CommentTime16 Jul 2021
     
    Jestem maksymalnie zaskoczony tym, że tyle ludzi kojarzy i LUBI "Panowie i poddani". Przez lata byłem przekonany, że to jakiś basicowy crap, który gdzieś przypadkiem znalazłem na jakiejś pirackiej składance i który zupełnie nie wypłynął na szersze wody. Było mi nawet trochę wstyd, że tak mi się podobała i lubiłem w nią pograć. :) A to dlatego, że wyglądała na mocno nieskończoną. Na przykład tam była jakaś taka wizualizacja zamku (chyba na zielonym tle), która wyglądała okropnie. Organizacja ekranu gry też była średnia, teksty poobcinane, chyba bez polskich znaków. Komunikaty o wygranej/przegranej też były na takim domyślnym ekranie Basica. Tak jakby to była wersja wyrwana programiście w połowie pracy nad nią.

    To że Pirx ruszył kod gry i zamierza ostro ją odświeżyć jest dla mnie wydarzeniem prawie tak dużym jak odnowienie Kolony kilka lat temu. :) Podziwiam za ochotę grzebania się w tym basicowym bałaganie. To trzeba mieć anielską cierpliwość i niewyobrażalną motywację równą tej z lat 90 XX wieku. :) Ja o tej grze zapomniałem na długie lata i przypomniała mi się jakieś 2-3 lata temu. Od razu pobiegłem do bazy na AtariOnline.pl sprawdzić czy jest. Bardzo się ucieszyłem gdy zobaczyłem, że jest. Ale nie odpalałem jej, bo chciałem sobie to zostawić na jakiś wolniejszy czas żeby celebrować ten powrót na łono gry. No ale teraz już jej nie tknę. Chcę nową wersję! Wytrzymałem 27 lat, poczekam jeszcze z pół roku. :)
    Dzięki Pirx!

    No i pozdrawiam wszystkich lekko "dziwnych", którym się ta... eee... gra także podoba. :)
    • 34: CommentAuthorpirx
    • CommentTime17 Jul 2021
     
    @Kaz - ładne tłumaczenie, dużo lepsze, niż w "PiPie". Ale niestety to bardzo podobna wersja, też się wiesza po śmierci użyszkodnika.

    @MDW - nie wiem, czy uda mi się coś ciekawego wyrzeźbić. Niby najgorszą część mam za sobą, tj. kod da się przenieść i rozwijać, ale mam trochę mniej czasu, muszę udawać, że pracuję, po N godzinach gapienia się w PyCharm już mnie troszku oczy bolo...
    • 35:
       
      CommentAuthorWolfen
    • CommentTime18 Jul 2021
     
    @MDW Jedna z moich ulubionych gier na Atari :)