Shipping My Own Game: Revives, Save Codes and Building It Right

For 22 years, Nuts and Bolts Web Design has built websites and kept systems running for other people. Now I’m building something of my own: Cul-de-Sac Crewβ„’: Suburban Survivor, a game about a neighborhood crew taking back their block. I’m going to use this blog to share what goes into it, the business side and the tech side, the same way I’d walk a client through a project.

This first post covers the update I just finished. It took three builds and a few long days. Here’s what I built, and why I built it the way I did.

Start with the player, then the business

The headline feature is revives. When you go down, the game offers to bring you back. You get 2 per run, back up with 60% health and 8 seconds of protection.

The "YOU'RE DOWN!" revive offer with a REVIVE button, a NO THANKS button and a 10 second countdown
The “YOU’RE DOWN!” revive offer with a REVIVE button, a NO THANKS button and a 10 second countdown.

That sounds simple. The decisions behind it weren’t.

Revives are also how the free versions of the game will pay for themselves. On the browser and Android versions, a revive will cost a short ad, and only if you choose to watch it. I had to decide what happens in every case before writing a line of code:

  • The player watches the ad: they get the revive.
  • They close it early: no revive, and they’re back at the offer to decide again.
  • There’s no ad available: they get the revive free. Running out of ads is the ad network’s problem, not the player’s.
  • They’re running an ad blocker: no revive, and a friendly note explaining that ads keep the game free, with a link to support the game directly.
  • They bought the game on PC: free revives, no ads. They already paid.
  • They’re playing the free demo: free revives, no ads, ever. The demo’s job is to show the game at its best.

That last one was a late call. The demo didn’t have revives at first. Then I watched the effect in action and decided it’s one of the best moments in the game. Hiding it from the people deciding whether to buy didn’t make sense.

The point for any business owner: write down every path before you build. The edge cases are where trust gets won or lost.

Make the moment count

Theo getting back up as a ring of orange and gold pixels pushes the crowd away
Theo getting back up as a ring of orange and gold pixels pushes the crowd away.

A revive shouldn’t feel like a menu. When you get back up, your crew member blasts out a ring of pixels in their own dash colors, the crowd gets shoved back, and the screen hits with a new shock wave: a zoom punch, one thump, then a rolling wave. I made it different from the game’s other screen shakes on purpose. Your eyes and your gut should both know something big just happened.

No accounts. Ever.

The Save Code screen with Copy, Download, Paste and Load buttons
The Save Code screen with Copy, Download, Paste and Load buttons.

Every game runs into the same question: how do players move their progress from one computer to another? The usual answer is accounts, with logins, emails, passwords and a database of player info to protect.

I didn’t want any of that. This game is made for all ages, kids included, and the safest data is data you never collect. So I built Save Codes instead. The game packs your progress into a code. Copy it, paste it somewhere else, and you’re back. The code holds progress and settings only. No name, no ID, no date. The same save always makes the same code, so nobody can track anyone with it.

I also built in the safety nets I’d want as a user. The game shows you what’s in a code before loading it, backs up your current save first, and gives you an UNDO button. Every one of those came from asking “what’s the worst thing that could happen here?”

Measure what matters, keep nothing you don’t need

The full game now sends anonymous stats when a run ends: stage, crew member, difficulty, how long the run lasted, how far it got and how smoothly it ran. No names, no accounts, nothing typed by the player, and the stats server doesn’t keep IP addresses. Each launch gets a random session number that’s never saved to the device. The free demo sends nothing.

The stats go to a small server I run myself, not to a third party. That’s my IT side talking. If I’m asking players to trust me with even anonymous data, I want to control where it lives.

The stats have already paid off. The first live data showed every field arriving exactly as designed, and I could see quits, revives and save code use come in from real play the same day the update went out.

Fix the bug players can feel

This update also fixed a bug I’m glad to be rid of. Right after the game’s safe opening, enemies started arriving about 3 times faster than designed, all the way to the 5 minute mark. It felt like hitting a wall at 30 seconds. It came down to one piece of logic attached to the wrong condition. On Rough Night difficulty, the board at 45 seconds went from about 124 enemies to about 68.

That’s a lesson I’ve seen in client work for two decades. When something feels wrong in use, it usually is, even when the code “works.”

Small things, done right

Gabriella behind an autumn tree, showing through the leaves as a silhouette
Gabriella behind an autumn tree, showing through the leaves as a silhouette.

  • Your crew member shows through trees, houses and cars as a colored silhouette.
The crew showing through trees as colored silhouettes, full scene
Your crew member showing through trees, houses and cars as a colored silhouette.

  • The HUD shows the difficulty next to the stage name.
