Boats on Rails G3 — Revised Design

Revised Design Document — Boats on Rails

* Differences from previous design: primary differences include the redaction of the boat size morphing mechanic, as per instructor feedback, and further elaboration on designing the boat game-feel and preliminary control design. Sections which differ from our previous post have been marked with an asterisk.

Previous blog post for reference.

Detailed Plan:

Boats on Rails will be a silly, cartoony racing game where the player pilots a boat along a complex water-based course. They will be challenged by enemy AI racing against them along the way, passive “road hazards” (perhaps better described as “canal hazards”) such as driftwood and wreckage, and active road hazards such as hostile aquatic life. Players will race around the track over 2-3 laps (subject to change pending playtesting feedback).

Core mechanics will include piloting the boat around the track, choosing which route to take when faced with multiple branching paths, dodging obstacles, drifting around sharp corners, and firing the broadside cannons at enemy ships and obstacles. Firing the broadside cannons will additionally have a knockback effect that may be used as a marine strafing mechanic, with a strength according to how long the fire button is held before releasing. We also intend to include power-up items to acquire, to confer benefits such as speed boosts and added cannon strength.

We are aiming for the game to feel fast, fun, and silly throughout the player’s experience. The consequences for collisions and missed turns should be substantial enough to encourage avoidance, but should be brief and allow quick recovery so as to avoid hindering the experience. Eg, when hit with cannon fire a ship may “spin out”, but rather than halting forward momentum, the ship will simply continue forward at speed while spinning wildly. This will create a situation where the player is penalized by momentarily losing control of their vehicle (potentially incurring more severe consequences such as flying off an edge or piloting down a suboptimal path), but the action never stops and they keep moving forward.

* In service to making the boat feel like a boat, we will iterative heavily on controls with a low-friction (due to being in water), significant momentum, and a wide turning radius (the drifting mechanic will still allow sharp turns). Bobbing the ship on the surface of water will reinforce the feeling of floating, and dynamically generated waves from the ships wake will further differentiate the feeling of piloting the boat from driving in a generic racing game.

* Subject to change as per playtesting feedback, we intend to use the WASD keys for movement (W/S moving forward relative to the camera direction, A/D turning the camera and boat). A controller might be a more appropriate input for our target feel, but we are choosing to go with a keyboard for greater accessibility. We will tentatively be using the Q/E keys to control the firing of the port and starboard broadside cannons respectively, holding them down to “charge them up” for more powerful blasts (and correspondingly more powerful recoil). A HUD indicator with some kind of charge-bar or equivalent visual element will provide feedback on the charged cannon strength. We are currently planning on holding the spacebar to drift, though we may choose to make it a toggle instead (or use a different key) pending playtesting results.

Three Feature Sets (minimum, expected, exceptional):

Minimum Feature Set

At minimum, our game will include a boat which can race around a circle path with no branching, racing enemy AIs who do nothing except move forward without behaving in any particularly intelligent antagonistic way. We will have a HUD to display the lap and the place number. Special mechanics will include drifting around sharp corners, and firing cannons at enemy ships to slow them down.

Expected Feature Set

We expect to achieve all features listed in the minimum feature set, along with branching paths the boat can take and enemy AIs who fire back at the player. We will additionally have multiple items to be grabbed as power-ups. We expect to complete the ability to grow and shrink to either do more damage/have more momentum or be able to fit into short-cut pipes. The HUD will display indicators when the player holds down the fire button to indicate charging the cannons. Players will be able to spin out, fall off the course, etc. We will have a high degree of visual polish on the interactions between the water and the boats (splashing, wake, etc) to reinforce the movement. We will also have a main menu with the ability to choose between playing the level, showing credits, or showing a control tutorial page.

Exceptional Feature Set

Our exceptional feature set would include everything in the expected feature set, in addition to intelligent enemy AIs working in tandem to defeat the player, more special mechanics like jumping, flying, and gliding for limited times, a course selection screen with multiple courses to choose from, and multiple boats to choose from with different appearances and gameplay behavior.

Work Division

gglppi: I will be working on the pathing infrastructure (controlling movement around the track and measuring distance from finish on looping, branching paths), game AI, character movement framework, implementation of game feels prototyped by npai, and fancy graphical effects.

npai: I will be working on the general feel for the game. This will include the game feel prototyping in terms of character movement and controls. Allowing the player to feel like they are controlling a boat in an arcade, to drift around, and to shoot to “strafe” by pushing themselves. I will also work on items, powerups, and obstacle behaviors to make the game more challenging and fun.

shyp: I will concentrate on the UI of the game. The most important task would be to help create the game feel through setting up the map of the game and create a level that will be fun but not too easy for the user. I will have to create a realistic setting with matching obstacles and enemies to draw the player into the game. Also I will be creating a HUD that will let the user know what situation or condition they are in and how far through the game they are.

Comments are closed.