Advertisement

Can there be RPGs with no goal?

Started by June 29, 2006 10:42 PM
99 comments, last by Omegavolt 18 years, 6 months ago
Quote:
Original post by headfonez
I bet you wont thank me when I make the game with out ya.

Just be sure to put me in the credits as Creative Consultant [smile]

Beginner in Game Development?  Read here. And read here.

 

Quote:
I'm trying to figure out a way that say the world is moving and of course you get updates on what goes on but the meat of what goes on is in the area you're in. Hmmm... lemme see. Well (I'll have to do more thinking) in the beginning of the story (going with the original premise) you're a classless villager. At the same time, the kingdom you're is in one of these scenarios: "The war can end and people can bring about reconstruction. The negotiations could break down and the war starts again. The war could end in a stalemate and the two kingdoms could be in a Cold War." Let's say that the reconstruction is happening. Well that affects the town. Business is booming. So you find yourself something to do. Farming, selling, being a nusance. Whatever. But every thing that happens the game will mainly focus is the town because that's where you are. So let's say a couple of game days pass by and you decided that you want to join the thieves' guild in the forest. You leave. The village no longer has focus and the game is not micromanaging what happens there. It pretty much just goes into the background. It's accounted for but not so much. So now you have joined the thieves' guild and become a lieutanent. Well a year has passed in game time. In that year you have ordered two raids on the village you used to stay at. This triggers two things: the kingdom starts to notice and the village start to talk. So now when you go into town people people talk about the robbers and thieves. And when you back through the forest to your guild you run into a lot more soldiers (but not necessarily fight them).

Better or worse... or pretty much the same complication wise?

What you need is a "level of detail" that handles your world AI. I've brainstormed on this quite a few times, and heres one possible scenario:

The "World Story" can be prewritten, linear or branching, to give a detailed "backing" for the story.

The "Political Story" is an AI that drives each state/country/city/whatever. Each AI keeps track of it's own relations with other countries, and with the player, and interactions with that "AI" (such as talking to the king or walking through their towns) are driven by what that AI thinks of you.

When an political AI gets past a certain "war" threshold with another region, they may declare war, and send off an army to battle. This army is represented in the game AI as a point walking through the world toward its target.

If the player doesn't go near that point, they will never see the army. If they do, the game can procedurally spawn the army in that area, and the player may choose to (ignore/help/fight). If the army (point) gets to its destination and the player doesn't see it, it starts doing "damage" to the city (just a number decrementing). Next time the player enters that city, the game procedurally generates the damage done.

Take rules like this and slowly build them together and your world will soon be full of life with a fraction of the content needed for branching structures.

Check out my new game Smash and Dash at:

http://www.smashanddashgame.com/

Advertisement
Quote:
Original post by Alpha_ProgDes
Quote:
I've been thinking about ways of doing types of games like the one that you described, and those bits I bolded I think are key in making the simulation achievable.

First of all, stop STEALING! [grin]

Hey, I had that particular idea back in 2002. Got the documents in a filing cabinet somewhere to prove it [grin]

Quote:
Quote:
Now if the village sim has a relationship with the rest of the world, such as trade or diplomacy with another nation, then the system had to have a rudimentry idea of what the rest of the world is, but it probably only needs the basics.

And this is the big WTF as far as creating such a system and then coding it.

Exactly, and this is one area where I've been stuck for a while. If I were thinking a bit more clearly today maybe I could remember exactly how far I got to solving that - or if I were back home I could dig out those documents [smile].

I suspect I only got as far as thinking that could be done by building a knowledge database - define the world as a selection of logic statements, and keep a record of what has been decided to exist, what does not exist, and what decision could possibly be made. I think I was also toying with the idea of defining a set of possible decisions - i.e. maybe the shiny magical sword is still stuck in the stone where you left it, but maybe the evil witch queen stole it; we'll decide which is true when we have to. But while it all sound good in theory, actually trying implementing the thing shows how many holes there are in the theory and how damn hard the whole thing actually is!

Quote:
Quote:
However, this still has the problem of how to limit the content down to a manageable size. Some form of procedural generation or somehow reusing content to make the world larger than a prescripted place needs to be done, I think. Plus I think you will need to put some limit on exactly what the player can do, otherwise the scope will be too large.

Well content was something I feel was tooo much a problem because most of what I pulled from was old Final Fantasy games, Secret of Mana and Chrono Trigger. (Notice how I could careless about what dimension the game is in)

Yup, this is the way to go, I think. If the game is cartoonish one like the whole SNES era of RPGs then players won't be phased with all kinds of limits on what they can or can't do - heck, you can't even climb over small objects in those games [smile].

I'm actually dreaming of eventually putting this all together into a Zelda-esque or Secret of Mana-ish RPG sometime in the next few years, but I've put the interactive storytelling on hold as I work on my other game developing skills.

Quote:
As far as what the character can do it is an interesting challenge. Because it could be a GTA, Animal Farm, FFVII, the Sims hybrid where you can do everything and anything. But at the same time if I want to have action A have an immediate, rippling, or future on a person, event, or place, it'll take far more foresight than "EWWWWWWWWWWW, COOOOOOOOOOOOOOOOOOL!! ok now program it. thanks."

Oh yes, I know that from bitter experience [smile].

My instinct (i.e. not really based on any real logic) is that one of the keys to solving this is knowing the best way to "fake" the interactivity in the storytelling. Allowing complete freedom of the player, or keeping a log of every event that has happened or could possibly happen is not going to work. But by steering the player where you want him to go, keeping records of miscellaneous or certain events to make it seem like you are recording everything, that might just do it.

Of course, it's still damn hard! I suggest you track down a copy of that Interactive Storytelling book by Chris Crawford (it's listed in the books section of GameDev.Net; I think I wrote a review for it). While I don't know if the methods he listed there will help that much with what you and I are hoping for, it does provide a good background for the topic, and is nearly the only book out there.

