Kugle Corp: founder, CEO & CTO of a game studio
Five years running my own game studio, Kugle Corp: the boss, and still the lead programmer. From one programmer and a gravity prototype in 2021 to a studio of 15+ people: I hired the team, raised the money and ran the company, without ever stopping to code, even from New Caledonia, working at night to share the team's day.
1. The product: Kugle
Kugle is a cosy gravity-platformer party game, online and cross-platform on smartphone and PC: Tamagotchi meets Pokémon meets Mario Galaxy. You collect, care for, breed and race little creatures in a galaxy where gravity knows no bounds.
2. My job: founder, CEO and CTO
What I take from it
- I know what a decision costs. Every feature I asked for was paid from a budget I had raised and salaries I signed.
- I can talk to everyone in a studio, because I did a part of each job: code, design, production, community, finance.
- I ship. Five years, one team, one live game on four stores.
What I did
- Owned the product for five years: vision, roadmap, what ships and what waits, from prototype to live service
- Designed the game and its economy: cute and all-audience, in the spirit of Nintendo and Pokémon; free to play, two currencies, boosters, Battle Pass
- Read the numbers and acted on them: retention, top countries, spending; planned the next market (Asia-Pacific, 14 languages)
- Recruited and led 15+ people: programmers, 2D and 3D artists, a web and blockchain developer, designers, community
- Ran a fully remote team across France, Belgium and New Caledonia, with a team review every Monday for five years
- Mentored the developers: onboarding, code reviews, Git workflow, and the hard parts too: people leaving, deadlines that slip, months when money is short
- Raised $260,000: public sales, equity investors, a BPI France grant and the Hello Labs accelerator; wrote and gave the pitch
- Ran the company's money and legal side: budget, burn rate, salaries, contracts, with the lawyers and accountants
- Opened new channels: two blockchain partnerships, a tournament platform with prize pools, the four store accounts, and NFC figurines that bring a creature into the game
- Shipped a cross-platform online game on iOS, Android, the Epic Games Store and Steam (Windows and macOS)
- Planned the releases and the regular updates, wrote the patch notes
- Ran the live game: €5,000 a month for six months, tournaments of about 200 players, customer support, an admin dashboard for the shop, events and statistics
- Chose the architecture: Unity client, server-authoritative game servers spawned on demand, a REST API, the blockchain side, cross-platform play
- Programmed the game in C#: gameplay on our own gravity engine, and the online layer with Mirror (lobbies, bots, networked triggers, animation and music sync)
- Built the tools and set the quality bar: tools for the designers and artists, 8 build pipelines from one place, profiling, optimization, unit tests, CI/CD
- Managed the community and events leads: Discord, social networks, support, live tournaments, monthly and seasonal events
- Took the game to 4 trade shows and conventions, on the stand in person, and spoke on stage and in panels
- Directed the trailers, the press kit and the store pages
The tools I made for the studio
Each time something slowed the team down, I built the tool that removed it:

Build Pipeline



16 builds one click away, then 4 stores, one button per step.

Timeline
Animations designers tune without a programmer, in the editor.

Intelligent Outline
Shift + click selects exactly what you see.

Event 2.0
UnityEvent on one line, with targets in other scenes.

Scene Context Loader
A whole level, camera included, loaded in one click.

A Mario Galaxy Look on a Phone
Baked shadows, sky fog, fog culling, automatic quality.

Lock And Place
Level design on small planets.

Peek and Bookmark
Selection history and bookmarks.
Around them: the gravity engine and its level design tools.
On the ground
A studio is not run from a desk only. We took the game to 4 trade shows and conventions, on the stand in person, with the team and the figurines, and I presented the studio on stage and in panels.


