{"id":3749,"date":"2026-04-28T10:53:16","date_gmt":"2026-04-28T05:23:16","guid":{"rendered":"https:\/\/reliablesoftwares.com\/blog\/?p=3749"},"modified":"2026-04-26T11:33:41","modified_gmt":"2026-04-26T06:03:41","slug":"a-tiny-geometry-engine-in-your-pocket","status":"publish","type":"post","link":"https:\/\/reliablesoftwares.com\/blog\/a-tiny-geometry-engine-in-your-pocket\/","title":{"rendered":"A Tiny Geometry Engine In Your Pocket"},"content":{"rendered":"<p><a href=\"https:\/\/reliablesoftwares.com\/apks\/ricochet.apk\"><strong>Ricochet<\/strong><\/a> is what happens when you take the most satisfying part of pool, snooker, and laser tag and strip away everything else. You aim a beam from the bottom of the screen toward a red target somewhere above. The beam reflects off the screen edges. Every reflection costs you a bounce from your budget.<\/p>\n<p>Easy levels give you four bounces. Brutal ones give you one. Suddenly the casual flick becomes a careful angle calculation done entirely with your eyes.<\/p>\n<h2 id=\"why-bounded-reflection-is-brain-candy\">Why Bounded Reflection Is Brain Candy<\/h2>\n<p>Humans are absurdly good at spatial trajectory prediction &#8211; it is what kept our ancestors from being eaten by anything that moved faster than them. Ricochet plugs straight into that primal subsystem.<\/p>\n<p>The catch is that when you constrain the bounce count, the obvious path stops working. You have to picture the mirror trick &#8211; where the target would appear if walls were transparent. Once that mental flip clicks, levels you thought were impossible become trivial. That moment of insight is the dopamine hit the entire game is built around.<\/p>\n<h2 id=\"the-code\">The Code<\/h2>\n<p>The whole game is a <code>CustomPainter<\/code> plus a tiny physics loop. Step the laser by twelve sub-steps per frame to avoid wall-tunneling. On each step, check screen edges for reflection, check distance to the target for a hit. Decrement bounce count on each wall, end the run if it hits zero.<\/p>\n<p>No pathfinding, no AI, no level designer. The random target plus random bounce limit produces hundreds of unique puzzles for free.<\/p>\n<h2 id=\"try-it\">Try It<\/h2>\n<p>Source, custom icon, sound effect, release APK on GitHub. Sideload, find your favorite angle, then watch yourself second-guess it. <a href=\"https:\/\/reliablesoftwares.com\/apks\/ricochet.apk\">Click here to download it for free.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ricochet is what happens when you take the most satisfying part of pool, snooker, and laser tag and strip away<\/p>\n","protected":false},"author":1,"featured_media":3750,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[759,10,3,744],"tags":[446,392,844],"class_list":["post-3749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-app","category-blog","category-games","tag-ai","tag-game","tag-ricochet"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pgLsB5-Yt","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":3700,"url":"https:\/\/reliablesoftwares.com\/blog\/light-box-bend-light-hit-targets-solve-puzzles\/","url_meta":{"origin":3749,"position":0},"title":"Light Box: Bend Light, Hit Targets, Solve Puzzles","author":"saifuddin","date":"April 15, 2026","format":false,"excerpt":"A laser shoots across an 8x8 grid. There are targets to hit. Between them are mirrors you can rotate. Your job: figure out the angles. Light up everything. Light Box is a pure logic puzzle game built around one of the most satisfying mechanics in all of gaming: watching a\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/reliablesoftwares.com\/blog\/category\/blog\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/lightbox.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/lightbox.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/lightbox.jpeg?fit=540%2C1200&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3727,"url":"https:\/\/reliablesoftwares.com\/blog\/ascent-an-infinite-climb-where-falling-isnt-the-end\/","url_meta":{"origin":3749,"position":1},"title":"Ascent: An Infinite Climb Where Falling Isn&#8217;t the End","author":"saifuddin","date":"April 22, 2026","format":false,"excerpt":"Tap left. Tap right. Climb forever. There is no top. Ascent is an infinite vertical platformer where your character auto-jumps the second their feet touch a platform \u2014 and the only thing that ends a run is forgetting how high you've climbed. I wanted to make the kind of game\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/reliablesoftwares.com\/blog\/category\/blog\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/ascent.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/ascent.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/ascent.jpeg?fit=540%2C1200&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3790,"url":"https:\/\/reliablesoftwares.com\/blog\/i-built-30-android-games-without-writing-a-single-line-of-code-heres-how-ai-did-it-all\/","url_meta":{"origin":3749,"position":2},"title":"I Built 30 Android Games Without Writing a Single Line of Code \u2014 Here&#8217;s How AI Did It All","author":"saifuddin","date":"May 20, 2026","format":"aside","excerpt":"The future of indie game development isn\u2019t a studio. It\u2019s a chat window. Six months ago, I had an idea I couldn\u2019t shake: what if one person, with no team, no game engine expertise, and no traditional coding sprints, could ship 30 fully playable Android games? Not prototypes. Not janky\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/reliablesoftwares.com\/blog\/category\/blog\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/05\/30-games-feature-image.jpg?fit=1199%2C812&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/05\/30-games-feature-image.jpg?fit=1199%2C812&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/05\/30-games-feature-image.jpg?fit=1199%2C812&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/05\/30-games-feature-image.jpg?fit=1199%2C812&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/05\/30-games-feature-image.jpg?fit=1199%2C812&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3736,"url":"https:\/\/reliablesoftwares.com\/blog\/reaction-chain-one-tap-one-explosion-watch-everything-die\/","url_meta":{"origin":3749,"position":3},"title":"Reaction Chain: One Tap. One Explosion. Watch Everything Die.","author":"saifuddin","date":"April 25, 2026","format":false,"excerpt":"You get one tap. Colorful circles drift across your screen -- bouncing off walls, gently pulling toward each other, clustering and separating in lazy orbits. They are alive. They are beautiful. And your job is to destroy as many of them as possible with a single touch. Tap the screen.\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/reliablesoftwares.com\/blog\/category\/blog\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/reaction_chain.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/reaction_chain.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/reaction_chain.jpeg?fit=540%2C1200&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3712,"url":"https:\/\/reliablesoftwares.com\/blog\/hex-dodge-the-minimalist-reflex-game-that-will-crush-you\/","url_meta":{"origin":3749,"position":4},"title":"Hex Dodge: The Minimalist Reflex Game That Will Crush You","author":"saifuddin","date":"April 18, 2026","format":false,"excerpt":"A glowing hexagonal arena. Walls closing in from every direction. One gap. One chance. You have less than three seconds to find it and move -- or the arena swallows you whole. That is the entire premise of Hex Dodge, and it is all you need. No power-ups, no upgrades,\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/reliablesoftwares.com\/blog\/category\/blog\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/hexa.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/hexa.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/hexa.jpeg?fit=540%2C1200&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3781,"url":"https:\/\/reliablesoftwares.com\/blog\/touch-the-sky-literally\/","url_meta":{"origin":3749,"position":5},"title":"Touch The Sky, Literally","author":"saifuddin","date":"May 8, 2026","format":false,"excerpt":"Glide asks the smallest possible question every frame - lift or no lift? Hold the screen and your paper plane fights gravity. Release and it falls. Yellow updrafts give a strong vertical boost when your plane crosses through them. Below, mountains rise unpredictably out of the ground. Above, the sky\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/reliablesoftwares.com\/blog\/category\/blog\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/glide.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/glide.jpeg?fit=540%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/glide.jpeg?fit=540%2C1200&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/reliablesoftwares.com\/blog\/wp-content\/uploads\/2026\/04\/WhatsApp-Image-2026-04-26-at-10.57.16.jpeg?fit=720%2C1600&ssl=1","_links":{"self":[{"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/posts\/3749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/comments?post=3749"}],"version-history":[{"count":1,"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/posts\/3749\/revisions"}],"predecessor-version":[{"id":3751,"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/posts\/3749\/revisions\/3751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/media\/3750"}],"wp:attachment":[{"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/media?parent=3749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/categories?post=3749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reliablesoftwares.com\/blog\/wp-json\/wp\/v2\/tags?post=3749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}