This is a general thread reserved for discussions relating to the game development of Project: Knightfall. This includes a list of the current bugs in the game, general ideas, and notes that may be useful for development. A bug preceded by a "(F)" is one that has been fixed. Online mode bugs are listed separately, as they require networking code.
Note about game versions: <0.80 Pre-alpha, <0.90 alpha, <1.0 beta.
(F) - Arrow and angle orb don't stay fixed upon movement (it appears that the arrow object moves).
(F) - Player does not "freeze" when they run out of stamina.
(F) - Power does not affect the arrow's velocity.
(F) - Arrow does not angle.
(F) - Camera does not follow object. Note: Only follows the first, arrows need to despawn after the shot.
(F) - Arrows use proper physics, but do not rotate (drag same for both sides of the object).
(F) - Turns not implemented.
(F) - Damage upon contact not implemented (fixed for one player).
(F) - Arrows do not despawn.
- Rapid fire needs to be prevented.
(F) - Current controls have "W / Up" and "S / Down" for moving left and right.
(F) - Camera movement is not smooth between transitions.
(F) - Currently, arrows only are seen to fire from the host.
(F) - Child arrows (for aiming) do not update on respective clients.
For online modes (also, fix in this order):
- Player movement not restrained to Z axis only (also rotation). This needs to be double checked, but likely is due to networking movement (I believe rigidbody constraints were enabled when play testing, yet movement was still permitted).
- No animation currently for movement.
- Turns not scripted for online play (check down below for a possible idea for a solution).
- No current power that affects shots (s_power is currently properly syncing, but only seen on host).
- Camera movement currently not scripted for online play.
- Right click to hold camera position not enabled (check below for a possible idea for a solution).
- No stamina for movement.
- No script currently to prevent rapid fire.
- Nothing currently happens at 0 health for players (i.e. make a death script).
- Once all the above is completed, then you may start working on usernames, rooms for matchmaking, ranks, exp and gold, etc.
- Once that is done, you may then work on GUI, level environment, etc.
- "State Synchronization" section of the unity networking guide not done. Didn't appear to be needed. Check if you run into networking problems.
- NetworkTransformChild is placed on the parent, and the child needs to be added in the transform box.
Possible good ideas:
- If you'd like the arrow to remain after it collides, perhaps try restricting rigidbody movement (like you did when the player would shoot) on the object when a collision is detected before destroying the object (new coroutine, such as waitforseconds?)
- For turns, store the turn value as a syncvar, and then call the variable in each of the scripts. Could use "0" for the first player's turn (first instantiated?), and then "1" for the second, etc. Each script could change the turn's number. For who starts, use an empty collider object (place one on one of the spawn points). If the player is on the collider object, they go first. The scripts and the syncvar should be able to take it from there.
- For camera movement, do as you did in offline player mode (just add a script for if (Input.Mouse1) for a right click to allow camera movement with the mouse). Then, if the right mouse click isn't registered, then the camera goes through its default motions (follows instantiated objects, switches between players, etc).
- For the power bar GUI, have one drawtexture underneath it with the proper size and dividers, and then have a drawtexture above the powerbar with white line dividers in the same spot (to give the 1 bar, 2 bars, 3 bars, etc. feel you see in gunbound).
- Remaster health and stamina to be reminiscent of the maplestory 2 health and mana (although still rectangular). Make the health bar red, and just a little smaller than the back bar (back bar maybe a really dark blue).
- Perhaps switch to toon assets (you may actually be able to get the feel you want with the current assets. Consider using the 3d forest set, with custom made backdrop and maybe cubes like MS2 for the floor)?