4 ms·
I don't know how many times I've had this conversation with friends: Me: How's that game you were making? Friend: I realized I should probably write some tool
by karaterobot 6y ago
I don't know how many times I've had this conversation with friends:
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.
- tunesmith 6y agoIt's one of the hardest questions and it comes up on every iteration. For me, delaying my next round of features in favor of a CI/CD system was really satisfying. Now it's great that when I write a new feature, I merge to master, wait a few minutes and see it on the live site. But I'm also battling against the temptation to switch from redux to xstate, switch from dagre to cytoscape, switch from fetch to graphql, switch from akka-http to play, switch from akka to akka typed, switch from scala 2 to scala 3...
- jianzong 6y agoThis. Perfect description of how to avoid the real challenge. - 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.
- FromHoiPolloi 6y agoHow did you learn this lesson?
- sidpatil 6y agohttps://xkcd.com/874/ https://xkcd.com/874/
- karaokeyoga 6y agoAgree completely. Same thing happened to me (and many others) while studying Japanese. Programming was more fun than language learning. On the other hand, there are good examples of companies that survived/thrived by selling their tooling (e.g. Unity, Yammer).
- Benjamin_Dobell 6y agoMe: Okay. I'm just going to prototype a game. Don't want to get carried away. I won't even use a game engine. I'll use Tabletop Simulator. 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 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 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 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/pull/102 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/ 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 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 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: ...
- epse 6y agoLooks like it worked out for you though
- chrisco255 6y agoThe lesson is that even when you go off on crazy tangents, you end up learning cool shit and you can typically turn that into a gig in tech.
- HeyLaughingBoy 6y agoGotta say, at least you're pretty prolific :-)
- felipemnoa 6y agoThis is definitely me... Is way easier to focus on the fun stuff and try to avoid the hard stuff. Which is how you could spend years working on something without actually finishing it.
- chii 6y ago"fun" in quotes. The tooling around a project may be fun, in the same way that junk food is delicious. But ultimately, it delivers almost no value to you. I think the reason so many hobbyists do this, me included, is that there's no _need_ to generate value from your hobby, and thus, no incentive to push for the actual project completion! A business that does this same thing will soon bankrupt (or swallow more VC funding!)
- edwinyzh 6y agoWait! Am I one of your friends?! ;) Reading this comment and the replies made me understand that, despite country/culture differences, we are the same :)
- Folcon 6y agoI feel like I've moved onto the next stage of this =)... 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.