Advertisement

Game design problems: from story to algorithms..

Started by May 03, 2000 10:53 AM
29 comments, last by Niphty 24 years, 7 months ago
quote: Original post by Diragor

Landfish - I have a question about how you could use the modified enemy skill thing in an RPG setting. If you want to have a large, wide-open world for the player to explore, where he may encounter any kind of monster at almost any time, how do you avoid a situation like a level 20 character actually being challenged by a formerly low-level monster? I mean, say early in the game he runs across something like an Orc. The game looks at the player''s experience level and adjust the Orc''s stats to be a fair challenge. Now when the player comes back much later in the game he should be able to totally slaughter that same creature. It seems like you''d have to come up with a mildly complex system of constraints for the monster stats, because the player will go through such a huge range of skill and experience throughout the course of the game and the monsters'' abilities shouldn''t vary that much.


Also, if the player is stupid enough to enter a dragons cave while still level 1, the player should be punished (killed) for that. The dragon shouldn''t just say ''Oh, here comes a weak hero. I''ll better not be too harsh on him''

Regards

nicba
Ok.. here we go..

landfish - no, we weren''t on the subject of MMORPG, it just pertained. The point is, i''m trying to make an MMORPG but finding it hard to go from story to actual working game. That''s the whole point of the topic.. having problems actually going from the story concept to the actual game designing. I also agree on the expendiable creature part. I''ve got a very good outlook on the game design from that aspect. A way to draw people in from both sides.. power gamers and roleplayers.
Leveling in the typical sense might suck, but.. in a game with guilds who work on specific things, levels are strictly based on skills. And skills that level you are based on what profession you choose. A fighter will have to whack things, but a mage won''t, they''ll cast things. Each person gets experience their own way. A good example of the basics of this system is DragonRealms. I believe the game has definate lack in terms of real RolePlay, but it''s a good basis for understanding how guilds and skills can work together. Each guild has a set of skills which they work on honing. Some guilds will overlap, some will not and thus be only learnable by those in the profession.. or at least learned with ease. Anyone can gain any skill, but declaring a profession is like picking a major in college.. you pick what''s most right to your abilities and skills. The reason this works out is that the people, by picking a profession, gain the ability to learn that profession''s skills with much more ease, as if they were a natural for it. The best example of this in reality is that of music. Some people have it, some don''t. While there won''t be any mozarts in the game, there will be people like we have today.. natural born players sounds bad, don''t it? However, most of us can pick up an intrument and with a LOT of time, be as good as these natural born players. Although we drop all other things.
I agree with you about the topics, they''re a bit thin and not too much on topic with design, although some are pretty funny

Diragor - The problem is not so much coding it, but coding it correctly Going from design to code is a problem many are faced with. I hear a lot of people say things like "if only this had this" and such. But they can''t program it, so they can''t do it! And what''s worse.. most designers, really creative people, can''t actually put down numbers.. cause it feels like you''re limiting something that shouldn''t be.. lol I feel that a lot when i''m trying to write out how i want something done. The coding behind the game is the key element in making the design come to life, however. And i think there hasn''t been much discussion on how to actually turn a game design idea into a game design reality. I agree wholeheartedly in the modularity of things, I''m just wondering how you actually go about determining certain aspects of the world. For instance, the pong example again.. how do you draw the line and say "if the ball hits here, it bounces at a 15 degree angle, and here it has a 30 degree angle." That to me is the hardest part, actually determining where to draw those lines. I know i want about a 15, around 30.. but unless you know exactly what you want, you can''t code it i guess i''m too general! lol Oh well.. i''ve actually just bought a book i''ll be reading a reviewing for the site; it''s all about game design and how to get the projects going, manage them, and make them work. Looks very good, but we''ll see 600+ pages, gonna take some time

J
Advertisement
To make a balanced combat system, or any other system where balance between 2 sides is paramount, the best favour you can do for yourself is to reduce the number of variables. For all that I hate the AD+D system, it all comes down to 3 variables in the end: thac0, AC, and then the damage roll. Thac0 and AC are directly equivalent and so balance is easy to gauge. And the damage roll is reasonably constant no matter whether you''re level 1 or level 36 (ability to afford exotic weaponry aside) and so balancing AD+D encounters is simple.

Know the range of your variables, know the average of your variables, know the deviation of your variables. That will save you a lot of trial and error (mostly error) later on.

