CRPGs and time

Started by
13 comments, last by felonius 24 years, 8 months ago
OK, just off the top of my head, here's a couple of ideas.

Hardcore reality proponents would say that the only way to make things *totally* fair is to create a HUGE game world where every square inch is traversable. Then, to go from Town A to far-away Town B, the users right click on Town B and spend the next 5 days watching their character walk all the way there.

Since this would suck, I'd say the best way to solve the problem is to take the one resource that travelling needs (time) and convert it into a more tangible resource (say, gold). Make up something creative: your world has got wizards which can instantly teleport people to any place on the globe... for a price. Then make sure that the wizards charge more depending on how far away you want to go.

Just a thought...

Mason McCuskey
Spin Studios www.spin-studios.com

Founder, Cuttlefish Industries
The Cuttlefish Engine lets anyone develop great games for iPad, iPhone, Android, WP7, the web, and more!
Advertisement
I believe that problems like this are solved in Baldur's Gate and games like it by making rules:
Limited multiplayer (generally 4-8) in order to accomodate for the fact that...
All players must agree to sleep at the same time. This is somewhat annoying, and limits you multiplayer parties (in Baldur's Gate, for instance, you are not even allowed to go into another game region without having ALL your characters together.)
The rest of the time problems seem to be fixed by rolling for chance of encounter during the sleep period chosen, each "hour" has a percent chance of an encounter and if an encounter is rolled, the characters must "wake up" at that time to defend themselves. The time-based quests function according to game time and therefore run at an accelerated speed during the rest period.
Quite honestly in my opinion requiring sleep isn't really an asset, and I can guarantee you that I will never buy a game that requires me to sit there and watch my character sleep without acceleration.
As for distance travelling and large maps, I'm fairly impressed at the Darkstone way of handling it, which consists of breaking the map into chunks and walking down the occassional "path" to get to the next chunk.
-fel
~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
Hi,

And thanks to you both for your input. What I forgot to tell was that I am actually making a CRPG authoring system - not just a single game - otherwise my professor would not accept the project.

The project site is: http://fp.image.dk/fpelisjac/rolemaker/index.htm

To put the decision of time speed into the domain of the game world (like Mason suggests) means that the underlying engine should accept various time speeds. The author of the rule system (also not placed in the engine) can then select the speed of time for each situation. This is certainly a solution worth considering, but it this would mean increasing the complexity of authoring games. It would be preferably if I could isolate all these decisions in the engine.

And to felisandria, I can only agree that sitting in front of the screen in 8 hours watching somebody sleeping, is extemely boring and totally out of the question.

And about the Baldur's Gate sleeping policy: I do not think it is a good idea to enforce that all party members should sleep at the same time. For networked games for only a few players I believe that the game just should be timed for the player which is at the earliest game time moment. So if a party member decides to sleep, then he must sit in front of the screen while the other party members go adventuring.

And your comment about random encounters; I do not like the whole idea of random encounters. In my opinion creatures should not just appear out of nowhere just because the party sits down and rests. Encounters should only occur if creatures would have come by the location anyway - which unfortunately requires more computation to determine. I am attempting to create a believable functioning community, which means that if a party goes into a room in a dungeon, locks the door and then goes to sleep, they do not suddenly wake up surprised by kobolds - like it happens in Baldur's Gate. The amount of creatures and items in the world should stay the same throughout the game.

I have never played Darkstone. Tell me more.

------------------

B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/

Jacob Marner, M.Sc.Console Programmer, Deadline Games
Darkstone is a relatively new CRPG (it came out just a few weeks ago), somewhat reminiscent of Diablo, but much larger. The perspective is 3D overhead (and pretty impressive considering some of the stuff you can do with the camera without losing image quality). The major quest is to gather 7 crystals, though this can be done in different ways depending on the randomization of subquests, all of which are randomized every time you start a new game for maximum replayability. Characters are exportable and multiplayer of up to 4 people over LAN or TCP/IP is supported.
It's worth a look.
-fel
~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
Hmm,

Without going in to a discussion about what a CRPG is, lets just say that games like Diablo is of different kind and style that games like Fallout or the Ultima series.

Diablo - and also Darkstone according to the reviews I read - is primarily combat oriented and focused not on making a story but allowing the game to replayed again and again with the same characters. This is good for social gatherings on computer cafe's but is not for single player fun. So, I do not think I will buy it - thats a lot of money.

So fel, could you be so kind as to tell me more about the movements between the submaps in Darkstone and the "paths" you talked about.

------------------

B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/

Jacob Marner, M.Sc.Console Programmer, Deadline Games
I'm not sure what type of game you're targeting:
(a) Massively multi-player like Everquest or Ultima Online
(b) Single-player with multi-player capability

They have different time-scale requirements. Obviously, the goal of (a) is real-time, while (b) has the flexibility of time-compression and time-dilation. In (b) you can force the players to work in real-time in some scenarios and allow for entire weeks to pass in just seconds as they travel upriver.

In (a) city's are pretty much just locations, places to hang out and use as a "base". Any quests discovered there are usually going to be "reasonably local." That is, the real-time nature for the game prevents a quest from sending the player half-way across the continent. A player might spend the time travelling to a far away city to check it out, but then the world designer would need to provide a lot of detailed scenery and interaction between the two locations to make the trip interesting. Maybe the player can be considered to be "travelling" even when offline to allow him to get further. Or the "magic teleport" alternative mentioned by Mason would work.

In (b) city's and other locations are usually "plot points." It's important that the player arrive there, not that they spend days travelling to get there. In this case, there is literally *nothing* between points A and B except a number representing travel time required.

It comes down to the kind of game you're creating. If it's a large, open-ended multi-player game the problem of time is much different than if it's a scripted, plot-driven game.

------------------
DavidRM
Samu Games
http://www.samugames.com

Hi,
I think that is clear from my first posting that I plan a single player or "few" player network game. What is not clear is that it is plot driven, but with a very non-linear approach in mind. See my site for more info.

I think you (DavidRM) missed the point - I am NOT interested in just making time jump ahead in a snap shot as usually done in games - because the AI would suffer. So its not the travelling that is important but the fact that characters elsewhere (NPCs) still act almost as though the character was still around.

A compromise of speeding time up a few (2-100) factors during travelling or sleep is properly the best thing to do.

Although waiting 8 hours while sleeping is out of the question, maybe waiting 10 minutes is okay??

After all travelling is not taken lightly in the real world and a 100 miles march through the desert should be felt some how on the player, shouldn't it?
And sleeping is usually done i CRPGs to recover from injuries, so resting is often af result of a minor failure in a CRPG. Wouldn't it be okay to give a minor punishment to the player for this?

Punishing players may be controversial, but just consider it. Players often just do not care about combat - "I will just rest afterwards - no problem" - and that should not be like that. Waiting could also be a solution to this problem.

------------------

B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark. http://fp.image.dk/fpelisjac/rolemaker/

[This message has been edited by felonius (edited August 27, 1999).]

Jacob Marner, M.Sc.Console Programmer, Deadline Games
To through yet another time related question into the mix:

What do you think about letting the computer initiate pauses to handle high priority AI calculations?

These pauses should of coarse occur as rare as possible and when they occur they should have minimum length of 5 seconds (or so) to ensure that pauses do not occur in small chunks of 1/10 second.

A computer pause is almost like having "Computer turns" in a real time game.

Jacob Marner, M.Sc.Console Programmer, Deadline Games
Its probably just a better idea to split up the large AI processes so that they dont all happen at once when possible. Alternating, etc.

Or even better, you can separate the drawing from the internal processing and then it doesnt matter as much if you are waiting to draw the screen on the AI info...

-Geoff

Hi Geoff,

I am already alternating between NPCs and they have different priorities - almost as described in the article "practical NPC management" on Gamedev.net.

The AI routines are already separated from the graphics updates so that is already done. This done by having two ready queues (like in a real OS process schedular), one for real time and one for game time. When game time runs scheduled tasks from the game time queue is moved to the real time queue. The real time queue contains order for screen updates. If the real time queue comes behind schedule then currently the all low priority tasks are postponed (or dropped entirely) until later. The system uses free NPCs, so each AI routine is fairly small.

What I mean is that some times very high priority tasks (for instance the AI of the NPCs currently combating the player characters) becomes behind schedule even if everything else is postponed. This could be caused by a wish to have high AI standards for certain characters at certain times.

The question really is, could it be acceptable for the player if the computer was allowed to pause, if the gain was an increase in the AI of the immediate surroundings?

This is a CRPG authoring system so it is the author/user that defines the AI routines. That mean that I cannot be absolutely sure that all high priority tasks can be handled at all times to a satisfactory level. I only really see the following alternative to pausing:
- Postpone high priority tasks, thereby forcing af a lower AI standard - noticable by the player. If this happens often, then system could lower the priority of some of these tasks.

------------------
B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/


Jacob Marner, M.Sc.Console Programmer, Deadline Games

This topic is closed to new replies.

Advertisement