{"id":24409404,"url":"https://github.com/paulbatchelor/orb","last_synced_at":"2026-04-28T14:34:26.965Z","repository":{"id":265352952,"uuid":"621913796","full_name":"PaulBatchelor/Orb","owner":"PaulBatchelor","description":"A 2d musical puzzle game for Android.","archived":false,"fork":false,"pushed_at":"2023-03-31T16:59:44.000Z","size":830,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-27T09:47:23.838Z","etag":null,"topics":["android","c","dsp","ndk"],"latest_commit_sha":null,"homepage":"https://paulbatchelor.github.io/proj/orb/","language":"C","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/PaulBatchelor.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-03-31T16:59:32.000Z","updated_at":"2023-11-13T00:26:41.000Z","dependencies_parsed_at":"2024-11-29T03:13:54.582Z","dependency_job_id":"cffbfec8-4023-47ed-af7a-0353d85a7782","html_url":"https://github.com/PaulBatchelor/Orb","commit_stats":null,"previous_names":["paulbatchelor/orb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PaulBatchelor/Orb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2FOrb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2FOrb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2FOrb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2FOrb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PaulBatchelor","download_url":"https://codeload.github.com/PaulBatchelor/Orb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2FOrb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263296443,"owners_count":23444489,"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":["android","c","dsp","ndk"],"created_at":"2025-01-20T05:57:56.918Z","updated_at":"2026-04-28T14:34:21.942Z","avatar_url":"https://github.com/PaulBatchelor.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![Orb](img/logo.png)\nOrb is a musical 2d puzzle game, designed primarily for Android devices. \n\n## Rules\n### 1. Propel\nPropel the Orb (the circle) and move it around. This is done by poking the\nOrb in the direction you want it to go. If you poke too quickly, Orb will\nrun out of oxygen and you will have to wait for to reinflate before propelling\nagain.\n\n![Propel](img/rule_propel.png)\n### 2. Collide\nCollide into squares in the space. \n\n![Collide](img/rule_collide.png)\n### 3. Turn off\nTurn off any \"on\" squares (filled in squares) by colliding into them. This\nwill change them into the \"off\" state (stroked squares). \n\n![Turn off](img/rule_turnoff.png)\n### 4. Toggle\nAny time a square gets turned off, it can toggle the state of other \nsquares, on to off, and off to on. The rules for these are determined for\neach level.\n\n![Toggle](img/rule_toggle.png)\n\n\nWhen all the squares have been turned off, you will ascend to the next level.\nAnd so on, and so forth...\n\n## Sound and Music\n\nThe soundtrack to Orb is synthesized entirely in realtime.  There are no\naudio files used. The synthesis is done using\n[Soundpipe](https://pbat.ch/proj/soundpipe.html). The audio components conist of the following:\n\n- 3 FM oscillators, used as background drone music\n- Enveloped filtered noise generator used for propulsion sounds\n- Modal synthesis used as a simple physical model for collisions\n- Feedback echo delay\n- Modified FDN Reverb, optimized for Android mobile devices\n\n## Graphics\n\nThe graphics are done using [NanoVG](https://github.com/memononen/nanovg),\na small anti-aliased 2d vector graphics library built on top of OpenGL. \n\n\n## Installing\nRight now, Orb must be compiled from\n[source](http://git.sr.ht/~pbatch/orb).\n\n## Screenshots\n\n![Level 1](img/small/orblevel1.png)\n\n![Level 2](img/small/orblevel2.png)\n\n![Level 3](img/small/orblevel3.png)\n\n![Level 4](img/small/orblevel4.png)\n\n![Level 5](img/small/orblevel5.png)\n\n## demo\n\nCurrently hosted on [youtube](https://www.youtube.com/embed/Q3QjTMByalk).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulbatchelor%2Forb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulbatchelor%2Forb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulbatchelor%2Forb/lists"}