The technical challenges
Free to play is the hardest model there is: nothing is paid in advance, and the game has a few minutes to earn the next ones.
- A funnel, step by step: every stage from the first launch to the first race is tracked, to see where players leave and fix that step first.
- The indicators of a publisher: daily and monthly players, retention, session length, crash-free sessions, buyers, by platform and by version.
- An economy to balance: two currencies, breeding costs that grow with each generation, boosters tied to monthly events, a Battle Pass.
- Live settings: shop, events and tuning changed from the dashboard, without shipping a new version.
A free, real-time, cross-platform game whose creatures live on a blockchain, playable by someone who never heard the word. Bigger budgets tried and never shipped. We did.
- Off-chain first: play in minutes with an email, own and trade later.
- The API is the bridge: the game never waits for a block.
- Three chain migrations, no holder lost.
A race in Kugle has a leaderboard, a tournament and a prize. So the rule is simple: the player's device is never trusted.
- Server-authoritative: the game server holds the truth of every race. The client shows it; the server decides.
- Racing leaves no room for lag. The work is to keep the feeling of an instant game while the server stays in charge, on a phone, on mobile data.
- Servers on demand: the API starts a game server when a lobby needs one and stops it after, so the cost follows the number of players. Lobbies are filled with bots when players are missing.
- Anti-cheat: times and results are checked on the server, purchases are validated with the stores before anything is credited, and suspicious accounts are flagged.
- Cross-play: a player on a phone and a player on a PC are in the same race, with the same physics.
A phone forgives nothing. The whole game was built to run on a mid-range one.
- Frames: a target of 60 a second, on a gravity engine that handles thousands of attractors. Levels are cut into chunks so that only what is near costs anything.
- Memory and size: content loaded on demand (Addressables), textures and sounds budgeted, a download small enough for a store.
- Measured in the field: the game reports frame rate, stutters, crashes and errors per device and per version to our dashboard. We fixed what players really met, not what we imagined.
Shipping on the App Store, Google Play, Epic and Steam means four store accounts, four review processes, four payment systems and their SDKs, each with its own calendar of mandatory updates.
- I ran that side myself: certificates, store pages, reviews, payment rules, and the rejections that come with them.
- I built one build tool that knows every target: the players' game, the headless game server, the internal tools that generate and repair the creatures, each in a development and a production flavour. Eight pipelines, one button: see Build Pipeline.
Under every race there is our own physics engine: a fast 3D platformer where the ground can be anywhere, with thousands of gravity objects, on a phone. It grew out of my first prototype, Philae.
- Any shape attracts: sphere, cube, donut, spline, mesh.
- Not Newton: a jump always feels the same.
- Designers set it in the level, without code.
- Thousands of attractors on a phone, cut into zones.
The shop
Free to play: the shop is what pays the studio.
- Free to play: Diamonds and GU, tickets and real money, seven kinds of items.
- Live data: every item set up in the dashboard, in PROD and DEV, no new build.
- Off-chain first: a fast database for most items; eggs and tokens on-chain, and the studio pays the gas when players pay in Diamonds.
- The server decides: every payment checked with its store, never credited twice.
- Cross-platform: App Store, Google Play, Steam, card, PayPal and crypto, one shop.
3. The technical side: what Kugle is made of
Kugle looks like a cute mobile game. Underneath, it is five products that have to work as one: a game, its online servers, an API, a set of smart contracts, and the pipeline that ships all of it to four stores. I chose that architecture, built a large part of it and led the people who built the rest.
| Layer | Made with | What it does |
|---|---|---|
| Game client | Unity (URP), C#, FMOD, Addressables | The game on iOS, Android, Windows and macOS, on our own gravity engine |
| Game servers | Unity headless on Linux, Mirror over WebSockets | Online races and worlds, server-authoritative, started on demand by the API |
| API | Node.js, TypeScript, Express | Accounts, creatures, shop, loot, tournaments, leaderboards; checks every payment; starts and stops the game servers |
| Data | MongoDB, Redis, Amazon S3 | Players and their progress, the game servers running, the pictures of the creatures |
| Sign-in and wallet | Thirdweb | Login with an email, a phone, Google, Apple or Discord; every player gets a wallet with account abstraction, no seed phrase |
| Payments | Stripe, PayPal, App Store, Google Play | Card and in-app purchases, each one checked by the API before anything is delivered |
| Smart contracts | Solidity, Foundry, OpenZeppelin | Creatures and eggs as NFTs (ERC-721), three tokens (ERC-20), boosters, shop, player marketplace, staking, breeding, tournaments; on Immutable zkEVM |
| Website and dashboard | Next.js, React | Web shop, wallet pages, and the admin dashboard that runs the live game |
| Tournaments | N3MUS | Monthly competitions, ranked on the scores of our game servers |
See also
- Kugle: the game: features, game modes, monetization, players, gallery.
- Career: the rest of my path.



