{"id":20406129,"url":"https://github.com/9-volt/ghost_land","last_synced_at":"2026-06-07T11:31:18.080Z","repository":{"id":71234214,"uuid":"43601053","full_name":"9-volt/ghost_land","owner":"9-volt","description":"Ghost Land: Real life shooter projected on wall","archived":false,"fork":false,"pushed_at":"2015-10-14T15:09:55.000Z","size":2268,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-06T12:55:58.243Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/9-volt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-03T14:07:35.000Z","updated_at":"2019-01-22T02:54:58.000Z","dependencies_parsed_at":"2023-03-11T10:07:22.831Z","dependency_job_id":null,"html_url":"https://github.com/9-volt/ghost_land","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/9-volt/ghost_land","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9-volt%2Fghost_land","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9-volt%2Fghost_land/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9-volt%2Fghost_land/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9-volt%2Fghost_land/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/9-volt","download_url":"https://codeload.github.com/9-volt/ghost_land/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9-volt%2Fghost_land/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34020187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-15T05:15:15.730Z","updated_at":"2026-06-07T11:31:18.056Z","avatar_url":"https://github.com/9-volt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ghost Land\n\n## About\nReal life shooter game. The goal of the game is to shoot as many ghosts before they reach the house.\n\nThe game scene is projected on the wall, and a ball is used to shoot. The ball is tracked using a kinect. \nThe collision point of the ball with the wall is the shot.\n\n![Ghoster Land Gameplay](https://raw.githubusercontent.com/9-volt/ghost_land/master/screenshots/ghoster-land-gameplay.jpeg)\n\n![Ghoster Land Overview](https://raw.githubusercontent.com/9-volt/ghost_land/master/screenshots/ghoster-land-overview.jpeg)\n\n[Video here](https://youtu.be/Psrh_SsXb38).\n\n## Aim\nThe aim of the game is to improve hand-eye coordination and provide a fun way to exercise.\n\n## Technologies\nThe challange was to build an \"alive\" game using the benefits of modern technologies like: \n* projector/beamer\n* Kinect\n* [Processing](https://processing.org/)\n* WebSockets\n* [Phaser](http://phaser.io)\n\n## Requirements\n* Kinect (first generation)\n* Processing 2.x\n  * SimpleOpenNi\n  * websocketP5\n  * blobscanner\n* Google Chrome 45\n* Phaser 2.4.3\n\n## How it works\n1. Open the web page in browser and project it on the wall\n* Run the processing sketch \n* In opened window click on the corners of projected image. Corners order is top-left, top-right, bottom-right, bottom-left\n* A rectangle should appear. It means that depth image processing started\n* Focus on browser (Phaser stops if it is not focused). If game music is playing then everything is ok.\n* Throw the ball to the wall\n* Have fun!\n\n## Technical problems that still have to be solved\n* Collision point is not perfect. Right now it is computed by taking the fartherst detected point. A better approach would be to compute ball trajectory and get the intersetion with the wall\n* Projected points are not perfectly matched with game rectangle. You can see in video (borrom-right corner) that red circle (collision point detected by Kinect) and white circle (point in game) are shifted. A affine transformation should solve this problem much better. \n\n## Team \n* Art director - @cip\n* Head of design - @cip\n* CTO - @bumbu\n* Quality Assurance - @leoșa\n* Research Development Team - @bumbu\n* Story Writing - @cip\n* Composer - @cip\n* Sound engineer - @cip\n* Production assistant - @bumbu, @cip\n* Installments - @bumbu\n* Senior Graphical Designer - @cip\n* Junior Graphical Designer - @bumbu\n* Logistics manager - @bumbu\n* PR - @cip\n* Video Production - @cip\n* Cameraman - @cip, @bumbu\n* HR - @cip\n* Technical Lead - @bumbu\n* Readme Writer - @bumbu\n* Readme Co-writer - @cip\n\n## Partners\n* Antioffice\n* [big pixel](https://www.facebook.com/canyouseethebigpixel)\n* [bumbu.me](http://bumbu.me)\n* [FAF](http://faf.utm.md/)\n* [Technical University of Moldova](http://www.utm.md/)\n* [BEST](http://best-chisinau.org/)\n\n## Papers not published during the work on this project\n* Long term effects of throwing a ball to a wall\n* Playing a bright game in a dark environment\n* Short term effect of scary background music in a dark environment while playing a bright game\n* Computing the trajectory of an object in space using Kinect\n* Mapping points coordinates from trapezoidal shapes to rectangle shapes\n\n## Time table \n48 hours of hard work.\n\n## Funding\nNobody.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9-volt%2Fghost_land","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F9-volt%2Fghost_land","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9-volt%2Fghost_land/lists"}