:: The story of a lone developer's quest to build an online world
:: MMO programming, design, and industry commentary
[The Imperial Realm :: Miranda] [Blog] [Gallery] [About]

The One Man MMO Project

By Robert Basler on 2013-02-25 00:02:39
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
So that last blog post was picked up by gamasutra.com which was pretty cool. It was tweeted to over 70,000 people, hit the front page of Gamasutra and stayed there for three days, was featured, and made their news feed. I got 15 comments, saw 22 new followers, traffic on the website was 8 times normal the first day (almost 25% of those iDevices!), and it has now settled at twice what it used to be.

Between checking out the comments and web stats, I've been working on a bunch of different things.
By Robert Basler on 2013-02-14 00:50:25
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I saw this post on Gamasutra yesterday, and I thought "maybe people wonder what programmers do all day." So here it is.

8:12am Wake up.

8:26 Hug the family goodbye as they head out for the day. Cover head with blankets, not ready to get up yet.

9:02 Roll into the office. Check on onemanmmo.com, then Twitter. Gamestop says that 60% of the people it surveyed wouldn't buy a game console if it wouldn't play used games. Yeah sure.
By Robert Basler on 2013-02-09 12:47:09
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Singletons get a bad rap from programmers. Just go do a search for "singleton problem" and read any of the first 100 results. From all the anger you'd think they cause disease, or burn books, but no. They're globals, and programmers hate globals.

The recommended "solution" to the singleton problem is to pass the potential singleton to every class that needs it as a parameter so that you can see it is used in the declaration for the class. It's only one variable, or one parameter to a function call, so what? That's the approach I took for my entity system, dutifully passing it to every class that needed it, and having them store it internally if needed.

The problem that developed is that the ES is the central database of my game and it is used by dozens of different modules. Over time, the standard approach had amounted to a few ugly workarounds, hundreds of lines of code to maintain, tens of thousands of instances of one variable, and hundreds of thousands of function call parameters - every frame.

I'm extremely pragmatic and I've always taken other programmer's grand pronouncements on code purity with a large grain of salt. That was clearly an unacceptable trade-off just to avoid a global. Singletons are tools, use them appropriately.
Read more... (2 comments)
By Robert Basler on 2013-01-28 23:27:24
Homepage: www.onemanmmo.com email:one at onemanmmo dot com

I'm writing this up because of the unbelievable pain I went through to get it working. It seems like something that shouldn't be that difficult: getting a model to follow terrain by adjusting its up vector to match the up vector of the terrain mesh under it and to face in a given direction, but try and try again, I could not get it to work. Rotation matrices are my bane. Nothing else I do is so unbelievably frustrating. If they worked or didn't work that would be fine, but as I went along I found a lot of variations that would almost work and it wasn't always easy to tell what was wrong. My favourite variation worked perfect when going north or south, but squashed the model into a diagonally tilted pancake as it rotated through east and west.

I found a lot of information on the topic on the internet, but all the detailed examples were for DirectX, the OpenGL ones were all brief, too brief evidently.


By Robert Basler on 2013-01-20 02:09:15
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
My game's environment is 300km by 300km. In real world terms, that isn't all that big, but for a game world, it is sizeable. Once a rendered scene becomes larger than a couple of kilometres in size, you start running into severe problems with floating point accuracy. Even with my test terrain which is only 20km by 20km, I had very noticeable problems with props on the terrain appearing and disappearing as the camera moved. The graphics card thought the terrain was alternatingly in front of, or behind, the prop.

Luckily there is a fairly simple to implement workaround for this issue.
By Robert Basler on 2013-01-12 02:15:20
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Today I got the last major rendering feature running. I also fixed a bug that has been bothering me for weeks. I didn't expect today, or the last two weeks for that matter, to turn out like they did.

I wanted there to be some vivid color in my world. Much of the scenery is monochromatic, so I wanted flowers. Fields of them.

