New game – PuzzBox

I’ve finally got all the contract details sorted with one of my new games – PuzzBox, a stylish little Simon-esque puzzle game – sponsored by the guys over at BubbleDevil.

It’s a basic “copy the number pattern as it gets longer” memory puzzle game – but I’ve jazzed it up with some PV3D, particle effects and some displacement maps which give a nice glitchy effect.

Give it a play and let me know what you think.


Pulling the Trigger to Purchase: Insights on Marketing to Avid Gamers

One of the Flash and web design blogs I keep up to date with is the awesome Blitz Labs. Blitz is a really cool agency from LA, who have done some cutting edge work and have one of the best “About Us” videos I’ve seen.

They’ve recently put together a whitepaper on marketing video games which makes really interesting reading, and is crammed with lovely game themed infographics.

What influences avid gamers to pull the trigger to purchase? At BLITZ, we’re not just into producing innovative, breakthrough creative, we’re also keen on the insights that drive strategy and help generate ideas. Given all our work within the video game vertical, we took it upon ourselves to facilitate our own research study on the purchasing influencers of avid gamers, which includes both quantitative data (from a set of 1000 respondents) and qualitative data (from smaller, more intimate focus groups), Compete.com research and our strategic planners.

The study touches on traditional, digital, mobile and social media, and provides deep insights into this highly sought-after demographic-much of which we found to be surprising.

It’s more tailored to the core games market than the casual, but most of the points are eqally applicable to marketing your latest Flash / Indie PC / iPhone game.

Register at Blitz Labs to download the whitepaper.

On an unrelated note, although it seems ironic to do so on a Flash development blog, given all the conflict – I’ve added an iPhone plugin so the site should be quicker and easier to use on the go.

New games and games page.

I’ve just finished work on revamping an old flash experiment of mine, into a nice little puzzle game, and also, a brand new game!

Word Shoot!

Blast through the sea of soaring letters in this space based action packed word game.

wordshootbanner

Rules –

Click the letters flying through space, to make words. The longer and more difficult the word, the more points you’ll pick up. It’s not easy though. The letters swim and spin in the direction in which you move your mouse. So move toward a letter and it will dash away. It’s all about carefully moving in the opposite direction, and then pouncing at the right moment.

Once you’ve wrangled your word, hit space to explode the letters, clearing your way through space. You’ll have to be quick though, keep the amount of letters under 150 otherwise it’s goodbye galaxy.

You’ll need magnificent mouse control, a marvelous memory and a mind for anagrams to battle through this lexicon lark.

Right click for sound and quality settings.

Blockade!

Navigate the numbered blocks in this innovative, intriguing and original puzzle game – as simple and addicting as Sudoku!

playBlockade

Rules –

In Blockade you must navigate the field of blocks, surviving as long as possible.
Each block has a number, governing where you may move next. You may only move to blocks whose numbers are higher than, the same as or exactly half your current block’s value.
If you are on block 9 however, you can move to a block 1, to start over. You lose the game when you can no longer move!
This is a fun, thoughtful puzzle game, with surprising depth!

I was lucky enough to get a great review from Jeff over at 8 Bit Rocket, and get added to Mochimedia’s list of featured games! Sweet!

I’ve also added in a games page to the top header, to house a few of the games I’ve worked on over the last few years.

50 red Retrospective – and AS3 source code

A few months ago, I looked back at my best performing flash games – the aptly named “Super Letter Game“, and showed how a similar control scheme can be coded in AS3.

Today I’m going to look back over another of my AS2 games, which was reasonablly successful – 50 Red.


50Red

Interactive artwork meets frantic clicking game in this all new sensory overloading game – 50 Red! Click 50 red balls as fast as possible whilst avoiding the blue balls for a place on the high scores table. WARNING – FLASHING IMAGES!

You can play 50 Red here.

50 Red was a fun project to work on, but maybe not the ideal basis for a game. It was based heavily on a university project I completed for a generative arts class – and so I think the “game” element feels a little tacked on. None-the-less, 50 Red has gone on to have around half a million plays, and used some interesting flash techniques.

I’ve rewritten the basic functions of 50 red in AS3, which you can see in the demo below. There a couple of key variables in there which are randomised when the game loads – so it should appear differently each time you load it.

Here’s the SWF we’re going to be producing –

[kml_flashembed publishmethod=”static” fversion=”9.0.0″ movie=”flash-content/50redas3/50RedBlog.swf” width=”450″ height=”450″ targetclass=”flashmovie”]

