perfectdesign.

Games and play

Mobile game development

A game is judged by how it feels to play, which makes it a different kind of project from the business software we build most days. This page is about scoping one honestly.

In short

Scope a game around one playable loop first: an action, a response the player understands without being told, a goal that ends the attempt, and a recovery path when play is interrupted. Everything expensive follows from that, because art, audio, levels and balancing are a production line rather than a feature list. Connectivity is the second fork, since offline, social and real-time multiplayer are three different projects with different backends and running costs. And a game is a specialist discipline, so part of scoping one is deciding whether you need a games studio or a software team that can build a contained game inside your product.

Written for a business owner or founder deciding whether a mobile game idea is defined well enough to build, release and keep running · 7 min read

A game is a different discipline from business software

In business software the specification is close to the truth. Someone books an appointment, the record changes state, and the record tells you whether it worked. A game cannot be judged that way. It can be built exactly as written and still be dull, and the only way to find out is to play it. So the budget has to include iteration on how it feels, not just finishing the features.

The second difference is the content pipeline. Art, audio, animation, level data and the tooling that gets them into the build are a production line staffed by people who do not write code, and on most small games it costs more than the engineering. A feature list hides that, which is why game budgets tend to be wrong in the same direction.

A word on fit before the advice. Cross-platform React Native is our default for apps, which suits business software and is not a game engine. What we can evidence is the other half of a game: accounts, records, rules, permissions, admin tooling and the systems a business already runs on. The playable half is a craft we would not claim without showing you something playable.

Make the first playable loop complete before anything else

A loop is complete when four things exist. One action the player takes. A response they can read without instructions. A goal that ends the attempt. And a recovery path when a move is invalid or play is interrupted. Until all four exist there is nothing to test and nothing to price, because the rest of the project is content wrapped around that loop.

Genre decides session length, and session length decides most of the rest. A ninety-second puzzle attempt wants instant restart, forgiving saves and short notifications. A twenty-minute strategy session wants resumable state, a clear pause and a reason to return. Settle both, then build one level that plays properly on a mid-range phone. One level that feels right is worth more than ten that do not.

A fictional single-player puzzle prototype, worked through three steps
Workflow stepAssumed actorProposed system responseExceptionAcceptance evidence to collect
Play the core loopPlayerMoves register, feedback reads without instructions and a goal ends the attemptAn invalid move or interruption needs the chosen recovery behaviour, not a silent failurePlay session observations against the assumed rules, on each device tier you support
Save and resumePlayerProgress restores according to the agreed local or cloud designA save conflict between two devices, or no connection when cloud saving was assumedInterruption, device and save-state tests, including the conflict path and a forced close
Prepare a releaseGame ownerLicensed art and audio, supported devices and store requirements are reviewed togetherMissing rights or an unsupported device tier blocks the releaseRights status per asset, device results and a written release decision, with monetisation scoped separately
The loop that has to work before anything else is built. Until all four exist there is nothing to test and no basis for an estimate. A full text version follows.

The loop that has to work before anything else is built

Editorial framework. Until all four exist there is nothing to test and no basis for an estimate.

Basis: Apple: App Review Guidelines. Reviewed .

Read the graphic as text
  • Action. The thing the player actually does
  • Feedback. They can see it worked
  • Progress. Something changed and persists
  • Reason to repeat. Why do it a second time
Download this infographic (SVG)

Offline, social and real-time are three different projects

Offline play is the cheapest thing to run. Progress lives on the device, there is no server, and the decisions are the save format, what happens to old saves when you ship an update, and whether progress follows someone to a new phone. Deferring cloud saves is usually right, and easy to add later if the save format allowed for it.

Social play adds identity: accounts, invitations, leaderboards and shared scores, which means a backend and the account work described in accounts and portals. It also adds a duty. Once players can display or send anything to each other you have user-generated content, and Apple's guidelines require such apps to filter objectionable material, provide a way to report offensive content with timely responses, block abusive users and publish contact details. A leaderboard with free-text names counts, and it is where most small games meet that rule first.

Real-time multiplayer is a different product again. Someone must be authoritative about what happened, latency and reconnection become gameplay problems rather than technical ones, cheating starts the moment the device is trusted, and servers cost money whether or not anyone plays. Unless the game is not a game without it, defer it.

Three scopes wearing the same word. These are not tiers of the same build; the third is a different engineering project. A full text version follows.

Three scopes wearing the same word

Editorial framework. These are not tiers of the same build; the third is a different engineering project.

Basis: Google Play: Quality guidelines. Reviewed .

Read the graphic as text
  • Offline. One device, one player, no server
  • Social. Accounts, leaderboards, asynchronous play
  • Real-time. Shared state, latency, cheating to handle
Download this infographic (SVG)

Art, engines, devices and the phones that run hot

Choosing 2D or 3D sets the size of the content team and the performance budget in one decision. After that the constraints are physical, starting with a download size that decides whether people install at all. Android's game documentation points developers at Play Asset Delivery for large assets, Vulkan for graphics performance and its adaptive performance framework for thermal changes, the polite description of a phone getting hot and quietly slowing down mid session. Test on the phones your players hold, including cheap ones.

