Console Port Case Study

King's Bounty II on Nintendo Switch: a 7 GB open world in a 4 GB console

An Unreal Engine 4 open-world RPG built for PC, moved onto a Tegra X1 — from 6–8 frames per second on the first devkit boot to a 30 fps target, shipped day and date with PC, PlayStation 4 and Xbox One. Nothing was cut from the game. The port is on sale in the eShop today, so the build described below can be checked rather than taken.

What a reader can check

A portfolio claim nobody can open is worth about as much as no claim at all.

Most of the client work on this site is anonymised, because permission to name those clients has not been given. This one is named, and better than named: the artefact is still on sale. Anyone can open the listing, read the specifications Nintendo publishes about the build, and buy the thing this page describes.

What is checkable, as of 29 August 2026: the Nintendo eShop listing, live and purchasable at $39.99, with the build's 10.3 GB download size, its eleven languages — Japanese, British English, French, German, Italian, Spanish, Korean, Russian, Simplified and Traditional Chinese and Polish — and support for all three play modes, TV, tabletop and handheld. The same listing records Nintendo Switch 2 compatibility as “Supported — Game behavior is consistent with Nintendo Switch”: a build from August 2021 that still runs on the successor console. A physical cartridge shipped too.

And the part most portfolio pages would leave out. On Metacritic the Switch version holds 63 from nine critic reviews. The PC version holds 63, the Xbox One version 73, and the PlayStation 4 version 57. The port scored level with PC and six points above PlayStation 4 — which is the number that matters when judging a port, because it says the game arrived intact. What reviewers did criticise on Switch was image quality, and the section below explains exactly why we chose to spend it.

King's Bounty II project snapshot

One platform, one deadline, and a content list that was not open for negotiation.

What the product is

A turn-based tactical RPG set in the open world of Nostria, built on Unreal Engine 4 by 1C Entertainment and published by Prime Matter. Free roaming, voiced characters, branching quests — the shape of game that assumes a desktop budget in every subsystem it has.

Unreal Engine 4Open worldTurn-based RPG

What the port covered

The whole Nintendo Switch SKU: memory budget, rendering path, streaming, build packaging and certification. Five engineers, twelve months of active development, delivered under a contract directly with the developer rather than through a publisher intermediary.

Nintendo SwitchTegra X15 engineers

What is publicly checkable

The live eShop listing and the specifications on it, the 24 August 2021 release date shared with three other platforms, the post-launch patch line, the Switch 2 compatibility note, and the platform-by-platform critic scores. None of those are our numbers — they are Nintendo's and Metacritic's.

eShopDay and dateSwitch 2

Why a PC build does not fit on a Switch

Three numbers describe the whole problem, and the third is the one that made it hard.

Seven gigabytes into four

The PC build wanted roughly 7 GB of memory. A Nintendo Switch has 4 GB on the whole device, and the system holds part of that back for itself. This is not an optimisation gap that profiling closes; it is most of the game's working set with nowhere to live.

Six to eight frames

The first boot on a devkit ran at 6–8 fps. The target was 30. That is not a tuning exercise, it is roughly a fourfold gap, and a gap that size is never one bottleneck — it moves to a new subsystem every time you close it.

And nothing could be cut

The usual way to close both gaps is to make the game smaller: fewer objects, shorter draw distance, simplified areas, a trimmed quest or two. That option was off the table. Same content, same world, same eleven languages — which means every gigabyte had to come from how the game was built, not from what was in it.

Memory budget, a fixed resolution per mode, and a streamer we wrote ourselves

Every item below is in the shipped build.

The memory budget

Texture pool budgets, level-of-detail work and asset repacking, applied against a running measurement rather than a one-time pass. This is the unglamorous half of a port and it is where most of the 7 GB went.

Texture poolsLODRepacking

Fixed resolution, set per mode

Resolution is fixed rather than dynamic, and set separately for docked and handheld, because the two modes have genuinely different power and thermal envelopes. Both aimed at 30 fps.

DockedHandheld30 fps target

Temporal anti-aliasing