Get Adobe Flash player

[/kml_flashembed]

And here’s the code that produces it –

/// - Variables - ///
var randomRotationSetting:int = Math.round(Math.random()*100);
var scaleDivider:int 		  = Math.round(Math.random()*10000);
var scoreVar:int 			  = 0;
/// - Constructor - ///
//Make 250 balls -
for (var i:int =0; i<250; i++) {
	var h:MovieClip = new MovieClip();
	//if we're on an even number -
	if (i%2) {
		//Make it red
		h.graphics.beginFill( 0xFFFF0000, 1);
		//And add a listener to call the clickRed function when it is clicked.
		h.addEventListener(MouseEvent.MOUSE_DOWN, clickRed);
	} else {
		//Otherwise make it blue
		h.graphics.beginFill( 0xFF0000FF, 1);
		//And add the clickBlue function instead.
		h.addEventListener(MouseEvent.MOUSE_DOWN, clickBlue);
	}
	//Setting the button mode to true makes flash use the hand icon
	h.buttonMode = true;
	//Draw a circle, at position x:0,y:-50,with a radius of 10.
	h.graphics.drawCircle(0,-50,10);
	//And center it on stage
	h.x = stage.stageWidth/2;
	h.y = stage.stageHeight/2;
	//And set it's number to i - the step through the for loop.
	h.myNum= i;
	//Set the ball's rotation -
	h.rotation = i*randomRotationSetting;
	//Set the ball's scale -
	h.scaleY = h.scaleX= (i*i)/scaleDivider;//i/100;
	//Add an event listener to update the ball's position every frame -
	h.addEventListener(Event.ENTER_FRAME, updatePosition);
	addChild(h);
}
/// - Updater - ///
function updatePosition(e:Event):void {
	//Rotate the current ball by an amount calculated from it's number -
	e.currentTarget.rotation+=(Math.PI*(e.currentTarget.myNum/2))/50;
}
/// - Click Handlers - ///
//These are called when the balls are clicked -
function clickRed(e:Event):void {
	//Make a reference to the current ball
	var ball = e.currentTarget;
	//Remove the listeners from the ball before we destroy it -
	ball.removeEventListener(Event.ENTER_FRAME, updatePosition);
	ball.removeEventListener(MouseEvent.MOUSE_DOWN, clickRed);
	//Remove the ball from the display list.
	ball.parent.removeChild(ball);
	trace("Win a point!");
	//Add a point to the score variable
	scoreVar+=1;
	//Call the update score function
	updateScore();
}
function clickBlue(e:Event):void {
	//As with the above function - except we are removing the clickBlue listener
	//and subtracting a point
	var ball = e.currentTarget;
	ball.removeEventListener(Event.ENTER_FRAME, updatePosition);
	ball.removeEventListener(MouseEvent.MOUSE_DOWN, clickBlue);
	ball.parent.removeChild(ball);
	trace("Lose a point!");
	scoreVar-=1;
	updateScore();
}
/// - Scores text box - ///
//Create a new text field on the stage
var tf:TextField = new TextField();
tf.width = stage.stageWidth
addChild(tf);
//Set the initial text -
tf.text = "Clicking a red ball adds one point, clicking a blue ball loses one. Can you get 10 points?";
//This is called to update the scores text
function updateScore():void {
	//If your score is higher than 10 - you win the game!
	if (scoreVar>10) {
		tf.text = "You have won the game!";
	}
	else{
		tf.text = "Score - "+scoreVar;
	}
}
//That's it!

This week, I’ve also been digging deeper into the very cool Wonderfl, an online Flash compiler. Now you can code AS3 flash files straight from your web browser! I’ll hopefully be doing a full post about it soon, but for thew time being, why not have a look at this tutorial code on wonderfl. I’ve added in some nice alpha transparency, changing colours and even some 3D rotation thanks to Flah Player 10.


50RedWonderfl

Let me know if you use this code for anything, as I’d love to see it.
Have fun.
Lawrie.

Great new flash game – Push

Okay, well I assume everyone who reads this blog probably also reads Jay Is Games – and if you don’t, you really should. It’s a great place to find out about the latest and greatest (often flash) games. I try to check out all the flash games they review and was really impressed with one recently, a new game from Ian Snyder called Push.

As the review on JIG points out, the game has a steep learning curve and unforgiving collision detection – but I was still really impressed with the game mechanic and quality. I’ll let you figure it out for yourself, but it is a really nice twist on your standard platform / puzzle game. Great job Ian.

push

Play Push here.