Arima's Forum Posts

  • The ipad 1 and iPhone 3GS are very under powered. Can they even run iOS 6? I seem to recall hearing that they can't, which means from my tests means you're getting about 33% less performance as a result compared to iOS 5. I don't know how many fps are possible to get out of those. You can check for what's causing the slowdown by backing up your project, then deactivating batches of code like the collision detection or making objects invisible and watching what it does to the frame rate. Common performance problems are caused by collision detection and overdraw (too many pixels being drawn per frame, a background with a sprite on top of it means those pixels get drawn twice).

    You could run a test deleting objects in the layout, and if it helps, then splitting it into more layouts might be the way to go - or you could code it to dynamically create and delete instances based on their distance from the player, or you could bug rexrainbow to write a plugin to do that for you, since he's considering making one that does that already. :)

    http://www.scirra.com/forum/forum_posts.asp?TID=62131&PID=395757&title=plugin-instance-bank#395757

  • It would be fantastic for tons of types of games, platformers, RPGs - especially for mobile optimization! I was planning on making a system that did that myself with events, but a plugin to do it automatically would make it a lot easier!

  • Niiiiiiice, looking forward to that plugin! :)

  • Ask about potential JavaScript performance enhancements - cocoonjs is lagging behind safari in that department.

  • Great to hear! :)

  • This has been brought up before recently: here's Ashley's response.

    Some of the performance problems on mobile are non-obvious, like overdraw. I've read that many current mobile devices can only redraw the screen three times per frame at 60 fps - and then there's the fact that semitransparent pixels take more work to draw, etc - so even with a native engine games need to optimize.

    HTML 5 isn't as fast as native, it's true, but it's closing the gap, and if you optimize well, you can get better results than you might expect.

  • You do not have permission to view this post

  • You do not have permission to view this post

  • I agree that not being able to drag an object under another if it has sub events is annoying, it should be unnessecary to have to do what R0j0hound describes above every time.

  • I'm concerned I may have made you fearful of using families from the other thread. Really, there's nothing to worry about as long as you don't delete family variables or try to rename them. It's not as annoying as I thought it would be to have unused variables laying around. Definitely use families instead of recoding the events for every enemy!

    4 to 5 MB of VRAM isn't actually that much. Modern, and even not modern graphics cards have tons of VRAM � sometimes into the gigabytes. Even old graphics cards shouldn't have a problem with a 100-150mb VRAM game. A lot of weaker computers use their RAM as VRAM so even though they have weak graphics cards, they actually have gigs of VRAM to work with.

    The only thing you really have to be concerned about is textures being unloaded from memory when all instances of that object are deleted from the layout � because then when you create another object of that type, it will reload those textures, which can potentially cause the game to have a slight pause while it sends the textures from RAM to the graphics card. If you want to keep that from happening, simply make sure that there is an instance in the layout somewhere that never gets destroyed. It can be offscreen and invisible, and you can deactivate all its behaviors and use a variable make sure it is unaffected by events.

  • Did you copy anything from one .cap to another? That's an unfinished feature that screws up caps.

  • Ashley - Thanks for the info, I'll definitely mention it to ludei. What about audio, though? I imagine that could use a lot of memory. Does c2 unload audio, and if so, what causes it to do so, and how does it know what to unload? Or is that up to the browser makers/ludei as well?

    I remember at one point, perhaps in a blog or update log, you mentioned the possibility of writing a blog detailing exactly how the memory management works - I would definitely like to know all the details if you're still thinking about writing about it, and I think it would be quite useful to others making large games as well.

    - thanks!

    Joannesalfa - I'm already basically doing that. I'm not keeping instances of all objects in the project in a layout at the same time, it's a problem with the way browsers manage memory ? they currently try to store everything in memory at once even though they don't need to.

  • I've run into a major problem with the C2 version of loot pursuit � it takes up too much memory. After my iPhone 4S runs out of memory, the frame rate utterly plummets to about 2-3 frames per second. I've confirmed that it's a memory problem because deleting animations and textures is enough to fix it and send the fps back to 60. It's also only happening on my iPhone 4S, which has 512 MB of RAM, and doesn't happen on my iPad, which has one gigabyte of RAM. It's also crashing cocoonjs.

    The game doesn't even have anywhere near the amount of animations and graphics that it's going to have, and I haven't even started on sound effects and music yet. This isn't a matter of not taking in cosiderations of designing for mobile - it's a matter of keeping the entire entire game in memory at once when only a part of it is needed.

    I know webGL has memory management, but that's useless for mobile because they don't support it yet. Also, isn't that only for VRAM? Doesn't everything still need to be in RAM?

    My question is, will there ever be some way of managing memory better, or is this something html5 simply doesn't have the capability to do? Will cocoonjs's eventual implementation of memory management fix this problem (as mentioned, it's currently crashing cocoonjs)? This is an essential feature for larger games like mine. Because if there isn't some way for this to be implemented there's no way larger games like loot pursuit can be delivered on mobile, even though aside from using too much memory it runs fine. It might even be a problem for desktop games as well, that's a lot of memory use! :(

  • Tommyttk - true about the built-in local file capabilities. There is a plugin someone made that enables local file manipulation via node webkit, though.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I've used both. In my opinion, construct is vastly superior. Sub events alone would be enough to have convinced me, but also objects can have named variables and as many of them as you want, the behaviors aren't useless because they aren't buggy and actually work, none of that spread value nonsense to get multiple instances working, event sheet includes, no broken object references, local variables, updates every week or two, the list goes on and on.

    I don't mean to bash MMF, but it was so frustrating to work with. I felt like I was fighting it more than I was making a game with it. C2 in comparison, glides.

    Tommyttk - perhaps you missed that C2 can export to exe (and Mac and Linux) via node webkit.