Is the dice system too generous for my rpg?

I’m writing my paper RPG that sets up in a modern day world, with elite soldiers facing several horrific situations. I wanted to create a game system not too complicated, but not too simple and somewhat original (I’m thinking about the chaosium system, really simple to understand, but seen in 90% of the games edited in my country).

I wanted to inspire myself from a CYD system, where the system relies on the possibility of choosing between using a d10 and getting only results from 1 to 10, or a d20 and having a critic on 20, fumble on 1 and 11, and every other odd number count for zero. It’s made for risk taking, and trying actions you’re not supposed to succeed in normal times.

So, for my system, as I need to make things a little bit different not to be called out for plagiarism, I was thinking about using the system of calm and stressful/improvised situations. If a player wants to make something by taking their time, they use the normal dice, if they are in a stressful or want to try to improvise they use the other.

For example, if the characters need to climb a wall, if they want to climb by taking their time and are not stressed by the environment (rain, vilains, etc.), they just throw the normal die. If they feel adventurous, and want to go faster than the normal way (or if their competence score is too low to succeed with the normal dice), they can thrown 2d8 aka stressful dice. They can thus make a splendid success if they’re lucky, or miserably fail and fall. If they’re surrounded by ennemis and have to get quickly up the hill, they must throw the stressful dice.
Another example can be the same for fights: if the players have the advantage, they can choose what die to throw. If they’re surrounded or in direct danger, they have to use a stressful throw.

In the first version, I used a d12 for the normal, and 2d8 for the stressful, where (1-1) is a fumble, (8-8) a critic, and all other doubles count for 0. The problem is, for my first test game, my players never used the stressful dice. They never thought that they really needed to use it, and that the difference (13 to 16) wasn’t worth enough the risk.

So I wanted to change, and use a d10 for the normal, and keep the 2d8 for stressful. 6 as a gap difference feels maybe worthier, but now I’m wondering if the doubles wouldn’t be too generous: is 64 possibilities of rolls, there are only 6 possibilities of having a 0, and 1 with a fumble. Compared to that, the original CYD system as a 1/2 success rate. I feel this one is too harsh, and mine is too generous.

After the dice are thrown, you add the results to your competences (comprised between 0 and 5), and have to be above a certain threshold of difficulty (5 for easy, 10 medium, 15 hard, 20 very hard, 25 impossible (not definitive, but you get the idea)).

Does anyone has any idea to improve the balancing? I wanted to use the double system for fail because it’s easy to see at first glance if you succeeded or not, rather than making calculations.

Thanks a lot if you’ve read everything!

Database system is in recovery mode: Segmentation fault

PostgreSQL version : 12.4

Server: RHEL 7.9

I got postgres server into recovery mode for a minute and then came back normal.

Looking into logs, found this error before it went to recovery mode:

db=,user= LOG:  server process (PID 4321) was terminated by signal 11: Segmentation fault db=,user= DETAIL:  Failed process was running: select distinct some_col.some_state_id,case when some_col.some_state_id=99 then 'CENTRAL' else state.state_name_english end as stateNm,case when some_col.some_state_id=99 then 'AAA' else state.state_name_english end from xema.table_name_definition_mast defn_mast left join othe.get_state_list_fn() state on some_col.some_state_id=state.state_code where defn_mast.third_srvc_launch ='Y' and some_col.some_state_id < 100 order by 3 

I doubt if this issue will come up again. Is this query specific or hardware problem? Got stuck.

Procedure to truncate the desired table after a specific time does not work properly,”SYSDATE” and the “SYSTEM CLOCK” show different hours!

I wrote a procedure as you can see below:

create or replace procedure truncate_test is         hour_part char(40);     begin    <*** Other Parts***>                         select to_char(sysdate, 'HH24') into hour_part from dual; -- Check the time here      if (hour_part >= 16) then     execute immediate 'truncate table cust_modern_channel_branch';   end if;     <*** Other Parts***>  end; 

