CaptainCoderOrg / CapMan

A Pac Man Inspired Game for Learning and Fun!
3 stars 4 forks source link

CapMan speed should change based on level #70

Open jcollard opened 6 months ago

jcollard commented 6 months ago

@DerekGooding My apologies for not describing this enhancement better in this issue.

One thing to consider with this is the way the Player's speed is updated in Pac Man. We did some research on stream and discovered that Pac Man and the Enemies speed are adjusted based on the level (up through level 5). I don't know if we should follow this exactly, but the we implemented a SpeedModifier for EnemyActor. Perhaps this could be moved into the Actor class and used for all actors (including enemies).

This is table shows how the original Pac Man game modifies the speed per level (we don't do anything this sophisticated yet): https://www.designoriented.net/blog/wp-content/uploads/2015/06/img-61.png

Additionally, here is the commit where the SpeedModifier was added to the enemy as well as the relevant tests: https://github.com/CaptainCoderOrg/CapMan/commit/714a1ced8d628550cb0b38a60b6338790cfb1d51

In particular, I think it might be relatively straight forward to move the SpeedModifier property to the parent class / interface, add a new delegate to the SpeedModifiers static class, and set the default for the player to do something similar to the table (does not need to be identical).

DerekGooding commented 6 months ago

Thank you @jcollard.

I've been missing streams. Feels like I need to do a full reread of the codebase every time I jump in. Which I quite enjoy! I'll take these ideas into consideration and work on updating the PR.