Most stereotypic thread type for any game based on dice that was made a video game.
One problem a lot of ppl have it that they do not even understand the actual propabilities. Another thing with using RNGs is that they are based on an algorithm. Real dice are not. Real dice are never 100% perfect. Real dice wear etc. So in a lot of cases real dice are less random than an RNG algorithm. That again may
give kind of a "wrong" feeling sometimes.
Yet it id entirely possible that the RNG is not working correctly. Always. Depending on which one larian used and how they implemented it there may be problems. MAY. I have over 700 hours played and cannot say i feel anything is off tbh.
And yes OFC it is annoying when the enemy does the 4th crit in a row while you do fail even the easies rolls...happens. Do not forget the times when it is the other way around. Ppl tend to remember bad experiences a lot better than good ones.
Someone supposedly recorded all their rolls in Act 1 and got something like 10.9 (enemy) and 7.4 (player). 10.5 being the perfect average. Unfortunately, it's pretty hard to tell if something is off with a game like this. For all I know, they were using one spell really often that IS bugged.
Don't get me wrong. I am all for ppl trying to find issues with RNGs. There are few worse things in gaming than to fail because of botched randomness. As far as i know the game does not even record or show all rolls or am i mistaken there? The RNG algorithm should work the same for every roll ingame.
And one playthrough is not enough. You would need at least a second one to see if it stays like this. Karmic on or off?
If its a single spell causing this then there might indeed be an implementation issue. But well. If it is reported larian should check it.
The game is pretty easy if you know a bit what you are doing. Even if some battles have serious design issues. They are all manageable.
But errors should be corrected nonetheless. If there are some they do not make the game unplayable.
I don't see any problems with my rolls in combat (without Karmic Dices). It seems to be random more or less, which is what the system is. I really don't like the randomness in dialogues. I still cannot believe that I had a 20 roll in one situation first trial when I needed it the most (the only way to win the "need 30 for approval" option), otherwise I would have save scummed without ending (which is bad design for me). But that's the shitty DnD system in general, made worse by Larian's trial to force a certain style of playing and events on me.
1. Responses regarding act 3: issues we are talking about concern early-mid game. The fact that the game is unbalanced and gradually gets from easy to very easy is completely different issue. This is typical for Larian, in DOS2 we had the same thing.
2. The problem with misses is that initially everyone misses (including these 20 goblins attacking you), it's slow and just boring. Therefore I switched to Karmic and surprisingly got better experience. I hit nearly always but they also hit me nearly always, everything was faster, more substance. But it broke low tier DC spells and generally felt "not right", breaking the underlying system which was certainly not designed for that. Therefore an idea to fix that mode (which is an option anyway). Also note that the fix actually does not make hits more likely (as KD currently do), it makes them exactly as likely as they should be, by ruling out any "local anomalies" in RNG.
3. This is not about making the game easier. Exactly opposite - I wrote clearly "difficulty is equal to zero", that means the game is already easy (zero is rather small magnitude number...). One of culprits is almighty and all-tempting F5/F8 allowing you to basically circumvent anything the game throws at you. Imagine Dark Souls with quicksave/load even in the middle of a boss fight. Would it still be Dark Souls? My proposal limits it a bit. You can still save mid-fight and reload, but most of the time you will get same outcomes because this RNG is semi-deterministic and its state is saved. (It does not fix stupid AI and other problems but these are a matter for different discussion).
4. It does not alter balance, because basic properties (mean and variance) are same as in standard RNG. You can tell the difference with advanced statistical methods (do not use it to generate your crypto keys!!!), but for video game it is more than sufficient.
5. The effect is primarily psychological, the "bad luck" factor is eliminated over short term, equal to 20 uses of particular RNG instance.
6. Finally I'd like to point out once more: when I say this RNG works in cycles, that absolutely does NOT mean there is always the same sequence of outcomes which repeats. The sequence is randomly shuffled. You always get all possible numbers 1 .. 20 in random order. That means there are exactly 20! = 2432902008176640000 possibilities for a cycle (as Google says) which is quite a lot uncertainty -- less than in 64-bit linear congruential RNG with maximum period, but anyway that's a lot. More than age of the universe in seconds for instance. Practically we may assume it never repeats.
This feels less like needed changes for BG3, and more like you need to just make your own game. BG3 is based on 5e, so by extension, 5e's just not your thing. Which is fine, but maybe you should take these ideas and design something different, because 5e is the most popular edition of D&D yet, and there's zero chance these will get implemented.
On 4: It does absolutely alter balance since you can track the deck and know when you are due for a good result, maybe even a crit. You can 'save' those for your Paladins, making sure you get big smite damage.
Look, I have save-scummed quite a bit in my time. Including in games where the random seed gets baked into the save, like XCOM or Civ 4. There is a lot you can manipulate just by varying the order of actions if you know the random rolls in advance.
To give a simple example: you have a character with a 50% hit chance and one with a 90% hit chance. With normal randomness you have a chance of 45% of both hitting. If you can adapt to the order of random numbers then it increases to 65%.
Anyway, having bad luck is mostly a matter of perception and a lot of fights in BG 3 are effectively over in less than 20 party member actions. If your Hold Enemy has 2 out of 2 enemies save at only a 20% save chance that's still combat changing, and people will feel annoyed about it. So I don't even think it solves the problem you want to solve.
7. Absolutely nowhere I did't write that D&D 5e system in BG3 should be replaced by something else. Exactly opposite: I postulate replacing RNG which is incompatible with 5e (Karmic Dice) due to having non-uniform distribution, with something that is compatible with 5e as it has uniform distribution (required by 5e to work correctly). The change is very small in scope, does not require rewritting anything, redoing any art, etc.
8. On deck tracking: I pointed out that possibility in my OP (it is inevitable here), but it is offered in exchange of limited save-scumming. People will always find methods to cheese. Anyway, if you track the deck and plan your actions according to that, you are still using your brain. Which is better than just smash F8 when anything goes wrong. And that's the point of it all. There is also a partial workaround: reshuffling the deck each time. Still you can track past events, but you can't reliably predict what will happen except for last card. And don't forget all of this is an option, you can stay with old generator.
9. I just watched the video posted above in this thread. Tim absolutely confirms all what I said. When people say they want "randomness" in a game, they actually mean they want random permutation, not classical RNG. He even talks about card-shuffling as an example. So we have it here: a permutation-based generator.
I recommend taking a wizard with school of divination along - you can rewrite couple rolls with a pre-generated number!
Wow, that was painful. It was so difficult hearing him reach around at a snails pace to get to an incredibly obvious point, while still missing the greater point.
On point you need to throw somewhere between 3 and 5 decks of cards into your system to avoid it causing much bigger problems than it solves and the better solution for this is to just seed the RNG.
As I understand it, OP is effectively asking for 2 things, at least one of which is present other popular rpgs/turn-based tactics games.
1.) Preserve RNG seed. If you reload, you get the same roll because the seed that determines rng is saved. XCOM & Solasta have this option.
2.) Enforced uniformity of rng on small scales. Guarantee you roll all numbers 1-20 before starting over. Solasta has something like this, where it guarantees one Nat 20 every 20 rolls.
I don't actually think people would enjoy #2, because it'd be frustrating to e.g., realize that your next 5 rolls are all going to be under 10 and there's nothing you can do about that. IMO a softer version of this would be better. Every time you roll a number, your chances of rolling it again are reduced, and the chances of rolling all other numbers is correspondingly increased. This would preserve uniformity on smaller scales than pure rng, but wouldn't be as restrictive as OP's suggestion and still leave room for awesome, unlikely moments.
The could be expanded to include nearby values: every time you roll a number, your chances of rolling it and values within X of that number are reduced. So if, e.g., you rolled a 4, the chances for you to roll a 2, 3, 4, 5, and 6 would decrease.
We run some mix of paladin, fighter, barb, monk, wizard, cleric in our multiplayer campaigns. We use bless and other class abilities that increase hit and we have no issues... sure misses happen but that's a big part of D&D. We never save scum combat and we do juuuust fine (though we're not playing in tactician mode, I'm not sure if that's what you're referring to).
RNG feels really bad in a system where 90% of the time you only get 1 meaningful combat action a turn. Missing in DoS2 was annoying but not nearly as much because everyone by default started with 4AP a turn, and most abilities only costed 2AP, so more often than not if you missed your first hit, you were unlikely to miss your second attempt that turn.
To address a valid criticism posted above that this is too easily exploitable by "tracking the future", let's change rule 2 of the original post to:
2. Instead of rolling a d20, you draw single card from the top of the deck and after that, remaining cards are reshuffled.
Now, let's stop theorizing and see some actual data. Here is a very simple implementation of proposed generator, already with the above change. This is raw permutation, without replacement or other tweaks. The code aims for simplicity, in real game code it would of course be parameterized by deck size, had a save/load routine, etc.
What we can see is quite nice pseudorandom sequence, with all possibilities uniformly spread out, without any patterns, anomalies or apparent predictability. Note that it still has some clusters of low values (e.g. 1 7 2) and high values (18 20) and it's possible to have two identical outcomes in row on cycle boundaries (examples do not show that). So, at 95% chance to hit, you can still miss twice in a row, but not thrice and it will happen very rarely. There is surely a hint of "real randomness" here. This is required to make things like Divination school or Lucky feat viable, you still will have use for them.
On the other hand, outcome e.g. 20 (crit hit) is present exactly 5 times in 100-element sequence, as well as 1 (crit miss) and any other value. Yet their positions are unknown in advance. The determinism is well-hidden behind an illusion of random, and that's the effect we want.
This effect can't be achieved by simply seeding the RNG as proposed in above post. Seeding RNG by anything other than physically obtained value means we ditch randomness completely and get fully determined sequence. Finding appropriate seed value (so that the sequence meets our conditions) requires conducting an exhaustive search. Result is a RNG code with additional "magic constant" (seed value). The sequence must be cut off at some point (when it stops fulfilling requirements) and be repeated afterwards. But why bother with RNG at all? Let's just write down some invented sequence according to requirements, and repeat this, e.g.
The problem is: people will immediately complain "this is not random!", as it obviously is not. So we might try making longer sequence, but what's the point of all that? The permutation code is trivially simple (and sufficiently fast) already, no clear advantage of replacing it with table of numbers or a RNG with magical seed constant.
We of course must have several decks to prevent situations like "player gets all the hits, enemies all the misses" or vice versa. Separate decks are for saves, so that saves do not "steal" crits. Separate decks must be used for smaller dice (e.g. for damage). All of this is not a problem at all, doing several decks is exactly same programmer's effort as doing single deck. Just instantiate the class multiple times.
And we have a thing called Champion. This class means a bold sacrifice, you give up all goodies Eldritch Knight or Battlemaster gives you in exchange for lowered crit threshold (and nothing more). If you do so, you want to actually see him crit and want it ASAP. This system will give you these crits, but it is quite worth considering giving him his own deck for AR. This will actually guarantee he will crit for you, as you expect.
One of the posters above pointed out that you might find yourself in a situation you get only bad rolls left in current cycle and can't do anything about it. That's the situation when Divination school (Portent), or a Luck point might come in handy, of course these ablities have separate decks also. Game engine is really capable of handling thousands of decks like this, it is no performance problem and no extra effort.
Dynamically rearranged probabilities -- a different approach, certainly bringing different experience, might worth trying as another mode. It would be great if Larian provided several modes of randomness, selectable by the player. There is no "perfect" solution satisfying everyone, so let players choose. Also these things are not hard to code at all, this is not rocket science, just basics of programming.
Dext. Palandin, I am speechless! Judging by the ways you respond on this forum (personal attacks, "git gud" nonsense) I'd guess you have all knowledge on absolutely everything. But this? "Mods, close this thread..."? LMAO
There is no special knowledge needed just to look at some numbers, imagine you have just seen them in your combat log, and judge by intuition whether it is OK or not. (The program is only for reference for those who would want to see longer samples -- I obviously won't write post with 1000 numbers in it, nobody would read).
Whether anyone actually closes this thread or not, please just make that someone from Larian sees it. For Larian guys I have a simple message: please consider implementing such a system (or similar), bearing in mind that (in addition to everything already said):
1) Your competition already uses it.
2) This will relieve your support teams from wasting their time on bogus bug reports like "I have missed 5 times on 95% probability, the game is broken!!!".