Home       About Me       Contact       Downloads       Part 39    Part 41   

Part 40: Game Design

November 14, 2011

The Amazon Web Services VM seems to be running fine, and hasn't cost me anything yet. With just two clients running from my machine and moving constantly (which sends position updates to and from the server 4 times a second), the utilization looks like this:

The CPU use is pleasantly low. There's no world database (it's all rendered procedurally in the client for now), so there's no disk I/O. There's a reasonable amount of network activity. So far, so good. I'd still like to see it with 50 users on, but that's not going to happen with the number of people who have downloaded it so far. When I get the solar system done and allow building, perhaps I'll ask Shamus Young for another link and we'll get some more testers.

I've also gotten my first attacks from the net. I assume these URL requests are trying to break into the site:

62.149.211.154 GET /w00tw00t.at.blackhats.romanian.anti-sec:)
62.149.211.154 GET /phpMyAdmin/scripts/setup.php
62.149.211.154 GET /phpmyadmin/scripts/setup.php
62.149.211.154 GET /pma/scripts/setup.php
62.149.211.154 GET /myadmin/scripts/setup.php
62.149.211.154 GET /MyAdmin/scripts/setup.php
The IP address resolves to "serverdedicati.aruba.it", which is a hosting site. I feel like a first class website now! :-)

I'm still working on the solar system implementation. I've been preoccupied with some some family issues this week, so I don't have a new demo yet. Instead, let me share a game idea with you.

Game Design

I've been working towards a multiplayer Minecraft-style world. As I created this world, I realized it was going to be huge and empty. So I thought I would sprinkle around some procedurally generated ruins. The work Miguel Cepero has done here is an inspiration. Some scattered ruins would be just the thing to give people a reason to explore.

Unlike Minecraft, my structures are not imbedded in a block landscape. That means you could build free-floating objects like bikes, cars, trains, sailing ships or space ships. There could be crafting and some sequence would produce motors or rocket engines. Out in the asteroids, you might also want gravity generators.

Rather than make you go through some incredibly long (and bizarre) crafting sequence to make these, I thought perhaps they should be relics from the previous civilization. Abandoned factories, vehicles or space ports would be the perfect way to give players a supply of engines without making them craft each one.

I was imagining flying over the landscape where people have built things, and of course I wondered about combat. Since these buildings are all made of blocks, they would be fully destructible. I expect everyone has seen one of these great Minecraft structures and wanted to blow it up. :-) So I was imagining bombs dropped from zeppelins, or rounds fired from tanks, and a whole combat scenerio. But it has a serious problem.

If you are going to spend a lot of time building something, it's really going to hurt when it is destroyed. Or put another way, people just won't spend time on structures if they risk being destroyed in campaigns (or by griefers!) So I was stuck on that.

Finally, I was thinking about animals and how to implement them (and allow players to design their own animals.) That led to thinking about making critters, like Sims, who would move around the world on their own. Putting all these ruminations together, I got an idea for a game design.

Minecraft meets Civilization

Instead of abandoned ruins (or in addition to them), suppose there were critters who had an economy and built cities. They could even defend their stuff, making you raid them for materials of your own. Or perhaps you could command them and make them build things.

Then I thought, what if you designed a building in Minecraft-creative style offline, and told your critters "here's your blueprint, now gather resources and build it." That would solve the destruction problem. You'd still have your structure offline, you'd have a reason to build it, and you could introduce it to the world again and again, so long as your critters have the resources to build it. There could be online libraries of good plans or people could trade them.

If I do that, then combat can work. Your critters can war against other critters, either commanded by players or an AI. In fact, you could design weapons and vehicles for them. So you'd start a campaign by gathering resources, telling them where to build defenses (that you've designed), tell them to build seige engines, tanks, airplanes, star cruisers, etc. Then they'd use the things you've told them to build to fight with.

You could dart around the world, taking a first person role and helping, or direct troops, or keep commanding them to build things. You could fight other people, or an AI. A single-person variant would be like a SimCity or Civilization game, where you try to get your critters to spread over the world and out into the asteroids, etc. They could fight a different set of critters spreading off the moon and into the asteroids.

In the multiplayer world, buildings will accumulate. People will import Minecraft structures that the critters will adopt and live in. As people fight, ruins will be left behind, and the critters can clean them up. Since everything is persistent and destructible, the world would develop a history with a lot of variety as people played in it.

So that's my current idea for a game. Not exactly a reasonable amount of work, but that has never stopped me....

Stages of Development

Fortunately, I don't have to do this all in one stage. I can break this into steps.

  1. A multiplayer Minecraft style world. People can bring all their favorite Minecraft structures into the world. That should give it some interest.

  2. Add some critters and let them build structures. This is going to add to the CPU load of the server, but perhaps it's manageable.

  3. Let users give the critters designs to build. At that point, split the server into pure creative mode and a world where critters build things to your design. You would no longer be able to instantly import buildings.

  4. Add an economy for the critters. I'd have to work out things like mining and food supplies, energy supplies, etc. Critters have to be a LOT smarter to keep all of this going.

  5. There's a lot of world, and a lot of critters living in villages. Players find a group no one is using, and start building up their capabilities. When they are large enough, a fight can start. I'm not sure how you arrange matches and whether the critters continue to do things when players are not online. Should a match end when all your opponents' critters are dead, or can they surrender?

  6. Single-player versions of all of this, and endless tuning.

So that's my idea du jour. I'll probably change my mind some more when I think about it and again as I implement the world.

What do you think?

Home       About Me       Contact       Downloads       Part 39    Part 41   

blog comments powered by Disqus