WARNING: Long, rambling idea thread that isn't much use to anyone.
I've been toying with this idea on and off for a year or so, amongst several others, and recently it's gotten to the point in planning where I believe it might be possible the way I want it. There's no real programming that's been done on it yet - I really didn't want it to fizzle out after finding out that my vague planning is unworkable with the engine I had made. But I've started to create the skeleton of some parts of it, and since I very rarely post and mostly lurk, I thought I'd share with you guys what I'm doing (besides making a strong AI, but that's another thread)
Earthsage is (will be?) a heavily atmospheric game in which the player delves deep into an ancient crater that is inexplicably (for the sake of variety) not very geologically sensible; the tongue in cheek reason for this is that this is a potential mine for magical crystals, extremely valuable commodities that are not strictly legal for any but those the King gives permits to. The crystals constantly give off a field of energy which alters their environment in subtle ways. The idea is influenced heavily by Clonk Rage, Dwarf Fortress (of course), Liero, Falling Sand Game, and The Incredible Machine, to name a few.
In their natural form, the crystals don't do much. Maybe warm their surroundings a bit, or make plants grow faster. But when they're ground into lenses, prisms, and other forms, their powers are magnified and can be used in precise ways. For instance, one of the first tools the player will make is a melt-gun; a void crystal (which blocks and absorbs most energy put into it like a black hole, but can violently explode if too much is put in at once depending on its quality) is placed in front of a fire crystal lens, which is placed in front of a mana crystal. These activate passive forms like lenses with their own strength, and also carry a charge like a wire if placed between two other crystals. The void crystal is attached to a trigger mechanism lifting it out of the way when pulled, and the result is a finely focused thermal drilling tool.
The player has a skill called Engineering that gives you mostly randomly chosen ideas for inventions such as these that can be carried with you at all times, but you may also place crystals, lenses, prisms, etc manually in the environment, and they'll interact with each other in scripted ways. As the number of types of crystals are fairly limited, the system would be manageable, although extensive.
Your goals are your own - within the crater are other Sages that want the crystals there for their own use, as well as a great deal of riches in the form of metal ores, ampure (a very tough semicrystalline material used in this world for armor and decorative purposes), and the crystals themselves. There would be all sorts of underground features, from dank pools with strange subterranian toads living on their banks, to magma chambers created by large lodes of fire crystals in their center, to verdant caverns of slowly growing green life crystal. All crystals would influence the mood of their surroundings, glowing and mixing together with other light sources.
The surface would exist as a sort of testing ground; creatures there are mutated by the strange energies of the huge mana crystal at the center of the crater, more powerful than most of what you'd encounter underground, and there's a dragon waiting as one of the biggest challenges in the game. There's also merchants waiting just before the rim to deal with you, and if you can manage the engineering required, you can even sell them huge useless blocks of dirt by dropping them onto the wagon they've parked by the edge. If you manage to break it they'd come after you.
Which brings us to the next big part of the game, and the one that would probably be the most difficult to implement - the terrain can fall and roll around, crushing whatever is beneath it, melting in heat, dissolving in acid, etc. etc. Now, anyone can dream of something like this, but I believe I have a way that it might be possible.
To start with, the whole map (which is very, very large. Think on the order of 25 km wide and down an arbitrary amount) is compressed using BSP techniques. The map would not be pregenerated; instead, as you dug there would be a certain (small) chance that you encountered a new feature appropriate to what area you're in. The feature would then be placed in a way that didn't impact what was already there. This way, I could have areas with active conflicts as the player enters them, but if he waited too long one side of the conflict wouldn't have dominated before he got there.
The map is composed of block tiles that are traversed smoothly by players and enemies; in-memory position data is kept track on a rougher per-tile basis, and as entities move they cycle their x,y positions from 0 to 255 within the tile, but otherwise if the player went out of visual sight of an entity, its movements would become abstracted so that it didn't have to do all the acceleration and collision calculations all the time. Collision is not pixel-perfect; rather, each tile type (there are 32, counting two that objects never intersect) has a polygon defined past which the player or other objects may not move. The tile types I have laid out are here
this is a reduced-size guide I made for creating my tile sets - each tile set would contain up to eight variations in graphical styleFor terrain that falls, I will be able to trace the outline of a multi-tile block and create a simple polygon that can then be passed to either my own or an external physics library. The tiles are eliminated and an image is generated that falls and rotates with the new entity. The best part about this is that I only need to store three bytes of information per static tile: what block type it is (I have 3 bits left over after the 5 I use for terrain information), what material it is, and how much damage has been done to it. The rest (crystal effects, heat, etc) can be handled more sparsely, as for the most part these are rare, localized events.
There's more I've written down for all this, but I've rambled long enough. I had wondered if anyone was interested in something like this. Not that I'm motivated much by that (there's no guarantee I'll stick with this long enough to put all the planned features, or even make it playable
), but Bay12's forums are a diverse place, and I think that feedback from it is likely to be valuable