DEV BLOG / 01
Playing God with Semicolons
I’m picking programming back up and building a football management game. The semicolons are cooperating more than the players.

I’m building a football management game. Saying that out loud is considerably easier than writing the thing, but here we are.
I’m 42, I’m a dad, and I’m in the middle of a major career shift. I was a Comp Sci major, but I hadn’t coded in over twenty years when I picked this up. I know what a loop does. Getting several thousand of them to cooperate is proving to be a different qualification.
The game is Gridiron Fantasy Manager ’27, the first football game in the Idleball series. The idea is to create a coach, draft a franchise and follow it through a career. I want the kind of game where I remember a draft pick years after I made it, including the picks I’d rather forget.
At the moment, I’m working in VS Code on the players and the simulation. There’s a fairly large gap between that idea and a game somebody can sit down and enjoy. I appear to have volunteered to fill it.
First, I need some players
I started with what I’ve called the Player Creation Engine. That makes it sound rather grand. A lot of the work has involved staring at player data and wondering why something that made sense an hour ago no longer does.
Names, positions, backstories and ratings sound like a reasonable starting point. The awkward part is deciding what those ratings mean. A back who can catch ought to give me a different choice from a heavier runner who can push through traffic. If every rookie comes out looking roughly the same, I’ve built a spreadsheet with very little football in it.
I also need the game to remember who everybody is. Two players sharing a name shouldn’t accidentally share a career. Updating an injury shouldn’t wipe out the rest of a profile. These are ordinary problems, and they’re currently quite capable of occupying my entire evening.
What I’ve got to work with
- Player identity: names, positions and saved information that belongs to one player.
- Ratings and potential: separate ideas for what he can do and how far he might develop.
- League structure: teams and player pools for the opening draft.
- The simulation: work on possession, plays and results that can use those players.
Some of my old programming knowledge has come back quickly. Organising a whole project has needed more persuasion. Having studied Computer Science doesn’t mean I automatically know the best place to put every piece of a football game. It mainly gives me more sophisticated ways to recognise that I’ve made a mess.
One manageable job at a time
I’d like to get the player engine into a shape I can trust before piling more things onto it. After that, I need to get the simulation through a full season. Portraits and a proper management interface are on the list too. The list is not suffering from a shortage of ambition.
I’m aiming to post an update each week with what changed and what still needs work. For the next one, I’m concentrating on the player engine. I’ll happily take “the same player survives saving and reopening” as a win. The bourbon shelf has a more reliable filing system than this project at present, which gives me something to aspire to.
