Advertisement

World Building as a 'Game'

Started by January 23, 2006 04:41 AM
21 comments, last by Numsgil 19 years ago
Quote:
Original post by someboddy
Ohh.... I get it.

You want a command-line based level editor.


Yes, I suppose you could think of it like that. But I think that description fails to capture the complexity I'm thinking.

It's closer to the world builder in Civ 4, but on steroids. In Civ you specify world size, landmass shape, water level, things like that. Imagine taking that to the absolute extreme and presenting it in an artistic and pleasant manner.

Then add on that the ability to 'override' the world with specific details you could specify, and add a certain unpredictability for spice.
[size=2]Darwinbots - [size=2]Artificial life simulation
Quote:
Original post by someboddy
Ohh.... I get it.

You want a command-line based level editor.


No you don't get it. We're discussing potential user interfaces to generate interesting worlds. The interface itself is largely the interesting part in the discussion.

Quote:
Original post by Numsgil
On the other hand, I'm not sure I want it to turn into the computer generating a 3D world from a 2D painted landscape, which would be the logical conclusion this could be taken to. Spatial relationship between words shouldn't necessarily represent spatial relationships between objects in the created world. Rather, distance should somehow represent relative relationships between concepts.

...

I like the idea but I'm still a little fuzzy on the implementation. Do you mean colorizing the symbols? Maybe coloring behind them?

Maybe symbols should represent constructs. Trees, plants, land masses, etc. Colored symbols could represent a particular attribute of that symbol. A brown tree could mean decidous while a green tree symbol means evergreen.

The background color underneath the object could represent more abstract concepts, like solar energy or something like that.


Hmm, perhaps let the colors represent 'forces' in the world. For example let green be 'nature' and red be 'fire' or 'energy'. You could than have a symbol for 'tall', a more specific attribute. Paint the symbol with green and you might get a forest.
Place a symbol for 'population' near that symbol, to make a relationship between the people and the potential forest.
If you were to color the population symbol green as well it might create a forest inhabited by a happy group of monkeys. If you were to paint it red the population might be more energetic or active, for example an industrial community that uses the forest for fuel.

Furthermore a larger symbol could be more powerfull and a darker colored symbol more filled with the respective force. A large, deep red population might therefore seriously affect the balance in the world.

As you yourself state, you should probably seriously limit the number of colours, symbols and relationships you support to actually finish such a program. But I'd guess you'd need a lot of them to actually make the concept interesting.
Advertisement
Ideally I'd like to make an engine that's expandable. If adding new elements is relatively easy once you get a basic working model it's just a matter of concerted effort to flesh it out to be more and more complex.

I guess it's like the difference between making the level editor and making the levels.

I really like the idea of symbol size being related to emphasis. Color depth likewise.

Colors I see working as either the three primary colors or the 3 primary and 3 secondary colors. The advantage to having 3 colors only is that you can mix colors on a symbol without confusing its meaning. In the end it depends exactly what concepts you want to use.

Symbols can be made to represent 100% of concepts, so you need to pick attributes that are going to be universal to most other symbols. Your exampel of nature or life could be such a universiality, but I guess it depends a large part on how the language ends up working in practice.

I think you'd pick concepts that would be common enough that color would be an appropriate shortcut for representing it, and probably still have symbols you could use in place of the color.

I'll give this some thought during class today and see if I can come up with anything illuminating.
[size=2]Darwinbots - [size=2]Artificial life simulation
Interface is definitely where this could be made to shine. However, being a programmer, I'm going to have to suggest that the idea is being approached from the wrong direction [wink]

At the risk of taking all the artistic magic out of it, what you're really seeking to do here is create a function that maps combinations of user input onto a procedural system that generates complex results. The principle here is similar to emergent-behavior systems, chaos theory, fractals, etc. etc. - the idea that the whole can be more than the simple sum of parts. The critical aspect to this is that you have to know the parts you're working with first.

In development terms, you can't design an interface to interact with something if you haven't designed the "something" first. So IMHO the way to attack this is to choose a set of elements we might want to involve in the system. A short list could look something like this:

- Terrain features
- Climate
- Flora and fauna
- Sentient beings

Now the task is to take these high-level features and decide what aspects of them should be controllable by the player. Once those aspects are chosen, it should be relatively straightforward to imagine a "language" through which those aspects can be communicated.


I like the Myst concept of world-writing, but I think for a game that may be beyond reach. Natural language processing is still fairly limited in its ability to interpret the subtleties and connotations of imaginative writing. As such, I second the idea of using a more visual medium. Color, texture, and maybe even sound could be the expressive elements, rather than vocabulary.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Quote:
Original post by ApochPiQ
I like the Myst concept of world-writing, but I think for a game that may be beyond reach. Natural language processing is still fairly limited in its ability to interpret the subtleties and connotations of imaginative writing.