The HUD showing the Rough Night difficulty next to the Maple Court stage name
The HUD shows the difficulty next to the stage name.

  • The mouse wheel scrolls help screens from anywhere, and Esc goes back on every menu.
  • Every new line of text ships in all 16 languages the game supports.

None of these are headline features. All of them are the difference between a game that feels finished and one that doesn’t.

Hosting it myself

The browser version's title screen with Support Us / Donate, Privacy Policy and Terms & Conditions links
The browser version’s title screen with Support Us / Donate, Privacy Policy and Terms & Conditions links.

The full browser version lives at play.culdesaccrew.com, hosted by me instead of a game portal. That means I control the experience, the privacy and the support link you see on the title screen. Portals have their place. For a game I’m putting my name and my business behind, owning the platform was the right call.

What’s next

Android is in testing, and the Steam demo is on the way. In the next post, I’ll go deep on the work that went into keeping this game safe for kids, from how ads are requested to how the Privacy Policy and Terms match what the game actually does.

If you’re a business owner thinking about building something of your own, or you need help with your website or IT, you know where to find me.

Work hard and play harder.

Raspberry Pi, Cookies and Edge AI: CAS IT at the UD Tech Fair 2026

Updated on 3/14/26 (Pi Day!) with Pictures and Videos:

On, Tuesday, March 10th, I will be at the University of Delaware Tech Open House from 11am to 2pm, presenting alongside my colleague Eric Cantrell, Director of CAS IT. We are representing the College of Arts and Sciences Information Technology team with a booth that is simple, hands on, and genuinely fun to walk through. And yes, my daughter is bringing cookies, so come through hungry. πŸͺ

What the Tech Fair is about

The Tech Fair brings together departments, staff, and IT professionals from across UDEL, and it gives everyone a chance to see the projects that are actually running on campus. You get to see real systems, real experiments, and real work, not just slides or concepts.

Our theme this year is β€œHave some Pi with CAS IT” πŸ₯§ You will notice a pattern if you look closely.

What We Are Bringing

We are running four Raspberry Pi projects live at the table, no mockups, no screenshots, just the hardware doing what it does.

πŸ₯§ Raspberry Pi 5 with Hailo 8L, Real Time Person Detection

A Raspberry Pi 5 paired with a Hailo 8L accelerator, running person detection entirely at the edge. When someone enters the frame, the system sends a Telegram alert, then captures a delayed full body snapshot so the image is clean. Everything stays local, nothing leaves the room.

Click to download this project’s handout (.pdf format).

πŸͺ Raspberry Pi 5 with BVM and Windows 11 ARM, Zoom Rooms Digital Signage

This is our main project. A Pi 5 runs Botspot Virtual Machine, which boots Windows 11 ARM, which runs the Zoom Rooms Digital Signage client. Departments can update their own signage, including images, videos, and web content, directly through the Zoom Rooms portal. No IT ticket needed. We are actively exploring this as a real deployment option for CAS.

Click to download this project’s handout (.pdf format).

πŸ₯§ Raspberry Pi 4 with Stanford Alpaca, Offline AI Chatbot

A Raspberry Pi 4 running a fully offline AI chatbot using Stanford Alpaca 7B through llama.cpp with 4 bit quantization. No internet, no subscription, just a Pi having a conversation with you in a terminal window. It is slow, but the fact that it works at all is the point.

Click to download this project’s handout (.pdf format).

πŸͺ Raspberry Pi 4 with Batocera, Arcade1Up Countercade Conversion

An Arcade1Up Pac Man countercade, rebuilt from the inside out. I replaced the original PCB with a Pi 4 running Batocera, added an LVDS driver to keep the original eight inch vertical screen, routed audio through the same board, upgraded the controls, and added a second controller. It looks factory made, but it plays hundreds of classic games. It stays completely offline.

Click to download this project’s handout (.pdf format).

Who I Am

I am Demetrius Pinder, MBA, Computing Support Specialist II at the University of Delaware, Adjunct Professor at UDEL and Delaware Technical Community College, and Owner and Project Manager of Nuts and Bolts Web Design. I enjoy taking hardware that should not be able to do something, and making it do it anyway.

You can reach me at [email protected], find me on campus at UD, or see more of my work at nabwd.com.

Come Through

πŸ“… Tuesday, March 10, 2026 πŸ•™ 11:00am to 2:00pm πŸ“ Trabant Multipurpose room, University of Delaware

If you want to talk Raspberry Pi, edge AI, retro gaming, or you just want a cookie, stop by the CAS IT table. We will be there.

Demetrius Pinder and Eric Cantrell, CAS IT
Demetrius Pinder, CSS II, CAS IT
Eric Cantrell, Director, CAS IT

#RaspberryPi #EdgeAI #DigitalSignage #RetroGaming #UDel #CASITUDel #TechFair2026 #NutsAndBoltsWebDesign