Armageddon General Discussion Board

General => Code Discussion => Topic started by: AKawaiiBear on April 21, 2024, 07:01:22 AM

Title: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: AKawaiiBear on April 21, 2024, 07:01:22 AM
Reward longevity over RNG and twinks willing to suicide for good rolls pls
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Patuk on April 21, 2024, 09:06:41 AM
Longevity already comes with so many rewards that if anything, I'd prefer people die sooner, not later.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Kavrick on April 21, 2024, 10:49:09 AM
Or alternatively step into the modern age and remove RNG from character creation like nearly every current day roleplaying game.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: MarshallDFX on April 22, 2024, 04:02:02 PM
Stats constantly being re-rolled until you're amazing seems weird to me. Feels like a fixed point assignment system is a more natural option if we wanted to abandon RNG.

I don't personally mind the RNG, but it does cater to a throwaway, roll with it mindset.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Windstorm on April 22, 2024, 05:46:08 PM
10 days played is a lot but I do feel like this would result in people sitting around idling for their tri-monthly reroll! Hilariously, it would sometimes wind up with people going from mega strong to unable to wear their armor.

I kind of like this idea just for that, though. In fact, make the reroll mandatory. Major offscreen life event every 10 days played results in new stats.

It's your birthday! You have just turned 24.
You can now hold no more than four limes.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: FantasyWriter on April 24, 2024, 09:16:29 AM
Random rolls would be way OOC for a developed character, IMO.

Alternate suggestion: Be able to trade one stat point for another per every six RL months if if you have played for 10 days played to reflect what your character has been doing over the past three IG years.

Been lifting weights and training every day and getting drunk all night -1 wisdom +1 str or agil.

Former labor slave who is now a desert wanderer? -1 str +1 end

Retired soldier who has shifted to being a Templar's advisor? -1 end +1 wis

Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Pariah on May 19, 2024, 02:04:19 PM
I don't think some pre-determined date range is the right way to do it.  But I do think it should be acceptable that if you play Amos the hunter, who starts out getting his ass kicked by chalton and eventually skills up to being able to solo Salt Worms, he should be able to get a stat bump from muscle memory and all that.  The fact that your stats are set in stone always bothered me.

I've seen staff argue in the past that they don't want to have folks asking for increases because people will game the system... Well people game the system no matter what you do, just make it harder to abuse I guess, but to be like, "YOU WILL NEVER GET A PLUS TO STATS." feels odd to me.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Kavrick on May 19, 2024, 03:13:41 PM
Quote from: Pariah on May 19, 2024, 02:04:19 PMI don't think some pre-determined date range is the right way to do it.  But I do think it should be acceptable that if you play Amos the hunter, who starts out getting his ass kicked by chalton and eventually skills up to being able to solo Salt Worms, he should be able to get a stat bump from muscle memory and all that.  The fact that your stats are set in stone always bothered me.

I'd honestly prefer it if everyone started with the same stats except from racial differences and then have your stats change as you level up different skills, would be more immersive. Only issue would be wisdom, as that's basically leveling speed.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: eska on May 20, 2024, 09:23:30 AM
If we are not gonna change the game mechanics, skills will always be more important than stats. You can still craft master items or spot a goudra with poor wisdom as long as you have the correspondent skills.
The longer the playing time, the lesser importance of the stats you have. I had a weak character with below average strength who could kill scrabs after 20 days of playing time.
Thus:
Quote from: FantasyWriter on April 24, 2024, 09:16:29 AMRandom rolls would be way OOC for a developed character, IMO.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Patuk on May 20, 2024, 11:03:51 AM
Quote from: Abaddon on May 20, 2024, 04:21:43 AM
Quote from: FantasyWriter on April 24, 2024, 09:16:29 AMRandom rolls would be way OOC for a developed character, IMO.

Alternate suggestion: Be able to trade one stat point for another per every six RL months if if you have played for 10 days played to reflect what your character has been doing over the past three IG years.

Been lifting weights and training every day and getting drunk all night -1 wisdom +1 str or agil.

Former labor slave who is now a desert wanderer? -1 str +1 end

Retired soldier who has shifted to being a Templar's advisor? -1 end +1 wis



Every six RL months? Isn't that the scope of an entire Season? You're telling me I'd need to spend the entire Season on one character just to get +1 to my strength?

Just make a train-by-skilling or point-buy system like an actually normal RPG. I'm begging you guys.

No, the first season's length is apparently slated to be three years.

