WARNING: A very long post is following. I wanted to give my idea some credibility, so I ended up writing a bit more than expected. :)
Hey there.
Just today, I was playing minecraft for the first time in quite a while. When I played, I noticed how dynamic it was, and how little is done with that. So out of pure enthusiasm, I thought about how more could be done with that, and then I thought how it could be done, and then I remembered that this game existed! So it was rather funny when I came to this website and saw the post about gathering ideas.
The first clue to my idea: My problem with most MMOs out there(such as WoW) is that they're static. They don't allow for the player to influence anything. Rather, you just play through a linear storyline that is the same for anyone, no matter what other players have done or will do. I hear EVE online is an exception, but I can't be bothered to pay so much money for a game that probably doesn't run on my laptop.
The second clue: Have you played Dwarf Fortress? If not, it is a game that fully simulates a medieval fantasy world. "Fully simulates" includes a block-based 3d map similar to MC with mining, building, water, and so on. However, this alone would never give the impression of an authentic world(which is why MC still seems like some lego clone). Dwarf Fortress furthermore adds a well-done AI, a large-scale world and history generator and multiple civilizations and associated towns.
So basically, when playing DwarfFortress, you don't feel like you're all alone in a barren lego world, you feel like you're in an actual world that lives and evolves.
There are a few problems with DwarfFortress, however:
- It uses a slice-view and ASCII graphics. Many people find this cool, but I feel a lot of potential players are turned off by this. While there are third party 3d renderers, they'll probably never work out too well, since the game wasn't designed with 3d rendering in mind
- It lacks multiplayer. I *love* multiplayer, and this is exactly the gamesetting that would make for hours on end of great multiplayer experience.
- The RPG mode(adventure mode) is very alpha and there's not a lot to do. The main dev focuses on the "Dwarf Fortress" mode, which is more of a building simulation.
- The thing is closed source and the modding API is non-existent(you can only add items or change values of existing items, but no scripts)
So, while this may not be an actual "original idea", I think mixing the strengthes of MC and DF would fix both of the games' weaknesses, and create a game that is truly fun to play. Basically, I'd suggest turning minetest into a large-scale RPG with a huge dynamic world, where the player can just explore, interact with AIs, or make a difference(by, for instance, joining a kingdom and helping it in war).
What would need to be done for Minetest?
There would have to be a simulation mode where not every single block is simulated, but rather large chunks(if minetest operates on chunks) are bound together into a large "supertile" with some values, and only these values are modified.
To give an example: You could have a chunk with a lot of trees in it. When all players leave this chunk, it is offloaded. However, an object remains that holds information such as "heavily forested". In the rough simulation, you have some lumberjacks enter the chunk. Rather than to chop down actual trees manually, the lumberjacks simply set the chunks information to "sparsely forested". When a player enters the chunk again, it is loaded again, but at the same time most of the trees are removed. With just one event happening, this will not save a lot of CPU, but since the world will likely be much larger than what the players can occupy, there may be dozens if not hundreds such events without any player entering the chunk.
Then, of course, there would have to be an AI for NPCs, and some town-building and similar algorithms. It would greatly increase the immersion I think if you could go to a town and listen to a local resident complain how difficult it was to build that bridge over that river!
Last but not least, there'd have to be a good crafting system, a good combat system, and a good scripting system. By the last I mean that it should be easy for third party developers to add in stuff like a health system, or a more complex cooking system, and so on.
Now as to the implementation of these things.. I haven't read too much into your code so far, so I have to mainly rely on what I've read on your site. The maximum of 65kx65kx65k is large, but maybe not large enough for an entire world. Would it be expensive to increase this limit to 32bit? If so, maybe it would be possible to have the world split into multiple maps, which would also make it easier to distribute the world over multiple servers?
Speaking of multiple servers, for this to work out, it might help out to be able to divert some of the computations to a few (possibly elected) users. If you play this with your friends, you'll trust them not to cheat, and on large servers, you ought to have a trusted user base, as well.
Edit: It seems you already have the following point!
I also don't know the API of your gamelogic(objects, blocks, maps, players, etc.), but if possible I would suggest creating a lua API to these. There's a fast lua implementation called luajit which is incidentally the fastest dynamic language VM out there. It runs at roughly 1/10 C speed, which would be fast enough for most of the higher level routines. Using a dynamic language can save a lot of time.I haven't thought too much about how the AI could be done, but with some simplifications(such as caching travel routes and closed rooms) it should be possible. It doesn't need to be too smart, just smart enough to add some immersion to the world.
That's it for my suggestion. Lots of work? Yes. Worth it? Totally. If I can make any time for it, I'd love to help with this, so if you're interested in this idea, I'm open to discuss it more and tinker with some code.