As for levelling: I think it''s a wonderful thing. As indeed is any other system of statistical advancement. It is a mark of achievement. Whereas some people may simply like to progress through the story, there are times when you are stuck on some plot element, or are off on some sidequest. In these cases, having a secondary goal (improving your character) reduces the game''s linearity and thus increases interest. It also provides a welcome change of pace. However, in a plot-based RPG you should be careful to ensure that completion of the game does not rely on an amount of repetitive slaughter (unless you want Diablo). Personally I thought Ultima VII had this handled perfectly - very few encounters were next to impossible, and I could deal with pretty much anyone at the game''s end, without ever needing to just go into the wilderness hunting to increase my ability.

If you are having random encounters, it might make sense to pitch them at a certain level relative to the party (50-80% strength, for example) - enough to ensure the player has to pay attention, and not enough to seriously hamper them. But obviously it''ll seem odd if a goblin used to be level 1 and now they fight like a level 10. Compensate for this by increasing quantity of opponents rather than quality. And certain preset encounters, or certain areas known for a dangerous reputation could probably be at a fixed level, and the player has to be able to deal with that. This creates a puzzle in itself: having to train up to come back and finish the job. This is most fun if you can escape with your life (it them becomes a sub-plot element), averagely fun if you can just reload the game, and no fun if you have to go back a long way to the last save point or something.
Hey Kylotan! We actually agreed on something!! I''m soo happy!

No really though. I too hate AD&D''s system, but I agree with you in it''s functionality as three variables. My personal belief though is that CRPGs give us the opportunity to use more bloated and realistic systems than could ever work in Table Top RPGs.
You also nailed what I was inefficiently trying to describe right off the bat. I would make it so that the percentages (or rather, sets of percentages) were wide enough that nothing ever really seems out of place. A static system, like it sounded like I was describing, would REALLY suck. I''m sorry for the misunderstanding.

I have to disagree on the leveling thing, though, but that''s just a matter of personal taste. Some people DO want to sit and be rewarded simply by the time they put into something. Others seek a deeper experience (sometimes... but I have been known to take up the Diablo mantle every so often. Sometimes, a little instant gratification is all you want, right?)
======"The unexamined life is not worth living."-Socrates"Question everything. Especially Landfish."-Matt
For the very first original question:

Buy couple of roleplaying games, read those books so that you remember most of the rules, and then start to think how could you make own rules... It''s not too hard.
Probably the easiest mathematical rule system is 2d6 system so that if you have weapon of 4, then you have to throw 4 or under, to manage to hit the target... really simple
As for how to print the stuff to screen, there are two ways:
"You hit xxx with xx damage" OR "You hit xxx. xxx is hit to arm, and xxx looks harmed". Another is for action based game, another one is for more storytelling based game.

Unfortunately, I''ve never been able to do something the same way twice in real life. There are always random elements involved in anything that you do, unless you are making a robot game, and then you still have a bit of randomness involved. Time, temp, tiredness, and state of mind all affect how you do any action. To dismiss any randomness in any action will defeat any attempt at reality.

The only real argument against having too complex of a formula for determining things is that players like to know what to expect, performance wise, their character to react like. People play games to have fun, not to learn real world theories . D&D rules weren''t designed to be easy mathematically, they were designed to be easy to manage and comprehend for the player/dungeon master. Of course, even D&D used tables to look stuff up.

If you can''t think of any other way to balance the game (either pen or calculator), then your best bet would be to take an hour or two and write your character generation routines, your combat routines, and any other event routines in a simple text based program. You don''t need fancy graphics. ASCII will do nicely. Use whatever language you are interested in.
Advertisement
quote: Original post by Diragor
...and if you make the combat system code modular, with each part well encapsulated, you should be able to tweak the numbers all you want after it''s done to get that balance you''re looking for...


Another method, After you''ve done the encapsulation, is to do a series of combats against different level creatures with the Attacker being at different levels himself.

EnemyCreatures[numCreatures];
for ( Level = 1; Level < MaxLevel ; Level += 2)
{
SetAttackerLevel(Level); // includes powerups available
for (x = 0; x < numCreatures; x++)
{
CombatInfo *pResults;
for (y = 0; y < numClashes; y++)
{
ClashOfArms(Attacker, EnemyCreatures[x], pResults);
DumpCombatToFile(Attacker, EnemyCreatures[x], pResults);
}
}
}
}

After that is done, you can sit down and analyze the combats with some questions in mind
1) At each level should the Attacker prevail?
2) Does he prevail too quickly or too slowly?
3) Does it have the right feel to it
4) How would it translate onto the screen

There''s much you can do before that by walking through on paper different combats with varying levels of enemies and power-ups. And it''s important that the level NOT be an EXACT match but that you get a good fit over the correct ranges.

