CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
50마리 픽셀 동물 부대로 어둠에 맞서고, 영웅 배치·타워 파괴·8지역·288스테이지, 희귀 영웅 부화와 어둠의 탑 오르기
Command an army of 50 cute pixel animals against the Gloom. Deploy heroes, smash towers across 8 lands and 288 stages, hatch rare heroes and climb the Gloom Tower.
게임JavaScript · CSSGitHub @ChickabeeJJ온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A pixel-art lane battler for CrazyGames. Command an army of cute animals against the Gloom: send heroes marching down the lane, upgrade your acorn pouch, rally them with a Battle Cry, and smash the Gloom tower before it flattens your burrow. Between battles, hatch rare heroes, level them up and evolve them, upgrade the Lab, and free 8 lands across 3 difficulties.
Play locally: open index.html in a browser, or serve the folder (npx http-server .). There is no build step needed to play.
| Heroes | 150 animals in 5 rarities (25 Starter, 46 Rare, 38 Epic, 26 Mythic, 15 Legend), each with 3 forms, one of 10 elements and an attack animation of its own (a body motion, a hit effect and, for ranged heroes, a projectile; no two units share one). Abilities include area attacks, critical hits, knockback, freeze, slow, weaken, shockwaves, multi-hits, Tower Smashers, burrowing, Last Stand and Spirit Breaker. |
| Gloom | 73 enemies with 6 traits (Airborne, Ironclad, Phantom, Venomous, Restless, Starborn), each with its own rule, and an element each; 24 land bosses. |
| Stages | 3 chapters (The Green Kingdom, The Gloom Frontier, Heart of the Gloom) × 8 lands × 12 stages × 3 difficulties (Normal, Hard, Nightmare) = 864 story stages, plus the endless Gloom Tower and 3 daily events (Coin Cave, Seed Grove, Egg Hunt) with 5 levels each. Each stage has 3 star goals; stars open land chests. |
| Hatchery | Three nests: Royal Nest (gems or Gold Eggs: Rare 62% · Epic 28% · Mythic 9% · Legend 1%, daily rate-up heroes at half their rarity's chance, Mythic pity at 40 and Legend pity at 150), Elemental Nest (only heroes of the day's element, rotating through all 10) and Meadow Nest (Silver Eggs, one free every 4 hours). A ×10 always includes an Epic. Duplicates add bonus levels. All odds are shown in game. |
| Elements | Ember, Frost, Thorn, Storm, Shadow, Tide, Stone, Sun, Moon and Bloom. Each beats two elements (×1.5 damage) and is beaten by two (×0.75). Three heroes of one element in the lineup give them +10% health and attack, five give +20%. The stage window scouts each Gloom's element and suggests what to bring. |
| Progression | Hero levels 1-30 (+20 from duplicates), evolution at level 10 and 20, 9 Lab upgrades, 4 battle boosts, Commander rank. |
| Coming back | 7-day login calendar, 4 daily quests plus a completion bonus, Acorn Farm (coins while away, 8-hour cap), free Silver Egg timer, daily event entries, 14 medal series, tower leaderboard. |
Every gem and egg is earned by playing. There are no purchases.
| Input | Action |
|---|---|
Tap a hero card, or 1-0 | Deploy that hero |
Tap the pouch, or E | Upgrade the acorn pouch (faster income, bigger pouch) |
Tap Battle Cry, or R / Space | When charged, every hero on the field glows gold for 8 seconds: +50% attack (more with the Lab), +30% speed, 30% less damage taken |
Drag, scroll or ← → | Look around the battlefield (the camera follows the front line otherwise); tap the minimap to jump |
F | Speed ×1 / ×2 |
P / Esc | Pause |
M | Mute |
index.html page shell (loads the files below and the optional CrazyGames SDK)
css/style.css pixel UI: frame utilities (.fx-*), home, battle HUD, dock, windows, modals, phone layouts
fonts/ Pixelify Sans + Silkscreen (SIL OFL, licences included)
js/content.js content tables: heroes, Gloom, regions, difficulties, events, banners, Lab, items, missions, login, medals
js/tune.js per-stage tuning written by tools/tune.js (do not edit by hand)
js/core.js all rules: saves, hero stats, stage generator, battle simulation, hatchery, dailies, medals (no DOM; runs in Node)
js/assets.js the painted tree-house base and region backgrounds as native-size pixel art (written by tools/assets.py)
js/sprites.js palette, Painter (with a pixel-art clean-up pass), 50 hero and 33 Gloom painters (4 frames each), bases, eggs, hand-drawn icons, the UI frame kit and pixel-font titles
js/render.js the battlefield: painted parallax regions, camera, units, Battle Cry glow, waves, particles, minimap, home parade, region art for menus
js/audio.js chiptune sound effects (synthesized) and the music: audio/menu.mp3 at home, audio/battle.mp3 in battle (a synthesized fallback plays if they cannot load)
audio/ the menu and battle music tracks (re-encoded at 96 kbps)
js/platform.js CrazyGames SDK v3 adapter + storage; every call is safe without the SDK
js/game.js UI, input, battle loop, tutorial, results, windows, saving, platform hooks
tools/sim.js campaign simulator: a scripted player plays the real rules and reports pacing
tools/calibrate.js lowest hero level that beats each stage
tools/tune.js writes js/tune.js so every stage is beatable at a target level in a target time
tools/assets.py turns the painted art in assets/src into clean native-resolution pixel art (Pillow + NumPy) → assets/px and js/assets.js
tools/build.js production build → dist/index.html (single file) + dist/animal-wars.zip + public/index.html
tools/keyart.html store key art composed from the game's sprites and paintings
tools/covers.js renders the key art into the three covers → store/
tools/preview.js store preview videos (real gameplay) → store/
tools/spritesheet.html every sprite enlarged, for art review
tests/core.test.js rule tests (Node's built-in runner)
tests/browser.qa.js browser QA in Chromium (desktop, 1920×1080, phone landscape, and the rotate prompt in phone portrait)
Node 18+. The browser QA, covers and previews also need Playwright (npm i -D playwright && npx playwright install chromium) and the previews need ffmpeg.
npm test # rule tests
npm run qa # browser QA against the source files (pass a folder to save screenshots)
npm run build # dist/index.html + dist/animal-wars.zip
npm run qa:dist # the same QA against the production build
npm run covers # store/cover-*.png
node tools/preview.js # store/preview-*.mp4
npm run sim -- 8 1 # campaign pacing (regions, seed, --verbose)
node tools/calibrate.js 0 # level needed per stage (difficulty 0, 1, 2)
node tools/tune.js 0,1,2 # re-tune stages after changing heroes, Gloom or the stage generator (slow)
python3 tools/assets.py # rebuild js/assets.js after changing anything in assets/src
Add ?debug to the URL to show every menu from the start.
Stages are generated from each region's Gloom pools (stageDef in js/core.js), tuned per stage by tools/tune.js (the strongest Gloom a scripted player beats every time within a target time at a target level), and then calibrated with the whole-campaign simulator in the loop (tools/sim.js). The scripted player plays like a good human: it keeps a stream of cheap heroes at the front whenever Gloom is on the field, sends big heroes as soon as they are ready, buys pouch levels early and levels its lineup. Every stage's strength was eased wherever that player hit a wall, across four random seeds, until each seed cleared all 24 lands. On top of the tuning, CONFIG.challenge makes every stage tougher (+40% Gloom strength, +20% tower health, +8% wave pace, eased in over the first six stages). Acorn income is 7.8 + 3.9 per pouch level per second, and every hero gives the same value for its acorns within its rarity (rarer heroes are bigger and dearer, with only a 5-15% premium), so a fresh hatch at level 1 cannot carry the campaign: a level-1 army stalls around 1-3 and a level-5 army around 1-6. The simulator clears chapter 1 in about 13 hours of battles with about 30 lost battles, and the full Normal campaign in 25-43 hours. Hard and Nightmare share Normal's per-stage shape; the simulator does not play them. If you change hero or Gloom stats, re-run node tools/tune.js and npm test.
npm run build.dist/animal-wars.zip (index.html with everything inlined, plus the audio/ folder with the two music tracks; about 4.5 MB).store/ for the listing: three covers, a landscape preview video, and the text in store/LISTING.md.index.html loads the CrazyGames SDK v3 from sdk.crazygames.com. The game starts without waiting for it and works the same if it fails to load. When it loads, the game:
loadingStart / loadingStop, and gameplayStart / gameplayStop around battles (stopped on pause, results, menus and when the tab is hidden);happytime on boss and region wins, Mythic or Legend hatches, and evolutions;crazygames environment when ads are available;SDK.user.submitScore({ encryptedScore, score }) (AES-GCM, as in Pocket Singularity).Leaderboard setup: create the leaderboard in the developer portal and paste its encryption key into leaderboardKey in js/platform.js. Without a key nothing is submitted.
The SDK integration was written from the v3 API and has not been run against the live SDK, which this build environment cannot reach. Test it in the CrazyGames QA tool before submitting.
Animal Wars is inspired by the lane-battler genre (send units down a lane, manage an income meter, fire a base weapon, destroy the enemy base), but all names, characters, art, music and text are original. There are no cats in the army, no copied characters, enemies, sprites, sounds or UI art, and the currencies, items and modes have their own names (acorns, Battle Cry, Royal Nest, Gloom Tower, and so on); there is no base cannon: the Battle Cry powers up your heroes instead. Systems with no counterpart in that genre: the 10-element wheel with lineup synergy, the scouting report, the daily Elemental Nest, the three-tap egg hatch, chapters of colour-graded lands, and the trait set with its own rules and names (Airborne, Ironclad, Phantom, Venomous, Restless, Starborn). Characters, towers, eggs and icons are drawn by code in js/sprites.js; the tree-house base and region backgrounds are the owner's painted art in assets/src, converted by tools/assets.py; sound effects are synthesized in js/audio.js; the music tracks in audio/ were supplied by the owner.