Sign in to follow this  
gygavolt

New game conception: game objects related scripts

Recommended Posts

The capacity of processors has increased. The size of computers memory has also increased and is now measured in gigabytes. Hard drives now exceed 1 terabytes. Most modern video cards are looks like independent computers with its own cooling fans and power supply. The Technical progress is everywhere! And what's about games we are playing? There is news: good and bad. The good news is the first. The modern game's engines improve in amount of polygons, cinema effects, game's character motions etc...But now! It is time for the bad news. The progress in games hasn't upgraded for the last few years. There are some changes, but the amount was not enough. You can ask me: "What I'm talking about?" First, let's talk about game's process in the most popular game "FarCry-2". We have the one uniform game area. That's good! The player has game's purpose and many tasks which can be solved in any order he wants. This is great too. But in the critical FarCry's reality everything is dead like in a cemetery. Nothing will happen until we press the hidden buttons or reach a special place on the map. Then the marker appears on the map. This marker will wait us and when we reach the target; all events in the game will begin immediately! But what will happen in the game's life if we'll never go to the place specified on a map? Nothing will happen. The virtual world will sleep like a child. This sweet dream will be continued till the next script starts. It is typically for all modern games. There is some trigger which starts new events in a current mission. If player will not do anything, game will not do anything too. If mission has been already started, it will end only, when all tasks will be solved by the player. Has time ended? Has the object left the mission area? Game over! But now it's not a time for complaints. It's time for a business! I'll try to describe mine main ideas as simple as possible. It's not a revolutionary ideas etc. Moreover, I know that a sum parts of my ideas have been already realized in different games projects. My main task is to aggregate all these parts into one finished publication. It must be a good food for a mind for all from gamer till game's developers. Maybe some of that will be realized in further projects. I hope it must be better for all... Now let's try to understand the structure and conditions. The basic condition is the uniform game area (even if it is divided by levels). All events are occurring regularly within this game world. These events have some qualities: - Random events (R-event). Event might occur with some probability. It can diversify game process and change events flow. - Periodic events (P-event). Event occurs with certain period and conditions. Time of occurring can be the only one condition for p-events. Other conditions are the status of certain game objects. - Absolute events (A-event). Event occurs in any case without any conditions. We can only set the time for a-events (when it starts during the game). - Conditional events(C-event). Event occurs when certain conditions are reached. Conditions must be a couple of game object's status (dead\alive, whole\destroyed). Time cannot be condition. Ever event has two statuses: - Waiting. Event is in a queue for execution. Event's conditions are checking. Event starts if conditions are reached. If not - status must be changed to "Waiting". - Executing. Event is in a flow. Status of other events cannot be a condition for the c-event. It hasn't any reasons. I'll tell you why. Any events are changing status of game objects (not events) someway. It means that event, which should be executed after previous, depends actually on a status of objects. But status of objects is changing by other events! Let's give an example. We have c-event "Raid the village" which depends from status of object "Armory". But events changing status of objects can be various. The player can change its status too. This fact is very important during RPAC-structure constructing. If we try to put one event in a dependence on status of other event, we'll come back to the classical description of flow of events. Read more There is game example based on this idea [Edited by - gygavolt on November 15, 2009 11:13:16 PM]

Share this post


Link to post
Share on other sites
I think you're confusing game design with implementation detail.

A game being designed like this could be done in any decent scripting language, it just has to be the goal of the game developers to have these R-Z types of events being handled properly.

Share this post


Link to post
Share on other sites
You need to play with the mission editor for Arma2 =D

I've been playing (and making) some great missions with hundreds (or even thousands) of autonomous AI characters with their own goals, "r/p/a/c-events", decisions, etc...

It's lots of fun to make yourself neutral to both sides in the conflict and just watch how events play out ;)

Share this post


Link to post
Share on other sites
Quote:
Original post by thre3dee
I think you're confusing game design with implementation detail.

A game being designed like this could be done in any decent scripting language, it just has to be the goal of the game developers to have these R-Z types of events being handled properly.


I'm agree)))I talk about this!!! It MUST be the goal of the game developers! And the main advantage is "... this could be done in any decent scripting language"! It's important.

Share this post


Link to post
Share on other sites
Quote:
Original post by Hodgman
You need to play with the mission editor for Arma2 =D

I've been playing (and making) some great missions with hundreds (or even thousands) of autonomous AI characters with their own goals, "r/p/a/c-events", decisions, etc...

