digitalsoapbox's Recent Forum Activity

  • I am developing some plugin in WebStorm, but everytime I need to test it I have to switch to C2, press f5, which is annoying.

    But I can set "Run" command in my WebStorm, using, for example, command line.

    Is it possible to Compile C2 project from command line?

    This would be a great feature.

    > Any news on the overlay issue? Is this fixed in the new greenworks release?

    >

    This thread is enormous now and I'm not really clear on what the problem/status of that is. I think it would be best for everyone to file a report in the Bugs forum where we can focus on that (as well as any other issues). Although the Greenworks plugin is still experimental it should ship with C2 pretty soon so I don't see why not to start treating it like an official feature already.

    Awesome. Does this mean you've figured out the preview issue?

  • AFAIK Edge is in the process of implementing ORTC (a WebRTC variant), but has not yet added DataChannel support which the multiplayer engine uses. When they add that, we'll look in to supporting it.

    Gotcha, thanks for the update. I'm gonna bug my MS contact to see if they have a timeline...

    **EDIT

    Did some poking around Ashley, this seems to say DataChannel is now possible, though not an official source: https://blog.andyet.com/2015/06/25/webrtc-on-the-edge/

  • If I'm not mistaken, I think Coin-coin wants to be able to queue up -- or run simultaneously -- multiple camera shakes, rather than shake individual layers. MagiCam can't handle that itself, but one could always setup a queue that initiates camera shakes in sequence.

    Yeah, I just created a function to do that. It seems to work fine with multiple camera shakes, even on scenes with a lot of parallax.

    Which reminds me: The zoom limits sometimes get a little shaky when the camera is near the outer zoom limits. Not really related to camera shake, just something I noticed while playtesting.

  • ORTC is basically WebRTC with a slightly different and incompatible API. As I understand it, it should be possible to implement WebRTC in terms of ORTC, since ORTC is actually more customisable. Providing there's a good shim that does that, we should be able to easily support multiplayer with ORTC without even really changing our code. Even if there's no shim we should be able to adapt our code to work with ORTC instead.

    tl;dr - if IE supports ORTC then it should be able to support Multiplayer as well. Good news!

    Asley, are there any updates on ORTC support? No luck getting multiplayer working in IE or Edge, works fine elsewhere.

  • Hi,

    Is there a way to have "shaking layers"?

    For example, if a bomb explodes with a strength 50 shaking for a duration de 1 second, and if another event starts a strength 20 shaking for 0.3s during the bomb explosion, the bomb shaking immediately stops and the small shaking overrides the bomb one. Any way to have the big ones overriding the smaller ones, but when they finish, the other shakings occurring at the same time continue ?

    Magicam has a built-in Shake action. Look under the "Misc." section.

  • : i was going to try unity + playmaker, but i really liked what i've made, maybe this is the starting point to start to learn real programming, so i want to know what the most suitable for this kinda app. i'm thinking delphi cuz FLstudio was build on it.

    but if unity 2d is enough i think i will try unity

    Chances are it's not the images that are causing any slowdown - there's nothing complex going on in that area of the project - but the number of audio clips you're playing back combined with C2 not having any way to sync sounds to a reliably steady clock on mobile, and android in general seems to have issues with a lot of sounds playing at once.

  • > I wish we could export to PS4.

    >

    That would be nice too. However since it's a HTML5 engine, this is out of Scirra's hands.

    PS4 supports both HTML5 & WebGL. It's not out of their hands, though much more is involved in a PS4 exporter.

    A few more suggestions that are less about significant new features (Unity already exists for 3D) and more about usability/expanded functionality:

    • Support/Wrapper for ORTC in IE/Edge, which I saw mentioned by

      Ashley as being looked into over a year ago, but there seems to be no movement on it, eliminating the ability to use C2's native multiplayer functionality in IE, Edge, as a Windows App on Windows 8, a Universal App on Windows 10 or XB1 (source: )

    Real, actual documentation for C2's GLSL shaders. Saying "look at these third-party examples" is a bit ironic when no effort is made to look at any bugs that occur in projects with third-party behaviors/plugins

    GLSL shaders that actually WORK properly. The whole screen space/layout space issues has been in C2 for far too long, and it's holding back the ability of anyone to push shader-related visuals in C2

    XBL Achievements/Friends List support

    Steam integration (this is moving far too slow, and I'll probably have to implement as a 3rd-party plugin in the end)

    Access LOCAL variables from the debugger

    Export to NW.js WITH the debugger enabled

    A more modern particle system, what's available may be optimized but it's hilariously limited

    More functional breakpoints, without the current limitations on looped events

    Easier way to move blocks of events from one project to another (for example: right now any globals need to be added first, then the events)

    Event-level access to collision polygons, which has always seems like a bit of an oversight

    Spawn objects by name, which also seems like an oversight (and not everyone is worried about obfuscating code 99% of people can't read anyway and is so C2-specific)

    A straightforward way to exclude specific layers from shaders applied to a layout (for example: a post-process bloom that applies to everything except the GUI layer)

    Custom keyboard shortcuts

    Impossible to run preview with any plugin events in the project, including after the plugin is removed.

    The solution to fix that (for others having the same issue) is to remove all events that reference the plugin, THEN remove the plugin.

  • > Ashley

    > As I said upthread, I was hoping to get feedback on what potential issues could be causing it so I could fully test/tweak as much as possible before reporting it as a bug .

    >

    When talking about performance, measurements are *everything*. Still, if you're looking for guesses, check the parts of Performance tips about tilemaps.

    Ashley

    Yep, and I've run it through every measurement tool that I can get my hands on that works with C2 - this isn't my first rodeo on optimization, just my first with C2 .

    I had started putting together an example of what seemed to be causing the issue, but to be honest it started to seem like it'd be just as much work as making the game itself. Through a few of the tests I tried it seems to be due to a combination of using WebGL shaders with the Tilemap object, as with no WebGL shaders (Wave, Tint, etc. - the effects shaders) there wasn't really much of a performance hit, but as soon as any shaders showed up then performance would degrade drastically with the addition of more shaders and/or Tilemap objects.

    There were fps drops/collision increases compared to not using Tilemaps if any objects in the layout were colliding, like the player standing on a platform, even though no tileMaps should have been testing for collision. The expected behavior would be collisions being the same as when not using Tilemaps.

    Because the player objects use both WebGL to tint various pieces of the character and needed to collide with platforms, this obviously presents a problem.

    I also tried a test based on the suggestion shinkan made about exporting the json files C2 creates when a .tmx is imported: I compared the Tilemap object data between the json C2 creates in the editor when you import a .tmx file to what was happening when the TMX Importer by rexrainbow imported the .tmx file at runtime: the json tile data matched exactly, so the same optimization is being done, which I also thought could be the culprit: however, it doesn't seem to be, seeing as how the results of the 1st and 3rd party importers matched.

    I'm pulling in a lot of data from the .tmx files outside of just the tilemap - object variables, where to put spawn points, collision types, what in-game layers to spawn tilemaps/objects on, etc. I completely lack the desire to write my own in-game stage editor when Tiled already has all the features I need and works just fine (even though there's no evidence the 3rd-party TMX plugin is the issue), so I guess I'm just going to have to deal with load times between stages. Even if the memory requirements are 4x as much, I'm at a rock-solid 60fps on pretty much any system with enough GPU memory to handle it (more than 1GB), and there's more optimizations I know I can make there than I've been able to figure out with the Tilemap object. I don't think I can pinpoint the root cause to make a bug report with any accuracy unless I rebuild the game step by step and that's just too much.

    ***EDIT: I had a thought that maybe because C2 treats optimized sections of Tilemaps as different draw calls that the increased draw calls over using giant textures on Paster objects (big, but one call) is causing issue with the F2B rendering because it has more objects to draw when layers with WebGL effects on them behind the Tilemap layers is causing too great an overhead. This seems somewhat unlikely on the card I'm testing on (as mentioned above, a 980Ti), but it's another shot in the dark. The fps slowdown happens regardless of the size of C2's window - as in, fullscreen at 2560x1440 experiences the same amount of slowdown as 640x360 - so who knows. I also see that C2 has divded the tilemaps up into a LOT of collision checks, even though no Tilemaps should have collisions enabled. There's just so many variables involved, but Tilemap objects are still seeming to be the root cause to the issues I'm having with performance. Issues with, again, only occur when Tilemap objects are in use and large portions of them are available on-screen at the same time. Quite possibly still not a bug, and maybe the optimizations applied to the way Tilemaps render, which works just fine in other scenarios, is simply not the right approach for the game I'm making.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • >

    > > A .capx is worth 1000 posts. If you have a performance problem, reproduce it in a minimal .capx and share that. Then I can profile it and get some actual data on what is going on, rather than just aimlessly speculating. You should also not use any third party plugins in such .capx files (as per bug reports). If the performance problem is caused by a third-party plugin, it's not our problem at all.

    > >

    >

    > Ashley

    > As I said upthread, I was hoping to get feedback on what potential issues could be causing it so I could fully test/tweak as much as possible before reporting it as a bug .

    >

    > Since I'm loading a TMX at runtime, which C2 doesn't support, I'm using a 3rd-party plugin to bring in the files - though there's no reason it should impact the performance in this case since it's not active after loading the file, and hasn't previously affected performance. The performance issues can be traced directly to how much of a tilemap is on-screen combined with how many tilemaps are on-screen at the same time with nothing else going on other than loading the TMX and setting the tiles on the appropriate tilemap objects. Performance is also affected by what portions of a tilemap are on-screen, and when portions of the tilemaps are visible that don't have a lot of repeating areas of a single tile, there's a hit to the framerate. Using tilemaps versus not using tilemaps is the only variable in the scenario I've described in above posts, with tilemaps affecting performance vs. no tilemaps not affecting performance.

    >

    And still, a capx is worth a thousand words..

    Sharing a capx isn't the same as filing a bug-report..

    Can you recreate this framerate drop in another capx?

    Maybe you could import the tilemap from tmx and then export asjson, so in a new layout you can load the tilemap from asjson to see if the problem persists..

    Thanks for the suggestion. I thought about that, but I think it might be a roundabout way to present something I can show in a simpler fashion. Looking at the manual on tilemap objects, it looks like I can import layers one at a time from an existing tmx into the tilemap object, which might be the simplest way to show what happens when there's 8 or 9 layers of tilemaps...but I probably need a nap first.

    ***EDIT: I'm getting an error when trying to import the TMX into C2: "Error parsing TMX file. Check the file is a valid Tiled TMX file." Which, obviously it is. I'm saving in CSV format, so compression shouldn't be the issue either. Is there a preferred version of Tiled to use to create & save maps for C2? I'm currently using Tiled 12.3.

  • A .capx is worth 1000 posts. If you have a performance problem, reproduce it in a minimal .capx and share that. Then I can profile it and get some actual data on what is going on, rather than just aimlessly speculating. You should also not use any third party plugins in such .capx files (as per bug reports). If the performance problem is caused by a third-party plugin, it's not our problem at all.

    Ashley

    As I said upthread, I was hoping to get feedback on what potential issues could be causing it so I could fully test/tweak as much as possible before reporting it as a bug .

    Since I'm loading a TMX at runtime, which C2 doesn't support, I'm using a 3rd-party plugin to bring in the files - though there's no reason it should impact the performance in this case since it's not active after loading the file, and hasn't previously affected performance. The performance issues can be traced directly to how much of a tilemap is on-screen combined with how many tilemaps are on-screen at the same time with nothing else going on other than loading the TMX and setting the tiles on the appropriate tilemap objects. Performance is also affected by what portions of a tilemap are on-screen, and when portions of the tilemaps are visible that don't have a lot of repeating areas of a single tile, there's a hit to the framerate. Using tilemaps versus not using tilemaps is the only variable in the scenario I've described in above posts, with tilemaps affecting performance vs. no tilemaps not affecting performance.

    EDIT: All that said, I'll see if I can find a way to accurately reproduce the issue. I've probably been up way too long trying to optimize layers of tiles and I might be feeling a bit cranky .

digitalsoapbox's avatar

digitalsoapbox

Member since 21 Aug, 2013

None one is following digitalsoapbox yet!

Connect with digitalsoapbox

Trophy Case

  • 11-Year Club
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • x3
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

18/44
How to earn trophies