Engine choice follows requirements, not preference. Unity's Android manual is organised as platform concepts, project setup, Android-specific development such as input, asset management and debugging, then building and publishing, which is a fair map of the work whichever engine you pick. Our position is the honest one: we will not claim depth in a game engine we cannot evidence. If your game needs a full engine pipeline with 3D content and an art team behind it, the better partner is a studio that already lives in that toolchain.

Malaysia is a two-platform market. Ship to one platform in Malaysia and you have written off roughly two in five of the people you wanted. The split is close enough that the question is which comes first, not which one. A full text version follows.

Malaysia is a two-platform market

Published statistic. Ship to one platform in Malaysia and you have written off roughly two in five of the people you wanted. The split is close enough that the question is which comes first, not which one.

Source: StatCounter GlobalStats: mobile OS share, Malaysia, Sept 2025 to Aug 2026. Reviewed .

Read the graphic as text

Malaysia

  • Android: 60.15%. The larger share, and the wider range of devices to test on
  • iOS: 39.58%. Nearly two in five, and higher in the cities where most buying happens
  • Everything else: 0.27%. Samsung Internet on other systems, and a long tail
Download this infographic (SVG)

Release evidence, money and the work that starts at launch

Release is a set of evidence rather than a date. A rights record for every piece of art, audio and font, including what the licence permits. Performance results per device tier. Store metadata that matches the real experience, since Apple requires the description, screenshots and previews to reflect it. An honestly answered age rating. If players can create accounts, Apple requires account deletion inside the app, and Google Play requires an in-app deletion path plus a web route to request it.

Money has platform rules before it has a business model. Apple requires unlocking features or content inside an app to go through in-app purchase, and requires odds to be disclosed before purchase for loot boxes or anything else selling randomised virtual items. Auto-renewing subscriptions must provide ongoing value and run at least seven days. Real-money gaming needs licensing where the app is used and must be geo-restricted, one reason we do not build gambling products. Nobody can promise downloads or revenue.

Then the part people forget to budget: a game that stops getting new content usually stops being played. Add operating-system updates, new devices, dependency upgrades, store policy changes, player support and moderation, and live operations is continuing work rather than a launch expense.

What the stores charge to be there. Selling physical goods or services through an app costs no commission. The percentage only applies to digital goods bought inside the app. A full text version follows.

What the stores charge to be there

Published statistic. Selling physical goods or services through an app costs no commission. The percentage only applies to digital goods bought inside the app.

Source: Apple: Developer Program membership, and App Store Small Business Program. Reviewed .

Also: Google Play Console Help: open a developer account.

Also: Google Play Console Help: service fees.

Read the graphic as text
  • Google Play account: $25. A one-time registration fee
  • Apple Developer Program: $99. Every year, or the apps come down
  • Commission on digital sales: 15%. Both stores, up to $1M a year in proceeds, then 30%. Google says 97% of developers pay no service fee at all
Download this infographic (SVG)

When a specialist studio is the better call

If the game is the business, you want a studio: retention and monetisation design, art direction at scale, 3D or animation pipelines, live multiplayer, a content roadmap that keeps producing for years. Ask any candidate to let you play three things they shipped and to talk about the ones that failed. We would be the wrong partner for that, and saying so early is cheaper than finding out in month four.

Where a software team fits is a contained game inside a business product. A loyalty mini-game tied to a real account and reward. A training module scored against a curriculum. A branded promotion with a leaderboard behind it. There the difficult parts are ones ordinary software is good at: rules, state, accounts, permissions, admin tooling, anti-abuse and integration with the system that already runs the business.

What to bring to a scoping conversation

Bring the player task in one sentence, the loop as you imagine it, whether play is offline, social or real time, what content exists and who owns the rights, the devices your players hold, how you expect it to make money, and who keeps it running. The gaps are usually the useful part of the conversation.

Send a scoped enquiry and we will tell you which parts are defined well enough to price, which need deciding first, and whether the honest answer is a studio rather than us. Mobile app development covers the platform, backend and ownership decisions that apply to any app, and the core systems we build shows the accounts and admin work that sits behind one.

What you get

What is actually delivered

01

A go or no-go recommendation

An honest read on whether the idea is a studio project, a contained game inside a business product, or not a game at all, given before anyone quotes a build.

02

The loop written down

The action, the response, the goal and the recovery path for invalid or interrupted play, agreed in writing before content or art is commissioned.

03

A playable slice

One level or one session running on real devices, so the feel is judged from something you can hold rather than from a specification.

04

Connectivity decision with its consequences

Offline, social or real time chosen deliberately, with the backend, running cost and moderation duties each option carries set out plainly.

05

Content and rights register

Every art, audio and font asset listed with its source, its licence terms and whether the licence permits the use you intend at the scale you intend.

06

Device and performance test plan

The device tiers you support, what is tested on each, and how the build behaves when a phone throttles, loses signal or is interrupted mid session.

07

The system behind the game

Accounts, progress records, leaderboards, purchases, admin tooling and the reporting and blocking controls any social feature has to carry.

