Monday, November 14, 2011

On Level Design

So the project is rapidly approaching full production. Right now Marco has been busy coding the games framework. Once he has this done, full level production is next. We have a simple and straightforward pipeline in place, which I will describe below.

The levels have a simple construction. The level foreground is on one layer, with the moving lava layers behind it. Corona uses the programming language Lua. We are using a clever little script created by Rocket 5 Studios, a small American indie developer, which allows photoshop files to be exported into Lua. The use of photoshop for this stage is hugely beneficial as I would be very familiar with this program, which will speed up the creation process considerably.



In order to create the levels, first they are drawn out on paper. The general layout and ideas for hazards and obstacles are explored here. Once I'm happy with the initial idea, I begin to create the level in photoshop. The foreground of the level is built using some tile sets designed over the summer. Tile sets are an excellent way to make 2D levels quickly. Large areas can be copied and pasted to build the basic structure, then more detailed tile sets can be used to create the sections the player interacts with. Suspended platforms and other environmental hazards are added at this stage. It also allows a degree of flexibility that was impossible when using Stencylworks. Once Iv finished making the playable areas, some detailing is added. A single large background image layered at the bottom.

Once I'm happy with the look of the level, the collision layer needs to be added. Here a photoshop layer group is created within which the collision shapes are added. I need to draw these over every part of the level I want the player to collide with, so the ground, walls and roof of the levels need to be marked off. Once the level is built using the tilesets and the collision shapes are done, the script is run. This spits out a lua file which, with the level png and background, is then sent to Marco, who adds them to the game.

Next is a level plan, which highlights areas where triggers and obstacles are located. The levels have a series of trigger regions. These are small areas that trigger an event, such as the lava beginning to rise, when the player enters them. With levels containing numerous sections of moving lava, sometimes several trigger regions are needed. The plans are designed to help simplify and speed up the coding of the levels.


So the next major challenge is to create as many interesting levels as possible. Care must be taken to stop too much repetition of ideas. Challenges need to be fresh and interesting. The level of difficulty is also important. The easiest way to increase the difficulty would be to increase the speed of the lava. While this is certainly something that will be done, environmental and other hazards will be incorporated into the later levels to give them more variety. I will describe the first set of levels in a future post.

0 comments:

Post a Comment