# Drawing large 2D sidescroller level terrain

I'm a relatively good programmer but now that it comes to add some basic levels to my 2D game I'm kinda stuck.

What I want to do: An acceptable, large (8000 * 1000 pixels) "green hills" test level for my game.

• What is the best way for me to do this?

It doesn't have to look great, it just shouldn't look like it was made in MS paint with the line and paint bucket tool.

Basically it should just mud with grass on top of it, shaped in some form of hills.

But how should I draw it, I can't just take out the pencil tool and start drawing it pixel per pixel, can I?

• 2019, the question is still actual :) – Город Jun 24 '19 at 22:53

Photoshop has layer-effects which can be used to draw good looking levels really fast. I don't know if that would work with GIMP, but here are some steps how to get something on screen fast using Photoshop:

## Instructions

1. Get some dirt and grass textures. The one I'm using in my example are from this freetexture set.
2. Open a dirt texture in Photoshop. Select all Ctrl-A and copy Ctrl-C. Then select Edit > Define Pattern... from the Menu. Name your Pattern "Dirt".
3. Do the same for the Grass texture, name it "Grass".
4. Create a new Layer in Photoshop and apply the Pattern Overlay and Stroke Effect to your layer. Select the "Dirt" pattern for the overlay and the "Grass" pattern for your Stroke (see images below).
5. Paint with any brush on your layer... instead of having a boring single color, it should render as a landscape, thanks to the layer effects. The beauty of this is, that you can freely add/remove parts of your landscape by using regular drawing tools like the brush or eraser.
6. (optional) Draw a gradient from dark blue (top) to light blue (bottom) on the background layer for your sky (you could also use layer-effects for that).

## Images

### Final result

With some more layer effects and a background.

You can also download the PSD file here to have a look at it.

• and you just have one big image for the entire level? – Spooks Feb 17 '11 at 18:42
• Yes, you can store it for the entire level; I would separate background, objects, etc. from the actual hills. For collision detectioning, you can use the alpha layer. +1 for amazing technical art :) – ashes999 May 31 '11 at 11:36

Many platformers and games of all kinds use a tile-based level system, where each level is made up of a grid of tiles, sometimes in multiple layers. You might have several "grass surface" tiles, several mud tiles, and so on. Then, instead of drawing a huge image, you lay the tiles out into a map. It tends to save on texture space, among other things.

More advanced 2D games take a similar approach, but with large "stamps" that can be freely moved, rotated, and/or scaled to make up a level and aren't stuck to a grid like in the tile-based technique. Aquaria uses this method.

If you don't mind it looking a little boring, you could just draw a bunch of circles of varying sizes along a flat line (your ground plane) and flood fill them in. Then you can go back and draw a brown box covering the "underground" portion of the map, and then add in little touches of ground to meet the top curves of the circle. Then you could do a detail pass to add grass or whatever (very easy if you have Photoshop with the different brushes).

That help?

I would highly recommend you grab a copy of Paint.NET its free, and 100x better than MS Paint -- its got some basic tools to facilitate generating art in the sense you are looking for.

It will, for example, allow you to make a selection and fill the entire selection with a given color/gradient, this will save you from using the pen tool and drawing pixel by pixel.

Its not even close to photoshop, but its excellent for this type of use-case, where you are looking for basic style art.