Skip to content

t1k-cocos-rushtank-design-ladder

RushTank — Data-First Ladder & Variant-First

Section titled “RushTank — Data-First Ladder & Variant-First”

Governs design decisions for Epic Idle War / RushTank (Cocos Creator 2.4.15). Applies both when writing a GDD and when implementing one. The rule for writing documents lives in docs/guides/gdd-authoring-rules.md; the engine capability map in docs/game-systems/boss-bullet-event-capability.md.

Before proposing or executing any gameplay change, try the tiers below in order and stop at the cheapest one that works. Jumping to a higher tier without stating why is a violation.

TierWhat you editExamples of what this tier already does
T1 data-mapresources/map/adv/<ch>-<stage>.jsonSwap one bullet slot (blt override) · override a mob shader (shader) · per-entry atk/hp multiplier (atk0/hp0) · boss phase by HP (COND.STATUS + hp%) · timer-driven mob spawn, infinite repeat (COND.TIMER + ACT.CREATE + repeat:-1) · toggle an event (ACT.SWITCH) · swap AI config mid-battle (ACT.AI + aiCfg)
T2 data-defineNew BULLET_DEFINE / ENTITY, variantsNew bullet (change n/d/spd/gravity/jump/rttSpd) · entity variant with new art + stats (template mob-variants.js)
T3 code-aiassets/script/ai/**Give aiming to an AI that cannot aim · change how attackSequence is selected
T4 code-enginecore/base/Entity.js, entities/projectiles/**, managers/LevelManager.jsChange firing-angle math, the bullet system, the event system

Required in every proposal: name the tier and give one sentence on why the tier below is not enough. Passing example: “T2, because we need a different gravity — a T1 blt override can only point at an already-existing define.”

Before accepting T3/T4, scan the “Engine constraints that bite” section of the capability map — the two that bite most: AIProto.aim() solves the trajectory always against blt[0], and the bltMax ceiling.

For any new content (mob, boss, vehicle), answer this before designing: variant or new entity?

If the only change is…→How to do it
Texture / colorshader on the map entry (T1), or a variant changing avatar.anime (T2)
Texture + statsVariant — template scripts/mob-variants.js: keep nameKey, point blt/attackSequence/pilot straight at the original define
A single bulletblt override on the map entry (T1)
Bullet set + behaviorNew entity (T2)

The project already has the variant template and 3 dedicated skills: t1k-cocos-rushtank-entity-variant, -add-player-tank, -add-equipment. Activate the matching skill instead of rebuilding the procedure — they carry the known crash spots with them.

  • docs/guides/gdd-authoring-rules.md — GDD authoring rules; RT-1 is the data behind the Tier column of rule R3.
  • docs/game-systems/boss-bullet-event-capability.md — map-JSON field catalog, which AI can aim, engine constraints.
  • Skills t1k-cocos-rushtank-entity-variant / -add-player-tank / -add-equipment — the execution procedures.

Why behind RT-1 (the 2026-07-29 GDD mis-tiering incident) and RT-2 (variant-vs-new-entity call): docs/cocos-rushtank-design-ladder.md.