EzekielRaiden
Follower of the Way
The simplest way to generate random-but-controlled stats is with cards. You set up a fixed deck of cards and each player in turn deals out all 18 cards facedown into six piles. This guarantees that the characters must have the same stat total, and thus very nearly the same modifier total; racial stat bonuses and an ASI will fix any lingering issues.
For an "old school" feel, just do three cards of each rank 1-6. You'll have higher odds of 18 and of 3 than you would with dice, but not enormously (the math is complicated but it ultimately works out to be similar.) And the average, in terms of taking the total and dividing by 6, will be exactly the same as 3d6: 10.5. For a more "new school" feel, swap out low cards for high cards, e.g. something like four 6s, four 5s, four 4s, four 3s, one 2 and one ace. 18 is noticeably more likely, stats below 6 are impossible, and the overall pattern skews higher (the average stat is 12.5 with this hypothetical deck.) Let that one ace count as a 6, and you've guaranteed no stat below 8 (3+3+2) and made it very likely players will get either really solid average stats or a couple great stats and the others mediocre. Etc.
It gives control and fairness while still being random, and relatively easy to implement if you have a deck of cards on hand.
For an "old school" feel, just do three cards of each rank 1-6. You'll have higher odds of 18 and of 3 than you would with dice, but not enormously (the math is complicated but it ultimately works out to be similar.) And the average, in terms of taking the total and dividing by 6, will be exactly the same as 3d6: 10.5. For a more "new school" feel, swap out low cards for high cards, e.g. something like four 6s, four 5s, four 4s, four 3s, one 2 and one ace. 18 is noticeably more likely, stats below 6 are impossible, and the overall pattern skews higher (the average stat is 12.5 with this hypothetical deck.) Let that one ace count as a 6, and you've guaranteed no stat below 8 (3+3+2) and made it very likely players will get either really solid average stats or a couple great stats and the others mediocre. Etc.
It gives control and fairness while still being random, and relatively easy to implement if you have a deck of cards on hand.