Archive for the ‘projects’ Category

theWB.com

Wednesday, February 18th, 2009

Just writing a short post to tout theWB.com which went live today after a makeover.  My new team and I at Digitalsmiths produced the video players and the clip search tool.  After just cancelling cable, I can’t argue with even better video sites putting out great content.  I’m always a fan of Buffy and Angel which they have plenty of.  Everyone should also definitely check out the short WB shows “Joni and Susanna” and “Children’s Hospital” starring Rob Cordry.  Someday soon I’ll definitely check out “Babylon 5″, but I don’t know if I have enough geek cred yet.

http://www.theWB.com

“PopFly” Reactive Music Game Prototype

Friday, November 28th, 2008

It’s been a busy past month just getting a new job and a new car - I felt like I didn’t have time for anything.  Well, it just the Friday after Thanksgiving today, and I feel like I have all the time in the world this coming weekend, so I’m starting to get excited about my latest pet project.

I’ve been busy early this fall with writing “reactive music games”.  If you read my blog, which you probably don’t, you’d know that I couldn’t shut up about music games all summer.  I even did a little research into the different types.  The reactive game, is where music affects the things that happens in your game environment - but you don’t have to play along to (like Guitar Hero or Rockband).

There’s actually no popular music games I can think of that ARE reactive.  But I like to think of reactive games really…. like an interactive music video.  I even watched a bunch of Spike Jonz videos before I started sketching.  I have 10-15 games to do in the short term, and most are designed to be pretty easy to develop and generic - ESPECIALLY since this summer I’ve been working on min-framework in Flash AS3 that listens to beats in music.

The first game, I’ve done is basically an alpha, and if the music doesn’t load, just hit refresh (sometimes my security sandbox seems to go a little wacky).  I’ve codenamed it “Popfly” in my sketches, cause the balls kinda pop and fly out with the beats.

I’ve tried to pay special attention to things that I’ve noticed I didn’t like in other games.  Specifically, trying to tie visual events to music better.  Balls pop out, and when they reach their peak, its not very tied to music because it’s a split second after the beat.  This is why I put a subtle glow burst at the bottom when the balls do pop out.  I also gave the side gutters some ambient glow - just to have something additional on-screen that’s tied to the music in the game.  I also made some bigger balls pop up when the volume gets high - and it nicely adds a little crazy mosh effect when the music goes crazy.

I can’t wait to get through some more games, and see where this takes me, and hopefully way down the line, do a nice in-depth game with some characters.

But for now - here’s the PopFly game

Bizkidz

Friday, November 28th, 2008

Or should I say….BIZKIDZ.COM!  The last site I worked on at 360KID finally went live (and out of beta even)!  Its been a long time coming, I think we started a year and a couple months ago?  I’ve since moved on and taken a new position at a video search company called Digitalsmiths here in RTP.  The reasons are numerous, though 360KID is still an awesome company, but I just had to move on to new challenges and other people to learn from.

Anyway, where was I?  So BIZKIDZ.COM is a site for kids to go and set up a storefront, and sell actual product from real online retailers.  Lots of retailers in fact, at least like 400 of em last I checked.  The idea was to create a virtual lemonade stand of sorts.  As a child with an account, you’d populate your store with products and decorations, and send links to family and friends.  If they buy anything through the store, the account holder gets commission!

It’s pretty cool - I ended up doing most of the front end.  We got some help from a great contractor - Clint Little, and J2 Interactive did our server side architecture.  What was great was that I got to touch every part of the project - I did 99% of the Flex (sorry Clint, but those initial designs we had you work on, I had to do them over when the client changed their mind, oh well….great job though!), and maybe 5% of the server side stuff, and most of the HTML.  And of course our talented art team at 360KID did some wonderful designs and illustrations.

I got a lot of Flex training on this, how to make a Flex application NOT look like a Flex application - all in all I think it was a job well done - and if I know BIZKIDZ, they’ll be continuing developing their site with 360KID to make it even better than we imagined at the beginning.

bizkidz1.jpg

Physics for Flash AS3

Thursday, September 18th, 2008

I’ve been playing a bunch with physics engines for the last few weeks.  Physics engines basically serve to give your Flash Sprites some mass and body.  Your physics world can update your graphics so they can bounce off each other, bounce off walls, fall to the forces of gravity, and succumb to other forces all in a semi-realistic manner.

