8
Feb/10
2

Making Board Games Fun Again

There are a lot of adults I know that haven’t found board games enjoyable since they were very young.  These are the guys you see with their girlfriends begging them to play Monopoly.  A lot of grown men can’t stand board games, and I’d hate to say it, but I’m no different.  Having to sit through Monopoly rolling dice and landing on random spaces while money haphazardly gets passed back and forth between players, well, that just doesn’t sound fun to me.

What I’ve come to realize in recent years is: If you think board games are boring, you’re playing the wrong ones.  I, myself, bore easily.  It takes a greater level of involvement and strategy to get me interested in a board game.  I am not content to play Monopoly, Sorry, or the Game of Life.  As a child, I was partial to Clue.  However, I find my adult self scoffing at the premise.  You’re searching an old mansion for clues to solve a murder. In the end it could turn out that you were trying to solve a murder YOU committed. I don’t know about you, but if I just bludgeoned some poor bastard to death in the ballroom with a candlestick, I wouldn’t be poking around the crime scene trying to figure out who did it. I’d be in Mexico sipping margaritas and trying to figure out how to legally change my name from Professor Plum to something cool like Xander El Durado.

So what game should you play?  It just so happens I have a list…

5
Oct/09
0

SquadBots: XBox Live Multiplayer Completed

Last night I played SquadBots over XBox Live for the first time.  I wasn’t sure ANYTHING was going to work, as this is the first time I’ve written XNA netcode.  But it did, and in grand style. You know, except for all the bugs.

More and more I’m starting believe the old adage “Busy people are productive people”.  I had an unvoiced fear that I would not be able to complete sprint 1 on time.  Sprint 1 consisted only of getting the base game, which supported only local multiplayer, to work over XBox Live.  The work pattern seems to be: I estimate 8 hours, push it off for a week, worry about it for four days because I’m not making any progress, then finally pound it all out in three hours.  These results do nothing but encourage my procrastination.

After reading up on XNA net-code, playing with different ways of implementing a network game, I have to say that the most productive example of a network playable game that I was able to get my hands on was the NetRumble game template from the Creator’s Club Online Website.  It’s not exactly the type of game we’re making, but it provided more than enough examples of network processing and event responses.  This really helped me break some shit.

What we should be doing
Typically, in a host-oriented multiplayer environment, players will send their intentions to the host.  The host then processes these inputs, determines an outcome, and send that outcome out to all players involved in the game.

In a “host” driven game we can at least assume that if there is a discrepancy between the player’s game information, that the host is always right.

What we are actually doing
Because SquadBots is only two players, we’re getting away with a few shortcuts.  We’re allowing the active player to do all the normal calculations as he would in a local multiplayer game and simply send the updates to the other player.  The local code calculates whether particular game events need to occur and then updates the local board unilaterally, meaning each client updates it’s own game board based on their own unilateral calculations and we’re going on faith that those results are always the same.

The risk in this approach, of course, is that if the clients become out of sync somehow (lost packets, etc) we are in trouble.   With this in mind, we’re using SendDataOptions.ReliableInOrder to maximize net message integrity.  This is the most expensive “packet option” performance-wise, and therefore, is normally avoided.

Filed under: SquadBots
15
Sep/09
0

SquadBots: Base Game Concept Completed

The team and I had a meeting this week.  We’ve all learned a lot about using XNA and have decided we’d like to call the “base functionality” completed.  What this means to the project is that we’ll be kicking the whole process into overdrive.  We’re putting together a pretty aggressive sprint schedule (that quite frankly scares the hell out of me), and culling out advanced features that would put the completion of a simple “end to end” game in jeopardy.

The game so far...

The game so far...

Currently, the game is using local multiplayer only.  There is no single player campaign, and it can’t be played over XBox Live (lame, I know).  We’ve put together a product backlog of features we’d like to see worked into the game, and have planned the first few sprints.  Starting, of course, with addition of XBox Live multiplayer.  Hey, what fun is it being on an XBox Live development team if you can’t even play the game against your teammates?

Filed under: SquadBots
14
Aug/09
0

DefectiveLogic.com is online!

Defective Logic is small independent game development group, currently trying to branch out into XBox 360 XNA development.  We are currently working on our first indie game title, SquadBots.  The goal in mind is to have the team create a very basic end-to-end game for the 360 that fully supports XBox Live mutliplayer.  At this point we are not concerned with best graphics, or even the best game mechanics.  Just completing an initial release that is fully playable and bug free.

Currently, we more or less have a fully functioning simple local multiplayer game.  We have a full game mechanics POC (Proof of Concept).  There is no game AI and no network play at this point, but as I am on vacation next week, I plan to rectify this situation by adding XBox Live network play.  Below is a random play screen of the game in its current form.