Task gpu016: Hovecraft mini-game

Your task is to implement a simple hovercraft simulator built on top of previous Terrain task. Hovecraft is one of the simplest vehicles to simulate because it copies the terrain surface and you only control horizontal forces to drive it. You can assume that there is no friction between the vehicle and the surface, the vehicle is an subject of gravitation force and additionl horizontal forces are used to drive it.

(c) 2016, Extrememotors, Wiki


Use terrain modeling and rendering components from the previous task. Implement simple vehicle simulation using following principles:

  • The vehicle (hovercraft) stays on the terrain surface, you can assume zero friction between terrain and the vehicle.
  • The gravity force acts on the hovercraft - it would slide downhill if no other forces were present.
  • Pilot of the hovercraft controls its horizontal drive - horizontal force with a simple definition: horizontal orientation and power. Use arrows or mouse for controlling the vehicle.
  • The simple camera connected to the vehicle has to be implemented, you can ignore the vehicle tilts and look only horizontally.
  • For bonus points you can implement "3rd person views" - camera is not placed in the vehicle's cocpit but follows the vehicle from some suitable distance. You can use multiple options: front view, rear view, side views..
  • Implement inertia of the vehicle with sufficient precision. It gives you a pleasent smooth feel of the movement above ground.
  • You can come up with any game extensions: "quests", looking for a treasure[s], destroying/shooting targets..

Your solution

Send your complete Visual Studio project. Write a brief document about your ideas and operating manual (interactivity).


Hand in before: 1. 7. 2018


Basis: 25 points for basic vehicle simulation and interactivity,
bonuses: for 3rd person cameras, game extensions, good (smooth) hovercraft movement, hovecraft 3D model..


There is no optimal starting point, you can start with Visual Studio project 086shader from the grcis repository or project sample09 from the ogl repository. My recommendation is to extend your previous solution (Terrain with LoD task).

Copyright (C) 2005-2018 J. Pelikán, last change: 2019-05-09 17:52:59 +0200 (Thu, 09 May 2019)