Twitter  Facebook  YouTube  E-Mail  RSS
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-09-20 17:00:10
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Up until now I've been working with a subset of my world data - only 1/9th of the final size. The world builder program which processes that subset of the world data uses about 3.5GB of RAM and takes 35 minutes to run to completion. With my porcupine rendering bug fixed, I decided it was time to load up the full world data set.

I knew my 32-bit world builder wasn't going to do the job. I needed the additional address space a 64-bit application offers.
By Robert Basler on 2011-09-13 14:21:43
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Never mix data from more than one code path.

I've had a problem with my lighting for a while - I get ugly bright streaks where world blocks are stitched together. I knew there had to be some problem with the normals (I'm using simple n dot l lighting for the world) but when I looked at the code, I just couldn't see the problem.

Some of the lighting normals are precalculated, some are calculated at runtime. I did this to keep the size of the data down. With all the normals in the data, the size of the world data grows from 363MB to a whopping 1.46GB. Way more than I wanted to have to pay for people to download. Precalculating some of the data ahead of time and some at runtime shouldn't be a problem, however I had two different code paths that calculated those normals. Hmmm.
By Robert Basler on 2011-09-08 19:00:30
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I've had a rendering bug that has persisted for a long time. I've tried a number of times to track the bug down, but no matter what I did, after my game had been running for a long time, the scene geometry would freak out with polygons poking out all over the place. It kind of made the game look like a crazed porcupine.

I use VBO's for my rendering. They contain either indices or vertices. I only had one VBO for each and had coded my renderer so that the VBO's would reallocate and expand whenever they needed to. The expansion code was sort of slow since the VBO's needed to be repopulated with vertex and index data and then transferred to the GPU whenever they grew. My thought was that I'd find out how big they needed to be during development, then set the starting size to that so they would never actually need to expand at runtime.

For a long time I had known that the graphical corruption always occurred shortly after a VBO grew so I figured there was something wrong with the code that did the expansion. I debugged and checked and checked, but no matter what, I couldn't find a problem.

Finally last week I had a breakthrough. I set the VBO's to huge sizes so they wouldn't have to ever grow, and to my great surprise, after a long time running, the porcupine came out to play. My assumption was wrong! It wasn't growing the VBO's that was the problem!
By Robert Basler on 2011-08-22 13:51:47
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

I had reason to revisit the games I worked on at EA this week. EA has a policy that defines who gets into the credits for a game. While you can see my work in all of these games, I didn't get credit for all of them. (My first official game credit was FIFA Street 2 - Woo!) Anyway, here's the games I worked on:


By Robert Basler on 2011-08-21 23:02:09
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
The summer is a challenge for a home-based entrepreneur. With my daughter home from school, I don't get the several-hours-long block of uninterrupted time I need to focus on development each day.

We did two trips this summer. Since I'm feeling the pressure to get my game out the door, I felt I needed to work through both of these "vacations". That didn't really work out.
By Robert Basler on 2011-08-11 00:12:13
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Today I had my first ever working multiplayer session. Up until now I've been testing all my technology with just one client hooked into the servers. But today, I logged two clients in, then I had guys moving around on one machine perfectly synchronized and moving on the other PC. It is so awesome to finally see it all go. Networking is working, time synchronization is working, replication is working, camera's working, I still need to do some work on interest management, but it finally looks like a real game. Making a 2, 4 or even 32 player game work is challenging, but it is an entirely different thing to see the technology I've built to support 100,000 players running. Whee!

Tonight I got invited to a Microsoft Studios party for a new studio starting up in Vancouver. They're recruiting, and the way they describe what they're doing, it sounds like a whole lot of fun. It seems the new studio is largely populated by my old buddies from Fusion, so it was great to see so many of them. Fusion was one of the most enjoyable periods in my career, so that they seem to be doing the same thing again is really interesting. I also saw a lot of people I know from EA (and who are still working there.) It had an open bar and I got a nice new 343 Industries branded 2G USB drive and a Microsoft T-shirt. They're not saying what they're working on, but I'll bet you're going to play it.

