Advertisement

Anyone actually done this?

Started by June 14, 2002 10:36 AM
36 comments, last by ztn 22 years, 8 months ago
Krez,

You are right in the sense that truly modeling the real world would be way too complicated, but you are wrong in the sense that modeling a medieval fantasy game is not. Part of making a game is designing what in the simulated world the player can mess with, and what in the simulated world gets to mess with the player.

If you have the time, and feel like making this game you are talking about, I would encourage you to do so. Start by listing out all the detailed interaction you want the player to have, and then model a simple world engine after it. You will find it is not so bad at all. If I can do it, you can. Remember that good OO design means that you don’t need to duplicate any data…


To directly address your remarks:
Building a kitchen or a house is not something which would ever need to be done. My game is a 2D game. No watching your little man run around. There is no way (currently) for a system to manage all this detail in a pixel shaded 3D environment. Besides, I think a nice looking 2D interface leaves more to the imagination in the right ways. –since the game isn’t about running around clicking things to death. (not that, those aren’t any good)

Building a house is simple, and only requires walls, doors, and windows. All of which are only two objects deep with about two materials apiece. Making up all those individual rivets or nails is just silly.


zTn
Moe,

I''m not pointing or laughing! In fact i think thats an excellent example. The point is to bring a new level of detail into these games. Not in a way that makes it tedious or boring, but in a way that inspires a new level of thinking ahead and realism.

zTn
Advertisement

Chris, -whoa slow down.

This first paragraph of yours is wrong from the start. I haven’t used a single script in any of my code. Its way simpler than that: The LockBox object would take the information of the drill bit, and based on its comprising materials, would figure out how much damage is taken, or even if its broken.

–and yes, I did create a short list of variables which describe quite a bit of physical relationships. There are about half a dozen, and they are simple, but when they act in unison, they are quite versatile.

Your second paragraph… I think a lot of your “infeasible” comments can be attributed to me, not letting you all know it’s a 2D game. But not to shy away from the second paragraph… The blob interacts as its AI desires tell it to. Put another way, every physical interaction is done on an object to object basis. Bread is comprised of organic materials with a low density, so of course it bounces off or breaks on things easily, and doesn’t make a good projectile weapon.

Your third paragraph… You have a good point about content creation. Its gonna take some time, but right now I have a guy working on content generating windows apps which will speed up this process.

Your point about game balance is a good one too. The trick is to go back to those low level variables which are controlling relationships, and balance those first.

Your fourth paragraph… Your Murphy’s law point makes me feel like sitting you down in a chair and asking you about your mother. I think you have been burned. I’d like to know which game it was that promised you everything, and then coldly broke your heart. All joking aside, of course I’m not promising everything. Finding those games and learning from them is why I’m writing this thread!

The way to avoid this Murphy’s Law problem is to have a clear, short, and intuitive set of options during play. This way the player is tempted to try new things with the same actions, instead of thinking of actions which no buttons are available for.

Your final thought is missing the point. Instead of making a game where all the possible interaction is pre-determined (or scripted as you so often suggest), is to create a short set of actions, and object properties which provide as wide a range of realism as possible –and then let the players explore!

zTn

So what is an example of a game that “promised everything”? Let me hunt them down and not make the same mistakes!
chrisflatley: i''m not working on such a project... this, your reference to the "drilling the safe" situation, and your comments about how the objects 3D models would have to be dynamically recalculated and whatnot pretty much sum up why. it is fun, however, to think about it (just in case i ever live long enough to play with a computer that could handle such a thing).
ztn: i was not referring to your project at all (other than you asked if anyone had tried something like it), and i think it is quite possible to create a similar system for specific things in a medieval fantasy game.
the kitchen might not be in your game, but one could quite easily show up in an adventure game. a four-walls-and-a-door house is fine for, say, an RPG, where there are hundreds of houses in many towns, and making it so the player could light them on fire or break a window could add great depth to the game; for what i was talking about, the player would have his character IN that house, finding and minipulating items to solve some puzzle or other.
*** flash of insight *** i LOVE those red herring things in games, such as useless items that are just strange or funny, or uselss stuff that adds to the experience but not to the score... and a true-physics system would make the entire game full of them (one could spend hours hitting everything with a hammer to see what happens). *** we now return to your normal message board post ***
but anyways, ztn, based on your response to chris''s post, i believe that what you are doing is a good way to to implement such a system. "shortcuts" such as the lock and drill bit comparing a "hardness" property to see which breaks will not harm the playing experience (who the hell would worry about seeing how and where the metal shredded when they can get the basic concept of "lock is drilled and broken") while still keeping the system very open ended and realistic. it saves all those billions and billions of CPU cycles we''d need to calculate the actual drilling, and the player won''t mind since they will be happy about it doing what they thought it should.
is your project too top-secret to tell us what are the properties all objects have? i''m just curious if they are what i would use...

