A 16-bit paper round through India's galis. I designed it, art-directed it and shipped it as a mobile browser game in one afternoon, using Claude as my build partner.
The cycle bell. A rolled newspaper slapping a gate. A cow that will not move. A dog that takes the whole thing personally. I grew up with that routine, and I had never seen it in a game.
Akhbar Bash started as a portfolio question: how far can one designer take an idea, end to end, when the production work is shared with an AI? I gave myself a constraint to keep it honest. It had to be a real game that real friends would play on their phones, not a concept board.
Landscape gives a side-scroller room to show the street coming at you.
Swipe up, swipe down, tap. Anyone should be playing within five seconds.
Runs in the browser, so I can share it on WhatsApp and push updates whenever I want.
It should feel local enough that a Delhi player spots Karol Bagh at a glance.
I worked in short loops. I set direction, Claude produced it, I reviewed it, and I decided what changed. Each step below was its own brief, and nothing moved forward until the previous step looked right.
A paperboy and his cycle, inspired by classic arcade run-and-gun sprites.
I locked 16-bit as the style and asked for more detail on the boy and the cycle.
A stretched street with homes, shops, cows, potholes, dogs, parked cars and autos.
Every character and obstacle cut into game-ready frames.
Lane changes and jumps animated so the boy and the cycle feel physical.
A landscape title screen with all of its states.
The Shiva Games brand, an app icon, plus Garage, Missions, Ranks and six local cities.
Score, papers left and pause, readable at a glance mid-swipe.
A name step on first launch so the leaderboard means something.
The designs turned into a playable game, screen by screen.
Chiptune tracks with a dholak groove, plus a bell for every delivery.
A package I can keep building in Claude Code and share with a link.
The first pass gave me the right silhouette but felt generic. In the second pass I directed the detail that makes him Indian and makes him a paperboy: a cap, a cross-body satchel, a front basket of rolled papers, a bundle strapped to the carrier and a red roadster with real spokes.
Then came the hard part, which was keeping all of that legible in a 60×66 frame. Dark brown outlines instead of black, flat shading, no anti-aliasing, and a palette small enough to recolour later.
Before any rules existed, I asked for one long strip of the route: numbered gates, a medical store, a sweet shop, overhead wires, water tanks on the roofs. The obstacles came straight out of that street, and each one turned into a rule.


My brief was “organic”. A sprite that just slides between lanes feels like a cursor. So every move was animated the way a real rider would do it, using classic animation principles at 16-bit scale.
One shared anchor holds it together. Every frame puts the rear wheel's ground contact at the same pixel, (18, 60), so the engine can swap frames at any moment without the rider jittering.
Three gestures on one thumb is already the limit. The obvious fourth action was “throw”. That would mean dodging a cow, timing a jump and aiming a paper all at once, which turns the fun part into homework.
Throwing became positional. Be in the house lane when a subscriber's gate passes and the paper flies on its own. Throw mid-jump and it counts as AIR MAIL for a bonus.
That one change created the core tension of the game. The house lane is where the points are, and it is also where the parked cars and dogs are. The traffic lane is safer for weaving, but you deliver nothing there. Every second, the player is choosing between greed and safety, without a single extra control.
No menus between a new player and the road. You are riding within about four taps.
Missions, Garage, Ranks and Settings sit one tap off the menu.
Every route is a real kind of street with a real address on the card: Gali No. 4, Karol Bagh. Landmarks sit in the backdrop as houses roll past, and each city's level 5 is an event a local would recognise.

I am not an engineer, so every technical decision was judged by one test: can I change this next month without breaking it? Claude proposed the options, and I picked the ones that kept the game simple to own.
Plain HTML, CSS and JavaScript with no framework. Deploying is a git push, and the host redeploys in about a minute.
The world renders at 380×176 game pixels on whole-number positions, then scales to any phone with smoothing off. No blurry sprites.
Every sprite and city strip is drawn by scripts that live in the repo. Changing a colour or adding a city means re-running a script, not redrawing.
Cycle and cap colours are swapped pixel by pixel when the game loads, so 8 caps × 5 cycles need no extra art.
A Web Audio synth plays three chiptune loops (menu at 104 bpm, the ride at 138 bpm with a dholak pattern, events at 152 bpm) and every sound effect.
A PWA with full-screen landscape install. Code loads network-first so updates land fast, and players see a “New version ready” toast.
Supabase with row-level security. Browsers only read a public view and write through one function that checks a per-device secret, so nobody can overwrite someone else's score.
A headless phone-sized browser plays the whole flow (name validation, riding, pause, every menu) and saves screenshots for review.
The package ships with a guide for Claude Code covering coordinates, how to add a city or cycle, and a release checklist, so the next feature is one request away.
Speed hides mistakes, so I reviewed every screen as a set of previews before it counted as done. These are the issues that review caught.
Version 1.0 is a complete, installable game. It has six cities, sixty levels, a garage, a daily bonus, a weekly leaderboard, two languages, original music, and a codebase I can keep growing.