Tokinsom's Forum Posts

  • I've been trying to get Tiled Background's "Image Offset" from CC into C2 ever since it first came out. Some 15+ threads asking about it and it still hasn't been implemented! Yes there are some workarounds but they don't always work..it just depends on what you're trying to do. Anyway, perhaps now this can finally be added? Please?

    Some uses:

    -Infinitely Scrolling Backgrounds

    -Animated Tiled Backgrounds

    -Image alignment

    -(Most importantly) Tilesets! Currently you have to import a tileset into a sprite object as individual frames which results in a folder stuffed with hundreds of image files containing a single tile each. Not good! C2 actually crashes if you use "import sprite strip" on a tileset that's too big (and not that big either). It also takes a while to update them and can easily crash when modifying all tiles (shift+crop for example) The better way to do this is with Tiled Backgrounds and Image Offset so you can set the offset to a single tile from a single image in a single file. You'll get better load times too!

  • In CC the sinewave behavior accounted for the object's angle. For example, an object with horizontal sinewave behavior and an angle of 315 moved from NW to SE. In C2 it does not. Could this please be added?

  • 1) Animate your player attacking with the sword. Duplicate the object. For your player, erase the sword & for your sword, erase the player. Set the sword to 0,0 of the player.

    2) Set arm angle to Angle(x1,y1,x2,y2) 1 being the arm 2 being the mouse.

  • If you're using collision tiles just check which one the player is overlapping at 0,1 and go from there. If not, try creating two detector objects to the left and right of your player that conform to the floor, get the angle between them, then set your player to it.

  • jayderyu R0J0hound

    Unless I'm doing something wrong...

    -Making the canvas global doesn't change a single thing.

    -Making the canvas invisible doesn't change a single thing.

    -Using 1 canvas instead of 4 doesn't change a single thing.

    -Clearing the canvas instead of destroying and creating a new one doesn't change a single thing.

    The whole *game* takes place in a single layout and the rooms are dynamically loaded and destroyed within that single layout, so I don't see how making the canvas global is supposed to affect anything here. I appreciate the help but as originally stated - I don't think there's anything that will work on my end. It seems to be a problem with the plugin and that's that...

  • I see. Well, will leaving it up to GC cause any problems like stuttering or over-working hardware or anything?

    Also the canvases have been invisible this whole time; doesn't seem to make a difference.

    As for the global canvas..not sure how that'll work since it still needs to be created and destroyed each time a room is loaded to prevent performance issues. I did manage to use only 1 canvas for all layers instead of 1 per layer, though..unfortunately that doesn't make a difference either.

    I hope it won't take too much longer for the WebGL canvas. This is only one of the many many things I'll be using it for!

  • Thanks but that's not an option here, for many reasons.

  • Alright the problem is indeed with the canvas plugin. I tried leaving the tiles as they were and VRAM stayed the same in between rooms. R0J0hound is there anything that can be done about this on my end? Will WebGL support fix it?

  • I'm building a metroidvania using Tiled and Rexrainbow's TMXImporter. The tiles are frames in a sprite object.

    When a room is loaded the tiles are created, then 4 canvas objects and 4 empty sprite objects are created and stretched out to the size of the room. I then paste all the tiles into the canvases, then load the canvas images into the sprite objects (because WebGL and canvas don't go well together) and finally destroy all the tiles and canvases. Bada bing bada boom - hundreds of tiles are now 4 medium-sized sprite objects and performance is great. When all is said and done, the previous room is destroyed in its entirety.

    However..

    I started keeping track of RAM & VRAM and every time I load a new room these numbers go up - even if the room uses the exact same tiles and objects as the last.

    What can I do about this? If you play the game for too long you'll surely run out of memory, and I'm not seeing "dump textures from memory" or anything like CC had so I'm starting to freak out a bit. Thanks for any help!

  • In some cases you'll want to use an expression to decide what layer to use, and a drop-down list won't allow this.

    In CC you could choose between a drop-down list or expression...I really miss that.

  • He's a friend I asked to +1 because the ability to change the parallax origin point at runtime will greatly benefit our project. GUILTY -.-;;

    moving on..

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • When you say all art do you mean all the walls and platforms too? What I was getting at earlier is too many objects with the solid attribute can easily lower the framerate.

    Also are you running any heavy loops or anything?

  • Dude just read the first few pages ^^;

    "Retrieve Tile Array" action in one event triggers "On each tile cell" condition in the other event. You retrieve the tile property using TMXImporter.TileProp("") in the same event you create your tiles.

  • After looking at the video I'm not sure that'd be the best approach ^^; Your game isn't really tile-based, so. Seems to me you just have too many large sprite objects with the solid attribute and the BGs are probably massive as well. The shaders on top of all that definitely don't help. Maybe you can deactivate the solid attribute for platforms/walls that aren't on-screen? (that'd break most games but it looks like it might work here)Another thing to consider is breaking up the levels into multiple acts.

  • Basically I use 2 global variables "X_Origin" and "Y_Origin" and system expressions ScrollX and ScrollY to make my own parallaxing backgrounds...

    +Every tick

    -Set Background.X to (X_Origin+ScrollX)/2

    -Set Background.Y to (Y_Origin+ScrollY)/2

    That's the same as setting a layer's parallax to 50, except with this you can change the parallax origin (the 2 global vars)

    It's an alright workaround...but you'll probably want to use a family for all objects you want to parallax, and if you have a lot..well..it gets messy. That's why I'd love for this feature to be added!