Now if my ears would just stop ringing…
Read more... (0 comments)
By Robert Basler on 2011-08-09 23:44:38
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I haven't really talked about networking at all on the blog. That might seem a bit odd given that I was a 'networking guy' at EA. There's no conspiracy here though, the simple fact is that my networking code was done and dusted before I tackled the blog in earnest and I write about what I'm thinking about. Networking is a big topic, so there'll probably be other articles later.
By Robert Basler on 2011-06-25 01:21:09
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

One thing that bothers me about writing a MMO is that one day, it will be gone. SOE announced they will be shutting down Star Wars Galaxies yesterday which got me thinking. So much effort went into developing that game, players played it for years, and as of December 15, it will all be gone. Just like The Matrix Online, FIFA Online, Tabula Rasa, and so many others. Sure, from time to time a MMO comes back, Hellgate, APB, but usually once they're gone, that's it.

I have programs I worked on 25 years ago that people still use today. And nothing is preventing them from running another 25. A MMO is a different beast.

People ask the developers to open-source the servers, but often that isn't practical. The company might be closed with nobody to do the work to get the program ready for distribution. The servers might use licensed code or components that can't be made available and are expensive to strip out and replace. Perhaps the game technology is running other games and security is an issue. In many cases the servers are simply big and complicated and require experienced people with a lot of game-specific knowledge to build and maintain.

I do think its cool when people decide to write their own replacement servers like SWGEmu which brings back the old Star Wars Galaxies.

I'm not sure what I'm going to do about the inevitable future of my game. Something to think about.


Read more... (3 comments)
By Robert Basler on 2011-06-21 00:07:52
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

Four weeks. Four-freaking-ever. That's how I'm feelin'. Tooooooo long. But pathfinding is running! It is glorious to finally see things move!

I implemented the A* algorithm which works really well for finding optimal paths. Here are some things you should consider if you are implementing A* pathfinding:


By Robert Basler on 2011-06-04 00:01:45
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Project Line Counter is super handy, but it hasn't been updated since Visual Studio 2005. Here's how to get it to work in Visual Studio 2010…

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)
Enabling NVidia GPUs on Optimus Laptops - 2014-12-03 02:31:40 (4 comments)
Looking for a Fast Square Root - 2012-03-29 11:19:56 (4 comments)
Return of The Fallen Release Notes - 2017-12-21 15:07:24 (0 comments)
What I CAN Tell You - 2017-10-08 15:00:08 (0 comments)
So Many Glitches - 2018-03-05 01:35:44 (2 comments)
8 Years of Development - 2017-11-04 15:53:48 (0 comments)

Recent Comments

Anniversary! - 2018-05-12 13:33:26 (4 comments)
Thanks for the feedback Dondergod, I don't think you are alone in that evaluation.

I have extensively considered F2P, but it doesn't foster the type of community and game experience I'm trying to build. It also brings a whole pile of design, ...
Anniversary! - 2018-05-12 04:52:16 (4 comments)
To be honest, it's the reason why I decided not to buy into the game.
While I really like the concept and even the gameplay from the test sessions that I've played, I've already looked at a lot of MMORTS, and they all have the same issue.

No one plays ...
Anniversary! - 2018-05-10 13:33:49 (4 comments)
Thank you. Hopefully people are a little happier with the visuals with the next update. After that, the plan is to work on getting more units into the game, adding more missions, and making The Fallen into a more formidable adversary.
Anniversary! - 2018-05-10 02:46:05 (4 comments)
Well i think the games great, agreed the visuals are a bit dated but the concept is good. I also agree more solo content is needed with the occasional pvp element, there just isnt enough people yet for a pvp only focused game. I still think that it ...
Enabling NVidia GPUs on Optimus Laptops - 2018-04-05 00:18:12 (4 comments)
NOTE: the nVidia steps 1-5 above take approximately 4 seconds to complete. I've pulled them out and only call them once.
|<      <<      20      21      22      23      24      25      (26)      27      28      29      >>      >|

  Admin Log In



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