Sunday, March 26, 2017

Character Creation Design

Something I would like to do for my Introduction to Programming class is write a prototype for a character creation dialogue. I don't think my instructor will be requiring a final project, but this will be a good way for me to practice applications to game design and I can use what I learn from it to apply to the codebase I'm working with now.

The code I'm using has support for guest accounts and normal user accounts, which we'll call subscribed users. The flow of connection would be as follows:

Splash Page
|
Account login or creation
|
Character login or creation

Starting from the creation option of Character login or creation, the dialogue will proceed as follows:

Choose your character's race:
Elf, Draconian, Halfling, Human, Ogre, Dwarf, Gnome, Minotaur
If there is a subrace, select subrace:
Elf (selection of 5 subraces)
Draconian (selection of 5 subraces)
Dwarf (selection of 4 subraces)
|
|
Choose your character's class:
Warrior
Rogue
Naturalist
Mage
Tradesman
(Each of these base classes will have customizable skillsets that determines their specialization; with these specializations, there would be up to 20 different classes to choose from. I feel like this will reduce complexity during character creation)
|
|
Choose your character's gender:
Male
Female
|
|
Choose an alignment for your character:
(No selection defaults to True Neutral)
Lawful Good | Lawful Neutral  | Lawful Evil
Neutral Good  |   True Neutral    |  Neutral Evil
Chaotic Good  | Chaotic Neutral |  Chaotic Evil
|
|
Choose a starting region:
(This dialogue will allow for players to experience different parts of the game, no matter what race they begin with. I plan on having NPCs who react to some races differently than usual, such as if an elf decided to start in the Dwarven region.)
|
|
Select a name for your character:
(This dialogue may move up to follow the character gender rather than coming at the very end. I wonder if players rather make all the choices they can before deciding on a name, or if they would rather name a character before making decisions such as alignment and starting area.)
|
|
Write a brief, 2-3 sentence description of your character (optional):
(This step could be skipped, but to give a player the option to describe their character in a text-based game before they even enter the game would be beneficial, I think. Some can't come up with descriptions on the fly, which is why it would be optional. I would try to work some code in that would check the description area and post a reminder at, say, level 10 and beyond, alerting a player to an empty description field.)
|
|
Entry to the game

Each step of the way, there would be an index of dictionaries for each term, and hints to use these dictionaries (i.e.: Type "help race" for more information.). These dictionaries will have entries for each race, each class, each alignment, and each starting area. There will probably be an entry for name suggestions and description advice, too.

This is the basic structure I'll be trying to achieve with the character creation program, and what I'll be aiming to write before the end of the semester. Hopefully, I'll be able to integrate it into the codebase that I'm working with, although it's written in Python 2.6 to support some dependencies. I'll have to submit this for class in Python 3.5.

No comments:

Post a Comment