I've pretty much got the whole architecture implemented, everything looks really good so far, from a design standpoint. I've never written a multiplayer game before, this whole thing is a great learning experience.
As I stated in my previous journal entry, I'm taking a somewhat unorthadox approach to my client/server architecture. I don't want to layout an exact blueprint of how I'm doing things (cheaters??). Maybe once it's been out for a while and everyone stops playing it (2 weeks after release :-D ) I'll detail how I'm doing things. Needless to say it will require some tricks to manage all of the traffic/civilians in the world. It doesn't look like I'll have a bandwidth problem, I'm going to "require" a broadband connection for multiplay...that seems to be pretty standard these days, and will allow me to do all kinds of cool stuff.
One of the things I've just finished adding are the upload/download rates in the top corner of the screen when you're connected to a server. This will be very helpful in monitoring the bandwidth used by the game. It seems that this feature was recently removed from RakNet so I ended up writing my own. It only keeps track of MY data that's getting sent every second, it doesn't take into account any overhead that RakNet adds...so it's not entirely accurate. I'll have to get some more specifics on RakNet so I know how much to add to these values. Also, it just displays the rates of data transfered in the last second, I think that's more helpful than TotalDataTransfered/TimeInServer.
I finished my first internet test yesterday, everything went pretty well, suprisingly. I'm gonna do it again tommorow. My brother and I love RTS games, we used to play Age of Empires 2 for HOURS back in the day on the home LAN. So I'm trying to make it a habit to test the game with him over the 'net every couple days.
These screenshots are from the LAN in my apartment, I've only got 3 computers so this is as busy as games get :-D
Here's what the lobby looks like...I'm going to move the "Ready" checkbox somewhere else, I don't like it in the middle, it looks akward.
Here's a early image of the in-game scoreboard (hold tab to display). Note the data rate statistics in the upper right hand corner.
I've still got to add a boarder around the gang types in the last screenshot, and adjust some other things.
It's all still a work in progress, I'm hoping to get some semi-serious testing going in the next week or so. Right now everything is solid, and I'm ready to take it to the next level, as well as start writing the Master Server which will act as a matchmaker between clients and servers.
- Dan