Friend: Sounds good. How's it going?
Me: Well. I needed to be able to debug my code. https://github.com/tts-community/moonsharp-tts-debug
Friend: Oh, neat. So your game is done now?
Me: Not exactly. I had to add in matchmaking by reverse engineering Steam. https://github.com/SteamRE/SteamKit/pull/704
Friend: Ah. Alright. Can I play it now?
Me: Nah, I was finding it hard to maintain code. I wrote a Lua code bundler. https://github.com/Benjamin-Dobell/luabundle
Friend: Sweet.
Me: Yeah, I decided to integrate it into the official tooling. https://github.com/Berserk-Games/atom-tabletopsimulator-lua/...
Friend: I'm sure the community will be thankful.
Me: I hope so. I now run a small community of TTS developers. https://github.com/tts-community/
Friend: Right. You must be done by now.
Me: Nah, I couldn't statically type check my code. So I wrote some types. https://github.com/Benjamin-Dobell/tts-types
Friend: Seems unnecessary for a prototype, but sure.
Me: I had to write my own IDE to use them though. https://github.com/Benjamin-Dobell/IntelliJ-Luanalysis
Friend: Right... So how's the game going then?
Me: Oh, I'm not doing that anymore. I now consult for Berserk Games, developer of Tabletop Simulator.
Friend: ...
- Spend time on inventing library instead of thinking hard about the customer need for an App - Spend time on learning productivity tips instead of doing actual work - And in this case, spend time worrying about the blog platform instead of writing articles
I learn this lesson hard and constantly remind myself to avoid this pitfall.
Friend: How's your game going.
Me: I've got some of the map stuff I was working on working, but last weekend I had a brainwave for a new mechanic idea that I really like, so I spent some time quickly prototyping that out.
Friend: Oh cool, can I see it?
Me: Sure, shows them the prototype
Friend: This looks pretty cool, but I don't think it fits what you're currently building?
Me: I could make it fit, in some ways it's just a resource allocation mechanic, but you're right, it doesn't quite fit, but it's done for now and maybe I can use it in something else in the future. Best get back to my game...
So lots of small chunks of progress with asides now and again when I get some zany idea.
On the other hand, there are good examples of companies that survived/thrived by selling their tooling (e.g. Unity, Yammer).
A business that does this same thing will soon bankrupt (or swallow more VC funding!)
Me: How's that game you were making?
Friend: I realized I should probably write some tooling to make my life easier. So then I started on that, and I got pretty far, but then I ran into some limitations with the engine I was using, so I decided to write my own. I got pretty far on that, but then I had an idea for a different game, so I shelved the first game and now I'm working on this other one.
Me: Right on, how's the second game going?
Friend: Well I'm investing some time to build tooling before I really get started on it.