При разумном подходе, такую систему можно сделать относительно простой, в меру хардкорной и достаточно интересной.
Допустим, что значение характеристики в SPECIAL задаёт верхний порог количества перков, которые можно взять для отдельной группы перков, связанной с текущей характеристикой, а количество взятых в этой группе перков означает общий уровень скилла данного типа. Что важно: доступность перков зависит от характеристик в SPECIAL, т.е. например "Уклонение от ударов" нельзя взять при низкой Ловкости и высокой Силе, но можно взять "Удар со всей дури". Для наглядности (условно/примерно): Ловкость 5: 1; 2; 3; 4; 5; 6 ; 7; 8 ; 9; 10; Рукопашный Бой 3: Блок; Серия ударов; Оглушение;
Холодное Одноручное 2: Оружие в обоих руках; Выбивание оружия из рук;
Лёгкое Огнестрельное 5: Точный выстрел; Прицельный выстрел; Тройной выстрел; Выстрел в уязвимое место; Стрельба по-македонски;
Потолок уровней под 50 (чтобы получение нового уровня было относительно регулярным), за каждый уровень даётся одно очко для вкачивания в перки (при вкладывании очка в группу перков, выходит выбор из всех доступных перков для данной группы с поправкой на характеристики в SPECIAL), а каждый пятый уровень приносит очко для увеличения характеристики SPECIAL. Таким образом можно прокачать сильного ГГ, но в рамках выбранного условного класса или середнячка мастера-на-все-руки. Особые перки можно выдавать за сложные квесты, а найденные пупсы могут увеличивать эффективность, не поднимая значения характеристики или уровня скилла для группы перков.