Mikal's Forum Posts

  • Ashley Thanks for the comments, so no magic bullet, I'm not surprised after my research, but I wanted to check, in case I was missing something (I also want to use C3 SDK to keep plugins more easier to maintain.)

    In parallel, I have already bitten that bullet. However, I want to check with you on this, because it's using mesh deforms and a lot of webgl effects and it's complicated (10k lines of code as I mentioned, using meshes, custom shaders, etc.) - so Spine-ts is rendering directly to the canvas using webgl. However, you cautioned against this due to C3 controlled batching, etc.

    Before I start asking questions - is this what you meant by render directly?

    (Current status - I have the Spine render to C3 canvas working, but I'm debugging save/restore state, calling EndBatch(), etc. to make it co-exist with C3, I may render to texture instead of direct to C3 Canvas FB and hopefully the rendered texture will be usable w/o a big perf hit for render to C3 canvas using C3 SDK to render the Quad to C3 canvas, Set up a new texture, etc.)

  • Ashley This is working very well on Desktop setup and Igor has actually created a nice Spine Addon which uses this new method. I have found it to work well on Desktop.

    However, on mobile (specifically iOS/iPhone), the UpdateTexture() takes a long time, specifically the gl.texSubImage2D() call. After some research, this is not surprising due to the PowerVR GPU tiled rendering method and also the GPU's BGRA pixel format.

    I am wondering how this is handled for the case for the Text plugin? Is it just reliant on the developer to not update Text plugins that often on a mobile system, or do you have another optimization for cases like a timer that might update a Text plugin every frame?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • This is still work in progress.

    Based on this and Spine-TS, Igor has created a nice plugin which works reasonably well on Desktop, but is slow on mobile (lots of CPU consumption), this is likely due to how textures are being updated on mobile vs desktop, investigating possible fixes.

    honk.su/c3_spine_plugin

  • I'm not sure of the answer yet, but I did run across this discussion for anyone else interested in this topic which looks related:

    github.com/Scirra/Construct-bugs/issues/3150

  • Great work, I might actually start using buttons again instead of Sprites for clickable objects, the default is so horrible.

  • Agree, I have the same issue. Testing an application which uses the mobile accelerometer, so I really want to test on mobile to tune the experience. I have some rather large textures, so the app is a little larger. However, I have a reasonably fast network/wifi (200Mbps+), but the OTA speed/loading seems much slower than that. The main thing I am looking for is faster preview on mobile.

  • equirectangular effect based on shadertoy.com/view/Ml33z2 By KylBlz.

    Can view 360 pictures and videos in C3. WIP will post to addon site w/ example soon.

    Try it out: Web Demo (includes more pictures and a 360 video example.) Use scroll wheel to change FOV (zoom.)

  • Working on some effects and I have noticed that the uniform pixelSize changes when opacity is set below 100%. I imagine this has something to do with rendering required on sprite before opacity/blend is applied. Any suggestions on how to handle the case of pixelSize changing as opacity is switched between 100% and < 100%?

    pixelSize is being used to get the full render screen resolution in the effect which uses it for relative positioning. An alternative is to pass this value in directly via another uniform.

    Tagged:

  • Thanks, appreciate the work!

  • I posted a possible solution on the Construct Community Discord. Using fract() and normalize of uv/Vtex with srcOrigin*.

  • Looking good! Nice work.

  • Good post, I had forgotten I also did a PWA for C3, it's nice to have its own clean window running and with cut & paste, I'm pretty much ok vs desktop. The local files are nice because of the potential use of git/version control in a better way for a team, but in reality, fine-grained collab on C3 is hard anyway.

    The other interesting thing for local files for me would be to link animation frames to local image files and have a refresh button per sprite or frame (didn't C2 have this?)

  • First, I know this is bleeding edge, but perhaps interesting for future Electron / nw.js exports.

    I am using a plugin with DOM side scripts (Greengrinds an extended version of the official Greenworks plugin.)

    With the plugin, my game exported and I built an Electron version with efc. It works well from Electron 3.x to 6.x (chromium 76, node 12.4.) However, for Electron 7.0.0-beta.3 (chromium 78, node 12.8), it looks like the domSide.js script is no longer loading in the DOM, it _appears_ to be running in the renderer. The evidence is the require stack has changed and I have had to change

    	require('../../app.asar.unpacked/greenworks/greenworks');
    

    to

    	require('electron').remote.require('../app.asar.unpacked/greenworks/greenworks');
    

    Once done that works, but it still seems like my DOM side script is not running on the DOM side anymore in this later version of Electron/Chrome/Node. I know this is all bleeding edge, so I don't expect everything to work, but I thought it was interesting enough to mention in the forum in case someone else has an insight into it.

    electronforconstruct.armaldio.xyz

  • Comment from the C3 Community Discord (it looks like the issue is still persisting though at least on my side with regards to accessing forum, etc.) It does feel like there should be some kind of back up for at least sign in though (even with offline mode, sometimes I move to a different machine or new VM and I need to login in again.)

    Website issues should be resolved, think was a combination of a) Azure network issue (causing connectivity problems to Redis) and b) degradation of performance from rollout of arcade caused by increased visitor traffic (significant).

    The Azure network problem seems to of resolved, and we're adding extra capacity and have made a few changes on the VM's to improve performance significantly.

    Everything should be OK now.

    We've planned for these sorts of events with regards to access to C3, if you had it available in offline mode it should of been able to run with all features without issue.

  • Updated the ElementQuad helper with the help of Ashley to use newly documented SDKs and released.

    The Spine example is doing one Spine animation rendered to one separate canvas and the canvas is used for multiple ElementQuad instances (a light port of the Spine meshes demo.) For more Spine animations, this example may need another canvas per Spine animation and either a clone of ElementQuad or a new instance. Control of the animation will need to be done through JS calls to the Spine-TS API, movement, angle, size, effects, etc. on the resulting ElementQuad can be through C3 events.

    Link to addon and example in the original post.