Mr. Phil Games’ Blog

Restart, Rebuild, Recalibrate

After discovering that snake_case had been deeply baked into the project from near the start, I made the tough call to restart Stellar Throne from scratch. Enforcing camelCase from the new CLAUDE.md spec led to unintended breakages — especially thanks to batch Python scripts Claude had run, which mangled filenames and import paths.

Instead of trying to untangle it all, I opted for a clean slate. Painful, yes, but with the speed of agentic tools like Claude, I’m confident I’ll catch back up quickly.

On the bright side: the visuals are already looking better.


✅ What Got Done

  • Rebuilt the star map with newly rendered star and planet sprites

  • Implemented fleet movementHUD overlays, and user notifications

  • Built a new app: SpriteSheetMaker to stitch GPT-generated sprites into clean, aligned sprite sheets

  • Recreated sprite sheets for F-type and G-type stars

  • Began implementing ship construction UI and logic


💡 What I Learned

  • Agentic development makes it easy to justify starting over — dangerously easy. Productivity makes code feel disposable, but discipline matters.

  • GPT still struggles with sprite sheet consistency. The centering is unreliable, so I’m generating one-off sprites and stitching them myself.

  • The starting sector often places the player too far from meaningful targets. I may need to guarantee at least 7 stars and 1 colonizable world within reachable range.


🧱 Still in Progress

  • More star and planet sprite rendering

  • Continued work on ship construction systems


Editor Progress & CLAUDE.md Wrangling

Today I made major strides on the new in-game data editor for Stellar Throne. It now displays all JSON config files in a tree view with collapsible branches and supports basic text editing. This should make tuning gameplay values much faster and more accessible going forward.

Meanwhile, I continued working on the CLAUDE.md audit — though it’s turned into more of a rescue operation than a review.

A previous batch of Python-driven refactors (authored by Claude) introduced subtle bugs, most notably mangled import paths due to overzealous snake_case replacements. It looks like some *-based file rewrites accidentally touched filenames that were never meant to change, which has caused some issues across the codebase. Untangling this has required slow, careful manual review.


✅ What’s Working

  • Tree-view editor UI for JSON game configs

  • Collapsible branches, inline editing, working file display

  • Good early traction on making tools for modding & tuning


⚠️ What’s Still In Progress

  • Editor lacks save & backup functionality

  • Needs scroll bar for long file lists

  • CLAUDE.md audit continues to drag on


💡 Takeaway

Letting the AI run unchecked file operations (especially scripted Python refactors) can introduce subtle breakage. The lesson: don’t let your AI coworker manipulate your repo unsupervised, especially across filenames or imports.

Stellar Throne Devlog — July 15, 2025

Today was a highly productive cleanup and infrastructure day. I finished a broad CLAUDE.md violation audit, resolving all snake_case issues and fully integrating GameMessages, while also removing leftover print statements. I launched a new landing page for mrphilgames.com, ported over the About and Contact pages, hooked up the blog feed, and integrated the Steam widget for Crimson Crisis.

Over at StellarThrone.games, I fixed DNS errors, deployed favicons, and patched up the copyright.

On the art and UI front, I worked with GPT to generate new star map icons, including fleet, enemy fleet, colony, and supply depot markers. I also launched the first edition of the Stellar Throne Substack newsletter.

Why CLAUDE.md Exists


When I first started building *Stellar Throne*, I never imagined I'd be writing documentation for an AI coworker.

Like most game developers, I began the project with a loose roadmap and a lot of excitement. I wrote systems. I rewrote them. I built tools, UI, asset pipelines—whatever I needed in the moment. But as I started using Claude and ChatGPT as pair programmers and assistants, a new kind of bottleneck emerged: **they didn’t know what the project was about.**

## The Communication Gap

Human developers can browse the repo, skim README files, infer naming patterns, and ask clarifying questions. Claude can’t—at least not yet. Without context, it would hallucinate code that didn’t match the architecture, invent nonexistent files, or follow a style that clashed with mine.

It wasn’t Claude’s fault. It just didn’t have the context.

So I built it.

## What CLAUDE.md Is

**CLAUDE.md** is a living specification file that gives AI tools like Claude the context they need to work effectively within the codebase. It defines:

- 🎯 The **purpose** of the project
- 🧱 The **architecture** and folder structure
- ✍️ The **coding style**, naming conventions, and idioms
- ✅ The **testing philosophy** and where tests live
- 🚧 The **technical constraints** and known trade-offs
- 📐 The **"how" and "why"** of choices I don’t want second-guessed
- ❗️A list of **Do’s and Don’ts** for AI collaborators

