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 00:08
       
      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 02:08
       
      Przyjemna gierka i z HSC, Gratuluję.
      • 3:
         
        CommentAuthorzbylu
      • CommentTime13 Aug 2017 10:08
       
      Mały gameplay z Pac-Mad:
      • 4: CommentAuthorgreblus
      • CommentTime13 Aug 2017 21:08
       
      Świetna gra! I dzięki że ze źródłami udostępniona :)
      • 5:
         
        CommentAuthorbocianu
      • CommentTime14 Aug 2017 02:08 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 09:08
       
      jaki jest algorytm przeciwników? losowo na każdym zakręcie?
      • 7:
         
        CommentAuthorbocianu
      • CommentTime14 Aug 2017 11:08
       
      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 11:08
       
      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 12:08 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 19:08
       
      Na FF 54.0.1 (64 bity) PLAY wciskam i nic się nie dzieje (ADBLOCK jest OFF)
      • 11:
         
        CommentAuthorbocianu
      • CommentTime15 Aug 2017 20:08
       
      Sprawdzę. Na chrome działa na bank.
      • 12:
         
        CommentAuthorbocianu
      • CommentTime15 Aug 2017 20:08
       
      poprawiłem - powinno już tez działać pod FF ;)
      • 13:
         
        CommentAuthoranonymus
      • CommentTime15 Aug 2017 21:08
       
      Może dodatnie zróżnicowanego ai dla duchów zwiększy ich indywidualność?
      • 14: CommentAuthorAdam
      • CommentTime15 Aug 2017 21:08
       
      Popieram. Nie musi to być kalka oryginału, ale nieco inne charakterystyczne zachowania byłyby miłym akcentem :)
    1.  
      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 23:08
       
      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 00:08
       
      @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 08:08
       
      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 09:08
       
      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 11:08
       
      cyce fajne, ale troche za łatwe :D
      pierwsza plansza bardzo spoko - może wrzuce do oficjalnej wersji.
    2.  
      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 23:08 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.
    3.  
      Kurde, czyli jeszcze za łatwo... Muszę dodać lasery :)
      • 24:
         
        CommentAuthorkoala
      • CommentTime28 Aug 2017 14:08
       
      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 15:08
       
      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 15:08
       
      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 15:08
       
      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 08:08
       
      Nie - jeżeli będziesz kasować pamięć o ruchu przy "pełnym klocku"
      • 29:
         
        CommentAuthorbocianu
      • CommentTime29 Aug 2017 09:08
       
      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
    4.  
      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 10:08
       
      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 12:08
       
      koala: nie wszystkie - te które mają sens uwzględniam :D (vide hiscore matrix)