Advertisement Jump to content
  • Advertisement
  • entries
  • comments
  • views

Multiplayer update....

Sign in to follow this  


Ah...about half way done workin' for the night figured I'd take a break and journalize the stuff I've done lately.

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 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
Sign in to follow this  


Recommended Comments

Incredible, everytime I look at your journal, there's something awesome you just did. I can't wait for your postmortem.

Share this comment

Link to comment
Sir Sapo - In order for me to write a postmortem I need to finish it first :-/ It looks like I've got to rewrite my whole character rendering was flawed from the start...that's gonna do a number on my beta schedule ARG! Or I could just wait until it gets into beta to re-write it. I dunno. *throws things around the room*. Thanks for the support though, I appreciate it :-)

Coder - Yea, good point, I just changed it to "Ping".

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!