Цайз хамгаалах — Tower Defense
Хязгааргүй давалгаатай дайснуудыг стратеги байршуулалт, ухаалаг цохилтоор буулгаж аваарай.
Тоглоомын тухай
Энэ тоглоом нь HTML5 Canvas дээр бичигдсэн Tower Defense төрлийн тоглоом. Дайснууд замын цэгүүд (waypoints) даган урагшилж, тоглогч нь харвагч барилгыг зөв байршуулан дайснуудыг барих ёстой. Алдаа гаргавал зүрх (hearts) буурч, 0 хүрмэгц тоглоом дуусна.
Дүрүүд
-
Дайсан (Орк)
Sprite анимац (7 фрэйм). Дайсны төв рүү чиглэн хөдөлнө.
-
Цамхаг (Tower)
Буудлагын хүрээтэй (радиус), онилсон үед тодорхой нөхцөл шалгана сум харвана.
-
Сум (Projectile)
atan2-оор өнцгөө тодорхойлж зорилтот дайсны төв рүү шулуун хурдаар ниснэ. -
Байршуулах хавтан (Placement Tile)
Тодорхой индекс (утга
14) бүхий зургийн хэсэг барилгыг давталтаар харуулсанаар анимешн байдлаар харагдах юм.
Алгоритмууд
- Зам дагах: Дайсан бүр дараагийн waypoint руу
atan2(Δy, Δx)-оор өнцөг олж, cos/sin үржвэрээр хурд гаргана. - Мөргөлдөөн шалгалт: Тойрог–тойрог
distance < r_enemy + r_bullet. - Анимацын фрэйм:
elapsed % hold === 0үед фрэйм ахиулна. - Давалгааны spawn: Дайснууд дуусвал
spawnCount += 2, дахин spawn. - Тоглоом зогсоох:
requestAnimationFrame-ийн нэг цикл ажиллуулж, hearts=0 үедcancelAnimationFrame.
Програм / Технологи
- HTML5 Canvas, JavaScript (ES6)
- requestAnimationFrame, 2D Context API
- SVG (зоосон икон), Google Fonts — Bitcount
- Зураг/спрайт бэлтгэл: Photoshop / Illustrator (болон өөр график хэрэгсэл)
- Хөгжүүлэлт: Visual Studio Code
- Tile map редактор: Tiled