Normally I write about things that go well. Like this week I wrote a bitset template class, nothing super complex, but a few hundred lines of code. To my amazement it compiled without warning and passed its also-brand-new unit-test the first time. That doesn't happen very often. Occasionally I'll write about things that went pretty badly. Then there are the things that go spectacularly off the rails.
By Robert Basler on 2013-01-02 19:33:01
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I was designing a faction select screen today. I want there to be approximately equal populations in each faction. While doing the layout, an old bias I noticed came to mind.
By Robert Basler on 2012-12-31 12:35:27
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Last year I looked back at 2011 and made some predictions. I thought it would be good to take a look back at this year and see how I did on those predictions.

2012 was definitely the year of rendering. I had a vision for the look of my game and my biggest accomplishment this year was taking the first screenshot that actually looks like that vision.
By Robert Basler on 2012-12-24 14:02:52
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
Getting my Christmas list ready this year was sort of disappointing. In years past, I would ask for all the hottest new PC games and I had a lot to look forward to on Christmas morning. This year there were few big releases, and I already had Mass Effect 3. The only 2012 game on my list this year? Guild Wars 2.

I like big, complicated, 100 hour story driven games. I love Command and Conquer (haven't played a good one of those in years), Mass Effect (although I can't get into the final chapter) Bioware or Bethesda RPG's. I love to explore the worlds of MMO's. I really miss the space shooter genre - Freespace was so much fun, and getting Wing Commander 4 for Christmas so many years ago was the highlight of the day.

I think the fragmentation of the games market is getting me down. I don't have an iPad, or a Android phone, or an iPhone (I often feel like I'm the only one) I don't use Facebook, so all the effort that has gone into development of games for those platforms is wasted on me. And frankly, one session of Angry Birds was really enough.
By Robert Basler on 2012-12-18 00:19:10
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I'm not a great artist. I did some drawing classes a few years ago which I quite enjoyed, but I didn't produce too many masterpieces -- although I liked this one:

chalk.png


I am decent with a camera -- I was working the macro lens a couple weekends ago shooting some kitchen items to try as textures. Sugar looks like diamonds, and icing sugar looks like weird rock formations. Shortly afterwards I found cgtextures.com which is an amazing resource for textures.

You may be able to tell, I've been having a whole lot of fun the last few weeks. As a programmer I was surprised at how wonderful and satisfying it is to put art into a game engine. It's not something I really got to do working on game engines at EA. With the new art in place, a couple weeks ago I took the first screenshot where I excitedly thought "I could show this to people and they wouldn't laugh!"

Recent Comments

Single-File Installer - 2014-07-23 17:48:47 (2 comments)
Found a solution to the MT warning message http://onemanmmo.com/?mt
Single-File Installer - 2014-07-22 12:03:13 (2 comments)
Tried to add Miranda to Windows Games Explorer, but its too much trouble for now. I did finally find a good set of instructions on how to do it though. The tool for making gdf files is called gdfmaker and can be found in the Windows 8.1 SDK at ...
You Have 34 Days To Avoid a $10,000,000 Fine - 2014-05-28 12:07:46 (6 comments)
I like how one of the suggestions for lead generation is to "send the person a letter." I'm glad bulk paper delivery to my house is still legal. And why is there an exception for political fundraising?

Your tweet on the PR impact is good, thanks. ...
You Have 34 Days To Avoid a $10,000,000 Fine - 2014-05-28 08:32:30 (6 comments)
And about Twitter I found the following:

"In his discussion with the CPRS, Bill Hearn adds that Twitters Block, Following, Report Tweet as Spam functions satisfy CASLs standard of being (i) conspicuously published in content and readily available as ...
You Have 34 Days To Avoid a $10,000,000 Fine - 2014-05-28 08:23:38 (6 comments)
okay so here's what we're looking for: https://twitter.com/DanTisch/status/470675306353680384

"Joe Blogger as conspicuously published his email address on his webpage inviting people to contact him by that means = Implied consent (but CEM must ...
1 2 3 4 (5) 6 7 8 9 10

Admin Log In