C2 gui enhancement ideas (@Ashley)

  • Tokinsom - what is it specifically you are after? We have done lots of updates this year, and I am sorry if they are not what you are after, but if you just complain then I don't know what you want. I know you've probably mentioned it before (and it's likely already on our todo list) but I do keep tabs on the forums and I do use the regularity which specific features are mentioned as a very rough kind of voting system in my head. So far though there's not much useful to gain from your feedback.

    The editor is C++ and doing new UI features in C++ is generally a big pain in the ass, to the extent that a beta update can generally contain a basic implementation of a single new UI feature which is subsequently refined over the next few releases, or several engine updates in one beta update (which are comparatively easy and quick to implement, even for relatively significant new features). So usually it weighs up in favour of the engine updates. I think we are reaching a point where the engine is largely in good shape so perhaps now is a good time to return to editor UI features, but they are slow and difficult to produce. (I'd point out that had we done it the other way round we would end up with a slightly better UI and a seriously less advanced engine, so I think we did it the right way round.)

    In the long term we are thinking about where to take the editor in future, and how to solve this problem to make it really easy to add UI features - and how to allow third party addons to extend the UI usefully as well which helps take the pressure off us much like third party plugins already cover lots of niche/specific use/alternative features in the engine. This will be no small job though. I hope everyone can be patient, because to make a "dream" UI is going to take a lot of work... but it's in our sights!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ashley

    I would it not help to have some sort of visible roadmap so people know what is and isnt on the list. Also maybe the odd vote or question in the forum from the Scirra team regarding such features. I know users post these from time to time but i think it means more if the team ask.

  • agreed - would love to see more transparency about future direction.

  • Whilst the transparency might be appreciated it dulls Scirra's competitive edge as a game engine - we have vague ideas of where certain things are going (i.e. modularity) which I feel is enough information.

    ...That and the beta releases are like a mini-Christmas for me...

  • The editor is C++ and doing new UI features in C++ is generally a big pain in the ass, to the extent that a beta update can generally contain a basic implementation of a single new UI feature which is subsequently refined over the next few releases, or several engine updates in one beta update (which are comparatively easy and quick to implement, even for relatively significant new features). So usually it weighs up in favour of the engine updates. I think we are reaching a point where the engine is largely in good shape so perhaps now is a good time to return to editor UI features, but they are slow and difficult to produce. (I'd point out that had we done it the other way round we would end up with a slightly better UI and a seriously less advanced engine, so I think we did it the right way round.)

    You could probably rebuild the whole UI and get extensibility features for free by redoing it in C#. For example the PropertyGrid control you use in the current UI already exists in .Net as well as the toolbars, dockable windows, etc.

    At my day job most of my time is spent building server software, but after that work is done I get a little bit of time to build admin tools for those servers and I can whip them out pretty quick (and still very advanced) with VS / C#.

    For example get extensibility for free:

    http://msdn.microsoft.com/en-us/library/dd460648(v=vs.110).aspx

  • The problem is that many components of the editor were designed as 'minimum viable product' just to get things rolling early on, but were never really polished / finalized. Instead we got more and more new stuff, lots of which is hardly used afaic, and they were forgotten about. I get that Ashley is more or less the sole developer..what I don't get is why that's the case when C2 has a much larger user base than many other engines. C2 should have a decent staff by now. I suppose thats another topic though. Anyway...yes, we finally got proper re-importing for sounds, shader toggle in layout, and animation paths, so hopefully we'll see the rest soon enough.

    Yep, I've been talking about that a lot for last months... Without repeating myself I'm only paste this link

    https://www.scirra.com/forum/viewtopic.php?f=146&t=93757&hilit=+image - The most essential part of C2 is completely ignored. Oh wait, we got two new buttons for "link to original source file" and "reload original source file"... since I post that.

  • Ashley Blah. You're right. I apologize. It's just that there are a few things with the editor my teammates and I are tired of dealing with. If they have a problem with it, it comes to me, and then I come to the forums about it...unfortunately our frustration often comes along too. Anyway, here are some of the features/requests I've been referring to...

    -Sharing layers & layer properties between layouts, including ribbon properties like grid size, snap-to, etc. (This feature would be huge for those working on metroidvanias or multiple-layout levels.)

    -Selecting previously-placed tiles on the tilemap canvas, not just the tilemap bar.

    -Multiple tilesets in a single tilemap object.

    -Center orientation for tilemap objects (so you can resize a tilemap object without shifting or losing rows/columns of tiles)

    -Highlighting multiple items in lists (layouts, layers, animations, animation frames, objects, etc.)

    -Tabbing through object/project properties.

    -Highlighting search words in the event editor.

    ...I feel like there's more but this is what I can think of off the top of my head.

  • Ashley, maybe It's time for another "What's Next?" poll? To grasp the idea on what the current community really need now, the last one kinda obsolete now that the community has changed in number and ideology, and to add up that items in last poll have been rolled out. Just suggesting, to keep things in democracy.

  • In the long term we are thinking about where to take the editor in future, and how to solve this problem to make it really easy to add UI features - and how to allow third party addons to extend the UI usefully as well which helps take the pressure off us much like third party plugins already cover lots of niche/specific use/alternative features in the engine. This will be no small job though. I hope everyone can be patient, because to make a "dream" UI is going to take a lot of work... but it's in our sights!

    Why not kill 100000 birds with 1 stone? Ditch the C++ IDE and port the whole thing to CEF.

    • Linux/Mac/PC compatibility out-of-the-box
    • Mobile versions are simpler to make
    • Vastly fewer discrepancies between Edittime and Runtime (especially in regards to effects)
    • Component reuse across codebases
    • No need to switch between languages / Single standard library
    • IDE SDK becomes easy to make
    • Tons and tons of high-quality UI libraries
    • Possibility to make a "cloud" version
    • Easier collaboration (stuff is more abstracted than with C++)
    • Big community support
    • No need to make single-purpose C++ interfaces for plugins such as spriter - the developer would be responsible for integration

    I don't see any point to sticking to C++, especially since you said yourself that you wouldn't make native exporters and don't like "maintaining multiple codebases". Even if you were to add an editor SDK, if it was made with C++, I doubt a lot of people would use it, considering most here that can program tend to do so in javascript.

    It wasn't a viable option back when construct was still in alpha, but it has become an option now. Check out how easy it would be to make interfaces with something like jQWidgets and unsemantic! They'd be insanely better than what we currently have in the editor!

    I might post a topic with mockups.

    If the exporter was a commandline tool, I'd be tempted port the whole thing myself (well not really since I would be in a legal mess with Scirra in regards to IP Ownership but you get my point).

    We would be a long way behind where we are today if we had, because we would be having to maintain multiple codebases. Writing two codebases isn't twice as hard, it's more like squared (to the power two) as hard, because of all the extra effort to make sure both codebases are functionally identical in all circumstances, and that extra work never goes away if you keep adding features like we do.

    Need more arguments?

  • I don't think there are any totally obvious choices, there are always tradeoffs. I've not seen any web UI frameworks that in my estimation compare to what we use at the moment. Whatever we did, a radical technology shift or reworking of the editor (at least to support Mac + Linux) would take a considerable amount of time, pushing things back a long way while we catch up with what the editor already has. (We're too deeply tied in to Windows and MFC at the moment for it to be practical to port what we have already.)

    To what extent are those wanting editor enhancements willing to wait for this to happen? We could keep extending the C++ editor, which is relatively painful, and further invests ourselves in a Windows-only English-only editor. Or we could think about reworking the editor sooner rather than later, which in the long term could bring a lot of wishlist features but would probably be on the order of at least a year or more, during which updates to the current editor and runtime would probably be sparse. And we'd probably call that "Construct 3" given the vast scale and cost of the reworking.

    We've done it before with the move from Construct Classic to Construct 2, and that took time but I think it paid off amazingly well. This time around we could keep the same runtime which makes it less work. Thoughts?

  • I've not seen any web UI frameworks that in my estimation compare to what we use at the moment.

    I'm not sure I understood what you mean. The web is miles ahead of the desktop in terms of styling and widgets. There's no desktop equivalent for CSS, and although there are many desktop UI widgets, they're hard to integrate if they come from different sources, and none of them are as extensible as their javascript-based counterparts.

    The only reason we don't have a browser-based photoshop or zBrush is performance, not features, and the C2 IDE is mostly static, so such concerns should be no issue (especially since javascript text-based IDEs are feasible, as proven by brackets).

    Whatever we did, a radical technology shift or reworking of the editor (at least to support Mac + Linux) would take a considerable amount of time, pushing things back a long way while we catch up with what the editor already has. (We're too deeply tied in to Windows and MFC at the moment for it to be practical to port what we have already.)

    There are already tradeoffs with continuing the C++ editor, and those will only get worse with time. We are already hitting a ceiling on what the editor can do in terms of modularity and extensibility - I'm sure you agree an IDE SDK is just as much a pipe-dream than a HTML5 IDE.

    Linux+Mac support are two other things that would take a ridiculous amount of time.

    The longer we wait with the current editor, the worse the cost becomes. Besides, we've been sitting on the bleeding edge for a long time, it will be nice to let the wrappers/browsers/devices catch up a bit and get better organization features, which are currently preventing big projects from becoming a thing with construct.

    Skinning was a major feature that ended up limited to recoloring/resizing only (imagine the power of CSS based reskinning).Translation practically flopped. There are many widely-used translation APIs for javascript, and they're mostly plug-and-play.

    To what extent are those wanting editor enhancements willing to wait for this to happen?

    I'd rather see modularity first, before a huge push for IDE enhancements, but after that I don't think there are many major runtime features left (the biggest one was multiplayer and that's already in).

    We could keep extending the C++ editor, which is relatively painful, and further invests ourselves in a Windows-only English-only editor.

    I don't think you're too fond of that idea yourself. The mac+linux versions might be incentive enough for you to port, and those would probably represent an extra 15% of the total income (though I imagine Tom would have a better idea).

    A translated editor would also go a long way towards acquiring new customers, so I thing it's a good idea from a business sense.

    Or we could think about reworking the editor sooner rather than later, which in the long term could bring a lot of wishlist features but would probably be on the order of at least a year or more, during which updates to the current editor and runtime would probably be sparse. And we'd probably call that "Construct 3" given the vast scale and cost of the reworking.

    We've done it before with the move from Construct Classic to Construct 2, and that took time but I think it paid off amazingly well.

    IMHO those make sense both from a business and engineering perspectives. For me at least it's clear the engine has outgrown the IDE.

    This time around we could keep the same runtime which makes it less work. Thoughts?

    You'd also keep the exporter, the XML project structure, the runtime debugger and the runtime SDK, as well as most of the eventing scheme (one could call it the "construct standard library"). Extensions would be easy to convert if you keep the runtime SDK. You could also make a tool to convert c2 projects to c3 projects.

    As for construct 2, I've been extremely satisfied with it, and I think I got more than my money's worth out of it. I'm not sure anyone in the community can disagree, especially considering the free (and frequent) updates we've been getting all this time.

    I'm in favor of a Construct 3. Why don't you post a poll discussing it?

  • We've done it before with the move from Construct Classic to Construct 2, and that took time but I think it paid off amazingly well. This time around we could keep the same runtime which makes it less work. Thoughts?

    You sounded like you don't want to expand Scirra as a company at the moment, well I have nothing against that, it's yours anyway. I agree with what you say Ashley because in business point of view, developing a single product until it is well establish (ultimately complete) is much better than changing the runtime from time to time and having a split commitment to maintain both. Personally I can't accept it if you decide stop doing C2 and move on to C3.

    I believe you're already working at your max capacity, I don't see the practicality moving on to another runtime framework as that will require you to hire new staff into Scirra if you want to keep the pace C2 is going and having C3 to roll out at the same time. Slowing down the pace to start on C3 might turn people away because it give the impression that the product will not reach its ultimatum whenever new technology comes in.

    Nothing against you Fimbul , I rather see Scirra move towards what you have suggested with a totally new mission, with enough man-power and brain-power, making C3 (if it is going to happen at all) a 3D (and 2D) game engine, as easy to use as C2. But I rather advice Ashley to not go there unless you're comfortable to expand Scirra as a company. You gotta expand sooner or later, because you're already making an impactful appearance in the industry, yeah there are "that" business risk you have to take, which is unavoidable for anybody who setup a company, regardless of industry.

    Ashley Out of curiosity, where do I find your to do list? It might be helpful to the community if you sticky the list, so that we are kept informed with what's coming and going on.

    PS: C3 goes well with 3D because of the number

  • DuckfaceNinja, I had a lot of trouble understanding your post, tell me if I've got this right:

    • If C3 is ever going to happen, you'd rather it be a 3D engine
    • However, you are against C3
    • Because you think scirra would need to expand in order to keep C2 and C3 supported simultaneously before C3 matures enough that C2 can be retired

    is that it?

    If so, lets take this in parts:

    making C3 (if it is going to happen at all) a 3D (and 2D) game engine, as easy to use as C2

    Well Ashley has already posted his views on the subject before. Even though I'd love to see a 3D construct as well, I don't think browsers are ready for it. Maybe in 2 or 3 years.

    I believe you're already working at your max capacity

    I agree, but switching to an HTML5 based IDE would mean less work in the long run, not more (since it would all be javascript instead of javascript & C++).

    There's also the problem that hiring new developers to work on ongoing projects tends to make projects take longer.

    I don't see the practicality moving on to another runtime framework

    You misunderstand. There will be no new runtime framework. We're talking about a new editor only, the HTML5 runtime engine will remain the same.

    Out of curiosity, where do I find your to do list? It might be helpful to the community if you sticky the list, so that we are kept informed with what's coming and going on.

    Officially, there is no public todo list, but in practice, it's pretty easy to find it

  • DuckfaceNinja, I had a lot of trouble understanding your post, tell me if I've got this right:

    • If C3 is ever going to happen, you'd rather it be a 3D engine
    • However, you are against C3
    • Because you think scirra would need to expand in order to keep C2 and C3 supported simultaneously before C3 matures enough that C2 can be retired

    is that it?

    1&2) I'm not against C3, I just prefer it to be something new with a broader mission, we have a similar impression that it should be 2-3 years from now, with 3D, which is why I say "not now".

    3) Logically, working on 2 things at the same time means time spent on each is roughly (or not) half time spent for both? Yeah, expand is necessary to keep the pace.

    Officially, there is no public todo list, but in practice, it's pretty easy to find it

    Aha, the post was in 2012, I wasn't here yet. Didn't know it exist.

    Lol keywords. It never to comes to my mind to spell "to do" as "todo". Looked other keywords to no avail .

    Oh well thanks for showing the way.

    I'm in favor of a Construct 3. Why don't you post a poll discussing it?

    +1 on poll to discuss it.

  • If, as Ashley states, it could potentially take up to a year to recode the IDE with virtually no updates to C2, this looks like commercial suicide to me.

    Income would seriously drop whilst people hold on for 'C3', which could have the disastrous effect of killing Scirra completely, all for the sake of a few IDE enhancements that would probably only benefit the minority of users (although a poll would clarify this greatly).

    I can see the need for enhancements, but at what cost?

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