Skip to content

platzhersh/pacman-canvas

Repository files navigation

pacman-canvas

Disclaimer

I am currenty migrating this project to Typescript and React. You can check it out at https://github.com/platzhersh/pacman-canvas-next (work in progress). I will most probably not further update this repository.

Description

An old classic, re-written in HTML5. Visit http://pacman.platzh1rsch.ch to see it live.

Sounds from http://soundfxcenter.com/ and http://soundfxnow.com/

If you like this project, feel free to buy me a coffee:

Buy Me A Coffee


License

pacman-canvas by Platzh1rsch is marked with CC0 1.0 Universal

Get started

To just run the game locally, run npm start. If you want to see the console logs in your browser, use the npm run start:dev instead.

To modify the game for your needs, look at the pacman-canvas.js file and make your modifications. To change the look and feel, edit the pacman-canvas.css file or also the index.htmfile, where everything comes together.


Version history

Version 1.0.6 - 14.08.2022

  • adjust license
  • update npm dependencies

Version 1.0.5 - 22.03.2021

  • add webpack config
  • fix finished game state
  • show console logs when started locally

Version 1.0.4 - 26.12.2020

  • remove highscore reset endpoint

Version 1.0.3 - 26.12.2020

  • fix speed issue

Version 1.0.2 - 26.12.2020

  • add get started section in README
  • limit to 10 levels for now
  • small refactorings
  • add score validation in JS

Version 1.0.1 - 6.10.2020

  • add bump-version.sh to make versioning easier

Version 1.0.0 - 5.9.2020

  • use "default" version number format, go up to 1.0.0
  • add package.json
  • add server.js
  • you can now run pacman running an express JS server, using npm start
  • don't use ajax async: false anymore to load map config, since it has been marked as deprecated

Version 0.93 - 8.1.2020

  • add ads.txt

Version 0.92 - 6.3.2018

  • remove navigator.vibrate() calls

Version 0.91 - 15.01.2016

  • more tests to avoid cheaters
  • better highscore form validation
  • timer integrated (not in use yet)
  • "your screen is too small to play in landscape view" message removed
  • fix number of points for eating a ghost

Version 0.9 - 15.10.2015

  • different difficulties depending on level
  • scatter / chase indicated through wall colour
  • extended instructions

Version 0.87 - 08.10.2015

  • fix a bug that allowed resuming a game after game over

Version 0.86 - 25.05.2015

  • some security fixes to avoid cheaters from adding highscores

Version 0.84 - 09.11.2014

  • fixed bug that caused game to crash when leaving game area to the right side while holding the right arrow

Version 0.83 - 07.05.2014

  • not possible to stop by turning into walls anymore
  • mute / unmute the game by pressing the "M" key

Version 0.82 - 02.04.2014

  • small bugfixes
  • swipe gestures detection on the whole screen not only game area

Version 0.81 - 16.03.2014

  • Ghost Modes Scatter & Chase
  • Pathfinding AI for Blinky
  • Ghosts need to return to Ghost House when dead

Version 0.8 - 13.11.2013

  • lots of small changes in the backend
  • when you go in landscape mode and your screen is too small to display the whole site, you get notified to rotate your phone into portrait mode
  • all onClick and onMousedown in HTML removed and replaced by EventListeners in JavaScript
  • Pacman Canvas now uses ApplicationCache to cache its content, so you can play the game offline!

Version 0.78 - 05.11.2013

  • navigation via buttons should be less delayed by using onMouseDown event instead of onClick
  • refreshRate is now a game attribute and could be changed easily during the game (not yet implemented in frontend)

Version 0.77 - 24.05.2013

  • Ghosts start to blink before to undazzle
  • Pacman now dies with style

Version 0.76 - 02.05.2013

  • You can now use the usual arrow keys to control pacman
  • fixed 2 small bugs regarding KeyEvents

Version 0.75 - 28.04.2013

  • You can pause / resume the game by pressing SPACE
  • ESC is no longer used to pause / resume, but to go back to the main view
  • Game Menu only showing while game is paused
  • some css tweaks
  • Simple Highscore implemented using Ajax, Json and Sqlite3

Version 0.74 - 25.04.2013

  • You can pause / resume the game by pressing ESC or clicking into canvas
  • Swipe Gestures using hammerjs
  • replaced alerts by nice html overlay messages

Version 0.73 - 17.04.2013

  • You can play on until you lost all your 3 lives
  • Ghosts state gets reset everytime they get eaten or new level starts

Version 0.72 - 30.01.2013

  • Ghost Base Door
  • Reset Game after winning

Version 0.71 - 30.01.2013

  • Ghosts can die too

Version 0.7 - 29.01.2013

  • Powerpills & Beastmode

Version 0.63 - 29.01.2013

  • Pills now get loaded over external json file (map.json)
  • ghost collisions implemented -> dying
  • tried to clean up the code a bit

Version 0.62 - 23.01.2013

  • disable zoom on Mobile
  • change name to Pacman Canvas (Alpha)

Version 0.61 - 12.01.2013

  • all walls defined (incl. collisions)

Version 0.6 - 12.01.2013

  • small fixes for mobile view
  • sound control (default: muted)
  • collision control for walls
  • json datastructure design for all game objects (pills, magic pills, walls)

Version 0.41 - 10.12.2012

  • Mobile Design Fix
  • New Icon

Version 0.40 - 08.12.2012

  • Control Buttons for mobile
  • Small Design Updates

Version 0.30 - 05.12.2012

  • Touch Support via jGestures
  • Responsive

Version 0.20 - 22.11.2012

  • Code Refactored for further development
  • Sound added
  • Appcache implemented

Version 0.13 - 29.10.2012

  • Never miss a dot: Pacman now always stays in the grid.

Version 0.12 - 19.10.2012

  • Pacman is now able to eat the dots. Eating a dot equals 10 points for now.
  • LiveScore implemented.
  • Game ends when all dots are eaten.

Version 0.11 - 15.10.2012

  • Placing white Dots and storing them in a Hashtable
  • Monster/Ghost Prototype
  • Score Prototype
  • Pacman had to get smaller (r=15px)
  • Display Grid
  • Refactoring HTML

Version 0.10 - 23.08.2012

  • Started cleaning up the code using Objects
  • Pacman now turns around when changing directions