-
Notifications
You must be signed in to change notification settings - Fork 13
Skill Trees ~ Research on game balancing in regards to skill trees
User story 1: I want my text adventure game to have a world border that cannot be overcome unless my character has a specific skill. This skill might be being able to shoot a bow and arrow, understand how to decipher a specific type of puzzle, or even learn how to read/write. What are the ways I can implement a one-time skill unlock that will allow my player to move onto the next part of the game? Without this skill I do not want my player to progress.
User story 2: I want my user to grow one skill incrementally as the game progresses. This skill could include strength, wisdom, dexterity, or other skills that our team will research further. What are the ways I can let my player incrementally grow their skill so that there never is a hard-defined border (such as in user story 1), but that if the player doesn’t have a high enough ‘skill level’, it becomes harder to progress? For example, starting at the beginning of the game and playing until the end should be easier than starting at the middle/close to the end of the game and trying to finish from there.
User story 3: I want my user to grow multiple skills incrementally, and even allow them the freedom to choose one skill over others while still being able to progress with the same linearity as if they had chosen another. This goes along with team-playerclass: If a player chooses to play as a strength-based character, they should be able to finish the game as much as a dexterity-based character could (even without focusing on a skill such as running speed), and vice versa. How can I allow my player to interact within a world with different skills and have each skill-preference be balanced with the others?
User story 4: I am thinking about making it harder/impossible for my user to unlock one skill if they unlock another. How does this affect the progression of the game, and what do I need to know as a game-maker in order to keep all avenues of playing available?
Understanding how skills are unlocked in a game, whether by obtaining a skill at one specific moment or gradually over time, is important to the progression of a game. By researching how skills are unlocked in other games, and how/when other games let players choose different skills based on their own preferences, I hope to let game designers of Chiventure have the full tools necessary to create a balanced, skill-based text adventure.
1: Skills that can be learned once, and are thereafter usable to get past a certain other part of the game. An instance of this in real life might be learning how to bake a cake: If you don’t know what steps/ingredients are necessary to bake a cake, it can never happen. However, once you know the ingredients and steps to take to bake a cake, you can do it over and over again.
Examples of this in other games:
- In most versions of Pokemon, players cannot move past certain parts of the game unless they have taught one of their pokemon the skill ‘cut’. While it is possible to move this pokemon out of your main party of pokemon and into a secondary storage such that it would then not be possible to use cut, the game prevents you from abandoning this pokemon either by always letting you teach cut to a different pokemon, or by not letting you give away that pokemon itself. This means that you cannot soft lock yourself into a certain part of the game where you need cut to advance and cut to move backward.
- In Super Mario Odyssey, Mario can obtain temporary skills in a level to improve his attack/movement abilities, such as being able to turn into a frog to jump higher. The game provides all of these skills at the beginning of the game so as to let you progress through the level as if it were in a vacuum. However, the game also does not let you bring these skills with you into the next level; this can be viewed as an aesthetic reason, or it can be viewed as a game-balancing reason: If the game designers do not want to let players have certain skills in the next level, they should not be able to bring skills from prior levels there. If they do want those skills, though, they can provide them at the beginning of the level.
Takeaways from looking at other games with single-learned skills:
- Single-learn skills should be allowed to be temporary or permanent, depending on the vision of the game designer.
- If a skill is temporary (or can be unlearned) and also important for progression, there should be warnings that pop up about soft-locking the player, possibly similar to a compile warning.
- A gamemaker can give a skill to the player right at the beginning of the game/level if they want — this can be a chance for player classes to interact with skill design.
2: Analyzing single skills that grow with the player’s progression. An instance of this in real life would be learning how to run faster: Besides when one is a child learning how to walk, there is no hard-defined border as to when someone knows how to run fast in comparison to only somewhat-fast. While you might not know at what speed running fast is important, you still know that getting better at running will allow you to get to class faster, for instance.
Examples of this in other games:
- In Pokemon, while one aspect of the skill-based system is learning new moves, another aspect is gaining levels on your pokemon. Each level provides miniscule benefits that, over the course of the 100 total levels gainable, add up to game-deciding stats. While there are checkpoints in the leveling process that provide more stats than others (known as evolutions), one level does not predict the game as much as one skill might soft lock you into the game. These checkpoints, however, do remind the player of the progress they’ve made throughout the game. Additionally, gaining experience towards levels at the end of the game becomes easier, while gaining additional levels gets harder: This itself offers a balance between rewarding players who tried harder with lower levels, and stopping players from leveling too much, as they’d see less gain from leveling in one spot in comparison to progressing with the game. Additionally, different pokemon will level up quicker than others; this is not explained to the player, but instead is a way for the game-developer to push the player more depending on their pokemon of choice.
- This is unlike a game like tetris. Tetris, while it does have multiple levels and the player will often get to higher levels as they play more often, it does not have its own skill progression. Instead, it is the person playing the game that gets better themselves.
Takeaways from looking at progression-based skills:
- Progression-based skills are geared towards incremental improvement, rather than sudden unlocking of different parts of the game world.
- Checkpoints along this progression that provide relatively more improvement than normal allow the gamemaker to remind and reward the player of their hard work.
- The amount of progression earned towards a skill can be flat, or it can be slanted to being based off of the player’s location in the game as well as the player’s current skill-level.
- Progression-based skills should not be confused with the player’s own personal dexterity at the game.
- This is another opportunity for player classes to impact skill-design: a certain class might progress faster in one skill than another.
Additional important note on skills that grow with the player:
- Talking about skills that grow with the player places a fine line between player skill trees and player stats. Ultimately this means that player skill trees should meet up with player stats to help define the difference between their areas of work.
3: Analyzing multiple skills that grow with the player’s progression In life you’re not normally focusing just on one skill. While you’re studying for school, you’re also working out on the side, or you’re learning a new language, or you’re working a part-time job. The more skills to improve, the more open-ended a game is.
Examples of this in other games:
- Skyrim is well known for having multiple different skills that you can work on in the game. One playthrough might involve improving your archery skills, while another might involve improving your magic-based skills. The main questline in this game allows a player to choose any one of these paths. This does mean more game-balancing and beta testing as a game-maker needs to take into account all different play-types and their ability to progress in different parts of the game. Thus, more important parts of the game might be specifically tweaked to focus on having a normalized experience for all players, while other parts of the game might be specifically not tweaked to show how a player’s actions have affected the game. One task might be easy because of a certain skill that has been a player’s focus, while the next might be much harder and require separate preparation because it is designed to be hard for this type of player.
- Runescape is similar to Skyrim in that it has multiple different skills laid out for the player to work on, but is different than skyrim in that Runescape allows players to focus specifically on a few skills, but encourages players to spend some time on all skills as well. This, in comparison to Skyrim, makes it much harder to avoid one specific avenue of playstyle, but by that same token it encourages the player to enjoy all parts of the game instead of sticking with one path.
Takeaways from analyzing multiple skills that grow with the player’s progression:
- Having multiple skills is a balance between allowing the player free choice and encouraging the player to interact with more aspects of the game.
- More choices for the player means either more balancing for the game developer, or more instances where the player sees uneven gameplay (easier one place, much harder in another).
- This might be a place for rpg-openworld should be included: If there are barriers left for the player, that barrier should be passable for all players regardless of their skill path (if the game-maker wishes for this to be so).
4: Locking the progression of one skill if another skill is unlocked Sometimes skills aren’t given to you if you choose a different path. This can be subtle or it can be explicit. A subtle trade off is when learning one skill makes it harder to learn another: While practicing distance running partially improves how fast you can run 100 meters, it is hard, or impossible, to be competitive in both at the same time. Explicitly, you might have the chance your last quarter of college to take one of two different classes: You will gain a skill by taking one of those classes in part by actively saying you won’t learn a different skill.
Examples of this in other games:
- In world of warcraft, players are blocked from learning other class’s skills. As class x, you cannot learn the skills of class y; you have to create an additional character with class y. While this locks the player from creating the ultimate kitchen-sink type character of their choosing, it helps with game balancing, and it also provides a unique experience playing different classes. While a part of the game might be blocked to one player if they don’t have a certain skill, world of warcraft solves this through its multiplayer genre, emphasizing teamwork between players.
- In pokemon, as you begin to level up one pokemon to higher levels, you are necessarily choosing to not level up a different pokemon. Additionally, as the game progresses and you fight harder enemies, leveling up all pokemon you find becomes more and more of a time commitment. The game allows a player to level up as many pokemon as they want, but it implicitly tells them that doing so will take more time than progressing with the same group of pokemon.
Takeaways:
- Locking skills to a player based on their choices can provide unique experiences and replayability.
- If a skill is locked, it should not make it impossible to progress. Once again, soft-locking warning should be made if it seems like the game designer made it unintentionally impossible for a player of a certain skill-type to progress.
- Subtle changes to how hard it is to learn a certain skill is another way a game designer can push a different type of progression that they want to see the player navegate, while still providing freedom to the player to do what they want.
-
Action Management
-
Battles
- Design Document
- Text Based Combat in Other Games
- User Stories
- Wishlist
- Battle Planning 2022
- Battle User Stories Review 2022
- Structs in Other Modules Related to Battles 2022
- Stat Changes Design Document
- Run Function Design Document
- CLI Integration Design Document
- Move Changes Design Document
- Unstubbing Stubs Design Document
- Battle Items and Equipment Design Document
- Battle Item Stats
- Battles Demo Design Document
- Battles Testing Moves, Items, and Equipment Design Document
- Sound integration with battle (design document)
-
Custom Actions
-
Custom Scripts
-
DSL
-
CLI
-
Enhanced CLI
-
Game-State
-
Graphics
- Design Plan
- Design document for integrating split screen graphics with chiventure
- GDL (Graphical Description Language)
- Graphics Sandbox
- Design Document for NPC Graphics and Dialogue
- Feature Wishlist (Spring 2021)
- Installing and Building raylib on a VM
- LibSDL Research
- Module Interactions
- Working with Raylib and SSH
- raylib
- GDL
-
Linking the Libzip and Json C to chiventure on CSIL machines
-
Lua
-
NPC
- Dependencies: Player class, Open world, Battle
- Action Documentation
- Design Document for NPC Generation in Openworld
- Design and Planning
- Establishing Dependencies
- Implementation of Custom Scripts
- Independent Feature: NPC Movement Design Document
- Player Interaction Design and Planning
- Dialogue
- Design Document for NPC Dialogue and Action Implementation
- Loading NPCs from WDL Files
- NPC Battle Integration Design Document
- NPC Battle Integration Changes Design Document
-
Open World
- Autogeneration and Game State
- Deciding an integration approach
- Designing approach for static integration into chiventure
- Feature Wishlist
- Generation Module Design layout
- Potential connections to the rest of chiventure
- Single Room Generation Module Design
- Source Document
- User Stories
- World Generation Algorithm Plan
- Loading OpenWorld Attribute from WDL
-
Player Class
-
Player
-
Quests
-
Rooms
-
Skill Trees
- Avoiding soft locks in skill tree integration
- Components of Exemplary Skill Trees
- Design Document and Interface Guide
- Environment interactions based on skill characteristics
- Integrating complex skill (combined, random, sequential, etc.) implementation
- Integration of a Leveling System
- Potential Integration with existing WDL
- Research on game balancing in regards to skill trees
- Research on skill tree support in modern day game engines
- SkillTree Wiki Summary
- Skilltree "effect" implementation and roadmap
- Summary of md doc file for skilltrees
- Design ideas in connection to other features
- Summary of Skill Tree Integration 2022
- The Difficulty of the Reading the World
- Complex Skills Summary
-
Sound
-
Stats
-
WDL