You are browsing as a guest. Sign up (or log in) to start making projects!

Open comments for this post

9h 29m 31s logged

DEVLOG TIME!!!

Added ghosts to the game this session. The ghost AI has 4 behavior types - chaser, ambusher, predictor, and patroller, targeting player based on various positions. Also added A* path finding to have the ghosts go around walls instead of choosing adjacent tiles that are closer to them.

Majority of time in this session was spent debugging the movement. It turned out to be a floating-point problem where, when the ghost speed is not divisible by the tile size (20 px), the pixelX % tileSize is never equal to 0 and therefore the alignment function is never called resulting in the ghost moving for 2 px per frame. Fixed this by making the ghost speed fixed at an integer value (2) that is divisible by 20.

Eating the power pellet causes the ghost to go into the frighten state which makes the ghost turn blue and move randomly. The player receives 200 points and the respawn timer starts when a ghost in the frighten state is eaten.

0
0
2
Open comments for this post

9h 38m 14s logged

WHAT’s NEW:>

Devlog Time!!!

Got Pac-Man actually moving through the maze this session. Built the Player class with grid-based movement - Pac-Man only changes direction when pixel position is exactly aligned to a tile, which prevents clipping through walls. Added direction queuing so if you press a turn slightly early it still registers when the next tile is reached, making controls feel responsive instead of stiff.

Also split out InputManager, CollisionSystem, and UIManager into their own modules. Dot collection works - eating a dot removes it from the array, updates the grid, and increments score. Level completes when all dots and pellets are cleared, with a 500 x level bonus.

One thing worth noting from Devlog 2 - the maze connectivity issue. After designing all 10 maze layouts, levels 3-10 had isolated sections where dots were completely unreachable. Wrote a flood-fill validator that BFS traverses from the first dot and counts how many dots are reachable. Then wrote an auto-fixer that finds disconnected sections and carves the shortest Manhattan path between them. All 10 levels now pass with 100% dots reachable.

0
0
9
Open comments for this post

9h 25m 24s logged

DEVLOG TIME:> !!

I have improved the maze system used in my game, Pac-Man.

Originally, I thought of not only using one maze and having a full leveling system. In this, I calculated and created 10 mazes with different sizes, difficulties, and complexity levels.

In addition, I modified the class MazeManager in such a way that our game automatically changes levels without requiring a manual change of the mazes.

In testing new mazes, I introduced a checking mechanism so that we will know whether our mazes have any unreachable dots. For some reason, it turned out that some parts of the maze were blocked.

  • Maze validation: 195/218 dots reachable
  • Blocked sections were identified. Some of the dots can’t be accessed.

Interestingly, the maze looked perfectly okay visually, but the navigation test indicated that some of the areas of my maze were not accessible.

At the moment, I plan on fixing the blocked paths and test out each level.

I might also change some things later once the game is fully playable and I can properly test the difficulty, such as:

  • maze layouts
  • ghost difficulty
  • level progression
  • number of ghosts/speed scaling

Right now the goal is getting the core gameplay working first, then balancing everything afterwards.

0
0
3
Open comments for this post

9h 31m 59s logged

I’ve been really busy but here is the first DEVLOG for Pac-man:>

I’m planning on doing unique things in this Pac-man it won’t be a normal Pac-man.

What I did:
Built all 5 screens for the game - main menu, level select, how to play, game screen and game over. No gameplay yet, just the full UI shell. Screen switching works by toggling a single. active class, all screens live in the DOM simultaneously. Biggest challenge was the SVG ghosts. Drew them in pure SVG using and so the shape is defined once and reused everywhere with different colors via a CSS variable –gc. Also styled elements in the How to Play screen to look like actual keyboard keys. Ghost bobbing animation on the menu uses staggered animation-delay so they move in a wave instead of all at once.

0
0
9

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…