Native Desktop Exporter for Construct 3

Discussion and feedback on Construct 2

Post » Thu Jan 29, 2015 5:06 pm

Nesteris wrote:To you, I say this first, and a quote later. MMF most likely doesn't show up there because the UI is really bad and it's easy to get lost, at least I did.

Well yes. It's ancient software, the event system hasn't had a revamp in two decades - the interface is still basically the same as in Klick'n'Play, just with new stuff tacked on.

But that's the whole point, their priorities are screwed up! They should've focused on making the editor better, instead of worrying about exporters. They still have legacy "movements" (somewhat similar to what we would call behaviors) that have the same bugs they had twenty years ago! The "eventsheets" are coupled with the "layouts", meaning that the visual editor is practically useless, since you have to copy+paste code if you want to use the layouts.

They still don't have feature parity in ANY of the exporters, meaning it's a crapshoot whether a given feature will work on a given runtime. There's talk of how "Fusion 3" will be a lot better and will solve everything, but nothing concrete so far (not even an official announcement).

Now it might seem that I'm slamming them, but their product is actually quite good, and I still love and recommend it. But it could be so, so much better had they not made all those exporters.

Nesteris wrote:As for not sacrificing any significant percentage of the userbase, 2 out of the 3 develops on the Construct 2 front page have said that they will not being using Construct 2 for their future projects because they can't export to consoles or natively:

sqiddster wrote:From my point of view, I can't risk being reliant on Chrome and NW (and HTML5 in general) being functional. I can't afford to not be able to port to consoles. So I'll move to another engine for my next project.

Scirra can afford to lose people like myself as a customer. Keep in mind that a VERY high percentage of C2 users don't create commercial desktop/console products.

IMO they should just scrap support for large projects and focus on small/midscale projects, and rapid prototyping. It's admirable that they've been supportive of projects like mine for so long, and I'm hugely thankful for that! But in terms of what would be best for this engine, HTML5 is the only option. And at least for the near future, using HTML5 for a commercial-scale project will always be problematic (Except, as always, for special cases like non-performance intensive games, etc)

At the end of the day, for a commercial project, Unity and (apparently) GM are viable alternatives, and Scirra would be crazy to try and compete with those powerhouses directly, at least with the resources they have currently.


C2 has problems, sure, but I think people are overestimating the performance issues. It's not that bad. Sure if you have a contract or a finished game you're about to launch, you can't afford to keep waiting for NW or whatever third party wrapper, but you should be sticking to the stable branch, and testing your project before migration. Technical feasibility studies and regression testing are important for professional game developers, and if you implement them, there's absolutely no reason to complain later about performance or bugs.

Nesteris wrote:At this rate, the only people that came to use Construct 2 and made something great with it have been smacked in the face by it's limitations and are feeling big pain because of it. It's kind of turning out that the developers of Airscape and The Next Penelope wasted their time making a free advertisement for Construct 2 that they can't make money off of because Ashley can't be bothered to make Construct 2 into a real "powerful, full featured and professional game development software".

I agree completely. But the causes, in my opinion, are different. The wall most users run into when they try to get serious with C2 is related to workflow. It's hard to collaborate, hard to integrate with your asset pipeline (art, music, SFX, GFX and text), hard to build a half-decent UI that's flexible enough to let you add new features,
hard to keep your code reusable, and so on.

But it's getting better. For instance, it used to be really painful to debug, but now the debugger solves 80% of the problems. But look at what had to be done - the debugger lives entirely in the browser, it's in effect a whole new program sitting outside the IDE, because the current IDE is too crap to handle the things the debugger needs in order to function.

Working with tiles is a huge pain, tying extensions together is also painful, every plugin that needs to draw something on the IDE or invoke a config window (i.e. tilemap and spriter) is basically doomed (unless scirra is the one making it).

