- Title: Tower Defence / Defense Complete Tutorial and engine
- Description: Short Description
- GM Version: :GM8: (:GM81: and higher Delete the script lerp) GM:Studio No Pause Feature
- Registered: Yes
- File Type: .zip (18 gmk files GM8 + 1 gmz Studio File)
- File Size: 13 MB
- File Link: Download
- Required Extensions: None
- Required DLLs: None
Tower Defence/Defense Engine by icuurd12b42
Intensive 17 part tutorial + engine, Please read the Game Information for each tutorial gmk
Available as an asset, see my store in signature
If used inform me icuurd12b42 on gmc.yoyogames.com
You must also put credit to the engine in your game and put the url to the topic on the GMC. Here is the link to my tools page where this engine is likely posted... From there you can find the Tower Defence tutorial link
How it works:
For gawd sakes, read the tutorial files (yeah there are 17! So freaken what). It took me a week to make all that stuff, you can't expect to use this right away without learning it first. It's going to take about 1 hour of your time.
The kreepers follow a path to the destination. Once there, they reduce the lives count. Once the lives count is 0 it's game over. Other systems can be implemented.
If you run through all the waves without loosing all your lives, you win.
The waves are controlled and defined with a set of APIs. See the Wave Level Controllers folder
Each level is a room. Each level needs it's own Wave Level Controller
In the Wave Level Controller you state the money the player has, you setup the waves of kreepers for that level.
To make a level
Clone a level room
Design the room looks, like I used a nice picture for the play field
Make the paths used for the level using the path editor and the room as underlay.
Place a End Of Line object where the kreeper reach the end.
Clone a Wave Level Controller and name it to match the level, and drop it in the room
Design the waves with the API sets. Read up on the API sets.
To make a new kreeper
Duplicate an existing kreeper that matches what you want. Clone the components it uses if they don't match what you want.
To make a new Tower
Clone the tower that matches the most what you want... did I just say that? Oh and the Hud equivalent as well.
The core engine systems
WaveSystemAPI is used to define you waves or groups of kreeper that will be created during a level. You can tell the system to create a kreeper on this path at this timeframe then a few of another type later on. You can make it look like a single wave or cluster is coming from multiple points by having multiple paths to the target.
InfoSystemAPI is used to define what information is shown where and at what time during the level play time line. Currently it is used to show what kreeper type is about to pop up and where from. The system is isolated from the Wave System so you can place any information you want in there to show at any time you want.
WaveCountSystem is used to define how many waves there are while defining when the next wave count is about to go up. This system visually ties in with the WaveSystem but it is not physically tied with it. Only the timeframe makes it look that way.
All these systems are separate on purpose as they allow you to make multiple creeper groups for each wave in a visual sense as opposed to a systematic way.
GameControllerAndHud is where you will find the UI and game state detection code
It create the global variables used by the other game components
Most components can work on their own as long the global variable they use are set and the objects they may need are in the resources.
The system is flexible enough to be modified to your visual liking or game type without breaking anything (much)
You may contact me for help on the GMC, preferably in the tutorial topic.
**Do NOT use the provided background taken from iBomber (from a youtube video) for you game. The image is for tutorial use ONLY.
Edited by icuurd12b42, 30 November 2014 - 03:17 PM.