It is good time to make the Construct great again

3 favourites
From the Asset Store
Casino? money? who knows? but the target is the same!
  • Ashley has explicitly argued against rising complexity in the form of features that would aid power users and enhance scalability, on the grounds that beginners would be turned off.

    I haven't seen this happen, do you have some examples?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • For the record, we want to do both: an easy-to-use tool for beginners, and also a capable tool to build and publish a full game. So we need both features that help absolute beginners get started (like guided tours), and help advanced users go further (like JavaScript coding).

  • For the record, we want to do both: an easy-to-use tool for beginners, and also a capable tool to build and publish a full game. So we need both features that help absolute beginners get started (like guided tours), and help advanced users go further (like JavaScript coding).

    That's good to hear. I like tools that are easy to get started with, but have a high ceiling of what can be accomplished with them.

    Speaking of advanced users, is there any way to improve the JavaScript editor? It is painful to use it since it suggests invalid methods and properties. I have unfortunately more than once thought about just ditching C3 and moving to an engine with a proper development environment for code.

  • For the record, we want to do both: an easy-to-use tool for beginners, and also a capable tool to build and publish a full game. So we need both features that help absolute beginners get started (like guided tours), and help advanced users go further (like JavaScript coding).

    Ashley

    The javascript is essentially what allows nearly unlimited potential with c3 and is a great addition. But, there is a big * there. The problem is that leveraging constructs advanced capabilities invalidates its major appeal (fast and easy), in some cases. It can do it all, but it easnʻt as easy at that point as other tools.

    The sdk, though well documented, lacks of recipes and examples, c3 behaviors arenʻt available to reference, and the included template does basically nothing and needs comments, etc., and authoring behaviors and plugins is cumbersome and verbose (even after coming to grips with them), even to make a simple behavior that simply holds variables, you still need a bunch of different files. So at its most basic level, creating a plugin or behavior has a huge overhead. In construct 2, I could even dig in and take a look at parts of the engine.

    I have authored my own custom platformers and other controllers as behaviors, (and even did my own box2d import) in c2 but each time I did, I could recreate the same thing in unity or gamemaker in much less time -

    I learned construct 2 and the its sdk before ever even touching unity, but learning unityʻs code and workflow was much easier than learning to make behaviors and plugins for construct. I kept bouncing back to construct though and still do. Construct gets alot of things right. In a blank project, I can create an custom astroids like movement controller in like 5 minutes. If I use javascrpt lines in the editor, I can do it slightly faster. I can do it in 8 minutes in gamemaker, and I can do it in 7 minutes in unity. Construct is also faster to load projects, start new ones, and launch the game. Game maker and unity drag their feet on compiling assemblies each time you hit play. So construct really shines, then you hit that "need to code some plugins" and its hard to justify.

    So I love testing ideas and building prototypes in construct. But... then scale happens. To build SOLID oriented games, that can flex as the design changes and grows, you need to be authoring plugins and behaviors - With lack of object oriented events, events can become brittle and forcing them to be OOP or component focused is cumbersome and introduces huge performance losses if using events. Even taking an object and making a family out of it is tedious.

    If construct could get to the point where it had a tool to help author behaviors and plugins...So at least you could just write 1 file, and all you had to do was fill in the actual script functions (like tick), life would be much better. Sure you need to define ACEs, but doing them accross multiple files is a pita.

  • If construct could get to the point where it had a tool to help author behaviors and plugins...So at least you could just write 1 file, and all you had to do was fill in the actual script functions (like tick), life would be much better. Sure you need to define ACEs, but doing them accross multiple files is a pita.

    not exactly 1 file, but this framework by skymen is pretty good, you define all the aces in one file, and then can forward the implementation to the instance

    github.com/ConstructFund/c3ide2-framework

    there is also a CLI here - github.com/ConstructFund/c3ide2-cli

    and also I definitely agree with the addon SDK as is very cumbersome to work with and there is a ton of boilerplate. it also feels very disconnected from the editor itself making eth develop experience suffer.

  • The Addon SDK isn't meant to be the primary way of writing code for your project. Just use script files (or scripts in event sheets) instead. The Addon SDK is there if you want to do something like integrate a third-party service in a way you can use from event sheets and re-use between a wide audience. If you want to do something project-specific I'd definitely recommend to just write code directly in your project instead. JavaScript Modules are also a really good way to share chunks of code between projects too, if you have bits of code you want to re-use across projects.

  • I recommend any JS dev to give my framework a try, as I feel it can make the process a lot more fun and less cumbersome. I also hate writing a lot of boilerplate.

    My take on what should be addons and what should not is that if other people are able to use a system without context in unrelated projects with no deep understanding of what it does under the hood, then it should be an addon. Otherwise, it should be a JS module.

    A while ago I wrote a lot about how to design code in Construct to be modular on many levels, but a lot of what I wrote is outdated, and I think there is a lot to be taught on that regard considering what Construct 3 has become in recent years.

    Overall I think most of the issues people have been complaining can be solved by Brackeys type community members teaching people about the software and writing tools to cover more and more blind spots.

    So I don't even think the burden lies on Scirra, instead IMO they should focus on doing whatever the fuck they've been doing for the past 15 years.

  • hi i am following a tutorial for making a 3d game but there is no conditions for 3d camera which is really in need for my game can you solve this proplem

  • Overall I think most of the issues people have been complaining can be solved by Brackeys type community members teaching people about the software and writing tools to cover more and more blind spots.

    I agree with the above point - construct lacks people like brackeys and codemonkey, but I also think the few out there making tutorials dont have a large enough audience to justify making tutorials. Its a chicken egg thing. Well made videos are a TON of work and you need enough users to care... I keep thinking of giving it a go (mostly on SOLID principles and how they apply to construct), but...

    Alot of what makes good coding practices good are difficult to apply to construct. Which is my biggest trouble with it for larger games and why i only really prototype concepts. I must admit, I've been using custom plugins for variables since a month after starting to use construct and globals 2.0 is great. Managing scope in c3 compared to c# is night and day though. I can write code quite easily that I never have to look at again in unity. Making abstract complex framworks is cumbersome, especially when you can't prevent their misuse in the future if you forgot what variables and functions are for what.

  • I thought about making some kind of tutorials or something too. I do way more prototyping/tinkering than actual game making :V and I think that would fit into teaching some stuff sort of... but yeah... it takes plenty of effort/time to make it good and I wouldn't want to bother with it if the result is bad. I also don't exactly have a ton of experience with video editing either, so that would be something on top I'd have to learn at least a little bit.

    Maybe I should just bite the bullet and see what happens... worst case I wasted some time I guess.

  • The Addon SDK isn't meant to be the primary way of writing code for your project. Just use script files (or scripts in event sheets) instead. The Addon SDK is there if you want to do something like integrate a third-party service in a way you can use from event sheets and re-use between a wide audience. If you want to do something project-specific I'd definitely recommend to just write code directly in your project instead. JavaScript Modules are also a really good way to share chunks of code between projects too, if you have bits of code you want to re-use across projects.

    Ah, that would make more sense. I might be extra dumb here though... How would you use the script files to extend an object's functionality?

    Like, if I want each instance of type T to have a list on it, I'd still have to create some sort of manager to link those lists to each unique instance. With a behavior, I can just drop it on the object type/family, and roll without much care for how its implemented behind the scenes.

  • How would you use the script files to extend an object's functionality?

    Subclassing instances is designed to be able to do that. For example the Ghost Shooter Code project creates a custom MonsterInstance class with custom properties and methods specific to the monster, e.g. a health property, a DestroyWithExplosion() method, and so on.

  • I second subclassing. I've used that before and if you're fit in js, this is absolutely something you want to do! It's really, really good!

    Maybe that's something to highlight, because I'd argue it's one of the best "advanced" features in Construct but at the same time it seems mostly unknown or overlooked.

  • > Overall I think most of the issues people have been complaining can be solved by Brackeys type community members teaching people about the software and writing tools to cover more and more blind spots.

    I agree with the above point - construct lacks people like brackeys and codemonkey, but I also think the few out there making tutorials dont have a large enough audience to justify making tutorials. Its a chicken egg thing. Well made videos are a TON of work and you need enough users to care... I keep thinking of giving it a go (mostly on SOLID principles and how they apply to construct), but...

    Alot of what makes good coding practices good are difficult to apply to construct. Which is my biggest trouble with it for larger games and why i only really prototype concepts. I must admit, I've been using custom plugins for variables since a month after starting to use construct and globals 2.0 is great. Managing scope in c3 compared to c# is night and day though. I can write code quite easily that I never have to look at again in unity. Making abstract complex framworks is cumbersome, especially when you can't prevent their misuse in the future if you forgot what variables and functions are for what.

    I made quite a few video Tutorials for Construct, both in Italian and in English.

    Unfortunately numbers are not there to even start to monetise, since YouTube place an unbelievable threshold to start to monetise. The channel must have at least 1000 subscribers AND a total of 4,000 hours watched of public video in the last 365 days. That means that with tutorials, that are usually short, it takes forever.

    I have courses that are a series of longer tutorials, but even though I can't reach it. The only way to do it is to make video every day, but that's not worth the money.

    And by the way, even if I you can't monetise, YouTube still puts ads on your videos, so they make 100% of money and they give you 0% share. So to conclude, it's not worth that for making money.

  • That's kind of expected. But on the other hand, if I were in just for the money I'd stop using Construct and start a dropshipping company. Also, there are other ways to make money apart from directly monetizing youtube.

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