Point DefensePoint Defense is an experimental Unity3D game developed for a school assignment of Fontys ICT & Game Design and Technology, where the incredibly common game genre 'Tower Defense' is given an unique twist. The player pilots a starship which is under attack by an alien carrier ship. While your ship fires at the enemy to destroy it, you must protect yourself against waves of enemy fighters!
|
Video Demonstration// Video not yet captured.
// Will be updated as soon as a video is available. Download Link |
DevelopmentThis game is created using the Unity3D engine and programmed in C#, using Virtual Studio. It was a challenge mostly in programming and gameplay design. The graphical design had a much lower priority for the purpose of the experiment. In order to complete the experiment, 3 dimensional tower defense gameplay had to be created. I added a whole bunch of other features to the game, including a few that aren't even visible in the final version. Nonetheless they are part of the development and thus can be found here.
|
Additional Team- Richard Voeten -
3D modelling Alien mothership, fighter & bomber |
Tower Defense
The most difficult programming challenge was the tower defense itself. Now, turret construction and upgrading, along with the resource system was easy enough. The difficult part was the targetting system. Each turret had to lock onto an enemy fighter, aim at it and fire slightly in front of it. The aiming was very difficult to implement correctly, as it required 3D Vector math skills I had yet to learn, but have since learned. Instead I used a complicated and performance heavy work-around to avoid using 3D math so that regardless of turret orientation and fighter velocity, every shot is a garantueed hit. Enemy Waves
The fighters and bombers that attack the player ship are required to fly from the enemy ship, to the player ship, before following the currently pre-set path to the player's ship engine core. To realize this, I've programmed a node-based route system which not only takes the position of each node into account, but also the rotation. This way, the enemy fighters twist and rotate correctly around the ship and how they rotate can be defined by the preset nodes. |
Starships
Another difficult programming challenge were the starships. The easy part was the controls for the player ship itself. The hard part was the enemy ships, and the overly complicated AI that's included. For this game I've programmed an AI system which is able to control and direct a fleet of starships, deciding which enemy ship is the most important to engage and then proceeding to engage. Each AI ship has three modes, offensive, supportive and retreating. Since there's only ever one enemy ship, the whole AI system was never fully implemented. 3D Models
The '3D models' of the player ship and the turrets aren't actually 3D models. I didn't have the time to go into a modelling program, so I created the entire ship and turrets by only using the standard Unity3D cube model. Ofcourse, this causes incredibly performance heavy rendering and is not recommended for an actual game product. The few 3D models of the alien mothership, fighter and bomber have been developed by Richard Voeten, a fellow student of FHICT Hogescholen. |