Home       About Me       Contact       Downloads       Part 42    Part 44   

Part 43: A Simple Plan

December 2, 2011

Reading the comments from last part, I detect a certain impatience... Some of you want me to stop fooling around with details and put out a game. By now, you might be wondering if I'm ever going to produce something playable. I'll admit to some serious concerns:

  1. I've had the feeling that you only get one shot at announcing a new game. If the graphics or gameplay stink, people just write you off and never visit again. Ironically, the one thing people do seem to tolerate is lots of bugs. I always try to remove bugs as I go, so I don't tend to have a huge debugging/alpha period at the end.

  2. If a lot of people start playing, I will need a serious amount of server support, which costs money. I had originally planned to make the game peer to peer, but that's still far in the future.

  3. If I attract griefers, I will need to harden the server and do more administration to keep the community healthy.

  4. Once the game goes live, there will be lots of new features requested. I'll have to stop working on long term ideas and spend a lot of my very limited time putting in features. I might get so diverted from my original plan that none of the big stuff gets done.

  5. If the landscape of the game world isn't done right at the start, I can't revise it without destroying work people have done.

On the Other Hand...

Fig 1: Part 39 readers over time
Fig 2: Total hits over time (not including RSS)

On the other hand, I could spend months more on this and still not have anything playable. And there are answers to these concerns:

  1. The current group of readers is fairly small. I can't tell how many exactly. I get 1000-1500 hits on each part--about 300 right away, and the rest trickling in over the next couple of weeks (see Figures 1 and 2). About 350 of you eventually play the videos according to YouTube. Perhaps 100 download the demos.

    That's enough for thorough testing and would not overload the server. Anyone still reading after a year has to be pretty patient and probably won't leave in a huff if the game isn't instantly spectacular.

  2. On the other hand, one link from Shamus Young or a big site like Rock, Paper, Shotgun would generate thousands of new users and probably kill the server. We'd be skating on thin ice.

  3. The current trivial server has been running for nearly a month and not been attacked. It has no security at all. So perhaps we can run a site for awhile without it being trashed. I don't know how many people like to run around and wreck stuff. The TwentySided Minecraft site got trashed at least once, I think.

  4. My programming time is constrained by my health. There's no point in working on code when I'm short of sleep or full of aches and pains -- I create so many more bugs that it's a net loss. But I don't need to be completely alert to administer the site. I could come up with another 10 hours a week for that kind of thing.

  5. Finally, I thought of a way to handle the landscape problem. I can start the game off with a single asteroid, instead of trying to create a planet, moon, etc. Then even if I changed my landscape algorithm, I can retain that one asteroid unchanged in the new version. It can just be an exception to the general algorithm for creating asteroids, if necessary.

    I can put all the game play elements in with a single asteroid, and then add the other asteroids, generation ships, planet, moon, and ring as I get the chance. This makes for a less interesting environment at the start, but eliminates any problem with rebuilding the world and destroying existing buildings.

What Needs to be Done

I have most of the pieces I need. Here's a list of the major work items:

  1. Convert the Part 28 landscape code to work on a sphere.

  2. Use the latest code for walking in spherical coordinates.

  3. Put interference checking and gravity back in.

  4. Add a tool for raising/lowering the heightmap landscape. This lets the player create a building site. Holes in the ground, but no caves.

  5. Use the latest brick display code from Part 37 to display buildings.

  6. Implement block selection using the Part 31 code.

  7. Write a simple world database for storing buildings.

  8. Add the UI for adding/deleting bricks and a palette of brick types, like Minecraft creative mode.

  9. I need a file dialog for import/export.

  10. Add export to the Minecraft viewer.

  11. Add import to the game.

  12. Do a server version, with code to distribute building data to users as they move, with updates as the world is edited.

If I want some protection against griefers, I also need to add some security features:

  1. Periodic saves of world files and ability to restore ruined areas.

  2. User registration and ownership of territory.

  3. Ability to ban users.


I'll leave this up to you readers. Here's a poll:

Let me know. For now, I'm messing with my old GUI code.

Home       About Me       Contact       Downloads       Part 42    Part 44   

blog comments powered by Disqus