SCRPG GM Management Web App (fanmade)

Hi everyone,

I'm a web developer as well as a SCRPG fan and backer. I've been running the Starter Kit with some friends and I made a few tools to help me GM more effectively, particularly during social distancing. I've made this app and I want to share it with you all to see if you want to use it. This is intended to be shown to your players via screen share app.

https://kcdrez.github.io/SCRPG/dist/index.html#/

Report any bugs or feature requests here: https://github.com/kcdrez/SCRPG/issues

There a few different features:

  • Scene Tracker
    • Add a custom GYR for a scene tracker
  • Round Tracker
    • This is indended that all players and other NPCs will appear in a list
    • After an actor has taken a turn, you can click them.
    • This is to track what actors have taken a turn in the current round
  • Minions and Lieutenants list
    • Add/remove minions and lieutenants
    • Add/remove boosts, penalties, and defends to the minion
    • Demote to the next die (i.e. saving throw)
  • Villains
    • Add/remove boosts, penalties, and defends to a villain

Hope this helps you other GMs out there!

3 Likes

This is indeed very handy, I love it!
Thank you for the effort you put into this, and I'll follow its development with great interest!

 

I assume the Minions and Lieutenant management is still WIP?
When I tried to use the demote and boost functions, I somehow resulted in the whole "Minions" block disappearing and not coming back - even when reloading the page with caching disabled. So now they are gone, permanently. Looks like they even completely diappeared from DOM. 

[Edit: reproducible with Lieutenants. I clicked the demote function twice, then reloaded the page. The are now gone, except for the player list where they are still present. This persists across reloading.]

Maybe it is something with the way the group is managed when you apply something that would affect only one of them? 

Speaking of which, I'd heavily suggest adding a global "reset all" function, not only as ameans to get out of possible deadends, but also as a more comfortable means to open a brand new scene. Maybe even call it "New Scene"

On a related note, you might want to check the caching settings. As of now, a page reload would remove all players and the scene tracker, but Villains, Lieutenants and Minions stick around (and in case of the aforementioned bug, I have yet to find a way to reset them at all).

 

Other thoughts: 

* It would be nice if the Scene Tracker values defaulted to 2-4-2, as that is the suggested standard by SCRPG.

* When adding players, the focus should be set to "continue", not "close". So you can type the name, and hit [ENTER]. * New players should be checked against empty input before saving - as it is, one might result in nameless players.

* MInions and Lieutenants Management seems a bit over-sophisticated, trying to manage them all group-wise.
Maybe things were a little more intuitive if they were listed as single Minions, visually grouped as a table, and of course created en-bloc, but then accounted for in single? (in-game, the group standardization quickly falls apart anyway, when one gets a hinder, another gets demoted, and a third one dies...). This might work pretty similar to how you manage Villain Bonuses/Penalties already.

* Players can't be removed or edited. This is, of course, a very minor inconvenience.

 

Keep up the great work!

Thanks for the feedback!

Nothing is intentionally WIP but there are a number of bugs though that you encountered. I have fixed the following:

  • Minions and Lieutenants could not be edited (adding boosts, hinders, etc.)
  • Changed Scene Tracker create modal to default to 2-4-2
  • Added a Reset button with the Scene Tracker. Will display a confirmation detailing that all minions, lieutenants, and villains will be removed.
    • Added hover text on the Create, Clear, and Reset scene tracker buttons for better clarity
  • Player list is now saved in Cookies (like everything else). Refreshing the page will keep the player list.
  • Changed Round Data to be in a table. Includes the name, type (player, minion, etc) and some util buttons (such as marking them as having acted, and removing them if they are a player)

Coming Soon (in the next day or so)

  • Edit Player names in the Round Data
  • Redesign Minion and Lieutenants UI (still prototyping out some ideas)
  • Fix focus when adding players modal so Enter key is the default
  • Include version number in the nav bar

Cool, big improvement already!

So here goes a new round of alpha-testing:

* Boost/Hinder Management for Minions / Lieutenants works fine now.
Defends are not always responding, and sometimes empty defends show up uninvited... I have not yet figured out when axactly that happens.


* When adding a new player with a click on "continue", it works fine. However, adding per [Enter] will add an empty name. Again, input is not yet checked against empty fields. But you are probably already well aware and working on that :)


