Tokinsom's Forum Posts

  • Yeah I am not particularly impressed with CocoonJs especially since blowing $350 on a tablet just to find out CocoonJS is not compatible with it. After getting a better phone that is compatible it still isn't that great. Performance is good though.

  • Works fine here.

  • I certainly hope so. Using 3rd party level editors with C2 would be a godsend. Have you had any luck with it?

  • Great plugin! Very useful for tools. Unfortunately the bug Seac mentioned is preventing me from actually using it. Any chance you have the time to fix that now?

  • I mentioned Tiled because you can export the map as an image, then import that into C2 and make the rest of the level. That's a pretty terrible method though.

    I don't think the tmx-converters are that useful because Tiled isn't that great..There's no good way to place objects, backgrounds, etc. nor edit their properties, just tiles..It's not that great with tiles either; you can't flip/mirror/rotate/shift them or the current selection. Ogmo Editor 2 or maybe DAME (haven't used it much) seem like much better options.

  • Nope, neither CC nor C2 have tileset support. It's something nearly every game engine neglects for reasons I'll never understand; tilesets have been used in thousands of games and are still used today. Without them, your level building options are very limited.

    Yes, you can "import tilesets" as sprite objects, use different frames as different tiles, then drag and drop them in the layout, but that is impractical on so many levels that I shouldn't have to explain why.

    You can build your own tile-based level editor too, but C2 is designed to make games, not tools, and that is a significant amount of work just to be able to use tiles; you're basically making a new layout editor in all it's entirety. Also, without full file i/o, simply managing your map data will give you a headache.

    I think the best bet is to use Tiled or maybe Ogmo Editor or some other 3rd party tile-based level editor, but I'm not sure how you'd read their output to load tiles, objects, map settings, and other data. I hope somebody looks into that soon..

  • I don't think a minimum nor best resolution exist. It's what's best for your game!

    GameBoy: 160x144

    GBA: 240x160

    NES & SNES: 256x224

    The most common resolution I've seen, but mostly for retro/indie games, is 320x240 and multiples of it (640x480,1280x960)

    To my knowledge 720p and 1080p are reserved for 3D games or like..Muramasa type stuff.

  • Making your own wrap behavior is easy. In this case, just check if the object's y position is greater than n, then destroy and re-create it at the starting position.

  • Yeah, formulas. Otherwise you'd have a mess of sub events that would have to be modified by hand one by one.

  • Aha! I tried that before but the "For Each: Sprite" condition came last which caused all sprites to be destroyed. Guess I'll always put that first from now on.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Item Persistence .capx

    This is an example .capx I was working on to show how item persistence works using dictionary and webstorage.

    You click on a square to destroy it. Then you press 1 to save, refresh the page, then press 2 to load (squares you clicked previously should be destroyed again.)

    However, I can't get it to work. When loading, either all of the squares are destroyed, or none of them are destroyed.

    What am I doing wrong here? I have 3 different methods of loading the save data and destroying the previously clicked squares, but none of them work!

  • Object.X/Y refers to the object's hotspot, or origin.

    Object.ImagePointX/Y refers to the object's image point.

    Both are set in the image editor, and you can make as many image points as you need.

    X/Y refers to the position relative to the layout; 0,0 is the top left of the layout.

    Absolute X/Y refers to the position relative to the canvas; 0,0 is the top left of the canvas.

    Viewport refers to whatever is on the canvas based on Scroll X/Y, for example Viewport.left (or however it's written) refers to the left side of the canvas regardless of the current scroll position.

    Canvas refers to the "game window" or resolution. The size can be adjusted in the project properties via the window size parameters.

  • I had to do something similar for Minitroid using instance variables and hash tables. Say you have 10 gems that, once picked up, never return. You want to give them an instance variable called ID and set them to 1,2,3,4, and so on for each gem. Then you make a hashtable with 10 keys - also 1,2,3,4, and so on.

    When a gem is picked up, check if the key with the same ID has a value of 0 - if so, destroy the gem and set the key value to 1.

    Now, when the level is loaded, loop through the keys and see if any of the values are 1. If so, destroy the gem with that ID.

    Alternatively you can just check if the key exists.

    Make sense? Probably not. I suck at explaining these things. I can whip up an example .capx if needed :)

    EDIT: Sorry, I keep forgetting hashtables are called dictionaries in C2. I will never get used to that -.-

  • You can try comparing values (system expressions) to make sure your player is completely stopped when next to a wall, like so..

    +Player.Platform.Xvelocity > 0

    +Has wall to right

    -Set X velocity to 0

    +Player.Platform.Xvelocity < 0

    +Has wall to left

    -Set X velocity to 0

    Or you can use collision offset instead of "has wall to." Might work, atleast ^^; I forgot how I did it for my games.

  • Whoops, my bad. 'Set canvas size' does work the same as 'set display resolution.' However, I just discovered a bug:

    When using 'set canvas size,' with unbounded scrolling enabled, objects on a 0,0 parallax layer don't account for the new resolution - they stay where they are.

    Should I post a .capx in the bugs forum?

    The first time I tried 'set canvas size,' I was using letterbox integer scaling. That on top of the aforementioned bug made me think 'set canvas size' worked differently than I had expected. Gah, confusing. I will try to do more testing before posting next time :)