It’s not a replacement for human-readable documentation. It’s a bridge between human intention and AI execution.

## Why It Matters

With CLAUDE.md in place, I can now prompt Claude with high-level tasks like:

> “Add a notification system for ground invasions using the existing UI and manager patterns.”

And it will generate something that matches my architecture, fits the style, respects the game’s systems, and integrates cleanly—often with fewer corrections than a junior developer would need.

It’s not magic. It’s **context**.

## The Meta-Magic: Claude Auditing Its Own Manual

Here’s where things get interesting—and a bit recursive.

Once CLAUDE.md was in place, I realized I could use Claude itself to improve the very document that guides it. It’s like asking a new employee to review their own onboarding manual and suggest improvements based on what confused them.

I’d prompt Claude with things like:

> “Review CLAUDE.md and suggest improvements.”
>
> “What rule should I add to CLAUDE.md so you don’t do XYZ?”

The results were enlightening. Claude would point out:

- Implicit conventions I’d forgotten to document
- Edge cases in the architecture I took for granted
- Messaging patterns between managers that seemed obvious to me but weren’t written down
- Testing strategies that had evolved beyond what the documentation described

Each audit session became a feedback loop. Claude would struggle with a task, I’d update CLAUDE.md to clarify the confusion, and the next interaction would be smoother. It wasn’t just documentation anymore—it was a **living contract between human and AI**, refined through actual use.

This meta-approach revealed something profound: the best documentation for AI isn’t written in isolation. It’s forged through collaboration, with the AI itself as both reader and editor. Every stumbling block becomes a documentation opportunity. Every successful task validates what’s working.

The document evolved from a one-way instruction manual into a **two-way communication protocol**—one that gets better every time we use it.

## The Real Purpose

More than anything, CLAUDE.md is about **trust**.

I want to trust that my AI assistant understands the project. I want to trust that it won’t break things I care about. I want to trust that when I ask it to help, we’re speaking the same design language.

That trust doesn’t come from smarter models alone—it comes from better communication. And CLAUDE.md is how I communicate with AI.

It’s documentation with a reader that never gets tired, never forgets, and never stops learning. And in a project that grows more complex by the day, that’s worth its weight in silicon.

Stellar Throne Development Log: July 14, 2025

Today was a big productivity day on multiple fronts. I refined and finalized the CLAUDE.md specification that governs how Claude AI collaborates with the codebase, pushing it to a solid 9/10 quality score. I’ve started the cleanup phase — fixing legacy code that violates the updated standards.

On the content creation side, I generated sprite sheets for every major planet and star type in the game — 16 variants each for Terran, Barren, Desert, Ocean, Arctic, Garden, Gas Giant, and Volcanic planets, as well as for spectral star classes O through M. A key breakthrough came in refining the prompt workflow with ChatGPT: by iteratively adapting prompts to solve visual or technical constraints (like removing Earth-like continents), I unlocked a scalable generation loop.

I also got the new Jekyll-based version of mrphilgames.com up and running, successfully importing all my blog posts. Still needs polish — a landing page, logo, and blog/news feed — but the foundation is there.

Finally, I began integrating the new planet sprites into the Stellar Throne star map, though rendering bugs remain and stars haven’t been updated yet.

Stellar Throne Devlog: Ground Combat, Ship Upgrades & First Contact 🚀

This week’s update brings major advancements to Stellar Throne's core gameplay systems — from planetary invasions to first contact diplomacy. Let’s dive into the highlights:


🚀 New Features

Ground Combat System

  • Planetary Invasions: Launch full-scale tactical assaults on enemy planets.

  • AI Ground Combat: Smarter computer opponents now conduct complex ground operations.

  • Ground Combat UI: Redesigned interface for unit positioning, stats, and dynamic battle updates.

  • Invasion Button: Streamlined interaction for initiating planetary ground attacks.

Ship Systems & Fleet Management

  • Ship Retrofit System: Overhaul and upgrade existing ships instead of scrapping them.

  • Fleet Positioning: Better control and organization of ships around star systems.

  • Ship Construction Pipeline: Enhanced feedback during shipbuilding and deployment.

Combat & Warfare

  • Planetary Bombardment: Orbital strikes can now devastate enemy worlds.

  • Combat UI Polish: Sharper visual feedback and improved text during space battles.

