ranma's Forum Posts

  • it may be a stupid question, but in current state of construct's sdk, can someone else make an exe exporter for construct?

  • :) thanks, I'm more than happy to restore your faith in phonegap :) I don't know why you lost it in the first place, but it's good it's back :)

  • Ashley

    2.3.6 and "your system is up to date". I don't think sprite sheeting will help much, actually I think it may generate more problems than it will solve as most (if not all) mobile browsers have quite strict image dimensions limitation. also, it's common knowledge that on iOS devices there's around 6mb limit for all loaded images, and again, I think that most reasonable thing to do to avoid not only my nexus' problem, but also iOS', would be splitting image loading per layout. I'm aware it's a big thing and I don't expect it in the next build :) but my advise would be to concentrate on this instead of sprite sheets (because of the image dimensions limits).

    cheers!

  • so for pc-mac its ok?

    I believe so, yes. this is not actually problem of a platform, but a browser, if for some reason someone launches your game in mobile safari (default ios browser) on PC - the problem WILL occur also. but in general, if your game is not meant for mobile platforms, this probably does not apply.

  • limtited to 300 pictures....so i supose im dead with my game project...because its going to have a lot of pictures more than 300 for sure. <img src="smileys/smiley11.gif" border="0" align="middle" />

    only if you're going for mobile browsers, desktop browser don't seem to have this limitation (or have some other, ios browser has around 6.5MB for all images limit, not image count)

  • AppMobi also has this problem, probably because also using default browser. I think this is huge, 300 images per game is very limiting, imagine you have 50 objects (which is actually very little for a medium sized game) - every of these objects can have only 6 frames of animation. another example (more probable) - dice game - you are throwing one die, there are 6 possibilities, but you need to animate the throw, assuming every throw has 30 frames (one second, fluid animation) - and you've eaten up 180 frames, you're left with 120 images to use in the whole game - gui, background, buttons, etc. and that's very little. I personally think that loading images per layout should be next milestone for construct as it would eliminate this problem if I keep my frames per layout resonable :)

    Also, strange thing, this problem occurs only in first load, so it happens like that:

    1) build, install.

    2) first run (if over 300 images, hang)

    3) press back button (exit app)

    4) second run - work fine, until...

    5) random hang (probably random image trying to be displayed, but due to over 300 (9000? ;) images, that one is not loaded)

    again pretty please for per layout image loading Ashley :)

    cheers!

  • see if users that cannot post their scores have timeline enabled. these two things for some reason are connected, I had problems with score posting for users without timeline in the past.

  • ranma Sorry, I didn't mean to hijack your thread.

    no problem at all :)

    When storing the local data (name, purchased items) were you using the C2 Webstorage or the PhoneGap Storage API hooks?

    I used construct's Webstorage plugin, it just works, so no reason not to use it :)

  • thanks for the kind word :)

    to make sound work with phonegap's low latency audio plugin, you must set up the environment to export phonegap apps NOT through phonegap build, but through eclipse, not as hard as it sounds, but a little bit of coding knowledge will help. getting started with android and phonegap: http://phonegap.com/start#android and basically do everything it says there: install eclipse, android sdk and adt and you're ready to go :) when you have your project set up, download https://github.com/phonegap/phonegap-plugins/tree/master/Android/LowLatencyAudio and also do as you're told in readme. then preload audio files in javascript (in index.html probably) and play them using call javascript from C2. believe me, first time may hurt, but after that you're ready to deploy your apps through eclipse using phonegap plugins which will give you almost infinite capabilities, not comparable to appmobi in any ways.

  •    I'm currently evaluating whether this engine will be suitable for some of my upcoming projects and I was looking for Apps on Android or iPhone that were made with C2. After seeing this, color me impressed. Good job!!!

    thanks! :)

    Are you planning to release this on iPhone also? I'm curious how the phone gap export for C2 compares on iPhone vs Android.

    probably yes, depends on income, as appstore costs 99$ / year, I must first be sure making apps for it will be profitable.

    Also with the PG Low Latency Plugin how did you make your calls, did you use the Call JavaScript plugin? Also do know know if its possible to have multiplexed audio, for example background music playing?

    yes I used call javascript and yes, you can have music playing, in furries there's no music, because it was actually annoying to hear it for the 100th time for beta testers, so probably for users also would be :) for music use different call for preloading though, as the standard preloadFX will handle only short files, preloadAudio works just fine with music that is played in the background with sound effects used with preloadFX. actually you can have multiple music files played with preloadAudio in the same time.

    cheers!

  • Native nexus one browser.

    The problem also occurs after phonegap export so I believe it's quite serious.

  • Wow Ranma, I think you are the first to put a c2 game on android? Amazing how did you manage to get such steady fps?

    well that's about the best confirmation of my appmobi rant :) as this one was previously testen in appmobi export and didn't work so well, loaded 10 times slower and was double the size (after installed on device it actually was 4 times the current size), now exported through phonegap its only 3,5 megs and works quite well. things that also helped to make it work good was clear background off, webgl off and pixel rounding on. that's about it :) good to know you have fun with it :)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks!

  • ok, so the real bug is that every image above number 300 will not load. I had 302 images, and this idea came to my mind, I reduced some sprites animations, exported 298 images total, and BAM! it worked perfectly. can we do something about it? where is the limit? is this canvas / html5 / device specific problem?

    also maybe it's time to think about layout-based image loading?

  • In exported game, this just happened:

    Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1

    c2runtime.js: Line 6956 : Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1

    Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1 at c2runtime.js:6956

    did a quick research, it's when image is not fully loaded and you try to draw it into canvas. started appearing when I moved my project to r80.2 and added new sprite, and it seems to be the problem, as just as this error hangs the game, every other sprite is visible, just the new one is not. but after downgrading to 79.4 and exporting the project again, problem is still there :(

    and this is line 6956 of the c2runtime (first line = line 6956):

    ctx.drawImage(cur_image,
    myx,
    myy,
    this.width,
    this.height);
    }
    else
    {
    myx = this.x;
    myy = this.y;
    if (this.runtime.pixel_rounding)
    {
    myx = Math.round(myx);
    myy = Math.round(myy);
    }
    ctx.save();
    var widthfactor = this.width > 0 ? 1 : -1;
    var heightfactor = this.height > 0 ? 1 : -1;
    ctx.translate(myx, myy);
    ctx.scale(widthfactor, heightfactor);
    ctx.rotate(this.angle * widthfactor * heightfactor);
    ctx.drawImage(cur_image,
    0 - (this.hotspotX * Math.abs(this.width)),
    0 - (this.hotspotY * Math.abs(this.height)),
    Math.abs(this.width),
    Math.abs(this.height));
    ctx.restore();
    }