All posts

Games

Game development

Stories

Happiness

Personal

Music

TV

Film

TOM FRANCIS
REGRETS THIS ALREADY

Hello! I'm Tom. I'm a game designer, writer, and programmer on Gunpoint, Heat Signature, and Tactical Breach Wizards. Here's some more info on all the games I've worked on, here are the videos I make on YouTube, and here are two short stories I wrote for the Machine of Death collections.

Theme

By me. Uses Adaptive Images by Matt Wilcox.

Tom’s Timer 5

The Bone Queen And The Frost Bishop: Playtesting Scavenger Chess In Plasticine

Gridcannon: A Single Player Game With Regular Playing Cards

Dad And The Egg Controller

A Leftfield Solution To An XCOM Disaster

Rewarding Creative Play Styles In Hitman

Postcards From Far Cry Primal

Solving XCOM’s Snowball Problem

Kill Zone And Bladestorm

An Idea For More Flexible Indie Game Awards

What Works And Why: Multiple Routes In Deus Ex

Naming Drugs Honestly In Big Pharma

Writing vs Programming

Let Me Show You How To Make A Game

What Works And Why: Nonlinear Storytelling In Her Story

What Works And Why: Invisible Inc

Our Super Game Jam Episode Is Out

What Works And Why: Sauron’s Army

Showing Heat Signature At Fantastic Arcade And EGX

What I’m Working On And What I’ve Done

The Formula For An Episode Of Murder, She Wrote

Improving Heat Signature’s Randomly Generated Ships, Inside And Out

Raising An Army Of Flying Dogs In The Magic Circle

Floating Point Is Out! And Free! On Steam! Watch A Trailer!

Drawing With Gravity In Floating Point

What’s Your Fault?

The Randomised Tactical Elegance Of Hoplite

Here I Am Being Interviewed By Steve Gaynor For Tone Control

A Story Of Heroism In Alien Swarm

One Desperate Battle In FTL

To Hell And Back In Spelunky

Gunpoint Development Breakdown

My Short Story For The Second Machine Of Death Collection

Not Being An Asshole In An Argument

Playing Skyrim With Nothing But Illusion

How Mainstream Games Butchered Themselves, And Why It’s My Fault

A Short Script For An Animated 60s Heist Movie

Arguing On The Internet

Shopstorm, A Spelunky Story

Why Are Stealth Games Cool?

The Suspicious Developments manifesto

GDC Talk: How To Explain Your Game To An Asshole

Listening To Your Sound Effects For Gunpoint

Understanding Your Brain

What Makes Games Good

A Story Of Plane Seats And Class

Deckard: Blade Runner, Moron

Avoiding Suspicion At The US Embassy

An Idea For A Better Open World Game

A Different Way To Level Up

A Different Idea For Ending BioShock

My Script For A Team Fortress 2 Short About The Spy

Team Fortress 2 Unlockable Weapon Ideas

Don’t Make Me Play Football Manager

EVE’s Assassins And The Kill That Shocked A Galaxy

My Galactic Civilizations 2 War Diary

I Played Through Episode Two Holding A Goddamn Gnome

My Short Story For The Machine Of Death Collection

Blood Money And Sex

A Woman’s Life In Search Queries

First Night, Second Life

SWAT 4: The Movie Script

Unity’s Trap

Update: Unity have since walked back the worst part of this threat: those of us using older versions won’t be subject to the new terms unless we upgrade. As far as I understand, there aren’t new terms that would prevent them from pulling this same trick in future, but the fact that the outcry turned them around to this extent is a big relief for me. It suggests we at least have time to finish our current game, and do any essential patching, before they get desperate enough to try something like this again.

Unless there’s a legal guarantee of being able to stick with the terms that came with the version of Unity you use, though, this attempt at a scumbag pressure tactic leaves Unity a very risky prospect for future projects.

Original post:

Last week, Unity announced that they will soon start charging developers $0.20 each time their games are installed, past certain (high) thresholds. This came as a surprise to me and a few thousand other developers who chose Unity, invested in it, and paid for it in large part because they told us they wouldn’t take any of our revenue.

The reaction has been huge, but it’s not clear yet if Unity will make it right. The hasty, vague, conflicting clarifications they’ve offered all seemed aimed at reassuring people “No no, we’re not gonna steal much of your money, because you won’t be successful. Our plan is to steal that guy’s money.”

That’s not my issue, so I just wanna spell out exactly what my issue is.

My issue

We chose Unity for Tactical Breach Wizards over 5 years ago. The deal was, it costs $125 per month per programmer, but that’s it – they take no share of your income when you release. Unreal, a rival engine, has no monthly fee but takes 5% of your revenue when you release. If Unity wanted any part of our revenue, whether percentage or per-install, we wouldn’t have used it – I had more experience in Game Maker, which takes no rev share and has a lower sub cost.

So now we’ve spent 5+ years investing in Unity on that understanding:

  • All of our coding and implementation work (about 70% of my job, and all of my programmer’s job) is in Unity, and could not be pasted into some other engine – it would need to be redone.
  • To be able to even do that productive work, I spent a ton of this time learning Unity.
  • Relatedly, I took around 3,824 points of psychic damage during this time from Unity’s bizarre, maddening quirks.
  • I’ve also paid Unity over $10,000 in subscription fees so far.

