kendallroth / tower-defence Goto Github PK
View Code? Open in Web Editor NEWTower defence game made in Unity
Tower defence game made in Unity
Add an overall game stats manager to track stats accumulated throughout the game.
Live stats
Total stats (cached)
Wave configuration should be improved in a variety of ways, specifically to allow more variety within a wave. Waves should be able to contain multiple enemies spawned in multiple sections (either sequentially or randomly).
class WaveManager {
waves: IWave[];
}
interface IWave {
int number;
IWaveSection[] sections;
}
interface IWaveSection {
float sectionDelay;
IWaveSectionEnemy[] enemies;
IWaveSectionOrder order;
}
interface IWaveSectionEnemy {
Enemy enemyPrefab;
int count;
float spawnDelay;
}
enum IWaveSectionOrder {
RANDOM,
SEQUENTIAL
}
Enemies should utilize several animations over their lifecycle:
Enemies should have their exit animation sometime before being destroyed at the exit, in order to give a satisfactory animation time. However, a life should not be substracted until they have fully "reached" the destination (inside tower).
Use ooti.MessageDispatcher
system to pass game events around.
Decide if there are any reasons to allow selecting multiple tiles in-game (ie. for operations). If so, implement a similar system to the map editor.
Handle spawning enemies over multiple basic waves.
Create a simple path editor (toggleable tool) that can be used to create a path. This would replace the current one-by-one approach used to manually set tile pathing values (from editor). The tool would also be able to support only creating a valid path and setting valid start/end pieces.
This could also allow the pathing to be updated automatically after changes without recalculating the entire path over (wither certain limitations).
Implement basic camera movement (can be extended later).
Spawn enemies from portals (ideally with simple texture behind them/occluding them). Could have brief warmup period when spawning (before shutting down again), possibly coupled with some other indicator to signify a warning period?
Currently the prop placement tool uses a slightly dangerous method of determining the direction to the next path piece. Since it is based off the next waypoint, the underlying function does not know that the target tile is actually a neighbour (causes issues if not). Instead, a Vector3 or Coordinate extension could be created to determine the most appropriate direction based on the direction between points (from world angle, where HexDirection.N
is 0
degrees).
Implement basic enemy movement along path, utilizing the "linked" waypoint list. Enemies should be destroyed when reaching the end of the path, and eventually will need to affect lives.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.