Myth's Hesperian Thread

A place for BRPG and BGE users to socialize
Post Reply
Myth
Soldier
Posts: 19
Joined: Mon Jun 05, 2006 8:37 pm
Location: Portland, OR
Contact:

Myth's Hesperian Thread

Post by Myth » Tue Jul 11, 2006 7:34 pm

Edit by heruca: I split this from the "What does BRPG Offer" thread.

I'm using FG purely for mapping functionality. A quick OOC chat works there, as well, though it lacks directional chatting (at least, I don't *think* it supports directional chatting.)

For mapping, it's awesome. It sucks that if you make a mistake with fog of war, you have to completely redefine your fog mask. But otherwise it's totally awesome.

For dice, statistics, IC interactions, most OOC interactions, XP & HP tracking, initiative tracking, and everything else, Hesperian blows FG away. It's built to do those things, and it does 'em well and efficiently, in the background. :)

I can't explain how Hesperian NPCs work, but I'll give it a try.

Cold C is an object-oriented language. So, everything is an object. Most objects are "physical" in that they can be seen & interacted with. Some objects are "virtual" in that they don't have a "physical" manifestation. Like, an alignment, or a realm, or something like that. They're still objects, but they're not physical.

So... every NPC is a $monster object. It inherits all the $monster code, such as speech, emotes, random spams, and in the case of predefined monsters... full statistics and random descriptions.

For example, in my last session, one of the PCs is a druid. His animal familiar is a wolf. So, I typed the DM command "@birth a wolf". Hesperian created a new $monster object named "a wolf". But I'd forgotten that 3 years ago I added "wolf" to the auto-generated list of monsters. So, my wolf was birthed with a random description (it was dark red... it could have been black, grey, brown, or white though white is very unlikely). It had HD, AC, attacks, damage, and random HPs. It couldn't speak, though it could emote. Saves and other "calculated" values are calculated per use, so those are covered as long as the NPC has basic statistics.

With one command I generated an entirely complete NPC. It will remain in its current state forever, until a Player or DM modifies it.

Next, I gave the PC the ability to command his animal companion. He can type "@wolf <command>" and it will do what he tells it. He can emote with it, tell it to follow or attack or stay, and a wide variety of other options. NPCs can spellcast, etc. So, basically he has the ability to guide this critter around.

Other PCs and DMs can "look wolf" to see what it looks like. If it picks something up (in its mouth) they can see what it's carrying. NPCs with hands can carry pouches or packs and put things in them. NPCs can carry torches (as can PCs) that light up rooms with the "darkness" flag set, so that people can see in them. Otherwise, all emotes come through as "an unseen entity in the darkness does blah" and all speech comes through as "a voice in the darkness says blah". Unless the room has a "silent" flag set, of course, in which case no sounds come through. :)

A PC can build their own rooms and detail them. A DM can build thousands of rooms and detail them... and they stay there, waiting for PCs to be guided into them.

I built the first 2 chapters of my favorite f2f module ("The Egg of the Phoenix") into Hesperian, and populated the wild and rough mining town of Nimbortan with NPCs and monsters. Now, 3 years later, I wandered through and explored, and features I'd totally forgotten popped up. If I spoke to the cleric in the town temple, he revealed that he'd seen me in a dream. As I responded to the portions of his dream, he revealed further information. That's all automatic... the DM can run other NPCs and detail events while the PCs talk to the NPC. He can also jump in and run the NPC (or any other NPC) at the same time, as needed.

Make sense?... every room, every NPC, every item, every monster, is an object. The DM has control over these objects. He can make $monster objects speak and move. He can determine what $weapon objects or $armor objects do. He can add custom code so that if a fragile sword rolls a natural 1, it has a 20% chance of breaking. Then he can forget about it and get on with the game... and when it happens, he incorporates it into his game, and things roll onward. With that kind of customization, a DM can spend 2 hours before a game and generate far, far more than just a bunch of text files to copy/paste later. He can build a very interactive environment that's all set up for him to step into the Puppetmaster's Booth... and run everything from behind the scenes.

