Construct 2 vs. Unity

Discussion and feedback on Construct 2

Post » Tue Dec 23, 2014 2:09 am

2 years ago @Ashley wrote:

"Our profiling has shown it's not unusual for even a fairly complex game to spend 10% of the time on the logic, and 90% of the time on rendering - even when hardware accelerated! (...) This is partly why using a scripting language like Javascript is still fine for games. You'll see some benchmarks showing that in places C++ is 5-10x faster than Javascript. So porting our entire engine to C++ would get you up to a 10x logic speedup. But as we've seen that will often have no effect at all on the framerate. That's part of the reason we're happy to stick to a pure Javascript engine without diverting our limited resources to native ports: it's fast enough."

https://www.scirra.com/blog/83/optimisa ... -your-time

Now we will have 2015 and there are still problems with smooth games both on mobile and desktop.

If it is not about logic, but rendering then why Unity can be super smooth, but bigger C2 games - not really?
B
18
S
6
G
1
Posts: 783
Reputation: 4,187

Post » Tue Dec 23, 2014 2:27 am

well, browsers (or wrappers), have their own rendering engine, which explains the difference greatly (for instance, the current version of node webkit and chrome have rendering issues that really are problematic, smoothness being completely impossible, maybe crosswalk inhereted that bug too), on the other hand, IE seems to be pretty fluid, basically it is not really a performance problem, it is just that the current rendering method of chrome is an "epic fail" if I can say so (three months ago for instance, we did not had that problem), as for performances wise, I do not see really anything wrong with it currently, crosswalk did a good job (until recently maybe?) to have smooth gameplay on every game I tried, where canvas+ was jerky all over the place (this seems to occur only on some devices If I believe what others says), but then again wrappers are secondary, and I think the fact every wrapper suggested by scirra relies one way or another to chrome only was really a bad choice (it is a freaking html5 engine, why should we have to rely on one specific engine that may fail us once again), heck, even the fact scirra recommands only a specific list of wrappers is questionnable.
Game design is all about decomposing the core of your game so it becomes simple instructions.
B
52
S
22
G
18
Posts: 2,122
Reputation: 17,093

Post » Tue Dec 23, 2014 2:31 am

1) Unity has a higher percentage of professional developers using it. This means fewer Unity users sabotage their own app by making newbie coding mistakes that hurt performance. For example this developer knows what they are doing with C2 and can make a quality game because of it (http://www.the-next-penelope.com/)

2) Any changes made by the browser developers automatically effect C2 because the browser is the host for C2 apps... good and bad. Native apps made from scratch do not have this reliance on a third party (the browser developers).
B
21
S
5
Posts: 195
Reputation: 1,972

Post » Tue Dec 23, 2014 3:54 am

And this is why, I suspect, that Unity has its own (annoying) web player.
I only occasionally visit - I'm learning C# for Unity, but c2 is still a respectable game engine imo....
B
73
S
19
G
66
Posts: 2,198
Reputation: 42,188

Post » Tue Dec 23, 2014 6:47 am

@szymek We're going through a rough patch because the Chromium team decided to go brain dead and not even test games properly (else they would notice the jitters immediately!!).. hopefully the problem will be resolved soon, because it worked just fine prior to the recent updates. NW 10.5 is buttery smooth. So whatever they did, they broke smoothness (vsync related), so they should be able to un-break it.

Crosswalk is affected because its Chromium based, usually a few versions behind.
B
70
S
24
G
19
Posts: 1,757
Reputation: 17,614

Post » Tue Dec 23, 2014 8:10 am

@Silverforce

if Chromium affects both mobile (Crosswalk) and desktop (Node-Webkit) exporter, then maybe @Ashley @IntelRobert and Google should do something with that? Co-operate? Work together?
B
18
S
6
G
1
Posts: 783
Reputation: 4,187

Post » Tue Dec 23, 2014 1:53 pm

At this point in time there are 3 main reasons games don't get to run buttery smooth (as far as I'm aware):

1) GPU blacklisting: although this is becoming less serious over time as old devices die out, it's still not too hard to find old Windows systems or old Android phones where the GPU is buggy and prone to crashing, so the browser falls back to software rendering.

2) Synchronous Javascript compilation. While most JS engines compile code concurrently, apparently they still have some key points which still run synchronously, so block the game while it does whatever it needs to do. I think this only affects mobile, since most desktops are simply fast enough to do that work in <16ms and not drop a frame. Javascript engine improvements should resolve this, we have open bugs with browser vendors for this type of issue.

3) V-sync quality. This is a passing issue in Chrome (the Chromium team is aware of it and are working to fix it) and Firefox (which to me looks already fixed in Nightly), and is made worse by the fact the latest node-webkit is based on Chromium 38 which has the bug. This will be fixed in due course as subsequent Chromium and node-webkit updates come through.

There's nothing unsolvable here, we should see all three points improve through 2015 and beyond.
Scirra Founder
B
387
S
230
G
87
Posts: 24,249
Reputation: 192,240

Post » Tue Dec 23, 2014 11:01 pm

Ashley wrote:3) V-sync quality. This is a passing issue in Chrome (the Chromium team is aware of it and are working to fix it) and Firefox (which to me looks already fixed in Nightly), and is made worse by the fact the latest node-webkit is based on Chromium 38 which has the bug. This will be fixed in due course as subsequent Chromium and node-webkit updates come through.

There's nothing unsolvable here, we should see all three points improve through 2015 and beyond.


The problem is that the bug went unfixed for multiple Chromium releases since 38. That means the next NW on 39, 40, 41 are still affected with this horrible game-breaking flaw. We have to stick to NW 10.5, which is fine for the MOST part, except the lack of Steam Overlays due to being stuck on Greenworks v3 Alpha (since each Greenworks is NW version specific).

The same also applies to Crosswalk since they are a few Chromium versions behind, they still have to go through a very jittery versions before there's light beyond this tunnel.
B
70
S
24
G
19
Posts: 1,757
Reputation: 17,614

Post » Wed Dec 24, 2014 12:55 am

@Silverforce

maybe @Ashley should do something more than submitting bugs (as a almost anonymous person) or asking C2 users to submit bugs? :) Maybe Scirra should co-operate with Google?
B
18
S
6
G
1
Posts: 783
Reputation: 4,187

Post » Wed Dec 24, 2014 4:52 pm

One of issues that has come up with janking. Is due to relying on the browser fixed time step. However Unity isn't free from the janking time step. Unity however doesn't rely the guarantee of 0.16 time step. unity actually corrects it's janking time step with a variable smoothing time step that done int he Unity engine. C2 relies on the browser rather than using the wallclock to provide dt security.

Unity has a ton of developers working on the Unity Engine. C2 has one. Scirra is hiring, but it seems London just doesn't have enough JS programmers.

In the mean time you MIGHT be able fix your own janking to a degree. Modify the timescale based on the dt. I off hand don't know the formula, but I'm sure this can be figured out.

http://www.blitzbasic.com/Community/pos ... opic=70275
http://forum.unity3d.com/threads/imposs ... ty.141417/
http://www.reddit.com/r/Unity3D/comment ... a_2d_game/

The reason why Unity published game have less logic time errors is because Unity offers developers far more options and timing control. While also writing there own timing features.
B
90
S
18
G
9
Posts: 2,455
Reputation: 15,013

Next

Return to Construct 2 General

Who is online

Users browsing this forum: justifun and 11 guests