A letter from mDiyo:

Recently Unity announced a change to their business model. This model went over very poorly with developers, and it’s not hard to understand why. After some wild speculation and the news leaking out to the greater internet sphere, Unity backtracked to what appears to be a reasonable position at first glance, and is best described as something that won’t invalidate your current project if you’re too far into it.

Personally, I can’t accept this. The idea of tracking installs is so asinine as to elevate itself to solving the largest problem the internet has: Piracy. This is not the first time that Unity Technologies has done something like this, but the scale… well, Unity has burned so much of their goodwill in one night that I cannot in good conscience recommend the engine for any reason. It’s a shame too; the engine itself is powerful and easy to use for a large variety of projects, and is ideal for working in virtual reality.

Nine years is how long I spent on various projects in Unity. Nine years of building up various mechanics, systems, and glue code to make content creation happen at a fast rate and good places to bolt on new systems that each game needs individually. Nine years of tinkering, learning, and making random things between brain-induced problems. This project is comprised of a lot of systems that interweave and work together to make something that works better than their individual parts.

A codebase that old has a lot of technical debt. A large amount of that debt has been solved recently. Each of the systems have been adjusted and built in such a way that they should be able to take mods and new content into account. It is set up mostly as it should be, and would only improve with time and development.

It has been hard to come to terms with both how much and how little I got done in that amount of time. There are no less than twelve systems that interact with each other from goofing around with metroidvanias, block building games, and random ideas. I want to say that I’ve only been serious about building a game since the idea of Tiny Tinkers came along, but that couldn’t be further from the truth. My life has been such a garbage heap that trying to make anything real, and of my own pure creation, has been like pulling hair out of a blender.

Let me put this in perspective with the projects - and their systems - that have fallen apart and been absorbed into BaseProject:

  • Some Random Yukkuri Game - Engine Investigation, Early AI

  • Tinkers Dungeon - Tilemaps, 2D Bone Animation, Pathfinding

  • Boho Youyoumu Remake - Platforming, Upgrades, Items, Save|Load, Level Triggers

  • Legacy of the First Tinker - Actors, Tools, Modifiers, World Maps, Game Management (Prefab Storage, Script Flow, Localization)

  • Hyper Metroid Port - SpriteBuilder, Stage Objects (Hazards, Doors, etc)

  • Unnamed Card Defense - Placeable level segments called Blocks

  • Tiny Tinkers - Equipment Costumes

Tiny Tinkers is the first project that has made it past the “build a system” phase. The reason for this is still steeped with memories so deep that it’s hard to talk about: When Tinkers’ Construct was supposed to reach its full potential with a redesign for 1.8, I tried porting the mod for an hour. The initial count of errors was around 257,000, and reduced to 159,000 over an hour. The next three hours involved compromise after compromise to get something working without needing to rebuild literally everything involved, but after reaching 137,000 errors and realizing that I had compromised my ethical code to get something done, I quit. Completely quit, immediately.

According to the Minecraft Timeline, Minecraft version 1.8 came out on September 2, 2014. It was maybe a month after that before it felt like my heart was ripped out and my dreams of building a grand experience in a block game were taken out and stomped under my own boot. The first time is always the sweetest. The first fall is always the hardest.

Beginning in July of 2015, I resolved myself to building up a new game entirely. Making a game from scratch is hard. It was so hard that I spent a lot of time just trying out a great many things and building design skills before trying to make something real, then getting in my own way. Little did I know that the compromise from BlockPos and an entire engine change in Minecraft would color my experience for years to come.

Repeat this process again and again. Go down the list of systems as they were compromised, broken apart, and the worthwhile bits saved and shoved into a corner.

Fast forward to 2022. After getting to a point in the card defense game, I completely froze up and walked away for two months. There’s been a lot of introspection and figuring out exactly what to put here moving forward, and that time coincided with an entire year of working on myself to get past the garbage fire that was my life. A lot of time was spent after this to “reclaim” and “uncompromise” the project, massage it into a reasonable shape, and then massage it further into something a designer could use.