* The new player list is much better in regards to visual accessibility.
Still, Players can not be removed (the new button is not working), nor can the list be cleared... As a result, this time I'm now stuck with a long player list I cannot get rid of :)
(Btw, are you sure it is the best idea to store all scene data in cookies, without a means to wipe that data? It makes getting a totally fresh setup really tiresome, unless we'd play in incognito-mode... which sort of defies the purpose I guess.) 

 

More thoughts on accessibility:

* I like the new way Minions groups are presented as tables. However, I'm still not overly fond of all the dynamic grouping for Minions and Lieutenants.
While it seems to work nicely, it seems not quite so easy to keep track of (a small, changing number at the beginning of a line is so very easily overlooked).
My personal preference would be to keep Minions as separate list entries at all times, if only for a better overview. Less sophisticated for sure, but much more accessible.

* On a related note, I think it is unnecessary to have MInion, Lieutenant and Villain stats collaps/expand.
If empty, they don't take up any more space anyway; and if not enpty, you certainly want to make sure you won't overlook them.

 

I hope this helps!

More fixes (v1.0.2):

  • Improved Player utility in Round Data
    • Players can be renamed
    • Players can be removed individually
    • Players data can be cleared (displays confirmation)
    • Add a Player modal improved (enter key should work now on the input field, in addition to the input taking focus)
  • Scene Tracker
    • Green input takes focus on modal opening
    • Enter key (on any input field) will create the scene
  • Added versioning

Explanation on some things:

  • I want to keep all the data stored in cookies. The reason being is if the app and/or browser crashes, I want the user to be able to retrieve this data upon a page refresh or new browser tab/window. If someone chooses to use incognito mode, that's their own choice and they won't get this functionality.
    • All the clear buttons resets the cookies as well. I think you've just seen it during development so some of these buttons weren't working. Ideally (and eventually) all of these buttons will work so there shouldn't be much issue. The user could also clear cookies themselves using browser settings (but I suppose not everyone knows how to do that).
  • I'm unable to reproduce the issue you called out about Defends acting strangely. Any other info you can provide to troubleshoot, let me know.
  • I'll think about your feedback on the Minions/Lieutenants. I definitely understand where you are coming from, and I think there can be some improvements for sure. My counter arguement is that if there are 10 minions all of the same type (e.g. d6 Robot), and only 1 has a hinder at the moment, and 1 has been demoted, I want there to be 3 rows: 1 for the d6 vanilla Robots, 1 for the d6 with the hinder, and 1 for the d4. It sounds like your proposal would have 10 rows if I'm understanding correctly.
    • I think I agree that it's overly sophisticated, especially since there's a small chance of having that many minions anyways. I have an idea that's a bit of a hybrid of our two solutions. I'll post back when thats ready.
    • Similarly, I agree that the collapse/expand nature is also unneeded. I added that in mostly for myself during development for Villains cuz I was getting tired of scrolling to the bottom of the page every time I made a change :p

This is very cool.  If I found this before I started my online game, I would have used it for sure! (As it is I think we've gotten used to our system.)

Thanks!

This is great! Thanks so much for sharing it. 

Thanks for making this. I will test this out in tonight's session and may have more feedback afterwards.

I do think that the an option to add the Scene to the Round Tracker would be useful as a visual aid to remind everyone that the Scene has an initiative turn too. 

Latest Changes (1.0.3)

  • Changed Minion and Lieutenant layout
    • A single table for each minion that spans the width of the view port
    • Each row is a Minion entry
      • Minions that are the same name, size, and identical bonuses, penalties, and defends will be grouped together in a single row
      • If a minion is demoted or a bonus, penalty, or defend is added to a single minion group, a new row will be added.
      • This is identical for Lieutenants
  • Add a name to the Environment when creating a scene tracker
  • Environment, Players, Minions, Lieutenants, Villains show up in the Round Tracker table
    • Minions and Lieutenants will have a separate row for for each die size (note: they are NOT separated if they have unique bonuses, penalties, or defends. This is different than the Minion section details above)
    • Clicking on an Actor's Name or Type cell will also toggle the "Acted" attribute, just like clicking the Acted button
  • Various bug fixes and logic improvements

Thanks for all the feedback! Keep it up!

Amazing, how fast you're pumping these versions out!

I really love all the changes you made to the overall layout and functions. 
Also, many thanks for the explanation on using cookies - it totally makes sense from that perspective, so great!

One little bug though:
"Reset Round Tracker" does reset all actors except the newly-added environment.

Then, please let me humbly rephrase my need for a "promote" function - not only is there no other way to mitigate an accidental demotion (the game is a lot of "no, let's say we did that differently"), but also many hero/villain abilities tell you to increase your Minions' dice.

 

My only real gripe now is still the Minions grouping. Playing around with that, I found a few (new?) bugs - all sort of related to the management of groups (i.e. grouping same-type Minions/Lieutenants as a single line with a counter, and thus needing to shift count numbers around as things happen).

  1. When creating more Minions of an existing name, only one will be added to the group - no matter what count I entered.
     
  2. When adding a defend or hinder to a group of Minions, an new line is added. One Minion is correctly subtracted from the count of the original line, but the new line gets to hold not 1 Minion, but the *original number* of the first line - meaning, I increase the total number of Minions to "(original x2), minus 1".
    This applies to hinders and defends, while boosts seem to work as expected (I think).
     
  3. When I create a group of, for example, 5 Minions, then demote 2 of the (resulting in two lines of 3 and 2 Minions resp);
    and then I boost one Minion of the first type, then *all* Minions of the demoted type return to their original size (i.e. the demotions are reverted).
    When I then remove the boost, all 5 are back to their orginal status.
    This applies to hinders and defends as well.


...I'll say that I still believe that the above errors are not really calling for direct fixes (possibly introducing new bugs and more strange edge cases), but a re-thinking of the way Minion groups are handled. 
Listing all Minions as single entries would not only make for a more acessible, unmistakable layout - but also needs much less "logic" and is therefore less prone to buggy behaviour. So I'd suggest ditching all that sophisticated logic in favour of some plain-and-simple, but unbreakable and user-friendly solution. The only disadvantage of splaying them out like this is, if you have an absurd number of Minions, they take up a little more space...
One could even sort those single lines by (1) name, (2). die size - to give you enough basic grouping for efficiently handling them, like rolling them together etc.

 

Working over a decade as UX consultant now, I really know how vexing it is to let go of an approach that's just a little too clever for its own good, when you've already invested so much brain into it, and after all you're so close to getting it just right... But ultimately, simpler methods usually prove superior. 
...and my apologies if I'm sounding overly patronizing here :D
So let me just say, I love your app no matter, with or without that grouping!

More fixes! (1.0.4)

  • Reset round should correctly reset the environment
  • Added a promote button for Minions and Lieutenants
  • Fixed issue when creating a new minion/lieutenant of one that already exists (by name) will correctly add the correct count (#1 in the above list)
  • Adding a hinder or defend to a minion/lieutenant will correctly only add it to one of those entities (#2 in the above list)
  • Fixed an issue that when making a boost, penalty, or defend the count for each minion would get messed up (#3 in the above list)
  • Sort Minions and Lieutenants with the following priority
    • Alphabetically by name
    • Die Size
    • Bonuses length (i.e. if one has a bonus and another doesnt, the one with the bonus will be first)
    • Penalty length
    • Defend length
  • Bonuses, penalties, and defends will be sorted by the following priority
    • Alphabetically by name
    • Amount
    • Is persistent
    • Is exclusive

I understand where you are coming from with the simple layout, and not as a UX designer myself, I definitely tend to overcomplicate/over-engineer solutions, since that is more where my expertise lies. I think I want to play around with the system myself in a real session (I've only used it once myself as a GM, and that was before I posted it here. It's gone through some changes since then of course thanks to everyone's feedback :) ) so I'd like to see how the flow works first-hand before I make any additional changes (other than bug fixes and minor tweaks). I'll keep your feedback in mind as I use it though. My next session is next weekend so I think I'm going to keep it as-is (other than fixing bugs) until then.

Thanks for all the feedback and compliments. I enjoy working on this, so its fun for me to get feedback and fix bugs/add features :)

I can’t stop being amazed how fast you are publishing new versions :slight_smile:

One very minor inconvenience (not really a bug) I’ve found is that Minions ordering in not totally consistent:
A demotet or promoted Minion is added as the new bottom line (no matter the die size), whereas adding a modifier seems to sort them by size (ascending).

Fixed sorting issues 1.0.5

I've added a new feature under the Scene Tracker for "Obstacles" (v1.0.6). This is where the GM can list the various obstacles and overcomes in the environment.

I did this rather quickly tonight so there may be some bugs. Let me know what you think of the UI as well and if you find any issues!

I made a character with a similar concept, but what I did with her is to give her Major Regeneration and Ressurection (from the Self-Control list).

Wrong thread?

Keep up the good work.

In the Round Tracker the "acted" button does not work for Lieutenants.

In the Villains section the "remove" button does not work. 

Fixed these issues v1.0.9

Please will you add a tracker for timed challenges so their progress can be easily monitored by everyone - maybe something like "completed" column of the Obstacles section, idealy with the option to add additional check boxes to existing tracks.

Hi, and sorry for the long wait!

Love the new obstacle element, and it comes in really handy! 
Although I must admit it took me quite a while to figure out how to use it. Therefore, I'll start with UX suggestions right away!

 

  1. I think it would be more consistent if you renamed it to "Challenges", which is the in-game term. 
     
  2. in terms of structure, the [Add Element] Feature should sit at the bottom of the respective list, while visually being a part of it (please see my mockup for clarification). That way, the challenge's Name and its details are not cut off by a meta-management function.
    Adding new aspects on-the-fly is also more intuitive, as they would also be expected to appear at the bottom of the list..
     
  3. If possible, please allow for multi-part challenges (again, please see my mockup). This is a regular situation in the game, and can be handled easily by havĂ­ng multiple checkboxes.
     
  4. I think an empty checkbox might work better as an icon. The X typically communicates something has failed, not something not-done-yet.

A nice side-effect:
With 3 and 4 implemented, timed challenges (as requested here ^) would automatically be included.
The GM can simply set up a multi-checkbox Element and gradually un-check them one by one as time progresses.
I don't even think that feels like a cheap workaround: I can think of a few situations (e.g. a car chase or race) where such a timer and overcome actions would directly cancel each other out, so it might be handy to have both represented by the same function.