This procedure is a part of an ETL which runs everyday.The aim of this part of the procedure is to check the time and if it’s after 4:00 PM in the afternoon, it truncates the table (ETL might reach the truncate part at different hours). I’m using this query to extract the hour part of sysdate select to_char(sysdate, 'HH24'). The problem is that this query select sysdate from dual returns this 3:28:43 PM (I’ve omitted the date part) so the above query returns 15, but the system clock (bottom right corner) shows 4:08 PM !!So I’m expecting that the procedure truncates my table when I execute it cause it’s 4:08 PM but sysdate is showing a different time and nothing happens! why is this happening? Why the sysdate and system clock shows different hours?

Thanks in advance

System of equations and distinct result sets

Question on the below system of equations:

First off, in section 1 below, I had to manually play with that 4th parameter (300) so I can finally see that there are actually 96 sets of solutions. Is there a way that I do not provide that and Mathematica tells me there are 96? If I remove the parameter I only get 1 set. As I increase it, I eventually see that beyond 96, no matter how high I go it stops at 96.

Second, in section 2 below, I see the CountDistinct gives me the total number of sets. But if you pay attention there are only 4 unique sets (3,21,27,29), (9,11,27,33), (7,13,29,31), (11,13,19,37) – But there are 24 permutations for each set, since the 4 vars are interchangeable, hence 24*4=96 total). How can I ask Mathematica to also list these 4 unique sets?

eqn = FullSimplify[{w + x + y + z == 80, w^2 + x^2 + y^2 + z^2 == 2020}] 
Table[FindInstance[eqn, {w, x, y, z}, Integers, 300] ]  {{w -> 3, x -> 21, y -> 27, z -> 29}, {w -> 3, x -> 21, y -> 29,    z -> 27}, {w -> 3, x -> 27, y -> 21, z -> 29}, {w -> 3, x -> 27,    y -> 29, z -> 21}, {w -> 3, x -> 29, y -> 21, z -> 27}, {w -> 3,    x -> 29, y -> 27, z -> 21}, {w -> 7, x -> 13, y -> 29,    z -> 31}, {w -> 7, x -> 13, y -> 31, z -> 29}, {w -> 7, x -> 29,    y -> 13, z -> 31}, {w -> 7, x -> 29, y -> 31, z -> 13}, {w -> 7,    x -> 31, y -> 13, z -> 29}, {w -> 7, x -> 31, y -> 29,    z -> 13}, {w -> 9, x -> 11, y -> 27, z -> 33}, {w -> 9, x -> 11,    y -> 33, z -> 27}, {w -> 9, x -> 27, y -> 11, z -> 33}, {w -> 9,    x -> 27, y -> 33, z -> 11}, ..... ...(snip)....   {w -> 33, x -> 27, y -> 9, z -> 11}, {w -> 33, x -> 27, y -> 11,    z -> 9}, {w -> 37, x -> 11, y -> 13, z -> 19}, {w -> 37, x -> 11,    y -> 19, z -> 13}, {w -> 37, x -> 13, y -> 11, z -> 19}, {w -> 37,    x -> 13, y -> 19, z -> 11}, {w -> 37, x -> 19, y -> 11,    z -> 13}, {w -> 37, x -> 19, y -> 13, z -> 11}} 
CountDistinct[Table[FindInstance[eqn, {w, x, y, z}, Integers, 300] ]]  {96, 4} 

-Thanks

How to Design a Table for scoring system in Cassandra?

I have a table for my products in Cassandra. In this table I store the product name and seller name (there may be thousands of sellers) and score (Product score of the seller) so as following

CREATE TABLE products (     product_name varchar,     seller_name varchar,     score    int,     primary key (product_name, seller_name) ); 

I need to update score in my code

UPDATE products SET score = 2 WHERE product_name = "iphone-7" AND seller_name = "jack" ; 

Everything is fine, except for Select Query:

SELECT * FROM products WHERE product_name = "iphone-7" ORDER BY SCORE DESC; 

I need to get products by score order But as you know, it is not possible to sort without score being the primary key But if I put the score in the primary key, it will be not possible to update it what’s the solution?