That's what I'm talking about with persistent NPCs. :) A level of detail, automation, and control that simply cannot exist in a chat interface... at least not unless it's highly evolved, like a MUD is. Hence my use of a MUD for that kind of functionality.

Check it out. Explore Hesperian. It's up 24-7, and you can use the Guest Login (Tomas) to explore, fight the arena gnoll in the Game Room, etc. http://portland.puremagic.com/~scott/Hesperian.html

> So you can generate a bunch of generic NPC's give them all a long list of names and a series of pictures and the players won't notice that they have actually met Veteran Marine 1 20 times.

That's similar to Hesperian... except that I can teach Hesperian to generate marines (green, veteran, and elite) and then generate fully-detailed, randomly described, armed and armored marines on the fly, as needed. I can tweak the resulting random-generated marine very easily. And, I can do that any time I need to in the future, and so can any other DM who uses Hesperian. With a single command: "@birth a veteran marine"

Veteran Marine 1 might wield a longsword (sorry, using fantasy marines) and wear studded leather. Veteran Marine 2 might wield a rapier and wear no armor. Veteran Marine 3 might be missing an eye, and walk with a limp, and prefer a light crossbow (though he also carries a spiked club.) Once I teach Hesp how to @birth marines, she'll pop 'em out like they were gumballs. :)

See, that's awesome for a DM who improvises a lot. :) If my PCs decide to attack the duke instead of work for him, I can @birth guards, see if I want to do any minor tweaks, and then send them into combat or negotiations as needed. Any time I pregenerate a monster, I also teach Hesp to pregen it, 'cause it takes the same amount of time. Then whenever I need that monster, Hesp knows how to make one.

Those are some of the ideas that I was hoping the developers of BRPG and FG would be interested in. :) But I'm not sure if there's an interest; most people want icons and maps. (I sure do!) And honestly, the code base required to do what I'm describing took me a year and a half to code, and I had the advantage of coding on an existing MUD engine. I can't even imagine the nightmare of building something like that from the ground up... and I've tried. :) I'd love to do that... but it would demand a team of full-time developers who probably preferred to be paid. :)

If anyone has questions about this stuff, I love jabbering about it. I spent hundreds of hours developing it, and I dig talking about it. :)

The interface is the biggest problem. It's pure text. It badly needs some buttons, and a more organized graphic output area. For example, Channels should be in a separate window from IC occurances. Each "living" object should have its own color. Real-time, constantly accessible stats would be awesome... you have to type a command to see a stat-dump, currently. With a few simple graphic controls, I could make Hesp a lot more user-friendly.

Someday. :) For now, I have to get back to work. Talk to you folks later!
Myth

Betterthanlife
Soldier
Posts: 12
Joined: Thu Jun 15, 2006 10:06 am

Post by Betterthanlife » Tue Jul 11, 2006 8:09 pm

Actually Klooge will do the random stat thing as well. (For some of the stats.) Instead of giving your template, which is what your wolf was before you told it to spawn a specific wolf, set stats you define the random nature of it. (Hitpoints being the most common.) As far as generating descriptions, names etc, randomly, I don't think anyone really does that well at this time, however if you grab a copy of Inspiration pad pro from NBOS (It is free.) then you can do that and cut and paste it to any of these rpg software packages. (Then you can, at least in Klooge, save the template as a specific NPC.)

With Traveller, especially T20, it is rough to generate random people as the chargen is rather complex and doesn't readily allow random chargen. So I didn't really look too deeply into how much could be randomly generated.

User avatar
Omnidon
Site Admin
Posts: 2186
Joined: Mon Feb 06, 2006 7:46 pm
Location: NY State, USA
Contact:

Post by Omnidon » Wed Jul 12, 2006 5:07 am

Hmm Hesperian sounds, very interesting, but I don't see how it helps improvisation.
I suppose the random stats could be useful for DMs who don't want to be creative, but I've never liked randomization on any sort of character, even normal baddies. That's just me though.

The fact is, if I wanted to play the sort of way you're describing, I'd probably use Neverwinter Nights.
It has superb 3D graphics and allows you to highly customize areas, characters, and items in the toolset.
It allows for scripted conversations as well as DM-possessed NPCs.
It has triggers, fog of war, and many other great things.

