Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!rpi!batcomputer!munnari.oz.au!brolga!uqcspe!batserver.cs.uq.oz.au!grue From: grue@batserver.cs.uq.oz.au (Frobozz) Newsgroups: comp.sys.mac.games Subject: Re: RPG opinions Message-ID: <5701@uqcspe.cs.uq.oz.au> Date: 15 Nov 90 00:50:19 GMT References: <1990Nov13.013631.1774@magnus.ircc.ohio-state.edu> <5668@uqcspe.cs.uq.oz.au> Sender: news@uqcspe.cs.uq.oz.au Reply-To: grue@batserver.cs.uq.oz.au Lines: 109 draphsor@elaine12.stanford.edu (Matt Rollefson) writes: >Yes, but what is a game but a simulation? As long as there are still >objectives and some sort of consistancy (ie the NPCs have personalities, >they don't just randomly move about) it's still a game, not 'just' a >simulation. The response time is a factor, but there are ways to get >around that in the implementation. >Actually what I think would work best is to have several important NPCs >which you keep track of all the time, and then only the NPCs which are >close to the player character are kept track of. A castle would have a >basic setup that most of the NPCs are in most of the time, which would >then start varying when the PC got close enough. The master of the >castle, however, could be doing anything even when the PC was far away. >You'd probably have to have two levels of complexity for actions in this >system. Obviously you don't care about how far the major NPCs walk in a >day spent around their castle. Rather, you care about how their plans >are developing and what they're doing to thwart/aid the PC in >non-obvious ways. You could either do this as a set script, as a number >of set scripts, or as a completely dynamic process. Again, the more >general you try to get, the harder it is. Having special NPCs and normal NPCs makes the coding a fair bit more difficult. You now have players and two distinct types of NPC to worry about. There are now five types of interaction available (player and one of two different NPC, and the three ways of NPCs meeting), it would not be a problem to get rid of the dumb NPC -- dumb NPC interaction since they would not happen unless dumb NPC were capable of independant movement. My prefered design would be one where all NPCs are mobile (possibly restricted) and all of them respond to various cues. An Eliza like talking module should be sufficient most of the time (it would have to be extended to take in more than just word, it must take in actions as well. LPmud implements a 'talking monster' that is capable of doing this sort of thing in a rather ugly way. As for response time, IMHO response time will be bad reguardless of which approach you take (it would be worse for the more general everything is semi-intelligent). Consider the case when the player wants a long duration action to be performed (e.g. eating a meal, going to sleep, casting a ritual spell), while this action is underway all active NPCs are going to be doing their thing. If a couple are slogging away at each other then they are going to be context switching every couple of seconds (simulated time). How many couple of seconds are there in 6 to 8 hours? An awful lot I'd expect. This would inherently make everything slower. Again, the response could be improved by forcing NPC never to get into tightly interactive loops (combat is about the only example I can think of off the top of my head, I am sure that there are others). So, we decided that NPC-NPC combat will not take place as a lot of short term exchanges (which is how I'd do player-NPC combat). Sure, working out some expected damage suffered and short circuiting the entire combat is possible but suddenly we have another special case for the code to consider...keep going like this and NPCs are becoming less and less like players. The less the code looks like players, the more tempting it is to take some extra short cuts to save some work and the cycle repeats itself. I firmly believe that NPCs and players should share just about all of their code. The $200000 question: who would be willing to play a CRPG that had rather non-deterministic response times? Most of the time you would get a reasonably fast response but occasionally you would have a longish wait (two really powerful nasties decide that they both want to eat the player and blast each other to pieces for a few hours simulated time). Finally the first question gets an answer: What is a game but a simulation? I think I probably confused myself and everybody else with my switching of terms everywhere. I agree that a game is a simulation. I failed to make a distinction between a simulation based methodology under which a game is written and the game being a simulation written using a different methodology. A decent CRPG would (IMHO) have to be written using some kind of simulation package/language in order to be able to comprehend things properly. >Looks good. While I'm not up on the technical stuff of how to implement >what you suggest, it makes sense. Still, it seems to me that the most >difficult part would be making a realistic set of motivations for the >NPCs and figuring out how to implement them in a non-trivial way. I agree that creating the NPCs would be a very difficult problem (and one which I would be quite terrible at doing). Creating the background program should not pose too much of a problem, it is likely to be a large thing and it would contain a *LOT* of data (who here realises exactly how much data is contained in your average RPG? As a start choose an interesting section out of your favourite RPG and try to implement it on a compuiter. In a space game I'd suggest trying starship generation or combat, in a fantasy game try combat or perhaps spell casting. And don't simplify anything major either, you need a lot of stuff there to keep the game interesting!). >So, any chance you might want to write such a beast, now that you've >described it? I'm sure we could find enough willing playtesters! :) Writing such a thing is a job that I've wanted to do for quite a long time (several years in fact, the more I think about the problem, the more sophisticated my conceptual design becomes. Originally I just wanted to write a decent text adventure, now I want to do a decent CRPG :-) I think I've rambled on even longer than last time :) Pauli seeya Paul Dale | Internet/CSnet: grue@batserver.cs.uq.oz.au Dept of Computer Science| Bitnet: grue%batserver.cs.uq.oz.au@uunet.uu.net Uni of Qld | JANET: grue%batserver.cs.uq.oz.au@uk.ac.ukc Australia, 4072 | EAN: grue@batserver.cs.uq.oz | UUCP: uunet!munnari!batserver.cs.uq.oz!grue f4e6g4Qh4++ | JUNET: grue@batserver.cs.uq.oz.au --