I'm with you on the point buy thing though. Absolutely.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Kavrick on May 20, 2024, 11:43:04 AM
Quote from: Patuk on May 20, 2024, 11:03:51 AMI'm with you on the point buy thing though. Absolutely.
It's kinda a shame that despite most people wanting some sort of array or point-buy system, it's not really going to happen unless the developers want it. Random stats is the most unsavory part of Armaggedon, and I really don't think there's any decent justification in it when pretty much every other modern rpg has stopped using random stats years ago.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Pariah on May 20, 2024, 01:15:48 PM
To get any type of large change, you need to get some member of staff to want it too, then hope they can convince Halaster, Brokkr or Usiku that it has merit enough to do it.

Shit rolls downhill but takes someone with enough oomph to get it to the top of the hill first to even be considered.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: AKawaiiBear on May 20, 2024, 01:55:40 PM
rewriting the stat system from the ground up to be point-buy would be a herculean task since so many things depend on it
adding more rerolls would be quite simple to do since the reroll code is already done, which is why i suggested it, it's something someone could feasibly do in a few hours

i think everyone (even staff) wants a point buy system but god have mercy on the poor soul who actually tries to make it happen on that ancient spaghetti code
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Kavrick on May 20, 2024, 02:13:08 PM
Quote from: AKawaiiBear on May 20, 2024, 01:55:40 PMi think everyone (even staff) wants a point buy system but god have mercy on the poor soul who actually tries to make it happen on that ancient spaghetti code

The only person I've seen comment about it was halaster and he seemed pretty against the idea. I don't really know what the code looks like so it's hard to comment, but I've also seen an entire codebase written during the time Armageddon was down so it's a little hard to believe sometimes? Like stat allocation during character creation really shouldn't be connected to too many systems based on what code knowledge I do have of similar games.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Pariah on May 20, 2024, 02:38:11 PM
So below is a super rudimentary learn by doing with the stats of strength, wisdom, endurance and agility in Javascript.

So that whole bit of code, which I'm sure is 500X less than the rats nest that is arm, would have to be changed based on if stats or were flexible in how they are given.

Changing one thing would break another and cause you to have to re-write the whole thing.

So changing the system of stats would essentially be a total rewrite, then after you got stats done, you'd have to find everything that pulled from that old code of stats that no longer existed and fix those.  Let's say that every weapon skill, every offense/defense skill and magick all pull off the stats basics, that's basically re-writing the whole game when it's all said and done.

So that's why I'm not really pro rewrite or add point system, but I am pro improve stats throughout play, because if you have 4 in agility and now you change it to 5 in agility, that in itself doesn't break the code as it currently works.  But changing the whole system would require an arduous amount of work.

import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;

// Skill class representing individual skills
class Skill {
    private String name;
    private int level;
    private int cooldown;
    private boolean isOnCooldown;

    public Skill(String name) {
        this.name = name;
        this.level = 1;
        this.cooldown = 0;
        this.isOnCooldown = false;
    }

    public String getName() {
        return name;
    }

    public int getLevel() {
        return level;
    }

    public int getCooldown() {
        return cooldown;
    }

    public boolean isOnCooldown() {
        return isOnCooldown;
    }

    public void levelUp() {
        level++;
        System.out.println(name + " has leveled up to " + level);
    }

    public void startCooldown(int cooldownTime) {
        isOnCooldown = true;
        Timer cooldownTimer = new Timer();
        cooldownTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                isOnCooldown = false;
                cooldownTimer.cancel();
            }
        }, cooldownTime * 1000); // Convert cooldown to milliseconds
        System.out.println(name + " is now on cooldown for " + cooldownTime + " seconds");
    }
}

// Player class representing a player in the game
class Player {
    private String name;
    private int strength;
    private int wisdom;
    private int agility;
    private int endurance;
    private Map<String, Skill> skills;

    public Player(String name, int strength, int wisdom, int agility, int endurance) {
        this.name = name;
        this.strength = strength;
        this.wisdom = wisdom;
        this.agility = agility;
        this.endurance = endurance;
        this.skills = new HashMap<>();
    }

    // Method to roll stats randomly
    private int rollStat() {
        Random random = new Random();
        return random.nextInt(5) + 1; // Generating random number between 1 to 5
    }

    // Method to learn a new skill
    public void learnSkill(String skillName) {
        Skill skill = new Skill(skillName);
        skills.put(skillName, skill);
        System.out.println(name + " has learned " + skillName);
    }

