TiAm's Forum Posts

  • EDIT: Well, if silverforce's assessment is correct, it must be a collision issue. Any way of taking your mine/laser collision code out from the main game, to see if you can reproduce the lagging in a simpler context that you could share?

    /EDIT

    2 secs...that is quite bad. The only times I've seen halting that bad is when I've tried to do something crazy like spawn 1000 objects in a single tick.

    Some possibilities:

    1. Are you using the Line-Of-Sight behavior on any of your enemies? Silverforce's comment made me think of this, as I tried to use LOS for lasers once. LOS can really grind a game to a halt if it's used incorrectly.

    2. Save states, as per Aurel's suggestion, can cause a pretty bad halt if you try to use them during gameplay.

    3. You say your demo was exported before the new troubles with node. How far back? I seem to remember than there were janking/halting issues with some previous versions of node as well. 10.5 really seems to be the sweet spot.

    Seems like something is definitely amiss here. Hope you can figure it out!

  • sqiddster

    Out of interest, did you do the nw 0.10.5 rollback, or are you using the newest node-webkit, 0.11.1?

  • This one is a bit nebulous request but an additional behavior trough which we could set objects that the object with behavior would avoid would be nice.

    Admittedly, this is a third party plugin, but it's by rexrainbow, it's awesome, and it might be what you're looking for:

  • 5. I looked at chipmunk. Nice. It's my goto physics for c2 and js. Not good for bullets and no effective rest state, but even without a rest state I had about 1/3 performance improvement I'm like r0j0 work on chipmunk

    I was wondering about the lack of a rest state; I assumed it just wasn't implemented by r0j0hound, or needed to be enabled manually. So there is no support for that in chipmunk? It seems like that could be a disadvantage on mobile (I forsee hot phone & battery life issues).

  • Ashley

    Search across event sheets.

    Path objects (bezier curves, etc).

    Don't break node-webkit just because there is a newer version.

    Paster/Canvas functionality as an official plugin. Hats off to r0j0hound for these invaluable plugs, but they should be part of the engine by default.

    Speaking of r0j0hound, take a close look at his port of chipmunk physics. Really. It's a more compact lib than box2D, it runs faster, and it seems to have many more features.

    Circular collision 'poly' for non physics objects. More elegant than manually using distance.

    ...all I can think of for now. Looking forward to another year of amazing updates.

  • Thanks for the thanks! And congrats on the game. Clever idea, and I love the art.

  • I did this in one of my projects. It's more difficult than you'd think.

    My approach was similar to what sgn15 is suggesting. Of course, there are no 'mouse codes', so that consisted of checking each mouse button per tick, logging whether it was depressed or not, then using a function to activate the control mapped to the chosen button.

    If I was doing it again, I think I would migrate some of my global vars (keycodes, control states) into a global dictionary.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Well, my inaugural attempts at GLSL coding pretty much went down in flames.

    As this is a minor cosmetic issue for me, I decided to hack around it: I found a big, high rez image of film grain, cut 15 frames out of it, and layered it in.

    It looks better and I have 1 less effect in the chain. Color me happy. <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

    If anyone else wants/needs to do this, here is the image I used:

    http://byscuits.com/grain-tm400.png

    Courtesy of this article:

    http://www.prime-junta.net/pont/How_to/ ... tml?page=5

    Still, it is a shame this basic effect doesn't work on mobile. Ashley

  • Whoops, missed that line.

    I guess it's your code then. If it's not your video encoding, and it's happening in Chrome/Firefox in addition to node, then it must be an event or behavior.

  • [quote:2jynt4r0]

    The team behind the engine has forked Trident into two components that will result in a new .DLL when the browser ships.

    The forking of Trident, copying off the code base so there are two version, is a strategic move to have legacy support no longer impact modern webpages. How it works, per our internal sources, is that if a page calls for IE to render in a compatibility mode, this will cause the older, more resource intensive Trident engine to display the page. But, if the webpage does not call for compatibility mode, then the updated IE12 Trident engine will handle all of the lifting.

    Wow. That is a really interesting approach. I wonder if there are any plans to extend this back to previous versions of windows, like 7 and 8? Microsoft may like the idea of everyone upgrading en-masse, but I have a sneaking suspicion that 7 is going to end up as tenacious as XP. If this in Win10 only, we're looking at more fragmentation for at least the next few years.

  • Chrome v39 on Android 5.0.1 - doesn't work here either (unless the effect is supposed to be slow moving well spaced rgb coloured diagonal lines!).

    That's it exactly. Exactly what I'm seeing.

    I did find this article, which I think I could adapt to the current noise plugin. However, I suspect this might make the effect too demanding for my tastes:

    http://byteblacksmith.com/improvements- ... gl-es-2-0/

    Ashley's implementation is based on the first line. The author shows how that code breaks down on some mobiles; his example images seem similar, though not identical, to the errors I'm seeing.

  • I know you are planning to release w/ node, but have you tried in Firefox and/or Chrome?

    I'm sorry to tell you this, but it could very well be an issue with the file itself. Video encoding is insanely complex, and encoders can be configured 1 of a million different ways. Dedicated video players are usually quite tolerant of odd or even damaged files; some, like VLC, are noted for this very ability. That your vid will play in these programs proves little.

    Try encoding to an alternative format, for one thing. Ogg theora for example:

    About: http://en.wikipedia.org/wiki/Theora

    Encoder: http://sourceforge.net/projects/theorac ... p_redirect

    If you get the same kind of glitches with this format, something else is going on.

  • The webGL effect 'noise' is failing on me when I preview in Chrome for Android. I have android 4.4, Chrome v39. Anyone else see this?

    Test page: http://unknownenterprises.altervista.or ... index.html

  • THIS IS SPAR...SPAR...SPAR...

  • All built in behaviors use dt to keep the game running at the same speed, even when the framerate drops. This is called 'framerate independence': the game speed is independent of the framerate.

    The problem is, if too many frames are skipped, moving objects can 'jump' large distances, moving past barriers, or causing different collision patterns with the same scenario.

    Often, this can be compensated for by having larger collision areas for objects. It is also possible to use the custom movement plugin to ensure that objects test collisions every X number of pixels they move.

    However, in some cases, these steps are not enough. Sometimes, framerate independence will break a game. For example, take a physics puzzle game where the result of the player's actions are required to be constant so that a given playthru can be replayed. Or a gameplay demo that is required to behave consistently no matter what.

    In these cases, you basically have to eschew most of C2's built in behaviors, and control movement and collision testing thru per-tick events. The drawback is, the game will run slower if the framerate drops. IIRC, it would also run faster for a user with a high hz monitor.

    Pick your poison.