You are browsing as a guest. Sign up (or log in) to start making projects!

Virtual Pet Game

  • 3 Devlogs
  • 3 Total hours

Virtual Pet Game - Thunder McKing I'm a bit crap at python btw

Ship #1 Changes requested

I made Thunder McKing — a tamagotchi-style virtual pet game where your pet is a race car. You have to keep his fuel, mood, energy and health up or it's game over.
The biggest challenge was ditching my entire Python build halfway through. I'd spent hours on the logic as a Python class before realising I actually needed a browser game, not a terminal app. Switching to JavaScript from scratch mid-project was rough but the right call.
I'm most proud of how the car reacts visually — he has 5 custom illustrated states (happy, hungry, sad, sleepy, sick) and swaps between them in real time based on his stats. When his health is low he looks genuinely miserable, which makes you actually want to help him.
To test it — just hit the demo link and try neglecting him for a bit. Let his fuel tank empty and watch him suffer. Then rescue him before his engine blows!

  • 3 devlogs
  • 3h
Try project → See source code →
Open comments for this post

37m 7s logged

Dev Log - Final Log

So this project did NOT go how I planned. At all.

I started out building Thunder McKing in Python. Made a whole Pet class, got the stats working — hunger, happiness, energy, health — even had a game loop ticking away. Spent a good few hours on it, honestly thought I was close to done.

Then I hit a wall. Python is great for logic but the moment I wanted to actually show the pet on screen with images and buttons and stuff, it got complicated fast. I had these five custom illustrations of a little race car — happy, sad, hungry, sleepy, sick — and I really wanted them front and centre, not just some text in a terminal.

So I made the call to scrap the Python build and switch to JavaScript + HTML. Bit of a painful decision after all that time, but the right one. JS just made way more sense for what I was actually trying to make — a proper interactive game you can open in a browser, tap buttons, see the car react.

The rebuild went quicker than expected. I carried over all the core logic from my Python project — the stat system, the decay loop, the health penalty when hunger gets too low — and rewrote it in JS. Then built the UI around it: four action buttons (Refuel, Race, Rest, Fix Up), animated stat bars that pulse red when critical, and the car image swapping dynamically based on whatever state he’s in. If he’s hungry you see the hungry car. If he’s about to die you see the sick one. Little details like that make it feel alive.

Got it running with Live Server in VS Code which was a nice workflow — save the file, browser updates instantly.

Biggest lesson from this whole thing: don’t get too attached to your first approach. The Python version wasn’t wasted time — it helped me figure out the logic before I built the real thing. Sometimes you have to build it wrong first.

BUT….

After an initial review after shipping I received feedback to change that overly AI generated look, and to change that up I decided to make the UI a bit more “Radiator Springs” vibe with that rustic Route 66, dusty desert, neon signs, cracked asphalt, the whole look to bring the simulator together. I tried to make a small mini game inside, and instead of an infinite road sim, i made a small track where you have to control a small 8-bit version of Thunder around the circuit and race him to victory!

0

Loading discussion…

0
6
Open comments for this post

1h 17m 47s logged

Dev Log 2 - 09/06/2026

What works now

  • Feed, Play, Sleep buttons all work
  • Stats update in real time (hunger, happiness, energy, health, coins)
  • Pet image changes based on stats (happy, sad, sick, hungry, sleepy)
  • Game loop runs every 5 seconds and drains stats over time

Fixes done

  • Fixed broken button commands
  • Fixed sleep button bug
  • Fixed unreliable colour changes
  • Cleaned up update system
  • Made one shared click effect system

Current state

  • Fully playable basic pet game
  • No crashes or broken buttons
  • UI and stats stay in sync

Next ideas

  • Save/load system
  • Animations
  • Coin shop
  • Sound effects

DISCLAIMER
This is nowhere near the final product, I will be using some graphic design knowledge to make the UI more nice to look at and less blocky, I also want to make the images transition a bit better and add a few catchphrases and stuff as well. Any suggestions, please leave below.

0

Loading discussion…

1
16
Open comments for this post

54m 47s logged

Dev Log 1 – Thunder McKing

Date: 10/06/2026

Today I started my virtual pet project called Thunder McKing. I set up the basic project structure and created the main Python file using Tkinter to open a game window. I also began building a simple Pet class for the character.

I had a few issues with setup and file paths at first, but I fixed them by organising my folders properly and testing the program step by step.

Next, I will add a pet image and start working on basic interactions like mood and feeding.

0

Loading discussion…

1
22

Followers

Loading…