The main problem with it for me is that the DM interface is not flexible enough for my extensive improvisation, though it makes do for a lot of people.

Myth
Soldier
Posts: 19
Joined: Mon Jun 05, 2006 8:37 pm
Location: Portland, OR
Contact:

NWN

Post by Myth » Wed Jul 12, 2006 3:26 pm

When NWN came out, I looked closely at it as a way to play D&D online. I discarded it for the very reasons you list... the DM interface is not nearly flexible enough. Especially for improv... but even with pre-generating things, it's just too time-consuming to custom-build every detail.

Hesperian helps improvisation by automating many features of it. Here's an example. I can enter the following 5 commands:

@birth a fat guard
@birth an angry guard
@birth a tall guard
@birth a quiet guard
@birth a guard leader

Hesperian will detail all of them, give them armor and weapons, descriptions, stats, etc. Entering the 5 commands takes about 45 seconds. Building 5 complete NPCs takes about 2 hours if I manually do everything.

Next, improv is helped because Hesperian offers automated combat (currently 2e, which is part of the retooling I need to do for 3.5e.) I can do the following commands:

@mon quiet guard @attack naulis with primary
@mon quiet guard :stabs his longsword into Naulis's leg, and the druid gasps in pain, but stays on his feet.
@mon tall guard @attack tallia with missile
@mon tall guard :launches a crossbow bolt at Tallia, but the elven mage leaps nimbly aside and the bolt clatters harmlessly against the cobblestones.
@mon angry guard @attack danor with secondary
@mon angry guard :gives up trying to tussle Danor to the ground, and instead he reaches for his dagger. He sinks the blade up to the hilt in Danor's side, and the cleric drops to the ground, unconscious.
@mon leader "Stop this combat immediately! There is no need for bloodshed!

Looking up the stats for those 3 attacks would take time. Rolling the attacks and resolving them (threats, critical hits, dodge bonuses, damage impact, damage reduction, situational modifiers, spell effects, etc.) would take much *more* time.

Hesperian automates all of that if desired. 5 rounds of combat can take 15 minutes even with complete newbie Players. With manual rolls, 5 rounds of combat can take 5 hours with newbie Players.

Or, combat can be broken down and carried out manually, simply referring to the NPCs for their stats at a glance.

Room automation is great, too. If I build a new cave, Hesperian knows it's underground, so if there aren't light sources, the cave is dark. (It also allows me to set the room to be lit so that light sources aren't required.) If I'm going to be building a bunch of caves, I can spend an hour designing auto-description code and then pop caves out quickly. Some will have rat droppings, some will have spiders, some will have broken stalagtites, some will have scattered bones, etc. A dungeon crawl can be improvised easily that way. And, the DM can immediately change anything he doesn't like about the auto-generation. He's not bound by any of the features.

I suspect that if you don't like randomized "rank-and-file" NPCs, then you've avoided using large numbers of them. :) I used to avoid using lots of them, simply because creating 20 guards took too stinking long.

Now, I can @birth 20 guards, and they come out individually, and they work individually, and there's almost no time overhead.

For specific, lasting NPCs, I might randomly generate one, and then heavily modify it. Or, I might just spend the hour or two to build them from scratch. (Using E-Tools, it doesn't take nearly as long as it used to when I did everything manually.)

The biggest problem with Hesperian is the interface, and the commands. It's all text. It's like working with UNIX or DOS... those who use it, love it, and they can accomplish incredible feats with it. Those who are used to point & click and GUI interfaces simply avoid text interfaces because they're foreign and they take too long to learn.

I'd love to wrap Hesperian in a GUI. But first I have to learn how to do that... my coding skills are text-based, not graphics-based nor internet-communication based. :(

User avatar
Omnidon
Site Admin
Posts: 2186
Joined: Mon Feb 06, 2006 7:46 pm
Location: NY State, USA
Contact:

Post by Omnidon » Thu Jul 13, 2006 12:43 am

well it certainly sounds very interesting. If my games were more stat-based then I would certainly check it out.

As for the random NPCs... I wouldn't use it for two reasons.

Firstly, I do not like using the "horde of baddies" effect very often. In the roleplay-based systems I use, battles are much more interesting with just a few NPCs that are more evenly matched with the PCs.

Secondly, I don't like relying on randomization of any sort. I don't use that many stats, so there's not much point in auto-generating them. When enemies are puny enough not to deserve special attention, they probably all have the same stats.

It's just a difference of gaming styles.

Myth
Soldier
Posts: 19
Joined: Mon Jun 05, 2006 8:37 pm
Location: Portland, OR
Contact:

Gamin Styles

Post by Myth » Thu Jul 13, 2006 4:28 pm

Yup! Good points.

I didn't use to use stats much. I used some stats to provide skeleton for the RP meat. :)

But the main reason I didn't use stats was because it wasn't efficient. It simply took too long. Now that I use stats, it's awesome... D&D is a *very* well designed RP system, and the stats *work*. I love having stats be a background mechanism. I can concentrate completely on the RP, and the stats do their magic. It's like Black Box technology. :)

