Bezier Defense
Bézier Defense is a 3D video game developed with the Unity graphics engine.
It is a classic Tower Defense : the player's objective is to defend the castle from incoming waves of enemies! The unique feature of Bézier Defense is that the paths taken by the enemy waves and the defense systems are placed along Bézier curves.
Between one wave and the next, the player can change the paths so that the monsters are forced to take a more circuitous and better-defended route.
It is important to adopt a defense strategy to stop the enemies' advance, even according to their unique characteristics:
- Warrior Wolves are small and fast, but very weak;
- Golems are very strong, but slow;
- Infernal Boars have balanced characteristics.
Comands
Keyboard | Mouse | |
A: move the camera to the left.
D: move the camera to the right. W: move the camera up. S: move the camera down. Q: move the camera closer. E: moves the camera away. ESC: alternative key to the right click of the mouse. |
Left click:
selects a curve to enter edit mode. Right click: deselects a curve; allows you to exit creation mode; |
Bézier curve
Paths and defense systems are associated with Bézier curves, which define their shape.
You can edit the curve through the associated control points once you enter edit mode (see bottom of page). To change position of control points, simply drag them following a mouse click ( drag & drop ) .
Paths can only be changed between waves. Defenses can be built and modified at any time.
Paths as well as each type of defense have specific constraints on the associated curve control points, highlighted in red if they are in an invalid position, and in green if they are not.
Mobile defense systems
Shuriken |
Mobile ballista |
Fixed ballista |
Fire-breathing lions |
Performs continuous movement along the curve, damaging and slowing down affected enemies.
You can place the associated curve astride paths.
POWER-UP: Slows down hit enemies more. |
Shoots ahead by continuously moving along the associated curve. Causes severe damage to affected enemies.
POWER-UP: Increased volume of fire. |
It positions itself at a specific point on the associated curve and fires ahead. It has less damage than the moving ballista, but it is easier to direct it as needed.
POWER-UP: Up to 3 ballistae per defense of this type. |
Passive defenses within the castle walls. It is not possible to build new ones or upgrade them. They cause continuous damage to monsters in contact with flames. |
GUI
Resources and status of the castle |
Construction menu |
How to build |
How to modify a defense |
Building and upgrading defense systems comes at a cost. You will gain resources by looting the bodies of fallen enemies.
The castle has limited resistance. If an enemy manages to penetrate the walls, it will begin to attack the internal structures, causing permanent damage. |
Allows you to build new defense systems within the battlefield as well as upgrade or remove existing ones. Construction and upgrades have a respective cost of 20 and 15 resources. Demolishing a defense earns a gain equal to half the expense used to build and upgrade it. | Clicking on one of the buttons dedicated to creating defenses will enter creation mode. The cursor will turn green in valid positions to place a control point, red in invalid positions. Once the 3 control points are placed, the defense is created according to the curve associated with the placed control points. You can cancel the creation of a defense by pressing the right mouse button or the ESC key on the keyboard. | To enhance and remove defenses, it is necessary to enter edit mode. Clicking on the 3D object associated with a curve when the cursor is yellow will select that curve for editing. The control points will then be visible for movement. The enhance (up arrow) and demolition (cross) buttons are enabled. By clicking on the respective button, the defense is either upgraded by one level or demolished, leading to a reduction or increase in available resources. |
The project is for teaching purposes only: it was created for the computational geometry course at the University of Milan.
Leave a comment
Log in with itch.io to leave a comment.