ZoomBoy
Currently Developing a 2D RPG with skills, weapons, and adventure.
See my character editor, Tile editor, diary, 3D Art resources at
Check out my web-site
quote: Original post by Landfish

Hey Kylotan! We actually agreed on something!! I''m soo happy!


I''m very opinionated. I have more than enough opinions to go round, so everyone will find something to agree with me on and something to disagree with me on.

quote: No really though. I too hate AD&D''s system, but I agree with you in it''s functionality as three variables. My personal belief though is that CRPGs give us the opportunity to use more bloated and realistic systems than could ever work in Table Top RPGs.


Yep, I agree with you. But, the problem is that computer programs have to be made by inefficient human beings. It''s no good letting the computer manipulate all this data if the human can''t get the output they want.

This comes with experience. I did statistics classes a while back, and have been designing dice-based games for many years now, so I feel I have a firm grasp of probabilities and statistics: enough to make a balanced system with lots of variables. If you do not have a firm handle on the data in and the data out, then every extra variable you introduce produces an extra level of magnitude of possible outcomes. Which is not good It''s often best to pick a system first (percentile, relative intervals, ratios) and then fit your stats into that system, given what you want to see. Make up a set of rules (eg. "When attacking a combatant of exactly equal ability, you have a 50% chance of hitting") and build the system around it.

quote:
I have to disagree on the leveling thing, though, but that''s just a matter of personal taste. Some people DO want to sit and be rewarded simply by the time they put into something. Others seek a deeper experience (sometimes... but I have been known to take up the Diablo mantle every so often. Sometimes, a little instant gratification is all you want, right?)


Obviously you can never cover everyone here. This is why MMORPGs have so many teething problems: "The more people you get, the more versions of "what we''re really doing" you''re going to get." (JC Lawrence, from the Laws of Online World Design) But I will say this: puzzles are fun, but puzzles under pressure tend to be more fun, if you can handle the pressure. If you have infinite time and no risk when attempting something, you know it is inevitable that you''ll succeed. I don''t think levelling should be down to any kind of ''twitch'' factor: this would just be another case of ''putting the time in''. Just another obstacle.

Something else to consider, and a trick used in Ultima VII to great effect: a system where the character has to grow stronger throughout the game in order to defeat progressively stronger opponents allows you to have a totally non-linear environment without allowing the player to bypass the story. You can protect certain key areas and encounters by making them harder than the encounters that should have gone before. This allows your player to wander all over the map, exploring at will, but still having to start with the opening plot devices first, gradually progressing through them, finding places that are too tough for now and making a note to ''come back later''. Just a thought.
Humm.. ok.. here we go.. I agree that a simple system is best to use for grasping things, but this is an ONLINE game, where you don''t want people figuring out how to min-max a character. This is the problem with AD&D skills and powers.. as people learn the system, they learn to maximize a character''s output with minimal work. Since AD&D is built around hack''n slash.. it''s not too difficult to figure out what you want the character to do.. kill kill kill.
In the game i''m making, yes.. killing will happen.. but not on the AD&D level. Killing is only nessicary for those who want to kill. There are many professions which neither condone nor accept killing unless nessicary.

Whirlwind - what you say is somewhatly true, the random element does factor in, but only in the way in which the thing gets done. I dislike how AD&D simply says "randomly from 1-20, roll 13 or better to hit!" It''s so simplified, it lacks the real creativity that life has to offer. Yes, you never do something the same way twice unless you are very percise and accurate, which play a factor in how well you do things. The random element CAN be named and made into a real thing. Someone with great accuracy can hit the same place twice.. while someone with great percision can hit in the right way It''s all about these elements which you don''t usually attribute to your abilities.
Think about sword fighting. If someone slashes, you move to parry or block with a shield. Parrying is a percise maneuver.. go too far, lose your arm, too short, fail to block! shield is something which you can just sorta blindly block with and still manage to do a good job. As for hitting someone, it takes a lot of work. Are you strong enough to use the weapon effectively? are you too tired? Are you tall enough to even hit that point? How accurate are you at hitting where you want to? What it boils down to is probability, which can be measured on a random roll, as D&D does it. The THAC0 literally is your characters chance to hit, probability. What i''m doing is factoring probability back into its roots and going from there. Will it have a random element? perhaps.. if one is needed. Some random things could include tripping, etc.. just like there is in D&D, roll a 1 and you critically miss. roll a 20 and critically hit. Since the game will be skill-based for combat, then it needs to make use of the skills, and not just probability tables. I''m still debating the random element part of it, as to if it would be beneficial to the system. Either way, it''s not going to be the mainstay of the system.. merely useful within it.

And yeah, I''ve got plans to write out things and try them out, however.. the way i''m building the game is not hard-coded.. it''s encapsulated scripting code, so I have to build the actual game once the program for the game is built. This allows me the ability to make several games without constantly starting from scratch. Heck, look at Baldur''s Gate ::shudders:: it was an early attempt to make scripting inside of an engine to allow the engine to be used with other games readily. I''m just suprised it took so long for them to get Icewind Dale out.. hehe

Kylotan - I agree, many times people will simply come up with their own theory about what does what for the character, "no no.. you need more strength," "no, he needs more stamina" etc ad infinatum. I''ve heard it all before, unless the player has the system in front of him and knows it, they will always guess as to how things work.
That''s a very interesting way of looking at leveling.. infinate time to accomplish a task. The only way to shorten it would be character deaths from old age.. hehe I dunno.. it''s up for debate but we''ve already worked out a good leveling system which allows power players to maximize all the want and those who don''t to enjoy while still gaining levels.
And i believe all games have some form of linear story in which the baddies get harder. Even doom''s creatures get harder as you go, requiring you to have bigger and better weapons and faster fingers. It''s the kinda game where the user''s skill is the skill of the game character. This is an interesting aspect, but RPGs can''t work like that.. it''s fantasy for a reason, and people want their characters to remember things the players in reality normally wouldn''t.. hehe That''s why AD&D allows DM''s to make wisdom checks to see if a player''s character knows info pertaining to something inside the game world that the player doesn''t actually know. For instance, Elminster is known to all people in the Forgotten realms setting, yet new players wouldn''t know him. That''s where the DM/storyteller aspect comes from.. you tell them what they should know, and allow them to make judgements and choices based on that knowledge. It''s rather interesting, i think But it shows how people will expect things of their character that they could never do. So, you have to allow the character to do things the player couldn''t.. to a degree. In MMORPG it''s hard to draw the line, since all players aren''t heros, and in fact.. none should be heros above the rest, only way to be a hero is in actions and through training your character. It''s always debatable.. there''s so many routes to take to making the game balanced, and so few have been used. I think that''s why so many people want to make MMORPG style games, and RPGs in general.. there''s a lot more to do than has been done!

J
quote: Original post by Niphty

Humm.. ok.. here we go.. I agree that a simple system is best to use for grasping things, but this is an ONLINE game, where you don''t want people figuring out how to min-max a character.


Right, but by using lots and lots of stats you''re hiding the problem, not fixing it. Instead of making it -difficult- to min/max a character, why not make it -pointless-? If your game design requires good stats to win, someone will work out how to do it.

Either way, to make a balanced combat system you are going to have to (a) look at what kind of results you want (the ''rules'' I mentioned). and (b) start small and build up, adding factors in as you go along. That way, for each factor you add in, you tweak it until the system is balanced, then you add the next. Starting off with 20 or 30 factors and then attempting to immediately balance the whole thing is going to be next to impossible.

quote:
Kylotan - I agree, many times people will simply come up with their own theory about what does what for the character, "no no.. you need more strength," "no, he needs more stamina" etc ad infinatum. I''ve heard it all before, unless the player has the system in front of him and knows it, they will always guess as to how things work.


But 99% of the time, someone will actually work out how it does work I ''reverse engineered'' a PBM game once: just by looking at the exp gained by my characters, and the amount of damage they dealt/received in total at the end of combat, I worked out how they calculated the hit%, how the weapon type affected damage, how much damage all the different descriptions (injure, wound, seriously wound) dealt, how important weaponskill was to the equation, etc. Nowhere were any of these rules documented, I just figured it out. And someone will likely figure out your game

quote: It''s the kinda game where the user''s skill is the skill of the game character. This is an interesting aspect, but RPGs can''t work like that.. it''s fantasy for a reason, and people want their characters to remember things the players in reality normally wouldn''t.. hehe That''s why AD&D allows DM''s to make wisdom checks to see if a player''s character knows info pertaining to something inside the game world that the player doesn''t actually know.


Yeah, but this doesn''t go against what I said, it supports it. I''m not saying the user''s skill should increase as the game goes on in order to access new areas: the -character- builds up skills and/or levels, which allows them to beat progressively harder opposition without any improvement on your part. This is just like the Wisdom check you mentioned, just using combat stats rather than wisdom.

This topic is closed to new replies.

Advertisement