--- krez (krezisback@aol.com)
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
quote:
Original post by ztn
“Non-Creature ‘Things’ in the Game”
Everything in the Game is derived from the same object class. These objects…

No need to derive them from an object class, just have them as instances of an object class.

quote:
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.

How do you deal with conflicting properties? A dagger may be "short" and a branch may be "long", so what is the result? "Very long"? That may be a reasonable assumption in this case, but not in others. eg. Joining a "long" guitar string to a "long" guitar wouldn''t make it "extra long". So you''d have a lot of ambiguities to deal with.

quote:

“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.

This part is a bit vague. On the surface, it doesn''t seem any different from 90% of existing RPG skill systems.

quote:
Every ‘map place’…
…remembers and reports anything out of the ordinary.
i.e. scorched and burned surroundings, spent arrows, bodies, equipment. Etc..

''Remembering'' all these things could take a lot of storage. It also means you have to have properties to represent the ''scorched'' and ''burned'' states, and so on. These will have to be hard-coded. And what do you mean by "reports" in this context?


quote:
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.

To be honest, to do this best, you wouldn''t have a traditional OO hierarchy at all. You''d probably just have a property-based system, perhaps with semantic nets.

quote:
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.

Because most people talk about this kind of stuff without any real idea on the practicalities of bringing it to life. And of the few people who manage to implement them, a lot end up taking the system back out again because it''s too unpredictable for customer consumption. (eg. Ultima Online removed a lot of the ecosystem stuff.)

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files ]
Kylotan,

I''m affraid i can''t answer your detailed questions, or support my design in a saticfactory way. At least, not until i get permission to. The point of this thread is to get some advice and some names.

The possibility of semantic nets is valid i think, but i''m not re-writing my engine.

The Maps maintaining all that data, turned out to be an easier task than i thought. "Report", means that the map informs the player of ''out-of-the-ordinary'' things in the immediate enviornment. For example, all of those burnt trees. etc...

I think you said it best, this kind of interaction is just not included because the results are hard to manage and control. But i think its only a matter of time before they do.


Thanks to all for the feedback,
zTn



Advertisement
I like those ideas, and I have made some things like that in my RPG project Kaduria. But I haven''t done a deep planning for the engine to support everything imaginable. I have to use the good old hard code way to implement new features. It''s very exciting way to create a game, because the game engine surprises you all the time.
ztn, your game being 2d cannot do most of what you state you want. the player is severly limited to what they can do to what you predeterminly decide in some sort of database. the player cant break a leg off a table for a weapon, nor could he just jump on the table to break it (though merely standing on it would not cause it to break). you can do a simplfied version with scripted animations, but you cant model any physical world reactions like you suggest. the ones you do are limietd to the 2d style of your game, thus are restricted. i am not saying you cant create a somewhat decenta nd interactive game, but i am saying you cant handling some of the simple things. you cant handling lighting for instance.

