Although it’s very late in the semester, I think it is worthwhile to completely overhaul the project, and aim more for a quality demo than a finished project that has so many known design flaws. Given all the extreme changes being made, I thought it would be helpful to outline a sample playthrough to serve as the end goal of a demo.
0. [Player starts at level 5] Player starts at level 0?
level 0 –> begin
level 1 –> battles
level 2 –> use items
level 3 –> natures other than docile
1. [Player gets a starting creature, with mischievous nature. This means it is more likely to learn damaging moves, but requires a higher player level to control and (possibly) may not like following the cursor as much.] Player gets a starting creature, with docile nature. Natures are explained; docile learns very quickly, but can only learn low-powered moves. It may have two move slots instead of four. It pretty much is just useful for trying out all the basic features of the game, but not be useful in player vs. player battle. It should be really cute to make up for this. The idea here is to teach the player, but in order to be competitive they need to level up and gain access to other natures (and spend more time playing…).
2. Player goes to the forest level with their new creature. There’s a quick description of the fact that they will train their critter.
3. Watch until the creature does one of the three behaviors prompted by the environment, namely:
a. Splashing in the water –> learn splash attack (water)
b. Sitting in the sun, gazing up –> learn heat attack (fire)
c. Hopping around –> learn jump attack (air)
4. The user may encourage this behavior, and possibly have it learn an attack from it, or discourage the behavior, making the creature more likely to try the other behaviors. Encourage the player that the creature will do something interesting if it is sufficiently encouraged.
All TrainingData entries should already be in there, they just start off with equal weights.
5. Once a particular move has been encouraged sufficiently (absolute value > X, where X is particular to the move), the creature adds the attack to their repertoire. Popup! Show the UI where they can see their critter’s specs. (what to show vs. hide?)
Show them the absolute training values of things they’ve punished or rewarded.