How can I advertise a game with a homebrew system? [duplicate]

As a long time gamemaster I have reached a point where I want to create my own system and run players through it but I have noticed that people tend to shy away from systems that are homemade. For example if I decide to run WoD or D&D 5e I’ll have 10 recruits minimum ready to play but if I say ‘I made a system similar to WoD’ then maybe 1 person who will be extremely hesitant.

So what I want to ask is that how can I advertise a homebrew game I made in a way that does not make people shy from it as soon as they hear the word ‘homebrew’?

How can I improve the social / mental combat system in Vampire: Requiem?

The Storytelling System has balanced traits, with power, finesse, and resistance attributes and skills for the physical, social and mental traits.

Still, until recently only physical combat was described, letting the social and mental ones fall on the shoulders of the storyteller and players. (Requiem for Rome and WoD: Mirrors recently introduced social/mental combat, but see below for the problems with them.)

This had at the very least the following consequences:

  1. A player with easy social/mental skills could shine while role-playing or solving puzzles despite the low social/mental skills of his character
  2. On the opposed side, a player with average-to-low social/mental skills would never be able to really play Mata Hari or Sherlock Holmes, despite having maxed out his social/mental skills
  3. Thus, it is more profitable to invest experience in physical combat skills – there, one is sure experience will be efficiently used, where in social/mental skills the points’ contribution is unsure at best
  4. Conclusion: You end up with combat-skilled characters

This happened to our group, because:

  1. Our mental challenges (i.e. investigation, puzzles, etc.) were failed or missed by the players. (Not to mention hours of useless and boring discussion to decide the course of action, which killed both the pace and the mood of sessions…)
  2. As everything social was “discussed” and not standardized, players could ignore anything that didn’t please them

The problem is we’re playing Vampire: The Requiem, and half the interactions between important the PCs and other vampires are simply social – Elysium stuff, etc.

So we (the two storytellers for our group of 6 people) are trying to bring social/mental combat mechanics into our games. Our first experiments were interesting (players were to throw dice to investigate), but we are still working on it.

My question is: Have you devised systems for the Storytelling System* for social and mental combat?

There are mental/social combat rules in Requiem for Rome (mostly rhetoric and reason debates) and in World of Darkness: Mirrors (Sway for generic social combat; and Anticipation, Setup and Declaration for mental “special effects”), but I’m looking for alternatives that merge everything interesting together. (For example, half of the rules for Sway are interesting, but the need for a simple roll and simple success is too easy for a “combat”.)

* Though we’re playing Storyteller System, answers for other systems (D&D, Shadowrun, etc.) would be interesting, too.

Ability system in Unity: Scriptable objects and collections of generic types

I’ve decided to implement an ability system for my game and set the following requirements:

  • Abilities must be MonoBehaviors, that-is, components of Player/NPC gameobjects
  • Abilities must be able to be added/removed at runtime. Instead of all entites having all abilities on their gameobjects that are disabled/enabled, I’d like to dynamically add/remove abilities using AddComponent/Destroy(component)

Given these I’ve implemented the following:

  • Settings classes which inherit from a base AbilitySettings class which is a ScriptableObject. These contain configurable ability settings as well as an enum called AbilityIdentifier which identifies the ability (for example a jump ability would have the identifier AbilityIdentifier.JUMP)

  • IAbility non-generic interface containing a few common ability methods (such as TriggerAbility and CanTrigger)

  • AbstractAbility<T> class which implements IAbility and T is a type that extends AbilitySettings. It implements some of the IAbility methods and defines others as abstract. Actual abilities extend this class.

  • AbilityManager is a MonoBehavior which contains an array of all possible settings for that entity (added through unity editor) and internally contains a dictionary of <AbilityIdentifier, IAbility>. All of the entities abilities are added/removed using the AbilityManager

It looks something like this:

