OhMyGame
OhMyGame은 AI로 게임을 만들 수 있는 오픈소스 스튜디오로, 디자인·구축·플레이테스트·출판을 하나의 앱에서 모델 키와 함께 수행합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Cowboys vs Zombies - a handful of gunslingers hold a saloon against a 2:1 horde of the dead; AI on both sides (Godot 4). Part of the Precog sim suite.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A handful of cowboys hold a saloon against a horde of the dead coming in through the swinging doors - two of them for every one of the living. Played entirely by AI on both sides, built on Brawl Bots. If the dead win, they eat the cowboys; if the cowboys win, they set every last zombie alight. Part of the Precog sim suite.
Live: https://cowboys-vs-zombies.apps.precogsoftwareservices.com
Everything from Brawl Bots: the seven temperaments, the team plans, grades, weapons per side or per man (Colt, shotgun, rifle, lasso, knives, bottles), and the AI as editable rules. Against the dead they give ground and shoot - back off as one closes, lay the sight on the head when they have the time and the nerve, centre of mass when they haven't - and the 3 m no-shooting rule does not apply: you can put a slug in a zombie's face.
At 2:00 the living who are still standing hold out till dawn and win.
Zombies 37, Cowboys 43 over 80 after limbs came off (46% for the dead). About 85% of the dead put down go by the head; ~12 grips, ~12 bites and ~1 point-blank shot a match. Temperament matters: Balanced and Lawman hold the line best (about half), Brawlers about 40%, Sharpshooters and Desperados about a third, and Gunslingers (fanning the hammer: wild body shots) and Cowards (cowering) rarely survive. Wave is the strongest horde plan, Swarm and Surround about level.
Every match starts wide, the whole saloon in shot. Bottom right: pan (arrows, with Wide in the middle to put the whole map back), rotate, tilt and zoom - hold to keep going; Hide view controls tucks them away. Mouse: drag to orbit, right-drag (or shift-drag) to pan, wheel to zoom. Touch: one finger orbits, two pinch and pan. Keys: arrows/WASD pan, Q E rotate, R F tilt,
Team brain (scripts/team_brain.gd): a blackboard of every enemy seen or heard, counting every
shot (rush a man counted empty); a tactical map scoring every spot for cover, sight lines and the
angles that beat the enemy's cover; and a commander running one of seven plans - Adaptive, Dig In,
Rush, Pincer, High Ground, Leapfrog, Bait - with clock sense in the last 25 s.
Each man (scripts/gunman.gd): ten personality traits weight a utility score over the map,
blended with his orders by his discipline. He is always in a mode you can see over his head:
hold, advance, duck, hide, cower, flank, rush, fall back, brawl, hunt - and he walks the map his
legs allow: vaulting low cover and water, dropping off decks, leaping up onto them, climbing
ladders.
The rules (scripts/ai_script.gd) - the exposed AI. Each side can run a script, edited in the
app (Teams / tactics -> Edit AI rules), checked with line-numbered errors (with "did you mean"
for typos), saved in the browser. Type a few letters and it suggests what can go there - a
condition, a number, an action, a trait - with what it means (Tab or tap to take one); the word
under the cursor is explained; Add an example drops in a ready-made rule:
# first rule that holds (and can be done) wins; anything uncovered -> built-in brain
set caution 0.85
aim 1.25
when pinned -> hide for 2
when bleeding and bleed_secs < 15 -> rush nearest for 3
when enemy_reloading and nearest < 8 -> rush reloading
when super and stalemate -> flank
when melee and in_reach -> rush nearest
otherwise -> default
About 35 yes/no conditions (bleeding, pinned, aimed_at, enemy_reloading, high, edge, clinch, outnumbered,
super, melee, in_reach, has_bottle, near_bottle, ...), 14 numbers (hp, bleed_secs, ammo, nearest, time, diff, random, ...),
12 actions (hold, advance, hide, flank, rush nearest|weakest|reloading|high|aiming|melee,
fall back, take high, hunt, flip table, grab bottle, cower, default), set <trait> and aim <multiplier>.
Presets to start from: Careful hands, Wild bunch, High ground first, Ninja ambush, Supers lead
minions swarm, Last stand. Show intents prints which rule each man is following; the results
list how often each rule decided.
Query string = command line: ?living=6&ratio=2.5&horde=Wave&blue=Sharpshooter&speed=2,
?endtest=0 / ?endtest=1 (debug: the other side drops dead four seconds in, to see the ending),
?map=bamboo&redf=lotus&bluef=law&redn=2&redgrade=Super&bluen=5&bluegrade=Minion&intents=1,
?redscript=Ninja ambush, ?lineup=1, ?cam=10. Headless (Godot 4.4+):
godot --headless --path . -- --sim=20 --horde=Surround --living=5 --ratio=2 --blue=Lawman
godot --headless --path . -- --sim=20 --map=temple --redf=dragon --bluef=outlaws --redgrade=Super --redn=3 --bluen=8
godot --headless --path . -- --sim=20 --redscript=my.rules # a rules file
godot --headless --path . -- --league=5 [--pairs=Rush:Dig In] [--part=0/4]
godot --headless --path . -- --presets=5
bash build.sh (Godot 4.7.2 + web templates) exports to dist/, boot-checks the pack and gzips.
Dockerfile + nginx.conf serve it; headers.caddy adds COOP/COEP. Meshes and most sounds are
built in code; the voices are espeak-ng lines baked into sfx/voice/ by tools/make_voices.sh.