    // Method to improve a skill through learning by doing
    public void improveSkill(String skillName) {
        Skill skill = skills.get(skillName);
        if (skill != null) {
            int roll = rollStat(); // Roll for skill improvement
            if (roll <= wisdom - (5 - skill.getLevel())) {
                skill.levelUp();
            } else {
                System.out.println(name + " failed to improve " + skillName);
            }
        } else {
            System.out.println(name + " does not have the skill " + skillName);
        }
    }

    // Method to use a skill
    public void useSkill(String skillName) {
        Skill skill = skills.get(skillName);
        if (skill != null && !skill.isOnCooldown()) {
            int cooldownTime = (wisdom * 3 * 60) + ((5 - wisdom) * 10 * 60); // Cooldown calculation based on wisdom
            skill.startCooldown(cooldownTime);
        } else if (skill != null && skill.isOnCooldown()) {
            System.out.println(name + "'s " + skillName + " is still on cooldown");
        } else {
            System.out.println(name + " does not have the skill " + skillName);
        }
    }

    // Getters for player attributes
    public String getName() {
        return name;
    }

    public int getStrength() {
        return strength;
    }

    public int getWisdom() {
        return wisdom;
    }

    public int getAgility() {
        return agility;
    }

    public int getEndurance() {
        return endurance;
    }
}

public class MUDGame {
    public static void main(String[] args) {
        // Roll stats for the player
        Random random = new Random();
        int strength = random.nextInt(5) + 1;
        int wisdom = random.nextInt(5) + 1;
        int agility = random.nextInt(5) + 1;
        int endurance = random.nextInt(5) + 1;

        // Create a player with rolled stats
        Player player1 = new Player("Player1", strength, wisdom, agility, endurance);

        // Player1 learns some skills
        player1.learnSkill("Combat");
        player1.learnSkill("Magic");

        // Player1 improves their skills
        player1.improveSkill("Combat");
        player1.improveSkill("Magic");

        // Player1 tries to use skills
        player1.useSkill("Combat");
        player1.useSkill("Combat"); // Skill is still on cooldown
        player1.useSkill("NonExistentSkill"); // Trying to use a skill not learned
    }
}
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Kavrick on May 20, 2024, 02:50:53 PM
Quote from: Pariah on May 20, 2024, 02:38:11 PMSo changing the system of stats would essentially be a total rewrite, then after you got stats done, you'd have to find everything that pulled from that old code of stats that no longer existed and fix those.  Let's say that every weapon skill, every offense/defense skill and magick all pull off the stats basics, that's basically re-writing the whole game when it's all said and done.
Oh I know a learning-by-doing stat system would be a much bigger task, but I feel like switching from random stats at creation to non-random stats at creation wouldn't be such a massive task.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Pariah on May 20, 2024, 03:07:39 PM
Quote from: Kavrick on May 20, 2024, 02:50:53 PM
Quote from: Pariah on May 20, 2024, 02:38:11 PMSo changing the system of stats would essentially be a total rewrite, then after you got stats done, you'd have to find everything that pulled from that old code of stats that no longer existed and fix those.  Let's say that every weapon skill, every offense/defense skill and magick all pull off the stats basics, that's basically re-writing the whole game when it's all said and done.
Oh I know a learning-by-doing stat system would be a much bigger task, but I feel like switching from random stats at creation to non-random stats at creation wouldn't be such a massive task.

Yeah but let's assume for a second that stats run in a playable range of 1-10 for humans and lets say that we are given 20 points to split between those four for humans.

All that would happen is people would just start experimenting to figure out the best min-max allocation and once discovered, using it every time.  You'd literally see six fighter type characters out of X player that all had the same stat spread.

Now I personally don't really care, but I think that's the hesitation point right there.  People will just game the system.  One thing I'm guilty of is once they instituted feed code, I literally will feed my beetle/sunlon/whatever to full every single day I go out, why?  Because it makes them better and you never know when you're gonna get sidetracked or stuck outdoors and need that extra 10 rooms of running or such.

So if I had to guess that's why they are against us assigning stats outright.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Cowboy on May 20, 2024, 03:14:28 PM
I think the current system works well enough.  I like the idea that someone might always be better than you are and sometimes you might just be the better one.  The old Luirs pit fights always brought out the best of the best mundane fighters. I do not want to see all cookie cutter clones, with the best stats, simply by typing a few numbers.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: eska on May 20, 2024, 03:22:39 PM
I don't really get why there is such a high need for changing the stat system. I remember suiciding a PC because of low stat-rolls when I was still a noob to Arm. But as years passed, I realized that the game needs all clever and stupid, strong and weak, agile and clumsy, tough and fragile.