Our decision, taken to make a lower fixed resolution hold together. It buys stability in the image and it costs ghosting on moving edges — a trade reviewers noticed and named, and one we would make again under the same constraint.

TAADeliberate trade

A rewritten character streamer

Once memory stopped being the bottleneck the CPU became one, and the stock streaming path was the reason. We wrote our own character streaming for the port — the single largest piece of engineering on the project, and the one that turned a memory fix into a frame-rate fix.

Custom streamingCPU-bound

Working inside a Cortex-A57

Switch CPU cores are ARM Cortex-A57 running well below desktop clocks, so anything that leaned on single-thread throughput had to be moved off the critical path or spread across cores. On a game with this much simulation behind the camera, that is continuous work rather than a task.

ARMSingle-thread limits

Packaging and certification

The whole game, eleven languages included, packaged to a 10.3 GB build that fits a cartridge and downloads from the eShop, then taken through Nintendo's certification: two passes, the first rejected on one critical issue.

10.3 GB11 languages2 cert passes

We cut nothing, so we paid in pixels

Every port is one trade wearing a hundred disguises. This is ours, stated plainly.

A port has exactly two currencies to spend: content and pixels. You can make the game smaller — cut objects, shorten draw distance, simplify areas, drop a language — or you can render the whole game at a lower fidelity. Almost every difficult port is decided by which of those two the team is willing to spend, and the decision is usually made implicitly, halfway through, under deadline.

Here it was made at the start and held: spend pixels, keep the game. A player who buys the Switch version gets the same world, the same quests, the same eleven languages as a player on PC. What they get less of is resolution and image stability, and that is a visible, permanent cost that reviewers wrote about — the low fixed resolution, the ghosting from our temporal anti-aliasing, units that are hard to read when the combat camera pulls back.

We think the platform-by-platform scores are the argument for the trade rather than against it. The Switch version scored 63, exactly level with PC and six points above PlayStation 4. A port that had bought its frame rate by cutting content would have been reviewed as a lesser version of the game; this one was reviewed as the same game rendered worse. Those are different failures, and only one of them is recoverable — a patch can improve an image, and no patch restores a world that was never packaged.

Twelve months, in the order it happened

The dates that are public are public; the sequence between them is ours.

First boot on hardware

The PC build on a devkit: roughly 7 GB of memory wanted against 4 GB on the device, and 6–8 frames per second on screen.

Memory down to budget

Texture pools, level-of-detail and asset repacking until the working set fits, measured continuously rather than signed off once.

The bottleneck moves to the CPU

With memory inside budget the stock streaming path becomes the limit, so the character streamer is rewritten from scratch.

Rendering settled per mode

A fixed resolution chosen separately for docked and handheld, with temporal anti-aliasing on top, both modes aimed at 30 fps.

Certification, twice

The first submission is rejected on one critical issue. It is fixed and the second submission passes.

24 August 2021, day and date

The Switch version ships on the same day as PC, PlayStation 4 and Xbox One — not as the late console SKU that arrives months after the reviews are written.

Supported afterwards, and still running

Switch received the same post-launch patch line as the other platforms, including versions 1.4 and 1.5 in November 2021. Nintendo now lists the build as supported on Switch 2.

Twelve months of active development by five engineers, and the day-and-date release is the part worth holding onto. A console port that slips past launch loses the review cycle, the marketing beat and most of the audience that was ready to buy; shipping into the same day as three other platforms is a scheduling outcome as much as a technical one, and it is the reason certification was treated as a planned two-pass risk rather than a formality at the end.

What this page does not claim

The absent claims are absent on purpose.

We do not claim a locked 30 fps. Thirty was the target in both modes, from a starting point of 6–8. Reviewers reported drops in the larger towns and we have no reason to dispute them — dense areas were the expensive case throughout, and a page that quietly upgraded a target into a guarantee would be contradicted by the first person to boot the game in a city.

We do not claim critics liked how it looked. They did not. The published criticism is about resolution, image stability and ghosting from the temporal anti-aliasing we chose, and it is quoted rather than hidden above, because it is the direct consequence of the trade this page argues for.

