ConsumerHans

Dynamic world framework

Recommended Posts

I know the title sounds awful - I'm after some real world feeback about an idea I have had in my head for about a decade. I have to say I'm not a game dev, I'm a consumer.

There are game engines - Frostbite, Unreal, to name some that I have heard of myself. They add the physics, AI, rendering, collision and some other aspects of the game. What they don't seem do is to simulate the world that the game actually plays in. Therefore more often than not, this world seems to be simulated by scripted events (missions, waypoints, etc.) or in a more "Open World" kind of approach that let's you do whatever you like, but often without any real consequences.

I was thinking about a framework that simulates, on an abstract level, an artificial dynamic world, and that could be connected to a game engine by choice via API/interface.

I'll try an example:

There's a table with a suitcase full of guns. It is rendered by the game engine. I can kick the table and the suitcase will fall down. But if I pick up the suitcase and go out on the street and happen to run into a police control, I'll either get arrested or, in case of resistance, shot at. So on an abstract level, there's an item A that triggers a response from a group B based on my action C. I know that this can be done by scripting, but that's not what I'm interested in. I'm looking at a dynamic framework layer that a game dev could connect to a game/physics engine in order to create a game.

Is this understandable? If so, is this in any way doable or marketable, from a professional's point of view?

Thanks, Michael

 

Share this post


Link to post
Share on other sites

Understandable? Yes.

Doable? Definitely, if and only if you were a lot more specific about what exactly it would be doing. "Item A that triggers a response from a group B" is so vague as to encompass pretty much everything, so really you'd be looking at codifying a set of rules and ways to express the operation of those rules. Even that itself is still far too vague, so there's a lot of detail lacking here.

Marketable? Unlikely, because game design is largely about choosing which rules your world will operate under, and whatever rules you chose may not be the rules other games will want.

Share this post


Link to post
Share on other sites

Well it needs to be kind of abstract I suppose, because it is an abstract layer that comes in *before* anything is being rendered.

3 minutes ago, Kylotan said:

Marketable? Unlikely, because game design is largely about choosing which rules your world will operate under, and whatever rules you chose may not be the rules other games will want.

Isn't that what a framework does? At least in my own experience. I'm a web dev, but because we all mostly use just a few different popular frameworks, doesn't mean that all the websites or web apps are the same.

So the liberty would be to create and control rules and interactions in the virtual world with the help of this framework, which would be something extremely time consuming if done by every game for itself. I mean, that's the same basic thought behind selling/licensing game engines - to create different games.

Share this post


Link to post
Share on other sites

Web frameworks are quite clearly defined. HTTP requests come in on URIs, they get mapped to handlers, auth gets checked, a bit of custom logic is run, then data typically gets piped into templates which are then sent as HTTP responses. Because most of these stages are highly constrained it's very clear what the input and output will be, with variations mostly being down to taste (e.g. different templating languages, different ways of routing URIs, different ORMs you might plug in).

A world-simulating framework is far more abstract than that. It has no clear concept of a request or a response, just "something happens" and "something else therefore happens". On this trivial level, game engines already give you this functionality - providing you can give it a concrete definition of the first condition, it can emit an event, and you can attach the concrete definition of the consequences. For example, Unreal can tell you when an actor takes damage, and you can hook your "alert the guards" code there. But you have to write that code.

You say you don't want this - you want it to be more than 'just scripting'. That presumes you want some sort of layer to do this sort of thinking for you, but there is no standard way to do that, nor any clear definition of what it would involve.

The reason we have graphics and physics engines is the same reason web developers have frameworks - there are standard inputs and outputs and clear expectations for how you get from one end to the other, with some scope for custom logic in the middle. To do the same for in-world events, you'd need to devise a mental framework for what form that should take, and only then could you consider a code-based one.

 

Share this post


Link to post
Share on other sites
On 16.10.2017 at 6:28 PM, Kylotan said:

To do the same for in-world events, you'd need to devise a mental framework for what form that should take, and only then could you consider a code-based one.

 

Thinking about it, the term "Dynamic World" might be aiming at something too complex. So let me call it "Dynamic Campaign Framework". I think my initial example was a bad one and therefore I was maybe misunderstood in what I am looking for. Let me try it again, I'll keep it as short as possible.

In a traditional RPG, the player get's thrown into a world under some pretense (story), the goal usually being of eliminating the ultimate Orc overlord or something similar. The simplicity of this logic is obfuscated by a more or less complex story. You then collect weapons/armor, level up, and ultimately become strong enough to face the different challenges all by yourself. When you have ultimately triggered all the necessary events, the game is won - hurrah. This is basically where game development is today and has been for 20 years.

