Author Topic: Integration and customization  (Read 708 times)

Krissanasli

  • Traveller
  • *
  • Posts: 32
    • View Profile
Integration and customization
« on: July 08, 2004, 05:22:46 pm »
The two biggest concerns that prevent new ideas from flowing into the game are programming and graphics. If it\'s not crucial, it won\'t receive much of either. This is why I feel that a great number of decent or good ideas won\'t make it in, simply because there will be nothing to support their easy entry. To correct this, all it would take is an effort to create a platform for these ideas - a sub-system of the game where new elements can easily be incorporated. A mini-game system, if you will.

Most people fail to see a persistent world as a set of intertwined mini-games, and because of this, place greater emphasis on the established rules than on a sound, coherent world structure. Take, for instance, the combat / monster-farming mini-game. Because it\'s been historically the most widely used of all mini-games, a great number of people consider it crucial to any ORPG, when in fact, pretty much everything about it can be implemented in a purely non-combat game (I won\'t get into this, but it has been done). By looking at the aspects of the world as mini-games, which bear the illusion of the world at times and occasionally break it, the combat-centric model that plagues so many good games can be abolished. Why should it be abolished? Because the whooping player niche that wants to literally plow through monsters and harvest loot is already saturated, and the whoopingier player niche that wants to enjoy a fantasy world in all its glory is getting little support overall. How could it be abolished? Through a certain thing I like to call \"integration\" - the use of a single object in a variety of ways, which keeps things economical in terms of programming and graphics. An example of integration is a deck of cards that can be drawn, divided into hands and so on, at the players\' own discretion. Such a deck would allow countless games to be played, even if it wasn\'t programmed to support any. It would just be a deck of cards - nothing more, nothing less.

Let\'s look at how a world can take new, integrated features, using minimal programming and graphical resources. I\'ll warn you that I barely read through the wishlist and know little about how Planeshift will be like, but given the crude magic system, I assume there\'s little thought being put into alternatives for combat. Because of this, skills like pottery and brewing will probably need a system different from, say, music and cartography, which means more effort overall, more bugs and more work to be done when fine-tuning a specific skill.

Since combat uses its own system in this game, which takes a lot of effort to design, there\'s no point in trying to model any mini-game system after it. I\'m also not going to suggest that combat should be built to match the rest of the mini-games - I doubt I could (or even should) win an argument over this one.

In this thread, I want to create and refine a series of mini-game systems, all of which aim for minimum work on the designer\'s part and maximum customization. Through any of these systems, mini-games for all conceivable skills could be introduced to PlaneShift. I\'d also like others to present their own, if anyone feels so inclined. Note that, since I\'m aiming for maximum customization (even beyond the scope of PlaneShift), the systems I design could ultimately be used in a lot of other games and even independently.

If your eyes haven\'t peeled off yet, this is my first attempt at making a good mini-game system: the slot-based \"matrix\" GUI.

This mostly covers complex actions, and would be too unwieldy for simple ones. It\'s made up of a big matrix of compound slots, all of which contain several elements: the name or symbol (preferably name - less graphical work, and it looks better in the GUI) of a process, the person working on it, five numbers related to it (bonus/malus, intensity, activation level, speed and consumption), the icons of the item(s) related to the process, their quantity and their \"health\" value. Added to that, at the bottom of the matrix, would be an \"information box\" and a \"description box\". The first would hold concrete data, while the other would give a pleasant description of the process/item highlighted. Some items need to be used for more than one process - in this case, if processes are item-linked, it might be better to leave items and processes in separate areas of the GUI. This is also true when several items are used in one process. In fact, I\'ll continue to write assuming that I\'m using a divided GUI.

