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-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)
By Robert Basler on 2010-07-28 17:42:48
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I needed an account system for my MMO but I couldn't find much info on designing such a beast. Having figured out much of this on my own, cobbled together from stuff I read, I thought I'd put together an article on a few of the things I learned while building my login server, LoginD.

Disclaimer: I am not a security expert, so this system undoubtedly contains flaws. Take the information here as a starting point for your own design, or better yet, hire an expert.
By Robert Basler on 2010-06-13 11:42:33
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Some things seem like a good idea - and then there's the reality.

Using C/C++ means dealing with pointers. You can trick them up with smart pointers to reduce the chance of error, but sooner or later you're going to get memory leaks - little bits of memory you've allocated and never freed.

For software that needs to run for a long time reliably, these are death. You can watch the memory use of the process increase and increase over hours, days or weeks, until the server falls over.

To catch these, you need a system that can track memory use and help you find where the leaks are occurring.

Something else that is really useful, is a system to help you track when you stomp memory outside your allocated blocks.
By Robert Basler on 2010-03-24 18:05:58
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
So I have this CGI-BIN application written in C++ that uses several very old libraries. It was originally written for OS/2, then ported to OS X, and now Windows as I switched servers over a number of years.

My new server is running Ubuntu 9.10 (not the server edition.) I initially spent a few days trying to port the CGI app to Linux before finally giving up when the old library code started spitting out thousands of template errors because the old templates didn't match current C++ standards.

While I was working on that, I read this article on Wine which made me think - maybe Wine can run a Windows version of the app under Apache2!
By Robert Basler on 2010-03-14 14:28:43
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
The last few weeks I've been implementing a scenegraph on top of my renderer. It had renderable nodes (meshes, vertices, material lists etc.), transform nodes, various visitors, serialization, and it is all basically working. The problem I find now, is that I want to get rid of the whole thing.

The reason is something that has been bothering me the whole time I've been working on it. I am building a modern game engine, free of as much historical cruft as I can arrange. The biggest challenge of modern hardware is effectively using the sheer number of processors (CPU's, GPU's, SPU's etc.) you have access to.

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)
Bold New World Micro Trailer - 2019-02-14 17:59:12 (0 comments)
Bold New World Trailer - 2019-02-19 18:27:55 (0 comments)
Spy Satellite - 2019-04-28 23:18:27 (0 comments)
Being Rejected by 36,261 People Feels Really Bad - 2019-10-02 13:39:07 (3 comments)
Wait What Now? - 2018-11-27 02:17:34 (0 comments)

Recent Comments

Crash Reporter - 2019-11-08 14:42:11 (1 comments)
Addendum: Some virus programs will block transmission of the dump file unless you lightly encrypt the dump data when sending it from the client.
Being Rejected by 36,261 People Feels Really Bad - 2019-10-04 13:10:20 (3 comments)
Thanks for the detailed feedback, that is really helpful. I hope you enjoy the game. There's another big update coming pretty soon now.
Being Rejected by 36,261 People Feels Really Bad - 2019-10-03 16:57:50 (3 comments)
Some thoughts as someone who was brought here by HN and buying it didn't even cross my mind.

1. It wasn't immediately obvious to me where to get this, or that it was available to the general public at all yet.
You need an eye catching "BUY" button. ...
Being Rejected by 36,261 People Feels Really Bad - 2019-10-02 14:06:15 (3 comments)
P.S. I debated quite a while about posting this at all, but bad things are also part of the indie gamedev experience and often people don't talk about them.
Off Topic: CanonImport - 2019-06-07 23:45:27 (1 comments)
Uploading videos to PC from HF-S100.

1) If you want thumbnails:
Connect camera power.
Connect camera to PC via USB cable.
Turn camera on
Open Screen
Press Camera/Play button below screen.
Generate Thumbnails.
2) Run canonimport for directions.
|<      <<      24      25      26      27      28      29      30      31      (32)      33      >>      >|

  Admin Log In



[Home] [Blog] [Video] [Shop] [Press Kit] [About]
Terms Of Use & Privacy Policy