you say objects in a house would be easy? lets look at the kitchen example:
pan: need to be able to be used as a bludgeoning weapon, sheild (ie hit arrows), be thrown, can carry stuff, handle can be sawed off, etc.
pot: like pan, though it can carry more, etc
dish: like pan, can break, shards can be sharp, etc
knife, fork, spoon: each should be able to do what they do as well as be bent. ie spoon should be able to carry liquids, knife shoud cut thinks, fork should stab things, etc
cabinet: has doors that can be broken off, can hold items, etc.
locks: can be blaced on ANY item, can be broken, can be picked, etc
stove: can be turned on and produces fire, heats objects thus can heat metal so it can be molded, burn paper, heat contents of pot, etc
oven: again hits things except without a flame, etc.
floor: if waxed then it may be slippery in spots, tiles can be pulled up.
doors: knob may be broken, torn off, turn can be smashed, shards used as weapns, saw can cut it, can place multiple shard togther and even produce a table, etc.
lights: can be turned on and off, bulbs can be broken, blulbs can short, bulbs can be removed and replaced, other items can be placed in socket, metal items should conduct electricity, etc.
switches, control electric flow, can be removed, can be broken/fixed, metal items that touch leads shoudl conduct the electricty, etc.
windows: can be broken, can be opened/closed, shards can be used as weapon (glass shards are VERY VERY VERY sharp, and could easily kill someone if they were to jump through a normal window), shards would harm player if improperly handled, objects could only crack teh glass, water would not penetrate yet may penetrate cracks, etc

there are many more items i have missed, but are you seeing how mcuh needs to be handled? i have not gone in to detail, since many of the "features" of objects in our world we take for granted and should be modeled well. a 2d engine just makes things thousands of times more difficult, in many cases impossible (like lightening or most phsyical things like throwing items, crawling under a table, lifting only a single side of a table to break a dish, flippign teh table, etc). since with 2d art, you must draw ALL frames of animation. with 3d art, i can just rotate the table to the proper way and render, you have to draw each position and draw lighting as well. thus just rotating the table will be difficult to handle.



a patent for this? this is just pure hype. you atre not doing anything special that deserves a patent. if anything, it may deserved to be finished so the player can play a fun game (if you indeed ensure its fun).

btw, its not fun talking about how games will one day simulate the real world. we live in the real world. instead talk of great gameplay ideas. things that will help nmake a game fun. realism is not needed to have fun.


ztn, you are merely hyping something that is not possible (saying yoru craeting a patent for a database system dont nake it any more special or feasible). i applaude that you are tryingto create an interactive game, but you are going about things the wrong way. having a report function is a step back from most newer games that are "realistic" instead they use either the glint technique (ie objects that are important twinkle) or they merely let the player find them through real visual inspection.

also you cant expect advice on somethign yoru patenting unless you put up some implmentation to critique. i think you are merely trying to use this as a way to get a working implementation that actually does more of what is advertised insteda of being like most other games.

ztn, please let us know when you applied for the patent. if this has been done, then please by all means show us something. i still think that you are just doing what most games already do, though you are manually creating more interactions. it does not seem like anything that would need to be patented (its like taking a bench and making it longer using traditional methods).
A Person, you say:

""""""""""""""""""""""""""""""""""""""""
you say objects in a house would be easy? lets look at the kitchen example:
...
..
.
“”
there are many more items i have missed, but are you seeing how mcuh needs to be handled?
""""""""""""""""""""""""""""""""""""""""

Did you even read any of my posts? Of course I’m not going to be that specific. What I’m trying to patent, is my way of achieving a new level detail of in a medieval fantasy world, WITHOUT being so nit-picky. Does the player in a medieval fantasy game need the ability to fill a spoon with liquid? -of course not. In fact, you make the point about over detailing below:

""""""""""""""""""
btw, its not fun talking about how games will one day simulate the real world. we live in the real world. instead talk of great gameplay ideas. things that will help nmake a game fun. realism is not needed to have fun.
""""""""""""""""""

..and your right! (for the most part) I, for one, think it is great fun to talk about how games get closer and closer to simulating real life, especially on a GAME DESIGN FORUM.







""""""""""""""""""""""""""""""""""""""""
ztn, your game being 2d cannot do most of what you state you want.
“”
the player cant break a leg off a table for a weapon, nor could he just jump on the table to break it (though merely standing on it would not cause it to break). you can do a simplfied version with scripted animations, but you cant model any physical world reactions like you suggest.
""""""""""""""""""""""""""""""""""""""""

