Pushup RPG - A push-up is a game input

Yerasyl Amanbek, founder of Pushup RPG at ReLife Studio, on turning a real push-up into an attack, and why a pose estimate is not the same as a counted repetition.

By Yerasyl AmanbekGuest|Last updated: November 13, 2026|5 minutes read
community spotlightindie
Pushup RPG - A push-up is a game input
I'm Yerasyl Amanbek, founder of Pushup RPG at ReLife Studio in Kazakhstan. I'm building the game full-time. The idea is simple: make the effort you put into a real workout matter inside a game. A push-up or squat becomes an attack.

Eight realms, one repetition at a time

The adventure takes your hero through eight realms, starting in the Sunlit Meadow and working towards enemies such as Aurelion, the Astral Eye. Along the way, you fight 48 foes, earn experience and collect equipment to develop your character. A fight starts with choosing a stage and propping up your phone so the camera can see you. Against the Meadow Warden, for example, you do real push-ups or squats: each completed repetition becomes an attack and takes a little more health off the enemy. When you win, you collect XP, gold and loot before moving on. Guilds and live duels give you ways to train with other people too. I want reaching the next encounter to be a reason to come back for another workout.

The count stays on the device

Underneath that loop are two native applications: Swift and SwiftUI on iOS, and Kotlin and Compose on Android. Apple Vision supplies body-pose estimates on iOS; ML Kit does that job on Android. The counting pipeline runs on the device, so it does not need to upload camera video to a server to decide whether a repetition counts.

A pose is not a push-up

The important distinction is between finding a body and understanding an action. A pose estimate gives you joint positions for a moment in time. It does not tell you that someone has completed a push-up. Our detection code follows movement over time, uses calibration and state, and emits a repetition event when it accepts a completed movement cycle.

An uncertain frame is not an attack

That changes how I think about the camera. Propping up the phone, entering the frame and briefly losing a joint are all situations the input system has to handle. A frame with uncertain tracking is not automatically a player action. For another developer experimenting with body movement, I'd start by separating the observations from the decisions: what did the camera see, and what does the game think happened?

Agree on one coordinate convention

The two platforms also describe space differently. Vision uses normalized coordinates with the vertical axis pointing up. ML Kit supplies image-pixel coordinates with that axis pointing down. The Android implementation normalizes and flips those coordinates before the movement logic uses them. Agreeing on a coordinate convention makes it possible to compare the two implementations without confusing a representation difference with a gameplay difference.

The skeleton and the attack use different paths

There is also a useful separation between visual feedback and game events. Camera frames arrive much more frequently than new attacks. I keep the high-frequency skeleton overlay on its own callback path, while SwiftUI and Compose receive coarser changes such as tracking state and accepted repetitions. The whole game interface does not need to rebuild for every camera frame.

The player has to know whether it counted

For me, feedback belongs in that same input design. A player doing a set should be able to understand whether the camera can see them and whether their action registered. Phone placement, viewing angle and the messages on screen deserve attention alongside the monster animation. Drawing a convincing skeleton alone does not solve that communication problem. Pushup RPG is available on iOS and Android, with a free core and optional membership and purchases. For another developer working with an unusual controller, I'd start with three things: a clear definition of an accepted action, a shared coordinate convention and feedback the player can understand during play. Those decisions connect the sensor to the game.

Play Pushup RPG

About the author

Yerasyl Amanbek is the founder of Pushup RPG at ReLife Studio in Kazakhstan. He is building the game full-time.
00 views
00 shares

Discussion about this post

Comments are reviewed before they appear on the article.

No comments yet. Be the first to start the discussion.

Frequently asked questions

Newsletter

Stay in the Loop.

Subscribe to our newsletter to receive the latest news, updates, and special offers directly in your inbox. Don't miss out!