I need a lot of help

I’m working on a recreation of Pacman as accurate as possible but with the pxt-raycasting extension although my only computer is getting returned to school soon
I would like someone to try and work on it
I can’t get the ai to work on making code
here is a link to the Pacman ai video:

then after the Pacman is recreated I wanted it to seem like this video by terminal montage:

here is my game so far:

please help…
I… I don’t…
have much…
time…

1 Like

The walls looks so cool!
And some advice, if your time are limited, choose only one of your dev directions at first. Which one is more important for you right now? The AI, or the theme of the movie?
The latter I guess. So is a another “AI” which not the same to original one can do? If yes, do you think it is a way to choose the Tilemap Path Finding ( a* ) for AI right now, and do the “accurate” AI later when you have enough time.

ai is the top priority

you should try this

This would make a really good horror game with the AI!

I could but that is now quite old and i have moved on. also I tried it. its too laggy to run effectively

if you want to have better quality you can put this in the (on start) block

namespace userconfig
{
export const ARCADE_SCREEN_WIDTH = 160 * Quality
export const ARCADE_SCREEN_HEIGHT = 120 * Quality
}

Ps. you will need to change the background image size from (160,120) to (160 * Quality,120 * Quality)

and for the walls we can use the color fading extension, we can make a function to fade one color at a time
here is a example

function fadeColor (startR: number, startG: number, startB: number, endR: number, endG: number, endB: number, duration: number, Color: number) {
    FadeQuality = 25 // the fps
    steps = duration / FadeQuality
    deltaR = (endR - startR) / steps
    deltaG = (endG - startG) / steps
    deltaB = (endB - startB) / steps
    // from the timer extension
    timer.background(function () { 
        for (let i = 0; i <= steps - 1; i++) {
            newR = startR + deltaR * i
            newG = startG + deltaG * i
            newB = startB + deltaB * i
            color.setColor(Color, color.rgb(newR, newG, newB)) // from the color fading extension
            pause(FadeQuality)
        }
    })
}

image
we need the timer extension not to freeze the game for duration of time.
now, for the rainbow effect, remove the timer.background(function () {}) or “separately do” from the fadeColor function
then make a new function (the function below)

function rainbowEffect (cycle: number, OnColor: number, Speed: number, StartR: number, StartG: number, StartB: number) {
    timer.background(function () {
        for (let index = 0; index < cycle; index++) {
            fadeColor(StartR, StartG, StartB, 255, 0, 0, Speed / 6, OnColor) // color to red
            fadeColor(255, 0, 0, 255, 255, 0, Speed / 6, OnColor) // red to yellow
            fadeColor(255, 255, 0, 0, 255, 0, Speed / 6, OnColor) // yellow to green
            fadeColor(0, 255, 0, 0, 255, 255, Speed / 6, OnColor) // green to lightBlue
            fadeColor(0, 255, 255, 0, 0, 255, Speed / 6, OnColor) // lightBlue to blue
            fadeColor(0, 0, 255, StartR, StartG, StartB, Speed / 6, OnColor) // blue to color
        }
    })
}

image
Speed is the time for one cycle
Ps. you can change the colors and the number of colors if you want just remember to change the 6. if you need an explanation on how it works just tag me