public class AbilityManager : MonoBehavior {     [SerializeField] private AbstractAbilitySettings[] allAbilitiesSettings = { };          private readonly Dictionary<AbilityIdentifier, IAbility> abilities = new Dictionary<AbilityIdentifier, IAbility>();      // Add/remove ability methods } 

For example, a jump ability pickup gameobject is set somewhere in the world as a trigger. When the player moves over the pick-up object and OnTriggerEnter is executed. The script on the pick-up object gets the AbilityManager and calls AddAbility(AbilityIdentifier.JUMP)

This sounds good but It’s far from perfect. First of all, I couldn’t figure out an elegant way of creating/removing a component when given the settings class so I’ve added the creation/destruction code to the settings class itself. That-is I’ve added the following abstract methods to AbilitySettings

public abstract IAbility InstantiateAbility(GameObject gameObject);  public abstract void RemoveAbility(GameObject gameObject); 

which are then implemented in each of the concrete settings classes like this:

public override IAbility InstantiateAbility(GameObject gameObject) {     JumpAbility ability = gameObject.AddComponent<JumpAbility>();     ability.Settings = this;     return ability; }  public override void RemoveAbility(GameObject gameObject) {     JumpAbility ability = gameObject.GetComponent<JumpAbility>();     Destroy(ability); } 

And these methods are called in the AbilityManager like this

public void AddAbility(AbilityIdentifier identifier) {     AbilitySettings abilitySettings = Array.Find(allAbilitiesSettings, s => s.Identifier == identifier);      abilitySettings.InstantiateAbility(gameObject); } 

The implementation of InstantiateAbility and RemoveAbility is the same for every single ability, the only difference being the ability type. This is a big smell for me. I can’t make AbilitySettings generic and generify the two methods as these settings are in an array.

My questions are:

  • Adding methods such as InstantiateAbility and RemoveAbility to a scriptable object seems like a code smell to me. Take into account that I’m using the AbilityIdentifier to specify to the manager which ability I want to create. I have thought of perhaps creating an AbilityFactory<T> but since it’s a generic class it can’t be a part of an array/list so I’m facing the same problem I did with the settings. Is there a different way I could handle this without having the code in the scriptable object?

  • Having the implementation of these two methods InstantiateAbility and RemoveAbility be the same for every implementation with the only difference being the type is also a big code smell. Is there any way I can generify this but at the same time avoid problems with the inability of having an array or list of those generic classes?

Step size is effectively zero; singularity or stiff system suspected

\[Eta] = 0.125; rg1s = Derivative[1][u1][t] - u1[t]*u3[t] - 3*u1[t]*u4[t] + u2[t]*u3[t] + 3*u2[t]*u4[t] + 2*(1 + 2*\[Eta])*u1[t]^2 == 0; rg2s = Derivative[1][u2][t] - u2[t]*u3[t] - 3*u2[t]*u4[t] + u1[t]*u3[t] + 3*u1[t]*u4[t] + 2*(1 + 2*\[Eta])*u2[t]^2 == 0; rg3t = Derivative[1][u3][t] - 0.5*((u1[t] - u2[t])^2 + u3[t]^2 - 3*u4[t]^2 + 6*u3[t]*u4[t]) == 0; rg4t = Derivative[1][u4][t] - 0.5*((u1[t] - u2[t])^2 + u3[t]^2 + 5*u4[t]^2 - 2*u3[t]*u4[t]) == 0; sol = NDSolve[{rg1s, rg2s, rg3t, rg4t, u1[0] == -0.6*0.2, u2[0] == -0.6*0.2, u3[0] == 0.6*0.2, u4[0] == 0.2}, {u1, u2, u3, u4}, {t, 1, 10}]I am trying to solve four coupled nonlinear differential equations. But, everytime I am getting NDSolve::ndsz: At t == 2.0833315360868916`, step size is effectively zero; singularity or stiff system suspected. I have tried all the possible ways to solve such kind of problem with similar kind of problems available in stack. I want to get the value of g1,g2,g3 and g4 for large value of t i.e. 1 to 100 but I am getting only for small value of t? Could you please suggest me some way to sort out the issue?

Thank you