Of course I’m not making a 2D graphic engine to render up all those items in real time. Most of the detail specific object interaction is point and click text based, with supplementing 2D images of general objects and reactions.

And yes, in my game, YOU CAN break objects into smaller allotments of their comprising materials, including a table into chunks of wood. These becomes items themselves, which can be broken again and again, and so forth. I think you have made some serious mis-assumptions about how my engine is working, and as a result, you are making some ignorant and arrogant statements.





""""""""""""""""""""""""""""""""""""""""
the player is severly limited to what they can do to what you predeterminly decide in some sort of database.
“”
i still think that you are just doing what most games already do, though you are manually creating more interactions. it does not seem like anything that would need to be patented (its like taking a bench and making it longer using traditional methods).
""""""""""""""""""""""""""""""""""""""""

Some sort of database? Scripting? I’m getting tired of repeating my plea for you to read the thread, so I’ll just cut and past from above:
“”
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.
“”
You see, object interaction is based on a handful of attributes, which the object inherits from its materials. This way, instead of mapping/databasing/scripting out reactions, you just let the math determine the result automatically.

This object system is proactive, and when everything in the players environment is created with them or derived from them, you DO get emergent behavior. This is MIGHT be new game behavior, but that is another thing you seem to have not read. This post is asking the question of HOW new it is. I’m looking for some examples to help guide my patent effort. It is my first! I’m asking for help!




""""""""""""""""""""""""""""""""""""""""
a patent for this? this is just pure hype. you atre not doing anything special that deserves a patent. if anything, it may deserved to be finished so the player can play a fun game (if you indeed ensure its fun).
“”
ztn, you are merely hyping something that is not possible (saying yoru craeting a patent for a database system dont nake it any more special or feasible)
“”
i think you are merely trying to use this as a way to get a working implementation that actually does more of what is advertised insteda of being like most other games.
""""""""""""""""""""""""""""""""""""""""

Do you really think I’ve described enough, let alone anything, about how my engine works for you to post such an insult? I haven’t said anything about how it works! All I have done is ask for help identifying similar effects in other games.

You accuse me of trying to hype my project? I haven’t even posted its name! Let alone a web page or anything to promote! I’m not even saying that its original, I’m trying to find out!

You accuse me of lying to everyone in order get information?

Who do you think you are? -oh, I see you don’t want us to know. Well Mr. or mrs. “a person”, I’m not surprised at all that your profile card is blank.



""""""""""""""""""""""""""""""""""""""""
also you cant expect advice on somethign yoru patenting unless you put up some implmentation to critique.
""""""""""""""""""""""""""""""""""""""""

I never asked for advice on my implementation or any kind of critique. Regardless, your accusations would never be confused with constructive criticism.


I hope Wavinator bans you for being so ignorant and unjustly critical on this forum. What if newbies are reading this? We want them to share their ideas, not be worried that someone will flame their posts without reading them. By making these kinds of insults you turn this forum into day-time melodrama, removing its dignity and use.

zTn



first off i am not being aroggant. you keep me ignorent since you dont tell us anything about the engine. therefore i must assume.

"You see, object interaction is based on a handful of attributes, which the object inherits from its materials. This way, instead of mapping/databasing/scripting out reactions, you just let the math determine the result automatically."

math does it automatically? well i would have to assume you are modelling all the objects in 3d so you could apply forces to them. desrcibing tensil strength, mass, composition, flamability, weakened areas due to stress (such as a strike), cracks, etc. since there is no database, you cant just say that because the item is of x class it can be used in that manner. that is a database looked up scripted action. being text makes it even more difficult to desrcibe the game world to the player, or allow precise interaction.

describing a medevil gameworld is like describing any world. dont fool yourself into think that its any easier. you merely limit a few things. the player may wish to use a spoon to see around corners (they are reflective). the person may decide to move liquid from one conatiner to another, but needs to use the correct amount (ie mixing a potion). you missed my point on not needing realism in games.

just because objects in your world are classified in a database and actions are basically scripted, you can still have emergent behavior with the ai.