Quote:
I dub such a process "Out of Scope Interaction"TM

Nice, I'll have to remember that [grin].
Quote:
Original post by Kest
How about a slightly pre-modern era, like the 1800s? Or even the early 1900s?


The game "Call of Cthulhu: Dark Corners of the Earth" comes to mind. (Bethesda Softworks, et al.) Setting is early 1900's with a mixture of run-for-your-life and man-is-that-creepy. (Unfortunately not the most polished game of all time.)
Christopher Nicholson-SaulsD Programming Language | Mango Tree
In tying in design and programming, I think it's necessary (for me anyway) and obvious to ask: "will this whole game be event-driven/message based (are they the same thing?)?"

should i think of this from a programmer's perspective? have the kingdoms be objects. where it receives messages and listens to events from the other "objects"? or would it be better to just flesh out the interactivity then transform it to code?

Beginner in Game Development?  Read here. And read here.

 

Just wanted to let you guys know that I've got your back, or at least back support, if you continue with 2D sprites to build these RPGs. Don't fall into the "no one will take me seriously if I don't go 3D" crowd. As a gamer, even though I'm pretty old-school, I wouldn't give any animal's ass whether the game is 2D or 3D.

But now I want to add another note, which nearly contradicts my above view. 3D models are a pain to get started, but once the programming is complete, the work envolved (especially art work) is a lot less tedious than sprites. I honestly like pretty 2D sprites more than I like pretty 3D polygons, no matter how tessellated or realistic they are. But the models, once complete, can be animated to do millions of things (no exaggeration - literally millions), with very little work necessary, and using nearly the same amount of memory required to make a sprite simply walk around in eight directions. The animations are also universal. One walk animation can be used on every humanoid shaped creature in your game. This means one 'getting stabbed' animation can work for nearly every character in your game. Even characters you have yet to build. Animation is a big part of any game, and the 3D route allows you to step it up to insane proportions, while 2D slams you into some pretty rough limitations.

