jakobdam's Recent Forum Activity

  • Tested on iPhone 5, iPad 4 and Windows PC in Chrome and Firefox; no problems - no lag at all.

    My PC's GPU is at ~65%, which isn't anywhere near tuff. My CPU is at ~15% - likewise, this isn't bad at all...

    Maybe you test platform is the issue? How much free RAM do you have? Fx. try and install MemoryInfo or a similar app that can cleanse your RAM (so you don't have to reboot the device).

    Also; are you using Safari or another browser, for testing?

  • Ok - if your iPad can play my game smoothly, but cannot handle your game, then there's some funny business going on...

    You've read the optimization guide (as you say in your first post) - but there may have been a few things that you have missed (I can almost always find new stuff to optimize when I go through my projects).

    • As far as I've seen, using a sprite font can save you a lot of performance; especially if the text moves. It doesn't look like yours does here, but I don't get the whole picture of what you game is like from seeing the screendump... It may be relevant to you, it may not - either way, it shouldn't cause an extreme performance drop or improvement.
    • Sprite instances that are spawned (create object) but never destroyed when they should be, is a major issue for many; go through all your "destroy sprites" routines, and make sure than you don't have leftovers when coming from one level to the next (if that's relevant in your game).
    • Rotation is a major performance dropper - especially if used with transparency stuff and/or scaling. I.e. the worst you can do is making a sprite rotate while it changes size and becomes gradually invisible.
    • It could also be the many physics objects that you mention; but on your PC, install a GPU meter; then check your GPU performance. How does it scale when running the game? If your PC's GPU-usage exceeds 80%, while your CPU stays relatively low, then it's probably not physics related.
  • Thanks

    I've updated a bit here and there - optimizations...

    And I've also added a screendump to my original post, so it's easier for ppl to preview what it is.

  • Tip for learning the basics of using webstorage:

    Just follow this video tutorial:

    https://www.scirra.com/tutorials/448/ar ... high-score

    It's very easy, and I replicated what he did, without watching the video with sound.

  • That is a little more complicated, but first thing, take a look at the webstorage object:

    https://www.scirra.com/manual/120/webstorage

    1) Try to successfully save something (a number) with webstorage

    2) Try to fetch it (where your load function will be)

    3) Having succeeded with the above, now for the actual game save; save every coordinate for every sprite - and all other variables (number of lives, level etc.) in webstorage. Then fetch as you did in step 2; and then have an "if game loaded" event in your game event sheet, that spawns and places everything.

    At least, that's how I'd do it - but I'm unsure if this is the best way.

    Far more simple would be for the save feature to only be available between playing levels (if your game features several levels); then you only need to store a few things; number of lives, the current level and the current score.

  • Mmmm it's scrollable, so there's stuff that we can't see.

    But from I can see:

    • Your object count is fine; 129 sprites is nothing to worry about
    • You check for 233 collisions per tick - that's some, but I use more than 500 per tick in one of my projects, and performance is fine on the iPhone 5, even with slower iOS 7

    What hardware are you using? What generation iPad...?

    With you iPad, please try this link:

    http://www.jakobdam.dk/0-GAME-DEV/ChainPopper-v1r1/

    • it's a very early development version of a game I'm currently working on.

    Does everything happen smoothly - even when there's many balls popping - or is performance poor?

  • Run your game in Construct 2, in debug mode - then you can see whether your objects gets destroyed or not.

    The physics engine is changed at the same place where you write your project name; just click outside your scene at an empty place; then click "View" for project properties.

    I always use the Box2D physics engine, it works fine, even with many sprites (~500) that collides with eachother continously.

    Can you show us something of the game you're making, to help us help you...?

  • It's of course the benchmarks that are centered around browser tests, which are the most important and interesting to us; take a look at the iPhone 6 and 6 Plus scores:

    http://www.gsmarena.com/apple_iphone_6_ ... 1142p5.php

    The browser tests are the 2 tests at the bottom.

    What is missing is the iPhone 5 with iOS 8; the one in the link uses iOS 7 - but I tested my iPhone 5 with iOS 8.0.2, to 12424 in the Kraken 1.1 test (using Safari), which is a nice improvement over the 14.171 for iOS 7 on the same device (lower is better), but still very far from the stellar performance of the new iPhone 6 devices.

    So; I'm using my iPhone 5 as a test platform right now, as it marks the slowest performance people in general will encounter. Of course there are still a lot of 4s and 4 devices around, but as time goes by, they become more rare - and we can trust that an iPhone 5-ish performance, even for lowend smartphones, is indeed possible for us to aim for.

    * It's worth noting that running the Kraken 1.1 on the latest Chrome for iOS (8.0.2), resulted in a freeze. o_O

  • Nice! And it's cool to see how you improve in gameplay design and complexity

    Keep up the good work

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I'm a musician (Cubase user)... among other things. ^_^

    It is correct that most sound cards doesn't handle several sources well; especially integrated solutions, but that shouldn't be an issue here, as the browser should be considered 1 source.

    What I don't get is; your game is hosted on a server, but I'd think the game is executed client-side, while the server just delivers the play-files? I mean - your sound card on the server (and the graphics card) should be under 0% load each, while your hard drive and probably also the CPU, will be utilized some, to keep everyone in sync etc...

    I don't know any game where the server plays the sound, then sends the wave audio to the player's PC... o_O

  • I think there is a plugin for C2, that makes sprite sheets (with uneven width/height) possible...? Can't remember where I saw it though, and I have no need for it as of yet...

    Sprite sheets are efficient in that they require far less file calls, than if they were loaded in separately.

    Imagine that you have 100 sprites, which is quite a small number anything but the simplest casual games; now imagine 100 file calls to either buffered RAM, or even worse; the hard drive. If these 100 sprites were consolidated into ONE file (the sprite sheet), you'd gain a lot in performance from lesser file calls in and on itself.

    But any file has a header; and that header takes up space. Imagine that the header for each file, is an average of 5 kilobytes. Now multiply it with 100, and that's the extra overhead you get from not using a sprite sheet.

    And it gets worse: If you're making an online game, then your server delivers the content; which means your server will have to fetch the 100 files. As most servers features traditional hard drives (magnetic), the search time is very high (compared to SSD's) and your 100 files will have a noticably increased load time, compared to if they were 1 sprite sheet.

    But here's the thing about Construct 2:

    All sprite animations are automatically consolidated into a sprite sheet - no matter if you pulled them into Construct 2 as separate files or as a sprite strip. Go take a look at the exported files; you'll see what I mean. And that's pretty clever.

    My first game in Construct 2, has 35 graphics files, but these contains several automated stripe sheets, and they actually consolidate a little more than 50 extra graphics files - so without this smart feature of C2, my game would have contained a little less than 100 sprites.

  • So, this is my first Construct 2 game - I actually made all the base mechanics in the framework "Phaser", but after switching to Construct 2, I decided to do a little more with both gameplay and graphics. It remains a very, very simple game though... ^_^

    [attachment=0:1fdkh2ar]flappyCow-promo.jpg[/attachment:1fdkh2ar]

    http://www.deepartmedia.com/index.php?p=20&c=flappycow

    Crits and comments are of course very welcome; I've drawn the graphics in Photoshop (using pen tool mostly), and the cow "walking cycle" is also just made in Photoshop.

    It's of course a free game.

jakobdam's avatar

jakobdam

Member since 14 Sep, 2014

None one is following jakobdam yet!

Connect with jakobdam

Trophy Case

  • 10-Year Club
  • Email Verified

Progress

11/44
How to earn trophies