I'm at the point in my game where I need to layout my maps so that I can have a full world to work with. So far I've just used a few tiles to represent a few things (stone, grass, dirt, water) but I'm not sure the best way to go about it.
Recently I had an idea that I could just draw each level in Gimp as one solid image. Then I would use tiles or rectangles (or something else) to represent solid areas on the map.
My question is whether this method would slow things down a lot or if there are some other issues that I'm not considering. My current thoughts are that it would make things a bit easier as far as displaying the level because I would just be loading up an image. Then I'd use an array of rectangles to handle collision at certain spots on the map.
It has been done before, and is definitely doable.
You may have to break your images into chunks to draw, but your game could do this automatically.
The main benefits of tiles: A) Much more compact data sizes. B) Much easier to create worlds of larger size. (It's easier to assemble and place tiles than to assemble and place pixels when working on large areas)
The main benefits of large images: A) Every pixel can be unique and non-repeating. (The problem is, usually people just copy+paste chunks anyway, because it's so labor intensive) B) Much more detailed and beautiful if done right.
Usually if people are going to create large images for this type of thing, they use other programs like 3D modelling programs, and then "pre-render" the scene (with detailed lighting and effects) into an image.
If I remember correctly, Final Fantasy 7 uses this method. (It has ugly low-poly 3D characters walking around beautiful pre-rendered 3D-looking but really 2D areas).
Some considerations: 1) How will you handle animations like water? (Note: You can mark minor chunks of pixels of the large image for animations, but just think about it while you are working) 2) How will you consider walking underneath some parts of the large image, like behind the tops of trees? (Note: you could have two large images, one above the player and one below, but keep in mind how you'll handle this while you code)
So anyway, the end result is you still need tools of some kind to handle all this and create your levels for you, or it'll be very time-consuming.
Edited by Servant of the Lord, 28 July 2012 - 01:56 PM.
My goal was something super simple. I would create the background of a level in Gimp. It would still appear as though it is a tiled map. Then I would make an array as if it was a tiled map, holding rectangles covering the entire screen. Then, rectangles that are "underneath" collision areas would be used to stop player movement.