-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
idea: change leveling to an experience based system #371
Comments
This is a great idea! I like what you've got laid out here and I think it would fit well, especially if we can keep it disabled for legacy saves. The full concept seems like it would be a pretty large effort to implement. What do you think about a scaled-down V1 that we can ship early and iterate on? I'm thinking that we could keep the focus on crafting and forging, and possibly layer on the other experience-giving events in further iterations. But I'm open to other ideas! |
MVP is a good idea @jeremyckahn . I thought about it a bit and here's what I'm thinking... milestone 1: add "experience" stat that works exactly like items sold (1 experience point per item sold), and option to stick to legacy system. this milestone would include persisting the data and any reducers we need for the new data. milestone 2: add experience to recipe crafting. this step would involve figuring out how much experience recipes should give and hooking that up. milestone 3: add experience to cow related activities milestone 4: add experience to mining/forging related stuff milestone 5: add experience for recycling recipes each of those could be released to players, or at least merged to develop behind a feature flag like we did for the mining feature. that would pretty much cover everything i initially laid out given that the quests aren't yet built. let me know what you think! |
I think this progression makes a lot of sense! We may want to hide the legacy toggle in Milestone 1 behind a feature flag until Milestone 2 is shipped. It won't do anything substantial until non-sale actions result in experience points, so we may as well keep the Settings UI a little simpler until that changes. I think this plan is good to go! 👍️ |
wanted to put some ideas out here for experience values to get some feedback. i am currently planning on the amount of experience needed per level to match the number of items sold values because part of my goal with this change is to make leveling up go a bit quicker in hopes that more people get to see more content as a result, but definitely open to feedback there. ideas:
|
@lstebner These all seem great to me! Just one concern:
I like this, we'll just need to be sure to award the experience only the first time the player pays off the loan to prevent them from abusing the system. |
yeah, good point. that might require adding something else to the persisted state and i'm not entirely sure it's worth it right now... additionally, after our chat about loan amounts yesterday i have a bit of a different perspective on it. i was thinking of it like farmhand go where paying off the debt is a major goal, but in farmhand OG it is more of an assistance program and i'm not sure it needs to have any experience tied to it at all. what do you think @jeremyckahn ? |
For this particular scenario we could implement the experience reward as an Achievement. The Achievement system already handles one-time events, and as a bonus we would be able to clearly communicate the goal and reward to the player. What do you think of that approach?
Personally I like the idea of rewarding the initial loan payback with experience, but I wouldn't consider that a necessity for this feature. I'll leave it up to you if you'd like to implement that, but if not I might get to it down the road too. 🙂 |
The goal of this PR is to lay some groundwork for an experience based level system as outlined in #371 - add 'experience' to farmhand state - add 'useLegacyLevelingSystem' to farmhand state and settings screen (only shown when the EXPERIENCE feature is enabled) - update `levelAchieved` to be more flexible about how level is calculated based on which leveling system is being used - update all calls to `levelAchieved` - update utils unit tests for levelAchieved to test both systems - add 'EXPERIENCE' feature flag - add reducer for adding experience + unit test - some utils were moved into their own files to make them easier to work with (mostly to avoid circular dependencies when one util relies on another util) and imports across the codebase were updated - initialize `experience` value to match number of items sold when loading a saved game - add 1 experience point per farm item sold (crops, milks, and crafted or forged items) - items that are not farm items should not reward the player with any experience (seeds, weeds, other supplies) - importing a save without experience should calculate experience based on items sold
oops i never responded here even though i implemented it already but i think that's a great idea to use the experience system. thanks for thinking that up @jeremyckahn ! |
I shared this idea in discord but wanted to move to an issue for more discussion and potentially building it out.
I would like to explore changing leveling in the game from simply number of items sold to an experience based system. The main benefit would be giving the player experience for performing a variety of activities rather than just selling goods. A secondary benefit would be to help players level up more quickly and get to see more of the games content, which in turn benefits developers so they can build more and more high level content. It seems like right now only power users get to our level 30+ content and we have lots of ideas for things we can add still.
I'm not sure if it's well balanced, but it could go something like this:
For legacy players... we could maintain the option of sticking with the # of sales based leveling system. This could be a toggle in the game settings somewhere. Once this experience based system is built we could prompt players with a choice to switch to the new system and explain the difference. If they choose to switch, they will stay the same level they are and just begin earning experience from that point forward. New games could all start with the experience based system.
I would love to hear what others think about a change like this!
The text was updated successfully, but these errors were encountered: