Editing Outlook Calendars With Ruby

July 3rd, 2010

I admit it. I’m a pretty lazy guy. I don’t have much patience for mind-numbingly repetitive tasks. They bring me down. Editing my Outlook calendar every day is simply a waste of time in my opinion. I figured that there must be a way to automatically create appointments through some kind of script. Then I wondered if Ruby could help.

After doing some quick research, I found out that it’s actually quite easy to connect Ruby and Outlook. This is done through Microsoft’s Object Linking and Embedding (OLE) protocol. I wasn’t able to find a definitive tutorial for Ruby and OLE, but there is enough information scattered about the internet to get a simple script up and running.

Read the rest of this entry »

Dad Strength Postmortem

October 3rd, 2009

Dad Strength is a comedic beat ‘em up video game modeled after old-school titles such as Double Dragon and Final Fight.  In this postmortem, the game’s development process will be examined in depth.  Dad Strength was developed over the course of two years, and luckily a developer’s diary was maintained throughout this time.

Read the rest of this entry »

Managing Manifests and Dependencies Under Visual Studio

April 1st, 2009

When building an executable under Microsoft Visual Studio (either the 2005 or 2008 edition), an accompanying manifest file is generated.  The purpose of this file is to describe various dependencies of the executable such as DLLs.  The manifest file is typically baked directly into the executable itself, but alternatively it can exist as an external XML file.  In externalizing an application’s dependency information, developers can explicitly control which versions of the dependent files are to be used.  One major benefit of this design is that various versions of a dependency can exist simultaneously (Side-by-side assemblies as Microsoft calls them) and thus different programs need not use the same version of the dependency files.  This is a great idea in theory as it would eliminate the problem of keeping system DLLs in sync, a process affectionately known as DLL Hell.  However, there are still a few quirks of manifest files that can drive developers and users alike mad. Read the rest of this entry »

The $300 MadWorld Review

March 24th, 2009
MadWorld

For those following the most current video game releases, MadWorld should need no introduction.  In a nutshell, Madworld offer players a highly stylized, film noir environment in which to creatively torture and execute an assortment of grotesque and supernatural foes.  The central controversies surrounding the game relate to its sole target platform - the Nintendo Wii.  Before the game’s release, critics and fanboys have mainly argued the following points:

  1. The Nintendo Wii is not technically powerful enough to provide the intended experience.
  2. The family-friendly Wii will become a liability for children due to MadWorld’s vulgarity and excessive violence.  This could also create an opportunity for similar games to be published without Nintendo showing any concern for morality obligations.

Simply and objectively put, the first argument is fallacious because the MadWorld developers specifically chose Wii as their target platform due to its unique motion controls (see: Why MadWorld is Wii-only).  The second argument is dismissible due to the existence of Mature Wii games (Manhunt 2, No More Heroes) as well the illogical implication that Nintendo has a social responsibility to prevent adult content from gracing its consoles.  The “Mature” rating on MadWorld’s cover should be the first clue to parents of young children that Super Mario Galaxy might be a better choice.

MadWorld was the first release developed by Platinum Games, a relatively new company formed by many of the ex-members of the dissolved Clover Studio (Viewtiful Joe, Okami).  Since I’m a huge fan of their Playstation2 beat ‘em up throwback God Hand, I’ve been eagerly awaiting MadWorld’s release since it was unveiled last year.  However, when the game was released, my Wii was inaccessible; My father had kidnapped it to play Guitar Hero World Tour.  At the same time, I was facing the decision to have surgery to correct a level III+ acromioclavicular separation.  The total time needed to completely heal from surgery and rehabilitation is 4-6 months, so it wasn’t a light decision.  With the surgery date looming only three days away and no way to play my copy of MadWorld, I went insane and I did the only thing I could.

Read the rest of this entry »

Experimental Video Games

February 26th, 2009

beatboy

While developing a humble beat ‘em up game (an homage to such classics as Final Fight and Turtles in Time), I found myself in need of a way to organize various scenes.  The game would start with a loading screen, transition into a short narrative, and finally cut to the title screen.  Once the actual gameplay began, another scene would be needed to keep track of the entities, images, sounds, and other game-related objects for stage one.  In keeping with the ethics of object-oriented programming, I decided to make the scenes themselves objects by creating a scene entity with methods for loading, activation, deactivation, and unloading.

Lately, I’ve been wondering if I haven’t developed a bit of ADHD.  I have a handful of game ideas that I want to explore and the list keeps growing.  The problem I’m facing is how to choose the best ideas and spend time turning them into projects.  When I completed the scene entity (which took very little time), I made the decision to design a small game to test its usefulness (which took much more time).  It turns out that the scene entity has very little to do with the final game, yet I am left with something much more satisfying. Read the rest of this entry »

SFII90 - C++ and Ruby Video Game Engine - 0.1.0 Released!

December 17th, 2008

SFII90 - C++ and Ruby Video Game Engine

SFII90 - C++ and Ruby Video Game Engine

My name is Phillip Weisberg and I’m a software developer in the Washington, D.C. area.  Welcome to fiber-optic megawatts!  This blog will focus mainly upon video games - from reviews through development and anything else along the way.  Today’s topic is SFII90 - a free video game engine that I developed in C++ and Ruby and licensed under the GNU LGPL 2.1.  Before I jump too far ahead, let me first give you a little background about myself and the how the engine came to be.

I’ve always been interested in designing and producing video games.  I made a few demos in 2005, but I wasn’t satisfied with how horribly inefficient they were; There was almost no reusable code nor consistent design from game to game.  I looked at the top ten or twenty engines available for hobbyists and for some reason or another was not satisfied with any of them.  I thought it might be a good idea to create my own video game engine (despite some foreboding comments on www.gamedev.net), so I started by designing a small system that could draw sprites from bitmap files and load OGG Vorbis files.  It was… better, but still not very good. Read the rest of this entry »