That's a neat blog all around. Lots of interesting stuff to poke around in.
I think it's okay to abandon things, and you can certainly learn things and reuse parts from abandoned projects. For me, a breakthrough moment was when I decided to make things so small that I could finish them. It helped me develop the skill of finishing things, which is a separate skill that's hard to learn, because it only happens at the end of a process so long and hard you almost never make it there. All my friends who are making video games start by writing their own engine, and get burnt out somewhere around the point where they're making a level editor. They learn a lot about things like tooling (which, coincidentally, is a lot like what they already knew how to do), but never actually make the game. It'd be like learning stone masonry by building a cathedral—you won't live to see the end. Start so small that you can't fail, then work your way up to bigger and bigger projects.
> All my friends who are making video games start by writing their own engine
I've been there and done that one a few times. Even if you decide to use existing tools, you can easily get caught up in these infinitely-deep pools of complexity.
I am working on a Unity project right now wherein I found myself antagonizing over how to best develop an RTS-style building placement system. Instead of doing what I would typically do (dive right in), I decided that I would rework the game concept to eliminate the need for the player to place buildings at all. After some experimentation, it turned out that this was actually a superior user experience for what I was trying to achieve. I initially rationalized it as "I'll add the building system in the next iteration". It likely won't happen now.
Less is almost always more. That small starting point actually being finished is like nitromethane for the next iteration. Getting to 100% is what makes that next pass so much better. Getting to 80% will leave you feeling like you need to push the rock back up the hill all over again.
Sure. I replaced the building system with a big portal that each team controls. Instead of in-game buildings, I built a menu/UI system that allows the player to control which units would come out of the portal. Units don't take commands from the player (another massive simplification). They only seek out the enemy portal and will engage other units on that path automatically. Destruction of the portal is the win condition.
Unity's navmesh system is doing most of the heavy lifting right now. It's amazing how much functionality you can get out of it before you have to reach for physics and animation.
This reminds me of something mixing the Age of War flash game (which had great music) and TeamFight Tactics (TFT). An RTS without some kind of unit control seems strange, but interesting as it is often the greatest barrier to accessing the game.
Sounds vaguely similar to a late 90’s pc/playstation game I recall playing, although that also had capture points and the ability to build defense structures along the predetermined paths.
Thank you for sharing this! I think a focus on shrinking personal projects to the point I might actually finish them, might be just what I need right now
>> I think it's okay to abandon things, and you can certainly learn things and reuse parts from abandoned projects.
I recently moved from front-end development into accessibility. Years ago, I had built a bunch of static sites, templates and other design projects that I had eventually abandoned for various reasons.
Now that I'm in accessibility, I've gone back and dug many of these out and have re-built them to be accessible. Several used very old versions of bootstrap, so part of what I did was also upgrading to the latest version of bootstrap as well.
I learned so much just from going back and making those older designs accessible. Its something that I definitely feel gave me a better perspective on stuff we look for when we're assessing sites and applications. It was also a real wake up as to how much of the stuff I built wasn't accessible at all.
> It helped me develop the skill of finishing things, which is a separate skill that's hard to learn, because it only happens at the end of a process so long and hard you almost never make it there.
Great insight. The skill of finishing what you started, is something that feels elided in discussions around productivity. Is there a blogpost or article that explains it even more?
I think it's okay to abandon things, and you can certainly learn things and reuse parts from abandoned projects. For me, a breakthrough moment was when I decided to make things so small that I could finish them. It helped me develop the skill of finishing things, which is a separate skill that's hard to learn, because it only happens at the end of a process so long and hard you almost never make it there. All my friends who are making video games start by writing their own engine, and get burnt out somewhere around the point where they're making a level editor. They learn a lot about things like tooling (which, coincidentally, is a lot like what they already knew how to do), but never actually make the game. It'd be like learning stone masonry by building a cathedral—you won't live to see the end. Start so small that you can't fail, then work your way up to bigger and bigger projects.