It's lots of fun to make yourself neutral to both sides in the conflict and just watch how events play out ;)


))))I've been making wonderful battle in "Operation Flashpoint - 1". And I want similar action in a single player games (not just in MMORPG or mission editors)!

Share this post


Link to post
Share on other sites
Quote:
Original post by gygavoltNothing will happen until we press the hidden buttons or reach a special place on the map. Then the marker appears on the map. This marker will wait us and when we reach the target; all events in the game will begin immediately!




I light-bulb lit up above my head when I read that. Just imagine it! It would no longer be the case when talking to your friends about that mission you played last night, "Hey, did you get to that bit where <something happens>?". Instead it'll be, "Hey, the most awesome thing happened to me in this game last night!". Different story, every time.

The implementation though is a different story, but, with enough effort, I think it could be pulled off!


[Edit]

I think you could combine A-events and C-events. After all, after a certain time is reached, that is a 'c'ondition for the event to happen. Just a thought.

Share this post


Link to post
Share on other sites
Quote:
Original post by Zotoaster
Quote:
Original post by gygavoltNothing will happen until we press the hidden buttons or reach a special place on the map. Then the marker appears on the map. This marker will wait us and when we reach the target; all events in the game will begin immediately!


I light-bulb lit up above my head when I read that. Just imagine it! It would no longer be the case when talking to your friends about that mission you played last night, "Hey, did you get to that bit where <something happens>?". Instead it'll be, "Hey, the most awesome thing happened to me in this game last night!". Different story, every time.

The implementation though is a different story, but, with enough effort, I think it could be pulled off!

[Edit]
I think you could combine A-events and C-events. After all, after a certain time is reached, that is a 'c'ondition for the event to happen. Just a thought.



The problem is will it just be a simple combinatorics variation (1 2 or 3 orcs)
(1 big orc and 1 small one OR 2 small ones OR 2 big ones)

OR

will they be placed differently and have different tactics -- 1 unit is easy, but 2+ together harder because their individual random flavored actions interfere with each other and often wouldnt make sense (especially as their options of action/tactics increase in number). Multiple opponents would have their actions carefully coordinated unless they do little more than scream and charge (like they do so frequently in games) where you can add in as many more opponents as ou want.

Usually complex scenes (each variant if there is more than one) have to be carefully choreographed and often the players options limited (ex - walled in passages limiting alternate paths forcing the player to go over well placed triggers). Even in Farcry most of the game progressions were linear with only local alternatives available to the player and the NPCs largely locally dormant until triggered.


Each of these pseudo random 'scenes' has to be located far enough away from others so THEY dont interfere with each other. The well choreographed scenes can have artificial ways to prevent the player from moving on before the current scene is finished and or have the transition between them be part of whats choreographed.

When you randomize, the results become much more unpredictable and thus can effect the entry into whatever comes next (especially in a more sandbox type game). If you opponents can follow you around in the sandbox, then they have to be scripted versatile enough to handle most of the situations possibilities.

The reason that so many games are using 10 year old scripting methods is that even ifthe CPU/memory resources have expanded greatly, the restriction is the money($$$( that it takes to build more versatile scripting (a bit more towards AI) . Twice as complicated, fours times as hard (effort and time) to design and debug something that works properly. Simple versatility is more than 2X as complex as the pitiful (mostly choreographed) scripting we see.


Share this post


Link to post
Share on other sites
Quote:
Original post by wodinoneeye
...
The reason that so many games are using 10 year old scripting methods is that even ifthe CPU/memory resources have expanded greatly, the restriction is the money($$$( that it takes to build more versatile scripting (a bit more towards AI) . Twice as complicated, fours times as hard (effort and time) to design and debug something that works properly. Simple versatility is more than 2X as complex as the pitiful (mostly choreographed) scripting we see.


You talk about global changes. These changes are very expansive for game development. But I’m talking about 10 old years scripting method but just with new small detail. Scripts start not just by pressing triggers, but by changing game objects condition! You can find and download simple game example here. Starting this game again and again you can use different methods to reach its goals! And you don’t know what will happen next time)))) Just try this!

Quote:
Original post by wodinoneeye
...
When you randomize, the results become much more unpredictable and thus can effect the entry into whatever comes next (especially in a more sandbox type game). If you opponents can follow you around in the sandbox, then they have to be scripted versatile enough to handle most of the situations possibilities.
...

Full randomization is not necessary!
There is a simple plot example in my article. I hope you will find many answers!

[Edited by - gygavolt on November 15, 2009 11:18:38 PM]

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

Sign in to follow this