Back to Blog
Using AI in game development

When I started work on Legacy Manager, "vibe-coding" wasn't really a thing. While early versions of Chat GPT were around and could help with stuff like "here is some code, work out why it's not working as it should", there wasn't anything powerful enough to just give a specification to and get a working game back.

Even now, using the most powerful Claude/Codex models available, you're not going to get a working game of this complexity out of it.

However the more powerful these models get, the more people assume that everything has been spat out of one. So here's where and how I use AI at the moment.

What I DO NOT use AI for

Designs

I've already covered in depth the design process that went in to developing the UI for Legacy Manager, from the early web-based game to the current fully desktop version. If you've not seen it, check it out at https://legacymanager.net/development/building-a-ui-you-actually-want-to-use

None of the UI design process for the layout, components, logos or graphics was done by AI. I hired a guy with as history of doing game re-design concepts, and worked with him to build the first UI. I then itterated on that myself, you can see the steps and thought process behind it in detail in that article.

The logo was also designed by someone I hired online.

Player models

The players shown on the pitch were designed by a 3D designer I found online. I sent him examples and a spec, he built the player models for me based on those. I then use a variety of tools to add the animations I need to the models.

Game logic

The match engine was coded from scratch, originally in PHP as I was designing a web based game, and later converted to Rust as I switched to a desktop game. The logic is still designed by hand for every feature.

"Content"

All the articles on this website were written by me, and all the stuff I share on social media or via newsletters is by me. In the game, news articles etc are all hand-written.

Database generation

The Legacy Manager database contains more than 45,000 players at the moment, and that will continue to grow. The full database was built from various football data sources that I subscribe to, using real-world data to build profiles for all of the players. I then ran analysis each player to set attributes based on the data collected

What I do use AI for

Some layout work

I have a huge number of components that were all hand coded. Things content boxes, info panels, lists, tables, etc. When I need a component adding to a page in the app (for example I need a league table inserting on a club profile page) I tell Claude to add it based on the existing hand-coded components. It knows my design rules, it then adds the content to the page for me based on those.

Some website graphics

I've generated the hero image for the front page of the website using AI tools to quickly get something published. The same one is also used on the "Introducing Legacy Manager" first blog post. It'll be swapped for custom graphic soon.

Coding help

I have a variety of auto-complete tools that help me when I'm writing code, including Claude Opus and GitHub Copilot. In-line code completion was a thing long before these new "vibe-coding" tools existed, and i've made use of them for 20+ years. So has everyone else writing code. As they've got more powerful I've let them do more, but none of the code exists from pure "write me a feature that does X", instead I start writing and accept recomendations where they make sense.

Conversations/ideas

The thing I miss most working alone is the ability to discuss ideas or logic with colleagues. I use Claude in the same way I would have done with people when working in a team. Things like "I'm working on feature X, here's how I plan to implement it, do you have any suggestions or thoughts?"

Sometimes it gives me ideas of ways I could do things better, other times it just helps me gather and arrange my thoughts.

Stuff I don't care about

This website was thrown together in an hour by Claude, and I don't really care about that. It's not a product, it's just somewhere to post my thoughts and link to the game. There is nothing complex here, it's a basic Laravel website using generic styling that I brought over from the game.

Testing

I have a pretty large test suite to make sure I don't break features as I add new ones or work on existing ones. Some of this was written by hand, especially in the early days, but recently I've started using Claude to add more testing functionality as I add new features. 

Stadiums

While the player models in the game were custom designed by a guy I hired, the stadiums at the moment were not. The initial ones are basic (a few set sizes and customised colours) and were built using generative AI tools. I have big plans for the stadium designs in the future, but the reality is that these won't be re-designed by hand in the foreseeable future. I simply don't have the skills on that side of things to do it myself, and haven't yet found someone who can work with me to supply exactly what I need. If you know someone who specialises in this, please put them in touch with me.

Data completion

Once I had the database in place, I had some missing values, and used AI tools to fill in the gaps. Mostly this was finding the ethnicity or date of birth for players that didn't have one set in any of my data sources. 

I also used it, alongside real data, to help me set reputations for players. Reputations are built on a number of things including number of trophies won, clubs played for, competitions played in and recent season statistics. However I then ran the reputations values through some AI tools to see if I'd over/under ranked any players significantly and used its feedback to improve these somewhat.

In summary

Yes, I use AI tools in some places and will continue to do so. No, the game is not "vibe-coded", and with the current state of the tools, I don't think it would be possible to do so. If I've missed anything or my process changes, I'll update this article in the future. But feel free to reach out if you have questions.

Ready to take the job?

Sign up to be first in line when Early Access drops.