Note: These are previous design document notes. Please click to find our latest full game design document here.
Playtest full level:
This level will consist of the player being attacked by at least two of the types of enemies (however many we have time to get done, but focusing on at least 2 with opposing stat types, as previously discussed). Enemies should spawn as they did in the previous test, but with a cap of 20 enemies for this level. In order to discourage throwing projectiles constantly without thinking about the physics, there will be a cap of 50 projectiles.
The loss condition is 3 hit points, where a hit point is lost every time an enemy reaches the player.
The win condition is survival until the enemies have all been killed.
The game remains real-time, but adds a “pause” ability for the player. While the game is paused, the player can look at enemy stats and change the values of their projectiles. (Alternatively, if it is found that pausing reduces the dramatic tension too much or makes the game too easy, the pause feature can be removed and the stats can be dealt with in real time, but I think we should try it with pause to see if that gives the player time to try using physics equations).
The enemy stats should look something like this:
Friction quotient: 0.2
The enemy types created will be easiest to beat using opposing projectile values, as previously discussed.
The player can adjust the values on their projectile, including friction quotient, weight, and whatever variable effects parabolic arc. (I can’t think of a reason why a projectile would ever benefit from being at less than maximum force, so we might leave off a force stat unless we can think of an enemy or force/parabolic arc combo that would benefit from lower force). There should also be a ‘help’ button below each stat, that when hovered over displays information about what the stat means (“friction is the force between surfaces in contact that resists their relative tangential motion”) and equations that might be useful for figuring out how to set it (Friction=coefficient to be set X mass X gravity).
Expecting that players will most likely find good stats to leave the weight and friction at fairly quickly, the parabolic arc equation is where players will need to continually adjust to deal with enemies at varying distances.
Please leave suggestions here for what the backstory of our game should be, given that it is a little boy throwing stuff downhill to defend a treehouse.
1) The boy is defending the treehouse from bugs (like termites) that want to eat it.
2) The boy is defending the treehouse from magical made up creatures that look however we want them to, but what we do know is that they hate physics.
3) The boy is defending the treehouse from toys that distract him from studying.
Please leave suggestions for mechanics here, starting with the core mechanics.
The numbers input suggestion
1) Friction coefficient input: The player can input the friction coefficient in input boxes next to the projectiles in their inventory, from which they can also highlight which projectile they want at any given point in time to change weapons. The projectiles are then rolled down the hill at the enemies, with the ability to see the path aimed at with a dotted line, like golf games usually do. A very high friction coefficient will make the projectiles go very fast, but the faster it’s going the harder it should be to get it to stay on course. The difficulty of hitting the window of the right friction coefficient could be variable with ground surfaces with different frictions and/or some kind of enemy that isn’t affected by projectiles of higher friction coefficients because they slide off or something.
2) Density input: Same kind of input as friction coefficient. Difficulty arises from needing the ball to be of proper weight and speed to deal with enemies of certain weights and speeds.
3) Descriptions of friction of density and common physics formulas that should be useful for calculating the exact best numbers for any given situation should be available as information popouts next to the inputs whenever the player would like to click on them.
4) The players could also be given a chance to input the numbers they would like their projectiles to start at before the level begins. For example, before the real time part of the level starts, the players could be given a list of the enemy types that will appear, which have their own displayed values. Using the formulas from the information boxes, the players should be able to figure out some good starting numbers without relying on trial and error.
If you have other suggestions for the main mechanics, please leave them here.
Projectile parabolic motion:
(Force/Mass)*time + (Gravity/2) * time^2
- Boat: Vulnerable to sticky projectile, immune to puddle, regular reaction to the regular projectile. Minimal impact on other enemies.
- Tank: Vulnerable to the puddle, immune to sticky, minimum reaction to the regular projectile, moves slower. Large impact on other enemies.
- Robot: Immune to projectiles unless hit on head. Medium impact on other enemies.
- Car: Medium everything.