Massively Multiplayer
Seamless Open-World
Real Time Strategy
 

The One Man MMO Project
The story of a lone developer's quest to build an online world :: MMO programming, design, and industry commentary
By Robert Basler on 2011-03-10 20:36:18
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
One of the big pains of using OpenGL on Windows is that the Windows SDK only ships with OpenGL 1.1. There's probably a really good technical (and non-political) reason for this, but the fact remains, if you want to do anything with OpenGL on Windows, you're on your own.

What you need then, is something to bring the Windows SDK up to current standards (OpenGL 4.1 as I write this.) When I was originally trying to solve this problem (around the time of OpenGL 3.0), I came across GLee which is a cool library which makes the full OpenGL spec available easily. I didn't like their license, so I decided to write my own extension loader.

I don't think anyone should ever have to do this again, so I'm making this one public domain, do with it as you will. I'd like to hear if you use it in something, but that's not a requirement.
By Robert Basler on 2011-02-02 10:47:59
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

Sometimes you design something and it seems like it is a good solution, efficient, easy to implement, and then there's the reality.

My system for updating entities across the network was based on a simple idea. Everybody who is interested in a particular area gets updates for all entities within that area. Sounds simple right? But here's the problem. The areas are relatively small, so entities move from area to area pretty quickly.

Each time an entity moves to a new area, it needs to be synchronized with everybody interested in that area, ie the game needs to send the full entity definition to the new guys. There are a couple ways to do that, one is to send everything to everybody, the other is to send full updates only to the new guys. I implemented the latter since it is more bandwidth-efficient, but it turned out to be pretty expensive anyway. Too expensive in fact, but not in the way you'd think.


By Robert Basler on 2011-01-25 16:11:52
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

I've been trying to get my camera simulation working. Last week, I realized that the network was misbehaving resulting in multi-second packet round trips. A week of optimization work, and that issue is resolved. Now I looked at the camera motion system I worked out, and I remember that in order for the simulation to be somewhat rational, that all of the servers need to have synchronized clocks.

I was going to try to soldier on with my camera work leaving time for later, but the problem is that I've already figured out most of the time synchronization issues this morning, and if I go back to the camera work, I have to figure that out, then when I come back to the time, figure the time out again. So the efficient solution for a single developer is to do time synchronization first, and put off the gratification of seeing the camera work.

Sigh.


By Robert Basler on 2011-01-14 17:21:54
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

I've been getting anxious about having a playable to show people. It is getting really close now, so this week I expected to be getting the code running to move the camera and synchronize it with the simulation server. But as I was getting that going, I was shocked to discover that a round trip from the client to the simulation server took

SEVEN AND A HALF SECONDS

Gack!


By Robert Basler on 2011-01-14 12:24:26
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I never learned about C++ templates in school. I mostly learned Pascal. Then I went on to C and never really understood the need for templates when I started using C++ features. When I was working at EA, templates were effectively banned for game code, but I was encouraged to read programming books featuring templates which enabled me to finally understand their appeal. And it is strong.
By Robert Basler on 2010-12-05 11:01:43
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
When I went through school, I was taught that computer programs should recover gracefully from every possible error condition. That every function return should be checked, and that only through diligent use of nested error handling would reliable programs be built. As a result, the programs I have written have been largely error handling code, and not so much actual "do stuff" code.

I'm here to tell you, this is a complete waste of effort.
By Robert Basler on 2010-10-08 14:12:16
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
For the last couple of months I've been working on a distributed simulation server for my MMO. Breakthrough today, first units for the user loaded on the server displayed on the client. I've really got to get a more interesting model than that cube.


Read more... (0 comments)
By Robert Basler on 2010-10-08 14:10:13
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Every couple of years I mess up with my version control program and delete a bunch of stuff I didn't mean to. It's my own fault for not reading the dialog boxes thoroughly, and for deliberately not saving a backup copy before making the changes, but it still sucks. Yesterday while trying to roll back changes to three files, I accidentally rolled back the changes to the 20 or so other files I had made changes to over the previous two days. AAAAaaaaaaaaarrrrgggghhhhhh!

Ok, I feel better now. And I'm still a strong believer in version control. The ability to roll back changes and track changes over time is just too worthwhile not to do.
By Robert Basler on 2010-09-26 14:23:13
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Sherwood Dungeon was developed by Gene Enrody using Macromedia Director and Shockwave 3D. Sherwood Dungeon has been online since 2006, he has an occasionally updated developer diary.

Love was developed by Eskil Steenberg and is a procedurally generated MMO. This video shows his amazing tools in action (view 720p to be able to read all the text on the screen):



Golemizer was written by a single guy, here is his take on making an MMO by yourself.

Urban Dead was written by Kevan Davis and went live in 2005.

Not quite a single developer, but RuneScape was developed by brothers Andrew and Paul Gower and released in 2001.

Know more projects? Add a comment below.
Read more... (2 comments)
By Robert Basler on 2010-09-05 13:02:10
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Just wanted to say, Greylisting works! I have some old email addresses that have been on my web pages for years. I typically get about 3,000 spam a week. I can see a difference when researchers take out a big spam botnet.

I installed PostGrey this week on my mail server, skeptical of the difference it would make, but wow. Wow! I now get about 30 spam a week. Fan-freaking-tastic!
Read more... (0 comments)

More Posts

Project Line Counter in Visual Studio 2010 - 2011-06-04 00:01:45 (5 comments)
A Chrome UI - 2011-04-07 10:28:46 (6 comments)
Looking for a Fast Square Root - 2012-03-29 11:19:56 (4 comments)
Enabling NVidia GPUs on Optimus Laptops - 2014-12-03 02:31:40 (3 comments)
Test Weekend Feedback - 2016-11-30 00:50:18 (0 comments)
The Imperial Realm::Miranda Test Weekend 3 - 2017-02-23 13:08:23 (7 comments)
Load Testing by Day, Features by Night - 2016-08-08 11:54:08 (0 comments)
So Many Good Bugs! - 2016-12-17 18:29:48 (0 comments)
Fixin' Bugs - 2016-08-14 11:29:43 (0 comments)

Recent Comments

Things To Do - 2017-03-18 19:57:04 (2 comments)
Thanks, I'm still looking for ideas of what people think could be fun to do in an open world RTS.
Things To Do - 2017-03-17 14:23:37 (2 comments)
Sounds awesome to me, i like the idea of NPC encounters/quests etc,one thing i found when i played was you are right once you build a base and get harvesters running etc, if noone is there to fight you kinda float about waiting. Dont know what you ...
So Much Fun - 2017-02-27 18:31:54 (3 comments)
I had an absolute grand time playing this weekend. Thanks for helping me out whenever you could, Rob!

Looking forward to an awesome future
So Much Fun - 2017-02-27 11:01:54 (3 comments)
Hey Dondergod, what firewall program, and what did it complain about? It's not BitDefender is it?
So Much Fun - 2017-02-27 08:32:45 (3 comments)
I tried to get in, but my firewall kept blocking it.
Unfortunately I did not have the time this weekend to look further into it. Probably an easy fix, but I had too much to do.

Hope I will be able to enter the next test!
|<      <<      17      18      19      20      21      22      23      24      (25)      26      >>      >|

Admin Log In



[The Imperial Realm :: Miranda] [Blog] [Gallery] [About]
Terms Of Use & Privacy Policy