QuaziGNRLnose's Forum Posts

  • newt

    not really sure whats meant by "grid" movement. Path i assume is a simple follow the line type behaviour? I'd probably do path as a plugin rather than behavior so it can show something in the editor (sdk limitation), and so that multiple objects can be linked to the same path, or you could pair paths through containers if you'd want per object paths.

    the gravity stuff sounds like something you can already do with custom movement very easily.

    UberLou

    Im not sure but doesn't C2 do this already? at least sprite has a function for it internally, might not be used. It might be possible, though I haven't thought about it enough.

  • Hello, most of you have likely seen me on the forum occasionally and know me as the creator of Q3D. I've been using construct for some odd 8 years now and would consider myself one of the more experienced developers around here.

    Lots of talk on these forums in recent time has centered on mobile, HTML5 performance, etc. but this doesn't really do anything for anyone using construct right now. As a skilled developer I'd like to know what kind of plugins / behaviors / features are in demand so I could attempt to fill those voids in the future when I'm mostly finished with my current projects. I'm not making any promises to do whatever anyone's asking for, however I'd simply like to get a gauge on what people want, and good ideas will be taken into consideration. There's not much I can't do programming wise, however it has to be worth the investment and effort, and it has to be feasible within the current C2 SDK.

    I look forward to what you all have to say.

  • Irbis

    It's not really possible. You need tons of engineers to get it done right and maintain it consistently for the unbelievable number of hardware/driver configurations. It'd never be better than NW. A better option would be to implement a proper native engine with SDL to handle the main issues of cross platform but it's a huge undertaking.

  • The main issue is that your game is likely NOT hitting a consistent 30 fps. If the lower frame-rate is due to the CPU/GPU being taxed and having to wait longer between frames, you wont get "smooth" 30 fps, because you're getting a fluctuating fps in the first place. It's possible to schedule longer times between renders for logic, however construct doesn't have an in engine option to do this, so your "30 fps" is not really the same as a console games 30 fps, it's a 25-35 fps from overtaxed hardware. If you were to build your own renderer that skips every other frame in a properly scheduled way it'd be 'smooth' (if you could really call 30 fps smooth in the first place, something i'd argue), I've done tests with Q3D doing exactly this, and even have an option to skip rendering of specified ratios of frames. If your game is lagging to 30 fps it's unplayable because of the instability of the logic and the effect that has on frame scheduling, not because of the renderer/browser or otherwise. It's the same way any game because horrendous to play with significant drops in framerate, especially when timedelta based games make everything unstable in fluctuating fps.

  • Regardless if vsync is slightly off, chrome still has the fastest javascript and WebGL performance as far as I've tested informally by running various projects. The issue of occasional tearing isn't nearly as big as the issues IE11 tends to have in all other areas IMO.

  • Sure ill ask my partner to take a look tonight

  • The issue is theres very little ashley can fix atm, and im afraid soon unity will have similar woes as their web export is going to have to be webgl due to the deprecation of plugins. This should involuntarily put a lot of pressure on vendors to fix crap.

  • megatronx

    No, it doesn't. That would break the logic in a lot of way if for example you move an object between checks etc.

  • To be fair, construct 2 works really well in browsers. The major complaints i see are with people using construct 2 for mobile games, a place they will not excel because of hardware constraints that make even java-script itself perform poorly. If you want to make a game for mobile with javascript you absolutely have to scale back and be very frugal with the resources you use.

    Mobile games aren't complicated, and that's because you really need to develop them from the ground up to get any kind of good performance. Making a complicated mobile game in C2 is easy, however it wont work because it's too complicated. The more difficult an engine is to work with, usually the better the performance you can squeeze out of it but the slower your development will be, ESPECIALLY if you are inexperienced.

    You could very easily code a fast HTML5 game for mobile, however you wont have the wonderful abilities like picking which construct allows you to use, you'd have to build the game in an optimized manner. If your game is GPU bottlenecked, then that's going to be a problem no matter what. There's a lot of inexperienced developers using C2 (which is understandable) and they end up complaining that their game is working poorly because it works on desktop "just fine" but dies on a mobile platform. The only answer that can be given is that their game is trying to do too much, regardless of if it's doing "a lot less" than other games they've seen on the platform.

    As an example, anyone familiar with demoscenes will understand that some people can squeeze a ton out of very little. Take for example classic c64 games and their graphics, and compare them to some of the more impressive demos for c64:

    demos:

    Subscribe to Construct videos now

    vs.

    games:

    Subscribe to Construct videos now

    A lot of low level optimizations that have to do with using smart memory structures and reusing data in an intelligent way mean you can get "way more" out of something. This is what mobile developers manage, even if they're using html5+javascript from the ground up, vs construct. Construct 2 will allow you to very easily trim down recursively through lists of objects with picking conditions / actions, however the fact this is used everywhere to make events "easy to use" means the performance suffers, ESPECIALLY on weaker platforms where performance is constrained. Things like "creating" and "destroying" in construct are very high level and generally expensive even with the recycling systems in place. They're general so that when something is gone it's gone and everything knows it's gone, however this is expensive compared to just pretending something is gone and controlling at a low level. In most cases a game with limited actors could much more efficiently be constructed by having a short array of references and never having to really pick anything.

    To top things off, most people abuse the hell out of collision detection in construct since they have a poor understanding of the costs associated with it and the mechanisms behind it's operation. It's very easy to blindly apply collision detection throughout code for repeated conditions, but really most engines have a SINGLE collision detection run per frame because it's so expensive, when in construct you can end up with many many many collision detections per frame, which make things "tighter" at tremendous cost. Behaviors are also a big issue because of how general they are, the expense they incur quickly adds up.

    If you want great performance, you need a powerful platform, or you need to fine tune your game from the ground up, there's no magic bullet and complaints are misdirected for the most part.

    shinkan

    Q3D is confusing because of the limited editor SDK of C2, so if people want powerful plugins with good editor integration, im afraid supporting C3 development is the only way they can do it... Regardless Q3D is constantly improving, and hopefully i'll have time to get some documentation out after the next update which finalizes a lot. I can guarantee using Q3D is way easier than trying to make a 3D WebGL game directly, and it works quite well at achieving that goal. In any case UE4 and Q3D have entirely different purposes, UE4 doesn't really work in browsers, regardless of what their poor HTML5 emscripten demos that barely work try to prove, they really aren't trying to make an engine for WebGL.

  • oops! sorry

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • > The function it uses isn't implemented properly in current builds of IE and firefox... chrome/NW shouldn't be acting that way.

    > hat's what I expected, too, but the game is actually right way up in Internet Explorer and Firefox, but flipped upside down in Chrome and NW.js.

    I'm using Construct2 r201 and Q3D v2.3.

    ...

    I hope you'll finish your exams soon.

    Yea I checked and the issue is most likely fixed in the next version already. If it's really a both you can try going to line 1161 in the runtime.js file of Q3DMaster and changing this code:

    			if(this.runtime.isIE||this.runtime.isFirefox){ // these two browsers are upside down....
    				glw.quad(blx, tly, brx, try_, trx, bry, tlx, bly);
    			}else{
    				glw.quad(blx, bly, brx, bry, trx, try_, tlx, tly);
    			};
    [/code:3biyos2s]
    
    You should replace the [code:3biyos2s]if(this.runtime.isIE||this.runtime.isFirefox)[/code:3biyos2s] with [code:3biyos2s]if(true)[/code:3biyos2s]. That should fix it for you for the time being.
    
    The new version uses proper feature detection, so it should become a non-issue after update. The problem was when 2.3 released this fix worked, and now for whatever reason it doesn't. hope that helps!
    
    I'm sorry about exams but that's the way things are sadly! Nonetheless continued reports help me deal with issues, regardless of if i have time to make the fix now or later.
  • It's known, but it's a browser bug actually. The function it uses isn't implemented properly in current builds of IE and firefox... chrome/NW shouldn't be acting that way.

    I've toyed with implementing feature detection to "unflip" it since firefox/IE never fix their broken WebGL. Not sure if it works everywhere yet but its in the update i've been working on. For now it should work in NW and chrome properly, and i really recommend using chrome to develop since they're the only ones up to standards in a lot of things relating to WebGL.

    I'm aware the lenses distort the images, however a lot of demos work quite well without it from my experience since your eyesight doesn't really have a strong stereoscopic depth perception around the edges of your eyesight. I'll see how hard it'll be to implement a camera mode for VR alongside perspective/orthographic that has the lens stuff built in. Again though i don't have time to do it right now.

  • LittleStain

    You can scale/rotate/position bones at all times. Basically full control of the bone matrices. Animations override certain things if they are present (i.e. If you animate with rotation, playing the animation overrides any manual changes to rotation.

    Everything is pretty standard. You also have control of the interpolation mode between linear and catmull-rom variants

  • Believe me I rather be working on the plugin than studying

    You need to change Q3DMaster to use "inside" render mode to apply effects over it within construct. There's a performance cost on SOME platforms though since it has to render to a canvas then copy into a C2 texture each frame. This feature is pretty optimized and inexpensive in chrome but IE and Firefox have a much worse implementation (as usual with WebGL stuff).

    You might actually be able to do without the bulge, i'm not sure about the specifics but i'm pretty certain I've tried examples that work fine without it. the cardboard examples if i recall.

  • googledrive.com/host/0B-Rseo5BvYB1flc4aDFyVkt0S3JZWlJzZngxbjMzeFVNYkY0SVVhNGNINVQ3bWJXaXc3aUE/index.html

    Animation without morphing and bones. *.obj

    https://drive.google.com/file/d/0B-Rseo ... sp=sharing

    I don't recommend doing animation that way. Change model is a slow and expensive function, even though it's optimized with recycling which speeds it up somewhat, actual morph animations is much much much faster and implemented entirely on the gpu.