{"id":18886917,"url":"https://github.com/lostjared/masterpiece3d.javascript","last_synced_at":"2026-02-23T20:30:20.829Z","repository":{"id":241423931,"uuid":"806793073","full_name":"lostjared/MasterPiece3D.JavaScript","owner":"lostjared","description":"Conversion of an old C++ OpenGL GLUT demo to JavaScript/WebGL","archived":false,"fork":false,"pushed_at":"2024-05-28T12:47:46.000Z","size":291,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-31T05:17:31.506Z","etag":null,"topics":["javascript-demo","opengl-demo","puzzle-game","webgl"],"latest_commit_sha":null,"homepage":"http://lostsidedead.biz/mp3d","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lostjared.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-27T23:14:24.000Z","updated_at":"2024-05-28T12:47:49.000Z","dependencies_parsed_at":"2024-05-28T08:45:15.757Z","dependency_job_id":"fd1d5a5c-0c10-40b3-8eee-d672650349b3","html_url":"https://github.com/lostjared/MasterPiece3D.JavaScript","commit_stats":null,"previous_names":["lostjared/masterpiece3d.javascript"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostjared%2FMasterPiece3D.JavaScript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostjared%2FMasterPiece3D.JavaScript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostjared%2FMasterPiece3D.JavaScript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostjared%2FMasterPiece3D.JavaScript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lostjared","download_url":"https://codeload.github.com/lostjared/MasterPiece3D.JavaScript/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239859566,"owners_count":19708861,"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":["javascript-demo","opengl-demo","puzzle-game","webgl"],"created_at":"2024-11-08T07:32:02.660Z","updated_at":"2026-02-23T20:30:20.780Z","avatar_url":"https://github.com/lostjared.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MasterPiece3D.JavaScript\n\n![screenshot](https://github.com/lostjared/MasterPiece3D.JavaScript/blob/main/mp3d.jpg)\n\n![screenshot2](https://github.com/lostjared/MasterPiece3D.JavaScript/blob/main/mp3d_per.jpg)\n\nConversion of an old C++ OpenGL GLUT demo to JavaScript/WebGL\nThis is a WebGL-based block game where the player can control falling \nblocks, rotate their colors, and attempt to match colors in a grid.\n\nThe original project source code can be found here:\nhttps://github.com/lostjared/Old.Learning.Projects/tree/master/mp3d_win32_vs.net2003\n\n## Features\n\n- Control falling blocks using keyboard inputs.\n- Rotate block colors using the Up arrow key.\n- Move blocks left, right, and down using arrow keys.\n- New blocks are released when last block it set to the grid.\n- Basic game mechanics implemented with WebGL for rendering.\n\n## Controls\n\n- **Arrow Keys**: Move the block left, right, and down.\n- **Up Arrow Key**: Rotate the colors\n- **H / h**: Reset rotation angles.\n- **D / d**: Set specific rotation angle for the block.\n- **V / v**: Set different specific rotation angles.\n\n### Prerequisites\n\n- Web browser with WebGL support (most modern browsers).\n- Web Server (can use Python)\n\nTo View this locally run in this directory\n\n```bash\npython3 -m http.server 3000\n```\nthen point your web browser to localhost:3000\n\n\n## Project Structure\n\n- `index.html`: The main HTML file.\n- `main.js`: The main JavaScript file containing game logic and WebGL \nrendering.\n- `gl-matrix.js`: A library for matrix operations (used for \ntransformations in WebGL).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flostjared%2Fmasterpiece3d.javascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flostjared%2Fmasterpiece3d.javascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flostjared%2Fmasterpiece3d.javascript/lists"}