Minus World's NES Modern Classics
I know I talk a lot about Atari on this blog, but I spent almost as much time playing NES games at my friend Ian's house in the late 80's as I played 2600 games in the early 80's. Because of that, I am very proud to announce that The-MinisWorld.com has follow up their brilliant Atari Modern Classics piece, from last year, with a just a well done NES Modern Classics piece.
Along with Fallout 3, Gears of War 2, and other awesome 8-bit reproductions, they have this little beauty: Wii Sports:

Eclipse Tools For Silverlight – Mac : Hands On

I decided to try out the newly announced Elclipse Tools for Silverlight this morning to see if it was true that a real development environment for Silverlight Web apps now existed for Mac OSX.
My journey started by visiting the Eclipse 4SL page (http://www.eclipse4sl.org/) to download everything required. There are several large installs that must be completed, in-order before you can start using Eclipse 4SL.
Once you have installed these two things, you launch Eclipse, and use the Eclipse software update tool to get the Silverlight ESL support modules. (Full instructions for this are here)
When this is completed, you are ready to start working with Silverlight on a Mac.
This all sounds good, but how does it work in practice?
Well, here are some notes from my experience:
- 4SL has support for Microsoft visual Studio projects. This is great. However, it's a bit tricky to get them to work. You can't simply "open" a project. You must first use the [Import] selection from the file menu. This does allow you to keep the Silverlight project in it's home directory, and not move it to your working folder which is nice touch.
- Once your project is open, there are some oddities that made working with them a bit harder than Visual Studio. First, the background color of Eclipse was white. While this seems minor, it made it so I could not see any of my pure-white XAML objects. Since I'm new to Eclipse, I could not fund any way to configure this. This was very minor, but still annoying.
- The XAML editor is neat, but it takes several seconds to display even the simplest XAML. It slowed-down my work efficiency considerably.
- The project explorer, C# editor and the warnings/errors panel were very well done and useful. I got comfortable with them very quickly.
- However, there is no code-complete support (that I could find), which sort kills the whole thing. Visual Studio is so good at this, it makes living without it very difficult.
- Related to the above, there do not seem to be any "debug" options that I could find. Debug exists in Eclipse, but I could not get it to work with Silverlight. I do not think this is ready yet.
- Crashes: My simple Silverlight app crashed Eclipse the second time I tried to run it. It was a complete, fatal error. I had to restart to get back going again.
- Finally, and this is the most impostant part, my Silverlight app did not run exactly the same when compiled in Eclipse as it did in Visual Studio. I need to look at this further, but since I could not debug, it made the process very hard.
So, what does this all mean? Well, I was very happy to see the Eclipse 4SL work at all! The installation is slick, and the potential exists for this to be a very competitive Silverlight development platform. However, with all the issues I experienced, I will be treating this as a BETA, and will continue to develop Silverlight on VM in visual Studio until the product matures a bit more.
8bitrocket Pumpkinman Reaches 1,000,000 plays (finally)
Finally, within the last couple days, one of our games reached 1,000,000 plays (as recorded by Mochiads). Pumpkinman was one of the first games we put on Mochiads, right after the service launched.
While this is nice mile-stone, it's also kind of wake-up-call and time for reflection.
Creating games that will appeal to a mass audience is fairly difficult. There are many competing games, and seemingly every genre has been tapped multiple times. (although I'm continually surprised by the variations people create) A game like Pumpkinman, which is essentially a hyper version of the classic "Maze Eater" genre with 8-bit stylized graphics, is not necessarily aimed at the core audience that plays Flash games.
There *is* an audience for games like Pumpkinman, but that audience is mostly overseas in Asia and South America. There is nothing wrong with this, except that currently the eCPM earned from these locales is much lower than the USA or Europe.
As well, a game like Pumpkinman is fairly generic. While we know that there are all sorts of interesting options and nuances, we can't expect the general Flash game player to learn them, especially when there are so many other games to play that offer modern visuals and easier to grasp game-play.
What does this mean for us? It means that we are starting to morph our development away from things that only we love, to things that we think other people will like (and we will enjoy making). You will see some of these things in the coming months. Games that offer that playability of that Flash game consumers want, but with our own "classic" twist.
Hopefully this will help us see some "million players" in days or weeks instead of months or years.
Skript Kitty Episode #1: Skript Kitty vs. Intellectual Property
OK, so here is our first attempt at a "cartoon". This idea came about when my 13 year-old cat entered the frame of our first video podcast. Jeff and I got the idea that maybe she was listening in to our conversation and trying to steal our ideas.
Postmortem:
As a postmortem for this project, I'd like to say first that I could have made a couple good games in the same time it took to make this crappy cartoon.
I now have a lot more respect for the guys who make "simple Flash animations" because, honestly, it can be a bitch. Even using the tools I've been familiar with for the past decade in Flash, it was still difficult to get anything worthwhile on screen.
Here are some other things that were difficult:
- Photographing a cat. Trying to get the cat to both pose for photos, and to make the proper facial expressions was impossible. Finally, I just went with what I had.
- Non-code animations: I needed to make almost everything time-line driven, and it was really hard to break out of a strict coding cycle to do it. The only code allowed were things that would drive the time line.
- Syncing audio: Why is syncing audio such a bitch with Flash. Getting one sound to play is fine, but trying to use envelopes on the soundtrack and syncing those with the action was too difficult. I can't believe an $800 animation tool is so primitive when it comes to audio.
- Exporting: Exporting the final animation as a .avi. never worked. The .avi export would not use embedded movieclip animations, only the strict frames on the time line. .Mov exporting left horrible artifacts on the Mac. I finally got it to work on XP exporting from Flash 9 only. However, the file was so big that Youtube dropped 1/2 the frames. I had to re-compress it as an MV4 before it finally worked. Also, nearly every "screen capture" utility I found was useless, or could not capture audio.
- Story: We knew that Skript Kitty was going to make a Flash game by stealing code and graphics, but that was all we had. Ultimately I don't think a "real" Script Kiddie would care about a "Cease Desist" order from a large corporation, but his parents would! However, Skript Kitty has no parents, so we had to have her simply revert back to being a cat.
- Ending: I had no idea how to end this thing. I tried to locate the "Wah wah wah" "bad ending" sound but i could not find it. The sound I did find was not as good, but it's special to me none-the-less. Can you identify it?
There you have it. Hopefully this one will be successful enough so that we can make another one. We already have tons of other ideas (i.e. "Skript Kitty vs. Flash Development Forums"), so there might be another one anyway...
Flash Game Development Inter-web mash up: March 25, 2009
Flash Game Development Inter-web mash up: March 25, 2009
The latest in Blog entries and articles that might interest Flash game developers.
This time we cover a lot of articles on monetization (because that's what I found). Maybe this is because of the bad economic climate and many people are jumping at the chance to make "easy money" (sic) programming games. We also cover a swath of new blogs, tutorials, and a couple new games from the blogs that I follow. If you would like me to follow your blog, or have a game you would like me to highlight, please drop me a line.
From the blogs
- Squize starts this post railing on the script kiddies, then comes full circle and reveals himself to be one at Unity, and then ties the whole thing up with a knock on nGfx and his Grand ma - I think. (there are tears in my eyes just witnessing the beauty of the whole thing). Also, nGfx comes out of his sick slumber to reflect on the separation of code into re-usable units across multiple titles.
- Richard Davey's wonderful Kyobi has been re-branded and pushed on to the iPhone platform. Nice work, Rich. You deserve it. I can't wait for the Flash version.
- Mark (IckyDime) G., gives some insightful reasons why (in the grand scheme of things) that there currently is no such thing as a classical Master of Flash. Very thought provoking. We're all script kiddies, I guess.
- Game Poetry has posted 4 postmortems on the 4K Flash Game Contest. Also, huge congrats to 4K Pillars for winning the audience voting award.
- Here at 8bitrocket, we have added 2 video podcasts (episode 1, episode 2), 2 new game design discussions (Blaster Mines and Agent Pixel 6502), and post about Tweening in Flex.
New Tutorials and Example Code to expand your skills
- Freeactionscript.com's realistic snow fall and flake effect.
- Freeactionscript.com's how to make movieclips push one another without complicated trig.
- Freeactionscript.com's simple score encryption script example
- Asgamer.com's using Tweener In AS3
- Asgamer.com's creating bullet lasers in Photoshop.
- Michael James' Williams's Avoider Game Part 12.
Helpful hints from the field
- Lorenzgames is back in the blog-o-sphere-o-rama with a few new posts of help hints. This one covers how to save a GIF or JPG in AS3. It requires PHP and a custom class, but if you need to do this, he has he goods. He also has a new list of the best places to submit your Flash game when complete, and how to customize the right-click menu in AS3 - GO LORENZ! Also, his entire site have been re-designed and looks great.
- Freelance Flash games comes through with a great discussion on the finer points of hiring an artist for your freelance flash game. Also available are posts on why you should complete your game before showing it to sponsors and where to find some free graphics for your games.
- Emanuele has part two of his How to use Google Site Maps in AS3 series posted.
- I found this in the comments on Iain Lobb's Blog: Javascript that will help you format your code for posting on your blog.
Game Monetization
- Notejot has a very nice, very extensive set of new articles and tutorials on game monetization and distribution.
- GameStreamer is for mostly A, AA, and AAA downloadable titles, but they promise wide distribution of those games. They include DRM wrappers and the ability for the developer/publisher to use their CMS for managing content and game version updates. It looks very slick.
- Nonoba GameRise is a game site development and CMS platform for Flash Games. It could be something special.
- HeyZap wants to be the YouTube of Flash Games. They allow blog/site owners to embed a youtube like game player on their sites and give their visitors a selection of games to play.
- Freelance Flash games has a nice run down on the features and methodology behind the Flash Game License First Impressions Service.
- Ada Chen (of Mochi Media) has a personal blog with a nice write-up that she calls The Different Dialects Of Casual Game Monetization. In it, she explores, defines, and describes 4 different types of web games and the various monetization opportunities for each. Also. Over at the Mochiland site, she has a nice run down of the Flash Gaming Summit.
- Via Emanuele's blog, but from the mind of Ryan at Freelance Flash Games, comes his 7 Reasons Not to get your game sponsored. I happen to agree with all of them.
- Gamezebo has an interesting article on Flash game moneitzation.
Game Programming Articles, tutorials and hints outside the world of Actionscript
- Gamasutra's Intelligent Mistakes - How to incorporate stupidity into your AI code. This takes a look at how to make AI opponents that don't always win.
Some games to check out
- Hatu's latest retro quickie, Snailer, challenges you to Frogger style to cross the road...with a snail.
- UrbanSquall's incredibly well made Bloody Fun Day is bloody fun to play.
Bonus
- TV Squad has a hilarious clip from on old TV show that Steve and I used to watch called The New Zoo Review. It was for kids, but this clip must have been a rehearsal out take where they use all kinds of offensive language and simulated sexual situations (my childhood is dying...)
As always, visit Flashgameblogs.com for your daily dose...
To add your game, site, blog, etc to my list, please send me an email to: jeff[at]8bitrocket[dot]com
Silverlight Game Development Interweb Mash-Up March 24, 2009
Sorry it has been a while since I've posted any news about Silverlight. We've been busy finishing off our Flash games from the 4K Contest, and working on our new Video Podcast.
First, the really big news is that Microsoft has released the Silverlight 3 Beta to the public. There are some very exciting new features in Silverlight 3 that will be of specific interest to game developers. Here is list of the things I think will change Silverlight Game Development forever (one Silverlight 3 is released):
- Perspective 3D (3D planes, 3D transitions)
- Pixel Shaders (Blur, drop shadow and other FX just like Flash Filters)
- Bitmap Caching (Ala Flash AS2)
- A real Bitmap API (blitting now possible)
- Spring and bounce (+ more) animation FX
- Better audio support
- Out Of Browser: turn Silverlight apps into PC or Mac desktop apps (Adobe Air anyone)
- plus a lot more...
It looks like Microsoft is really trying to make Silverlight a contender with this release
OK, now onto the blogs:
Bill Reiss over at Silverlight Games 101 has posted as very exciting new bit of code. It allows developers to easily port their 2D XNA games to Silverlight. This is some very impressive work. Bravo Bill.
ShineDraw has a new entry that compares Flash with silverlight with JavaFX. This is really cool. Can you predict the results?
Andy Beaulieu has just launched a fantastic new game with both standard and rag doll physics. Boss Launcher is not only fun, but these days, seems wildly appropriate.
Mashoo has launched their own contest, the Mashoo S Prize . With $1000s of dollars in prizes and a generous deadline of June 14th, this one looks really interesting. However, Mashoo's "Terms Of Use" contains my least favorite provision:
you agree to grant the site editor a limited, sub-licensable worldwide, fully-paid, royalty-free, continuing, non-exclusive right and license (including any moral rights or other necessary rights) to use, publicly display, reproduce, modify, adapt, publish, distribute, publicly perform, promote, archive, translate, and to create derivative works and compilations, in whole or in part. Such license will apply with respect to any form, media, and technology already known at the time of provision or developed subsequently; this license will terminate at the time you remove your content from the Site.
Yep, they have added that dreaded "create derivative works" clause to their policy too. I realize that they probably won't act on it, but you should still be careful with your own work.
Another announcement from Mix09 that will be of great interest to Mac users is the Eclipse Tools For Silverlight plug-in that will finally allow Mac Users to develop Silverlight Apps. This is awesome news.
Finally, laumania.net has a link to a very interesting Mix09 session about basic game animation principles.
As far as our site goes, we are going to start again with Flash To Silverlight blogs again soon, concentrating on taking our Flash breakout game and remaking it in Silverlight. As well, we will be taking a deep dive into the Silverlight 3 beta.
See you soon.
Tweening in Flex AS3 – sans MXML
Tweening in Flex AS3 - sans MXML
On Sunday night I decided to start working a new game called Blaster Mines that is a direct descendant of my 4K Game Contest Entry, Mine-X 4K. I originally thought that I would limit this one to under 100K, or some other artificial limit, but I am going to instead give myself a deadline of April 30th to finish the game and move on. I will post my game design document (like I did for Agent Pixel 6502) when I get more ideas down on paper, but for now I decided to just make a title screen (I know, I am full of AMBITION). I played some MAME games over the weekend and noticed that many classic arcade games have very simple, effective title screens with one unique or special element. I decided to have my title graphic enter the screen from the top and tween drop in place and do a bounce of some sort (I did that with RetroBlaster, but on the timeline by hand). I know, this is nothing special and I figured that I would be done with it in 5 minutes. Actually, if I had decided to just can it in Flash CS3 and import the SWF into my project, it would have been complete in about 10 minutes, but you know me, I have to make things difficult...
fl.transitions package
Since I am developing completely in the Flex AS3 frame work (Flash Develop) sans the MXML (for now), I have some limited options available for pre-canned menu effects. I looked back at some CS3 projects I had done last year and in those I used the fl.transitions set of classes. So, my first attempt was to import those classes into my Flex AS3 project and start tweening away. No luck, as that package is part of the Flash distribution (noted the fl as the root node in the package structure, I guess). I was told that I could just import the package from my CS3 class path, but for some reason I couldn't find that package on my Mac install of CS3. Honestly, I didn't look very hard because while researching as I found the Flex mx.effects package and a wonderfully name library called "easing".
mx.effects package
This one looked like a winner for a while. I read through the online docs (pretty slim on useful examples by the way) and hit a couple sites via Google searches, but found virtually no information on how to use this package effectively in plain old AS3 (without MXML). After making some attempts to put my embedded BitmapDataAsset png title screen inside a MXML Canvas via pure AS3 and getting a dreaded runtime exception about BitmapDataAsset not being a descendant of the UI Component class, it started to dawn on me that in some cases that much of the mx package is useful for pre-rendered MXML screens and not really useful for pure AS3 created screens. Now, this might not be the case, but after fiddling with getting a basic easing in tween for about 3 hours (with no results), I deleted the whole mess and looked elsewhere.
TweenLite and TweenMax|
I had heard about the lightweight GreenSock Tween libraries for a while now, but had not used them. I was impressed with the breadth of the feature set and the ease of use. Most methods are static class methods and the AS3 versions do their own Garbage Collection! AWESOME, I mean this guy knows his stuff. I downloaded TweenLite, played with it some and it was obvious to me that I had a winner on my hands. BUT, knowing me, it would never be that easy. Why? Because I am a classic tinkerer and I love to know how things work and to try and do them myself (probably a reason why I have not used the brilliant PixelBlitz engine much either). So, after searching the GreenSock site for some docs I found the license for the tween code...it referenced the Robert Penner tween code. Now, some of you might not know that Penner is my idol. I picked up his brilliant Programming Machromedia Flash-MX book on a whim 5 or 6 years ago and it COMPLETELY changed how I used AS1/Flash MX. He created his own event broadcaster classes, and his own tween library...A HA, that's where I had seen a tween library in book form before (it's like 6 degrees of separation, Jeff's senility version). So dusted off my copy of his book and started work on my own simplified AS3 Tween library.
Penner's Magic
I haven't actually got very far on my library, having only played with some of Penner's exponential slide ease-in code (He provides AS1/AS2 versions at that link and the chapter from his book) But, my logo graphic does fall from the top of the screen and eases into position as of this moment. I plan to add in a bounce effect, but for now, here is the code that I am using . By the way, use TweenLite if you want to just do a Tween, I am going to attempt to explain a little of Robert's code and my version because it interests me, not because it is the fastest way to get this job done.
The idea is to move the object toward the final screen location and have it appear to gradually slow to a resting point.
The Psuedocode would look a little like this:
On Each Frame Tick distance=the destination - the current location next location = distance/2 |
I don't think Robert even likes this equation as he goes in depth into many more easing equations, but I decided to give it a whirl and see what I came up with. The first few tries had my logo drop pretty much into place the first frame with in a couple seconds. That was because by frame 2, it had dropped 1/2 it's height, and then by frame 2 it was 75% of the way there. I am running 40 FPS, so it was virtually invisible to the naked eye. It didn't look very good. I read on and his next section of the book deals with time-based easing which makes the effect much better. So, did I move on too? Nope (well kind of actually), I wanted to make this one look at least somewhat cool (for fun?). I added in a frame delay so the easing movement doesn't happen so quickly and then I changed the distance to be change by 1/8 every frame rather than 1/2. Also, I added in code so if the distance is less than 1, it just sets it at 1 and them moves on with my state machine.
public function transitionIn(updateType:int):void {
//trace("transition in");
//need tween code here
//start standard exponential slide
if (!_transitionInStarted) {
_titlescreenBitmapSource.x = 100;
_titlescreenBitmapSource.y = -800;
addChild(_titlescreenBitmapSource);
_transitionInStarted = true;
_transitionInCount = 0;
}else {
_transitionInCount++;
if (_transitionInCount > _transitionInDelay) {
_transitionInCount = 0;
var distance:Number = 0 - _titlescreenBitmapSource.y;
trace ("distance=" + distance);
_titlescreenBitmapSource.y += distance / 8;
if (distance < 1) {
_titlescreenBitmapSource.y = 0;
switchScreenState(STATE_SCREEN_MAINDISPLAY);
_transitionInStarted = false;
}
}
}
}
|
So, no rocket science here, but it does the trick temporarily until I can dig further into Robert's code and see what magic he has up his sleeve. My plan is to add a simple tween library to my Generalized Flex Game Control page of classes. We'll see if I get that far or just go back to TweenLite (like I should).
8bitrocket GameStorm Video Podcast #2: Goofus and Goofus
8bitrocket.com GameStorm Video Podcast #2
This week we tackle "disturbing clauses in terms and conditions" of viral game sites, especially the term "derivative works". We also have some news, a GameStorming session, a special preview of our all-new "cartoon" "Skript Kitty" http://www.8bitrocket.com
Game Poetry 4K Game Competition Post-mortems
Game Poetry 4K Game Competition Post-mortems

Urbansquall has posted 4 Post-mortems on games in the 4K Game Competition.
Aside from my all too long entry on Mine-X 4K, you can read about Face Dodge, Falling With Style, and Grompers.
I again want to thank Urbansquall and Gamingyourway.com again for running a great, fun contest (and for giving me yet another platform on which to pontificate).
Will Nonoba GameRise Change the Landscape for Flash Gaming?
Will Nonoba GameRise Change the Landscape for Flash Gaming?

I have been reading a lot about Nonoba Gamerise and I am very interested, but also a little cautious. For some reason, the Danish Company Nonoba doesn't have quite the cache as Mochi or Flash Game license do with me. I don't know why. They have been around for a while, they provide a huge selection of tools for Game Developers (Multi-player API, Highscore/achievements, game save, in-game monetization, etc). Maybe GameRise will be thing let sets them up to move passed the competition (at least in my mind).
Game Rise is basically a gaming web site development platform and CMS (content management system). There are a few sites out there using the system (see this Yahoo News Story for details). I'm skeptical about using someone else's platform because it limits the developer in many ways (hence we have built this blog and site in plain vanilla .net without the use of 3rd party blogging tools, etc). We plan to extend the site to a full blown retro gaming portal and were thinking of building on top of the Google App Engine, but this Nonoba system has my interest. How cool would it be to not have to hand code HTML and .Net pages every time we wanted to add or change a game portal feature?
Also, I haven't decided to sign up for Game Rise yet, so I can't be 100% sure, but it seems that all Game Rise sites share a single Sign-On system with other Nonoba sites. Standardization and simplification of login credentials for users can only be a good thing going forward (and a big reason why we eliminated the message boards from this site).
So, I am thinking of signing up for the system (here) but haven't made the move yet because of the utter lack of information on the site page concerning the actual platform and what it can do. I have been looking around the site and this sign-up page seems to be the only indication that Game Rise exists. I have a feeling I will jump in tonight and create a site, and if I do, you guys will certainly be the first to know.
If anyone else has had a deep experience with Game Rise (or any at all) or Nonoba, please let me know. I'd love to hear about your experienced.