Game Development 10 min read

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.

Taobao Frontend Technology
Taobao Frontend Technology
Taobao Frontend Technology
How We Built a Full‑Featured Tower Defense Game with EVA JS and ECS

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.

game developmentECSbalancegame designEVA JStower defense
Taobao Frontend Technology
Written by

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.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.