please explain the math behind the high level act of combining a rope, tree branch and dagger. to me it seems like a simple use of a table. branch is a pole. knife is a blade. rope is a combiner. you look up in the database/rulebook whether this combination make sense (since you cant just magically act it out without a 3d view and physical modelling which is a few years off still due to the amount of collision dtection and physics involved. simulation of rigid bodies is not a lite topic). the rulebook states that poles and blades combine (using a rope combiner) to form an item class called spear. now a player may take another branch and combine it with another knife without a rope. this player want to use the notion he can cut a slit in the branch to hold the blade. now this is nonsensically since its obvious the blade will fall right out when any stress is applied unless the branch is bound together with some rope. your system has to take this in to account. a physical simulation would allow this combination, but the player could see the weakness of it. maybe the blade will even fall out a few times. heck he may be able to find the right angles and branch to make it work somewhat as a spear, though he would have to retrieve the knife from the target each time. the physical mode version dont care about what anything is, there is not need to classify something as blade, pole, handle, etc. since everythign is modelled using physics, the rope would be bendable and could be tied around things with a knot. the knot would not slip due to friction. though the rope could break if too much stress is applied. yet a knife can cut through it with far less force then a branch (due to the fact that the force being applied is on a very narrow area thus becomes more "powerful").

the format of the display (ie 3d, vs 2d vs text based) is a very important aspect of the game design, as well as the input system. things you are leaving to the end to talk about thus make it difficult to judge your system. unless you describe better how things work, its very difficult to critique without making assumptions about things.

you dont even specify whether the game is in realtime or not. i now make the assumption it is turn based (like most text based games). thus making certain things that happen seem more scripted (dont take that as i am saying things are srcipted as you seem to dislike that) since after all you you are just showing snapshots of reality instead of a flow like in realtime games. please clarify so i wont have to assume.

again i will clarify patents. you can only patent actual implementations of things. ideas like you have presented here are not patentable. also it wont stop other ppl from implemneting something similar using different techniques. heck according to yoru current description, just making the game 2d or 3d would not be covered under the patent.

see games like rouge, hacker, zork most muds, etc. them seem very similar to what you are describing as the result of interactions.

the less detailed your world is described, the more you must rely on "scripted" actions. that is a fact you cant escape.

i read your posts, but you fail to answer questions that are need to be answered to fairly critique your idea. thus ppl must assume things. i unlike some ppl on the forum believe that game design is nothing unless their is some form of implemenation in sight. if you have an idea, but cant implemnet it, then the idea is useless until it can be implemented. talking about how things work in the real world in a game design forum is silly. ppl knw how things work and now the possiblities (they are seen everyday). ppl are more interested in actually creating a game that has this interactions, and actually discussing how the interface, visual display, sound will need to be handled to implement this in a game that ppl can play and have fun.

so here is a question. now that it is known you use a text based interface which will describe the items (since you cant dynamically just combine 2d images to show new items created since you are not using a database), i am guess you store adjectives and nouns with item. this leads to problems of combing that to describe the item without making it sound awkward since you say you dont use the simple database look up that says a rope+knife+branch=spear. can you explain how this is done? also how does the player interact with the world? using a natural language interface? simple command parser? menu driven?

i find it very disheartening that you would ever want someone to be banned for giving you the straight facts as best as i can see them based on the limited information you give. you are hyping things. you say you are trying to get a patent (you even say you secured investors). that alone means you feel you have done something extraordinary that is beyond what other ppl have accomplished. i understand you want to make sure it has not been done before so that the patent goes through. i also know that you can search the patent office yourself, as well as pay for patent searches to see if what you have is patentable. you expect ppl to help? how can they help you (make money since thats the only reason you would think to patent this) find games that use the same techniques when you dont describe the techniques well enough. since afterall its the IMPLEMENTATION that the patent office is concerned with, not the end result.

this is a long post. take the time to read it, and please realize that i am not flaming you but merely trying to get you to see some of the real world limitations. also realize that i am ignorent of your implementation details of how your engine works, thus i must assume things. clarify those details, and critiques will be more useful. this is a mojor problem with many designers (not just you), they dont concern themselves with real world constraints of resources. heck thats one reason why developers complain about managers.

This topic is closed to new replies.

Advertisement