Skip to main content Link Search Menu Expand Document (external link)

Chapter 3: Character Creator

In many adventure games, the players generate their characters by rolling dice! In this part of the project, you will implement several class: Ability, AbilityScore, Abilities, and PlayerCharacter that will allow you to create a Character Creator Scene like the one below (note, it is a 25MB load so it may take a moment to start):

3.1: Ability Score

In this chapter, you will define an Ability enum and an AbilityScore class which represents how capable a character is in various situations.

3.2: Ability Score Prefab

In this chapter, you will start begin to work on the Character Creation Scene which will display several AbilityScores. To help with this, you will create an AbilityScore Prefab that will make it easy to add any number of AbilityScores to the screen.

[3.3: Ability Manifest]

In this chapter, you will create an AbilityManifest class which represents a collection of each Ability. This class will ensure that adding new Ability types will automatically be included on a character during creation.

[3.4: Ability Manifest Prefab]

In this chapter, you will create a Prefab to display an AbilityManifest to the screen. You will add this to the Character Creation Scene and add a button that allows the user to generate new AbilityScores to populate the AbilityManifest.

[3.5: Player Character Class]

In this chapter, you will write a PlayerCharacter class which represents a player controlled character in Adventure Quest.

[3.6: Character Creation Controller]

In this chapter, you will add an Input Field to your Character Creation Scene to allow the player to specify a name for their character. Additionally, you will add write a CharacterCreationController which validates the character’s name and is capable of constructing a PlayerCharacter with the information present in the Scene.

[3.7: Character Portrait]

In this chapter, you will define a PortraitDatabase class that maintains a set of images that the player can select when creating their character.

Join the Discussion

If you're stuck, have questions, or want to provide feedback, you can do so below. However, I ask that you please refrain from posting complete solutions to any of the challenges.

Before commenting, you will need to authorize giscus. Alternatively, you can add a comment directly on the GitHub Discussion Board.


Table of contents