Nesteris wrote:The reason Unity3D, MMF and GameMaker cost a lot is because they need that money to fund development for improving the engine and making exporters. Construct 2 is a lot cheaper and it does show. I get that Ashley wants to improve the Construct 2 engine


The engine we have currently is already very powerful, what we need is a new editor. Look at the recent optimizations like render cells and tell me you'd rather have more of that, instead of productivity features like the debugger! Ashley even offered to look into projects, free of charge, if they run slowly.

Look how far we've come by relying on HTML5 alone! Back when I started, we couldn't even think of mobiles, it was browser only, and even then, chrome only - and now people are complaining about GC-related microstuttering in mobiles? I'm not saying it's not important - it is, smooth gameplay is a cornerstone of design - but it's just that those problems will go away - we've had issues with input lag, framerate locking, audio playback issues, monstrous multiplayer delays and the teams responsible have always fixed the problems eventually, and when they don't (such as ludei's old wrapper, I hear the new one is much better) they're soon deprecated and replaced with something better.

Productivity, on the other hand has remained relatively constant (except for the debugger), and I'm 100% behind Scirra when they wish to focus on solving that.
B
36
S
8
G
8
Posts: 532
Reputation: 6,903

Post » Thu Jan 29, 2015 5:10 pm

I love Construct 2 but hate the desktop runtime. The desktop export just doesn't "feel" good and solid. Whatever that means, I don't know, but it's definitely there. I tried Stencyl when I got fed up with the desktop runtime. The Stencyl editor is horrible, but if they ever get it together, I will (sadly) switch in an instant. Their desktop runtime is amazingly smooth. Something C2 never had no matter what version of Node Webkit. I don't care what numbers people post up about their C2 framerates, there is no comparison to a solid native engine.
B
80
S
52
G
40
Posts: 370
Reputation: 25,330

Post » Thu Jan 29, 2015 5:24 pm

As a user I agree with the last post from @sqiddster that C2 tends to be very risky for big commercial projects, because HTML5 adds too much middlemen between the developers and the customers/players, with too many dependencies and little control with a scattered support. There's the OS makers, the wrapper makers, the browser makers, the W3C consortium (influenced by all browser makers), there's Scirra, and only at the end the developer. If something goes wrong at any of these stakeholders the developer is left hopelessly. Too much risk added on top of an already risky undertaking that is create a successful game.

I particularly would love to see Construct as a full-fledged game development tool also targeted at big projects and professional developers from the game industry.
But it's easy to understand why professionals pick other tools. Support for consoles is a must for such people. HTML5 still doesn't deliver that, and by the looks of it (if it happens) those games will be segregated to special sub-markets in consoles.

Now I believe that making the Construct engine in something like HAXE or MonkeyX could be a viable solution to solve most of those problems, delivering native exports to multiple platforms (including consoles and HTML5) while removing most of the middlemen and dependencies. It seems to be working for Stencyl.

It doesn't require a complete engine rewrite for each platform, just special plugins for platform specific functionalities like we have now with HTML5. The browser specific functionalities that HTML5 has for free as an advantage are not that useful for games. Sure it would require a complete engine rewrite. And it would have it's own downfalls too, as it probably would require plugins made in HAXE or MonkeyX, so I would expect less plugins by the community.

I see it as a good long term solution to make the perfect 2D game engine, but I understand that as a business decision it may not be the best for Scirra right now.

But even with things remaining as HTML5, I still hope at least some parts of the runtime be re-factored. Like improved families and containers, support for multiple collision polygons per object, multiple textures per object (color, normalmap, heightmap... accessible to shaders), tilemap as a layer type instead of object, merging of sprite and tiled-background, etc...
Scirra Employee
B
152
S
53
G
17
Posts: 711
Reputation: 17,800

Post » Thu Jan 29, 2015 6:17 pm

Good post @Animmaniac. I was hoping Construct 3 would drop html5 for much of the reasons you stated. I've heard good things about both HAXE (which Stencyl uses) and Monkey.

