Thursday, July 18, 2013

NetBLAM - Development Begins

Since all I can do for ENG 101 is wait for the first draft of my final paper to be evaluated, I started working on a project I've been thinking about for a while: an adaptation of the Italian table game Bang!  My adaptation, NetBLAM will be a computerized, network multiplayer version of that.  I'd like to be as faithful to the original as possible, but some of the rules are kind of complicated.

So, I fired up my fancy Pro edition of Visual Studio 2012 and created the most advanced project setup I have used to date.  It's a multi-project solution that is designed to minimize the number of DLLs each part of the architecture has to reference.  So far, I created skeletons for the client (a Windows Forms application), a server (class library), and the business logic (another class library).  I'd like to have both an integrated (in-client) server and a more industrial-grade dedicated server be possible using the same code.  NetBLAM Client will use the NetBLAM Integrator and NetBLAM Logic libraries.  NetBLAM Integrator, the server library, will use NetBLAM Logic.

I started today by attacking the lowest tier, Logic.  To implement the characters' special abilities, I have set up a system in which each Character instance has a mapping of events to CharacterEventHandler instances that will apply the character's special abilities.  I have created a wrapper of the Character class, Player, that holds information about the character's status in the game, like health and held cards.

Maybe I'm getting a little too enterprisey, but I think developing this project is going to be fun.  I'll keep you all posted on my progress.

No comments:

Post a Comment