Quote from: Windstorm on April 22, 2024, 05:46:08 PMIt's your birthday! You have just turned 24.
You can now hold no more than four limes.


Arm already does this, as you reach some milestones, your stats change. When you grow old, your strength reduces and wisdom increases.  Though I am not sure about at what age that happens.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Riev on May 20, 2024, 04:14:17 PM
My thoughts:

Saying "most people want" is tough to prove, because the game's players fluctuate between 80 and 180 players at a given time. The GDB and Discord are home only to the most vocal.

Wanting the system to change is perfectly fine, but understand that no matter HOW many people want it to change that it isn't the Players' game, it is the Staff's game.

I'm fine with the system how it is, but over time it has lost so much focus on storytelling and roleplay that the most vocal of the playerbase seems to want to have every coded advantage so they are on "equal footing" with everyone else. Without such a focus on the story of the game, all Arm has left is being the new Grudash or THG.

Also, the new changes to stats using ceiling() will make a lot of difference in my opinion. No more will you need to age up 10 years to finally roll enough to get +1 strength, only to then fall in the bracket where it falls back to .99 and you lose it.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Pariah on May 20, 2024, 04:31:04 PM
I mean, the current system "Works" just like the Karma system "Works".

Not perfect by any means but functional.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Roon on May 20, 2024, 06:01:09 PM
Quote from: Pariah on May 20, 2024, 03:07:39 PMYeah but let's assume for a second that stats run in a playable range of 1-10 for humans and lets say that we are given 20 points to split between those four for humans.

All that would happen is people would just start experimenting to figure out the best min-max allocation and once discovered, using it every time.  You'd literally see six fighter type characters out of X player that all had the same stat spread.

That would still be better than the current system. I'd rather have a game where a lot of players pick what they think works best (and judging by the countless discussions about this, there's absolutely no consensus about what's best) than one where characters are created either amazing, mediocre or terrible, and stay that way forever, based on blind luck. The idea of min-maxed stat optimization is far less pernicious than what we have now where you can take two characters of the exact same race/class/age/whatever, and then one has AI/EX/EG/VG and the other has VG/G/AA/BA. That's a shockingly terrible stat system in a game like this where conflict between PCs is a central theme.

Fortunately for everyone, there's no need for a crass points-buy system ala D&D. A system where people tailor their stats to their exact specifications is not the only alternative to the current RNG fiesta. Shadows of Isildur came up with a much better system over twenty years ago: characters have a fixed pool of total stats, then you pick the order you want them in, and the game rolls some dice that determine the final result. Since the parts always add up to the same sum, no character is truly shafted or gifted. Maybe Bob didn't get as high a number in his first-priority stat as Steve did, but then his second priority isn't as low, and so on. Plenty of room for characters to be different, but you never get saddled with a character that's just bad, or one that has unbeatable godlike stats that lets you be way more powerful than if you hadn't been so lucky.