I've said this a number of times in the past and i still think that Construct will struggle when MMF3 is released if it comes good on its promised features of native exporters including C+ code, multi platform editor and an overhaul of their event system which will make it the same as Constructs.
B
43
S
23
G
20
Posts: 735
Reputation: 12,027

Post » Thu Jan 29, 2015 8:08 pm

Fimbul wrote:Technical feasibility studies and regression testing are important for professional game developers, and if you implement them, there's absolutely no reason to complain later about performance or bugs.

Nesteris wrote:At this rate, the only people that came to use Construct 2 and made something great with it have been smacked in the face by it's limitations and are feeling big pain because of it. It's kind of turning out that the developers of Airscape and The Next Penelope wasted their time making a free advertisement for Construct 2 that they can't make money off of because Ashley can't be bothered to make Construct 2 into a real "powerful, full featured and professional game development software".

I agree completely. But the causes, in my opinion, are different. The wall most users run into when they try to get serious with C2 is related to workflow. It's hard to collaborate, hard to integrate with your asset pipeline (art, music, SFX, GFX and text), hard to build a half-decent UI that's flexible enough to let you add new features,
hard to keep your code reusable, and so on.

But it's getting better. For instance, it used to be really painful to debug, but now the debugger solves 80% of the problems. But look at what had to be done - the debugger lives entirely in the browser, it's in effect a whole new program sitting outside the IDE, because the current IDE is too crap to handle the things the debugger needs in order to function.

Working with tiles is a huge pain, tying extensions together is also painful, every plugin that needs to draw something on the IDE or invoke a config window (i.e. tilemap and spriter) is basically doomed (unless scirra is the one making it).

Nesteris wrote:The reason Unity3D, MMF and GameMaker cost a lot is because they need that money to fund development for improving the engine and making exporters. Construct 2 is a lot cheaper and it does show. I get that Ashley wants to improve the Construct 2 engine


The engine we have currently is already very powerful, what we need is a new editor. Look at the recent optimizations like render cells and tell me you'd rather have more of that, instead of productivity features like the debugger! Ashley even offered to look into projects, free of charge, if they run slowly.

Look how far we've come by relying on HTML5 alone! Back when I started, we couldn't even think of mobiles, it was browser only, and even then, chrome only - and now people are complaining about GC-related microstuttering in mobiles? I'm not saying it's not important - it is, smooth gameplay is a cornerstone of design - but it's just that those problems will go away - we've had issues with input lag, framerate locking, audio playback issues, monstrous multiplayer delays and the teams responsible have always fixed the problems eventually, and when they don't (such as ludei's old wrapper, I hear the new one is much better) they're soon deprecated and replaced with something better.

Productivity, on the other hand has remained relatively constant (except for the debugger), and I'm 100% behind Scirra when they wish to focus on solving that.



So you're saying that, we have no reason to complain about Node-Webkit breaking our performance because we had to use it to test and export our game?

I've never used the debugger, I tried it once or twice but I saw absolutely no use for me personally. So I don't see any worth in it.

As for the engine we currently have that is "very powerful, what we need is a new editor" I dare you to say that to the devs of Airscape and The Next Penelope, who managed to do what very little Indie developers do a make a game that companies want on their company and are fully ready to pay yet are handicapped by Construct 2 not having the exporters. MMF might be a UI nightmare, but to be fair it is more powerful than Construct 2 and has all the exporters anybody should ever need. And using MMF is still easier than writing real code.

I have looked at the recent optimization like the render cells, I'm one of the users that was talking to Ashley about it and a few other things (Me and Tokinsom got him to make the action where you can reset specific parts of the layout, along with persistent objects).
And those are more useful to me than features like the debugger, which I've never had any use for.

As for Ashley looking into projects, as far as I know it's always been because someone had a problem with Construct 2 either not doing something or not doing it correctly. So obviously he has to look into the project to find if there's any problem.