There are more than six compromised games in the list, but they aren’t relevant. What is relevant is that the size of just the scripts in BaseProject today is 1.16 MB. The overall project size is 51.2 MB with tiny files for HUD and animations and without significant assets like audio. Hundreds of thousands of lines of code from various places, drawn in from libraries, and pulled together into one chunky piece of work that resembles Spaghetti Carbonara. It’s a delicious mess that has hardened into a fine cement that multiple 2D games can be built on top of.

There are four games that I personally wish to make:

  • Tiny Tinkers : A silly game about tens or hundreds of toys building a society up from raw materials. The answer to the question “What if Tinkers’ Construct was a game?”

  • Working Title - (Skyla’s Journey) : A game about exploring the layers of reality, rejection of ideals, and how one should deal with their own follies, flaws, and the things in the world beyond their control

  • Working Title - (Tinkers’ Arena) : An arena brawler in the same vein as Super Smash Bros with terrain that can be built and torn apart. This is a good spot to bring in other developers’ characters and ideas

  • Working Title - (Legacy of the First Tinker) : Procedural, Multi-Character Metroidvania. The game I actually want to make, but don’t have the systems or skill to do so. Yet.

Tiny Tinkers is well beyond the design phase. The first three of these games have varying levels of assets and code built up, and BaseProject should be able to support them at 90% capacity. The last one… Legacy in particular needs multiple level building systems from Tiny Tinkers, dimensional manipulation mechanics from Skyla’s Journey, and World Warping effects from Tinkers’ Arena. It also needs assets from all of them.

Here we are again, at a place where the next two years and beyond feel like could have been ripped away from me. The situation is even more nebulous. I have aspirations to make a gaming company that can support multiple people, at least two other people are involved with development, and things were finally looking up.

Unfortunately…

Unity Technology’s change to the business model is an egregious betrayal of trust. Their financial data is bad and they’ve been empire building with an ad network for the past few years, so I expected them to do something boneheaded. At the very least they would need to bring in additional revenue from some source while cutting costs to employees and

I did not expect them to do something so utterly stupid that I could pay a hundred dollars to Amazon Web Services, spin up a few hundred Docker containers or other Virtual Machines, and cause Pokemon Go to pay a penny each time that happened. The potential to bankrupt a company through a “Proprietary Data Model” screams to the hacker in me that shattered trust is the standard mode of operation and should be reveled in.

I did not expect Unity to put out a change that could literally bankrupt a company by causing an edge case to consume more money than the entire revenue of a company. That would be so utterly wrong that at least one person would have the brains to speak up. That would be so morally bankrupt that everyone wouldn’t just look at it and start running, they’d start with conspiracy theories on behavior and motives that read genuinely and purposefully malicious, callous, or greedy.

I did not pay enough attention to the previous mistakes. The acquisition of IronSource in 2022, IPO in 2020, the EULA kerfuffle back in 2019, and the previous CEO of EA that took over in 2014… along with all the rumors of internal grifting and stagnation in the interm. My failings are twofold: I only learned how to look into company financial data when I started trading on the stock market, and I believed the technology was good enough that the company couldn’t bring it down.

A lot has changed in the past few years. I am no longer cycling through multiple lives, and am the person I want to be. Each fragment of myself has been condensed and reconciled into a character, and each one needs to tell their own story. If I cannot build their lives upon this engine, then so be it.

These character cores have gained their own lives in my mental space. They don’t have a place yet… and I was building that. If they were to speak, this is what they would say:

  • My rock is my castle. No matter what happens, I stand strong against the storm.

  • Shards can be brittle, sharp, or hard. Each one has a nugget of truth in them.

  • He who flees and runs away lives to fight another day!

  • What doesn’t kill you wastes your time. Nothing more, nothing less.

  • Heroes are born in adversity. The greater the challenge, the greater the hero.

  • A sand castle in a storm is better than nothing, but only if it’s the best you can do. You can do better than that.

I will not make the same mistake twice. BaseProject is dead. All live its successor: Gelcast