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