Prototype of a Flash game like Poux

November 17th update: part 2 released
November 22nd update: part 3 released
November 28th update: Finished project released

Ok, I know, you are asking for full tutorials and not prototypes, but you have to know that a prototype is the first step to a tutorial and some of you realized nice games starting from prototypes or “incomplete” tutorials.

Anyway, I promise I’ll continue all “open” tutorials.

Today I am introducing you the prototype of a Flash game like Poux

Poux

Poux is a fast and challenging board game you have to click on contiguous same colored tiles to remove them.

Time is running fast and adds a new line of tiles at the bottom. Bombs can eliminate a whole line of tiles. Use them wisely.

You can play a nice version of Poux at LightForce.

In this prototype I have only an object linked as “tile” that contains all tiles, one per frame.

In the first and only frame of the main stage, the code is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// declaration of the array that will contain the game
field = Array();
// number of frames to pass before inserting a new row
interval = 50;
// tiles placed so far
tiles_placed = 0;
// loop that initializes the field
for (x=0; x<10; x++) {
	field[x] = Array();
	for (y=0; y<10; y++) {
		field[x][y] = 0;
	}
}
// function that places a line of tiles in the bottom of the field
function place_line() {
	for (x=0; x<10; x++) {
		tiles_placed++;
		// if the spot is not empty, must shift the colum
		if (field[x][0] != 0) {
			push_blocks(x);
		}
		tile = attachMovie("tile", "tile_"+tiles_placed, tiles_placed, {_x:10+32*x, _y:300});
		num = Math.floor(Math.random()*8)+1;
		tile.gotoAndStop(num);
		field[x][0] = tiles_placed;
	}
}
// function to be executed at every frame
_root.onEnterFrame = function() {
	interval--;
	if (interval == 0) {
		interval = 50;
		place_line();
	}
};
// function that shifts the column of blocks
function push_blocks(col_number) {
	for (i=9; i>=0; i--) {
		if (field[col_number][i] != 0) {
			if (i != 9) {
				field[col_number][i+1] = field[col_number][i];
				_root["tile_"+field[col_number][i]]._y -= 32;
			} else {
				// if I have more than 10 blocks in a column, remove the 10th block
				// In a normal game, it would be "game over"
				_root["tile_"+field[col_number][i]].removeMovieClip();
			}
		}
	}
}

… and in only 50 lines (comments and brackets included) we have the field populating with a new row of tiles every 50 frames.

I will complete the game very soon. Or maybe one of you will have a clue and complete the game for me. I will be happy to host his tutorial.

This is the source code… then move to part 2.

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4.50 out of 5)
Loading ... Loading ...
Flash Templates provided by Template Monster are pre-made web design products developed using Flash technology.
They can be easily customized to meet the unique requirements of your project.
Be my fan on Facebook and follow me on Twitter! Exclusive content for my Facebook fans and Twitter followers

This post has 16 comments

  1. Teal

    on November 16, 2007 at 2:25 am

    Interesting to watch, but it doesn’t do anything yet. Can’t wait for the follow up though!

  2. CGR

    on November 16, 2007 at 3:40 am

    What I can say? Colored:P

  3. Thomas

    on November 16, 2007 at 5:21 am

    I think that that may be useful for preloaders, ya know, to give them something to look at?

    Like a screensaver!

  4. stevie

    on November 16, 2007 at 12:53 pm

    How do you make a reset button?

  5. shiv1411

    on November 16, 2007 at 1:17 pm

    hi emanuele,
    whats up?
    Great tutorial and I even played poux.
    Your prototype idea is great like you, and I appreciate it.
    Anyways, I completed my first ever complete game in flash actionscript and its a funny 7 level game. I want to submit this game to you before submitting it to mochiads.

    Can you spare little time for my first attempt?

  6. shiv1411

    on November 16, 2007 at 1:31 pm

    hOw Do I eMaIl EmAnUeLe FeRoNato?

  7. Emanuele Feronato

    on November 16, 2007 at 1:42 pm

    Send me your game at info@emanueleferonato.com

  8. shiv1411

    on November 16, 2007 at 2:18 pm

    thanks emanuele!
    anyways when i tried to submit my game to mochiads, following all their instructions, they said that they did not got a “ping” from my game and i did not see any development after that.

    Whats the fuss?

  9. Emanuele Feronato

    on November 16, 2007 at 7:02 pm

    Probably Mochi server does not “see” your game.

    Do you see Mochi ads when you run your game?

  10. s0d4player

    on November 16, 2007 at 11:22 pm

    LOL!! I love your new header.

  11. Prototype of a Flash game like Poux - Part 2 : Emanuele Feronato - italian geek and PROgrammer

    on November 17, 2007 at 2:52 am

    [...] this is the quickest prototype update ever. Yesterday I came with the Prototype of a Flash game like Poux, a bit incomplete because you could merely watch tiles [...]

  12. shiv1411

    on November 17, 2007 at 7:38 am

    I see a Mochi loading bar but not their logos.
    That bar does not even fill even half and the game begins.
    WhAt ShOuLd Be DoNe?

  13. Prototype of a Flash game like Poux - Part 3 : Emanuele Feronato - italian geek and PROgrammer

    on November 22, 2007 at 1:55 am

    [...] update of the prototype. Remember to read part 1 and [...]

  14. noobflashie

    on November 24, 2007 at 7:33 pm

    Whenever I try to open your source codes, I get an “Unexpected File Format” message. This is probably because I’m using MX 2004, but I need to know something, how large are your tiles(does it matter?) and how many different ones are there(I counted seven, but does this matter)?

  15. noobflashie

    on November 24, 2007 at 7:36 pm

    never mind, i got both questions figured on my own

  16. eshbeast

    on December 7, 2008 at 12:26 pm

    Emanuel,

    I know this sounds like a stupid question, but here goes: In this prototype I have only an object linked as “tile” that contains all tiles, one per frame.

    That is what you wrote? How can I make all the tiles on one from come togehter? Please email me or reply in detail, I’m lost at that first part.