In a dynamic campaign, Orcs and Humans will just do what they do - battle each other. They won't just stand around, waiting to be triggered. Whether the player engages in the campaign himself, doesn't really matter. One could just stand on a hill and watch the war going on. The outcome at this point would be pure RNG. So the player's goal would be to support his faction in winning the war.

This could be done in several, semi-realistic ways:

  • He could sabotage the enemie's supply lines
  • He could join the next assault, hoping to slay an Orc or two
  • He could help with the manufacturing of (advanced) weapons for this faction
  • He could try to find and pay a traitor for information
  • etc.

So the challenge for a dynamic framework would be to simulate two faction at war. There are certain parameters I could think of:

  • Supply. An army needs a constant flow of goods, which is also one of it's weak points.
  • Assault and defense. When a certain amount of supply or troop strength is reached, the faction will carry out an assault. If it is successful, that part of the map is taken. If it fails, the faction will retreat, waiting to re-supply.
  • There could be parameters like loyalty or morale to influence the combat strength of a faction.

The immersion in such a scenario would come from the fact that a player cannot win the war all by himself as usual, which is silly and played out anyway. Instead, all of his actions would have a real effect on the dynamic campaign.

There was only one game I could think of that did this, Falcon 4.

Because it was so difficult to learn and rather sterile in it's looks, it might not have appealed to many gamers. But those who played it know that the level of immersion was hardly ever reached by another game. User InSight nails it pretty well in his comment on GOG: "After all these years, no other sim has come close to the immersion of being a fighter pilot in an ever-changing dynamic campaign, where you see this coordination of different flights and ground forces trying to achieve victory." What it established should have served as a template for all other types of games - be it a military simulator like ARMA, an FPS or an RPG. Unfortunately, that hasn't happended. Instead, we play the same stuff as always, but with better graphics.

The complexity of such a dynamic campaign led me to believe that it might be better to create a framework, so no single company would have to do the job all over again each time they want to create a dynamic campaign game. Orcs could be replaced by T-80's or Reapers and could be rendered by the CryEngine or Unreal, it doesn't really matter.

That's all.

 

 

 

Edited by ConsumerHans

Share this post


Link to post
Share on other sites
On 16.10.2017 at 6:32 PM, Dramolion said:

I suspect the popularity of the engines you mentioned has led to a flood of unfinished games as well.

Are you looking to combine other people's unfinished work?

Not sure what you mean by that. But I think I'm looking for something new here that couldn't be established by combining existing work.

Share this post


Link to post
Share on other sites

I think  i understand what you mean.

Games like the Witcher have (attempted to?) make something like that, dunno how it worked out.

There's two problems with your idea:

1) Players don't like too-strong luck-factor, and if the luck factor becomes smaller the game becomes more scripted again.

(err, solution, make events random where they happen, diminish luck in the grand scheme of things of which faction is winning)

2)The most dynamic worlds are multiplayer, and your idea seems single player orientated while trying to give the same experience that already exists on multi-player servers.

Share this post


Link to post
Share on other sites

I think games like Witcher 1-3 have tried their best to come up with something that feels alive and moving, other than let's say the RPGs by Bethesda, which are loved by many and described as kind of empty and generic by at least as many. But as far as I know, they don't have a dynamic campaign, it's all just a bunch of scripted events.

1) Not sure if this can be generalized. XCOM has pure RNG and is still very popular. Also, it's only pure RNG if you decide not to do anything, which is not the point of a dynamic campaign.

2) That's a good point. I haven't had too many multiplayer experiences besides Battlefield, so I can't really say how static or dynamic their worlds/campaigns are. I tried Warframe recently and was pretty disappointed in that regard.

 

 

Share this post


Link to post
Share on other sites
On 16-10-2017 at 5:22 PM, ConsumerHans said:

If so, is this in any way doable or marketable, from a professional's point of view?

Anyway, i think i kinda understand what you're trying to make, and, err;

Doable, sure, anything is, but it'd be more way more work because you need more content(since the player might miss some) and make that content interact with each other.

you also have the restriction that you can't have a too big world being alive the whole time on a single computer.

Balancing luck and difficulty is going to be difficult as well.

Marketability, well, i suspect there 's plenty of players waiting for a dynamic single player world, but they 're playing other games which, together, fill in this niche enough to keep them satisfied.(and enough broken promises to make them suspicious)

Companies looking to use such an engine(?) would probably not be interested until a game using that engine is successfull.

 

Share this post


Link to post
Share on other sites

Skyrim has a radiant AI. Their npcs have factions which like each other and other factions which hate each other so you can get "emergent behavoir" happening

For example their are some totally unscripted mods ("Populated lands road paths" and "immersive patrols") that all they do is spawn npcs and set them walking along roads to certain map points across the map. Due to the faction preferences these npcs may decide to attack bandit camps they walk by and other npcs will then get involved if they see their friends being attacked.

