CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A small real-time tactics game for iPad and desktop browsers, built from MechCommander 2's maps, buildings, mechs, vehicles, infantry, voices and music. You command squads of mechs, infantry, an APC, helicopters and a supply truck in an Advance and Secure match after the game Squad: take the capture points in order, fly or drive infantry in to hold them, build forward bases to fight from, and call in strikes and MC2's support: an artillery piece, a scout, a minelayer, a repair vehicle, and a recovery team that brings knocked-out mechs back to fight for you. No native code: the original data is converted offline into glTF, WebP, PNG, JSON and AAC.
index.html) draws with WebGPU: the FFT sea and physically based
sky from the dreadnought game, MC2's terrain, buildings, trees and mechs, and
sun shadows. It needs Safari 26 (iPadOS 26 / macOS 26), or a recent Chrome or Edge.viewer.html) is the earlier three.js/WebGL2 version. The game
sends any browser without WebGPU there automatically.The pictures above without the HUD were taken on an iPad Air M2, with the dev server's Capture button; those with it come from headless Chrome on a Mac, at full render scale, mostly with both sides played by the AI.
npm install
npm run fetch-data # sparse-clones only what mission mc2_01 needs (~46 MB) into vendor/
npm run convert # writes public/assets/: maps, models and sound (ffmpeg encodes the music)
npm run fetch-data -- --mission mc2_m01 && npm run convert -- --mission mc2_m01 # the next map
npm run dev:https # https://localhost:5173, also on your LAN for an iPad
WebGPU only exists in secure contexts, so open the HTTPS address on an iPad and
accept the self-signed certificate once (Show Details → visit this website).
Plain npm run dev works on the Mac itself (localhost counts as secure); from
another device over HTTP the game falls back to the viewer.
The converter encodes MC2's music to AAC with ffmpeg (brew install ffmpeg);
without it on the PATH the game simply has no music.
Options (both scripts): --mission mc2_05 picks another mission, and
--extra-mechs atlas,madcat adds mechs the mission doesn't use (the defaults
are the showcase mechs that patrol near the start). Each conversion adds its map
to public/assets/manifest.json (the game opens the first and its Map
button cycles through the rest) and merges its voices, weapons and tunes into
the shared sound/sound.json. The three maps the game ships, each with a
scenario in scenarios/, are mc2_01 (the campaign's first mission, the
islands) and two of MC2's multiplayer maps, mc2_m01 (Wet Work) and mc2_m10
(2 of 3); the Pages workflow builds all three.
The remaster's author published 4× AI upscales of the terrain colour maps and
model textures as zips on the
v0.3 release
(2.7 GB in total). --upscaled downloads only the entries a mission needs, using
HTTP range requests (mc2_01: 39 files, 109 MB, into vendor/upscaled/):
npm run fetch-data -- --upscaled
npm run convert -- --upscaled # assets grow from ~6 MB to ~8 MB
The 5120² colour map is shipped at --colormap-size 2560 (about 35 MB of GPU
memory with mipmaps, against about 140 MB at full size). Model textures are capped at
--texture-size 512 and stored as WebP inside the GLBs (EXT_texture_webp).
.github/workflows/pages.yml builds the site on every push to master (or by
hand from the Actions tab) and deploys it to GitHub Pages. In the repository's
settings, set Pages → Build and deployment → Source to GitHub Actions. The
build fetches and converts the mission with --upscaled, as above, and caches
vendor/ between runs. It sets the site's base path from the Pages
configuration (/mech-command-web/ for a project site; BASE_PATH in
vite.config.ts).
The performance panels report to the dev server, so a published build hides
them; add ?perf to the URL to run one anyway (it can't send the report).
Controls: drag to pan, right-drag or two fingers to turn and tilt, scroll or
pinch to zoom. Tap a squad (or its card along the bottom) to select it,
long-press (or shift-click) to add one to the selection or take it out, or use
Select all; tap the ground to send the selection there, or an enemy to attack
it. A second tap on a selected squad's card looks at it, and a tap on a point in
the top bar looks at the point. Stop halts them (and drops an attack order)
and Run makes mechs run. Airlift appears when the selection has
infantry, and Build FOB, Build turret and Build wall when it has a
supply truck: press one, then tap the ground.
Artillery and Air strike call in a strike, and Sensor probe drops a
probe: press one, then tap where it should land (they show how long until
they're ready again). Artillery piece, Scout, Minelayer and
Repair vehicle call in a support unit by VTOL: press one, then tap where it
should set down. Lay mines appears when the selection has a minelayer: press
it, then tap where it should lay them to; Repair when it has the repair
vehicle: press it, then tap a squad of your mechs. Recovery team: press it,
then tap the wreck of a disabled mech.
Easy, Normal or Hard (top right) is the difficulty: how well the
enemy's pilots shoot. Easy is the scenario as written, where yours are the
better pilots; Normal and Hard make the enemy's 5 and 10 points likelier to hit
(a pilot's gunnery is their chance to hit). The game starts on Normal. Tap it
to change it: it takes effect at once, on the units already fighting too, and
is remembered.
Music and Sound next to it turn each on or off, and Map opens the next
converted map (?map=<mission> picks one by name).
The game plays a scenario (scenarios/*.json, chosen by map), modelled on the
game Squad. The three scenarios are the same match on three maps: the islands
of mc2_01 (below), Wet Work (a 3 km island whose middle is a wadeable lake, the
lane down its east side) and 2 of 3 (rivers with a few fords, the lane from the
north down to two of its three walled bases). You command squads in real time: two lances of mechs, a rifle
squad with its APC, a squad of Elementals (power armour), a pair of helicopters
and a supply truck. The Liao garrison has two lances, an armour squad, LRM
carriers, riflemen with a troop transport, Elementals and helicopters, run by a
simple AI commander.
The AI sends most of its squads at the point it can take next, holds the one it must keep with the rest, stands its LRM carriers off behind the attack, flies its infantry to far or cut-off points (and its vehicles to cut-off ones), drives its riflemen in their troop transport where that's quicker, and pulls badly hurt squads back to reinforce. It sends its helicopters with the attack, and lands them at its base to refit. It drops a sensor probe on the point it's attacking when its sensors don't reach there, and calls strikes on what its sensors pick up as well as what it sees. Its Karnovs set infantry down out of sight of every enemy it has seen in the last minute, and well clear of any point you hold or have units in (the HUD shows it those counts, as it shows you); if the landing zone turns hot on the way, the Karnov goes somewhere else. Infantry don't go in on a point you hold ahead of their mechs and vehicles: they dig in out of sight and wait, then go in with them, and so do its helicopters, which would otherwise get there first and be shot down. Played against itself (both sides then fight by its rules), a match runs about 8 to 10 minutes. Before the helicopters, on Easy your side won five of six, by 15 to 64 tickets, and Liao one by 16 (your pilots are the better: gunnery 45 to 55 against Liao's 38 to 42); on Normal and Hard, Liao won four of six (three of each: too few to tell the two apart). With them, on Normal your side won five of six, by 13 to 49 tickets, and Liao one by 20. With the APCs too, your side won all three, by 24 to 96: each side rode two to four times a match, nearly every ride ending with the soldiers getting out under fire short of the point, and in nine matches one APC was lost with a squad aboard. With sensors as well, Liao won two of three, by 29 and 49 tickets, and your side one by 8: each side dropped two or three probes a match and built one or two towers, and about half the strikes went in on enemies only sensors had picked up. With turrets and walls too, your side won two of three, by 26 and 45, and Liao one by 7: each side's truck put up two to six turrets a match (which made one to seven kills a side), and hardly any walls, as the spot in front of a point the AI holds is often water. With support units too, your side won two of three, by 24 and 28, and Liao one by 29: each side called in two or three scouts, one or two minelayers and one or two artillery pieces a match, a Long Tom made up to six kills, and a side's mines went off under the enemy up to 11 times. With the repair vehicle and recovery team as well, each side's recovery team brought back one or two mechs a match, mostly the enemy's (Liao's often your Atlas, the heaviest on the field), and a recovered mech made up to eleven kills. Sent to squads where they stood, the AI's repair trucks mended next to nothing (its hurt squads are nearly always fighting); pulling its squads back to the truck instead, each side's truck mended two to nine mechs a match, using up to all its 500 points, and strikes caught a truck at work now and then. With that, your side won two of three, by 47 and 27, and Liao one by a single ticket. A match can swing by 70 tickets, so a handful of matches shows a trend at best. shows the mission's own units instead (your lance is then its three mechs plus an Atlas and a Madcat), and runs the world four times as fast (for testing).
Orders are routed over MC2's movement map (src/sea/sim/move-grid.ts): A* over its
300×300 cells of 8.5 m with the engine's rules (no off-map cells or deep water,
shallow water and passable ground only, forest about 2.8× the cost of clear
ground), then pulled tight so routes only turn where something is in the way.
Walls close the cells under them while they stand. Ground vehicles, hovercraft and infantry (in MC2's code its soldiers are ground
vehicles too) keep to the roads: a road cell costs them a quarter of clear ground
(MOVEPARAM_FOLLOW_ROADS, set for every ground vehicle). They're no faster
there, so a route by road can be the longer one: from your base to the Ridge
it's about 1.6 km, a fifth of it on road, where a mech walks 1.35 km. A
squad's members take formation slots about the point, the nearest in the middle,
and squads sent together spread out side by side.
Combat follows MC2's own code (code/mover.cpp, mech.cpp, gvehicl.cpp) on
data the converter exports to combat.json: weapons from compbas.csv, each
mech's armour, structure, loadout and crit slots from its stats CSV, vehicles
from their object files, and each pilot's gunnery from the mission's warrior
profiles. In short:
src/sea/README.md has the details, and how they were checked against a
simulation of the original rules.
The sea, sky, surf and post-processing come from the dreadnought game; see
src/sea/README.md for what was taken and what changed. MC2's land wears its
pre-lit colour map, and the sea shows the sea floor through shallow water. Every
model is one vertex buffer whose vertices name the node they move with, so all
the mechs of one type are a single instanced draw. The sun's shadows fade out as
the camera zooms out (700–1000 m).
Three buttons (top left) measure the game on the device it runs on. Each report
is POSTed to /api/perf and saved in perf-reports/.
URL options: q=B for 128² waves instead of 256², msaa=1, and scale= for a
fixed render scale.
On an iPad Air M2, against 16.7 ms a frame at 60 fps:
| GPU per frame | |
|---|---|
| Opening view | 3.0–3.5 ms |
| Whole map zoomed out | 10.0–10.6 ms (the sea is about 6 ms of it) |
| All 23 units fighting, wide or close | 3.3–4.4 ms (effects cost next to nothing) |
In real time the page holds 60.0 fps from the opening view in every pacing variant. A whole 23-unit fight, played after the battle survey's stress rows, ran at 57.4 fps with no frame over 31 ms and 2–5 ms of JavaScript a frame; ten seconds of standing still at that point paced the same, so the shortfall is the device after minutes of stress rendering, not the fight.
On the dev server, Capture (top right) takes a picture on the device the game
runs on, an iPad say, and sends it to the Mac. It copies the next frame off the
GPU at full render scale, without the selection rings and without the page's
HTML (the cards, the top bar, the squad letters), and the dev server saves it as
a PNG in screenshots-inbox/ (git-ignored), with the camera's view and the match
time in a JSON file beside it. For shots with the HUD, use the device's own
screenshot.
Controls as above. Its panel switches animations, toggles run/patrol, spawns
mechs, hides layers and toggles shadows. Add ?map=<mission> to the URL of either
page to choose a converted map.
Its Run perf test button measures seven scenes (opening view with and without
shadows and at half resolution, the airfield, the whole map, a walking Atlas up
close, 24 extra walking mechs), plus load milestones, WebGL limits and the WebGPU
adapter's features. The report goes to the same /api/perf endpoint.
| Path | What |
|---|---|
tools/fetch-srcdata.ts | Sparse, blobless checkout of alariq/mc2srcdata, resolving the files a mission needs |
tools/convert.ts | Mission → public/assets/maps/<mission>/, public/assets/models/ and public/assets/sound/ |
tools/lib/ | Readers for .pak, .fit, .tga, .ase and remote zips, the glTF builder, the combat data export, and the choice of sounds (sound.ts) |
src/sea/ | The WebGPU game (main.ts, app/, models/, render/, sim/) |
src/sea/sim/combat.ts, src/sea/app/battle.ts | MC2's combat rules, and the battle that runs on them |
docs/screenshots/ | The pictures in this README |
src/*.ts | The three.js viewer; src/paint.ts and src/assets.ts are shared |
vendor/, public/assets/ | Downloaded and generated data; git-ignored |
perf-reports/, screenshots-inbox/ | What the dev server receives from devices (perf reports, captured frames); git-ignored |
Converted output per mission: map.json (terrain size, water, light, camera
start), elevation.bin (Float32 heights), colormap.webp, objects.json
(about 1,000 placed buildings and trees on mc2_01; a mission's placed turrets
are dropped, since the game places objects as scenery and a turret that never
fires would only mislead), units.json (mission units with their
pilots' gunnery, plus gesture speeds), combat.json (weapons, ammunition, and
each unit type's armour, structure, loadout and crit slots), and move.bin (the
movement grid: 300×300 cells on mc2_01, 360×360 on the 3 km maps). Shared by every mission: sound/sound.json (each radio
message's priority and shelf life from radio.csv, the scenarios' voices' lines
for each message, Betty's lines by their BETTY_* number, interface effects, each
weapon's firing and impact sounds, the explosions, and the tunes), MC2's WAVs as
they are (6.6 MB: five voices, then weapons and explosions), and
sound/music/*.m4a, ten of MC2's tunes encoded to AAC (4.7 MB, fetched one at a
time as they play).
The rules are taken from the C++ in mc2-opengl-remastered:
(x, z, -y). Model forward is world −y, which becomes +Z in three.js.
Facing = (sin r, −cos r), so rotation.y = r.mclib/terrain.cpp, mapdata.cpp). 128 world units per vertex,
centred on the origin, row 0 at the north edge. Quads split their diagonal in a
checkerboard pattern. The colour map spans side × 128 units and is pre-lit.mclib/tgl.cpp, msl.cpp). Node rest rotations are ignored. Each node sits at
its TM_POS relative to its parent. Face textures are the first N *BITMAP entries
in file order, indexed by MESH_MTLID. SpotLight_* meshes (night lights) are dropped.<appearance><Gesture>.ase).
Rotation keys are axis/angle deltas, which the engine converts with its own signs and
accumulates as q[j] = key[j] · q[j−1]. Clips are baked to one key per frame at 30 fps.mclib/mech3d.cpp). Texels dominated by red, green or blue are recoloured
with highlight 1, highlight 2 and the base colour. Player units use the default orange.mclib/quad.cpp). Per-vertex opacity by depth (shallow, middle, deep). In
mc2_01 deep water is opaque, which hides the seabed in the colour map.Checks done against mc2_01:
alariq/mc2srcdata lacks a few objects' models (some rocks, mech wreck pieces, nav
markers). The converter skips any it can't find and lists them; mc2_01 and its
scenario need none of them.sc_turret). Prop
animations (flags, radar) are not converted.<mech>leftarm.ase, rightarm.ase) tumbling off
with a smoke trail; a destroyed mech, once fallen, becomes a damaged wreck mesh
(<mech>fallforwarddam.ase, fallbackwarddam.ase); a destroyed vehicle becomes
<vehicle>dam.ase with a dam texture. Here arms stay on (their weapons just
stop), and wrecks are the intact model painted in soot.--upscaled.The engine code these rules come from is GPL v3 (alariq's port) on top of
Microsoft's Shared Source release. The MechCommander 2 art (and sound) may be used and
redistributed for non-commercial purposes only, and the licence grants no rights
to Microsoft's trademarks (see EULA.txt in the engine repository). That's why
vendor/ and public/assets/ are git-ignored: anyone building this fetches and
converts the data themselves, and so does the Pages workflow. The published site
serves the converted art, so it must stay non-commercial. The --upscaled textures are the remaster author's AI
upscales of the same art, so the same non-commercial terms apply, as they do to the
screenshots in docs/screenshots/, which show it.
TACTICAL_ORDER_LOAD_INTO_CARRIERMoveType = 1), and each side has a pair: an Attack Copter (one AC10)
and a Heavy Copter (four Streak SRM2s and two pulse lasers). As in MC2 they
start on the ground, and take off on MC2's own 4-second animation when sent
somewhere or when an enemy comes near, raising dust (spray over water). They fly
at about 20 m over land, water and trees alike, see over hills, and set down at a
base when they have nothing to do. Their guns face only ahead, so they turn
to their target. MC2's rules for them: they can't take a point, artillery and
air strikes can't touch them in the air (only on the ground), and shooting one
down isn't a mech kill. Their armour is a light mech's, with nothing behind
it, and one lost costs 2 tickets. MC2's take-off, landing and crash sounds
play; in flight they're silent, as in MC2.objects/artsml.fit, artbig.fit): artillery, ready every 2 minutes, and an
air strike, every 4, flown by MC2's Slayer aerospace fighter on its own
bombing-run animation. Press one and tap a spot one of your squads can see,
or your sensors reach.
MC2's marker spins there and a ring shows the strike's reach; 7 seconds later
it lands, as MC2's do, and every unit within 80 m takes MC2's hits (within
25 m, more of them): artillery 8 damage a hit, the air strike 15. It hits your
units too, and dug-in soldiers take half. The engine's incoming whoosh plays
5.5 seconds out and the fighter dives in 2.5 seconds out. The bursts pin down
soldiers nearby. When the enemy calls one near your units you get the red ring,
a warning and the alarm, and the squad in the way calls it in: run. The AI
calls its strikes on your units bunched up (a mech counts most), never where
its own would be hit.code/contact.cpp), a side also picks up the enemy
beyond sight, through hills, within its sensors' reach. Those none of your
units see show as red blips: where something is, not what. Nothing can fire
at a blip, but artillery and air strikes can be called on one. The sensors are
MC2's own: the Raven's Advanced sensors reach 550 m and the Werewolf's
Extended 400 m (other mechs' standard sensors add nothing to sight, and a
critical hit to the head can knock them out); every forward base raises MC2's
sensor tower, which watches 550 m about it and falls to 11 points of damage;
and Sensor probe drops MC2's probe on any spot, ready 45 seconds in and
then every 3 minutes. A probe picks up everything within 800 m, a reach that
shrinks steadily to nothing over 2 minutes (its ring shows it). The Raven's
ECM keeps it off the enemy's sensors. Betty says when a probe is ready, when
your tower picks the enemy up after a quiet minute, and when it's destroyed,
in MC2's lines for those (the engine has the tower lines but never plays them).
None of the Liao garrison's mechs carry sensors: it has its towers and probes.tgl/vtol, on its own drop-off animation): press Artillery piece,
Scout, Minelayer or Repair vehicle and tap open ground your squads
can see. The VTOL flies in from your base, sets the unit down about 5 seconds
later and flies off, and MC2's support desk says what's coming. Each comes as
a squad of one with its own card (Long Tom, Pegasus, Sapper, Wrench), ordered
like the others, and its crew talk in MC2's own voices for them. MC2 buys them
with resource points; here a side has one of each at a time, as with strikes:
the scout is ready 30 seconds in, the minelayer at 1½ minutes, the repair
vehicle at 2 and the artillery piece at 3, and another 2½, 4, 4½ and 5 minutes
after the last is lost (its button shows the wait, and hides while one is
out).
objects/guardtower.fit): a
40-tonne Long Tom that never moves and can't take a point. It shells what
your side sees from 60 to 180 m off (MC2's long range; its crew see 270 m,
a fifth further than most), one shell every 7 seconds, 50 in all. A shell
bursts where it lands, hit or miss, and everything on the ground within
37 m takes its 15 damage (MC2's area effect, objects/longtom.fit), yours
too: it holds fire while any of your units are that near its target. Its
armour is thin (22 to 30 a side), so keep it back. Betty warns when it's
attacked and when it's destroyed, in MC2's guard tower lines.objects/scoutcopter.fit): 5
tonnes, a machine-gun array, and a pilot who sees 270 m. Send it ahead to
spot for strikes, LRMs and the Long Tom.objects/minelayer.fit): select it, press Lay mines
and tap where it should drive. As in MC2 it lays a mine in each cell of the
movement map it passes (one every half second), 160 in all; Betty says when
they're gone, and it loads more at a base as others refit. A mine goes off
under a mech or vehicle of more than 35 tonnes, doing 12 damage to a leg or
the front (the pilot says so), and a strike or Long Tom shell sets off the
mines about it; helicopters, soldiers and light machines pass over. Everyone
sees every mine (red rings), and routes don't go round them (MC2's mine
avoidance is compiled out): steering clear is up to you. Unlike MC2, a
side's own mines don't go off under its own units.objects/repairtruck.fit,
the supply trucks' own), its 500 refit points for mending mechs in the
field. Select it, press Repair and tap a squad of your mechs: it drives
up to each mech that needs it in turn, nearest first, following the squad if
it's on the move. As in MC2 (code/tacordr.cpp), the mech powers down
within 30 m of it, and 3 seconds later the truck opens up and works on it,
each second spending up to 30 points: a third on armour and structure, a
point for a point, and a third on ammunition, a ton for a point. A powered-
down mech can't move or fire, so mend out of the fight. Lost arms stay lost,
and so do components a critical hit took out (a base mends those). Another
order to either squad calls the work off. Its pilots say when each mech is
done, and Betty when the squad is, or when the truck runs out of points; it
loads more at a base as others refit (in MC2 it's spent). MC2 mends mechs
only, so the truck does too.code/missiongui.cpp). A mech on the
ground that falls to anything but its centre torso blown in at one blow
(its pilot killed, its head, legs or engine gone, its centre torso worn
through) is only disabled: it falls and smokes, its paint on, where one
blown apart burns out (helicopters always are). Press Recovery team and
tap such a wreck your squads can see, yours or the enemy's: a Karnov comes
in over it, hovers 5 seconds with its recovery beam on it (MC2's
RecoverTime), and flies off, leaving it mended (Mover::recover): its
structure whole but for arms it lost, every component working, its armour
and ammunition as they were, and a new pilot. It gets up and fights for you.
A mech of yours goes back to its squad if that's short of it, and gives back
the tickets it cost (as Squad's medics revive the fallen); any other joins
your Salvage squad (K), a lance at most, which is never reinforced. Strikes
and Long Tom shells that put more than 20 points of damage in all into a
disabled mech's wreck blow it apart (MC2's DestructDamage), and wrecks are
cleared away after 2½ minutes. The team is ready 4 minutes in, and again 6
minutes after each mech it brings back (at once, if the wreck was gone
before it got there). When a squad of yours disables an enemy mech while the
team is ready, its pilot says it's worth salvaging.
The AI calls them in too: the artillery piece 110 m behind the point it holds
at the front (on the far side from the enemy's way in), the scout to watch the
point it's attacking from 160 m short of it, the minelayer to lay three
lines of mines across the way the enemy comes to the point it holds, and the
repair vehicle at a post well back from that point (about 300 m toward its
base, on ground clear of the enemies it has seen lately). Its squads are seldom
out of the fight while they're hurt, so a mech squad that has lost half a
mech's worth of armour and structure, though not enough to go back to base,
pulls back to the truck to be mended, when that's nearer than the base (one
squad at a time, following the post as the front moves, and going back in
after two minutes without work on it). The truck mends those, and hurt squads
passing near; it calls the work off while the squad fights or an enemy is in
sight within 200 m, and goes home to load when it's low. The AI's recovery
team brings back the heaviest disabled mech it can see that has no enemy it
knows of within 200 m. Anything that can't move (the artillery piece, a
turret) picks its targets among those its guns reach from where it stands, and
a scout fires at what comes near but goes after it only when ordered.davionlightwall.fit). Walls are shot at only when you order it (tap one).
Units on their way through go round. A wall can't go where it would cut a
point or a base off from anywhere it can now be reached from, by any way of
moving: walls slow the enemy and steer it round, into your turrets' fire, but
can't shut it out (on this map only one spot would). A side keeps up to 6
turrets and 6 stretches of wall.sound/radio.csv): one voice at a time, the most urgent
first, stale lines dropped. Betty, MC2's computer voice, announces points
taken, a forward base or the artillery piece under attack or destroyed,
supply, mines or refit points run out, repairs and recoveries done, and the
result. A refused order also shows why in the middle of the screen, with MC2's
buzz, and the alarm sounds when the enemy starts taking one of your points.
Sound on/off (top right) is remembered. On iPad, sound starts with the
first tap and plays even with the silent switch on.?scenario=none?speed=4