A Construct for programmers

  • Hello!

    After a long search for several game engines these days, I came across Construct 2, which seemed very promising. This impression is a sum of a lot of features: easy interface, built-in functionalities common to games, export option for new technologies and platforms, great focus on the Web, as so many things.

    It's easy to see that Construct was meant for everyone - if you have an idea for a game, just get and make it! It will be simple without pressure for technical concerns. Then I really wanted to use Construct 2, but there is this one thing that get me frustrated all the time: the event system.

    I'm a programmer, and want to make games and get experienced in this field. Other game-making software may be easy to make with programming or give me a huge range of publishing options, but never all of them at the same time like Construct has done.

    The point is: I really, really want to use it. But I also would like to program some scripts, behaviors and personalize it using pieces of code, just like Game Maker and Unity.

    And my question is: why? Why keep with the event system only? Why not give this wonderful option for us who like to type more and more? I know that it has the Javascript SDK, but it would just extend the Event System, which I don't want to use, because the latter is slower and unpractical for me.

  • Plugins are powerful. They could change the structure of events.

  • Epiplon

    You mean you want access to all that yummy, nummy api that's hidden in a series of plugins. I know what you mean there is a lot of features running on C2 that makes it a very robust game api. But it's all hidden in the plugins :D

  • There are lots of tools out there to help programmers - just look up a list of how many HTML5 game engines or SDKs people have made. My impression was that if you wanted to code, you could just do it yourself in Chrome with notepad or the like. However I guess I'm underestimating the utility of the WebGL renderer, animations system, layout view and so on. Those are great, but also easy to code around (although much more time consuming). Basically, we're a small team and we wanted to make a different tool that helps ordinary people get in to game development, rather than yet-another-programmer-IDE.

  • First of all, really thanks for all the answers!

    Yes, SDK and HTML game engines aren't lacking. What is lacking is what Construct 2 made - a graphical game making system, where you can drag elements along a Canvas and make them interact which others. And messing with a text editor can take a long time, just to re-implement things that are already done! Because Construct2 is not just an IDE - is a box of game making tools that, in another situations, you have to use it separately.

    I found it great that you made all of this as a small startup and that concern about being a tool that makes the difference. That's why I'm constantly repeating about the fact that I can't find another tool like it.

    So I have a final question about it, about these plugins system. Can I really use it to write specific behaviors in my objects? And one thing that may be great is the possibility to write these plugins inside Construct, since it may be more attractive for people like me or more experienced.

  • Yeah, look at what Rex has done with his plugins.

    The SDK manual would have more information, but everything C2 does is via the same plugin system (sprites, arrays, texts, behaviors). This modularity should allow you a lot of flexibility.

  • ... So I have a final question about it, about these plugins system. Can I really use it to write specific behaviors in my objects? ...bsolutely. Have a look at my plugin tutorial to see how easy (and how much fun!) it is for someone with JavaScript experience.

  • Compared to "regular coding languages" C2 has its own worflow/system you need to get the hang of before really judging it.

    The event system is robust and allows you to do so much without even requiring you to expand it with plugins/behaviors.

    Often coders come and want to "go further" without even being aware of the depth than can already go into simply with events.

    Take the time to read through the manual and check out some of the tutorials available (you can also check out the advanced event features), perhaps you'll start to see what I mean.

    Some "keyboard users" already stated they were more at ease this way, and so shortcuts were implemented to allow them to find back their mark/workflow.

    Maybe the system is not right for you anyway, but as a beginner, don't just go and judge it without having at least tried it for a bit.

    Your experience as a coder will definitely help you get the hang of it faster than a complete beginner, I can assure you but you still have to put a bit of "discovery effort" into it first.

  • Whenever this topic gets brought up it is always interesting to read. I personally share the same view point as Epiplon.

    Besides the obvious issues with GM that most of us have (lets not discuss it here) the main thing going for it is the GML. GM does not help ordinary people get in to game development as well as construct, but it does help ordinary people learn the basics of game programming much better.

    Take it how you will, all opinions are different and people want different things.

    The one thing I DO know is that the next game making software that comes out that combines the functionality of both construct and GM will be huge. Having an event system for non-programmers and a scripting language of some sort for those that do enjoy programming but want more rapid development will be amazing.

    After construct 1 with the python scripting I thought for sure that C2 would end up implementing something. the JDK is .. well if you are really going to get that deep in to the JDK why not simply make the jump to libgdx or something similar?

    I understand completely where the people with a programmers background are coming from and it is simply this:

    We were hoping we had found an IDE that allowed us the freedom to program our games while promoting rapid game development by giving us the options of using pre-written or defined functions such as behaviors as an example. But having these pre-written functions presented the way construct does. Built in GUI that allows using behaviors on objects quickly and easily. Imagine being able to write your own behavior script within construct and saving it with the other behaviors.

    EDIT: I understand the opinion from others that we know what were buying when we bought it and that it is not a programming/scripting tool. To be fair, what else comes close to what so many of us actually want? It is only natural to follow something that almost makes it with hopes that it will evolve. Also while the opinions of programmers may differ from those that do not program or have no desire to with construct, many of us have financially supported the program and our opinions are just as important as those that oppose it. We are just expressing ideas, hopes, and dreams.

    The truth is scirra is a small team. They are very talented and have made wonderful software which I am proud to have supported.

  • The normal program is wrote by some instructions which call some functions

    • instructions + function definition

    The construct 2 program is wrote by some events which call some plugins

    • events + plugins

    They are the same for me. Plugins just another kind of function definition.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The one thing I DO know is that the next game making software that comes out that combines the functionality of both construct and GM will be huge. Having an event system for non-programmers and a scripting language of some sort for those that do enjoy programming but want more rapid development will be amazing.

    I have to agree with this. Even if you can code, there are times that you want to simplify your workflow by using a drag/drop or code blocks approach. Likewise the graphical coding in C2 is great for simpler tasks, but can become very messy for complex operations.

    Just like in Unity, you can mix and match coding with graphical tools like Playmaker/Unscript or mix coding with Kismet in UDK. The newer 3d engines such as Bitsquid and Project Anarchy have this mix or coding and visual tools, as it really is the best of both worlds.

    GM is partially there, but the drag/drop tools are very weak and I just do it all in code. Hopefully C2 will have some support for scripting down the track, but I am not holding my breath as it is not something you could bolt onto the existing events system and would most likely have to be redesigned with that facility in mind.

  • ... Hopefully C2 will have some support for scripting down the track, but I am not holding my breath as it is not something you could bolt onto the existing events system and would most likely have to be redesigned with that facility in mind.zendorf

    I don't understand what you're saying here. Isn't the SDK/plugin facility exactly the "support for scripting" that you're wanting?

  • No, I am not talking about creating a custom plugin but having the ability to script out an event/action as an alternative to the visual system. Being able to script out things on the fly rather than creating a prerolled javascript plugin.

    This probably flies in the face of what Scirra are trying to achieve with the "no coding" philsophy, but being able to mix scripting and the visual style in the events sheets would be a nice option.

    I have barely tried Classic Construct, so I am not sure how successful the Python integration was.

  • I'm relatively open to the idea of inline scripts like Classic had, but using Javascript rather than Python. The main reason it's been held off is firstly time (as always), but it's also easy to accidentally use platform or browser specific features that break your game's portability (especially with non-browser engines like CocoonJS), or use new javascript features that aren't supported everywhere yet, or just write code that accidentally creates tonnes of garbage and ruins the game's performance. So there's really a lot to go wrong there (and it's partly why I held of for a pretty long time before even just adding execution of javascript strings via the Browser object). The fact C2's engine is well-optimised, low-garbage, and well-tested on a broad range of platforms are nice features IMO, and custom scripting lets you break that (as do third party plugins, actually). But I guess the fact a tool could be used wrong is not a reason to prevent anyone using the tool, especially if it can be used educationally.

    FWIW, all the "built-in" plugins and behaviors except the System object are written in the same Javascript SDK that third party devs use. So it's really capable of everything.

  • Sounds like a "bug fest" waiting to happen and flies totally in the face of what construct 2 is about...

    I think the existing modular system is a good compromise keeping the core engine compact and robust...

    And we All want that...

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