No more thread tangents from me. I just wanted to throw that out there. I've been through a lot of pain working with both dimensions, as both the programmer and the artist, and the pain I experienced with 2D far outweighed the pain I faced in 3D.
Advertisement
Wow. I haven't seen a thread like this in a long time.

I think the way I'd approach this would be to find a way to go from general to more specific events.

Start with a randomly generated world. Populate that world with a finite amount of resources.

Next, generate two or more kindoms. These kingdoms trade resources every month or year, their population is known, relationships between kingdoms are established, wars start and end, borders are redrawn. At this point, everything is just handled through simple variables. Population, gold, and army strength (security). A kingdom needs its population to grow so that more tax can be collected so that the security of the kindom can be enhanced so that the population can grow larger still. The availability of resources will enhance population, gold, or army strength values.

Anyways, now you have things happening on a macro-scale. Then you could work things on a regional scale. Then from a town level. Then from the perspective of the individual. Each has their own AI scripts running. A nation AI focuses on its relationship with other nations and on what happens on the regional level. A region AI focuses on its relations between other regions, the nation, and the towns. Town AI focus on other towns, the region, and the towns people. The people, mostly focus on themselves (that's kind of a blunt way to put it, but i'll explain).

Since everything has pretty much just been a number game to this point, you can work out what percentage of the population are miners, merchants, blacksmiths, bandits, or whatever jobs you want as part of your world. The jobs will affect what the individuals do in their day. An individual has a relatively simple starting AI. Get out of bed, goto work, come home, eat, be with / grow family, sleep, repeat. Work affects the economy. Family affects the birth rate. How safe it is to travel between the two places, is an indicator of security.

You would have the apropriate AIs running depending on what area where the player is. For countries that the player isn't in, run the country AI. For regions the player isn't in, run the regional AI. Etc. Now you want to start giving the player something to do and people to interact with.

Most NPCs live the boring life where they get up, goto work, come home. However, there are some people that have some sort of celebrity status. Typicaly they'd be the leaders of towns, guilds or criminals. But they can also be lone individuals with revolutionary or reactionary ideas. Or for that matter, just an everyday serial killer. Celebraties can be known locally, nationally, or internationally depending on why they're supposed to be famous (their job). But it's the celebrities that provide the driving force for things that happen in the world. And they're the people that the game would need to track to some extent.

Of course, you would not want to track every celebrity all of the time. However, if you had a national AI (or other large scale AI) running and a major event occures that needs to be explained, it can just get tagged onto a celebrity. Sort of like finding a scapegoat for an event (either good or bad), but the events were likely true. If the player decides he wants to learn more details about an event, have an AI that makes up the details as the player goes along. Like the worlds AIs, start with the large generic event, work your way to the small details as they become needed.

As for communication between player and NPCs... I have no idea. I'm out of thoughts for the afternoon. Maybe Wavinator has some thoughts on the matter. I think he wanted to go for some kind of system like this.

Edit:
Oops, also wanted to say that disparity breeds descent. The fact that one group of npcs has something and another does not could be used to drive events.

If you want to get into npcs having belief systems, the young tend to seek change while their elders tend to maintain the status quo. Another potential source for events.

All this asumes that a player might become curious about the things going on around him and chooses to investigate.
Quote:
Original post by kseh
Wow. I haven't seen a thread like this in a long time.

I think the way I'd approach this would be to find a way to go from general to more specific events.

Start with a randomly generated world. Populate that world with a finite amount of resources.

Next, generate two or more kindoms. These kingdoms trade resources every month or year, their population is known, relationships between kingdoms are established, wars start and end, borders are redrawn. At this point, everything is just handled through simple variables. Population, gold, and army strength (security). A kingdom needs its population to grow so that more tax can be collected so that the security of the kindom can be enhanced so that the population can grow larger still. The availability of resources will enhance population, gold, or army strength values.

