0 Favourites

Cross project felexability !

  • Hey everyone,

    I have noticed a few things about construct 2. I have a feeling you all have too- if you have tried to make any large projects... (large being a relative term, obviously SC2 is large but for the sake of construct lets say large is MetroidFusion/Yoshis island)

    Construct2 is really fast to work with. I was sold on it a day after I bought it and I still haven't changed my mind about how awesome it is. That having been said, there is a number of things that start to get in the way/ decrease potential productivity. These are....

    1. Events are tied to a singular project. It is next to impossible or practically a nightmare to try and re-use functionality from one game to another. As it is, event sheets can get increasingly long as a project goes on. Sure you can split them up and call them, but that isn't very handy. It's like construct was made for smaller games and hasn't realized its potential.

    Event files should be able to be prototyped and plugged in to any project. If you want flexibility like that currently, then you need to be able to javascript your own plugins. Cool and all, but honestly there is very little documentation or help doing so. And at that point... you may as well be working in unity- as it has a much better system for that sort of workflow (meaning construct isn't as fast anymore).

    2. Functions need to be able to be called in the same manner as referencing an object- that is, they need to be included in some sort of conclusive, auto-completed menu system. As it currently works, you have to remember all your function names and spell them correctly... not to be high and mighty, but as a programmer that is computer work. having function names not being able to be in a hierarchy of calls is also silly. Having to type in "player_somefunction()" every time you need to call it can get old. Especially when you end up typing "plyaer_somefucntion()", or something similar. Instead of the event editor telling you you have made a bad call, you spend precious time trying to figure out a logic error that doesn't even exist.

    All in all, construct is amazing at what it does, which in my mind is creating smaller scale games quickly. But it starts to lose its edge when trying to create much larger scale games. I actually had to switch to unity for my current project after half a year with construct2. In the end, the scope of my game was too great for javascript/html5 and I was getting serious framerate problems. (I was using too many layers, but hey, I need them to organize and create levels efficiently.) Also being able to quickly create scripts and attach them to various objects is wonderful and efficient.

    I will still use Construct2 for small projects and prototyping, but I can't see trying to undertake a mammoth project again.

    Any Thoughts - agreements/disagreements ?

  • This is a popular request and referred to across the forums as modularity.

    There are plans for C2 to have this.

  • Indeed a popular request, and one that I stand behind.

    See my topic about it here.

  • How big a game are you talking about here? I find on PC/MAC, performance is really good and you have to really try (or just use way too much WebGL effects) to get it to run slow.

  • I would LOVE for there to be a way to remember function names and loop names etc

    like if when you clicked on the box to input a loop name or function, a drop down existed of the current ones in the project, or even a smart search (ie type "s" and all the s functions show)

  • "Instead of the event editor telling you, you have made a bad call, you spend precious time trying to figure out a logic error that doesn't even exist."

    Amen. I wish to rid myself of hours of debugging due to my own fail typos >.<

  • yep, all requested. so wanted for ease of development. So much agreement

    Maybe an official maintained request thread would be nice

  • How big a game are you talking about here? I find on PC/MAC, performance is really good and you have to really try (or just use way too much WebGL effects) to get it to run slow.

    Well, I am testing my game on what I would call " an average laptop" (i5, 4 gigs oh ram, integrated graphics); Basically, nothing special.

    My game *needs* 16 layers at least. I would like 24, but I managed to get it down to 16. Adding layers to a game chews at performance... I don't know why though? I thought layers were more of a organization tool. Anyway, I do have multipple render to texture layers with effects, and yes, I do *need* them. Without them, my game would lose what makes it "original". Without my layers, my game is essentially another mario jumping on stuff...

    Once you have that many layers, and you do anything to a layout, performance tanks.

    So I am at a crossroads... compromise (which we all have to do when making games anyway) or try a different approach... that being working in 3d space on an engine not built around javascript.

    I have been trying to see if it is worth the switch in the last week or so, but idk. Life is tough. Then you die. In the meantime I'm stressing over this.

  • Silverforce - I forgot to mention my test levels only had 6 layers and 1 effect. It was still running at 30-35 fps. I may be able to say whatever and fly with it, but I am afraid I am already at the lowest I want the game to be running at.

  • Layers themselves have no impact on performance, unless you apply a WebGL effect to the layers. Depending on the effect (warp/water are intensive), having just 1 effect on 1 layer kills performance on even the best mobiles. So on PC, if you have a few layers with effects, it could slow down a lot on integrated GPUs from Intel.

  • "Instead of the event editor telling you, you have made a bad call, you spend precious time trying to figure out a logic error that doesn't even exist."

    Amen. I wish to rid myself of hours of debugging due to my own fail typos >.<

    Have a global constant text for each function name. Rid yourself of hours of debugging from typos. The names will appear in the completion list. Yea it's a workaround.

    Also check the browser debug window as it tells you of these errors. Sorry if you already knew.

  • > "Instead of the event editor telling you, you have made a bad call, you spend precious time trying to figure out a logic error that doesn't even exist."

    >

    > Amen. I wish to rid myself of hours of debugging due to my own fail typos >.<

    >

    Have a global constant text for each function name. Rid yourself of hours of debugging from typos. The names will appear in the completion list. Yea it's a workaround.

    Also check the browser debug window as it tells you of these errors. Sorry if you already knew.

    Exactly right. Global constant (constant being the word) is the way to go. I make global constants for everything from character names to dimensions. It is easier to change 1 variable than change 1000's of actions.

  • codah DUTOIT

    That's a great idea, thanks! I have been using constants but the "On function" event doesn't accept any variables so I was a little confused.

  • Construct 3

    Buy Construct 3

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

    Buy Now Construct 3 users don't see these ads
  • "On Function" doesn't support variables. But I still use constants

    var FunctionNameF

    Create function and start typing out Funct... and it will list the variable, just delete the F and put in ""

    Its a work-around, but at least no typo's.

  • TwinTails

    "On Function" doesn't support variables. But I still use constants

    var FunctionNameF

    Create function and start typing out Funct... and it will list the variable, just delete the F and put in ""

    Its a work-around, but at least no typo's.

    That's true but at least you can do it at the point of calling.

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