Been a dev for over 20 years, but now I use C3 and love it

0 favourites
  • 9 posts
From the Asset Store
20 high-quality 2D monsters. This asset is perfect for a side scrolling game, or even a turn based RPG type game.
  • 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.

  • I have to agree. I spent years sticking stuff in different header files and compiling libraries -- in the end it is such a dream to use events and no code. The amount you can get done in just the layout files is impressive too.

    C3 has a natural organization to it that I follow and I can come back to stuff I did years ago and it still works.

    However, I think you should be working on the ultima iv type project.

    yours

    winkr7

  • Thanks for the feedback! I always thought there's a lot of software out there that's unnecessarily complicated, and we try to make Construct straightforward to use but flexible enough to be powerful.

    If you want to get back in to coding, perhaps try out JavaScript or TypeScript coding - I still think that's an underrated part of Construct, as you can use industry-standard languages and tooling and it integrates with event sheets too.

  • I've honestly tried to avoid using javascript/typescript entirely with C3. I feel like going that route is more of a 'trap' than anything. At that point I'm right back into GMS territory.

    The only thing I may use it for is to port over one of the NSF engines (For native chiptune music) to use (it'd be GREAT if C3 added this, wink wink nudge nudge, haha). But beyond that, I'm trying hard to stick to the native stuff.

    Given I've just finished implementing combat, loot, and encounter tables with JSON, tables and the AdvancedRandom component, and am working through enemy AI logic and battle turn resolution using the built-in workflow system -- I just don't really see where the risk of using pure javascript is worth it, or even necessary in most places. Any time I need a somewhat complex data structure I just use tables and create functions (getters/setters) to manage it. An example being the RPG stats for the player's party.

  • JavaScript support is most useful for me when importing available premade libraries for specific advanced functionality. No need to reinvent the wheel (or rocket ship in many cases) with events when most of the work has been done before already.

  • For some reason, the way C3 works just.. I don't know how.. I don't know why.. It just clicks in my head.

    Exactly why I stuck with Construct all these years.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • 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.

    I think the fact that you managed to work this quickly (as an experienced developer) just goes to show that C3 is really just another language - albeit very high level, visual and oriented to making games.

    I have a little programming experience so looked at Unity/Godot etc. but their scripting paradigms just didn't click with me.

    C3 on the other hand is like a toy box full of fun and easy to use things - and like the best toys (e.g. Lego), your only limit is your imagination.

    It reminds me of when my father tried to get me into Mecano when I was a kid rather than Lego. Sure, if you build something from Mecano, it'll be much closer to the real thing than if you build from Lego - but its much harder (especially for a kid) and takes much longer to screw tiny Mecano bolts together rather than just snapping bits of Lego together.

    I think most 2D games I've seen could comfortably have been built in C3 too.

  • I completely agree, I have no such extensive experience in coding, but I've used Construct since its first iteration, and it's pretty much the best engine I've ever used.

    The selling-point of this engine is 100% its eventing system. There is nothing like it in my opinion. Even GDevelop, which is heavily "inspired" by Construct, doesn't manage to get it. And node systems like Game Maker and Unreal, make the process unnecessarily complicated. That's why I don't mind paying a bit more for this engine at the end of the day.

    Construct is almost like writing pseudo-code, that actually works.

    You just need to think of the underlying logic of your systems and it usually works out as you expect.

    I'm in the process of creating some interesting projects, one of them 3D, and while Construct 3 isn't really made with 3D in mind, the eventing system is just too precious. I would take 100x longer to make this on Unity on Unreal, so who cares if the graphics aren't as good. And to be honest, they're not bad at all actually.

    Honestly I think that if more investment was put into giving Construct a truly capable 3D engine, it would easily become one of the most popular engines out there, on par with the big 3.

  • Construct is a great program. But nwsj wrapper is pain in the bottom for those of us who want to make desktop apps. Sometimes it works and sometimes it doesn't. I had terrible stutter few days ago, and even restarting machine didn't help. Left it. Got back to it today and it works buttery smooth. Go figure.

    I guess Construct first and foremost is an engine made for browsers and not wrappers. If it had bit more 3d options and proper native exporters ( for consoles, phones etc ) it would be the best game making program ever made.

    But here's a cool fact: construct makes you a better program designer overall, by letting you quickly reiterate to find the most performant sequences of events, teaches you how to strip things down to their core ( to keep that fps smooth all the way ). And there's probably many more reasons why. Afer using construct since 2008, I was able to understand C and UE blueprints almost within the videos run time. And not only that, but I program in C now as I would event in Construct, make useful definitions and typedefs based on what I learned using Construct ( with some of the benefits of C added to the mix ).

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)