User Tag List

Results 1 to 7 of 7

Thread: Need help understanding how to implement big levels

  1. #1
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Zebedy's Avatar
    Join Date
    Jul 2016
    Location
    UK
    Posts
    46
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Need help understanding how to implement big levels

    If anyone has any expertise in this area I'd massively appreciate it...

    What's the best way to design large levels in clickteam?

    Basically, our game has levels have dimensions of 6666x4444; that might sound huge but our character zips around places quite quickly.

    Anyway, we've tried quite a few different methods with limited success. First we tried using quick backdrops as colliding obstacles , then places PNG's (it's not a sprite based game) to decorate the level. This works in a sense but takes far too long, and eventually, I feel like using quick backdrops eventually stifles creativity a bit when it comes to designing unique levels.

    So then we tried a crazy method. And designed whole levels inside a different program (so, the dimensions would be 6666x4444), and for the most part, this worked amazingly. The levels all looked unique and diverse and didn't impact performance. But after about 10 carefully designed levels, we got "out of memory"; understandably... as the PNG files were crazy huge (we did compress them to about 25kb each but I think clickteam uncompresses them anyway or something?)

    So now I've been trying to split the images up into smaller sections, and see if I can just import them in as much smaller segments to reduce the stress on the game. But that alone sounds so finicky; if it worked, great; but I'm not even sure if it's a viable method.

    So we're not really sure if that's going to work; has anyone got much idea what would be an efficient way to approach this problem? Any help would be massively appreciated x

  2. #2
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCiOS Export ModuleInstall Creator Pro
    Julian82's Avatar
    Join Date
    May 2012
    Location
    outbuddies.com
    Posts
    937
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Hi Zebedy,

    not quite sure I understand what is happening here and why you hit the RAM limit of 2GB on runtime (that is what you're referring to, right?).

    I think an image of the mentioned size with alpha channel (RGBA) will consume 6666 x 4444 x 4 bytes = 118MB of RAM. The file type of the image does not matter, we talk about texture memory that has to be allocated on runtime to display the image. How many of those images do you have in one level to hit the 2GB runtime limit? Sounds pretty crazy

    Btw, images this size will most likely stutter on quite a lot of setups when scrolling. Many GPUs cannot handle textures over 2K very well (mine cannot), but that does not seem to be your problem. I would tile them anyway in case you only tested on strong machines.

    So for helping you I think we need some more information:
    x Are these images constructed using a tileset or did you paint a whole huge image in this external editor? Tiling your level layouts would only save RAM if certain tiles can be repeated, otherwise the tiles will consume the same amount of RAM as the large image when summed up. That's why most games use tilesets to texture their collision masks and recycle few assets over and over again.
    x Do you load your level's assets from external data (single frame setup level editor) or do you have a multi-frame setup and everything is pre-baked?
    x Did you use image optimization techniques like skipping alpha channels if not needen and power of 2 optimization?

    In case you missed it, here is the most important thread on (image) optimization techniques: https://community.clickteam.com/threads/62295-Guide-to-faster-games-with-less-memory-usage

  3. #3
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleXNA Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    piscesdreams's Avatar
    Join Date
    Dec 2007
    Location
    United States
    Posts
    922
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    I wouldn’t worry about the level size too much; I have levels of around 40,000x8,000 in my game. The best method would be dividing everything into tiles and following the guide Julian posted. On top of this, any tiles you can reuse should be reused. It will reduce the strain on RAM and file size. My tiles range from 32x32-512x512 and variations in between. The key is just making as much reusable as possible. For example, my first level has 4 different dirt tiles that can all connect to each other, but have different patterns so I can mix and match in any way I want. I then have additional “mask tiles” that fade around the edges with an alpha channel that I can paste on top of those tiles to give each tile a more varied look instead of just a repeating pattern.

    My last tip would be to use alpha channels sparingly. If I have a solid tile that has no transparency, I don’t use the alpha channel at all. That’s made quite a difference in performance.

  4. #4
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Zebedy's Avatar
    Join Date
    Jul 2016
    Location
    UK
    Posts
    46
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey guys thanks so much for getting in touch haha. I'll try to explain what's going on:-

    -So per one level, there's only one PNG image of 6666x4444 as we need the alpha transparency haha. I'm not quite sure what happened, but I actually tried to create a new level after a few of these image-based levels, and I got the error message "out of memory", I think in the debugger, a full level reads about 450mb~ (I'd say roughly 300mb goes to events, the characters, animations, etc.) So maybe my computer was having a bad day ...

    -About the textures being handled on lower GPUS, well I was concerned about this too initially, but it actually runs at full speed on my phone too! Although...I've only tested on Samsung edge 6 and above... so maybe that's why...probably won't be the case on lower end android phones/PCs..?

    -So we're fully designing the level image externally at the moment, (it's kinda easier cuz all our backgrounds are basically silhouettes; and the tools let us create nice varied shapes. Going for a noir style). I'd be totally game for using a tileset approach but because everything is basically black apart from the background, it's hard to keep it looking diverse if we stick to a tileset I feel.
    And we have a multi-frame setup where everything is technically pre-baked.

    -We have tried to skip alpha channels where necessary I think, although I've gotta admit it's not too often lol. Because the difference in pixelated backgrounds and those with alpha transparencies are too obvious in our game sometimes, we have to use alpha transparency. Power of 2 optimisation is definitely kind of overlooked, we may need to go back and look over that!

    -I like the idea of mask tiles that fade around edges to give variety; we might need to play around with this idea a bit. We have tried to create *some* sort of tile set which we can reuse a little in levels but again; it gets repetitive too quickly as we have just the colour black to play with for backgrounds. We're a bit stuck when it comes to using alpha channels sparingly though!

    I'll have to go through everything you guys have suggested and report back, thanks so much for the input !

  5. #5
    Clicker Install Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Darkhog's Avatar
    Join Date
    Jan 2009
    Location
    /dev/null
    Posts
    417
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    Designing large levels in Clickteam's frame editor is kinda suicide. I'd suggest using something like Tiled and the Tiled Map Loader extension (just don't expect any support, the developer, @RootKernel abandoned it and has no interest in maintaining it leaving actual bugs such as inability to load multi-line parameters) along with Tile Map and Tile Map Viewport from Looki. Then you can make the levels from discrete tiles (a good tileset can even give that "hand drawn" feeling you may be after since I can feel inspirations in the graphics department you got from Limbo or NightSky). It won't use nearly as much memory as the "prerendered" level and the editing experience will be much better.

  6. #6
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Zebedy's Avatar
    Join Date
    Jul 2016
    Location
    UK
    Posts
    46
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hm that's sad to hear... but I'll definitely have to see if I can utilise these extensions, I wasn't aware of some of those.

    Yeah you got it haha, very limboesque/nightsky. I get this itch if the level ends up having too many straight lines , as if the level doesnt feel organic enough.

    I'll get started on a promising tile set, thanks for the help @Darkhog ; much appreciated

  7. #7
    No Products Registered

    Join Date
    Dec 2016
    Posts
    69
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    use smaller pieces, move viewport instead of moving the pieces


    Sent from my iPhone using Tapatalk

Similar Threads

  1. How to Implement Achievements for Steam?
    By Disthron in forum Fusion 2.5
    Replies: 3
    Last Post: 3rd February 2018, 03:29 PM
  2. Is there any way to implement app licensing yet?
    By happygreenfrog in forum Android Export Module Version 2.0
    Replies: 0
    Last Post: 15th October 2013, 05:39 PM
  3. Best / Good way to implement PMO? Need some suggestion
    By Gogeta in forum Multimedia Fusion 2 - Technical Support
    Replies: 1
    Last Post: 31st October 2012, 08:17 AM
  4. how i do i implement iads?
    By TheCrimsonTaco in forum iOS Export Module Version 2.0
    Replies: 13
    Last Post: 24th July 2012, 05:50 AM
  5. Is it possible to implement Glicko2 in MMF?
    By Konidias in forum Multimedia Fusion 2 - Technical Support
    Replies: 2
    Last Post: 1st July 2011, 05:17 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •