Monday, March 29, 2010

Thinking in Commands



View part 1 of 2



View part 2 of 2


As I developed the Command Utility for Rusher Game Framework, I have come up with this idea of spreading the love for Command Pattern :p

I've already delivered three presentations on this topic, and written a two-part tutorial for ActiveTuts+. In the tutorial I've briefly covered the Command Pattern and showed how to build a minimalistic command framework, which is kind of a lite version of the Command Utility in Rusher. Also, you can find in this tutorial about how to further make use of this command framework to create a scene management framework, which is also a lite version of one of Rusher's features, the State Machine.

The concept of commands would really simplify things out when working on huge projects. If you've got problems dealing with large applications, such as messing up with complicated code that is hard to maintain, just go check out the tutorial. It's gonna help you a lot. I promise :)

Tuesday, March 23, 2010

Third Place in Game Design Contest



Play Monica: Nightmare
View all entries

That's right. Monica: Nightmare got the third place in the Creative Game Design Contest held by Gamer. I'm pretty glad that the first game created by Rusher Game Framework could make it this far. Being involved in this contest was the main driving force for me on the development of Rusher. Had it not been for this contest, I think Rusher would have been still a mere idea in my mind by now.



However, I've still got several things to complain about. The graphics and music aspects make up 20% of the total score, and yet the runner-up still got 85 out of 100? I'm not unable to afford to lose. There are reasons why I'm saying this. Come on, the drawing skill is obviously...primitive, consisted of line segments and simple geometric shapes, let alone the fact that the framerate is 12FPS (that's eye-killing, really). And the music is nowhere near original, its background music for the menu scene is from Star Wars; how could Gamer not notice that? After all, use of proprietary assets is prohibited in this contest! I've sent Gamer a mail, requesting that they reveal the score every entry has got on each aspect. I hope they take this seriously; otherwise, just showing the final total score is far from convincing.

Alright, enough with the complaining. At least Monica: Nightmare gets the third place and is being displayed in the first row. This means Rusher is going to get more exposure, which is my ultimate purpose :)

Monday, March 8, 2010

My First Game Built with Rusher Game Framework!



Play Monica: Nightmare

Finally! My first game built with Rusher Game Framework! Escape from Monica's nightmare as fast as you can!

Monica: Nightmare is a 2D side-scroller evasive action game. You're right, no fancy attack moves. Just run! This is an entry to the Creative Game Design Contest held by Gamer. The theme of the contest is "Escape", hence the absence of attack moves. I tried to make the opening and ending look like it is SOME console game :p

I used Box2D for collision handling. The game flow control is heavily making use of the Scene Manager (now State Machine) feature of Rusher.

You can press the "+ (plus sign)" key to toggle the console panel to view debugging messages, and press the "- (minus sign)" key to toggle the Box2D debug view.

It's still quite buggy, I know. I had been working very hard to eliminate all the bugs, but the deadline did not allow me to do so. I slept at 6 in the morning on the due date and woke up at 8:30 to mail the disk to Gamer. I apologize if the bugs bother you during the gameplay.

Next time I'm gonna use all of my game-related frameworks: Rusher, Stardust, and ZedBox!

Friday, March 5, 2010

Stardust 3D Paritcle Effects Tutorial



View Tutorial

I've written another Stardust tutorial on ActiveTuts+. This time it's about how to create 3D particle effects with Stardust's native 3D engine and Papervision3D.

To combine Stardust with different 3D engines, all you need to do is use a different engine-specific renderer and initializer for particle appearance. It's well explained in the tutorial. So what are you waiting for? Just go check it out!