Welcome, DIG Conference-goers!

Hello, if you’re reading this, you’re already on your way to having an ambitious new member to your elite team of game developers. I have put together some demonstrations to show my technical skill and abilities. Though most of my focus has been on Flash and Stage3D in the past, I have very recently (beginning October 2012) started to branch into development that doesn’t depend on proprietary software, such as HTML5/Javascript/Canvas2d/WebGL and mobile development on Android.

Some of my strengths include:

  • I’m a fast learner. An example of this was the fact I was able to write an example for using Stage3D the day it came out, without any documentation or sample code
  • I keep track of new and changing technologies. I have been using WebGL ever since it was an experimental technology, and I’ve kept track of every update Facebook has done with their SDK (and try out new features as they come out)
  • I have sufficient knowledge of graphics programming with both fixed-function and programmable GPUs

Some projects I’ve worked on:

FlashCraft This was written from scratch over a weekend with my friend GereBear.
Speets3D A 3D engine that supports normal mapping and shadow mapping using Stage3D
Realtime 2D Shadow Casting This is a demo I’m proud of, as it took me a week to get it from 0.06 FPS to over 60 FPS, a 100x improvement
Fast Bloom in Flash Because this effect isn’t overused enough yet ;)

Flash 11.3 Beta now available from Adobe Labs

If you know me, you know I like to stay on top of Flash news. And this, my friends is Flash news. Flash Player 11.3 beta has just been released from Adobe Labs with a plethora (oh I love that word) of features! Of course, the first thing I checked was to see if the loadPCMFromByteArray bug (around for a few versions now) has been fixed and… No! It’s still broken! Boo! However, there’s a something we’ve all been waiting for… FULL SCREEN KEYBOARD INPUT!!! Yes, that’s right, you can now use WASD around fullscreen in your Stage3D games!
Continue reading

2D Shadow Projection demo

How I did my 2D shadow rendering with Stage3D (Tutorial)

Introduction

Last year, I wrote a demo for Stage3D demonstrating the new powerful hardware acceleration capabilities of Flash Player 11. One of these demos showed how you could augment your existing Flash games with new graphics capabilities such as shadowing. I called it the Flash Stage3D/Molehill 2D lighting demo. A thing to note about it is that there are multiple light sources, and each light needs 2 draw calls to render. One to stencil out the areas that need light, and a second pass to actually render the light. After that, the light buffer is then multiplied on top of the scene. It’s important to know that (as far as I know) this technique will only work in 2D.
Continue reading

Flash 11.2 Beta available

Flash 11.2 is now available from Adobe labs, and introduces a bunch of new features, some of which finally allow a first-person shooter to be properly made with Stage3D.

  • Middle and right click listeners
  • Mouse lock and relative mouse coordinates
  • Relaxed driver gating to 2008 (from 2009)

That last point is exciting to me because this will allow many more people to enjoy hardware-accelerated games in Flash.

Flash 11 RC1 Released

It looks like the release of Flash 11 is coming ever nearer. It is now out of beta and now in release candidate, with a version of 11.0.r1.129, meaning that if this release is found to not have any breaking bugs, it could be the release version. Of course, Adobe has not committed to a date yet, but this news is hinting that they’re almost ready.

Download Flash 11 RC1

AGALMiniAssembler, meet AGALMacroAssembler

I was just casually browsing com.adobe.utils when I came across AGALMacroAssembler. I’ve found it allows you to write much nicer looking code, faster. I’ve made a few macros for you based on Ben Whiting’s AGAL Helper.

macro lerp(x, y, a){
out = y - x;
out *= a;
out += x;
}

macro length(x){
dp3 out, x, x;
sqt x, x;
}

macro reflect(i, n){
dp3 out.w, i.xyz, n.xyz;
out.w += out.w;
out.xyz = i.xyz * n.xyz;
out.xyz = i.xyz - out.xyz;
out.xyz = -out.xyz;
}

There’s also a few other things this release brings to AGAL. One of my favourites is aliases. You can now alias registers, making your code that much more readable. Example:
alias va0, position;
alias va1, normal;
alias v0, texcoord;

One other thing I really like is the new tex<>() function.
color = tex<2d,linear,mipnone>(texcoord, texture);

There’s several other new features, but it’s up to you to figure them out. So what are you waiting for? Give AGALMacroAssembler a try!

New Stage3D/Molehill Game Project

I have been working on a new game demo using Molehill/Stage3D entirely for graphics. I want to try to use some new shader effects to bring new graphical effects to 2D games. Why not 3D, you ask? Well, mostly cause I’m inexperienced in the area thus far. I’ve used Pixel Bender in the past to make some cool graphical effects, but couldn’t do much because it was so slow. However, Stage3D has changed all that, bringing superpowered GPU effects to the Flash realm. It’ll take some time to catch on, but when the next framework using Stage3D catches on, you’re going to see some serious shit.

Anyways, some screenshots from my new demo: