Skip to content

Commit 3d0ef16

Browse files
committed
Update README.md
1 parent a64424e commit 3d0ef16

1 file changed

Lines changed: 58 additions & 2 deletions

File tree

README.md

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,58 @@
1-
# jians-spaceship
2-
Jian's Spaceship - CIS 568 VR Project
1+
## Jian's Spaceship - CIS 568 VR Project
2+
3+
### User’s Guide
4+
5+
* Users must be connected to the Steam service
6+
* The host of the game can press Play on the main menu to start as the pilot
7+
* Joining an open game through the main menu will put the client in the gunner’s seat
8+
* NB: If you are planning on using VR (recommended), you must navigate the menus WITHOUT the HMD enabled. So, please click “Play”, then press ~ to bring up the console, and type “stereo on” to enable the Oculus. You can do the same for joining - just be sure to run “stereo on” after joining a session.
9+
* The ship’s health is represented by a red bar on a screen above the ship’s viewport. Health is decreased when enemies collide with the ship, and partially restored when the ship flies through the green rings. When health reaches zero, the game ends.
10+
* Enemies can be destroyed using the turret. The turret has limited ammunition, represented by the blue bar above the health bar. When ammo reaches zero, and audible warning will play and the turret will be unable to fire. Ammo is fully restored by flying through one of the green rings.
11+
12+
### Controls
13+
14+
#### Pilot
15+
* Move your hands to the steering wheel, or have your palms face each other to snap the wheel to them, then grip your hands to start controlling the wheel and ship. Release the wheel to brake.
16+
* Push forward while gripping the wheel to pitch down
17+
* Pull backward while gripping the wheel to pitch up
18+
* Turn the wheel left or right to turn
19+
* Recommendation: you may have an easier time controlling if you keep your left hand stationary
20+
21+
#### Gunner
22+
* The red sphere controls the direction of the turret. Grip your right hand near it to have it snap to your position. Then you can move the sphere up, down, left and right and the turret will follow. Release the sphere to stop controlling the turret.
23+
* While you are holding the sphere, a squeezing gesture with your left hand will fire a shot. Each shot will deplete a unit of ammo, visible in the blue bar of the ship’s screen display.
24+
25+
#### Both
26+
* Occasionally part of the ship will break, playing an audio cue and causing sparks to fly out of a component.
27+
* If the component is a button, simply touch it with leap motion
28+
* If the component is a lever, grip close enough to the handle and pull backward
29+
* Failing to fix the component in a short enough time will slow the ship down temporarily
30+
31+
### Setup and Configuration
32+
33+
* Ensure that leap motion is connected and calibrated
34+
* Ensure that Oculus Rift is using retail runtime 1.3, connected and calibrated
35+
* Must have two players connected to the Steam service to play
36+
* The pilot must press the Play button in the main menu, then the gunner must enter the lobby from the main menu and join the pilot’s game.
37+
38+
### Major Gameplay Features
39+
40+
* Cooperative multiplayer over Steam
41+
* Leap motion ship piloting
42+
* Leap motion turret controls
43+
* Randomized breaking points to be resolved with leap motion
44+
* Randomized goals for the pilot and enemies for the gunner
45+
* Ammo and health regenerates via flying through gates
46+
* Possible VR mode offers immersive experience
47+
48+
### Technical Issues with Leap Motion and Unreal Engine
49+
50+
One of the Leap Motion actor components seems to make the assumption that it isn’t used for multiplayer. If there are two components in the scene, your Leap hardware will control both-- in our case, the gunner motions would also cause the client-side copy of the pilot’s hands to move, causing the ship to move only on the client side. Using a ‘Switch has Authority’ node in blueprints let us work around this issue.
51+
52+
Sacha’s Leap controller hates him
53+
54+
Replication is difficult. The concept and mechanism are not easy to understand. The documentation online doesn’t make too much sense when you read it without background knowledge. Collision detection in a networked environment seems to be very unreliable.
55+
56+
### Plugins and Off-the-Shelf Assets Used in Jian’s Spaceship:
57+
58+
[LEAP Motion plugin](https://github.com/getnamo/leap-ue4) (ships with Unreal but needs to be manually enabled)

0 commit comments

Comments
 (0)