08

Release evidence and handover

Rights status, device results, store metadata, privacy and deletion behaviour, with the source in your repository and the store accounts in your name.

How it runs

Qualify the idea, prove the loop, then commit

Most game budgets are lost before anyone writes code, on content commissioned for a loop that was never tested. We front-load that risk and we tell you when the project belongs elsewhere.

  1. 01

    Qualify honestly

    We work out whether this is a studio project or a contained game inside a business product, and say which. If it is a studio project, that is the recommendation you get.

  2. 02

    Define the loop

    We write down the action, the response, the goal, the session length and the recovery path for interruptions, then agree what the first playable slice includes and excludes.

  3. 03

    Prototype the slice

    You get one level or one session running on real devices, including the weak ones, so the feel is judged from play rather than from a document.

  4. 04

    Build the surrounding system

    Accounts, progress, leaderboards, purchases and admin tooling are built as ordinary software, with reporting and blocking wherever players can see each other.

  5. 05

    Release with evidence

    Rights, device results, store metadata, age rating, privacy and deletion behaviour are assembled before submission, and the accounts stay in your name.

  6. 06

    Operate or hand over

    Content updates, operating-system changes, dependency upgrades and player support are scoped as continuing work, or handed to whoever you choose to run it.

Proof

Work you can click through

PantryCue is our own React Native app, with live camera scanning, local notifications, an offline pantry and a Cook Mode that reads steps aloud. You can try the web build, and there is an installable Android build; it is not on the App Store or Google Play.

Concept prototypes are labelled as prototypes everywhere they appear. They demonstrate what we can build, not work delivered for that named client. More client work is going live and will be added as it does.

How we work

The parts people ask about before they commit

How we build

React first, other languages when a project needs them

We build in React by preference, on both web and mobile, and we work in other languages when a project genuinely calls for it.

App stores

The accounts stay in your name

Your business owns the Apple Developer and Google Play accounts. We set them up in your name, prepare certificates and signing, and submit builds for you.

  • Apple Developer and Google Play account setup in your name
  • Certificates, signing and provisioning
  • TestFlight and internal test tracks for review builds
  • Store listing preparation and submission on your behalf

Timeline

Project dependent, and often quicker than expected

Timelines are project dependent. A focused build can go live in about a week, while a larger platform takes longer once scope is agreed.

Ongoing care

Quoted with the project, not bolted on

For a more complex website or a system with a real backend, ongoing care starts from RM 250 a month, with the plan confirmed against what was actually launched. Care is quoted with the project, not bolted on afterwards.

Getting hold of us

Normally under one working day

We normally respond to a support request in under one working day, and we work to solve problems as fast as we can. That is how we normally work rather than a contractual guarantee, and responding is not the same as resolving. If your operation needs a formal response or resolution commitment, we can write one into your scope.

Ownership

Everything belongs to your business

You own everything we build for you: the code, the content, the domain, the hosting account and every third-party account opened for the project. There is no lock-in. If you move to another provider, everything goes with you and we help with the handover.

  • Source code, handed over in your own repository
  • Domain and DNS, registered to your business
  • Hosting and every service account, in your name
  • Analytics, search and ad accounts, with us as a manager you can remove
  • All content, media and data in the system

Questions

Asked about mobile games

Straight answers to what people ask before they commit. Anything else, message us.

What part of a game are you strongest on?

The systems half. Our published work is websites, business systems and concept prototypes, which covers the accounts, records and admin half of a game and not the playable half.

Can you build it in Unity or Unreal?

Cross-platform React Native is our default for apps, and it is not a game engine. If your game needs a full engine pipeline with 3D content and an art team feeding it, the honest options are a studio that already works in that toolchain or a scope small enough that it does not need one. We will tell you which we think you are looking at.

What sort of game would you take on?

A contained game inside a business product: a loyalty mini-game tied to a real account, a training module scored against a curriculum, a branded promotion with a leaderboard, an onboarding sequence that teaches through play. The hard parts there are rules, state, accounts, permissions, admin tooling and integration, which is work we can evidence.

What does a mobile game cost?

There is no package price for one, and any figure quoted before the loop is defined is a guess. Our website packages are published on the pricing page for context, but a game is quoted against its scope, and the content pipeline usually moves the number more than the code does.

How long does it take?

Timelines are project dependent and a focused build can go live in about a week, though a game with real content is rarely that. Two things sit outside our control: how many iterations the loop needs before it plays well, and store review after submission. Both are worth planning around.

Will it make money?

We do not forecast downloads or revenue and you should be wary of anyone who does. What we can do is build the monetisation correctly: purchases through the platform where the rules require it, odds disclosed before purchase for anything randomised, subscriptions that deliver ongoing value, and no gambling mechanics.

Who owns the game, the code and the artwork?

Your business does. The source is handed over in your repository, the store accounts are opened in your name, and every art, audio and font asset is recorded with its licence so you know exactly what you own and what you licensed. If you move to another studio later, all of it goes with you.

Where to go next

Sources

Tell us what you need built

We will show you the closest thing we have already built, then scope the real version against your requirements.