Stats make too much of a difference to be as random as they are. No amount of rerolls will fix this problem. The solution is simple and doesn't require changes to any other aspect of the code. It has been proven to work well on other RPIs and completely solved the issue of stats without resorting to something as unpalatable as a points-buy system. All this change would do is eliminate the unfairness of characters that are way below or above par.

Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: flurry on May 22, 2024, 01:45:39 PM
I agree with the idea of diminishing the role of luck, which I think is the basis of the original suggestion here. But I definitely favor a point-buy approach (which, fwiw, I'm not convinced would be all that complicated to implement, but the coders can figure that one out).

Here's my issue with random stats:

You have a great idea for a character. You think through the class, the subclass, the background, quirks, weaknesses, and so on. You take the time and get the description just right. You utilize all the options for customizing your character. You apply and the character is approved. At that moment, your enthusiasm for playing the role should be at its peak. Then, and only then, you get to find out your character's stats. And, after that, maybe you're not so enthusiastic anymore.

I want everyone to begin playing out their intended characters, without having a discordant array of stats to dampen their excitement for a role that had inspired them.

Random stats are inconsistent with the rest of character creation. Imagine a system where your subclass was chosen for you at random. Imagine randomly-determined skill caps. Imagine your starting location was determined by chance. All bad ideas, which perhaps only seem different than random stats because we're accustomed to random stats.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Cowboy on May 22, 2024, 04:44:25 PM
I have found the single reroll and prioritizing stats are every useful to avoid such disappointments.  The new stat improvements will help too.  I avoid backgrounds and descriptions that paint me into a corner with the character.  The strongest elf alive?  The most agile dwarf in the Known?  The greatest swordsman to grace the Nak on 75 years?  What type of characters are you speaking of...fighters, raiders and enforcers that have massive strength, incredible agility, 125 hp and maxed wisdom because of a touched subclass?  Or the other way...you want a character with very poor agility and wisdom? The clumsy, dumb gladiator? 
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Kiyetal on May 22, 2024, 06:09:57 PM
A point buy system is used so often in this style of game for a reason, it's a system that leaves a foundation where balance and expectations can be built around, where players aren't left feeling robbed when they get a bad roll on concepts, they are excited about. I've heard concerns voiced about min-max archetypes they feel would come with a point-buy system, well... sounds like adjusting stat weights and effects so that their benefits are more or less appreciable to enable different archetypes would be awesome.

Systems that award extra rerolls for time played or otherwise shuffle up what system is currently in place is just a half measure. Currently players are rewarded for picking a "prime" age to negate negatives or lean into positives or dying intentionally in order for a fresh reroll.

Point-buy system, lightly capped, where reaching the peak of racial performance can only be done through in game means. X amount of agility-based skill gain = +1 agility or X amount of played days = 1pt, like a daily login bonus. Rewarding people for returning to your game daily is pretty standard across the gaming market, proven effective.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: Kavrick on May 22, 2024, 06:22:37 PM
Quote from: Kiyetal on May 22, 2024, 06:09:57 PMI've heard concerns voiced about min-max archetypes they feel would come with a point-buy system
I just want to point out, any system that ever existed can be min-maxed. People min-max the current system via stat prioritization and suicide. People min-max the super obscure skill system that only the Vets now how to game. I feel as if making it so everyone starts on the same, level playing field is easily worth a couple of people min-maxing a system they're already min-maxing.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: flurry on May 22, 2024, 07:28:05 PM
Quote from: Cowboy on May 22, 2024, 04:44:25 PMI have found the single reroll and prioritizing stats are every useful to avoid such disappointments.  The new stat improvements will help too.  I avoid backgrounds and descriptions that paint me into a corner with the character.  The strongest elf alive?  The most agile dwarf in the Known?  The greatest swordsman to grace the Nak on 75 years?  What type of characters are you speaking of...fighters, raiders and enforcers that have massive strength, incredible agility, 125 hp and maxed wisdom because of a touched subclass?  Or the other way...you want a character with very poor agility and wisdom? The clumsy, dumb gladiator? 

I completely agree that the reroll (and reroll undo) and prioritization give us more control over stats than ever. They mitigate the randomness, and I hope that trend away from randomness continues in other ways.

To clarify, I didn't mean that concepts are rendered unplayable with bad stats. If a concept truly requires outstanding stats of some kind, that should be a special app. Having said that, the disappointment some people feel when getting meh stats with a combat role is understandable. And I don't want people to start out already feeling disappointed because they came up short in the stats lottery.
Title: Re: Suggestion: Make it so you earn an extra reroll/reroll undo every 10 days played
Post by: RheaGhe on May 25, 2024, 05:53:30 PM
Took a lot of time to think on this. And posted a bit on discord about it.

Came up with 3 real arguments for and against point buy. And came up with an alternate solution that might work better than pure point buy. A kind of best of both worlds.

Removing a lot of context from those points.
Cons
1. Point Buy is very mechanistic. And leads to hyper optimization of characters over playing to story. In short it leads to justification as means, rather than means as justification. IE I have X stat, this is why, not This is why I have X stat. The order there is important.
2. Point Buy would lead to a need to file away at the niches, no longer would you be likely to see terrible, or absolutely incredible for example. The costs would be prohibitive in a balanced system to include those ranges.
3. Point Buy allows for some truly grotesque builds that would because of hyper optimization allow for 0 karma griefing that would be prevented or more easily noticable in the current systems.
Pros
1. Point buy would allow more agency by the player to dictate roles and allow greater freedom of choice in player builds.
2. Point buy would equalize a bit the field of play, it would become your choice, rather than randomnesses choice whether or not your characters were statistically inclined for combat for instance.
3. The nature of pointbuy would open up a bit more the information on race statistic ranges, and allow better comparisons to be made. At least in an ideal system where enough information was given to a player to provide them with an educated choice.

I would propose a hybrid system.

Stats are rolled as they are now.

Then 1 is subtracted from each stat.

And you are given the option to rearrange those 4 points. With a max of 3 put into any one stat.

In our current system that would not overbalance and allow too much boosting of one stat, but would allow you to correct your stats to playable ranges if you were to roll something untenable if you include the class bonuses.