And not for a slew of useful new features – we use Unity 2019.3. In the last 4 years, the only additional value Unity have provided us is bug fixes to that version. But that’s OK! I’m happy to pay a large fee up front to avoid having our income skimmed forever.

In case we were worried about how much we were investing, in 2019 Unity went out of their way to say, and cement in their Terms of Service, that “When you obtain a version of Unity, and don’t upgrade your project, we think you should be able to stick to that version of the TOS.”

When you obtain a version of Unity, and don’t upgrade your project, we think you should be able to stick to that version of the TOS. In practice, that is only possible if you have access to bug fixes. For this reason, we now allow users to continue to use the TOS for the same major (year-based) version number, including Long Term Stable (LTS) builds that you are using in your project.

But, well, EULA’s say the darnedest things!

A year ago, they quietly removed that part of the TOS. I probably clicked agree on something since then. It wasn’t on my radar that the most reputable indie engine might be silently laying the groundwork for a moustache-twirling betrayal next year.

The new per-install fee is not in the current terms I’ve agreed to, so you might think I have an out – just don’t agree to the new ones! But Unity is a subscription, not a product I bought one time. I have to accept the new terms to continue paying for it, which we have to do to keep legally using Unity, which we have to do to finish our game – because by this point we’re trapped in their platform to the tune of 5 years’ work.

The crux

This is why I am not remotely mollified by reassurances that the current profit-skimming terms won’t sting me in particular too badly. That’s not the fuckin’ headline! The headline is that you (surprisingly) can and (staggeringly) will change how much of our revenue you wish to take at any time after we’ve already committed.

  • Not just the size of the monthly fee, but the very conceptual structure of what kind of debt we owe you.
  • Not just to use future versions of your engine, with whatever features you think justify this sharp hike, but even for past versions you previously promised would be usable under the old terms forever.
  • And not just for games that are starting development now, or mid development – even for games that are already released.

You’re cool with punishing our trust and investment in your platform by using it as a trap to pressure us into terms we would never agree to if we had free choice.

So if I don’t seem impressed that the current terms won’t brutalise my expected revenue, it’s cos it doesn’t take a genius to flash forward to your next twist of the knife. Even after Tactical Breach Wizards is finished and released, apparently you’re able and willing to change the terms under which we used your engine, placing the fees and thresholds wherever you like to see what you can force out of us.

The only difference with a released game is our recourse: instead of having to abandon development of our game, we’d just have to abandon the game – never patch, never update. Which sucks for players almost as much as it sucks for devs.

Maybe they won’t force worse terms on us later??

Well, as far as trusting Unity not to do something scummy if they think they legally can: *waves vaguely at the whole situation*

But more specifically, forcing this new fee structure is a desperate move. They knew it would be roundly despised – their own staff told them so – and they did it anyway. The money was more important than their integrity or reputation. Under those terms, what wouldn’t a corporation do? If taking 100% of our revenue would make them more money than it loses, is anyone confident they wouldn’t do it? For some people, they already have: one dev calculated they’d owe Unity 108% of the year’s revenue under the current terms.

But I heard it’s not retroactive?

Unity are saying it’s ‘not retroactive’ in the sense that when they count how many installs you owe them money for, they won’t count installs that happened before Jan 2024.

It is retroactive in the sense that it doesn’t matter how long ago your game released, or what version of Unity it was made in, if you still need to use Unity at all, you agree to pay Unity for each install of any of your Unity games, over the thresholds.

Again, the thresholds are high, and again, the thresholds are not the point. If this change is allowed to be retroactive in that sense, there’s nothing to stop them making a “100% of your revenue” TOS retroactive in that sense.

But they have to do this, their game engine business isn’t profitable!

Ah, I didn’t know that, perhaps because I don’t give a fuck? It’s not the customer’s job to make your business plan pay off. I didn’t ask them to offer terms that don’t work for them, I didn’t ask them to hire 7,000 people, I never even made a feature request. They asked me to pay them $10,000 in sub fees on the promise that it meant no fee per-sale, then once I was in too deep to switch, they changed the deal.

But game engines are hard to make and update, it’s not reasonable to expect them to be cheap

I have no opinions about how much they should cost. My thing is, if you offer me Unity 2019 at $150 a month, it’s a scumbag move to wait til I’m too far invested to switch, then change it to a per-install deal even if I keep using the old version. You can change the price, and even the nature of the cost, for any and all future versions, no probs! I get to not buy those. I can’t not-buy Unity 2019 cos I already paid you $10k and spent over 5 years work on it, so you shouldn’t be able to layer on a new type of debt I owe you.

Especially, I feel, if you promised not to.

But now that trust is broken, would backtracking these changes even help?

Yes, in two ways. A soft one: it would signify that upsetting almost every one of their game dev customers was not worth the financial upside, which is reason to believe they wouldn’t try it again for the foreseeable.

And potentially a hard one: if they make line 1 of their EULA one that guarantees we can continue to use current and past versions of Unity under those terms, maybe with a provision that they can scale the sub fee within some reasonable bounds – that’s better than trust.