{"id":20789785,"url":"https://github.com/samualtnorman/voltorb-flip","last_synced_at":"2026-02-25T02:33:29.889Z","repository":{"id":46532072,"uuid":"265976780","full_name":"samualtnorman/voltorb-flip","owner":"samualtnorman","description":"Visually accurate recreation of VOLTORB Flip game from Pokemon HeartGold and SoulSilver written in TypeScript.","archived":false,"fork":false,"pushed_at":"2024-09-24T13:31:51.000Z","size":4717,"stargazers_count":14,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-25T23:36:24.073Z","etag":null,"topics":["minesweeper","picross","pokemon","tile","typescript","voltorb","voltorbflip"],"latest_commit_sha":null,"homepage":"https://samual.uk/voltorb-flip/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/samualtnorman.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,"zenodo":null}},"created_at":"2020-05-21T23:55:27.000Z","updated_at":"2025-06-22T20:16:23.000Z","dependencies_parsed_at":"2024-11-17T15:34:40.596Z","dependency_job_id":"f1b8fbb3-15e7-4295-b346-3f528a09eeac","html_url":"https://github.com/samualtnorman/voltorb-flip","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/samualtnorman/voltorb-flip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samualtnorman%2Fvoltorb-flip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samualtnorman%2Fvoltorb-flip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samualtnorman%2Fvoltorb-flip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samualtnorman%2Fvoltorb-flip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samualtnorman","download_url":"https://codeload.github.com/samualtnorman/voltorb-flip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samualtnorman%2Fvoltorb-flip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29809086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T22:43:48.403Z","status":"online","status_checked_at":"2026-02-25T02:00:07.329Z","response_time":61,"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":["minesweeper","picross","pokemon","tile","typescript","voltorb","voltorbflip"],"created_at":"2024-11-17T15:29:11.556Z","updated_at":"2026-02-25T02:33:29.870Z","avatar_url":"https://github.com/samualtnorman.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build Test](../../workflows/Build%20Test/badge.svg)\n\nSee [the demo](https://samual.uk/voltorb-flip/) on [my website](https://samual.uk/).\n\n# Voltorb Flip\nThis is an open source faithful recreation of VOLTORB Flip from Pokémon HeartGold and SoulSilver written in typescript (a superset of javascript). None of the code is commented (sorry) but I'm open to pull requests if you have a bug fix or feature. Thanks.\n\n![screenshot](docs/screenshot.png)\n\n# Features\n## Levels\nLevels are fully supported as they appear in the original game. If the player successfully finds all 2s and 3s, they advance one level, and if the player turns over a voltorb before flipping at least the current level number of tiles, they are dropped back to level 1, other wise they stay on the current level\n\nWinning 5 levels in a row will also take the player straight to level 8 just like the original game.\n\n## Memos\nThe memo menu is opened and closed by pressing the Open/Close Memo button. Selecting or unselecting a memo in the memo menu highlights or unhighlights that memo on the currently selected tile.\n\nThere are two features related to memos that do not appear in the original game however that were added for convenience. The first feature is that when only 1 memo is selected on a tile, a big version of that memo is highlighted instead of a tiny version in one of the corners. The second extra feature is the repeat/recurse option in the memo menu. This is not a back/close button. Highlighting this and selecting a new tile copies over the selected memos.\n\n## Mass Flipping/Highlighting\nIt is possible to flip or highlight a whole row or column at once by holding Ctrl on the keyboard, holding down the left mouse button, and dragging the curser across tiles to flip or highlight them all at once.\n\n## Coin Total\nCoins are counted up across all games however the score is reset upong refreshing the page (at the moment).\n\n# Future Features\n## Scoreboard\nI intend to add a global scoreboard that keeps track of people's scores before hitting level 1 again. Upon hitting level 1, the game would ask for a nickname like a classic arcade game, and then display their chosen nickname and score in the scoreboard.\n\n## Keyboard Controls\nCurrently the game requires a mouse or trackpad to play, but I intend to make the whole game playable from a keyboard using arrow keys and such.\n\n## Dedicated Engine\nAlthough this isn't a visible change, I am working on a dedicated HTML5 Engine designed around the canvas element and based on this project. I can then strip away much of the unrelated code to make working on this project simpler.\n\n# Compilation\nThis project requires and uses Node and NPM (which comes with Node). If you're on Windows, you can download the installer [here](https://nodejs.org), otherwise install Node from your preferred package manager.\n\nCompiling will produce a website in the dist folder of the project. To \"run\" the game, open the `index.html` file found in the dist folder in your preferred browser.\n\nTo build the project on a linux machine, open a command line in the project folder, and run `npm run build`.\n\n## Debugging\nIf you are writing a feature or fixing a bug and are incrementally testing changes and don't want to have to recompile the whole project every five seconds you can instead a primitive debug mode.\n\nEnter the project folder in a command line, and run `npm run watch`. This command works on any OS since no folder is being deleted. Every time a change is detected in the code, parts of the project are automatically recompiled.\n\n# Modifying\nThe core of the project is a single script found at `voltorb-flip/src/index.ts`. If you want to make a change, this is where you'd do it. I put assets that aren't code like images and music in `voltorb-flip/src/assets/.`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamualtnorman%2Fvoltorb-flip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamualtnorman%2Fvoltorb-flip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamualtnorman%2Fvoltorb-flip/lists"}