06 Oct, 2014, plamzi wrote in the 41st comment:
Votes: 0
Got a lot of work done on the quest component this past week.

Almost done with a kitchen sink quest, which features giving the right answers to a mob, a quest item morphing from a prop to a nice reward at the end, combat with mobs spawned and bound to the questing character (so any number of players can do the quest in parallel, at their own pace), a corpse autopsy (of sorts), and becoming a member of a secret clique that is about to take a dangerous political stand.

In addition to quest lines like the above one, which will require a fair amount of coding skill, the quest system will support a number of more automated quest types, such as scheduled scavenger hunts, head hunts, area control, etc. A lot of the groundwork for those has been laid, and the idea is that numerous quests of each type would be easy to generate by just adding more static definitions.

One type of automated quest is ready to preview (screenshot below). You can read a set of quaint articles about the main city in your newbie guide, then take a multiple-choice test for experience, small rewards, and a special affect that raises your character's intelligence for several days. This in practice means that you can turn any kind of item reading / examination activity into a task with goals and rewards on par with killing stuff.



Question for the folks out there who know more about RP games than I do (which is, I think, everyone):
What are some features you would want to see baked into a modern codebase that can help with any RP game? I would imagine some clever ways to emote, and maybe also some easy ways to grant certain players elevated privileges to speak on behalf of, or control, mobiles. But some more concrete suggestions based on practical experience would be nice.
07 Oct, 2014, Nathan wrote in the 42nd comment:
Votes: 0
I generally see roleplay as something that happens between the player and the environment and falls apart if the player can't get into the role for some reason like game mechanics. I.e. you want to do crafting and sell stuff, but it's not worth your trouble and so the thin veneer falls away and reveals it to be a gimmick rather than a real game role. Similarly things NPCs say can be quite dull and non-unique.

It's hard to see through your screenshots if you do anything about that, but some way for NPCs to have real/pseudo-real conversations with the player would be nice to have. The text equivalent of the 'click the desired response' option so common in single-player rpgs is probably unworkable in MUDs, especially games with prompt lines. If there was some primitive AI that could decide between responses to the player based on what the player said to them and the NPCs knowledge (general and of the player) that would be cool. More intelligent NPCs could also make it a bit harder to tell when a real player is controlling one. Not sure if that's universally desirable, but it seems potentially useful. And it would keep players from waiting for an NPC to seem like they were being controlled to interact with them – assuming that talking to NPCs when player controlled is more useful/interesting. Additionally If mixed with conditions that are checked when the conversation is (something equivalent to Fallout speech check) and if skills are improved by using them, then people might talk to NPCs to improve their conversational skill? and gain in-game knowledge. Pre-cooked messages get tiresome if you do something more than once and make NPCs into boring quest-giving boxes.

It could be interesting if NPCs could "overhear" player conversation and comment on it and maybe you might hear them or they might outright tell you something. – Basically, making the NPCs less flat or at least providing tools to decrease flatness would be beneficial to RP games. If player-player conversation was beneficial in some way within the game as well rather than as a meta thing that might increase it's occurrence.

A reputation tracking system could be useful for player run in-game organizations/guilds/groups. Either directly given by players or maybe indirectly by setting some kind of attitude towards people you affect their reputation with your organization based on your position within the group.

e.g. You have a conversation with another character and either through their words (auto-detection?) or a manual setting, as far as the game is concerned, they are now angry with you. If they have X rank within the organization then you lose rep with it and somehow everyone else should know that their character is angry with your character.

It'd be pretty nifty if there were NPCs connected to organizations whose reaction/willingness to interact with/offer services to players within the org depended on the player's position and for players outside of it there overall reputation with that org.
07 Oct, 2014, plamzi wrote in the 43rd comment:
Votes: 0
@Nathan

All of your suggestions are already possible to do, and the quality and complexity will depend entirely on a game's implementation. My work on the framework aspect of it would be to ensure that there are good helper functions (also examples, documentation) in place, and that the design is easily extendable. I think most of the good stuff is already in place, though documentation is currently mostly inline comments because things may change before the release.

I'm also going to be doing some work to provide more limited scripting access to content creators, while of course coders would have a free reign to do advanced stuff.

As far as the specifics of your suggestions, I feel that they are more focused on PvE and NPC AI than on RP. My understanding of RP is that there are "scenes" played out by PC's that would ideally include world content and mechanics as inspiration and props. I'm not sure that fancy NPC AI is even needed for RP, as long as there are good ways for PC's and elevated users to stage a scene.

