skymen's Recent Forum Activity

  • Ok, I just found out something absolutely amazing. If an object is loaded in memory once, it loads a lot faster the next times you create an instance of that object. So I put an instance of my heavy object in the splashscreen at 1 opacity. And that's not quite a problem as the default Contruct 2 loader gives feedback on what has been loaded. And after that first, longer loading (about 7 seconds, when it took 1 before), but after that , other loadings take only one to two seconds when they took 10 seconds. And that works even though the object is not global. I wonder if it only depends on the computer's specs, if the object stays loaded on RAM for a while or if something else in going on. I'd like to know

  • Well, that's not sure, because, in some cases, what is not rendered is not loaded into memory. I prefer being sure to have it rendered as my object is pretty dark and my background plain dark.

  • Well, there are a few possibilities. It really depends on the game.

    A few exemples can be Dragon Ball Z Budokai Tenkaishi 3 where you could mash a button to do an action while the game was loading. Like having Goku eat loads of food, Vegeta doing pushups, or Gohan extract excalibur from the ground.

    You could also have the player see a little animated loading, like the one present in the simpson game, where you would have Itchy and Scratchy hitting each other all over the screen. Or even have some hidden things that would reveal things about the game. Let's say, each time a level loaded, you had a really tiny sublevel, where you would have to move your mouse through a pattern before the loading ends so it can reach a key, some gold, or some easter egg and/or information about the game.

    The real question, is not "why do you need that?" but more "why can't you have that". The goal of softwares like Construct relies on making something that was first a bit hard, becoming simple, while keeping its freedom. So for every tiny little thing that can be done using code, you should be able to do the same using Construct. Plus Construct is waaay past the state where there was still big features left to have done. The only thing that has been done through the Construct releases are mostly bugfixes, fixing compatibility issues or changing some features. So adding this kind of features, the ones that has been requested by the community is the only thing left Construct may want to add.

    oosyrag Yeah, I know, I'll try to have the object created in the loading screen at 1 opacity, like backendfreak told me and see how it went.

  • Well, thanks. Your second idea is really good. What's eating up most of my memory is a screen object that displays a lot of different animations.

    I'll see if I can somehow preload it anywhere, and make it global so it is not deleted. That may not be a good idea though. I'll try what you said, and let you know.

  • Yeah, at first, I intended to have only one of these 3D cubes showing. This was not made to be optimized. Plus it got out of hand as I finished with a whole city of these cubes .

  • Yeah, that may do the trick, but is indeed a lot more complicated. But, having placeholders for big objects and replace them in my custom loading screen is a good idea. However, that may make the level design a bit more complicated, as big object tend to have more animations, or bigger resolutions. And if they do have a lot of animations, you may want to have multiple instances of this object and each one running a different animation on start. It would take a bit of coding to have this done along with the placeholder. But that's very complicated.

  • Well, in my case, I have a layout that can take up to 10 seconds to load entirely. Which is quite problematic. Plus, my loading screen features an animated "loading...", which appears frozen as soon as the next layout begins loading. I understand that that may be used in bad ways, but that's not an excuse for not having this feature. If someone can't use Construct properly, that's not your fault, but theirs.

    Anyway. That would really help to have that kind of feature. It would bring a lot of new possibilities for loading layout creation. So please, really consider the idea. (Even if it's not perfect at first, as long as you can have this done with minimum freeze. FPS drops in loader layouts are not a problem. Constant freeze is one)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hey, I'm asking the community's scripters, or even Ashley to try and make this.

    What I'm asking is a plugin (or directly in the System tab, if Ashley does it), that would have this:

    Actions:

    Preload layout

    Preload layout (by name)

    Preload Object

    Condition:

    On layout loaded

    On layout loaded (by name)

    On Object loaded

    Expression:

    LayoutPreloadProgress that would take an argument Layout Name. Or leave blank if referencing the last Preload launched.

    ObjectPreloadProgress that would take an argument Object Name. Or leave blank if referencing the last Preload launched.

    LayoutLoaded would return the name of the last loaded layout.

    ObjectLoaded would return the name of the last loaded layout.

    What would that be useful for? Well, loading screens of course! This has been a common problem with big Construct projects. As soon as a layout or an object is a bit heavy (if it features a lot of animations for exemple) it takes forever to load, and makes the FPS drop a lot or even makes the layout freeze completely. Being able to preload the next layout in background before going to it, or preload an object in background before creating it would solve those problems.

    Plus I'm pretty sure this is possible, because Construct already does it to preload the game's musics and sounds at the start of the game, and a lot of games do feature this to make mini games and/or animations as loading screens.

  • Well, imagine this:

    I have a loading screen that has an animation in it or even a minigame, or anything to keep the player focused.

    Right now, I can't have this, because you cannot preload another layout in background. So to have this you have to "simulate" a loading screen, make it do what you want, and then go to another layout. However, this is problematic, because, if you have a layout that needs a lot of memory, the current layout completely freezes while the other layout loads, and when it finally shows, you have a quite big FPS drop.

    Having a way to preload another layout before going to it would fix those problems.

    In my case, sometimes, a layout can take up to 10 seconds to load properly.

  • Well thanks. I'll try to make something like this. However, it's still quite problematic. Can't we have a feature like "preload layout" and when the layout is fully loaded, have an event "On layout loaded". I may ask this as a plugin request.

  • Hey, at the moment, to load the heaviest layouts, I use another layout that displays a text and an animation while the next layout is loading. However, my problem is that everything stops as soon as the next layout starts loading, including the animation. That gives the layout a froze effect, and that's quite problematic. So is there a way to have the layout continue to run as long as the next layout is not fully loaded yet?

  • Yeah, I saw it. However, the effect is a bit hard to use (At least, I couldn't get it to work ^^)

skymen's avatar

skymen

Member since 3 Aug, 2015

Twitter
skymen has 100 followers

Connect with skymen

Trophy Case

  • 9-Year Club
  • Entrepreneur Sold something in the asset store
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Popular Game One of your games has over 1,000 players
  • x34
    Coach One of your tutorials has over 1,000 readers
  • x2
    Educator One of your tutorials has over 10,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x7
    Quick Draw First 5 people to up-vote a new Construct 3 release
  • x2
    Lightning Draw First person to up-vote a new Construct 3 release
  • x2
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

22/44
How to earn trophies

Blogs

  • Skymen

    Sometimes I do some cool stuff in Construct. Sometimes I like to talk about it.