Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    Pacoman

    Work In Progress
    7
    24
    1559
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Martin
      Martin Fuze Team last edited by

      I'm in the process of doing just this on the Amiga :)

      M 1 Reply Last reply Reply Quote 0
      • M
        MikeDX last edited by

        What are you using on the Amiga? AMOS?

        1 Reply Last reply Reply Quote 0
        • Martin
          Martin Fuze Team last edited by

          Hitting the hardware direct with C :) It's essentially doing it the assembler way without having to learn 68000. But, I should note that I'm already running into problems so will shortly have to comply with the system and use proper C which is very old-school and nightmarish on the Amiga (we are talking very early 90's C after all).

          1 Reply Last reply Reply Quote 0
          • M
            MikeDX last edited by

            blimey. that is hardcore. 90s c though, that's not so bad (talking to a guy who learned c on an old 286 running xenix!)

            1 Reply Last reply Reply Quote 0
            • M
              MikeDX last edited by MikeDX

              So now we have some sort of game, the ghosts move, the power pellets work, the game plays itself at this point!

              1 Reply Last reply Reply Quote 2
              • Martin
                Martin Fuze Team last edited by

                Don't know if this is the right place to ask really, I can start a new topic in General if you want, but at a high level, how do you restrict the sprites to moving within the paths of the maze? If you were to just increment / decrement X/Y values then obviously they'd be free to roam all over the screen which isn't what you want. Been pondering this for a while!

                1 Reply Last reply Reply Quote 0
                • M
                  MikeDX last edited by

                  i basically have a maze grid, and then allow the sprites to move freely in one direction until the next optional corner (there are no dead ends, so every intersection counts)

                  so my maze grid is each 8x8 char, and the the sprites can move freely betwen them (1 pixel at a time) and only when they are exactly on a grid square can they change direction

                  another way is to use a hardness map but we cant read pixels in fuze so that's not an option

                  not sure if my explanation has helped or made it more confusing (currently replying from my phone in nando's!)

                  Myddrak 1 Reply Last reply Reply Quote 0
                  • Martin
                    Martin Fuze Team last edited by

                    Yep, that made sense :) You basically only check for a change of direction when you know you are in the middle of a "decision tile" for want of a better phrase. So all you need to do is know in which tiles it is possible to change and since everything is based on 8x8 tiles that's easy enough to multiply up from the x/y position.

                    1 Reply Last reply Reply Quote 1
                    • M
                      MikeDX last edited by

                      absolutely bang on.

                      when you know your 3 possible outcomes at any intersection and know you can't 180 (unless your player is pacman) it makes decisions easy since that ghost always has a target square (be that the one pacman is on, or their home square or maybe the ghost pen as eyes), so when it comes to making your ghosts"smart", you end up only needing to make a simple choice at intersections!

                      taking this approach i had a game that played itself before i even had chance to wire up the control system 😊

                      1 Reply Last reply Reply Quote 1
                      • M
                        MikeDX last edited by

                        We're a bit further along now. The results are very nice

                        What's weird (or not so weird, I dunno) is that it actually feels like real pacman.

                        The ghost AI is all done
                        The variable speeds are all done
                        chase / scatter / frightened modes are done
                        Bonus fruit now appears at the right time
                        Inky now speeds up when he should (he can now catch you at 10 dots left)

                        Player cant die yet, and I seem to have inherited the arcade bug where you can walk through a ghost when both sprites swap squares during one frame.

                        Very cool though. Can't wait to finish it!

                        1 Reply Last reply Reply Quote 3
                        • M
                          MikeDX @Martin last edited by

                          @MartinW In some strange turn of events I stumbled upon your pacman Amiga code, weirdly i had the page open best part of the whole of yesterday evening without even realising as i searched for pacmanemulation.pdf whilst looking up some info on the namco wsg3. it wasn't until i opened my mac tab on my phone this morning that i noticed the domain name!

                          1 Reply Last reply Reply Quote 0
                          • Martin
                            Martin Fuze Team last edited by

                            Hah! I forgot that I’d even made the repo public!! Don’t laugh too hard :)

                            I’m in the process of trying a few different approaches to see if I can get my head round a couple of problems.

                            1 Reply Last reply Reply Quote 0
                            • M
                              MikeDX last edited by

                              I don't think there's any shame in what you are trying to achieve there (it is no mean feat for sure)

                              1 Reply Last reply Reply Quote 0
                              • M
                                MikeDX last edited by MikeDX

                                So, many hours have gone into this now and we are reaching the end.

                                We have sounds!

                                We have a CRT effect

                                We even have a nice intro music piece created by @Dave !

                                1 Reply Last reply Reply Quote 2
                                • M
                                  MikeDX last edited by

                                  The attract mode is done.

                                  It uses the normal game logic for the attract mode, so once the scores sprites are in the game, they will automatically update!

                                  1 Reply Last reply Reply Quote 0
                                  • Martin
                                    Martin Fuze Team last edited by

                                    Really interested in seeing the code for this after release!!! We need to be swapping friend codes :)

                                    1 Reply Last reply Reply Quote 1
                                    • Jonboy
                                      Jonboy Fuze Team last edited by

                                      Hey folks - Martin, this really is an outrageous example of Mike's abilities. It is absolutely perfect, even down to the overlapping pixel collision tricks. When Mike says it feels like Pacman he's not exaggerating. It's quite odd. Also very impressive is that all the sounds are programmed using the in built synth. There are no samples.

                                      1 Reply Last reply Reply Quote 2
                                      • J
                                        jbmb2000 last edited by

                                        That looks really cool.

                                        1 Reply Last reply Reply Quote 0
                                        • pinaxial
                                          pinaxial last edited by

                                          It's coding with Basic ?

                                          1 Reply Last reply Reply Quote 0
                                          • Myddrak
                                            Myddrak @MikeDX last edited by

                                            @MikeDX said in Pacoman:

                                            another way is to use a hardness map but we cant read pixels in fuze so that's not an option

                                            Wait what? no pixel read? Thats how I did everything in AMOS :(

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post