jobel's Forum Posts

  • Colludium congrats! I'm interested to know how the Steam plugin goes! I thought you were greenlit, but I couldn't find anything on Steam..

  • jayderyu This now all seems moot looking into NW.js (which I'm using). It seems to cache each layout in memory negating any benefit from having a dummy layout.

  • Tinimations yeah we're all in the same boat with larger scale games in C2... we just need to make compromises where ever we can to make it work. I think that mindset is best. It's our own fault or inexperience for not benchmark testing C2 in the first place. There's no excuse to only find limitations late in the dev process and be unsatisfied with them.

    Live and learn is all you can do... will I make a game this large again in C2? probably not. Doesn't mean I won't use C2 for smaller stuff...

    Is there anything you can think of (like outside the box) that would be kinda crazy but allow your game to perform better? like overall game resolution?-I know that's drastic.. but maybe there's something that can be done if you entertain off-the-wall thinking. Better that than release a game with serious hardware limitations...

  • That is what I get after playing awhile, the 2nd processes (biggest) reaches ~700MB.

    oh I didn't play it at all, I just went to the game's menu and checked the mem... good to know that it grows though... doesn't sound like that's Tinimations problem since 1.5GB is happening on an empty layout...way beyond what we are seeing... there must be globals. Mem is only loaded with the current layout objects...

    a separate and somewhat disturbing issue is why that second process grows? so NW forces this caching which negates any benefit the current "Layouts-only-load-into-memory-what-is-needed and frees it when going to a new layout" architecture?

  • Tinimations that can't be right. My entire game has 3 processes running and doesn't equal more than 300MB

    32-bit NW 10.5

    EDIT: oh I see, an empty layout in *your* game....and you load that first when checking? what do you have for globals? do you use any global layers? or global objects?

  • When I make an empty canvas and boot up the game, something is seriously wrong when the memory use is 1.5 gb.

    what do mean by empty canvas? do mean a brand new project with nothing in it? or your game template with nothing happening?

  • Tinimations are you using one layout for all your levels? if you start the layout and delete a bunch of objects that you potentially never use, maybe they should be on a dummy layout.. that way you never load anything except what you are using..

    everything in the Layout view is loaded into memory and never released on a given layout. It's only released when you go to a new layout.

  • make games.. let them speak for you..

  • Tinimations To make sure it's your loaded sound effects --which probably effect GB-- could you test with lower quality sfx? (sounds that are loaded into the Sounds folder)

    What about streaming some sfx (importing into the Music folder) is the response just too late?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • congrats great news!

    NW12 [...]it didn't feel as smooth after playing for a longer period.

    meaning there was jank or GC hiccups? last I heard people were still on 10.5 for Steam, has this changed?

    MadSpy Awesome work! I hope your hard work will be validated....people should credit you in their games!

  • you should create "states" like:

    IDLE

    MOVING_TO_TREE

    CUTTING_TREE

    RETURNING_WITH_WOOD

    Although it will be hard to only click the tree and have the system decide which "unit" to send.. you'd have to create some sort of identifier to isolate that this is the selected unit that is carrying out the last command. Otherwise there will be no way to pick it. And you will not be able to interrupt their behavior like in most RTSs i.e. select unit and issue a new command.

  • jayderyu thanks that seems to be the way to go... do you ever experience any jank when creating an object not in the layout?

    I tried it and I can't tell without a lot more in-depth testing. All my loading is done OnStartOfLayout.. I have global variables that determine what kind of sprites the layout will use.. theoretically I could wait to start the level after any jank, but I'd rather not add more transition time between layouts.

  • I have a number of sprite objects in my game that have about 30-40 frames.

    Sprite1 (40 frames) 300k

    Sprite2 (35 frames) 240k

    Sprite3 (30 frames) 200k

    Sprite4 (30 frames) 200k

    Sprite5 (30 frames) 200k

    Each of my levels only uses 1 type of sprite object in the layout. However, having those other sprites in the layout and destroying them on start up isn't enough, I believe they are still loaded into memory. I want to avoid this and save as much memory as possible.

    Do I need to delete the instance in the C2 editor? (when you delete the last instance of an object in the layout and it pops up and tells you your object still exists) or should I make different layouts for each sprite type? I'd rather not make different layouts! Since I'd have to copy any changes to the HUD or pause menu...

    EDIT: I tried deleting the last instance.. that doesn't work! what if I had the objects in a dummy layout? that way I don't need to destroy them all the time, and they are only created if I need them? I think there is a bit of jank when loading though. Maybe I can wait for the objects to be loaded since they are loaded OnStartOf Layout?

  • eli0s yes I've looked at your capx but you have the audio files imported to the "Sounds" folder which tells C2 to load the entire audio file into memory. If you put your audio files into the "Music" folder it streams from disk. The streaming is where the loop sync problem occurs. You really can't afford to load your music into memory...

    https://www.scirra.com/manual/183/memory-usage