{"id":16927360,"url":"https://github.com/dubzzz/js-pacman","last_synced_at":"2025-04-11T17:42:06.630Z","repository":{"id":18223348,"uuid":"21363467","full_name":"dubzzz/js-pacman","owner":"dubzzz","description":"Another basic PacMan written in JavaScript for fun","archived":false,"fork":false,"pushed_at":"2017-05-07T03:59:18.000Z","size":102,"stargazers_count":15,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T13:45:35.966Z","etag":null,"topics":["game","javascript","multiplayer","network","online","pacman"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dubzzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-30T19:37:08.000Z","updated_at":"2024-08-19T15:22:03.000Z","dependencies_parsed_at":"2022-09-02T22:10:59.057Z","dependency_job_id":null,"html_url":"https://github.com/dubzzz/js-pacman","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fjs-pacman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fjs-pacman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fjs-pacman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fjs-pacman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dubzzz","download_url":"https://codeload.github.com/dubzzz/js-pacman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248451645,"owners_count":21105904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","javascript","multiplayer","network","online","pacman"],"created_at":"2024-10-13T20:34:02.646Z","updated_at":"2025-04-11T17:42:06.586Z","avatar_url":"https://github.com/dubzzz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PacMan: single and multiplayers\n[![Build Status](https://travis-ci.org/dubzzz/js-pacman.svg?branch=master)](https://travis-ci.org/dubzzz/js-pacman)[![Coverage Status](https://coveralls.io/repos/dubzzz/js-pacman/badge.svg?branch=master)](https://coveralls.io/r/dubzzz/js-pacman?branch=master)\n\nAn online version of the famous PacMan game. It features the ability to play online with up to 4 players on the same grid.\n\nInitially the project focused on a 100% client-side version of the PacMan game. Due to a will to discover both websockets and Node.js, I decided to increase this challenge by creating a program with a light client and heavy server.\nThe last commit on the client only version is [0ff5bcb](https://github.com/dubzzz/js-pacman/tree/0ff5bcbdb37726a8097032dfba5ff3a149b1a626). This new architecture allowed to add a multiplayers functionnality.\n\nSo that this version has two sides:\n- a server (Node.js): Which has to manage the whole game. It has to compute each iteration of it and send back results to as many clients as necessary.\n- a client: Which has to render what has been computed server-side.\n\n## Run the server using Docker\n\n### Setup Docker on your computer\n\nI recommand you to follow the instructions available on the official documentation of docker: https://docs.docker.com/engine/installation/linux/debian/\n\n### Build and run the image\n\n```bash\n$: # Create an image called pacman\n$: sudo docker build -t pacman .\n$: # Run it at port 8080 in daemon mode\n$: sudo docker run -d -p 8080:80 pacman\n$: # List running dockers (-a to see all dockers)\n$: sudo docker ps\n$: # Stop the container\n$: sudo docker stop \u003cconstainer_id\u003e\n```\n\n## Run the server locally\n\n### Setup Node.js on your computer\n\nIn order to run ```js-pacman``` on your machine, you need to have a valid version of Node.js. Indeed this project is a server-side program written in JavaScript.\n\n### Install required dependencies\n\n```js-pacman``` requires some dependencies to be able to run properly. Among these dependencies we can quote:\n- Socket.IO: heavily used in this project to handle the communications between the server and its clients to establich and then run the game\n- Express: used to serve static files (mainly used for its routes)\n\nIn order to install these dependencies, you need to ```cd``` in the root of this project and run the following command:\n\n```\nnpm install\n```\n\n### Run the server using Node.js\n\nOnce all the pre-requisites explained before are solved, you can launch the server using:\n\n```\nnode app.js\n```\n\nAlternatively you can use this command:\n\n```\n./app.js\n```\n\n## Test it\n\nhttp://pacman.dubien.me\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdubzzz%2Fjs-pacman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdubzzz%2Fjs-pacman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdubzzz%2Fjs-pacman/lists"}