Plus, when Players want more stat focus, it's there for them.

I love that in last night's game, a group of lawful PCs & henchmen were arrayed against a horde of animated animal skeletons... and the stats were all present. I simply gave the PCs a situational +2 AC bonus for being lawful and fighting in ordered ranks... and that made a difference in the way the combat turned out. The stats were background... but they certainly impacted the game. It allows for levels of strategy that simply don't exist in a more free-form game.

I like "realistic" structure more than "whim" gaming, and behind-the-scenes stats accomplish that wonderfully for me.

I don't often use hordes of baddies. But I also like that I need not avoid it. The situation called for the 3 PCs, 4 guards, a guard lieutenant, 4 clerics, and an NPC dwarven cleric to delve into the ruins beneath an old graveyard. There they found about 4 dozen animated animal skeletons. Without automated stats, I never would have attempted that, and I would have had to steer the PCs away from such an event. I dislike that; when OOC concerns impact the IC gameplay, it bugs me. I like games that can go wherever fate dictates.

Instead of having to say, "The temple allocates a platoon of guards and clerics for the fight, and you guys are reassigned to a much smaller group of enemies" they got to go in and play a major role in cleaning up the skellies. It was awesome. :) Stats made it possible.

I think that the random dynamic of RPGs is what makes them so enjoyable. If everything is simply whim-based, the DM is really just telling a story and the PCs are bit players. In order to use randomality (is that a word?...) effectively, stats are absolutely mandatory. Otherwise it's just a different sort of whim game, with no real backbone to flesh out with odds.

I do agree that it's a difference in gaming styles, and I'm not trying to convince anyone that my approach is the right one. :) I'm hoping to explain what benefits I realize, and understand the benefits of other systems. I find that every game has its strengths and weaknesses.

Some DMs can make the environment come alive and breathe down the PC's necks. Some DMs can make a storyline that grips you and shakes you like a dog with a rat. Some DMs are really spammy (that's my forte). Some DMs can create NPCs with complex personalities and motivations and backgrounds (that's another area I'm good at.) By studying how other DMs do their thang, every DM can improve his own game. And that is awesome! :)

IMO, there's no such thing as a bad DM. There are only DMs that aren't experienced, or DMs that lose focus on what the game is about (fun!) or how to achieve that (there are so many ways, and they all have perks and flaws).

I've played with some DMs that I loved. I've played with some DMs that I didn't enjoy at all. That's fine; different game styles appeal to different folks. If everyone were required to play AD&D 1st edition set in Greyhawk, just think of how many fabulous Darksun adventures would not happen, and how many thrilling deep-space Traveller pursuits wouldn't take place. What a crime that would be.

I'm pro-RPGs. :) And not the computer-run, no-human overview type of RPGs that console & PC gamers think of when they hear that term. I love RPGs where a human sets the stage and runs the lights & curtains & bit parts, and other humans play the lead roles. That's a kind of fun that not many people in this world have experienced. Some of them don't like it (which baffles me senseless, I must admit.) Anything that promotes fun RPGs, I am all for.

It sounds like you produce fun RPG experiences. My friend, I am behind you 100%. :)

Myth

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests