# Blitz 7 Extending The Game

Blitz Home | 1 | 2 | 3 | 4 | 5 | 6 | 7

## Test & Tidy Up

The graphics, sounds and game plot need reworking. When you have played the game a few times, you will see the odd glitch. You have to wait a long time if you drop a bomb outside of the room. The best solution would be to prevent this from being possible by adding actions to the plane object.

## Extra Levels

Adding extra levels is the most obvious way to extend the game. When doing so, think about how to make the difficulty progress at an appropriate rate. Work out what heights of tower and arrangement make the game more challenging. Strike a balance between challenge and reward in the early levels and crank things up just as the player is getting used to the game.

## New Features

Develop a new feature for the game. Perhaps there should be things that you shouldn't hit - eg trees. There could be a green space in the city that makes you lose points if you hit it. Or how about some power-ups? You could invent a way for the player to earn a bonus bomb that destroys more of the buildings.

You could monkey around with some of the basic game variables as the game progresses, the plane can move faster or slower. You could make it turn back the other way half way through the level or let the player earn a power-up that puts the plane up a bit. You could add the odd bit of turbulence and make the place a bit shaky.

## Random Levels

The following is a script written in Game Maker Language (GML) to create a random arrangement of buildings. It is added to the Creation Code section of the room itself.

By changing the number 3 in the highlighted sections, you can make the pile of buildings taller or smaller overall.

```randomize() // array of building layouts for (i=0;i<=15;i+=1) { a[i] = 3 } //decide which layout to use for (i=0;i<20;i+=1) { x = floor(random(16)) y = floor(random(16)) if (a[x]>1 && a[x]<6) { if (a[y]>1 && a[y]<6) { a[x] -=1 a[y] +=1 } } } //draw the buildings using layout for (i=0;i<=15;i+=1) { //draw the lower sections for (j=0;j<a[i];j+=1) { instance_create(64+(i*32),448-(j*32),obj_building) } //end lower section for //add top of building instance_create(64+(i*32),448-(a[i]*32),obj_building_top) }//end column for```

This script starts by creating an array of 16 elements all made equal to 3. It then finds a pair of elements from the array and, providing the numbers are between 1 and 6, takes one from one of the numbers and adds it to the other. The lower section of the buildings are drawn and the tops put on them.

GML is not particularly different to ActionScript or JavaScript. If you have done a fair amount of programming in any language, you have a good chance of finding GML quite easy to work with.

⇐ Previous