TiAm's Forum Posts

  • tulamide

    Let me be the first to say I liked the Extreme Mix better. Yeah, I know, I'm a contrarion... Guess I'm more of an aphex twin guy than a zimmer-man.

    Anyway, fav'd 'em on soundcloud and voted in the poll, but zimmer's site won't come up...oh well, try later.

    p.s.

    Followed you on soundcloud. Check out my tracks if the spirit moves you...

  • I think it's interesting, and wish more people would try it out (I'll try it when I have time). Reason being:

    CC may not be developed anymore, but it's speed was pretty amazing compared to other 'visual programming' game builders of the same era. If C2 can whomp it, or even get close to it (with the handicap of C2's javascript engine vs CC's native export) then that's a real feather in C2's cap.

    Obviously, it wouldn't be a good idea to start a major project in CC at this point in time. I don't think that's the point of this post

  • Chrome stable is still on version 32, but beta 33 just came out about a week ago. I upgraded and it's been working fine for me (tho, I didn't have any problems with 32).

    https://www.google.com/intl/en/chrome/browser/beta.html

    Has a new javascript engine overhaul that runs some compilation on a separate thread. This really helps eliminate jittering and 'jank' in my project(that's why i upgraded).

  • Add some Global variables named 'from layoutX_to_layoutA', 'from layoutY_to_layoutA', 'from layoutZ_to_layoutA', etc...

    Anyway, then just add 1 to them when you leave a particular layout, then check for them on the incoming layout with 'on layout start'. Use that to determine where to spawn/move player.

    Don't forget to clear them when you are done.

    Cheers, T

  • There is a lot of incredible stuff here... elksign Foxy journey looks particularly impressive...just beautiful!

    Anyway, here a quick pic of my game, WIP bullet hell shooter:

  • Ize

    Yes, please, a capx would be great! This would really be useful for when I'm trying to get my particles looking right. Would be great to have as a template...

  • pixel perfick :

    Will hopefully be done within the week. Kind of just a quicky experiment, mod of built in shooter. A lot of stuff I ripped from a more ambitious game I'm working on. Here's a screen though...(60fps, and 0.214 is cpu usage, so, about 21 percent)

  • Just thought this was fascinating, boring...and kind of hilarious:

    http://www.cnn.com/2014/02/18/tech/gami ... s-pokemon/

    http://arstechnica.com/gaming/2014/02/t ... s-pokemon/

  • Juryiel

    Did you take a look at my capx in the first post? It's sort of a hack, but it doesn't work that badly. Actually, I think you could do something similar with dt which would probably be more reliable -- currently I use the fps to modify the timescale. But I haven't tried it yet.

    https://www.dropbox.com/s/jhrzbidknfb0f ... nts_1.capx

  • BTW, love the addition of tabs for view unanswered posts.

  • That being said, visually it's throwing me a bit...I'm seeing some of my pet peeves with 'modern' websites here...like very low contrast page elements. Hard to differentiate certain things on my laptop screen, and right now I'm indoors in a good viewing enviroment. If I was outside...

    Anyway, whatever, that's just teething/cosmetic issues. Functionally, it's a great, great improvement. Congrats and thanks Tom!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • pixel perfick :

    C2 has it's quirks, but on desktop platforms at least, it can generally hold it's own. I'm working on a bullet hell shooter now that can have 1000-2000 moving sprites on screen at times, checking cols against a few hundred enemies, all per tick(yes, cols too).

    Plus particles effects, rotating enemies, multiple layer, parallax, etc.

    I'm getting 60fps solid, with only occasional dips in debugger. Cpu usage maxes around 75, averages about 20-40, and that's also in the debugger, which adds a good bit of overhead, especially when you have a lot of moving objects. Now, I have a pretty fast processor (i5, 3570k), but I'm using it's integrated graphics.

    This has been said before, but javascript has improved dramatically, and continues to improve in speed and performance. As other's have said, 90 percent of modern games don't code to the metal to begin with, because: a. too slow and difficult, b. OS in the way, and c. no way of knowing what metal is going to be there.

    The key is this: javascript has a way to go to compete with C/C++...but there are no set-in-stone barriers to getting there.

    tgeorgemihai, lennaert :

    I kind of reject the idea that Visual/WYSIWYG editors will never be able to compete favorably with hand coded games. Obviously, hand coded will always be faster (IF they are coded well...and that's a big if). But, in most cases, it's not going to be the massive difference that it was in the past.

    If you doubt this, take a look at the original Construct Classic. It's easily as fast as many custom coded pc games...and in many cases faster. And keep in mind that it would probably be even faster by now had the Scirra Bro's kept on developing it.

    Of course, you still have to understand the basic logic that goes into making things work, still have to refine your approach, but at this point in time, most of the lower level muckity-muck is best left to the computer itself.

    I wish I had the skill, dedication, time, and talent to build my games from scratch, to work exactly how I want them to.

    But...I'd rather actually make them...with C2.

  • Warning: mega-post to follow:

    There are two aspects to performance in C2: rendering, and event speed. Usually, the rendering's at fault. Be sure to CHECK THE DEBUGGER. Look at 'draw time'; if it's eating up a bunch of cpu, you are software rendering (chromes WebGL issue, blacklisted card, drivers...). If your cpu usage is low, but your fps is dipping, then your gpu -- for whatever reason -- is simply not up to the task.

    OTOH, if you are getting slowdown from event logic -- and don't have a weak cpu -- chances are there's a glitch in your code, unless:

    1. You have a few thousand moving sprites looking to collide with each other or a few thousand other sprites. If they are very spread out, the collision cells optimization should help a lot with this, but if they are all clustered in a small area, your speed won't be much better than brute force (and possibly worse). There no way around this; it's a limitation that all developers have to deal with. Try checking for cols less often, or just bring your object count down.

    2. You are being irresponsible with demanding behaviors like line-of-sight, pathfinding, and physics. Again, these are demanding for all developers, whether hand coding or using a higher level tool like construct. Line of sight in particular can bring a game to it's knees if used foolishly. Like, for example, adding it to every enemy to look for the player, leaving range at default (10,000), and updating every tick (try putting it on the player, bringing range down to width-height of screen /2, only updating every 0.1 second).

    Continuing on event logic speed:

    All event logic is outputted as javascript. Javascript was not built to be a smooth, realtime language. It's proliferation has lead to it being developed into one, but it's been a long and arduous process. The two main drivers now are google(chrome) and mozilla(firefox), who have improved javascript performance dramatically. Without their efforts over the last 5-6 years, construct 2 would not even exist.

    That being said, there are some inherent limitations to javascript:

    1. It must be compiled and/or interpreted on-the-fly. This adds a greatly variable overhead, depending on what the particular javascript engine is doing with incoming code.

    2. It can only run on one thread at a time (excepting web-workers, which are reletively new and very limited). Some modern cpu's have as many as 8 cores, with two threads each. In that case, your game would only have access to 1/16 of the cpu's actual capacity. That being said, most high core/thread count cpu's are either server cpu's(not suited for general use) or performance cpu's(crazy fast to begin with), and many multicore cpu's can clock up for demanding single core usage, so this is less of an issue than it might appear.

    3. It has to perform garbage collection. (along with dynamic compilation, the main cause of 'jittering' in games). Asm.js can get around this, but only for asm.js code, and only when run in firefox(for now).

    4. It cannot take advantage of many of the low-level processor optimizations -- ex., SSE2, SSE3, AVX -- that are available to traditional C++/assembly based applications. For certain kinds of proccesing, these can speed up execution by 10-20 times. In theory this is possible with JIT(just in time) compilers, but no one has implemented it in a JIT javascript engine. These may also be accessible at some point thru asm.js implementations...or it may be impossible. I don't know enough about this subject to have a valid opinion on usefulness or feasability.

    --------------------------------

    Bottom line: javascript is slower than native, but the gap has narrowed dramatically in the last few years...and with time, things will only get better.

    ...and on that note, here's some fresh news on the subject:

    zdnet.com/google-revs-chromes-v8-javascript-engine-to-drive-high-performance-web-apps-7000026409

    Okay...need sleep...<img src="smileys/smiley12.gif" border="0" align="middle" />

    Cheers,

    Tim

  • Ugh, spent way to long writing a mega post reply to this, but one short, separate issue:

    :

    I don't have any experience with mobile, but I have noticed the simple act of moving/rotating objects really adds up if you have a lot of sprites...even on desktop. Does moving affect your fps as much as rotating? does disabling collisions completely (not just col events, but actually setting objects to default to no collision) have any effect?

    Cheers, T

  • Make another condition for the lerp event: distance(lerpTarget.x/y,lerpObject.x/y) < 1 (2,3,4, etc...)

    --do lerp

    else

    move LerpObject to lerptarget