Big battles occur when stormcloaks and imperials meet. Bandits attack merchants and their body guards help defend them and may wipe out the bandits. All of these events are totally unscripted.

Skyrim also has something called radiant quests. These are repeatable quests that randomly pick who is involved and what location it occurs. For example a rescue kidnapped person radiant quest can randomly decide any town or village npc has been kidnapped, and place them in a random place with enemies for you to rescue.

 

Edited by CortexDragon

Share this post


Link to post
Share on other sites

@CortexDragon

That's like a layer of dynamic events in an otherwise static open world. Kind of interesting, but I'm not sure if it creates the immersion I want to have. For instance, does the bandit's attack have any consequence in the world? Would the city where the merchants go to suffer some kind of shortage in food or weapons or something, making them more vulnerable to attacks from enemy factions?

In his latest game review, AngryJoe talks about how he's tired of triggering scripted events and that he had hoped CoD would implement some kind of campaign mode with players joining divisions, creating dynamic strategic situations on huge maps etc. Very fitting.

 

@Kylotan

>To do the same for in-world events, you'd need to devise a mental framework for what form that should take, and only then could you consider a code-based one.

I wouldn't have the slightest idea on how to do that.

 

Edited by ConsumerHans

Share this post


Link to post
Share on other sites
On 10/16/2017 at 11:22 AM, ConsumerHans said:

I know the title sounds awful - I'm after some real world feeback about an idea I have had in my head for about a decade. I have to say I'm not a game dev, I'm a consumer.

There are game engines - Frostbite, Unreal, to name some that I have heard of myself. They add the physics, AI, rendering, collision and some other aspects of the game. What they don't seem do is to simulate the world that the game actually plays in. Therefore more often than not, this world seems to be simulated by scripted events (missions, waypoints, etc.) or in a more "Open World" kind of approach that let's you do whatever you like, but often without any real consequences.

I was thinking about a framework that simulates, on an abstract level, an artificial dynamic world, and that could be connected to a game engine by choice via API/interface.

I'll try an example:

There's a table with a suitcase full of guns. It is rendered by the game engine. I can kick the table and the suitcase will fall down. But if I pick up the suitcase and go out on the street and happen to run into a police control, I'll either get arrested or, in case of resistance, shot at. So on an abstract level, there's an item A that triggers a response from a group B based on my action C. I know that this can be done by scripting, but that's not what I'm interested in. I'm looking at a dynamic framework layer that a game dev could connect to a game/physics engine in order to create a game.

Is this understandable? If so, is this in any way doable or marketable, from a professional's point of view?

Thanks, Michael

 

That's really 'just' a feature.

A system that does a lot of the 'grunt work' and expose it to a middle-man, possibly in the form of Scriptable objects (unity) or similar.

In and of itself, it is not a game, and it would be hard for people to fully grasp the potential of the system without having a game that adapts to it. My take on this is it would not see nearly as much use as rendering and physics these engine leverage, but you might find an asset on the Unity asset store that does something like this if you dig long enough.

 

Share this post


Link to post
Share on other sites

Mount and Blade does something like this. The factions war among themselves with or without your assistance. By default they sit in a sort of equilibrium where no faction will be entirely defeated until the player tips the scales against them.

I can't find much on their implementation, but someone must have written about it before.

Share this post


Link to post
Share on other sites
11 hours ago, swiftcoder said:

Mount and Blade does something like this. The factions war among themselves with or without your assistance. By default they sit in a sort of equilibrium where no faction will be entirely defeated until the player tips the scales against them.

I can't find much on their implementation, but someone must have written about it before.

Thanks, I will take a look at this game.

Share this post


Link to post
Share on other sites

What you're asking for is a mechanic originating from strategy games. Any strategy game campaign that isn't following a scripted story is a dynamic campaign. Total war, civilisation, hearts of iron, sins of a solar empire, stellaris, distant worlds and crusader kings are all dynamic campaigns in which AI factions interact with each other and with the player without the presence of the player needed.

As it was said, Mount and blade has a dynamic campaign, but instead of a classical strategy control scheme, you play with an RPGish control scheme to build and control your armies. To name a few, X3 terran conflict is a 4x space opera in a dynamic campaign. Dwarf fortress is a management game in a dynamic campaign. Stalker is a FPS game with some dynamic world elements. Arma has many dynamic campaign mods.

As for the implementation, it's a strategy AI running in the background. In an RPG for example, the orc commander AI could evaluate its resources, spend them accordingly to train more troops and buy equipment and send them to attack or defend various targets all while the player is doing his own things. The combat happening outside of the player sight would be an approximate simulation because having thousands of orcs in live combat all over the world could kill your CPU very quickly.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now