My exploration first took me from Papervision3D to WOWEngine.  Papervision3D is, of course, the popular realtime 3D engine for Flash.  It doesn’t have anything to do with phyics - but WOWEngine seems to be the hot dicussion for bringing physics into your 3D world.

WOW works like this….

Imagine a 3D world that you never see.  Yep, thats it.  That’s what the WOW does.  It’s the 3D world that never gets visualized in any way shape or form.  Of course, the 3D world in question has complete information about all objects in the world and how they interact with their surroundings and forces surrounding them.

It’s actually a nice little setup - you get to keep your Papervision3D or regular 2D world separate from your physics world.  So you have 2 different worlds - each operating independently of each other.  The way you tie them together is with a single handler ENTER_FRAME handler where you cycle through all the physics bodies and update your display with the proper x, y, z, or rotational properties.  The 2 worlds make it easy because you could use any 3D engine, 2D engine, or whatever engine you want and glue them together - there’s no dependencies, no skinning, no nothing - so it’s pretty handy, and a quick concept to grasp.  2 worlds - gotcha!

The problem is that the WOWEngine isn’t that great of a physics engine (yet!).  Another unfortunate problem is that its the only Actionscript Physics engine that handles 3D.  So if you use 3D, you’re kind of stuck using this or writing your own.

WOWEngine is based off of another engine called APE (Actionscript Physics Engine).  APE is a 2D physics engine that seems to actually be pretty good.  The problem with WOW, is that it has such potential, and works pretty well, but hasn’t implemented the richer features of APE yet.  The author definitely plans to, it’s on the roadmap, but I’m impatient need it now!

The killer feature that makes a great physics engine in my opinion is Rigid Body Dynamics - which APE has and WOW lacks.  To explain rigid body dynamics a little bit, let me tell you a little bit about my initial experimentation.

My big “hello world” application was basically making a few balls drop from the sky and hit the ground.  I initially tested in 2D, and just ignored the Z axis.  So we’re talking normal Flash Sprites here.  So the balls hit the ground, bounced off of each other, all pretty cool - and what you’d expect from a physics engine.

Next I tried the same thing with squares.  Still cool, but not quite right.  That’s because I still had to treat each square as a generic ball particle.  With no Rigid Body Dynamics - I couldn’t build a little fortress with my cubes!  That’s because without being able to define a polygon or even a cube, whatever graphics you have…..just sort of act like balls and slide off each other.

So that’s the my big problem.  Someday WOW will be awesome, but not yet for my purposes.

Next I checked out Foam.  Foam is a 2D Physics engine for Actionscript 3.  Foam is actually pretty sweet!  I didn’t spend long on it, though.  The reason is that after I experimented with WOW, I didn’t really like how Foam worked.  It seemed to handle Physics well - but it seemed to integrate the graphics and physics world too much for me.  I think I preferred them seperate - especially in a situation where maybe I want to use a different graphics engine.  I didn’t get far into Foam, but it seemed more like that Foam would take over your stage and you’d skin the physical bodies.  Before I went into this physics thing, it’s how I expected things to work - but I just couldn’t dig in after playing with WOW.

So again I moved on…

Finally I hit Box2DAS3.  This is the one I settled on - it has it’s problems, but if you can overcome it, then I do think it’s the best.  Box2DAS3  is a Actionscript 3 port of Box 2D.  Box 2D is an opensource physics package for C++.  In fact, Box2D has evolved to become Bullet - a 3D version of the physics engine.  Hopefully we’ll see Bullet 3D someday soon.

Box2DAS3 supports all the great features a good physics engine should….well OK OK, I’m not an expert - it supports all the great features I *think* a good physics engine should.  It also follows my beloved 2 worlds philosophy that I liked from WOW/APE.  For me it’s perfect….

….well almost perfect.  I think it has one flaw.  The flaw is that it’s a C++ port, and not really specific to Flash.  If I went back in time and warned myself of this, I would’ve been pretty dismissive and said “So what?  Code is code!”.