Anyways, now you have things happening on a macro-scale. Then you could work things on a regional scale. Then from a town level. Then from the perspective of the individual. Each has their own AI scripts running. A nation AI focuses on its relationship with other nations and on what happens on the regional level. A region AI focuses on its relations between other regions, the nation, and the towns. Town AI focus on other towns, the region, and the towns people. The people, mostly focus on themselves (that's kind of a blunt way to put it, but i'll explain).

Since everything has pretty much just been a number game to this point, you can work out what percentage of the population are miners, merchants, blacksmiths, bandits, or whatever jobs you want as part of your world. The jobs will affect what the individuals do in their day. An individual has a relatively simple starting AI. Get out of bed, goto work, come home, eat, be with / grow family, sleep, repeat. Work affects the economy. Family affects the birth rate. How safe it is to travel between the two places, is an indicator of security.

You would have the apropriate AIs running depending on what area where the player is. For countries that the player isn't in, run the country AI. For regions the player isn't in, run the regional AI. Etc. Now you want to start giving the player something to do and people to interact with.

Most NPCs live the boring life where they get up, goto work, come home. However, there are some people that have some sort of celebrity status. Typicaly they'd be the leaders of towns, guilds or criminals. But they can also be lone individuals with revolutionary or reactionary ideas. Or for that matter, just an everyday serial killer. Celebraties can be known locally, nationally, or internationally depending on why they're supposed to be famous (their job). But it's the celebrities that provide the driving force for things that happen in the world. And they're the people that the game would need to track to some extent.

Of course, you would not want to track every celebrity all of the time. However, if you had a national AI (or other large scale AI) running and a major event occures that needs to be explained, it can just get tagged onto a celebrity. Sort of like finding a scapegoat for an event (either good or bad), but the events were likely true. If the player decides he wants to learn more details about an event, have an AI that makes up the details as the player goes along. Like the worlds AIs, start with the large generic event, work your way to the small details as they become needed.

As for communication between player and NPCs... I have no idea. I'm out of thoughts for the afternoon. Maybe Wavinator has some thoughts on the matter. I think he wanted to go for some kind of system like this.

Edit:
Oops, also wanted to say that disparity breeds descent. The fact that one group of npcs has something and another does not could be used to drive events.

If you want to get into npcs having belief systems, the young tend to seek change while their elders tend to maintain the status quo. Another potential source for events.

All this asumes that a player might become curious about the things going on around him and chooses to investigate.



Thanks. This is absolute brilliance (work from top down....add details as they are needed). A breath of fresh air!

Tell us more. If youre out of ideas for the afternoon, I will wait for the evening!
Following this idea is a "fill in the blank mechanism"

Say for example you meet a townsman and you want to talk to them about their past. Well, first the computer selects or creates random NPCs and towns, and then checks those units to make sure they are not currently used as a historic element and can be of valid use to create a story.

Tank example:

Player: "Is this tank yours?"

The answer is yes, but the NPC wants to put a history behind the event. So the computer checks to see if this particular tank has a history (history of the tank is saved on hard drive). If no, then a random time frame is selected (9 years ago) The computer then selects how the npc got the tank. So it selects a valid game location (a particular shop in Town X) + the time frame (9 game years ago) and fills that event in that time slot.

The townsperson: "Yes, nine years ago I bought this tank."

This way, if the player wants to travel back in time 9 years , this event is called and can actually be seen preformed.
Quote:
Original post by Anonymous Poster
The OP is talking specifically about single-player games. IMO the concept is great, but not feasible simply in terms of today's AI capabilities.

Why so? And thank you for answering my other question. We have PCs with dual graphics cores, and dual- and quad-core CPUs. The 360 and the PS3 have technically 6 and 8 processors, respectively. All that calculating power can't be all for physics and graphics. Can it? Or are you saying that AI code and techniques are not mature enough to handle "dynamic" world interaction (no i'm not TMing that).

Beginner in Game Development?  Read here. And read here.

 

This topic is closed to new replies.

Advertisement