"Look how far we've come by relying on HTML5 alone!", yes I can see, two developers got crushed by it and even more have stated, in this very forum that they're not going to use Construct 2 and someone even mentioned going to my personal nightmare, Stencyl. (Shudder).

Those microstutters weren't in mobiles, it was caused by Node-Webkit, on real computers, as in the ones that play Battlefield 9001 and edit Avatar. Those are important issues, Aurel could have developed The Next Penelope for infinite years to make it infinitely beautiful, but if every movement was going to constantly stutter and the FPS was going to constantly appear to be dropping even though it's technically at 60 then nobody is going to play it. And Node-Webkit is not going to get any of the blame, or Construct 2, it's the developer that has to deal with everyones abuse.

Lastly, we still have audio playback issues. I still can't get audio fully playing on preview and I'm running the latest release of Construct 2, which is ironically the stable release. But it's probably got nothing to do with C2, yet I don't know if it is or isn't.


Honestly, it sounds like a lot of the users here are defending Sccira because they don't want to look bad because they spent money on it (there's a whole psychological study around people buying crap and then defending it because it's their purchase. But don't think I'm saying that Construct 2 or Sccira is crap, it's not, it's a great company and engine so you'd be wrong in thinking I was implying that.)

Construct 3 should be 3, it should move on from 2. I honestly can't see while the current idea for C3 can't be a major update for C2, while Ashley slowly develops C3 as an engine for PC and Consoles. C2 is obviously purely for portable platforms and only that, the only reason we can export to PC is because our future robot overlords at Google decided to make Node-Webkit.

What would've happened to Construct 2 if nobody ever made those HTML5 exporters? Would Ashley have done it himself? Or abandon Construct 2 same just as he did with Classic?


Last paragraph for this post;

At one point, @Ashley is going to end up having to develop native exporters, either for Construct 2, 3 or 4.
It's going to eventually happen, if he keeps relying on third-parties to make exporters nobody is going to use these engines for any real games unless their for mobile, in which case they're just phone games. For phones.
We need either Ashley to make Construct 3's own native exporters or him to get somebody to hack his engine to do so, otherwise Construct 3 is just going to be Construct 2 with a better editor, in which case paying another 130 USD for it is going to feel like theft to me no matter how good the new UI is.

Improve the engine, don't make it look prettier, improve it.
Stop stalling and do it, because you're eventually going to either have to do it or abandon calling it professional and fully featured.
Actually it's not fully, fully featured now. Every other engine I've ever encountered has native exporters and it's ilk.

The only thing Construct 2 has going for it is it's ability to be used by anyone at any time to, it has a wonder UI that's infinitely intuitive and it's event system is something that dwarves would be jealous of it's level of craftsmanship.

Other than that, it's a fairly basic, regular game making engine with a little, few large limitations that have absolutely no problem completely crippling a developer.


Note: I had a better post than this, but I accidentally clicked a button on my mouse and it sent me back a page destroying all my writing.
The moderators are corrupt and ban for no reason, especially that condescending neckbeard asshole Kyatric. The forums are filled with fanboys.
Banned User
B
22
S
7
G
1
Posts: 558
Reputation: 2,925

Post » Thu Jan 29, 2015 8:21 pm

Honestly, it seems like we are seeing a recurring theme here: the 'major' C2 devs (people like Aurel and sqiddster who have made large, polished games that took a ton of time and work, and are being deployed as commercial projects) are saying that they won't be using C2 for future large projects. Not because of issues with the editor, or even performance in general, but because of two things that Scirra cannot realistically do anything about:

    1. Depending on a browser engine (basically, chromium) for export, which could very well break and not be fixed, given that HTML5 games are hardly a priority for Google.
    2. Console export. Aurel has as much as admitted he's been approached with high$ offers for Penelope on consoles, and had to turn them down.

Most other users are making comments about performance. I don't think that is a serious issue.

