/pacman-canvas

An old classic, re-written in HTML5.

Primary LanguageJavaScriptCreative Commons Zero v1.0 UniversalCC0-1.0

pacman-canvas

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

Feel free to use / copy / modify my code, as long as you reshare your version and give some credit to the original author (me).

Creative Commons License
Pacman Canvas by Platzh1rsch is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at https://github.com/platzhersh/pacman-canvas.

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.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