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
2013 At a Glance
By Robert Basler on 2013-12-31 12:18:10
Homepage: email:one at onemanmmo dot com

It's time for my third annual look at the past year.

Looking at my work log, the biggest part of my year was spent getting systems that kind of worked into final working condition, adding features, fixing corner cases, bugfixing, polishing and improving performance (I did a lot of work on loading and rendering performance.) While I thought I was mostly done with rendering last year, I still put a lot more effort into making the game pretty this year. I added more normal mapping, distance fog, smoke to damaged units, dust to moving units, a sandstorm effect, two factions worth of buildings (21 of them,) 23 rocks, fields of flowers, the sky, distant terrain rendering, a rusty container-ship setpiece, color correction and heat refraction post-effects and at long last: rubber-band rendering for the mouse. Adding Object culling was the biggest rendering performance win.

Getting the patcher built was a huge job, but it made asset streaming for my giant terrain super-easy. I also worked on the trailer, added an audio sequencer, set up account creation, finished the minimap, added achievements, started on factions, recreated the server process manager I made for Medal of Honor Heroes, and made parents in the US happy by adding support for COPPA.


[My daughter's favourite screenshot - The Wonky Navmesh.]

Work on collision detection and pathfinding started in April and was a big, ongoing project throughout the year. I have had pathfinding for a long time in one form or another, but it didn't do all it needed to. Collisions and pathfinding on small maps are pretty straightforward and well-understood, but make the map really big and it gets incredibly challenging. Pathfinding is working now, I watched the pathfinder trace out a 17KM path a couple months ago. Along with the new pathfinding came a big update to unit movement replication so that the internet can take a five second nap and everyone's tanks will still keep moving correctly. The really difficult part though has been figuring out collisions. There is a big balancing act between implementation complexity, performance and accuracy which I've really struggled with. A couple more days and I should have that finished as well. Then I can decide what to do about group movement.


[Neatly aligned tanks.]

My blog piece A Day in the Life of a Game Programmer got the most interest of anything I wrote, although Three Normal Mapping Techniques Explained For the Mathematically Uninclined also did well.

The high point of the year was putting out two screenshots and starting to do PR for Miranda. Having other people be excited by the game is really energizing. It's been a long time since I've done an interview and it was really nice not to be misquoted. I even got my first Troll comment on the game (no I'm not posting a link.) The really shocking thing from my first foray into PR was discovering that nearly half of the publications on a two-year-old list of PR contacts had closed.

Last Year's Resolutions

  • I will network and generally get out of the home office more. I attended Full Indie almost every month this year. I made a few new friends, some useful contacts, and met three other lone MMO developers. The Full Indie Summit was also fantastic.
  • I will do programming projects unrelated to my game. I think this is going to have to wait for the game to be done.
  • Other people will play my game. So close, but nope. At least other people saw my game.

Resolutions for 2014

There can be only one.

2013 By The Numbers

196,592 Lines of C++ Code
3,543 Lines in largest file scene.cpp
944 C++ files
611 C++ Classes
471 Tweets
459 Items in the "what did I do this week" log.
231 UI Files
191 Textures
74 Materials
73 Checkins to Mercurial
67 Models
54 Shaders
33 Blog Posts
15 G+ Posts
14 Facebook Likes
12 Custom Tool programs
6 Server programs

Favourite log comment: Improved Abort build speed of mmo1 from 371,462ms to 54,188ms an 85% reduction!

Happy New Year, and don't forget to Like me on Facebook ;)

New Comment

Cookie Warning

We were unable to retrieve our cookie from your web browser. If pressing F5 once to reload this page does not get rid of this message, please read this to learn more.

You will not be able to post until you resolve this problem.

Comment (You can use HTML, but please double-check web link URLs and HTML tags!)
Your Name
Homepage (optional, don't include http://)
Email (optional, but automatically spam protected so please do)
What is 5 multiplied by 1? (What's this?)

  Admin Log In

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