How We Built a Full‑Featured Tower Defense Game with EVA JS and ECS
This article recounts how the Taobao Interactive team designed, planned, balanced, and rapidly prototyped a complete tower‑defense mini‑game for the D2 online showcase, detailing the story creation, PRD writing, numerical tuning, early development, art production, and the use of an ECS‑based EVA JS engine.
Game Planning
After our booth was selected for the D2 online showcase, the team, together for over three years, seized the chance to create a small tower‑defense game they personally wanted. We first crafted a flexible background story, deciding on an EVA hero defending against slime monsters, and settled on a simple mechanic where weapon levels and enemy attributes counter each other.
Product Requirements
The product team quickly drafted a PRD, capturing the core gameplay loop and constraints, while jokingly referencing the “product manager is a dog” meme. The PRD was signed with a hand‑stamp to emphasize its finality.
Numerical Planning
Balancing was critical, so we listed core values such as slime HP, speed, resistance, weapon level, attack speed, upgrade cost, attack value, EVA hero HP and funds. A minimal viable version was needed to validate these numbers before full development.
Early Development Version
Using the EVA JS engine built on an ECS architecture, we implemented the core mechanics in about eight hours over three days, delivering a prototype that allowed rapid numerical verification.
Art and Graphics
Our front‑end designer created cute slime assets that matched the story, and the art team uploaded the resources to a CDN for easy preview and integration.
ECS Architecture in the Game
We decomposed the game into entities (slime, weapon, hero), components (enemy, weapon, hero, map, animation, transform), and systems (map, enemy, weapon, hero, wave, animation, transform, render). Green‑highlighted items are provided by EVA JS; red‑highlighted items were implemented for this game. The diagram below shows entity‑component relationships and system data flows.
Final Product
After thorough functional and compatibility testing, the game was released on the D2 Space EVA booth. The final version features finely tuned numbers, with only one upgrade path leading to victory, inviting players to take on the challenge.
Taobao Frontend Technology
The frontend landscape is constantly evolving, with rapid innovations across familiar languages. Like us, your understanding of the frontend is continually refreshed. Join us on Taobao, a vibrant, all‑encompassing platform, to uncover limitless potential.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.