Advertisement

Anyone actually done this?

Started by June 14, 2002 10:36 AM
36 comments, last by ztn 22 years, 8 months ago
“Non-Creature ‘Things’ in the Game” Everything in the Game is derived from the same object class. These objects… …are made of materials and other objects. …all react to external stimuli based on these sub-materials and sub-components. …are all available for interaction with the player if they bother looking. This means that a Player could… …create new objects by tying or otherwise combining two existing objects. i.e. tie a dagger shard to a branch and make a crude weapon. …break one object into smaller pieces of its comprising materials or objects. i.e. Take the jewel out of a sword. i.e. Take the tooth out of a dragon. “Creatures in the Game” Every Creature is made of objects comprising their body parts. This allows… …targeting specific body parts when the player feels the need. i.e. The wings of flying creatures. …Tying a creatures legs to his hands “Doing things in the Game” Everything a creature does is based on a derived skill class. So that… …Building skill with one kind of spear, increases your skill with other spears as well. “World Persistency” Every ‘map place’… …has an abundance of appropriate general objects like trees & rocks etc.. …remembers and reports anything out of the ordinary. i.e. scorched and burned surroundings, spent arrows, bodies, equipment. Etc.. -This is all a gross simplification, but you guys get the idea… Sounds familiar doesn’t it. I see threads talking about this sort of thing all the time. I’ve spent the last year or so designing and prototyping a game engine that does this, and I’m really surprised at the emergent behavior the system produces. For example: If you cast some kind of fire spell on an enemy, and he is wearing cloth-like armor which catches fire; a few rounds later (if the fire is not put out) not only is he taking damage form the fire, but the smoke generated is hindering his abilities, and the scroll in his backpack has burned. I think this is really cool. If you have read this far, then, could you please let me know of any games which deliver this kind of world interaction? Or maybe came close, or is trying? Or maybe a thread where this kind of OO game engine was discussed. I would very much like to compare my results with other developers. I ask in part, because I see these kinds of ideas are talked about a great deal, but I never saw a thread where people discussed the surprising (really kick as*) emergent behavior that results from this kind of system. (some of it good, some of it bad…) Thanks for any help, or names of people or game titles that come to mind.n May all your games go public, zTn
Vagrant Story had most of those elements (at least the weapon elements and the specific body parts)

[edited by - Blue Phoenix on June 14, 2002 12:18:56 PM]
Advertisement
It seems like it would be hard getting a workable system in which you can make weapons like a blade tied to a branch, unless you limited it by assigning each component a role in a weapon. Like, if a branch is an object of role "Shaft" and the blade the role of "Piercing Weapon" then the game knows that if you try to combine a blade and a branch, the blade is placed on one end of the branch, and the player grasps the other end and swings the weapon, and that the length of the branch adds to the damage.

Also this prevents the player from creating nonsensical weapons like combining a rock, branch, and blade somehow, because the rock is a "Bludgeoning Weapon" (also "Projectile") and the blade a "Piercing Weapon" and you can''t use two weapon-type objects.

I don''t know if I''m explaining clearly... but if you don''t hard-code a role for each component, you''d have to do a complicated physics engine and you''d need to have the player specify exactly how to combine the components and how the player is supposed to use the weapon.

~CGameProgrammer( );

