Glad to hear it. Love the unobtainium idea. We once met this kid who wanted to do nothing but pretend to have Star Wars fights. So my husband asked the kid, "What are these Star Wars people fighting about anyway?" The kid stopped in his tracks. He had no idea. I don't think it had ever entered his mind to ask
why they were fighting. That is the kind of combat I have a problem with, the mindless, because-they-said-so kind. Real combat, from what I hear, is never mindless. It is full of minute-by-minute decisions about intents and motivations and alliances. That to me would be something interesting.
At this point I would like to give you three pieces of advice. Feel free to (a) use them (b) ignore them (c) tell me to go away. It is your project, I am just standing at the edge looking on.
1) About non-programmer "effortless" modification systems. I did take a look at your groovy files and images for the block definitions and like the system so far. I have struggled with several of these user-modifiable systems myself. There is an essential tension in opening up modifications to non-programmers. On the one hand, the more people can poke at the system the wider the range of amazing ideas they can bring into play. Some of the best ideas come from kids who can't program but can change simple things in simple files. On the other hand, there is this hard lower limit of being able to edit structured text. I don't know how many beginning-programming lessons I've had to give to experts in advanced subjects who just can't get to where they can understand a format that HAS to take the form [parameter]=[value]. Programmers tend to forget that not everybody can do this. I remember once writing a system where the owners could end their crippling reliance on expert programmers and make the tiny changes they desperately needed themselves, only to find out that they were afraid just to change a
spreadsheet file and called in the programmers anyway. Sometimes a very simple GUI that helps non-programmers enter ideas without understanding structured text can make a world of difference. One thing I see with many moddable gaming systems is that about ten times as many people WANT to write mods as can, and that's too bad because that's lots of possibly great ideas left out in the cold.
2) About NPC behaviors. I wouldn't even try to make this work in hard coding; I would open it up as well to a modification system. Why stop at block definitions? There are simply hordes of sociologists, psychologists, even ethologists who would love to mess around with behavioral rules to create amazing challenges. That's more fuel to the open source fire. A few pie-in-the-sky ideas:
- player characteristics are things about the player: standing, sitting, lying, running, wearing something in particular, with this skin, hungry or not, etc.
- NPC characteristics are similar but about the NPCs: running, about to give birth, old, newborn, angry, tame, etc.
- contexts are times, places, circumstances that change how things play out: in full sun, under a crescent moon, on a cold day, etc.
- item-actions are things one can do with or with reference to an item. give, take, steal, ask for, trade, leave to find, throw, hit with, destroy, give away to someone else, etc.
- character-actions are things you can do to/for/at someone: attack, defend against, protect, trade with, form an alliance with, befriend, mate with, provide for, keep away from, warn others away from, etc.
- durations are how long particular effects last: one day, one month, until some event occurs.
- specifications can put these together into rule sets. like: if you [throw] [gold] [near] [a wounded werewolf] [at night] [when the moon is full] [and you are wearing a white hat] they will [protect you] [on moonlit nights] [for one month]
- or: if you [run away from] [a unicorn] [with one black hoof] [that is NOT looking at you] [on a hot day] [while holding a diamond] the unicorn will [attack] [any character that comes near you] [until you hit any unicorn]
The great thing about a thing like this is, the information is already there in the system. All you have to do is set up a large and flexible system of parameters and make it easy to bolt them together. And then lots of creative people will pop out and start making amazing things. You could imagine people being able to put these things together into a fascinating array of rules. And then the fun part would be that you would have to figure out the rules by playing the game. Now THAT is what I call fun.
3) The other thing about open parameterized systems I've noticed is that there is a sort of critical mass of complexity in parameters. MC has very few material-property parameters: occlusion box, transparency, emitting light, explodes, I can't remember them but I was surprised how few there are. If you add more and they are
imaginative, like "disappears after one day" or "swallows everything next to it" or "changes color if you walk on it" or "lights up during rainstorms" or "triggers nearby circuits but only on Tuesdays" and so on, people can go crazy putting them together. I think one mistake people often make is in only setting up a very small number of these, thinking people will not be able to handle them all.
Some people can't but some people can, and they can do amazing things. In the plant drawing system I made ages ago I had something like 200 parameters that determined the look of a plant. Most people ignored most of them, but the master artists could manipulate every single one to do things I had never thought of. So I'd over-build that part of things: it's essentially free creativity. [The other thing people loved in that system was the plant breeder: random assemblages of parameter values. You could make a rule breeder that comes up with random rules, some of which are unexpectedly amazing.]
Actually, slavery would be a very good idea. It would be great to be able to be the "bad guy" sometimes and work through what THAT is like. Like a red-teaming approach. There is nothing wrong with playing out what it would be like to be bad; that is kind of the point of play. Nasty behaviors and their consequences would be easy for expert rule-makers to set up: say if you [fight] [an orc] [that attacks you first (not the other kind)] [and win] [on three consecutive days] they will [become your slave and do anything you say] but they will also [expect you to feed them and give them a bed], and if you [give them anything nice] they will [rise up against you and kill you]. And so on.
So anyway, there are some over-the-top crazy ideas for your use. I hope they are helpful! Will say no more else unless asked
woodspeople