Ashley's Forum Posts

  • No, the fix won't clean any existing files, but it should prevent any new files from being bloated.

  • fldr - between something like AJAX and Sprite, I think that is pretty much no actions at all, making the family pretty useless!

  • Closed, see the bug report requirements

  • I think this is to do with the browser frame scheduling and v-sync. This is already perfect in IE11, which proves HTML5 can be equally good as a native app for that. I think Chrome is working on improving their frame scheduling at the moment and it should be a lot better when the current Canary gets down to stable. This disproportionately affects C2 games since we rely on Chromium as the engine for Chrome, NW.js and Crosswalk, which covers a lot of platforms.

  • If it crashes, it's still a bug and I still want to fix it to ensure even making a mistake does not cause a crash. Can you repost the original issue with .capx if it throws a javascript error?

  • Moved to Website Issues, FAO Tom

  • We aim to have a Windows 10 universal app exporter by the next stable release. Whether this works for Xbox One depends on Microsoft's decisions about to what extent they will allow these apps to run on Xbox. I think it is likely something will be supported, but it's not clear to what extent that will be, so I don't want to advertise or hype up the possibility yet.

  • Just curious if it would be feasible to have c2 extract capx files to another location other than the temp folder when editing? Or I wonder if there's a way to block them from being deleted while the project is open.

    This problem comes up from time to time and I don't really know what to do about it. If you have a bunch of programs open and you wipe your temp folder, is it really surprising to then find out you wiped files that were actively in use by the currently open programs?

    C2 stores a lot of project information in temp because changes shouldn't be saved to your project until you click "save". With .capx files, which are really an entire project folder in a zip, it extracts the entire project to temp and works with everything there until you click save, then it zips the whole temp folder again and overwrites your .capx file. This is essential: nobody wants their file on disk to be modified until they click "save".

    I don't want to make it save anywhere else because the operating system "temp" folder is the correct place to put this. If you do something like open a .capx and then forcibly close C2 (or it crashes), its temp files are all left behind. These kinds of leftover files can accumulate for various reasons, and then you may want to legitimately clean them all up, which standard tools/OS functions can do - just I assumed you'd always do this without any programs actively open!

    So it seems some people run these utilities while their projects are open in C2, and it goes ahead and wipes their currently open work in temp. I think C2 can lock the files to prevent other tools trying to delete them, but I never thought people would try to do this, so now there's all sorts of bits of code scattered all through the C2 codebase which accesses various parts of the project in temp. If I forget just one file, the project will still get corrupted by cleaning temp. So... don't clean temp when apps are using temp files?

  • sqiddster - families in families is the same as simply adding both families to one object type, so I don't think there needs to be a new feature for that. I'm not sure families with different plugin types is even possible, because the whole point of families is so you can write your events once. If you go to add an action for a family with both the Sprite and AJAX plugins in it, which actions do you show? What if you run an AJAX action on a Sprite instance or vice versa? etc...

    As for the other use cases, I think the complexity problems I outlined with layer offsets means that it would be better to find a different way of solving those problems, without having to offset layers.

  • lennaert - can you actually describe in detail what they are and how they work? I still don't know any valid reason that the feature is necessary.

    eli0s - doesn't normal scrolling cover that, like the Scroll To behavior's 'Shake' action?

    sqiddster - what needs to be more robust about the Families system precisely?

  • CSS only styles DOM elements, and everything apart from the form controls is rendered directly in to a canvas so doesn't have its own DOM element, and therefore cannot be styled by CSS. That's a good thing, because DOM has a big performance overhead, so everything's way faster this way. You still have WebGL shaders which can do a lot though!

  • Have you gone through the multiplayer tutorial series and used the real-time game as a starting point?

  • Nobody has provided any actual use case so I'm not persuaded at all yet. What kind of actual games or features would this make possible that you can't already easily do?

    This kind of feature can have significant code complexity implications and possibly significant performance implications too: the collision cells and render cells optimisations are strongly dependent on the predictability of the positions of objects. Layer parallax forces the collision cells optimisation to be disabled since cells no longer line up correctly. I think a layer offset feature would have the same effect. Usually parallax is just for decorative purposes so it's not important if collision cells get disabled. However with layer offsets I can imagine that you simply offset your main layer by 1px for some reason or other, and then it completely tanks the collision performance because collision cells no longer line up and it reverts to brute forcing collisions.

    So I'd need a pretty darn compelling reason to implement this feature which exceeds the complexity and performance implications, and so far it's just a thread of "+1 sounds interesting". So right now I'm thinking "no way this is worth it".

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Well there's nothing we can do about bugs in the WebRTC protocol itself, you'd need to take that up with browser vendors. However I'd suspect it relates to your own WebRTC client code, since I've never heard of any such issues with C2 multiplayer games connecting to each other. Also it may simply not be important, since I think ICE works by sending multiple candidates over time, and if it successfully connects and another candidate comes in, it may simply ignore that (possibly logging an error in the process).

  • I'm not sure exactly what you're referring to, but the same-origin/CORS security stuff is an important part of security on the web, so you can't just get rid of it.