So I know C, C++, C#, Pascal, Python, Java, Javascript, golang, etc etc. I've worked directly with SDL, DirectX, OpenGL, LibGDX, Raylib, Phaser, SFML, etc etc. I've messed around with all of the popular game engines. And although I've had a successful career in software engineering, I never _once_ finished a game project, or got anywhere near it. Hundreds of prototypes, but nothing ever got past the first steps.
I tried GameMaker, it was quick to get things up and running, but the general setup with how things work together makes things messy really quickly. I quickly get lost in what's connected to what and get stuck. They keep fundamentally changing GML and it's not a very good language to begin with.
I tried Godot. In my (subjective opinion), the node system is way inferior to Unity's component system, and creates more problems than it solves. I don't like the workflow or the editor, so I never took it very far. I did some prototypes but I always felt like I was fighting the engine more than making a game.
I tried unity. The component system is nice. C# is great. But what a bloated mess. I love chunky 2D pixel art games. Why do I need to decide what rendering pipeline I want to use if I'm making a 2D game? And as before, the game logic expands quickly into many many lines of code. It's not so much that I can't handle it, as it is that it stops being fun and I get bored and want to do something else. Plus Unity is 3D first, and its 2D support and off-by-one rendering issues are a nightmare to deal with. Again I feel like I'm fighting the engine more than making a game.
For many years I ignored 'no code/low code' engines as why would a seasoned developer waste their time with toys and 'stupid' graphical code blocks? I picked up construct a while back for a few days but felt like it was well beneath me and left it.
Well a week or two ago I decided why the heck not. It's not like any other engine/library/language got me anywhere, and no/low code is so different from everything else, maybe that is the missing piece - that at least for me, game dev is a different part of my brain than programming is. I took a deep breath, opened my wallet, and got a subscription to C3; and...
Oh my freaking goodness. In only a few weeks I've not only blown past any kind of tutorial I can find on YouTube, but I'm also _well_ on my way to finishing my first game (think Ultima 4 but more Skyrim-like questing with a sprinkle of harvest moon). Dialog engine with workflows? 30 minutes of effort. Questing system? 1 hour. Support for random battle encounters with enemy lookup tables and basic logic? 4 hours. For some reason, the way C3 works just.. I don't know how.. I don't know why.. It just clicks in my head. No matter how much logic I add, it never gets overwhelming, it never gets boring, and at no point do I ever sit there trying to figure out where to put stuff. I think about it, twiddle my hands for 5-10 minutes, and it's in the game.
At no point am I worrying about proper component separation, or if something is good object oriented design, or if I'm using the engine properly. The signal system is a dream. The way object picking works, while admitedly initially confusing, is freaking brilliant once I understood it. Built in support for workflows and timelines is just insane. My knowledge of programming doesn't make the easy parts annoying, it simply makes the advanced parts equally easy.
Thanks to Scirra for this brilliant engine, it truly is the best out there for 2D games.