C2, unhampered by faulty exporters, as already extremely fast on PC, and will continue to improve, as it has done for the past 4 years. ASM.JS, SIMD.JS, better support for parallelism...all of these are coming and will benefit C2/3 tremendously. But honestly, most performance issue fall into 3 categories: Poor design, unrealistic expectations, or blaming C2 for faults in the given browser/exporter in use.

So performance will improve...but we will still be using browser engines. And we may never be able to export to consoles this generation.

I think this is a time to adjust our expectations and understand where Construct fits among the available ecosystems. The only reason we have this amazing software, which doesn't cost a mint, is because of all the open source components it is built upon (chromium being one, in that's it's our sole option for desktop export).

Ultimately, this means that the direction Scirra takes, and the perception of Construct, good or bad, is ultimately in the hands of Google, Mozilla, and Microsoft. Three massive organizations who may or may not care about their engines mucking up all our work.

That's the state of things, good and bad.

Even after 4 years, we are still on the cutting edge. Sometimes the cutting edge makes you bleed.
Don't lose your work. Backup your game with Dropbox.
B
44
S
10
G
10
Posts: 1,106
Reputation: 9,202

Post » Thu Jan 29, 2015 8:48 pm

So...on a less serious notes, I took a look at Pixi.JS. Holy smokes...it is fast. Take a look at this:

http://www.goodboydigital.com/pixijs/bunnymark/

I get 2200 bunnies on my (not very powerful) android device before it goes <60fps, and on desktop I get ~25,000 before it goes <60fps. Wow. :shock:
Last edited by TiAm on Thu Jan 29, 2015 11:36 pm, edited 1 time in total.
Don't lose your work. Backup your game with Dropbox.
B
44
S
10
G
10
Posts: 1,106
Reputation: 9,202

Post » Thu Jan 29, 2015 8:58 pm

Yeah, Pixi is really awesome.. :D
Because this, the famous Phaser Framework http://phaser.io/
uses Pixi for the rendering.
B
11
S
2
Posts: 213
Reputation: 1,266

Post » Thu Jan 29, 2015 9:06 pm

TiAm wrote:So...on a less serious notes, I took a look at Pixi.JS. Holy smokes...it is fast. Take a look at this:

http://www.goodboydigital.com/pixijs/bunnymark/

I get 2200 bunnies on my (not very powerful) android device before it goes <60fps, and on desktop I get ~50,000 before it goes <60fps. Wow. :shock:


Well, it had to be done: https://dl.dropboxusercontent.com/u/132 ... index.html :)

I tried to keep the behaviour similar but there's a good chance they used something custom and optimized - if anyone wants to improve this as much as possible do go ahead:

DevilMark.capx


Results so far are not as impressive as Pixi's - I can get about 12000 DevilMarks before dropping under 30 fps...

Edit: Export updated to TiAm's first improved version
You do not have the required permissions to view the files attached to this post.
Last edited by Somebody on Thu Jan 29, 2015 10:00 pm, edited 2 times in total.
B
19
S
6
G
6
Posts: 1,101
Reputation: 5,646

Post » Thu Jan 29, 2015 9:46 pm

Actually, let me adjust the numbers:

On pixi.js I get ~25,000 bunnies in chrome before <60fps. This is going fullscreen in the current chrome stable.

With Somebody's DevilMark (Love it :) ) I get ~15,000 devils onscreen before slowdown in an NW 10.5 export.

With a node-webkit 10.5 export of my own modification to devilmark (Clear Background = Off, Pixel Rounding = Off, Devil size to 32x32, fps readout to separate layer to avoid z-sort overhead) I get...

~22,000 devils onscreen before slowdown. :)

However, the cpu usage is quite different, with devilmark using ~28% cpu, and bunnymark using ~15%.

Anyway, I don't think these are exactly comparable tests, but...
Don't lose your work. Backup your game with Dropbox.
B
44
S
10
G
10
Posts: 1,106
Reputation: 9,202

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: Sventevith and 10 guests