~CGameProgrammer( ); Developer Image Exchange -- New Features: Upload screenshots of your games (size is unlimited) and upload the game itself (up to 10MB). Free. No registration needed.
The mechwarrior games did the "target specific body part" thing really well. And there are two new MMORPGs coming out that use the item combination thing: Shining Lore (http://www.shininglore.com) and Ragnrok Online (http://enweb.ragnarokonline.com or http://ro.pak0.com). Both are in beta phase, item combos aren''t released in Ragnarok yet, and shining lore''s initial beta release is later this month. As for the magic system, I''v never seen anything as dynamic as what you described, those are great ideas! For some additions, you may want to look at the secret of mana series. It made good use of it''s spells. And some of the spells in Baldur''s Gate could be put to multiple uses. I hope these examples help you gather some more ideas. All these great features finally stuck together could make something really great!
CGameProgrammer( ):

Your point is a valid one, and while I’m not at liberty to discuss exactly how I handle this (i have an investor paying for the patent), let me give you a general idea.

First let me re-phrase your question more generally:
“How are such general objects used for specific purposes? And how would these purposes be maintained in compound objects?”

The answer lies in Skills, which make creatures do something with something. If a creature is attacking, his “fighting style skill” determines if he is stabbing, slashing, or bashing based on the properties of the object being used as the weapon.

I hope this answers your question well enough.



Another fun aspect of combat with this system, is that ANYTHING a creature can lift, can be used as a weapon. Including an enemy creature itself!

Anybody else working on, or seen interaction along these lines?
ZTn




i have been thinking about something similar for an adventure game engine that i might someday bother starting (yes, it is still in the daydreaming phase, which is the step before a design doc i guess)...
i was thinking that each item/object would be made of materials (wood, iron, glass, whatever) and possibly smaller objects (which in turn are made of materials and/or smaller objects)... and all of these materials have properties such as flammable, destroyed-by-water, weight, sharpness, hardness, explosive, etc.
so, after "building" a world out of these objects, you could set a player loose in it and they can try to do whatever they like. say one goal is to get something from a safe in someones house. the player could kick down the door (wooden) and blow the safe open with dynamite (explosive); or they could break in through a window (glass) and drill the safe with a drill (assuming they can find a carbide drill bit). or, they can burn the house down with gasoline (syphoned from a car?) and hope the safe is fire proof.
the point is that rather than setting up specific relations between items and the "goals" or "quests" in this type of games (which even the best of them seem to do), the designer would simply set up the conditions and obstacles and let the player try to work out a solution.
eh, maybe someday...

--- krez (krezisback@aol.com)
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
Advertisement
You''re on the right track Krez. Some of what you describe is very close to my design, but regardless, you have the right idea. Instead of maintaining databases of interactions, you let the objects interact on their own to external stimuli.

What I''m wondering is why, if so many of us are thinking about this, has nobody done it! Or have they and I just don''t know about it.



Here is another example I ran into:

Say the player is fighting a giant Blob-like creature. If the player attacks it with a chopping style, and does damage, then the game engine determines how much of the blob matter was detached. This detached chunk of blob will instantly begin attacking the character as a completely separate entity.

Just think of what happens when the player casts any kind of explosive spell which blasts the Blob into hundreds of pieces…

zTn
well, the reason i never did it is because it is so very complicated, that i never got much further than the general idea. i mean, to do this right, you''d have to model physics almost exactly... and not just the "things bounce this way and there is gravity" physics that most games need; you''d have to work in the dynamics of fire, explosions, things dissolving, bending, denting, and all that other stuff i forgot since i graduated years ago.
and just imagine the development kit a game designer would need to set this up: they''d have to tell the program where things are connected together (at these three points by aluminum rivets, or across this entire touching surface with glue) so they would break/come apart properly, and many other details that people take for granted every day. even with several "wizards" and some pre-made objects, just setting up a kitchen to be simulated would take months.
oh, and your blob example brings up another problem with implementing this: liquids! i have not researched this, but based on a few threads i have read on gamedev.net in the physics forum, even the specialists who do such things professionally at universities have a lot of trouble just simulating liquids and the way the flow and move.
if you ever get something like this working, i hope to get a chance to play with it; for me, it is one of those ideas that gets far too complicated to bother with before i even start writing stuff down.

--- krez (krezisback@aol.com)
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
Some of you people are probably going to point and laugh at me for saying this, but Trespasser did this in its own way. You could use items found lying around in a way that they weren''t supposed to be used. For example, you run out of amunition, so you throw your gun at the dinosaur. Since that doesn''t kill it you pick up a large branch and try to stab the dinosaur. If that doesn''t work then you take a small stone, knock a crate off a stack of crates, and pick up the gun that was on the top crate.

The reason no-one has done this before is partly because of the physics involved.

Moe''s site
I like the idea (of course but what I don''t see if how you can do this without either introducing a huge huge number of properties and variables or using a massive scripting system. Also how do you combine things into a meaningful form (which is maybe the same point).

The drill and safe example is good - it''s the sort of multipath we we''d all like to see in games but why would the game decide that your drill would drill through the safe? Is it''s scripted (and the point of the engine is basically lost)? Or are you going to model the lock of the safe, then you have to either script what happens if the lock is destroyed, or you have to have a reallife simulator of what would happen if the drill hits the geometry of the lock. That is not feasible to my mind.

As for the blob creature that''s fine and has been done before (in one way or another) - my question is how does the blob interact with the environment? Collision detection? Or something like that. What happens if I hit the blob creature with a range of different things - eg sword, staff, etc, and a bagette (french bread as you will . Will the staff cut through? maybe not - so you need to find the sharpness of the model at collision (a lot of work - if possible). The bread will bend - so you need another property. I''m pretty confident that any situation could require hundreds of attributes to be tested before you can make a decision of what the action will be.

Of course this is computationally infeasible but also from a level/model design point of view someone is going to have to tweak the breakability of a piece of bread. That''s going to be much work and it''ll be impossible to balance the game.

The trouble with games designed around these systems is Murphy''s Law. The user hears that you can do anything you want, the user sees a strategy to solving the first problem, the user attempts to preform that solution - then it doesn''t work, or doesn''t do what he thinks it should. You''ve got to face facts that we as people today have several thousand years of technology and techniques available to us - Almost everyone is going to produce a different solution if your game is at all deep, and if you try and limit the user thats frustrating and worse than linear. There''s nothing like being promised everything and given little.

As a final point, every action will require you to (dynamically) generate both graphics (models, animations, textures) and sound.

Your notion of skills is interesting but surely you are limiting the behavious to what you consider resonible which may not be want I consider reasonible. eg in your list you missed out throwing - now we all know this is just a discussion but if you are going to sit through each puzzle to determine what the player could do and then write code that allows it - how is that different to scripting the events in some other way? Surely this idea makes no sense unless the world is entirely freeform.

As a I say I love the idea - its a step towards a real virtual reality but I think it''s unworkable. If you''ve made it work then cool

Chris

This topic is closed to new replies.

Advertisement