The performance figures on this site belong to other projects. King's Bounty II is a single-player game and has no concurrency number of any kind. The 52,000 and 39,000 peak concurrent player figures quoted in our multiplayer game backend and Metarun case studies are different titles on different infrastructure, and none of them are this project's.

The scores, sizes and dates above are not ours. The 63/63/73/57 platform scores are Metacritic's, the 10.3 GB build size, the eleven languages and the Switch 2 compatibility note are Nintendo's own published listing data, and the 24 August 2021 release date is the publisher's. They are quoted with their source and read on the date given, because a number a reader cannot trace back is a number they should not have to believe.

The picture behind the title is not ours either. It is one of the screenshots on Nintendo's own eShop listing for the Switch edition, cropped and nothing else. King's Bounty II was developed by 1C Entertainment S.A. and is published under the Prime Matter label: the game and its art are theirs, the port is the work described above.

How much does a console port cost to build?

Scoped per project rather than banded, and here is what the scoping actually turns on.

We publish price bands for the work whose shape repeats — a multiplayer backend build runs $40,000–$90,000 priced by development time, and the bands for AI and SaaS work sit on the pricing page. A console port is not banded, and quoting a figure here would be inventing one: two games of identical genre and scope can differ by a factor of five depending on how they were built before anyone thought about a handheld.

What we can publish is the shape of this one: five engineers, twelve months of active development, for a full-content port of a PC open world onto Switch hardware with a day-and-date release. That is the upper end of what a port costs in time, and the reasons are the ones on this page — a memory gap of roughly 7 GB against 4, a fourfold frame-rate gap, and a no-cuts constraint that removed the cheapest lever.

The four things that actually move a port quote, in the order they move it: how far the memory budget is from the target platform, because that decides whether the work is tuning or restructuring; whether content can be cut, which is a commercial decision that lands as an engineering multiplier; how much of the engine's stock path survives, since anything you rewrite — a streamer, for instance — is a subproject with its own bug tail; and the certification calendar, which is fixed by the platform holder and is the one risk you cannot compress by adding people.

Common questions

What studios ask before commissioning a port.

The Nintendo Switch port. The game is an Unreal Engine 4 open-world RPG developed by 1C Entertainment and published by Prime Matter; we took the PC build to Switch hardware and shipped it day and date with the PC, PlayStation 4 and Xbox One versions on 24 August 2021. Five engineers, twelve months of active development, two certification passes, under a contract directly with the developer.
You do not, not directly. The PC build wanted roughly 7 GB of memory and the Switch has 4 GB on the whole device, part of which the system holds back. Closing that gap was texture pool budgets, level-of-detail work, asset repacking and a rewritten streaming path rather than any single trick. The character streamer was the piece we ended up writing ourselves, because the stock path was making the CPU the bottleneck once memory stopped being one.
The target was 30 fps in both docked and handheld modes, from a starting point of 6–8 fps on the first devkit boot. We do not claim a locked 30: reviewers reported drops in the larger towns, and that matches what the dense areas cost. Resolution is fixed rather than dynamic, and set separately for docked and handheld.
No. That was the constraint we were given and the one we held: same content, same quests, same world, same eleven languages, on a machine with a fraction of the memory and GPU budget. The cost of holding it is visible in the image quality, and reviewers named it. That trade was made deliberately — a player who buys the Switch version gets the whole game, at fewer pixels.
No. It took two passes: the first submission was rejected on one critical issue, which we fixed, and the second passed. Two passes is a normal outcome for a port of this size, and stating it is more useful than implying a clean first submission — certification is a scheduled risk on a console project, and a plan that assumes one pass is a plan with no slack in it.
Yes. Nintendo's own store listing records Switch 2 compatibility as “Supported — Game behavior is consistent with Nintendo Switch”. The build shipped in August 2021 and still runs on the successor console, which is the kind of outcome a port is actually judged on years later.

Bringing a game to a platform it was not built for?

Send us the build and the target. We will tell you where the memory goes, what the frame-rate gap actually is, and whether the honest answer is a port or a rebuild — before the schedule depends on the answer.

Message received

We’ll review your enquiry and respond within one business day.

Related pages