Exploration & Discovery

  • First Contact System: New diplomacy mechanics for meeting alien civilizations.

  • Camera Centering: Automatic focus during significant events like first contact.

  • Sensor Borders: Smoothed and more organic sensor range visuals.

Economic Systems

  • Trade & Supply Lines: Full implementation of interstellar logistics and supply chains.

  • Economic Balance: Adjusted resource flow for more strategic economic planning.


🛠️ Improvements & Fixes

UI/UX Enhancements

  • Significantly better text rendering in combat and invasion UIs.

  • Smoother sensor border visualization.

  • Cleaner fleet indicators on the galaxy map.

Performance & Stability

  • Resolved several memory leaks across core systems.

  • Over 540 passing tests ensure strong stability coverage.

  • Optimized code for combat and fleet systems.

Quality of Life

  • All new features fully support save/load functionality.

  • Ground combat AI feels smarter and more reactive.

  • Better coordination across interconnected systems like combat, economy, and diplomacy.


🎯 What This Means for Players

  • Deeper Combat Strategy: With ground invasions in play, planetary conquest now requires planning and coordination — not just orbital dominance.

  • Strategic Fleet Retrofitting: Upgrade and reuse older ships instead of building from scratch, adding new layers to fleet management.

  • Richer Exploration: First contact moments now feel dramatic and meaningful, visually and mechanically.

  • Smoother Gameplay: This patch introduces vital improvements in responsiveness, visuals, and AI behavior.


With this release, Stellar Throne moves closer to delivering its vision of large-scale 4X strategy — tactical, rich, and rewarding at every layer of play.

👑 Stellar Throne: Building a 4X Strategy Game with AI Coding Tools

What is Stellar Throne?
Stellar Throne is a turn-based 4X strategy game — Explore, Expand, Exploit, Exterminate — where you command fleets, colonize worlds, negotiate peace (or war), and compete for control of the galaxy.


What inspired you to create it?
I've always loved science fiction, but the biggest influence on this project is Master of Orion (1993). It was my first real taste of interstellar conquest — and I’ve been chasing that feeling ever since.


What makes Stellar Throne different?
A few standout features set it apart:

  • Tactical Combat

  • Fuel Logistics Mechanics

  • Giant Star Maps (800+ stars)

  • Deep, Functional Diplomacy

It blends large-scale empire management with focused, tactical engagements — and logistical depth that rewards planning.


What’s your design philosophy?
Gameplay first. Instead of chasing ultra-realistic visuals, I'm designing a clean and readable aesthetic that helps players make smart decisions. Everything on screen should communicate something useful.


What tools are you using?
I’m building Stellar Throne in Zig using SDL2 for rendering. I’m also using LLMs (Claude Code, ChatGPT, Grok) to accelerate development — from code to art generation. This project started as a way to learn Agentic Coding, and it’s been transformative.


What does it look like?
The UI is futuristic but minimal — no clutter, no noise, just clean visuals that support intuitive play. I’m going for a lighter, slightly playful tone. Conquering the galaxy should be fun, not grim.


Who’s it for?
Hardcore strategy gamers of all ages. If you love deep systems, thinking a few moves ahead, and carving your legacy into the stars, you’re in the right place.


What’s been the hardest part so far?
Communicating with LLMs. It’s powerful, but requires precision — especially when describing bugs or edge cases. But once you get the hang of it, it’s like working with a hyper-productive assistant.


What are you most proud of?
The speed and scope of progress thanks to AI-assisted development. I’m tackling complex math, AI systems, and mechanics I’ve never built before — and doing it fast. It really feels like I’m not working alone.


What’s next?
An alpha release is coming soon to my itch.io page. You’ll be able to try the core loop and give feedback directly.


Where can people follow the project?
I'm actively blogging development updates at https://blog.mrphilgames.com — from tech deep-dives to design decisions.


Thanks for reading! If you’re a fan of 4X games or AI-assisted development, I’d love to connect. The stars await.

Exploring Agentic and Vibe Coding: My Early Impressions

Over the past couple months, I’ve been diving into two emerging paradigms in the world of AI-assisted development: Agentic Coding and Vibe Coding. Both offer fascinating, albeit very different, approaches to working with intelligent systems. I wanted to document my early experiences to help clarify what each of these methods offers — and how they’ve influenced the way I build.


🧠 What Is Agentic Coding?

