A question for experienced developers in C2/C3...

Post » Fri Aug 11, 2017 12:29 pm

That's fair. There's a good possibility that if I'd rebuilt the game from scratch in C2, and gotten rid of all
the trial-and-error gunk that's still left in there from my first go at it, it would run faster.
B
40
S
16
G
6
Posts: 543
Reputation: 7,649

Post » Wed Aug 16, 2017 11:51 am

This is a good subject, I had some issues developing a simple infinity jump game.
Even running on browser (PC) it was not smooth, fps were not 'fixed'. First I thought that the problem was on my sprites and changed the whole project from 1080 to SD, for my surprise I kept with bad fps.
And, why? Why?? My project had about 120 events, not many..
So, I did the whole project again with event optimizations, I got a big difference in performance.

Should be nice to have a documentation with examples of good practices, showing where and how it affects in both cases, also should be nice to have a graphic showing which event is using more resources and how many times it triggered and when..

Know what I mean?
"Hello my friend stay a while and listen"
B
66
S
35
G
30
Posts: 85
Reputation: 20,436

Post » Sun Aug 20, 2017 12:36 am

I'll chip in my 3 cents since I've been using construct sine construct classic v0.033. For a long while I've been using i5 4200u laptop ( my workstation is far away in another country), and GM games I played seam to perform better. I've played Nuclear Throne and Hyper Light Drifter ( thought this one only work stable 60fps when using external audio interface for sound processing ). My way smaller in scope projects perform much much worse thought, and I do optimise and keep my events as logical as possible. Window size makes a huge difference too. So benchmarks are all good and dandy, but once you start applying logic to the game, it starts falling flat. But point and click games like Deponia should work flawlessly thought, although games like Rayman will most probably lag every now and then unless you wont have that many interactive elements on the layout. But overall it's not that bad, but always creates the feeling that "it's not there yet" and that is always disappointing, sometimes giving you a falls impression that if you will do more then it will certainly be fixed, but it won't , and you will waste a lot of your time. Also, will those jerky frames on the beginning of layout will ever be taken care off by the scirra? Only construct does that.

I know I sound harsh, but this is how it is on my side.
My professional Royalty Free Music at Scirra Assets Store
--------------------------------
Specs: i5 2500, 16gb of ram, gtx 770, win 7, Focusrite Scarlett 8i6, Mackie mr8mk2, Alesis 320, browsing the net on chrome.
B
93
S
30
G
22
Posts: 1,987
Reputation: 20,203

Post » Mon Aug 21, 2017 3:08 pm

megatronx wrote: Also, will those jerky frames on the beginning of layout will ever be taken care off by the scirra? Only construct does that.


I can't remember on which thread it was discussed, but to get rid of those frames you may try to put all the objects that will be created on this layout on it. Basically put them all on the layout (layout view), destroy them at the beginning of the layout, then create other instances when you need them. That way the new object are already in memory and creating them shouldn't slow down the game.
If you're doing this already, then I may misunderstand what the problem is. :?
B
33
S
6
G
1
Posts: 355
Reputation: 2,850

Post » Mon Aug 21, 2017 3:27 pm

@megatronx
@Rable

I use Toby's preloader plugin which makes it easy to preload what you need and get rid of that initial jank forever :)

https://www.scirra.com/store/construct2 ... oader-3620
B
58
S
25
G
14
Posts: 793
Reputation: 13,302

Post » Mon Aug 21, 2017 9:24 pm

Rable wrote:
megatronx wrote: Also, will those jerky frames on the beginning of layout will ever be taken care off by the scirra? Only construct does that.


I can't remember on which thread it was discussed, but to get rid of those frames you may try to put all the objects that will be created on this layout on it. Basically put them all on the layout (layout view), destroy them at the beginning of the layout, then create other instances when you need them. That way the new object are already in memory and creating them shouldn't slow down the game.
If you're doing this already, then I may misunderstand what the problem is. :?



You have completely misunderstood the problem. and your solution is not a solution or even a workaround cause instead of conserving memory your are filling it all up right at the start.

It's hard to believe that C3 is still that dumb to not be able to unload stuff from memory whenever you want.
ImageImageImageImage
B
158
S
67
G
43
Posts: 2,603
Reputation: 36,003

Post » Mon Aug 21, 2017 9:32 pm

Anonnymitet wrote:@megatronx
@Rable

I use Toby's preloader plugin which makes it easy to preload what you need and get rid of that initial jank forever :)

https://www.scirra.com/store/construct2 ... oader-3620



20$ for something you can do in few events... don't think so.
ImageImageImageImage
B
158
S
67
G
43
Posts: 2,603
Reputation: 36,003

Post » Mon Aug 21, 2017 10:15 pm

shinkan wrote:
Anonnymitet wrote:@megatronx
@Rable

I use Toby's preloader plugin which makes it easy to preload what you need and get rid of that initial jank forever :)

https://www.scirra.com/store/construct2 ... oader-3620



20$ for something you can do in few events... don't think so.


For several years there were tens (maybe hundread+?) of threads in regards of initial layout lag, layout preloading, layout preloading progress both in percentage and progressbar, etc... and all of them ended without a reply or with something like "it's not possible in C2".

After a long and deep investigation of C2 engine source code I finally managed to make a plugin which allows you to easily do all the mentioned things and solve the frustrating related issues.

If all what's possible with MM_Preloader is doable with "few events" then it would mean that I lack some serious piece of knowledge about C2 and wasted a lot of time making this plugin ;).

But I seriously doubt that and instead I think that you @shinkan do not fully understand what MM_Preloader is and what it can do.

I know it's not MM_Preloader's thread but let me just briefly say that MM_Preloader can preload (load into memory) graphic assets of specified layout with a single action. It scans the layout and goes through the layout initial objects list which is NOT possible with C2 events. It can load for instance 500 (or more) objects with a single action which is NOT possible with C2 events. It can also preload in the lazy way (with specified delay) and has some other features like preloading the C2 engine (which is possible with C2 events, but that's just an extra addition to the plugin, still much more comfortable with MM_Preloader than C2 events).

If you have any questions please do not hesitate to contact me directly or in proper thread in regards of MM_Preloader. I'm very keen to provide any info and answer any questions.
ImageImageImage
B
33
S
19
G
82
Posts: 1,039
Reputation: 46,257

Post » Mon Aug 21, 2017 10:27 pm

@shinkan Please write a tutorial on how to preload several layouts which results in zero transition time between layouts and no initial lag and how to make that "with just a few events". That would be a very interesting read as it is not possible in C2. At least not without this plugin ;)

Anyway, I really recommend the plugin for anyone who is serious about making games for a living and don' want to have to worry about long and laggy transitions between layouts.

I'll leave it here and let the thread go back on topic.
B
58
S
25
G
14
Posts: 793
Reputation: 13,302

Post » Mon Aug 21, 2017 10:44 pm

Well the only thing you can't do with C2 is "preload" an asset that's not in the the current layout, and get some confirmation that it is loaded.
Loading assets that way should be discouraged even though there is no formal recommendation, other than layout by layout loading.
I've seen several threads advising people to place all the assets on one layout, and that's a bad idea imho.
If you want to do that then by all means, go buy the plug, just don't blame C2 if you can't figure out why the regular method doesn't work.

Ps: the reason the regular method might not work is because the assets are too heavy.
Image ImageImage
B
172
S
50
G
184
Posts: 8,444
Reputation: 116,107

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 3 guests