added rudimentary player script started work on a design documentmaster
parent
ea78da32c2
commit
f992abc9df
@ -0,0 +1,18 @@
|
||||
* RezyAlike
|
||||
|
||||
** Mechanics
|
||||
The game will involve a person, or multiple people attempting to gather randomly placed pieces of a puzzle to unlock a door. Basic 3rd person shooter mechanics are used, as is basic inventory management, akin to early PS1 games like resident evil and silent hill.
|
||||
|
||||
*** Multiplayer
|
||||
Where the game really takes a turn is when played with multiple people (up to 3). Each person will have a different role to play. One person will control the character's movement, one will control the camera, and an optional third player will control where the enemies spawn.
|
||||
|
||||
**** Character Controller
|
||||
This player will move the actual character around and interact with the world and all that inhabit it. The movement controls would not be based around how the camera is positioned, i.e. the definition of "forward" would not change based off of where the camera was looking. This is the main player that would control the flow of the gameplay and would be the only one that could trigger a game over scenario.
|
||||
|
||||
**** Camera Controller
|
||||
This player will have full control over the camera, including where it's pointed and the zoom level. The only time they will not be able to control the camera is during a cutscene, or dialog.
|
||||
|
||||
**** Spawn Controller
|
||||
This player will have the ability to choose where enemies will spawn. They will have a cooldown so as to not have them overrun the other players with enemies. Maybe this player could also have access to rare, stronger enemies that have a *long* cooldown.
|
||||
|
||||
|
@ -0,0 +1,23 @@
|
||||
extends KinematicBody
|
||||
|
||||
const UP = Vector3(0, 1, 0)
|
||||
|
||||
var Velocity = Vector3()
|
||||
|
||||
func _process(delta):
|
||||
var vel = Vector3()
|
||||
|
||||
if Input.is_action_pressed("player_up"):
|
||||
vel.x = 1
|
||||
elif Input.is_action_pressed("player_down"):
|
||||
vel.x = -1
|
||||
|
||||
if Input.is_action_pressed("player_right"):
|
||||
vel.z = 1
|
||||
elif Input.is_action_pressed("player_left"):
|
||||
vel.z = -1
|
||||
|
||||
Velocity = vel
|
||||
|
||||
func _physics_process(delta):
|
||||
move_and_slide(Velocity, UP)
|
Loading…
Reference in new issue