{"id":24694427,"url":"https://github.com/snokke/game-boy-challenge","last_synced_at":"2025-04-07T12:03:37.212Z","repository":{"id":182611637,"uuid":"668615651","full_name":"Snokke/game-boy-challenge","owner":"Snokke","description":"Interactive Game Boy - Three.js Journey Challenge","archived":false,"fork":false,"pushed_at":"2025-02-18T22:47:09.000Z","size":13030,"stargazers_count":87,"open_issues_count":0,"forks_count":15,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T12:03:32.135Z","etag":null,"topics":["gameboy","games","three-js"],"latest_commit_sha":null,"homepage":"https://gameboy.andriibabintsev.com","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/Snokke.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-20T08:12:34.000Z","updated_at":"2025-03-31T09:55:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"ddfb21e4-ae78-4a9b-a25a-e18bdfb3782e","html_url":"https://github.com/Snokke/game-boy-challenge","commit_stats":null,"previous_names":["snokke/game-boy-challenge"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snokke%2Fgame-boy-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snokke%2Fgame-boy-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snokke%2Fgame-boy-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snokke%2Fgame-boy-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snokke","download_url":"https://codeload.github.com/Snokke/game-boy-challenge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648976,"owners_count":20972945,"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":["gameboy","games","three-js"],"created_at":"2025-01-26T23:58:56.636Z","updated_at":"2025-04-07T12:03:37.184Z","avatar_url":"https://github.com/Snokke.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interactive Game Boy - Three.js Journey Challenge\n![screenshot-for-post](https://github.com/Snokke/game-boy-challenge/assets/36459180/339a94c1-4a83-406e-9a56-829173cd136d)\n🔥 **Live: [gameboy.andriibabintsev.com](https://gameboy.andriibabintsev.com/)**\n\nThis is my project for **Three.js Journey Challenge** - challenge by **Bruno Simon** ([threejs-journey.com](https://threejs-journey.com/)), where participants should create project in two weeks with main renderer library Three.js on a given theme. Theme of this challenge was **Game Boy**. And I was fortunate to have won this challenge: [Winners](https://threejs-journey.com/challenges/001-game-boy)🏆\n\nMy idea was to create an interactive Game Boy and from scratch create at least one game for it (without emulator).\n\nAll buttons of Game Boy are active, including the power switch on top and the volume controller at the side. You can also insert any of three cartridges into the Game Boy.\nMaking the model of the Game Boy was a challenge, but I'm happy with the final result of the model and the grainy texture.\n\n## Games\n![games](https://github.com/Snokke/game-boy-challenge/assets/36459180/c1cde4d1-63da-4899-844b-1cecd10edb91)\n**Tetris** - this is not an emulator. I always wanted to try to create some classic game, so making Tetris was really fun and interesting. It's a full game with all the main logic (only Type-A game - endless game), all shapes, music, SFX, scores, and so on. Also there is one new shape - invisible shape (you can turn it off is control panel)\n\n**Space Invaders** - this is also not an emulator. I tried to recreate legendary old classic Space Invaders. Invaders are coming, kill them all! 🛸\n\n**Legend of Zelda** - give it a try, but I have a feeling that there is something wrong with the cartridge 👀\n\n## Controls\n- Arrows, WASD - D-pad\n- Z, Space - A button\n- X - B button\n- Enter - START\n\nMouse Scroll - Zoom to the Game Boy. On mobile, tap on the screen to zoom in/out. After you rotate the Game Boy, you can reset the rotation by clicking on the background. Also, in Tetris, you can turn off the music by pressing SELECT.\n\n## Technical details\n- 3D engine: [Three.js](https://threejs.org/)\n- 2D engine for games: [PixiJS](https://pixijs.com/)\n- Control panel: [Tweakpane](https://cocopon.github.io/tweakpane/)\n- Models are done with [Blender](https://www.blender.org/)\n\n## Setup\nDownload [Node.js](https://nodejs.org/en/download). Run this followed commands:\n\n```\n# Install dependencies\nnpm install\n\n# Run the local server at localhost:5173\nnpm start\n\n# Build for production in the dist/ directory\nnpm run build\n```\n\n## Copyrights\nNintendo logo is trademark of Nintendo.\nTetris logo and Tetriminos are trademarks of Tetris Holding.\nSpace Invaders logo is trademark of Taito Corporation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnokke%2Fgame-boy-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnokke%2Fgame-boy-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnokke%2Fgame-boy-challenge/lists"}