Back to list
バックエンドエンジニアとして、ゲーム開発経験はゼロでした。それでもブラウザゲームを作成しましたが、2 日で Reddit において 5,000 件のビューを得ました
I'm a backend engineer with zero game dev experience. I built a browser game anyway — it got 5,000+ views on Reddit in 2 days.
Translated: 2026/3/21 5:08:09
Japanese Translation
まずは、ただ試してみてください。
Ego Clicker — フォロワーを増やしながらインフルエンサーとして成長するためのブラウザクリックゲーム。
🔗 プレイ:https://egoclicker.com
https://yuma-0501.itch.io/ego-clicker
Reddit に投稿してから 48 時間経つと、Google Analytics を開いた瞬間、これまで見たことがなかった数字を確認しました。
私はゲーム開発の経験がほぼゼロでした。Unity を一度も触ったことがありません。React と TypeScript を知っているバックエンドエンジニアです。ゲームエンジンなしでブラウザゲームを作りました。その経緯をご紹介します。
副業の収入源を探していた時期がありました。
私はクラウドおよびバックエンドエンジニアとして働いており、業務時間以外の時間で収入を得る方法を探し続けていました。フリーランス契約を検討しましたが、日常業務との兼ね合いでどれも不釣り合いでした。数ヶ月が経過しました。
その後、私はそう決めてしまいました:何かを作ってみることにします。
選択肢はありました — ユティリティツール、SaaS、ライブラリでした。最終的に、ゲームを選びました。
私の強みはブラウザアプリケーションの構築です。なぜなら、ゲームエンジンを使わずにブラウザ内で完全に動作するゲームを作ることができるからです。学ぶ必要があるゲームエンジンはいらないし、React と TypeScript は既に熟知しているツールです。
クリックゲームも同じ理由で理にかなっていました。Scope が小さく、実際に完成させる可能性が高いからです。また、大学時代に Cookie Clicker のために全夜を費やしたことも記憶にあります。
テーマにはソーシャルメディアを選びました。インフルエンサーの台頭と衰退についての風刺的なゲームを作りたいと考えていました。面白いのに、全く違うものだったのです。それが Ego Clicker の誕生です。
コアループ:
コンテンツを投稿 → フォロワーを獲得 → ライクを獲得 → アイテムを購入 → より良いコンテンツを投稿
TypeScript 5.x
React 19
Vite
Zustand (state management)
break_infinity.js (large number calculation)
CSS Modules + CSS Variables
localStorage (save data)
最も顕著な選択は break_infinity.js です。ゲームが進んだ段階ではライクは 10^20 を軽く超えます。JavaScript のネイティブな数値はそれらスケールで精度を失います。そのため、BigInt ライブラリは不可欠でした。これは Cookie Clicker 自体が使用するライブラリと同じであり、10^(10^15) までの数値を処理できます。
アーキテクチャについて、重要な決定はゲームロジックと UI の完全な分離でした。すべての純粋関数は src/core/ 下で生活しており、applyTick() が 50ms ごとに diff を返します。その diff が Zustand ストアに適用されます。ゲームループを React のレンダリングサイクルから分離することで、パフォーマンス問題を避けられました。
生成 AI がないと、私はこのゲームを完成させられないと思います。
「画面上で炎事におけるノイズを表示したい」「サニティ(健全性)が低い時に BGM に不協和音を掛けたい。」 — 이러한アイデアに対して、AI と実装を語り合う能力は非常に大きな違いを带来了。
それとも、AI はコードの書け速度を加速しますが、検証速度を加速するものではありません。コードは素早く生成されます。しかし、ゲームバランスが実際に楽しいか、UI が直感的で気持ち良いか — そのことは人間が必要です。私は通勤中にスマホでテストを行い、問題をノートとして記録し、家に着くと AI を使って問題を修正するこのサイクルを繰り返し続けます。
最も難しい部分はゲームバランスでした。
コア式は単純に見えます:
Likes/sec = PPS × Follower Multiplier × Upgrade Multiplier
Follower Multiplier = 1 + log10(followers) × 0.5
しかし、31 アイテムと様々なアップグレードがすべてこの式に寄与します。コストを少し変えると突如として「初期ゲームは不可能なように感じる」「中期ゲームは退屈になる」「後期ゲームは数秒で終わってしまう」など、全く異なるゲームになります。一つの数字で、完全に異なるゲームへと変化します。
もう一つの課題はアイテム「闇への下向」を設計することでした。アイテムは元々健全で、次第に更なるグロティなものへ変化します:
Daily Posting Challenge (毎日の投稿チャレンジ)
↓
Professional Photographer (プロフェッショナルフォトグラファー)
↓
Fake Sub-accounts (偽アカウント)
↓
Budget Botnet (低コストボットネット)
↓
Public Opinion Manipulation Farm (公論操作農場)
↓
Brain Chip Direct Broadcast (脳チップ直接放送)
この進行を自然に感じさせる — 各ステップが信じられる滑り降りのような感じになるように順序とコストを調整する — は、実際にコードを書いたよりも正直に難しいでした。
私は 20〜30 のオープン Issue を持ってリリースをしましたが、その時は完璧を待つのをやめてしまいました。
リリース後の最初に取り組んだことは、Reddit に投稿することでした。私は英語で記事を執筆し、r/incremental_games に送信しました。2 日以内に、それは 5,000 件以上のビューを獲得しました。大多数のトラフィックは国外から来ていました — 米国、英国、カナダ、ドイツ、オーストラリアなど。
それによって、私がその瞬間に気づいたことは、何かを作り
Original Content
First, just try it.
Ego Clicker — a browser clicker game about growing your following as an influencer.
🔗 Play: https://egoclicker.com
https://yuma-0501.itch.io/ego-clicker
48 hours after posting to Reddit, I opened Google Analytics and saw numbers I'd never seen before.
I had almost zero game development experience. Never touched Unity. I'm a backend engineer who knows React and TypeScript — and I built a browser game without a game engine. Here's how it went.
There was a period where I was looking for side income.
I work as a cloud and backend engineer, and I kept looking for ways to make money in my spare time. I explored freelance contracts, but nothing fit around my day job. Months passed.
Then I decided: just build something.
I had options — a utility tool, a SaaS, a library. But in the end, I chose a game.
My strength is building browser applications. So why not build a game that runs entirely in the browser? No game engine to learn. React and TypeScript — tools I already knew.
A clicker game made sense for the same reason. Small scope, high chance of actually finishing it. I also remembered pulling all-nighters with Cookie Clicker back in college.
For the theme, I chose social media. I wanted to make a satirical game about the rise and fall of influencers — funny, but not quite. That's how Ego Clicker was born.
The core loop:
Post content → Gain followers → Earn likes → Buy items → Post better content
TypeScript 5.x
React 19
Vite
Zustand (state management)
break_infinity.js (large number calculation)
CSS Modules + CSS Variables
localStorage (save data)
The most notable choice is break_infinity.js. Likes in the late game easily exceed 10^20. JavaScript's native number loses precision at that scale, so a big number library was essential. It's the same library used by Cookie Clicker itself, and it handles numbers up to 10^(10^15).
For architecture, the key decision was complete separation of game logic from UI. All pure functions live under src/core/, and every 50ms, applyTick() returns a diff that gets applied to the Zustand store. Decoupling the game loop from React's render cycle kept performance issues away.
I don't think this game would have been finished without generative AI.
"I want the screen to show noise during a flame war." "I want dissonant chords in the BGM when sanity drops low." — For ideas like these, being able to talk through the implementation with AI made a real difference.
That said, AI speeds up writing code, but it doesn't speed up verifying it. Code gets generated fast. But whether the game balance is actually fun, whether the UI feels intuitive — that still takes a human. I'd test on my phone during the commute, log issues as notes, then come home and fix things with AI. That cycle repeated over and over.
The hardest part was game balance.
The core formula looks simple enough:
Likes/sec = PPS × Follower Multiplier × Upgrade Multiplier
Follower Multiplier = 1 + log10(followers) × 0.5
But 31 items and various upgrades all feed into this. Change a cost slightly and suddenly "early game feels impossible," "mid game is boring," or "late game is over in seconds." One number, completely different game.
The other challenge was designing the item "descent into darkness." Items start out wholesome and gradually get grimmer:
Daily Posting Challenge
↓
Professional Photographer
↓
Fake Sub-accounts
↓
Budget Botnet
↓
Public Opinion Manipulation Farm
↓
Brain Chip Direct Broadcast
Making this progression feel natural — tuning the order and costs so each step feels like a believable slide — was honestly harder than writing any of the code.
I shipped with 20–30 open issues. That was the moment I stopped waiting for perfect.
The first thing I did after release was post to Reddit. I wrote a post in English and submitted it to r/incremental_games. Within 2 days, it had over 5,000 views. Most of the traffic came from abroad — the US, UK, Canada, Germany, and Australia.
That's when it hit me: building something and getting it to people are completely different skills.
Random "viral moments" pop up as you play — tap them fast and you'll get a flood of likes. Get caught in a scandal and an apology minigame starts: 3 face-down cards, one good outcome, one okay, one that makes things worse. You won't know which is which until you flip it.
Once your followers exceed the entire population of Earth, the game doesn't end. There's more.
The prestige (rebrand) system is themed after HTTP status codes. You start at 200 OK. Then 404 Not Found. 403 Forbidden. Eventually 418 I'm a teapot.
🔗 Play: https://egoclicker.com
https://yuma-0501.itch.io/ego-clicker
Feedback is very welcome — especially on balance and mid-game pacing. Still actively improving it.