As written in the Myst prequel-novels, the D'ni language used for the writing of worlds is not really a 'natural' language. It is a series of symbols representing concepts/classes of object/forces where every symbol placed may change the effect of any or all of the other symbols.
In terms of natural language, each world is like a single sentence, whose entire meaning may be changed by the addition of just a few words.
In addition, conflicts in the world description are expressly forbidden, and their use may cause discontinuities/instabilities in the world itself.
Strict rules like these would help the programmer no end, and since no symbol is actually linked to an effect in the world, the compiler is pretty much free to do as it wants.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

I'm hoping that developing the language and world interaction simoltaneously will produce a result that is optimally aesthetic and practical.

As I played with it, I think the first step is understanding basic groups of elements. This is a (partial) list I can think of:

Geology
Atmosphere
Moisture
Heat/Energy Input
Height Map
Locality
Flora
Fauna
Sentient
Events (for instance ancient meteor impact, etc.)

The nearest game I can think of that comes any where near this is Sim Earth, so I pulled the above rough groups from that.

For this to work at all I think you'd have to define elements in terms of a tree structure. That way you can incorporate whole sections of a tree by linking to the stem, setting up relationships between elements that are inherited by their children.

As far as the language, I'm thinking it would have the simplistic structure that makes modern programming languages feasible. A simple adjective adjective ... noun structure, with maybe some verbs to describe relationships explicitly. I'm not entirely sure as of yet.
[size=2]Darwinbots - [size=2]Artificial life simulation
Advertisement
Quote:
Original post by ApochPiQ
I like the Myst concept of world-writing, but I think for a game that may be beyond reach. Natural language processing is still fairly limited in its ability to interpret the subtleties and connotations of imaginative writing.


This seems to be a relatively common complaint against this idea. However, you don't need intelligent processing, you need something that looks intelligent. Special effects in movies, plays, and magic tricks almost always turn out to be horribly mundane when you see how they were done.

The basic implementation I'm picturing goes something like this. Create a two dimensional array, each element representing a square of the level's surface. Each element will have several properties in the range of 0 to 1 (or UCHAR_MAX, or whatever).

The language will define sources for the various properties. Perhaps the east symbol will place a source in the east (from some arbitrary, but constant, orientation) with some pseudo-random jitter (so it's deterministic but not predictable, if you get my meaning) and perhaps pulled a bit north by a relatively nearby north symbol. If the symbol is blue, we'll increase the water property of the surounding areas (perhaps decreasing with an inverse square law with distance). If a "flat" symbol is near this blue east symbol, we'll also make the east symbol decrease some elevation fluctuation property to give the water a flatter bottom (the strength of the flattness effect will depend on the distance between the two symbols).

Now, we feed this information into some algorithm (I'm not an expert on terrain generation so I'll let them decide on this part of the implementation, but, knowing statistics and a very little about fractals, I can imagine some parts of the implementation already).
Now, if the player is literally going to write out a story in the game world. I think you are going to have to come up with a system that models the English language. So that the program can understand sentences, then find the nouns in the sentences and then find the verbs the effect that noun. That way the program will have some ideal of what the objects properties are... for example.

"The cold night air blew in from the southern sea."

the computer runs the line and finds "air" and "sea" air gets the properties of 'nigh' and 'cold' so the setting must be at night and from cold perhaps randomly their is a chance that it snowing. southern is attached to sea so to the south their must be a sea.

I think it would have to work something like that. I think that will be a tough project.

To aid the player while they write the story. You could have the words the computer recognizes light up and perhaps show some kind of link to the words that affect the word. This will give the player some idea as to if the computer even knows what the player is talking about.
It's not really a story in the sense of having plot. I guess realistically it might be similar to old romantic novels minus the plot. Basically alot of description without much meat.

The concept is somewhat alien if you're unfamiliar with it. Which is why I use Myst as an example, as it captures both the idea and the mood I think something like this would have.

In Myst, they had words which described whole concepts like certain wind patterns or soil compositions or things like that. The idea being that each symbol contains a great deal of information, necessary because if the books were written in English it would take a a book the size of an encyclopedia.
[size=2]Darwinbots - [size=2]Artificial life simulation
The way I saw the world creation in the books was that the language to descirbe the worlds was very Object related.

You would use sets of keywords to describe first the Sun it circles, and where it is among other stars (beyond basic star type, and orbit distance/angle, this can be left out, and assumed to be done for you).

After that, you are going to want to start adding planets to your solarsystem. Could just do the one, a very lonely planet orbiting a star all alone. You define it from the center out. What is its core made of? What materials are in it? How are the plates moving? Are there any plates? How stable is your planet?

After that, you are going to add things like water, and maybe rewrite gravity a little (remember the one where liquid water floats? The world with the waterfall dropping through the center of the planet?)

Then you are going to want to add things like grass, trees, bugs, animals, people, and maybe go as far as to define buildings and cities.


The world generator would then take this, and start defining things from the center out.

I think it could be an amazing game, having to write worlds, and then try and manage them. Remember all the problems that happened in the books? That sounds like a major challenge to both write a program that can deal with that, and to actually play it. Could be fun to play a game where the goal is to find worlds scattered throughout the city, and write your own. Create an empire, ruled with an iron fist? or create beautiful, free parklands?
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.

This topic is closed to new replies.

Advertisement