:: 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: A Day in the Life of a Game Programmer

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.

The house is quiet this morning so I can hear my Microsoft mouse beeping. I think there's a dying capacitor in it. I took out the batteries to shut it up. I only use that mouse for games anyway. I have a Bamboo touchpad I use for my day to day. It's hazy today, but fairly bright, so there's some hope for blue sky. Nothing interesting on Slashdot. Not much on the blogs I follow, although I learned that Twitter has a feature to block people who annoy you. I've never had a problem with that.

9:42 Heading out for a walk. Normally I just walk around the neighbourhood, but today I have a destination. Tomorrow is Valentine's day and I need some candy for my girls so I'm heading to Charlie's Chocolate Factory which sells very good chocolate. They also sell big bags of factory seconds at half price. I don't think walking to a chocolate store is any kind of win for my health.

10:50 Walking over the overpass I noticed that the grooved pavement gives the cars a weird whirring noise as they pass. If I need a cool sounding flyby sound effect that's where I'm going to record it. I bought a pound of chocolates along with the treats for the girls. I also stopped at Tim Hortons and bought a blueberry muffin for breakfast.

11:17 Had breakfast and a shower, time to get some work done. I've been working on improving the performance of my entity system and fixing some issues with my replication. It's been hard coding, I haven't had even a tiny break to think in four days, just typety-typety-type. I got it down to four build errors last night, but instead of fixing those I'm going to code up the rest of the changes to the replication system. 107 files changed and six new files so far. Kind of a whopper of a change list that is. Found one bug in the original code - a cut and paste error that might explain why players occasionally showed up as the wrong color on the map.

I needed a fast integer log function to figure out how many bits an integer was using, found this cool page. What did we do before Stack Overflow?

11:54 I forgot I had to drive my daughter to another school today. I'm waiting in the car in the school parking lot with the laptop implementing the new log function.

1:18pm Back in the office, Deadmau5 on. I find Deadmau5 good for coding.

3:02 I have all the replication code written, one build error left to fix, I need a pure base class to get rid of a dependency I don't want in the client. Starving! Break for lunch.

3:14 I got a home-made chocolate chip cookie for dessert! Everybody's home, sun is shining, back to coding.

4:22 Clean build! Most of the time I work in a Visual Studio project which builds a subset of the game and its tools - it's a lot faster building, but for this build I loaded up the full project. Hmm, I found a compiler generated copy constructor for one of my classes, I don't like those. I try to remember to add assignment operator and copy constructor declarations to my classes (private ones for classes that can't be copied.) I wish you could turn off copy constructor generation in the compiler, or at least make it a warning.

I'm working through the runtime bugs now, I don't know how I ever found bugs before I discovered ASSERTs. I have a lot of ASSERTs in my code now, so not much makes it past them, so far I've only had one crash to fix. In the end though, there's still no substitute for single-stepping through your code to find bugs.

5:30 Taking a break to make beef with broccoli and snow peas stirfry for dinner. I don't cook as often as I used to, or as elaborately. When this game is finished I'm going to start cooking more again. I have this completely unrealistic fantasy that once it ships that work will be less demanding.

9:45 Checking in with Twitter because it says I have two new followers today, but they don't show up in my followers list. Twitter is kind of unreliable. I'm watching a movie with my wife and continuing with the debugging.

12:11am Everyone's asleep. Serialization is working, all the data gets packed into a packet and the new log function works great. Visual Studio's ability to edit running code is super helpful for reducing iteration time when you have to start a bunch of server programs for every test run. Tomorrow I'll tackle debugging the decoding of all that data on the client. I estimated this task at 5 days, and this is the end of day 5, but it looks like it should all be running tomorrow so that's something. Klok says I've worked 8 hours today in eight separate blocks of time. Wednesdays are pretty broken up for me.

12:46 Finished cleaning up this post. Time to turn off the PC and relax. What did you do today?

By Robert Basler on 2013-02-15 13:28:13
Homepage: www.onemanmmo.com email:one at onemanmmo dot com
I cross-posted this piece on gamasutra.com and it made the front page. Haven't had anything on there since 1998! (If it's gone here's the direct link.
By Brian 'Psychochild' Green on 2013-02-23 17:11:35
Homepage: psychochild.org/ email:psychochild at gmail dot com
My schedule looked similar when I was running Meridian 59, although most events were shifted 4 hours later. Always been more of a night owl. :)

New Comment

Cookie Warning

We were unable to retrieve our session cookie from your web browser. If reloading 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 color is the ocean? (What's this?)

Admin Log In