(I\'m assuming that many items would be appropriate for the same task, although some would be more appropriate than others. Consider attributing skill bonuses for carving, pressing etc. to various objects, regardless of whether they\'re supposed to be \"tools\" or not. It\'s rather easy and effective. Also consider stratifying the bonuses of an object according to the holder\'s skill, so a master smith could use a master hammer more effectively than an apprentice.)

When bringing the mouse over a process, it\'s highlighted blue, while processes it affects positively flash green and processes it affects negatively flash red. Processes to which it sends out items flash black, while processes form which it receives items flash white. Also, processes that share the same \"post\" (a \"post\" may not be worked on by more than one person at a time) have their names turn yellow. When over an item, the mouse shows in which process that item is used up, in which process it\'s damaged and in which process it\'s repaired or produced.

Krissanasli

  • Traveller
  • *
  • Posts: 32
    • View Profile
(No subject)
« Reply #1 on: July 08, 2004, 05:23:58 pm »
Every process must be triggered by something, whether by the \"intensity\" of another process or the investment of items/labor. Labor, by the way, would be a property (like hit points) that depended on endurance and regenerated slowly. It would make sure that players can only build a certain ammount of things in a single day - no armorsmiths flooding the markets and reaching ungodly skill levels just because they got their hands on 10,000 iron ingots.

It\'s perfectly possible for one process to inhibit another. Sometimes all it takes to trigger a process is labor, which can be invested slowly or acutely - like an item, it can be overused or underused in a process. This is one of the reasons why it\'s better to keep apprentices around: they can spend their labor on trivial tasks while the master focuses on more important processes. I suppose I could also include some sort of \"intellectual labor\" (governed by WIL) to be used up in tasks requiring a good deal of thought. STR would give a bonus to the effectiveness of manual labor, while INT would give its own bonus to intellectual labor.

Sometimes, a process both inhibits and supports another, depending on where its \"activation level\" is. For instance, if you smelt a lot of iron in a furnace, that furnace should be full. The player will have to extract that iron before continuing to smelt. Either the iron is automatically brought into the player\'s inventory, or (since liquid iron shouldn\'t be extracted manually) a \"pour iron into cast\" process should be available.

(Note that the presence of unfinished items, which can\'t be brought out of a process, causes quite a lot of problems. A simple and lazy way out is to have these items \"decay\" at the end of the process, but that\'s rather inconvenient and unrealistic - if the iron cools in the furnace, it\'s going to keep it unuseable up until someone heats it again. It might even cause damage. A better way out, I think, involves adding two processes, one for iron cooling and another for extraction. Basically, the intensity of the smelting process slowly \"pours into\" the activation level of the iron cooling one (which has a threshold of zero - more on that later), so that working on extraction, which siphons intensity (and also has an activation threshold of zero) away from the smelting process, can ensure that cooling never hapens. Note that there would also be a \"heating\" process that reduced the activation level of the cooling process, so if the furnace were kept hot, nothing serious would happen. The \"cooling\" process would cause damage to the furnace, transform its own stocks of \"hot iron\" into cold iron and move it to the smelting process.)

Sometimes (particularly in the later stages of item creation), a process needs only to be given certain materials to start working. Items move between the processes like they were on a conveyor belt, and while the speed of their flow depends only on the intensity of the processes they\'re in (each process has its own built-in speed), there\'s an easy way to create \"speed valves\": just add another process, which does nothing but regulate the flow of items, and adjust its intensity with labor. There are such things as too many materials - there\'s an ideal number of items, and balance of items, for processes that need more than one item, as well as hard limits (if  you can\'t ). The extent of inefficiency that takes place by diverging from the \"balanced\" set of items needs to be set up by the creator of the process - it would probably be some sort of simple polynominal function, like X^2 + 2X or whatever. Note that, when items are used up, an imbalance is caused. This makes it almost impossible for someone to be completely efficient.

When the mouse cursor stays on the bonus/malus, intensity, activation level, consumption, or \"health\" value, the information box  shows all relevant data:
-the sources of the bonus/malus (the items used, the craftsman\'s aptitude at that particular process, the bonus from other, active processes and the intrinsic difficulty level of the process).
-the maximum level of intensity, the number dropped per \"cycle\" as well as two numbers for each of the things intensity actually *does* (move items around, transform them, erode their health etc.). The first shows the unaltered effect, while the second is adjusted to take malus/bonus into account.
-the activation threshold (when the activation level falls below this, no new intensity is generated) and the conversion function (which shows how much activation is converted into intensity for every activation level).
-speed. This shows how many seconds a \"cycle\" lasts (the speed \"counter\" in the process\' slot only shows the number of seconds until the next cycle). It has nothing to do with the player\'s agility. Speed is the second most important bottleneck to production (labor being the first). Note that when intensity drops to zero, the speed \"counter\" will drop to zero and stay there. This means that the next batch of intensity will be immediately used up.
-consumption shows how many materials it holds, how many of them get converted into intensity every cycle and their individual consumption values. The consumption \"counter\" only shows the total number of materials needed to boost its activation level once. It can be dropped all the way to zero, and stays there until the current \"cycle\" ends. Filling it beyond this level is sometimes a good thing.

The items used can be both tools (which give a bonus to the labor invested) and expendable materials... Labor and materials are the two elements used to boost the activation level. The activation boost of the materials only falls as they get used up (at a rate fixed by the designer).

Processes interact by sending each other materials, providing each other a bonus/malus (relative only to their own intensity) and boosting each other\'s activation level or intensity. A process can also work internally by converting activation level into inensity (happens automatically, but keep in mind that some processes can\'t generate intensity beneath a certain activation threshold, and that the ratio of convertion between the activation level used up and the intensity gained need not be linear). Some processes can affect many others, and all are somehow linked - there is no isolated process.

Agility could affect the processes - the player could invest items and labor in a process only once every n seconds. During these n seconds, the player is considered to be handling the process (he\'s \"posted\" there), and no other player may invest anything in that process until the \"post\" becomes clear. Don\'t confuse this with the \"cyclic\" nature of the processes, which is described above. Some processes may be linked to share the same \"post\" - for instance, \"douse campfire\" and \"light campfire\" have the same object, so two people can\'t engage in it at once. Again, it\'s up to the designer to decide which posts connect with which.

Processes that share the same \"post\" may be \"obscured\"   by the people working on them. Also, some processes might be outright invisble. \"Obscuring\" a post makes it difficult for other players to see what\'s happening in the processes associated with it (their slots become filled with question marks) but makes the player more efficient at his task (a small bonus is given). Other players have to make awareness rolls to see the details of a process (a roll is made at the start of every \"cycle\"), and to determine what and how much is being invested into an \"obscured\" process. This lets players get away with sabotage if they\'re clever enough, and if no observant player is around to supervise them. The downside of \"obscuring\" your post is that other players won\'t immediately know it if you need something. If Joey mans the bellows and Geoffrey \"obstructs\" the forge, Joey won\'t know how much air he needs to pump unless Geoffrey tells him.

Here\'s an example of a matrix. You want to brew a poison potion using 10 Luminous Russulas and 10 Violet Coprinus. You have a small pot and a flask of water at your disposal. The might look like this:

[pot-related matrix]

Fill pot with water: this process can hold water, but doesn\'t use it up. It has a threshold of zero, like most \"fill\" things, and doesn\'t need labor. This water automatically gets moved into the \"pot\" process.

[so why is this needed? Because the pot could be filled with other things, like alcohol and blood.]

Dice luminous russula: bonus for holding a sharp object; requires a tiny ammount of labor and holds a luminous russula (without actually using it up). The diced luminous rusulla gets sent to the \"pot\" process and stays there.

Crush violet coprinus: same thing. Suppose that if the violet coprinus were diced instead of crushed, the end result would be a \"mushroom stew\", or the potion might need two \"servings\" of violet coprinus.

Heat pot: needs flammable objects and a bit of labor. It uses up sticks fairly quickly, and converts water in the \"empty pot\"  to \"boiling water\" (a small ammount of water is deducted in the process - it boils, after all).

Cool water: It slowly converts boiling water back into water. No activation necessary (or even allowed).

Empty Pot: this process can hold a certain bulk of items. It has no function whatsoever, other than to . When activated (no labor required), it dumps everything in this process as well as the \"brew poison\" process back into the player\'s hands.

Prepare poison: Passes boiling water, diced LR and crushed VC from \"empty pot\" to \"brew poison\".

Abandon brewing (or something to that effect): does the opposite, for \"prepare poison\" and any other processes. Neither prepare nor abandon are automatic, but they don\'t cost anything, either.

[are they redundant? No. They\'re like the buttons on an
ordinary brewing menu.]

Brew poison: The final touch. This uses up boiling water and the mushrooms every minute to create a single half-liter of poison. The threshold for this is relatively high, and boiling water doesn\'t add to the activation level as much as the mushrooms themselves (so a pot full of water will hardly produce any poison). The balanced ratio of materials would be four diced LR and four crushed VC for every measure of boiling water.

Fill pot with X, empty pot, prepare X, brew X and abandon brewing share the same post, not to mention the same inventory. Everything uses a linear a / transition.

The whole thing needs about seven clicks - once to fill the pot, twice to light the fire, once for every mushroom thrown in, once for the validation and once for the final touch. It\'s a very simple example, far below what this system can do, but it does show that building a simple matrix isn\'t too much work.

Krissanasli

  • Traveller
  • *
  • Posts: 32
    • View Profile
(No subject)
« Reply #2 on: July 08, 2004, 05:24:40 pm »
What the player is supposed to do: \"feed\" items and labor  (manual or intellectual) to the various processes, and \"activate\" them. It can be like Space Quest 4\'s hamburger mini-game at its worst, and like a cybernetic network at its best.

Where and how it can be tied to the world: this depends on what kind of action this is. Weaving a basket probably needs nothing more than a pair of hands, while picking a lock would obviously need the presence of the lock itself. First, we assume that all relevant processes take place in the same area. There are exceptions to this (big assembly lines, huge rituals that span an entire temple, etc) but these things can be handled by just providing \"terminals\" that lets people connect to the whole matrix or one of its components (a terminal could be anything, from a segment of the assembly plant to an innocent-looking altar). If the system for \"smith bronze sword\" involves the same static object as \"smith iron sword\", the two should belong to the same matrix - in fact, it\'s probably a good idea to associate every matrix with an object, so that there would be a cauldron matrix, furnace matrix, altar matrix etc.

A matrix that\'s not associated with a static object could be stored as an inventory item, which could be \"dropped\" so that others might approach and use it.

Note that a matrix doesn\'t vanish from the world until all its unfinished items disappear (or, better, get converted back into raw materials), and all processes drop to an intensity of zero. When that happens, there\'s a long delay as activation levels slowly drop back to zero, and when *that* happens, it finally disappears. This means that, if a sorcerer is preparing a ritual to summon demons, you can backstab him at the last moment and perform the last bit of the ritual yourself. It also means that matrixes must be carefully designed, so that they \"wear out\" on their own. What happens when they do wear out, but still contain some items? Well, naturally, these items drop on the floor (if the matrix was \"dropped\" somewhere), drop near the static object inside of which they were placed or go back into the player\'s inventory, safe and sound.

The designer might place every process in a fixed slot on the matrix, to create something that looked like a chain of actions, but an option should also be given to compress the matrix into a minimal number of rows and columns.

What opportunities it gives: multiplayer basket-weaving. Seriously, though, it does encourage team effort, which means community- and hierarchy-building. It works well with things like temple rituals, although it\'s somewhat cumbersome for role-playing.

It\'s challenging and fun, it rewards the player for paying attention and for thinking strategically. It takes experience to master a whole matrix, so craftsmen will actually have something to brag about beside the cool trinkets they built. It\'s very effective for bartering with NPCs - a \"conversation game\" could easily be set up in such a system. If sounds were produced every time some process took place, it could even be used for singing, albeit in an awkward way.

Problems: Sabotage is only possible if the designer allows it - in fact, the greatest hardship falls upon the matrix designer. This isn\'t necessarily a bad thing, though... After all, if someone wants a matrix to be brought into the game, he can be asked to design it himself; The system is rather inefficient for quick, simple and repetitive actions, it doesn\'t give a good \"feel\" to the building process and it might be too immersive for its own good - people can\'t RP in an \"urgent\" situation that needs their full attention; It might intimidate newbies if it\'s not properly implemented  - a few simple matrixes should be provided at the start of the game, like crafting clubs with a knife and performing simple rituals. These processes should never, ever involve unfinished items... After all, we don\'t want newbies leaving matrixes around to clog the server.

Some people are going to look at this and say \"it\'s too complicated\". Well, they\'re as complicated as the designer wants to make them - if he uses linear functions everywhere and sets the matrix to dump unfinished items, the \"complicated\" part goes poof. If he limits his matrix to three processes or so, the whole thing becomes ridiculously simple.

If anyone made it this far, I\'m curious about your thoughts on the whole thing. Does it have potential? Should I waste my time with something else? Does it have any chance of being implemented?

dfryer

  • Veteran
  • *
  • Posts: 1070
    • View Profile
(No subject)
« Reply #3 on: July 08, 2004, 06:28:17 pm »
I don\'t think specifics of bonuses should be visible, nor should any information about the functions used to transform the inputs.  

At first glance, the idea sounds quite complicated, but the concept at least could provide a foundation for \"chained\" or \"group\" actions.  

Hopefully the crude first-iteration crafting systems will make it into the Crystal Blue release and we\'ll be able to base our comments on a \"present\" system.  Whether the crafting system will be generic or not I don\'t know, but if you\'re into programming you could have a look at the CVS version.
Quidquid latine dictum sit, altum sonatur.

Krissanasli

  • Traveller
  • *
  • Posts: 32
    • View Profile
(No subject)
« Reply #4 on: July 08, 2004, 06:58:03 pm »
Depends on how you see it. It should be possible to tell whether an axe was somewhat better at cutting than another if you just used it. I suppose an \"appraise\" skill could be fit into this.

I remember how in a MUD I used to play in, this sort of secrecy was so extreme and prevalent that you didn\'t even know whether the knife you held in your hand was any good at crafting with. Some form of feedback has to exist, I suppose. Seeing exact numbers doesn\'t bother me, as I can always ignore the information I learn. Others might just be tempted to powergame.

Vengeance

  • Veteran
  • *
  • Posts: 1452
    • View Profile
(No subject)
« Reply #5 on: July 09, 2004, 12:46:08 am »
I think you should wait and see the actual crafting system in CB and then comment.  It is similar to what you are saying in a lot of ways I think.

Saying things like this, \"given the crude magic system, I assume there\'s little thought being put into alternatives for combat\" really makes me think you should wait and see CB before passing judgment. :-)

- Vengeance

druke

  • Hydlaa Notable
  • *
  • Posts: 965
    • View Profile
(No subject)
« Reply #6 on: July 09, 2004, 03:59:41 am »
Quote
given the crude magic system



i\'m curious as to why you consider it crude...


my how times have changed.....

Krissanasli

  • Traveller
  • *
  • Posts: 32
    • View Profile
(No subject)
« Reply #7 on: July 09, 2004, 11:14:23 am »
Hopefully, it wasn\'t taken as a flame. To understand why I think it\'s a crude system, you have to recognize the way its elements are bound together, and what these elements are. As I understand it, the game divides magical actions into six spheres, each governed by a single skill. Each action is performed by activating a set of objects (runes) in order. These runes need to be \"recharged\" after every use, presumably by waiting, going to the sacred pool, feeding them mana or whatever. Each arrangement of runes can create a spell, and if we assume that all glyphs can be used several times in a single spell, that leads to a lot of possibilities.

The end result is, to my understanding, still a spell - a hard-coded block that acts in the same predictable way every time it\'s activated. There\'s a small labyrinth to be crossed on the way to that spell, but once there... The magic system becomes fairly typical. Of course, the principle of \"purification\" makes things a lot more challenging, as the players need to plan out a casting strategy to make maximum use of their runes, and while that\'s a fantastic element, the system still uses spells (a big reason to consider it crude).

Now, I have no idea about anything beyond that, as far as the magic system is concerned. It might be possible to use \"bonus glyphs\" (fire to extend range or whatnot) on the spells, echant glyphs to make the spells that go through them more powerful, but I haven\'t seen any mention of that. It my be possible to adjust the properties of a spell by some means, but the spell itself would be hard-coded. Hard-coded spells are crude by definition. They could be original and highly effective for their own purposes, but nonetheless crude. They will inevitably have a narrow reach, since they won\'t interact with the world itself - just the few variables that they were made to change.

So why don\'t you consider it crude?

A good system of any kind is based on principles that never appear directly in the game itself, but manifest through subtle yet effective ways. Compare the greek mythology to the real world: the mythology will always be crude and bulky, needing heavy input from the real world to function, while the real world itself, being based on elementary particles, can grow in some pretty incredible ways. When you strip away your common sense and try to look at it logically, the mythology starts looking extremely simple, with ill-defined principles that lack even the slightest potential. Consider how many things you can do with a few \"organic\" atoms (carbon, hydrogen etc.), and how many things you can do with a god. A god can throw lightning bolts, sleep around and bask in the worship of his minions... Well, a few million \"organic\" atoms can make phyiscal systems and living organisms of a complexity that no ancient greek could possibly imagine. The comparison between mythology and reality might be a bit extreme, but if you tone it down a little, you\'ll begin to understand the difference between a \"crude\" game system and an elaborate one. A crude system needs a huge ammount of balancing, being made up of a lot of \"patchkwork\", minor rules and exceptions; an elaborate one is as good as its basic principles.

If you clump together a number of rules, no matter how large, without giving them some sort of hierarchy, what you have is a \"mythical\" system, where things work the way they do for no particular reason. In a mythical system, soldiers fight on higher ground because it gives a combat bonus; in real life, soldiers fight on higher ground because they benefit more from going prone, they make it more difficult to be attacked with grenades, they can\'t be reached so easily, etc. You might ask: \"so what\'s the difference between the two systems, then?\"... Well, not all troops benefit from higher ground. Placing a tank at the top of a cliff would be pointless, as that tank\'s turret can\'t aim for the ground below. The \"mythical\" ruleset would have to add an exception, just to take this into account. The realistic ruleset, on the other hand, wouldn\'t have to change a thing.

Most game systems borrow the greek methology\'s techniques, trying to imitate the real world with a vast set of unconnected rules, instead of creating a solid game system in which new properties emerge by simply mixing principles in a certain way.

If you create a few hard-coded spells, that\'s as far as the system can go. If, on the other hand, you build the gameworld out of discreet principles and allow players to manipulate them through magic, you\'ll have an almost fully customizable system at your disposal. Players would create spells according to their needs, rather than relying on a prefabricated batch. A good magic system, as I see it, would allow the players to interact with the principles of the world around them rather than tinker with hit points, weaknesses and damage (which are not principles of the world itself, but baseless elements of combat).

Altharion

  • Hydlaa Citizen
  • *
  • Posts: 450
    • View Profile
(No subject)
« Reply #8 on: July 09, 2004, 05:08:34 pm »
meh thinks they should start implement stuff as mini-game then integrate it more to game so it becomes a bigger part then just a mini-game.