On a general note, while it is certainly possible to use the engine as a platform for NPC AI experimentation (and you'll have a much easier time than on any non-interpreted language codebase), my working examples and content will not cover that particular ground. The reason is I have a set of very specific goals for the game I am building using this engine, and the examples will be drawn from the stuff I create for that game.

It is my personal belief that NPC AI in a game doesn't have to be scientifically revolutionary to be very entertaining, and in fact Fallout is a great example where good story-tellers apparently made you believe that the AI was much better, and the world much more open, than it actually was. When you examine the particulars of any memorable AI implementation, I think you will find a whole bag of tricks the game designers used precisely so they would not have to tackle the impossible, such as making an AI respond always relevantly (and never annoyingly, robotically, etc.) to free-form speech from players.

This is probably a whole other topic, but the approach I will be taking with my own game is to focus on PvE story-telling whereby the progressing player always has a set of very specific goals, and where someone averse to hack-and-slash can level up just as well by completing entertaining plots, reading immersive texts about the world around them, and demonstrating knowledge by completing various "reading comprehension" tests and of course puzzles. There will be many moments where (hopefully) players will be made to feel like their choices affect the world around them, but I think I can get there without hitting one of the most common trapdoors in game design–trying to design an "actual" AI.
12 Oct, 2014, Nathan wrote in the 44th comment:
Votes: 0
I guess what I'm saying is that roleplay (RP) is more than just player/player interaction, at least in my mind. There's a degree of roleplay going on with PvE and NPC AI and I feel like that could potentially encourage player/player roleplay if it means that you can have a role in the world without necessarily needing another player to give it a reason to exist. Full player RP without NPCs would be kind of cool, but very difficult to obtain. If you decided not to have any npcs the world would readily break down if all the player shopkeepers were taking the day off when you wanted to buy a potion or get your armor repaired or any number of other occasions when he player spends money or if there weren't any shops at all.

I agree with you that Fallout is an example of simple concepts done well, but I think that once you've played that or made something like that it becomes obvious that it could be better. Systems based on that seem like they may be heavily based on simplistic 'if PLAYER did(x) then NPC do(y)' checks. That works okay in singleplayer when the world is designed to elevate your own importance and when multiplayer is treated like -multiple single player-. Your NPCs have to be more intelligent to cope with multiple pieces of information, possibly conflicting information, multiple sources and events that happen without them knowing. Fallout, particularly 3 and NV, seems to have a lot of cases where things only matter if you did them where a faction member could see or the game somehow knows when no one would in the real world would. Other than direct PvE, the ways in which you can affect things that happen are highly limited. For some things, they're physically impossibly to prevent whereas in some games you might be able to work it out so that a whole group is utterly destroyed and therefore can't retaliate or anything.

I'm not suggesting a complete lack of annoying, robotic just a lack of a finite and very small set of responses.

I guess my personal dilemma is that only have player to player interactions can lead you down the MUSH path where it's mostly a mental meta-game and there's no hard world to interact with, just the world that exists between any N players interacting and keeping mental track. A MUD, in my limited experience and conception is more of a case where there's a world to interact with and player/player interactions make it more real, rather than being the sole or central focus. The former leads to situation where people who are not naturally social can have a part in the world while with the latter, the world doesn't exist and/or you have -no- place in it without direct, personal interaction.
18 Nov, 2014, plamzi wrote in the 45th comment:
Votes: 0
Despite being kept busy with other equally interesting stuff, I have tons of progress to report:

* Crafting, with several very different starter crafts. For some of them, I implemented item wear and tear, which they can repair. There's also an example craft that generates an item from nothing.

* A solid Guilds implementation. Support for NPC guild members (I want to try territory control and guardian NPC's), invitation and administration of offline members, and other small goodies.

* Private houses and Guild Houses. For this, I added area templates that can be cloned and applied multiple times. This is (purposefully) not instancing–the world is still consistent and persistent, nothing gets destroyed and recreated on the fly, which makes it easier to have, say, house upgrades that work for you while you're offline.

* Integrated node-eden, a plugin that can supply fantasy character names if you run out of inspiration during creation.

* Was able to plug the ace code editor into the db admin web UI, and add other customizations to make the experience for builders limited to content creation and scripting much more user-friendly.

* I did a lot of work on the Portal app to make it play nice with (and enhance) Havoc. I've decided that I can't support a fork of that client made especially for Havoc–that's just too much for one person. I will instead focus on keeping the Portal app repo up to date and add sufficient documentation for those who want to host their own client.

At this point, the foundational code for everything I wanted out of the gate is pretty much all there, with some working examples. I'm getting very tempted to start posting to GitHub and see what people make of it.
19 Nov, 2014, khyldes wrote in the 46th comment:
Votes: 0
Can't wait for this.
20 Nov, 2014, arholly wrote in the 47th comment:
Votes: 0
Me neither.
20 Nov, 2014, roguewombat wrote in the 48th comment:
Votes: 0
I've been putzing away at a Node.js micro-MUD server as a little hobby project, too - would be nice to see one much further along.
22 Nov, 2014, plamzi wrote in the 49th comment:
Votes: 0
:surprised:

It's good to hear that so many folks here are interested. It's a bit of a departure from a traditional MUD server though, so be prepared for surprises :)

Putting the final touches on the installation notes now. First commit should be up before the weekend is out.

I committed updates to the web app GitHub repo at (google github plamzi) that add Havoc support and make it easier to get a standalone instance up. Because of necessary changes, the URL for the Aaralon server is now:

http://www.mudportal.com/play?host=aaral...
22 Nov, 2014, plamzi wrote in the 50th comment:
Votes: 0
It's up: https://github.com/plamzi/Havoc

Feedback welcome. First step is to get the installation notes right.
23 Nov, 2014, roguewombat wrote in the 51st comment:
Votes: 0
Lookin' good, man. :)
25 Nov, 2014, plamzi wrote in the 52nd comment:
Votes: 0
Today's commits bring redesigned user management and character creation flows, and private messaging (with automatic forward to email if user has enabled it). If you stopped by while login or char create was broken, try again now.

I have added new capabilities to the Portal app which enable the server to control modal info and modal input plugins via GMCP, as well as to display MXP inside modal content. If you're wondering what that means, see it here:

http://www.aaralon.com/text

The new features can be used not just by Havoc servers but by anyone who wants to tap into the Portal client. I'll document it in more detail soon, but basically, you can do things like:

ModalInput {

title: 'Name your character',
info: info,
text: 'Aegorn',
placeholder: 'character name',
tag: 'input',
type: 'text',
abort: 'chars',
buttons: [
{ text: 'Cancel', send: '' },
{ text: 'Suggest', send: 'suggest' },
{ text: 'Accept' }
]
}


This opens a modal with an input field pre-filled with a suggested character name, and adds three custom buttons. If aborted, it sends an empty line feed so the server can handle the abort. If 'Accept' is hit, it sends the data in the input field.

I'll be making the new ModalInput plugin more and more flexible, with the end goal being a form fully customizable by the server. I'll also continue to improve the LoginPrompt plugin, and will add Facebook auth and silent auth support for games that provide a Facebook app id.

MXP inside the modal content also works very well. For example, see all the actions a user can take all while in the game lobby.
26 Nov, 2014, arholly wrote in the 53rd comment:
Votes: 0
Now I'm going to have to upgrade my hosting or find hosting with mysql so I can play with it (and learn the language). Looks impressive.
26 Nov, 2014, plamzi wrote in the 54th comment:
Votes: 0
Today's commits bring Facebook silent auth! On first login, the user is auto-created in the game database.

arholly said:
Now I'm going to have to upgrade my hosting or find hosting with mysql so I can play with it (and learn the language). Looks impressive.


For anyone in these forums who wants to tinker but doesn't have the infrastructure, hit me up on PM and I can provide you with a shell account and database access. It will help make this offering stronger if I get early adopters to provide bug reports and feedback on ease of installation, updating, etc. If your tinkering brings fruit, you can always move it to your own VM later.
26 Nov, 2014, khyldes wrote in the 55th comment:
Votes: 0
Last few times I've tried to connect to the game and make an account it never lets me through character creation. Always stops when I enter a password for a character, says invalid password then it won't let me login. See screenshot: http://i62.tinypic.com/2cdcv11.png
26 Nov, 2014, plamzi wrote in the 56th comment:
Votes: 0
khyldes said:
Last few times I've tried to connect to the game and make an account it never lets me through character creation. Always stops when I enter a password for a character, says invalid password then it won't let me login. See screenshot: http://i62.tinypic.com/2cdcv11.png


From your screenshot, I believe you're just using an outdated link. Try this one: http://www.aaralon.com/text

You already have an account, so if you don't remember your password but you did supply an email address, you can test the reset token option :)
26 Nov, 2014, khyldes wrote in the 57th comment:
Votes: 0
Tried creating a new account again, when it comes time to enter a password it drops back the same way as before, just now with your modal windows.

See screenshot: http://i57.tinypic.com/4v0mfk.png
26 Nov, 2014, plamzi wrote in the 58th comment:
Votes: 0
It's sorted out. Excellent work on the bug reporting front!

I'll update the repo now because new user creation is effectively broken in the version from this morning.

I see you at least managed to get in on one of the accounts that the system was forcing you to create.
27 Nov, 2014, khyldes wrote in the 59th comment:
Votes: 0
Yeah, I had to do a password reset and use the token to login. Glad its sorted now.
30 Nov, 2014, plamzi wrote in the 60th comment:
Votes: 0
The latest commits bring a user message inbox and improvements to player items, including a shared "storage" space that players can use both to de-clutter inventories as well as to share items among their chars. The storage space and the shop space are now both accessible via the Items tab. They are both virtual spaces that can be accessed from anywhere, and come with no space limits.

One of the folks who stopped by recently asked if there are containers in the game. I could implement those in the classical way, but I realize I just don't believe in them strongly enough. At least not for the game I have in mind. I think containers are primarily a tool for organizing out-of-control inventory sizes, and that there are ways to do that now that are better, user-friendlier, and involve a lot less noodly code. Maybe there's some joy in bagging satchels of potions inside pouches inside sacks of loot, but unless I get a signed petition, I'll go about it in a different way, leaning more heavily on what online RPG's have been doing more recently.
40.0/76