Well first of all it seems like classes have the bare minimum of comments - so you just kind of get the picture what everything does.  And it’s really not clear what each class or package does - unless you know….um…how to write a physics engine.  So it’s a little bit of a catch-22.  Like a simple body is name b2Body.  To create a body you need to create a shape definition (b2ShapeDef), convert that to a shape, and then convert the shape to a body, and then add the body to the world.  And it seems there’s only one way to add a body to a world, and that’s through a reference to the world, even though when you create a body from scratch, there’s a world parameter - but it doesn’t seem to work.  Well, I’m rambling.  Needless to say it’s confusing for a newbie - and on top of that there are things like manifolds and AABB - all things I don’t understand but there to get in the way and hamper learning.

But, if you study the examples they give you - you start to get a feel for how things work.  And once I did that - I stumbled a little, especially on design patterns - but got things working pretty well.  My design pattern quandry was that the framework was very incompatible with an inheritance based design - it was really going against the grain when I tried to use inheritance in my design.  What you really need to realize, is that a Factory type of design pattern works much better.

I ended up creating a base class like you would in Papervision3D.  The base class extends the stage and creates a common physics world setup as part of that stage.  Your main class would inherit this “physical stage” and contain the main stuff you want to program (hopefully keeping references to b2bodies and b2worlds to minumum, just cause it’s hard to understand!).

On the side - I have a physical object factory static class.  Here’s I’d call createPhysicalBall or something like that, and poof, it’d create me a ball….passing back seperate references for the graphics and the phyiscal body.

So that’s how I roll with the physics.  It adds some great realism to the boring old games.

Visual Ambiance in Music Games

Sunday, September 14th, 2008

So it would appear that visual ambiance in music games can be pretty important.  Take most rhythm games…

Background colors change, flashes appear, etc, all in time to the music in games like Guitar Hero and Rockband.  In PaRappa, characters dance and jerk their bodies in time.  What you end up getting is more music video like.

Rhythm games, those games where you have to tap your fingers, feet, or guitar to the beat as part of gameplay can feel more music video like because you end up “playing” the music to some effect.

Reactive games on the other hand, may have to rely on visual ambiance more.  Reactive games, are more often than not, played like any normal game.  The environment in the game may react to music, but you don’t.  So if you’re not required to react to the music, the music can start to take a back seat to the game play, and it starts feeling less choreographed.

This is why visual ambiance can become more important, and probably should be in your face more in a reactive game.  It would seem that when you don’t control the choreography of the game, other musical visuals need to step up to help out and make the game FEEL musical.

I used the example before of AudioSurf (published by Valve).  I crticized it for not tying the visual to the music as well as it could have.  I can’t criticize it for attempting ambiance to tie the music into the game better, because it does an adequate job of this with colors and background visuals.  However, the environmental reactions to the beats still seem too out of touch with the music, and the ambiance is all it has going for it to make it feel choreographed.

So, the closer you can tie in your reactive environmentals the better.  But like I said, even that might not be enough, as your game starts focusing on the goals of the game - which is why visual ambiance becomes a VERY important silent partner.

Reactive Music Games

Thursday, August 7th, 2008

Well, I’ve been doing some research lately. Back in January I wrote up a a blog post titled “It’s been 10 years since PaRappa - now what?”. I was exploring the mainstream music games. Little did I know that these games are all part of the group known as “Rhythm” games. Of course, many folks know what a rhythm game is, and I do too.

What I DIDN’T know is that Rhythm games are just one of a handful of different types of music games. Rhythm games can include any games that play a soundtrack and must press buttons in time to the game. Examples include “Dance Dance Revolution”, “Guitar Hero”, “Rock Band”, and “PaRappa the Rapper”.

“Pitch” games recognize the pitch of your voice from a microphone, and like Rhythm games, you must keep time with the music, but instead using the pitch of your voice to sing along. “Karaoke Revolution”is one note-able example. “Volume” games include games like “Mad Maestro” and the upcoming “Wii Music”. In these games you can control the volume of the music in the game through various means, thereby influencing the game play.

Next are “Eidetic” music games. These games will play a musical sequence, and it’s up to the player to repeat the sequence back. In this regard, “Simon” is the oldest music game around.

To be short and sweet, I’ll lump “Free Form” and “Generative” music games together. In both of these game types, the player and the elements of the game come together to create a unique sound track. It seems that creativity is more likely in the “Free Form” music game.

The last genre, and the one I’m most interested in, is the “Reactive” genre. Here, a pre-composed soundtrack plays, and in game elements can react to the volume, frequency patterns, and beats in the music. All of these genres, with the exception of the Rhythm game, are hard to come up with examples for.

AudioSurf

That said, there are a handful of Reactive music games that I’m aware of. The first was published in February 2008 and created by an outfit called “Invisible Handlebar” and available from Valve software’s Steam game portal. In this game, called AudioSurf, you move a race car left and right over a racetrack. The goal is to collect blocks that appear on the road, and stack them in groups of 3 to get points. You load in your own MP3, and the background environment animates in time with the music. The track itself dips and rises in time with the music as well. Supposedly, the blocks you collect also appear in time with the music as well - however they appear on the road far in advance and far in the distance of when you collect them. As a result the gameplay doesn’t really feel in synch with the soundtrack. It’s only if you really pay attention to your surroundings, and not to the game play to really get that connection. For example, a hip-hop track by “Jurassic 5″ is a little more bouncy than a rock track by “Living Colour”, but it can get hard to tell in gameplay the difference between the songs.

There are a few Adobe Flash examples of this like “Rhythm Night”, but the game play isn’t all that great. Most of the Flash examples to date are either Rhythm games, Eidetic, or just general music lesson games.

Pteranodon

Fortunately there is an excellent example to draw from - and that’s “Pteranodon” by an independent game developer from Sweden known as Nifflas. His name is Nicklas Nygren, and “Pteranodon” is a classic side-scrolling space shoot-em up game. The twist of course, is that the enemies appear on screen and fire at your in time with the music. Its a pretty simple game by today’s standards - though the connection between what’s on screen and the timing of the music makes me giddy. Apparently he composes his own music, so it’s no surprise that “Pteranodon” just features one track, but one can just imagine where you can go from there.

A Codie Award to add to my resume!

Monday, May 26th, 2008

The 2008 Codie Awards have been announced.  Little did I know that a project I played a major part in was at least nominated for a couple Codies, we actually WON the award for “Best Instructional Solution for Students at Home”.  Pretty nifty, and its just the latest in a series of awards for the Pokemon Learning League.

So far the awards have been the Codie, a 2007 Outstanding Products Award from iParenting, a 2007 Best Educational Software Award, and we were a finalist for Distinguished Achievement from the Association of Educational Publishers.

I won’t go into the “making of” in the least, cause you know, it’s safe to assume that most clients don’t appreciate any ups and downs of working with them made available in a public forum.  But…..pretty nifty anyway right?

The project is:
http://www.pokemonlearningleague.com/

And of course, yes I played a good part in it, but there were plenty more people involved at the company I work for 360KID.

Blogged with the Flock Browser

Budget Hero

Tuesday, May 20th, 2008

We just launched a new application at 360KID!  I wish I could say I did all of it, or even most of it, but I did step in to help a lot during the final stages - just so I can say I took all the credit from the project’s real programmer Clint Little.  I have a few Flex projects under my belt now, and they all look fantastic compared to most of the ones I’ve seen out there.  This one is no exception thanks to the great animation and illustration my company does.  I look forward to launching more and more Flex applications that have a fun look and feel.  We’re so close to launching our other projects, I’d love to show them since I was the main developer - but this one is another one to be proud of regardless of who did it.

This game called Budget Hero was developed for American Public Media, and allows you to play cards to adjust the federal budget and see if you can balance it.   Also allowing you to earn badges, you can see if you’re also doing your part to maintain the military, health care, etc.  It’s up to you to make sure the stuff you think is important doesn’t wither away and STILL maintain the budget.

Click to Play Budget Hero

The Chuckles!

Tuesday, May 20th, 2008

Still waiting on the final video, but this is part of my March Madness of projects. My year has been insane so far with way to much work. Like an idiot, when my friend Jason Burke asked if I could help out with a series of 30 or so illustrations to be finished in less than a month, I said yes!

But, it was fun. I hadn’t done illustration work in a while, and had just discovered the gradient mesh tool in Illustrator. The tool allowed me to make some cartoonish, yet 3D like drawings. Yes, I’m a perfectionist, so some didn’t come out as good as I’d like, but I’m happy with it overall.

First, I’ll show the one that creeped out my wife the most. This is the forced child clothing labor camp:

On the next drawing I learned to use the pattern brush in Illustrator a little better than my previous attempts at it.  It was incredibly useful for painting the leaves on in various configurations, and the grass as well.  And there’s tons more - but lots were small, here’s the rest I put in my portfolio:

Thats it!  I haven’t blogged since February, but I do have more projects coming down the line - they just need to launch.  I have worked hard this year, it’ll be nice when I have something to show for it.

It’s been 10 years since PaRappa - now what?

Friday, January 4th, 2008

In the US at least, it’s been a whole decade since PaRappa the Rapper came out for the Playstation One. It’s described as one of the first rhythm video games. Japanese creator Masaya Matsuura gave a microphone to a rapping dog, and it was a hit! It inspired a sequel on the Playstation 2, and a spinoff on the Playstation One, where instead of rapping, rockstar UmJammer Lammy strummed a guitar.

Pa Rappa the Rapper and UmJammer Lammy

PaRappa the RapperUmJammer Lammy

Rhythm games work by making the player, basically, press buttons to a beat. I’m sure you all know this…you’ve probably all played Dance Dance Revolution or Guitar Hero. In fact it seems that the only innovation to come along since PaRappa has been to trade your thumbs for your legs, or a guitar.

Dance Dance Revolution was released in the Japanese arcades in 1998, came to American arcades in 2000, and was finally released by Konami for the Playstation in 2001. DDR, as it’s affectionately called, has spawned countless sequels and spinoffs featuring new music and characters. Like PaRappa, DDR players pushed buttons in time to the music. Only, instead of using a normal videogame controller, players used a gigantic gamepad and pushed the buttons with their feet by dancing.

Dance Dance Revolution, Guitar Hero, Karaoke Revolution, Donkey Konga, and Rock Band

Dance Dance RevolutionGuitar HeroKaraoke RevolutionDonkey KongaRock Band

Next in 2003 came Karaoke Revolution. Karaoke does a bit more than judge your rhythm, it also judges the pitch of your voice through an included microphone.

Karaoke Revolution was promptly followed in the US by Donkey Konga and Taiko Drum Master somewhere between 2004/2006. These games included drums to beat in time with the game’s soundtrack.

In 2005, along came Guitar Hero. Guitar Hero, again lets players push buttons in time to the music, but this time the buttons were on a custom guitar game controller.

And, just this past December, of course, Rock Band was released for XBox and Playstation. Rock Band combined the guitars, drums, and microphone to let a group of people play a song together.

Amidst the sequels and spinoffs, there’s been some creative attempts to stand out from the norm. Elite Beat Agents for the Nintendo DS allowed the player to tap out rhythms all over their screen. Bust A Move allowed players to build up their sequences to fight their opponents. Vib Ribbon looked the craziest, and allowed the user to load their own songs in to play with the game.

Elite Beat Agents and Vib Ribbon

Elite Beat AgentsVib Ribbon

So…in summary:

  1. 1997 - PaRappa the Rapper - first mainstream rhythm game
  2. 1998 - Dance Dance Revolution - play the same rhythm game, but with your feet
  3. 2003 - Karaoke Revolution - play the same rhythm game, but with your voice (OK, I admit pitch detection is pretty cool)
  4. 2005? - Donkey Konga - play the same rhythm game, but with a pair of drums
  5. 2005 - Guitar Hero - play the same rhythm game, but with a guitar controller
  6. 2007 -Rock Band - Seeing a pattern?

I’m not bashing any of these games. Least of all Guitar Hero or PaRappa. Heck, I even loved PaRappa the Rapper 2, and UmJammer Lammy. Unfortunately, all of these games have the same tired gameplay that nobody has revamped in 10 years, no matter what cool hardware controller you stick in front of it. Button icons slid across the screen. When the button arrives at its destination, you’re supposed to hit the corresponding button on whatever controller you have. It’s kinda boring when you put it like that.

PaRappa added a weird, fun story line, and wacky songs, and it was a hit. DDR, Guitar Hero, and Rock Band added hardware and suddenly you’re doing more than playing a video game. What happens when you master all the songs? It’s not really fun anymore. I beat PaRappa the Rapper 2 in 30 minutes, and it wasn’t fun anymore. Guitar Hero was just ridiculously difficult towards the end, and just got a little frustrating.

All in all though, they were fun. But again, same old tired gameplay. So it’s been 10 years since PaRappa. Now what?