Agentic coding is all about giving AI systems goals rather than tasks. You describe what you want, and the agent figures out how to do it — often breaking it down into subtasks, iterating, and self-correcting as it goes. It’s not just autocomplete on steroids — it’s like having a junior, maybe even senior, engineer who can think, plan, and code on your behalf.


💻 My Experience So Far (Agentic)

At first, using agentic systems felt like magic — and mind-blowing. I'd give it a goal like “Add a notification system,” and the system would reason through the steps, generate the code, and even unit test the flow.

I found myself stepping into more of a product owner role, guiding the agent, reviewing its work, and steering its decisions.

Upsides:

  • Huge productivity gains

  • Great for building systems I haven’t implemented before

  • Fast prototyping for game features

Downsides:

  • Debugging can be strange — the system makes decisions I didn’t explicitly direct

  • Describing visual/UI problems can be tough (though screenshots


     helps a lot)

That said, when paired with tight version control and a “trust but verify” mindset, it’s incredibly powerful — especially in fast-paced development cycles.


🎨 What Is Vibe Coding?

If agentic coding is about outsourcing the “how,” vibe coding is about expressing the feel of what you want and letting the AI fill in the details. It’s less like writing blueprints and more like painting in broad strokes.

You might say, “I want the galaxy to be a spiral like the Milky Way,” and the system codes a procedural generation system with spiral arms, a galactic center, and a visually accurate structure — and does it fast.


🚀 My Experience So Far (Vibe)

Vibe coding has felt incredibly intuitive — and liberating — especially for creative work.

When I’m building assets or UI for my game Stellar Throne, I don’t always know what the final design should look like. Vibe coding lets me describe the tone, mood, and visual direction, and get results that are often better than I imagined.

Highlights:

  • Great for prototyping game visuals, UI layouts, procedural content

  • Fast iteration and creative discovery

  • Feels more like collaboration than delegation

Challenges:

  • Sometimes results are too literal

  • Editing images or visuals requires learning some unique language

  • But once you get the hang of it, the model usually “gets” you

Vibe coding also pairs beautifully with agentic systems. I can vibe-code a UI mockup, then let an agent implement the layout and wire up the logic. That hybrid workflow? It’s starting to feel like the future.


🧩 Wrapping Up

As someone building a complex project like Stellar Hegemony, I’ve found both Agentic and Vibe coding to be more than just tools — they’re new creative mindsets. They’ve expanded not just how I work, but how I think about the work. Less time buried in syntax, more time focused on vision and design.

These paradigms aren’t magic bullets. They require learning, judgment, and a willingness to trust (but verify). But when they click, the results are transformative.

If you’re curious, try integrating one of them into your workflow. Start small — maybe prompt an agent to build out a feature, or vibe-code a mockup of a screen. See what happens. You might find, like I did, that you’re no longer just coding — you’re collaborating with something new.

And that’s a pretty exciting place to be.

Thanks for reading — and if you’re experimenting with these approaches too, I’d love to hear what’s working (or not) for you.

— MrPhil

Crimson Crisis: Where We've Been and Where We're Going

A couple months ago I started game development again. Which begs the question: What am I going to do about Crimson Crisis?

For those who've been following along, Crimson Crisis has been in limbo. After setting up the Steam page, we got close to participating in one of Steam's Next Fests, but the demo never reached a place I was happy with in time. Life got in the way—as it does—and the project sat collecting digital dust while I dealt with paying the bills and the realities of solo development. But here's the thing: I never stopped thinking about it.

During my time away, I've gained perspective on what Crimson Crisis could realistically be. The original vision was too ambitious for a solo developer, which I am now. Mimesis Studio is no longer on the project, as I can't afford them anymore. We were building a sci-fi action-roguelite on the scale of Vampire Survivors, and while we made solid progress, I'm not sure I can achieve that same scope alone.

So I'm putting the project on the back burner. I hope to one day have the funds to rehire a team—maybe even Mimesis—and see Crimson Crisis through to completion.

What's next? Well, I've been exploring some exciting new territory. A friend repeatedly recommended I check out AI-assisted coding as a way to make games. So I started an experiment, and it's been going incredibly well. Mind-blowingly well. Coding with AI is a game changer—I estimate it boosts my productivity by 20X.

This week I'm diving deeper into this new workflow, and I'll share the results in my next post.


P.S.  If you are interested in Crimson Crisis you can wishlist it here: https://store.steampowered.com/app/586290/Crimson_Crisis/