MU Soapbox

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Muxify
    • Mustard
    1. Home
    2. Sparks
    3. Best
    • Profile
    • Following 10
    • Followers 15
    • Topics 10
    • Posts 976
    • Best 644
    • Controversial 0
    • Groups 4

    Best posts made by Sparks

    • RE: Social Combat: Reusing Physical Combat System?

      @SunnyJ I agree, but I think the best way to handle social combat isn't by dumbing it down to a single roll or two, but to actually write coded combat for it, the same way many games have coded combat (FS3, for instance) rather than having a simple "we fight, my dice rolled higher once, I win".

      I think that would invest and engage people in it more.

      I feel that social combat should be treated on an equal footing with physical combat.

      posted in Mildly Constructive
      Sparks
      Sparks
    • RE: Alexa Skill Idea: MU* Client

      @faraday said in Alexa Skill Idea: MU* Client:

      @Sparks Can Alexa hold onto a connection like a MUSH client or a web browser websocket does? I didn't really think it worked that way and would need a completely asynchronous API. But I confess I haven't really looked into it much so I could be completely wrong.

      The Alexa skills themselves cannot, no—or at least could not do so two years ago, which was the last time I mucked about with Alexa skills. You would indeed need an asynchronous API.

      But it's trivial for a skill to make a remote web connection, so what you'd really have to do would be to implement a backend server which handled the connection to the game on the skill's behalf; when you connected it would send a 'connect to this IP and port' and return a unique session token for you to use, and then all your further operations—'get status and/or pending lines', 'send line to game', 'disconnect', etc.—would just be calls to that web service, which would connect to the game on your behalf. Bundle up the responses into a JSON or XML format and the skill can easily parse them. (Obviously you would want some sort of additional security key, so that merely stealing someone else's session token isn't enough to take over their session.)

      It's a bit convoluted, yes, but that part would be doable. It's the actual skill UX that gives me more technical concerns.

      posted in Code
      Sparks
      Sparks
    • RE: Social Combat: Reusing Physical Combat System?

      See, I think there are several different things that are starting to get conflated a bit in the thread.

      1. The fact that while physical combat is rarely resolved by a single roll, social combat often has been boiled down to a single 'lie' or 'manipulate' or 'seduce' type roll. (And yes, you can argue that those rolls should be backed by RP, but it still often leads to more bitterness if it's a single roll.)
      2. Social stats are often harder to justify buying, because people will just RP being a really good liar, or RP being charming, and spend their XP on physical combat. It would be nice to make social stats actually have value. And you can do this (as Arx has) by making social stats reduce the cost of other things, but they're then just supplementary stats to other systems.
      3. The fact that some players will resist changes they think are wildly uncharacteristic. (I.e., "I won't give up the secret that gets my brother killed.")
      4. The fact that some players will resist any change to their character's status that they didn't plan, classifying it as #3.

      The proposed 'make a social combat system akin to physical combat' thing only addresses point #1 and #2.

      I don't know that point #3 needs to be addressed; I think there are scenarios where it's utterly unreasonable for social combat to completely deviate a character from their norm. If someone holds a secret close even from those they care deeply about, I don't think a total stranger should be able to worm it out of them... or at least not without significant effort.

      I don't think there's any system that can address #4. Systems can make it easier for players to RP among themselves without involving staff, but they can't change player behavior entirely.

      posted in Mildly Constructive
      Sparks
      Sparks
    • RE: Alexa Skill Idea: MU* Client

      @faraday said in Alexa Skill Idea: MU* Client:

      And I share your concern about the skill UX too. Having to say "get me new activity from <game>" over and over is not great UX.

      Yeah. The Choose-Your-Own-Adventure skills are simpler, because each 'page' of the choose-your-own adventure is a predefined block of text, and each page has a finite number of pre-defined options. So you have a much easier flow.

      Request: "play CYOA"
      Response: first page of CYOA is read, possible choices are listed, and Alexa now waits for input
      Request: makes a choice from the list
      Response: next page of CYOA is read, choices are listed, and Alexa now waits for input

      And so on. There's a clear and defined request/response cycle; each response is known in full, and there's a clear place to stop and wait for input.

      With a MU* client, you don't have any convenient predefined place to transition from 'response' back to waiting for request, nor do you have any way to move on from waiting-for-a-request to the response phase—and thus continue speaking the text from the server—unless the user issues a request, necessitating that the skill has a "no pose yet" or "continue" type request, in addition to a 'send <whatever should be transcribed and sent>' type command.

      And this is without getting into transcription issues. "page Faraday Hello" is easy to transcribe from dictation, because Faraday is a known word. But "page Pax Hello." might well transcribe as "page Packs Hello." instead, given that "packs" (as in, "Jim packs the boxes.") is a far more common word than "pax" is. And if you have people with completely unique names that aren't likely to be in a transcription database it's likely to be even more difficult.

      Transcription of small notes into Evernote or similar is a much easier task, since if you dictated, "Remember to talk to Pax about Atlantis support for AresMUSH by Tuesday." and it transcribed the note as "Remember to talk to packs about Atlantis support for aeries mush by Tuesday.", you can easily edit that note in Evernote after the fact to correct the mis-transcription.

      But transcribing a page or pose for this scenario is one-and-done, you don't have any way to edit it if the transcription turns out wrong—or even to reliably see whether or not it did. Even if you say "page Pax Hello." and it transcribes it as "page packs Hello.", then somewhere in that blob of text the game returns you'll hear "No such player 'packs' found." Which, sadly, still sounds when spoken aloud as "No such player 'Pax' found." (Oh, dear, I vanished from the game!)

      This isn't to say it's not an interesting set of problems to potentially solve, just that I think the "how do you design the UX for this in the most usable fashion" question is a much harder one than "how do you implement the backend".

      posted in Code
      Sparks
      Sparks
    • RE: Coming Soon: Arx, After the Reckoning

      @Apos said in Coming Soon: Arx, After the Reckoning:

      I definitely appreciate the concern. Now I think the thing that counteracts it most there is that there's no limit on the number of people helping in an investigation, and they all make a significant difference in the rate something is finished. Right now, most investigations are really done by teams of people- some people do slowly gain things on their own, especially if they are stated for it, but it's difficult enough where most people aren't really like, 'oh I'll just do this alone with my retainer bob' since the threshold is so high, I usually see it like 4 PCs and 2 retainers helping out in one big thing as a team, rather than a bunch of smaller ones.

      To add to what Apostate says, my largest investigation was one involving thirteen PCs all pushing to the same goal for half a month, as a culmination of two other investigations (each with 5 or 6 folks on them) and a crisis action which, together, gave us enough info to know what to look for. As a whole, it was about 2.5 RL months of work for a lot of people. And as a result, we retrieved the lost ritual that allowed the paladins to be empowered.

      There was zero chance I could've done that on my own if for some reason I hadn't wanted to involve others.

      posted in Mildly Constructive
      Sparks
      Sparks
    • RE: Alexa Skill Idea: MU* Client

      @Kumakun said in Alexa Skill Idea: MU* Client:

      I just did a quick search on Alex and WebSockets, and looks like they're actively supported by Alexa/AWS services now. I'll have to look into the limits on data chunk size limits, but I doubt a text pose is going to be greater than what it can handle. Alexa Skills Kit has come a long way in the past few years!

      AWS has supported WebSockets in the AWS API Gateway service and similar stuff since... I wanna say December of last year? But I didn't remember anything about Alexa in that particular announcement. If Alexa skills have now got a way to use persistent WebSockets to maintain a connection from request to request, that definitely makes it somewhat easier; it used to be you had to use a proxy server for Alexa to do anything with websockets.

      (Though every MU* that supports websockets uses a different protocol over that socket; the skills would have to be specific to the server family—like one for PennMUSH, etc.—or else you'd end up using a proxy backend to connect to games anyway. Even if that proxy server used websockets rather than being polled, which makes it marginally less horrible, albeit still a privacy concern for some players since that proxy server could log everything going through it: passwords in the connect command, pages to people, the @mail you read, etc.)

      And yeah, I assumed the UX would be utterance based; you would definitely not want to leave the context of the MU* client skill while using it. But even maintaining context, you have that request/response UX cycle to deal with, which is the bigger issue.

      And transcription seems the worst bit of all. Leaving aside the 10-second limit on audio transcription, there's the matter of syntax on the average MUSH. Pose and page and look and movement are probably easy enough, but many standard MUSH commands could be absolutely wretched for an interface like this. Imagine trying to tell it how to transcribe +bboard commands to write a post, or to dictate the sort of commands that many WoD games use in their chargen systems.

      And I don't even want to think about stuff like Arx's plots or goals system, where the syntax can get particularly convoluted: something like goals/rfp <goal>,<story-beat>=<IC description of goal achivement>/<OOC note to staff about goal achievement> (...which I may even have gotten wrong, because I'm not on the game to check the helpfile right now!) is not the most friendly single-line command syntax to remember even when typing. Trying to dictate that to Alexa could end up being an infuriating experience.

      That said, despite all these hassles, it's an interesting project to tackle! If you choose to go forward with it, I wish you luck; it'd be an interesting result to see, and might well be useful to folks out there!

      posted in Code
      Sparks
      Sparks
    • RE: Spawns and How You Use Them

      @faraday I can certainly do that, but you can actually turn that mode off and bind specific keys to specific spawns. Like, for me, Command-0 is always my testbed world, Command-1 is always Orianne@XFNYC, Command-3 is always Aislin@Arx, Command-Shift-3 is Aislin's 'Faction' window, Command-4 is Hallie@BSGU, etc. Sadly, the hotkey configuration UI doesn't show things quite right under El Cap, because for whatever reason the library I used works perfectly well but just doesn't return a Unicode string describing a key sequence any longer. Another reason to finish A2...

      @EMDA Atlantis actually supports that inasmuch as you can rip any spawn out of its window and into another. You could emulate this pretty easily by using the 'tab bar' style, ripping all the spawns out of one window and into another, and then just sticking that window next to the first one. I could certainly make it support docked-in chunks like that in A2, though.

      posted in Mildly Constructive
      Sparks
      Sparks
    • RE: How to type `quit` and quit PennMUSH?

      @faraday By default, to save on mistakes where an alias blocks you from actual game input, Atlantis' aliases require you to put / before them before it'll try to execute them, a'la one of the internal commands (like /log or /clear or such). You can turn that off in Preferences, though.

      posted in MU Code
      Sparks
      Sparks
    • RE: Spawns and How You Use Them

      @Rook said in Spawns and How You Use Them:

      When coding, I tend to 'shut down' on the Coder bit, but be active on another bit to chat, talk, answer questions. I got fed up with Spawns constantly distracting me when in that heads-down mode, but they were great at all other times.

      So, one thing I've been considering is making spawns less 'concrete', so you can stick them together to view everything or retroactively turn them on and alter scrollback, etc. It sounds to me like that could work nicely for you, so that you could turn off spawns when in 'heads down', and have everything slip into a single thing, but turn it back on with a single click when done Heads Down Mode.

      posted in Mildly Constructive
      Sparks
      Sparks
    • RE: Arx on github

      @griatch said in Arx on github:

      @icanbeyourmuse Just so you know, if you don't like/is not familiar with Linux, you can run Evennia (and thus Arx) on both Windows and Mac too.
      .
      Griatch

      Indeed, I do all my code-work for Arx on a macOS box. You can even step-debug your code natively in PyCharm if you set things up right!

      posted in MU Code
      Sparks
      Sparks
    • RE: Separating UX from Functionality (Design Patterns!)

      @faraday said in Separating UX from Functionality (Design Patterns!):

      Personally I'm quite comfortable and familiar with MVC, but most MU coders are hobbyists. Simplicity is more important that design patterns IMHO.

      Compare having everything in a single command handler:

        class FooCmd
            def handle
                 parse the input
                 do something
                 emit something (usually to the enactor)
            end
        end
      

      Versus having a model, a controller, and multiple views. Self-contained is way simpler.

      Fair. I suppose it depends entirely on what you're doing. If, for instance, FooCmd is part of a bboard system, you already need a model for the Boards, for the Posts, etc., and so there's no real harm in making both a "commands" view and a "web" view. Similarly, for chargen, you probably already effectively have a model for the character, so there's no reason you can't just make two separate views into it.

      For basic commands, it makes no sense, no.

      For systems, which are probably going to include something model-like whether or not you actually design them deliberately as such...

      posted in Mildly Constructive
      Sparks
      Sparks
    • RE: Arx on github

      @tehom said in Arx on github:

      @wyrdathru said in Arx on github:

      Now, what about tabs or spaces, camelCasing or PascalCasing, Li-nux or Lin-ux and more!

      LET THE BLOODSPORTS BEGIN

      Guido might have retired, but that hasn't stopped the violent gangs of devotees who lynch developers for flagrant violations of PEP8. Not a day goes by that you can't find a new victim's mangled body with a sign on them saying 'USED CAMELCASE FOR VARIABLES' or the like. I might disapprove of their methods, but I agree with them in principle.

      Even PyCharm itself will yell at you for PEP8 violations!

      posted in MU Code
      Sparks
      Sparks
    • RE: Most active scifi games right now?

      @Thenomain said in Most active scifi games right now?:

      @Sparks said in Most active scifi games right now?:

      @RnMissionRun said in Most active scifi games right now?:

      @Sparks said in Most active scifi games right now?:

      I still kind of want to see someone build an Expanse game.

      This is one of the possible settings that I'm considering for the Evennia based game that me and some of my friends have been working on 🙂

      I would be super interested if you did.

      Guaranteed success!

      I won't lie, the idea of a spaceflight system written for Evennia excites me. You could even calculate the rough G force based on ship velocity, so you know if everything's on the float or whether you better be strapped into a chair and on the juice.

      Heck, you could even use the web integration to make a live solar system map showing the position of ships and various solar bodies. 😄

      posted in Mildly Constructive
      Sparks
      Sparks
    • RE: UX: It's time for The Talk

      @WTFE said in UX: It's time for The Talk:

      Or even better just make setting a command! set <property> <target> <foo>. And to read it get <source> <property> and to read it in code get(<source>, <property>) and so on.

      For your command there, is property allowed to have spaces? Is target? If they are, am I required to put quotes around them? That's not going to be super-intuitive to a lot of non-coders (or at least, people who aren't used to UNIX shells) either.

      The problem is that computers aren't people. To us, if you have "Captain Aardvark" as a character, and want to set the 'approved' value to 'true' on Cap, set Captain Aardvark approved true makes sense. But the computer's going to see that as setting Aardvark to approved true on the character Captain, which may not work so well for your chargen approval code.

      So you go, well, I'll separate the property and target... let's do set <target>=<property> <foo>. But now what if you wanted a space in that property? Well, let's separate THOSE too, and... hey, hang on, now we have set <target>=<property>:<foo>, which is the actual MUSH syntax (minus the @ on the front).

      It's a terrible syntax, but it arises to solve genuine parser problems.

      Now, there's probably better methods to do this than stateless single-line commands. You could have, for instance:

      edit Captain Aardvark
      set approved to true
      set approver Sparks
      show
      save
      done
      

      ...which would be like opening a document, tweaking things, and then saving it

      Part of the problem arises with MUSH, where commands and code are identical; you want @set Captain Aardvark=approved:true because it needs to be a command usable in code, not just for a user. That interactive session might be great for a user, but it's not so hot for code that's basically a glorified batch script.

      With newer stuff like Ares or Evennia, the code (in Ruby or Python) and the commands (actually entered by the user) are wildly different. That's where we get freedom to come up with wholly new commands and interaction models for even the lowest-level stuff. The problem is, the hobby is still made up of folks who are used to doing things a certain way, and many of us get grumpy when we discover that, hey, it's not page WTFE=How are you doing? anymore, but instead, say, tell WTFE Hey, how are you doing? or tell "Captain Aardvark" Hey, were you up for that scene?

      Heck, I've seen people get grumpy at Arx for requiring commas in the mail recipient list, when @mail/quick is otherwise more or less identical in syntax to MUX2.

      posted in MU Code
      Sparks
      Sparks
    • RE: Dead Celebrities 2018

      @auspice said in Dead Celebrities 2018:

      Ursula K Le Guin passed away 😞

      This breaks my heart.

      posted in Tastes Less Game'y
      Sparks
      Sparks
    • RE: UX: It's time for The Talk

      @Thenomain said in UX: It's time for The Talk:

      Players will put code on themselves to turn 'where' into '+where' if that's what they're used to, or help people create macros for their client of choice. They will do this in spite of you or what you want.

      Truth.

      I literally typed whisp <whoever>=<blah>, cursed, and then typed whisper <whoever>=<blah> on Arx so many types, I just added a 'whisp' command to myself that does whisper for me, using the Evennia command alias system. Not because whisper is wrong and whisp is right, but because after years of having MUSH accept whisp, I honestly cannot break that muscle memory.

      posted in MU Code
      Sparks
      Sparks
    • RE: Real World Peeves, Disgruntlement, and Irks.

      @sockmonkey said in Real World Peeves, Disgruntlement, and Irks.:

      @Sparks Fuuuuuuuck thaaaaat nooooooise. What do you take, out of curiosity?

      Ergotamine. Technically it's not a migraine medication; it's for cluster headaches.

      (Plus side, they diagnosed that my headaches aren't solely migraines; this stuff works much better than most things I've been on.)

      Luckily, my copay is only $8 for my migraine medication but annoyance is: I only get 12 shots per month. They are autoinjectors which .. I get that most people prefer not to have to deal with handling a needle, especially not in the midst of a migraine, but jeez: GIVE ME THE CONTROL. Because these autoinjectors are fucking crappy and don't fire a lot of the time. Like tonight. I had to go through /five/ shots before I got one that actually fired.

      Oh, yeah, I loved that kind of shenanigan. When I was on naratriptan, they'd give me three pills per month—and prescribe 'take one at onset of attack, and a second if attack continues'. Three pills.

      The math just didn't quite work there.

      posted in Tastes Less Game'y
      Sparks
      Sparks
    • RE: Good TV

      Star Wars: Rebels.

      All of it has been superb, but tonight's episodes, Jedi Night and Dume, were just... damn.

      posted in Tastes Less Game'y
      Sparks
      Sparks
    • RE: RL things I love

      I love when modern technology provides the best headlines: https://www.theverge.com/circuitbreaker/2018/3/7/17092334/amazon-alexa-devices-strange-laughter

      I mean, it's ominous, but the headline is great!

      posted in Tastes Less Game'y
      Sparks
      Sparks
    • RE: Pineapple on Pizza

      Pepperoni, pineapple, and black olives = the pizza of the gods.

      posted in Tastes Less Game'y
      Sparks
      Sparks
    • 1
    • 2
    • 16
    • 17
    • 18
    • 19
    • 20
    • 32
    • 33
    • 18 / 33