atarionline.pl PAC-MAD - 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:
       
      CommentAuthorbocianu
    • CommentTime13 Aug 2017
     
    Już po kompo!
    Wrzucam laurata drugiego miejsca - moją grę Pac-Mad.
    To wersja na kompo z 10 levelami, wkrótce pojawi się oficjalna wersja, która będzie miała tych poziomów kilkadzesiąt ;)

    Tutaj dostępne są źródła:
    ->link<-

    Gra napisana w 97% w MadPascalu.
    Binarka w załączeniu :D
    • 2: CommentAuthorQTZ
    • CommentTime13 Aug 2017
     
    Przyjemna gierka i z HSC, Gratuluję.
    • 3:
       
      CommentAuthorzbylu
    • CommentTime13 Aug 2017
     
    Mały gameplay z Pac-Mad:
    • 4: CommentAuthorgreblus
    • CommentTime13 Aug 2017
     
    Świetna gra! I dzięki że ze źródłami udostępniona :)
    • 5:
       
      CommentAuthorbocianu
    • CommentTime14 Aug 2017 zmieniony
     
    Fajnie że gra się podoba, miałem dużo frajdy jak ją robiłem.
    TeBe pewnie trochę mniej, bo ciągle trułem mu, że coś nie działa w tym MadPascalu, po czym zwykle okazywało się, ze to jednak ja coś źle robię.
    Chociaż pare rzeczy ciekawych znalazłem i poszedł Mad-Pascal parę wersji w góre :) Ale przede wszystkim okazuje się, że da się zrobić dynamiczną i nawet w miarę płynną grę, nie tylko w asemblerze lub w Action!

    Mam jeszcze parę pomysłów jak moją grę usprawnić i urozmaicić, chociaż już i tak jest całkiem grywalna :) Jak już wspominałem wcześniej, chcę przede wszystkim dodać więcej poziomów. Raphis wspominał, że przydałby się edytor, więc dla wszystkich chętnych/zainteresowanych przygotowałem takowy:

    ->link<-

    Potrzebna jest w miarę współczesna przeglądarka i można generować nawet pliki wykonywalne xex, ze swoim levelem i testować ;)



    Wszystkich którym się będzie chciało tym pobawić proszę, aby jeżeli zrobią jakieś ciekawe plansze, to kod przeklejać do maila i przesyłać do mnie : bocianu(at)gmail(dot)com

    Może jakieś Wasze fajne pomysły na mapki pójdą do wersji oficjalnej gry?



    Edytor pisałem na szybko, więc oczywiście może mieć jakieś błędy, ale wszystkie uwagi mile widziane i pytania też.
    • 6:
       
      CommentAuthorxeen
    • CommentTime14 Aug 2017
     
    jaki jest algorytm przeciwników? losowo na każdym zakręcie?
    • 7:
       
      CommentAuthorbocianu
    • CommentTime14 Aug 2017
     
    Przy ustawieniu ai=1 jest tak jak mówisz. Losowo. Przy większych wartościach duszek idzie w kierunku gracza. Dla wartości 9, praktycznie ślepo podąża za nim, chociaż zawsze jest niewielki element losowy.
    • 8: CommentAuthorAdam
    • CommentTime14 Aug 2017
     
    Czyli jak rozumiem zrezygnowałeś z tego, co było w oryginalnym Pac-Manie, że każdy duszek ma swój własny "charakter" i porusza się nieco inaczej.
    • 9:
       
      CommentAuthorbocianu
    • CommentTime14 Aug 2017 zmieniony
     
    Tak, nie robiłem kalki - ale każdy z duszków może mieć inne ustawienie AI. Dodatkowo jest zawsze niewielki element losowości więc żadne dwa duszki na planszy nie będą się zachowywały identycznie.
    • 10: CommentAuthorpajero
    • CommentTime15 Aug 2017
     
    Na FF 54.0.1 (64 bity) PLAY wciskam i nic się nie dzieje (ADBLOCK jest OFF)
    • 11:
       
      CommentAuthorbocianu
    • CommentTime15 Aug 2017
     
    Sprawdzę. Na chrome działa na bank.
    • 12:
       
      CommentAuthorbocianu
    • CommentTime15 Aug 2017
     
    poprawiłem - powinno już tez działać pod FF ;)
    • 13:
       
      CommentAuthoranonymus
    • CommentTime15 Aug 2017
     
    Może dodatnie zróżnicowanego ai dla duchów zwiększy ich indywidualność?
    • 14: CommentAuthorAdam
    • CommentTime15 Aug 2017
     
    Popieram. Nie musi to być kalka oryginału, ale nieco inne charakterystyczne zachowania byłyby miłym akcentem :)
    • 15:
       
      CommentAuthormgr_inz_rafal
    • CommentTime15 Aug 2017 zmieniony
     
    Czejść :)
    Nie miałem jeszcze okazji dłużej pograć. Tzn. dużo grałem kiedyś w oryginał, ale nie w Pac-Mada. Gratuluję drugiego miejsca - Pin zrobił wszystko, żebyśmy do ostatniej sekundy nie wiedzieli jaki jest wynik :)

    Jak dla mnie mega plus za ogólną jakość, wszystko jest dobrze spasowane, jak klasyczny Mercedes. Ekran tytułowy, high-score, edytor mapek potrafiący parsować kod ASM (dodaj undo do shiftów!). Bardzo solidna robota i ogromna reklama Mad-Pascala. Widać, że ten compiler jest już całkowicie używalny i najwyższy czas się nim bliżej zainteresować.

    Mały minus ode mnie za pomysł, tzn. mimo mega długich leveli to jednak dalej pac-man. Dobre konwersje i spinoffy są w cenie (np. świetny Tetryx), co znajduje potwierdzenie w tylko minimalnie mniejszej ilości głosów na Ironii. Jednak ja jestem taki dziwny, że liczy się dla mnie jakiś świeży pomysł - i wcale nie mam na myśli zapachu ;)

    bocianu, no offense i jeszcze raz gratulacje tym bardziej, że z tego co wiem gierę robiłeś prawie sam. Brawo!
    • 16:
       
      CommentAuthorbocianu
    • CommentTime15 Aug 2017
     
    Dzięki Rafał!

    Twoje gratulacje są dla mnie wielką nobilitacją.
    Nie sposób się nie zgodzić, że wielką wartością jest świeży pomysł. Tak jak w przypadku Tensora, za którego zasłużenie zebrałeś grand prix. (a i tak oboje wiemy, że miałeś o 3 levele więcej :D)

    Co do MadPascala, to naprawdę kawał dobrego softu, i warto chociaż spróbować. Ja z pewnością napiszę jeszcze nie jeden projekt w tym języku, bo z każdą wersją jest coraz wygodniej i coraz szybciej.
    W assemblerze była tylko obsługa przerwań i procedury wyświetlania liczb na ekranie (bo wywaliłem OS żeby mieć wincy miejsca na levele). Wszystko reszta było w MadPascalu.
    • 17:
       
      CommentAuthorbocianu
    • CommentTime22 Aug 2017
     
    @Adam : zgodnie z prośbą - teraz każdy z duszków może mieć inne AI, można to ustawiać w nowej wersji edytora:
    ->link<-

    A czy ktoś już może zrobił jakiś ciekawy level? :)
    • 18: CommentAuthorkoala
    • CommentTime23 Aug 2017
     
    To ja zrobiłem;) (Nie nie w kształcie męskiego zwisu!)
    Brak labiryntu - czysty wyścig z duszkami :)

    .local level_x
    dta 10,16 ; starting pos - x,y
    dta 10,12 ; exit pos - x,y
    dta 9,8,7,6 ; ghost AI levels (1 dumb - 9 ninja)
    dta 5 ; ghost spawner delay in seconds
    dta 10 ; pill mode length in seconds
    dta a(0) ; how much dots can remain to open exit
    dta $8c,$84,$00,COLOR_PACMAD,$82 ; colors

    ; dots
    dta TILE_DOT,[dots_end-(* + 1)]/4
    dta 1,3,19,2
    dta 1,5,19,2
    dta 1,7,19,2
    dta 1,9,19,2
    dta 1,11,19,2
    dta 1,13,19,2
    dta 1,15,19,2
    dots_end

    ; pills
    dta TILE_PILL,[pills_end-(*+1)]/2
    dta 2,4
    dta 18,4
    dta 2,15
    dta 18,15
    pills_end

    ; spawners
    dta TILE_SPAWNER,[spawners_end-(*+1)]/2
    dta 10,7
    spawners_end

    ; warps
    dta TILE_WARP_LEFT,warps_end-(* + 1)
    dta 13
    dta 6
    warps_end

    dta $ff
    .endl ; level size: 62 bytes
    • 19: CommentAuthorkoala
    • CommentTime23 Aug 2017
     
    dobra, cyce muszą być;)

    .local level_x
    dta 4,22 ; starting pos - x,y
    dta 16,14 ; exit pos - x,y
    dta 1,1,1,1 ; ghost AI levels (1 dumb - 9 ninja)
    dta 5 ; ghost spawner delay in seconds
    dta 10 ; pill mode length in seconds
    dta a(8) ; how much dots can remain to open exit
    dta $8c,$84,$00,COLOR_PACMAD,$82 ; colors

    ; dots
    dta TILE_DOT,[dots_end-(* + 1)]/4
    dta 1,15,1,7
    dta 2,14,1,2
    dta 19,15,1,7
    dta 18,21,1,2
    dta 2,21,1,2
    dta 18,15,1,1
    dta 12,14,7,1
    dta 11,15,2,1
    dta 11,16,1,6
    dta 12,21,1,2
    dta 13,22,5,1
    dta 3,22,6,1
    dta 8,21,2,1
    dta 9,15,1,6
    dta 8,14,1,2
    dta 3,14,5,1
    dta 15,18,2,2
    dta 4,18,2,2
    dots_end

    ; pills
    dta TILE_PILL,[pills_end-(*+1)]/2
    dta 19,18
    dta 16,22
    dta 15,14
    dta 4,14
    dta 6,22
    dta 1,18
    pills_end

    ; spawners
    dta TILE_SPAWNER,[spawners_end-(*+1)]/2
    dta 6,14
    spawners_end

    ; warps
    dta TILE_WARP_LEFT,warps_end-(* + 1)
    dta 16
    warps_end

    dta $ff
    .endl ; level size: 109 bytes
    • 20:
       
      CommentAuthorbocianu
    • CommentTime23 Aug 2017
     
    cyce fajne, ale troche za łatwe :D
    pierwsza plansza bardzo spoko - może wrzuce do oficjalnej wersji.
  1.  
    3...2...1... Fight!

    .local level_x
    dta 10,1 ; starting pos - x,y
    dta 10,48 ; exit pos - x,y
    dta 9,9,9,9 ; ghost AI levels (1 dumb - 9 ninja)
    dta 1 ; ghost spawner delay in seconds
    dta 10 ; pill mode length in seconds
    dta a(0) ; how much dots can remain to open exit
    dta $ff,$6a,$00,COLOR_PACMAD,$b7 ; colors

    ; dots
    dta TILE_DOT,[dots_end-(* + 1)]/4
    dta 1,58,1,23
    dta 12,13,1,1
    dta 5,17,1,1
    dta 8,14,1,1
    dta 12,26,1,1
    dta 15,6,1,1
    dta 10,4,1,1
    dta 16,2,1,1
    dta 6,2,1,1
    dta 3,30,1,1
    dta 5,26,1,1
    dta 8,32,1,1
    dta 12,42,1,1
    dta 15,38,1,1
    dta 17,32,1,1
    dta 15,51,1,1
    dta 17,47,1,1
    dta 8,49,1,1
    dta 8,41,1,1
    dta 5,40,1,1
    dta 3,44,1,1
    dta 3,63,1,1
    dta 3,56,1,1
    dta 8,57,1,1
    dta 12,57,1,1
    dta 15,64,1,1
    dta 17,58,1,1
    dta 12,33,1,1
    dta 15,26,1,1
    dta 17,16,1,1
    dta 5,14,1,1
    dta 3,10,1,1
    dta 3,19,1,1
    dta 3,5,1,1
    dta 12,7,1,1
    dta 14,2,1,1
    dta 15,19,1,1
    dta 12,20,1,1
    dta 8,21,1,1
    dta 5,36,1,1
    dta 15,34,1,1
    dta 15,48,1,1
    dta 12,50,1,1
    dta 3,48,1,1
    dta 5,49,1,1
    dta 5,53,1,1
    dta 5,57,1,1
    dta 15,59,1,1
    dta 17,66,1,1
    dta 15,74,1,1
    dta 12,70,1,1
    dta 8,66,1,1
    dta 12,65,1,1
    dta 5,73,1,1
    dta 3,78,1,1
    dta 3,86,1,1
    dta 5,88,1,1
    dta 5,93,1,1
    dta 7,95,1,1
    dta 10,95,1,1
    dta 12,92,1,1
    dta 12,83,1,1
    dta 8,80,1,1
    dta 12,75,1,1
    dta 8,76,1,1
    dta 17,89,1,1
    dta 17,95,1,1
    dta 12,97,1,1
    dta 15,90,1,1
    dta 12,86,1,1
    dta 8,86,1,1
    dta 8,90,1,1
    dta 3,97,1,1
    dta 3,90,1,1
    dta 3,74,1,1
    dta 5,66,1,1
    dta 8,61,1,1
    dta 17,77,1,1
    dta 17,83,1,1
    dots_end

    ; empty
    dta TILE_EMPTY,[empty_end-(* + 1)]/4
    dta 2,1,17,98
    dta 4,3,13,94
    dta 6,5,9,90
    dta 7,6,7,88
    dta 9,8,3,84
    dta 10,9,1,82
    dta 10,0,1,1
    dta 1,65,1,35
    dta 1,0,19,100
    dta 3,2,1,3
    dta 4,2,2,1
    dta 7,2,7,1
    dta 15,2,1,1
    dta 17,2,1,14
    dta 15,4,1,2
    dta 11,4,5,1
    dta 5,4,5,1
    dta 5,4,1,10
    dta 8,7,1,7
    dta 8,7,4,1
    dta 12,8,1,4
    dta 12,12,1,1
    dta 12,14,1,6
    dta 12,21,1,5
    dta 15,7,1,12
    dta 15,20,1,6
    dta 17,17,1,15
    dta 15,27,1,7
    dta 17,33,1,14
    dta 15,39,1,9
    dta 17,48,1,10
    dta 15,52,1,7
    dta 15,49,1,2
    dta 15,35,1,3
    dta 12,27,1,6
    dta 12,34,1,8
    dta 12,43,1,7
    dta 12,51,1,6
    dta 15,60,1,4
    dta 15,65,1,9
    dta 17,59,1,7
    dta 17,67,1,10
    dta 17,78,1,5
    dta 17,84,1,5
    dta 17,90,1,5
    dta 15,75,1,15
    dta 15,91,1,5
    dta 17,96,1,2
    dta 3,6,1,4
    dta 3,11,1,8
    dta 3,20,1,10
    dta 3,31,1,13
    dta 3,45,1,3
    dta 3,49,1,7
    dta 3,57,1,6
    dta 3,64,1,10
    dta 3,75,1,3
    dta 3,79,1,7
    dta 3,87,1,3
    dta 3,91,1,6
    dta 4,97,8,1
    dta 13,97,4,1
    dta 11,95,4,1
    dta 8,95,2,1
    dta 5,95,2,1
    dta 5,94,1,1
    dta 5,89,1,4
    dta 8,87,1,3
    dta 8,91,1,2
    dta 9,92,3,1
    dta 12,87,1,5
    dta 12,84,1,2
    dta 12,76,1,7
    dta 12,71,1,4
    dta 12,58,1,7
    dta 12,66,1,3
    dta 12,69,1,1
    dta 8,81,1,5
    dta 8,77,1,3
    dta 8,67,1,9
    dta 5,74,1,14
    dta 5,67,1,6
    dta 5,58,1,8
    dta 8,62,1,4
    dta 8,58,1,3
    dta 8,50,1,7
    dta 5,54,1,3
    dta 5,50,1,2
    dta 5,52,1,1
    dta 8,42,1,7
    dta 5,41,1,8
    dta 8,33,1,8
    dta 5,37,1,3
    dta 5,27,1,9
    dta 8,22,1,10
    dta 8,15,1,6
    dta 5,15,1,2
    dta 5,18,1,8
    empty_end

    ; void
    dta TILE_VOID,[void_end-(* + 1)]/4
    dta 19,1,1,1
    dta 19,3,1,1
    dta 19,5,1,1
    dta 19,7,1,1
    dta 19,9,1,1
    dta 19,11,1,1
    dta 19,13,1,1
    dta 19,15,1,1
    dta 19,17,1,1
    dta 19,19,1,1
    dta 19,21,1,1
    dta 19,23,1,1
    dta 19,25,1,1
    dta 19,27,1,1
    dta 19,29,1,1
    dta 19,31,1,1
    dta 19,33,1,1
    dta 19,35,1,1
    dta 19,37,1,1
    dta 19,39,1,1
    dta 19,41,1,1
    dta 19,43,1,1
    dta 19,45,1,1
    dta 19,47,1,1
    dta 19,49,1,1
    dta 19,51,1,1
    dta 19,53,1,1
    dta 19,55,1,1
    dta 19,57,1,1
    dta 19,59,1,1
    dta 19,61,1,1
    dta 19,63,1,1
    dta 19,65,1,1
    dta 19,67,1,1
    dta 19,69,1,1
    dta 19,71,1,1
    dta 19,73,1,1
    dta 19,75,1,1
    dta 19,77,1,1
    dta 19,79,1,1
    dta 19,81,1,1
    dta 19,83,1,1
    dta 19,85,1,1
    dta 19,87,1,1
    dta 19,89,1,1
    dta 19,91,1,1
    dta 19,93,1,1
    dta 19,95,1,1
    dta 19,97,1,1
    dta 19,99,1,1
    dta 1,99,1,1
    dta 1,97,1,1
    dta 1,95,1,1
    dta 1,93,1,1
    dta 1,91,1,1
    dta 1,89,1,1
    dta 1,87,1,1
    dta 1,85,1,1
    dta 1,83,1,1
    dta 1,81,1,1
    dta 1,79,1,1
    dta 1,77,1,1
    dta 1,75,1,1
    dta 1,73,1,1
    dta 1,71,1,1
    dta 1,69,1,1
    dta 1,67,1,1
    dta 1,65,1,1
    dta 1,63,1,1
    dta 1,61,1,1
    dta 1,59,1,1
    dta 1,57,1,1
    dta 1,55,1,1
    dta 1,53,1,1
    dta 1,51,1,1
    dta 1,49,1,1
    dta 1,47,1,1
    dta 1,45,1,1
    dta 1,43,1,1
    dta 1,41,1,1
    dta 1,39,1,1
    dta 1,37,1,1
    dta 1,35,1,1
    dta 1,33,1,1
    dta 1,31,1,1
    dta 1,29,1,1
    dta 1,27,1,1
    dta 1,25,1,1
    dta 1,23,1,1
    dta 1,21,1,1
    dta 1,19,1,1
    dta 1,17,1,1
    dta 1,15,1,1
    dta 1,13,1,1
    dta 1,11,1,1
    dta 1,9,1,1
    dta 1,7,1,1
    dta 1,5,1,1
    dta 1,3,1,1
    dta 1,1,1,1
    dta 19,0,1,1
    dta 1,0,1,1
    dta 9,47,1,6
    dta 9,47,3,1
    dta 11,47,1,6
    void_end

    ; pills
    dta TILE_PILL,[pills_end-(*+1)]/2
    dta 14,10
    dta 3,1
    dta 10,49
    pills_end

    ; spawners
    dta TILE_SPAWNER,[spawners_end-(*+1)]/2
    dta 10,99
    spawners_end

    ; warps
    dta TILE_WARP_LEFT,warps_end-(* + 1)
    dta 2
    dta 4
    dta 6
    dta 8
    dta 10
    dta 12
    dta 14
    dta 16
    dta 18
    dta 20
    dta 22
    dta 24
    dta 26
    dta 28
    dta 30
    dta 32
    dta 34
    dta 36
    dta 38
    dta 40
    dta 42
    dta 44
    dta 46
    dta 48
    dta 50
    dta 52
    dta 54
    dta 56
    dta 58
    dta 60
    dta 62
    dta 64
    dta 66
    dta 68
    dta 70
    dta 72
    dta 74
    dta 76
    dta 78
    dta 80
    dta 82
    dta 84
    dta 86
    dta 88
    dta 90
    dta 92
    dta 94
    dta 96
    dta 98
    warps_end

    dta $ff
    .endl ; level size: 1211 bytes
    • 22:
       
      CommentAuthorbocianu
    • CommentTime26 Aug 2017 zmieniony
     
    przeszedłem :D tylko 6 żyć straciłem



    Plansza fajna, zupełnie nie "pacmanowa". Ciekawe że w sumie samą mapą można doszczętnie zmienić charakter gry.
  2.  
    Kurde, czyli jeszcze za łatwo... Muszę dodać lasery :)
    • 24: CommentAuthorkoala
    • CommentTime28 Aug 2017
     
    Po planszy od magistra jestem już pewien że coś jest nie tak ze sterowaniem - nie zawsze wciśnięty klawisz skutkuje ruchem na bok. IMO powinno być tak że jak nawet szybciutko nacisnę klawisz to powinien mi pójść w tą stronę przy najbliższej okazji. A teraz wydaje mi się że sprawdzany jest ruch joya tylko jak się jest na "pełnym" klocku. Chyba Bocian zrozumie o co mi chodzi;)
    • 25:
       
      CommentAuthorbocianu
    • CommentTime28 Aug 2017
     
    Ruch joya jest testowany co ramkę, bo zawrócić można zawsze - nie tylko na skrzyżowaniu. Natomiast co "pełny" klocek jest sprawdzany kierunek w bok od aktualnego.
    • 26: CommentAuthorkoala
    • CommentTime28 Aug 2017
     
    ee to zjebane:D Nie lubię trzymać joya cały czas w kierunku w którym chcę iść - bo tak to teraz wygląda że mogę go puścić dopiero wtedy kiedy PAC pójdzie w tym kierunku:)
    • 27:
       
      CommentAuthorbocianu
    • CommentTime28 Aug 2017
     
    No tak właśnie jest - celowo.
    Bo jak przypadkiem ruszysz w górę w połowie klocka, a potem się rozmyślisz i puścisz joya, to on pójdzie prosto.
    W Twojej wersji ruch w bok w dowolnym momencie spowoduje, że na następnym skrzyżowaniu skręci. Nawet jak ono będzie za 10 klocków.
    • 28: CommentAuthorkoala
    • CommentTime29 Aug 2017
     
    Nie - jeżeli będziesz kasować pamięć o ruchu przy "pełnym klocku"
    • 29:
       
      CommentAuthorbocianu
    • CommentTime29 Aug 2017
     
    komplikujesz :D jakoś nikt inny nie narzeka (bo może nikt inny nie gra). A pan mgr_inż ma jakieś uwagi co do sterowania? :D
  3.  
    Jak dla mnie jest ok. Na takiej mapce jak moja rzeczywiście trzeba się trochę przyzwyczaić, ale na klasycznych levelach "korytarzowych" nie miałem żadnego problemu z manewrowaniem.
    • 31: CommentAuthorkoala
    • CommentTime29 Aug 2017
     
    Przyzwyczaić się można do wszystkiego:) Dobra więcej nie nalegam:) Przyzwyczaiłem się już że Bocian olewa moje wskazówki:D
    • 32:
       
      CommentAuthorbocianu
    • CommentTime29 Aug 2017
     
    koala: nie wszystkie - te które mają sens uwzględniam :D (vide hiscore matrix)