Friday, May 16, 2008

Online TV/Radio making Serious Headway

I want to take a minute and share the love I have for Hulu and Pandora. I realize neither are new on the scene and I realize that they both have some very strong competitors doing similar things; however, these are the two I use and therefore will focus on them as my examples. I see the future of internet TV and internet Radio causing serious problems for both TV and Radio as we know it. No longer are we going to wait for a radio station to play something we like while we drive, we will be able to pick what we listen to. And no longer are we going to have to rely on TV schedules or even TiVo for that matter, we will just be able to watch what we want, when we want to.

Lets start with radio. Pandora at its core is an online radio station. The cool thing about it though is how it is setup. Lets say you like the band "Strokes" (yeah, me too)... all you do is add a Station for that band and Pandora will play music from the Strokes AND music that it thinks is similar to the Strokes, so maybe the Killers might come up. If you don't like what it plays you give it the thumbs down and it won't show up again. If you enjoy it, you give it the thumbs up and more songs like it will appear more often. I leave Pandora on all the time now and I can't wait till someone finds a way to bring it into the car. That is when radio as we currently know it will be officially dead in my humble opinion.

Now onto TV. Everyone knows about TiVo and how it is changing the TV scene. But Hulu is taking it to the next level. It allows you complete freedom to watch any random show without forcing you have to schedule a recording. For example, lets say you would like to to reminisce some funny episode of Seinfeld from season 4. That is where Hulu shines. Using Hulu you can browse old episodes of TV shows, random video clips, and even full movies. Just last night I watched part of the Big Labowski. I didn't have to pay a cent and only had to sit through a 30 second commercial every half hour or so. The quality of Hulu isn't going to match the latest and greatest HD out there at this point, however I have no problem plugging my laptop into my TV and watching videos full screen at a very decent quality. As Hulu expands, why would I have cable? Why would I have Tivo? Why would I have netflix/onDemand?

Its crazy to see how close we are to having the internet merge into the tv/radio. It will be interesting to see how everyone adjusts to keep on top.

Thursday, May 15, 2008

Adobe Feed Reader = More Traffic? (Part Dos)

Yesterday I asked if being on Adobe Feed Reader would increase my traffic. The verdict is in, the answer is a definite yes. I guess that isn't a shocker, adobe feed reader should obviously increase traffic. The more interesting question is how much is the increase?

As I said yesterday, my average has been about 10 unique visitors each weekday (20 being my best). I got accepted by adobe feeds yesterday morning and made my first post last night around 6pm. I just checked it this morning and I had 55 unique visitors yesterday!

Sooooo, almost 6 times my average, 3 times by best (you always round up). I guess an extra 45 viewers to a more established blogger would not be that significant, but in this case it is a dramatic increase.

I plan on reporting back in a week to discuss how much the reader has had an impact on my blog traffic. Until then, I guess I need to turn it up a notch.

Wednesday, May 14, 2008

Adobe Feed Reader = More Traffic?

I applied to get on Adobe Feed awhile ago and am happy to announce that this blog has been officially accepted today.

Basically Adobe Feed allows designers/developers using Adobe products to monitor over 1870 feeds (according to their FAQ). So hopefully, every time I post something here, it will get shown on the Adobe Feed reader and reach a broader audience. I still need to thumb through the fine print. It sounds like I may need to jump through a couple hoops before the reader picks up my new posts.

Anyways, the ultimate goal is to get some more traffic. I am currently averaging about 10 unique visitors each weekday according to google analytics. On the weekends it slips to less than 5. It will be interesting to see how much Adobe Feed reader increases my average or if it even has any effect at all. I will definitely keep you posted.

Tuesday, May 13, 2008

Blitting and Double Buffering with Flash

As I've been delving deeper into bitmap caching and game optimization I keep running across Blitting (BLIT, bitBlit) and Double Buffering.

I think I finally have a good grasp on both after using more resources from 8BitRocket as well as Jesse Warden's blog post which can be found here.

Here is the brief low-down:

Blitting is taking many bitmaps and combining them into 1 bitmap. Jesse (and wikipedia) use pac man as an example. Instead of having a sprite or bitmaps for each ghost, dot, wall, and pac man himself, the game actually is only displaying 1 bitmap. The rest of the objects are just having their pixels copied onto the main bitmap. This dramatically improves performance since flash no longer has to render all of the multiple movie clips.

Double Buffering is using 2 bitmaps to display the entire game. 1 bitmap is being altered in the background while the other is being shown to the user. Once the first one is finished being altered it will swap with the one being shown. This prevents flickers from occurring on the screen. 8BitRocket makes an interesting suggestions of just using 1 bitmap and locking it while you make all the transformations and then unlocking it before you call the update screen event. They call in the "poor man's double buffer".

Not sure if I will be using either of these techniques yet in the upcoming side scroller, but at least now if I don't use them I will understand them and have a reason for not using them.

Monday, May 12, 2008

Brand Tags

I ran across this brand tag page from Seth Godin's blog. Basically it allows you to vote on whatever you think a company's logo represents. So a picture of crest may come up and you have to type in the first thing that pops in your head (lets say clean teeth). Then you can check what some of the common answers are by clicking through the list at the top of the page (they should make this into a family feud game... I would be all over it).

It all comes back to Al Reis's 22 Immutable Laws of Marketing of making sure your brand has a focus.

Sprite vs Cached Bitmaps for Game Performance

My recent research time at the basement has been spent on comparing different caching techniques in regards to a side scrolling video games (yes, we are making a video game. yes, I am pumped as hell).

From my college/freelance days I gathered a collection of old AS2 resources for side scrolling and tile based engines from Strille, TonyPa, and OOS. However, most of these resources are outdated and do not touch important topics such as caching and optimization. (although TonyPa is updating an AS3 version of his tile engine tutorial).

So now I am here for round 2. And in this round I want to follow the industry standards. I am finding some great resources out there. Currently the most thorough is 8bitRocket from Jeff and Steve Fulton. They have tons of examples and plenty of tutorials to get you up to speed. I would also recommend Jobe Makar's blog (author of flash game design demystified). The rest of the resources I am stumbling across I will post as I pull from their examples in future posts.

The first thing I have been focusing on and trying to get my head around is caching animations. I want this game to be running at a smooth 30fps. The first gem I have found from 8BitRocket and Jobe Makar is a technique for caching a sprite animation as bitmapdata. You obviously can not just set the sprite to cacheAsBitmap since each time the sprite changed a new bitmap would have to be created. Instead, before the game starts you need to cycle through each frame of the sprite animation and copy it's pixels to an array of BitmapData. Then when the animation is playing you just copy the pixels from the next BitmapData in the array.

The performance increase is incredible. I made 500 dancing stick figures on the stage and was getting 6-8 fps when they were vectors. I was getting the full 30fps when I used the copyPixel technique.

Jobe mentions his use of the technique in a particle effect. 8BitRocket has a very thorough 4 part example of how to create an Atari Asteroids game. They mention caching each frame in part 2 when they are making the asteroid animations. And if you don't believe the performance increase, please check out Mike Grundvig's Blog, he has a great example showing how copyPixels is faster than using sprites.

If you have some of your own techniques. Please comment/email them. Would love to learn more. I'm still on my way up the learning curve and I know I have a ways to go.

Thursday, May 8, 2008

3d Flash Resource List

Carlos Pinho from flashEnabled has compiled a superb list of 3d Flash tools. I've mentioned a few (flilmation, papervision, and away3d), but he has a much more complete list which can be found here.