Ashley's Recent Forum Activity

  • There aren't any variants. Those things only have one size. I think you need to be clearer about what you need.

  • No idea. So long as the server can serve static files with the right MIME types it should work. I guess Sharepoint can't even do that?

  • I was on holiday when this was first posted, sorry for missing it.

    So I've noticed that when my game boots, far from all the assets in the game are loaded in when the loading bar reaches 100% (and why does the whole game need to be loaded in, isn't that what storing the game assets on the HDD is for?!?!).

    In a HTML5 game, the loading bar corresponds to download progress. None of the assets are actually loaded decompressed in to memory at that point. So of course, not all assets are loaded by the 100% mark - that's the point of the layout-by-layout loading system: nothing is loaded, until you go to a layout, at which point only that layout's assets are decompressed in to memory. In NW.js I guess I'm not actually sure what it has to do; if you are using package.nw (i.e. zipped assets) then it will be extracting from the zip, but if you pre-extract the zip it should just figure out there's a resource on disk so it doesn't need to do anything. I guess it might load the asset (compressed) in to RAM so it can be quickly decompressed later, which might be unsuitable for a very large game (although it would help speed up layout loading times). So, are you using package.nw and have you tried pre-extracting it?

    [quote:2u9g5k4f]Every slight iteration takes 1min of loading in preview just to see if it worked, making new features a nightmare in practice.

    It's normal that large projects take a long time to build. I've heard Chrome itself can take several hours to build. Perhaps we could investigate features to do a more minimal rebuild though.

    [quote:2u9g5k4f]Blank layout with nothing loaded in with all audio cut from the game... 1.8 gb memory used?! WTF?!

    Memory is complicated. If you have say 4 GB of RAM free, and the system has 1.8 GB of files in RAM it might need later, it may well decide to leave them there. RAM is there to be used.

    It also depends on your project settings, e.g. if you have set audio to be preloaded, you've told Construct 2 to decompress all audio content to RAM on startup.

    [quote:2u9g5k4f]I guess I should've known better when I saw the first signs of trouble few weeks into development.

    The sooner you can report issues, the more time we have to do something about them. I think it is unreasonable to expect us or any other developers to make deep changes to the engine in a few weeks. We can look in to issues, but we need time to do that.

    [quote:2u9g5k4f]Construct's a prototype tool. It was never made for big projects I get that

    We do design the engine to scale to large projects, but it sounds like you've made one of the biggest projects ever in Construct 2. I definitely intend for Construct 2 to be able to handle such large games, but we might need to make a few tweaks to make it work better

    [quote:2u9g5k4f]I guess when not even the official plugins can be kept up to date and stable (greenworks, local storage looking at you), this is obviously too much to ask.

    This doesn't appear to be related to the main point of this thread, but I'm not aware of any outstanding bug reports for local storage, AFAIK it works fine for the vast majority of users. Also Greenworks has been clearly marked as an experimental plugin for some time, but as it happens, we just released two updates for it this week.

    Try to replicate the issue.

    Make a dummy project and fill it with objects using the method you used.

    [quote:2u9g5k4f]I would if I had the time

    Sorry, but this is by far the best way for anyone to make progress on this. As it stands, this post is the equivalent of "my car's broken, please fix it!" - "can you bring your car to the garage?" - "no!"

    Sure the mechanic can try and fix it by telephone or something, but you wouldn't expect that to get very far.

    I don't normally do this, but if you want to send your full project to , I'll (obviously keep it secret and) look in to any memory-related issues, but if you can reproduce it just by stuffing loads of dummy content in to a new project, that's better.

  • This forum is for bugs, not feature requests, so closing - Construct 2 General is the right forum for this.

    • Post link icon

    The Nintendo development process is covered by an NDA. Rather than get in to debates about what is or isn't public information, you should simply go to https://developer.nintendo.com/, sign up there, and ask on their forums after you've agreed to the NDA. Then you can be told everything, and nobody has to risk breaking the NDA via our own forums. Closing this thread.

  • We don't normally accept full projects in bug reports as per the bug report guidelines. You should try to find a way to reproduce it in a new project.

  • Closing as won't fix for the time being - this is arguably a user convenience choice and is probably better to discuss in the Construct 2 General forum to see if there's any consensus amongst users.

    Nobody ever complained about space autocompleting before IIRC, except for the recent report about group names, because those can legitimately contain a space which makes autocompleting irritating. In normal expressions like your example, space can never be part of an identifier, so that autocompletes on the same basis typing another character would (like +).

  • I guess by "tap" you mean "bar" (as in Z order bar) or "tab" (as in event sheet tab)?

    Either way I can't reproduce any problem and this bug report is now closed, so you'll need to file a new report with full reproducible details if you want this investigated further.

  • Changing layout has nothing to do with multiplayer. If the host changes layout it needs to send a message to all peers to tell them to change too (otherwise they will sit on the same layout), and after they receive the message and switch layouts themselves, they will receive new data about object positions asynchronously.

  • The golden answer to any performance question: measure it

    If you can't measure a performance difference you're just wasting your time.

    Having said that:

    Re 1): loops have a certain amount of overhead, so combining both in to one loop removes the overhead of the second loop. Often this is negligible though. However these examples are not identical in what they do. If "AI animation" requires *all* "AI behavior" to have completed first, then you need two loops and moving it in to one will break it. You can only make that change if "AI animation" only depends on its own "AI behavior" (which in this case sounds reasonable). But you can't always just blindly make this change.

    Re 2): in Construct 2, 'Else' is not the same as an inverted condition of the same type. In C2 'Else' means "if the previous event did not run", and it does not pick any instances. Inverting the condition will re-test every instance and run with the instances that meet the inverted condition. So again you cannot blindly swap one for the other.

    In programming languages "Else" is a code block that is jumped to if the condition was not true, which happens without testing a second condition at all, so is faster if the condition is slow to test.

    Again though I must emphasise, there may be something in your project using 50% of the CPU time, and worrying about details like this is trying to shave off 0.01% of the CPU time instead of focusing on the 50% that matters. This is why you must make measurements otherwise it's very likely you are simply wasting your time.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
    • Post link icon

    Update!

    I didn't succeed in building Greenworks myself last time, but two new pre-built versions of Greenworks have become available: one for NW.js 0.14.7 (the LTS branch) using Steamworks SDK 1.37, although for some reason this one omits the 32-bit platforms, and one for NW.js 0.15.0 (the second-newest) using Steamworks SDK 1.36, which includes all the platforms. I tested both and they both worked for me, so I've updated the original post in this thread with the new versions.

    I also revised the instructions on how to get it working to be clearer. It's also important to make sure you match the right NW.js version and Steamworks SDK version for the Greenworks version you are using. If any versions are different it seems to cause compatibility problems. We didn't have a NW.js-for-C2 build for 0.14.7, so I added it to make sure you can match the versions exactly.

    I don't know why the 0.14.7 release omits Greenworks for 32-bit Windows and Linux, but the 0.15 version has them all, so that looks like the best candidate for the time being. I don't know why the Greenworks team don't publish more releases, and I don't know why my own builds never seem to work (I may look in to that again if it's a long time before the next update), but hopefully at some point support for NW.js 0.16+ will appear too. NW.js 0.15 is based on Chrome 51 so that's a reasonably modern version to work with for the time being.

    Since it's a bit messy trying to match an exact NW.js version and Steamworks SDK version, I don't think we can realistically ship the Greenworks plugin as built-in to C2. Since NW.js can update independently of C2, having a fixed Greenworks plugin version built-in to C2 would break easily. Assuming the latest releases work OK, I think it would be better to add another table to the scirra.com/nwjs page listing all the Greenworks plugin releases available and the NW.js & Steamworks SDK versions they use, and then you can download whichever you want to work with, instead of being stuck with some fixed built-in version. So I think that would be the best we can do for officially providing the plugin.

    Let me know how everything works out.

  • If you just jump to a loading screen then jump to a big layout, the loading screen should already be displayed for the duration of loading. I didn't think layouts took that long to load anyway - surely it's only a couple of seconds even for a lot of content? Also loading is a pretty intensive and janky process which will tend to freeze whichever way we do it, so it will still hammer the FPS if it's showing progress. It's also easy to misuse this in a really bad way: if you are on a large layout, then you preload another large layout, you can reach up to double the peak memory usage, which causes crashes on low-memory systems. Currently the engine is smart enough when moving between two layouts to ensure the old layout is fully unloaded before loading the next one, ensuring peak memory usage is only the largest of the two layouts and never both at the same time. Any feature where more than one layout can be in memory at once could make this a serious problem.

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,778,563 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x126
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x5
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,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
  • x42
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs