Over the course of externship, I will be developing a tower defense video game. I already have the foundation of the (currently untitled) game in place. This was developed during my free time. A link to the game in its current state is provided here . In order to play it, download the folder and launch the executable file located within. It's buggy and incomplete, and serves mostly as a demo that will keep someone occupied for no more than 5 minutes. Here is a full list of what I have so far: Basic Enemies: I have two types of enemies. The tank and the elite tank. They both function exactly the same, with the elite tank having more health. Enemies move along a path and get shot at by the towers. When they die, they explode into several smaller fragments. Money and Lives: You can spend money to buy towers. You make money by destroying enemies. If an enemy reaches the end of the map without getting destroyed, you lose a life. If you lose all of them, it's game over. Stats and Upgrade Panel: Clicking on a tower gives you an overview of the tower. It also lets you sell the tower for your money back, or to upgrade the tower to something better (current implementation of upgrading is very basic). Basic Tower: Target enemies when they get close enough, and shoot bullets at them. Each bullet does a certain amount of damage to the enemy. Rocket Tower: Mostly identical to the basic tower, but has splash damage that hurts nearby enemies upon collision. Mortar Tower: Allows you to place a target anywhere on the map. The tower will constantly bombard that target. Mine Layer: Scatters landmines on the path. When an enemy hits the landmine, it detonates, damaging or destroying the enemy. Path Node Based Enemy Movement: Enemies travel along a predefined path, travelling between placed spheres called nodes. The enemy script searches for those nodes and travels between them sequentially. Drag and Drop Tower Placement: The towers are listed on the bottom left of the screen. Clicking and dragging from the tower you would like to place allows you to drop it anywhere on the map. Rudimentary Wave System: Enemies come in waves. Each wave currently needs to be hand crafted, thus endless waves aren't currently possible. This work has been achieved over several months of sporadic effort. I plan on using the next month to add more content and achieve a baseline (fun, playable, yet incomplete) state. To reiterate, I do not plan to, nor will I be able to, finish the game in its entirety over the course of externship. That isn't laziness, it's feasibility. It takes teams of developers years to create fully polished, feature complete, and fun video games. For reference, look at the ongoing development of other Unity games such as Rust and Kerbal Space Program. I am learning as I go, and will not have any other help. Notwithstanding, here is what I plan on working on throughout externship:
Much Better Camera Movement: The current camera implementation sucks. I would like to have the camera movement be smooth and accessible. This means proper panning, zooming, and orbiting. More Tower Types: Games like these thrive on variety. I plan on designing and adding new towers, such as laser guns, armor piercers, and more. Tower Upgrades: I would like each base tower type to have a branching upgrade path, raising the stats and changing the functionality. For example, an upgrade path for the mortar tower could branch between having more barrels (and thus shooting faster) or a larger one (for more splash damage). More Maps: The current map is a very simple windy road on a poorly textured grass plain. I plan on creating a variety of maps, with multiple paths that enemies can travel down. Sound: Currently, the game has no sound, or a system in place to allow sound. I plan on creating a sound system, and using placeholder sound assets to demonstrate that system. Main Menu: The game has no main menu. I need to add one. Replayability / Wave Overhaul: As part of the goal to achieve baseline, I need to expand the wave system. This also includes expanding the variety of enemy types to better scale the game difficulty. Tower Unlocking / Research: I would not like all the towers to be unlocked off the bat. I want a system in place to unlock them over time, such as researching them with a special tower type. New Models: Currently, every model is constructed out of cubes. I would like to learn Blender in order to create better models, while retaining the cartoony theme. Bug Fixing: Making sure all of these new systems work properly. And More: I might work on other features not listed here. Whether or not I wholeheartedly achieve all of these goals is still up in arms, but the items listed above will be the focus of my time during externship. I will be refining my goals and documenting my progress daily on the dev blogs. I will get specific into technical issues, and do my best to explain them to those who do not understand code. With all of that wrapped up, its time to get started!
0 Comments
Leave a Reply. |
|