Archive for the ‘flash’ Category

The Deepening – Select Your Own Adventure Edition

Tuesday, September 22nd, 2009

Screen shot 2009-09-22 at 15.26.51 PM

I’m very pleased to announce that one of my latest projects has just gone live. The Deepening – Select Your Own Adventure Edition has just gone up on Atom Films. Go give it a look, it’s hilarious.

The video is a Good Cop / Bad Cop action show where you get to choose what happens next. It was created by the brilliant Duncan Brothers who asked me to help build the Flash portion of it. Enjoy!

deepening.atom.com

IGDA creates Flash in Games special interest group

Thursday, April 23rd, 2009

igdaflashsiglogo

The International Game Developers Association (IGDA) has recently formed a new special interest group for Flash games and Flash in the gaming industry. This promises to be a great resource for aspiring Flash game creators. Check out their Wiki and user groups if you’re interested in the subject.

Iron Flash Competition LA 2009

Thursday, April 16th, 2009

ironchef

Last night, I participated in the Iron Flash competition at the LA Flash Users Group in Venice Beach. As in Iron Chef (my favourite television show), the participants are all skilled Flash users pitted against one another with the goal of creating something interesting within a strict time limit and featuring a common “ingredient”. In this case, the ingredient was a set of pictures of ‘pucks’, specifically, R. Blank’s dog Puck, Puck the faun, Puck from the Real World, and a hockey Puck. We had 3 hours to make something out of any or all of the pictures. My fellow competitors were Jon Ruppel of Hooky Interactive and Ben McMaster (also at Hooky) who both made some awesome stuff in such a short time. UPDATE: All of the entries have been posted on the LAFlash site.

It was a great experience, and not just because OMG I WON!!!

My entry was a video game featuring Puck the dog. I was considering other physics based games involving the hockey puck and the dog somehow. Then I thought of using the dog instead of the hockey puck and somehow that reminded me of the sport beloved in Canada, Curling! The scoring system is a little wonky but if I may say so, it’s not bad for 3 hours work. Here are screenshots (click to link to the game) along with the source code:

Download the source code

puckcurling-title

puckcurling-gameplay

Balloono: Based on a True Story!

Tuesday, December 23rd, 2008

Balloono

Check out the latest ridiculous multiplayer chaos unleashed by those crazy, crazy test tube babies at IILWY, Balloono! I developed this game, but it wouldn’t exist without the awesome assistance of EJ, Ken, Daniel, and Charles. For taking it the last mile (or five) and adding lots of great art and polish, THANKS! Great work you guys! Oh yeah, and you’re cool too, Mark.

Keep coming back, ’cause I’m sure IILWY will be adding more levels and other bonus monkey jams! And hey, if you like the game, it couldn’t hurt to vote for it on Newgrounds, right?

Double Dissapointment

Friday, August 22nd, 2008

ECMA script 4 (or 3.1) and OpenGL 3.

I may be in the (rare?) position of being highly interested in two disparate technologies. The first being an online scripting language standard governed by ECMA (used in Javascript & Actionscript). The second, an open standard for real-time rendering governed by the Khronos Group (OpenGL). In recent days these two languages have faced most unfortunate developments. First the ECMA script 4…

On Nov 7, 2006 Adobe announced the contribution of their ECMA scripting engine to the open source community under the name “Tamarin”. Tamarin is also being used as the JS scripting engine for Mozilla Firefox under the name “SpiderMonkey“. It seemed like a good idea at the time of release. But now look at the situation: we have AVM2, directly connected to Firefox AND the ECMA committee –slowing the progress of Actionscript and the Flash Player (and the internet for that matter). Needless to say, this is a disappointment. But it doesn’t end there…

Though having plenty of contributors, the realm of real-time rendering is primarily controlled by Microsoft, Nvida, ATI/AMD, Apple, and (more recently) Intel. Microsoft hasn’t really contributed to the Khronos Group because long ago they decided to pursue their own 3D graphics rendering API known as Direct3D. The evolution of OpenGL has become painfully slow while DirectX and Direct3D are becoming the (de-facto) standard. Finally, the Khronos group promised to improve the long lost API by introducing an object-oriented structure in stark contrast to its current state machine model. That was in October 2007. Last week the specification was finally unveiled and it remains largely the same. Not only is this a big let down, but it will definitely damage all future 3D software and game development releases for non-Windows platforms (including future consoles). Very unfortunate.

DISCLAIMER: Both of these developments are FAR more complex than what this post outlines -and there’s justification behind both developments. But on the whole, they both seem bad for everybody (or just me?).

Tweening timeline animations with KitchenSync

Tuesday, July 8th, 2008

One of the new features in KitchenSync 1.5 is the ability to tween animations on a MovieClip’s timeline… and I’m not just talking about gotoAndPlay(), I’m talking about controlling the starting and stopping points, speed, and easing functions of an animation on the timeline with code. It does this by incrementally controlling the current frame number of the MovieClip using a KSTween and a special ITweenTarget (a class used to control the values of an object) called TimelineController.

Take this FLA animation.

MovieClip animation

As you can see, there is a simple animation using a guide layer and labels on the key frames.

The following SWF uses KitchenSync to control the same ball animation. As you can see, the duration and easing functions of the animation can be controlled. You can even animate backwards!

See it in action.

The source that controls this is here.

?View Code ACTIONSCRIPT3
package {
	import flash.display.MovieClip;
 
	import org.as3lib.kitchensync.KitchenSync;
	import org.as3lib.kitchensync.action.*;
	import org.as3lib.kitchensync.action.tweentarget.*;
	import org.as3lib.kitchensync.easing.Bounce;
	import org.as3lib.kitchensync.easing.Cubic;
	import org.as3lib.kitchensync.easing.Linear;
	import org.as3lib.kitchensync.easing.Oscillate;
 
	/**
	*	Demos the TimelineController which controls the animation of a MovieClip's timeline.
	*/
	public class FlashIntegrationTest extends MovieClip
	{
		protected var test1:MovieClip;
 
		public function FlashIntegrationTest()
		{
			super();
			// initialize kitchensync.
			KitchenSync.initialize(this, "1.5");
 
			// add a movieclip from the library
			test1 = MovieClip(new AnimationTest1());
			addChild(test1);
 
			// define the start and end frame with strings or ints or FrameLabel's
			var startLabel:* = "start";
			var endLabel:* = "end";
 
			// set up the TimelineController tween target.
			var tweenTarget:TimelineController = new TimelineController(test1, startLabel, endLabel);
			// Animate the ball with a linear ease.
			var tween:KSTween = KSTween.newWithTweenTarget(tweenTarget, "1s", 0, Linear.ease);
 
			// animate the ball backwards with a bounce tween
			var tween2:KSTween = tween.cloneReversed();
			tween2.duration = "4s";
			tween2.easingFunction = Bounce.easeOut;
			tween2.addTrigger(tween);
 
			// animate the ball with an oscillator
			var tween3:KSTween = KSTween.newWithTweenTarget(tweenTarget, "10m", "1s", Oscillate.sine);
			tween3.easingMod1 = 0.3;
			tween3.addTrigger(tween2);
 
			// start the animations
			tween.start();
		}
 
	}
}

Pretty cool huh? We’re creating a new TimelineController and setting the boundaries of the animation then passing it to a new KSTween object. Each of the three tweens use different parameters and are triggered by the end of the one before it.

You can download the entire thing and play around with it.