Skip to content

daekyuny/crobots-reboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CROBOTS Reboot

"C 코드로 로봇을 프로그래밍하고, 전장에 내보내라."

1985년 Tom Poindexter가 만든 고전 게임 CROBOTS의 웹 리부트입니다.
원작 그대로의 게임 엔진(C)을 WebAssembly로 컴파일해 브라우저에서 구동합니다.


어떤 게임인가요?

CROBOTS는 아케이드 게임이 아닙니다. 플레이어가 직접 조종하는 것은 없습니다.
여러분이 해야 할 일은 C 언어로 로봇의 전략을 프로그래밍하는 것입니다.

  • 작성한 .r 또는 .c 파일을 업로드하면 컴파일됩니다.
  • 두 로봇이 1000m × 1000m 전장에서 자율적으로 전투를 벌입니다.
  • 스캐너로 적을 탐지하고, 캐논을 발사하고, 드라이브로 이동합니다.
  • 먼저 데미지 100%가 되는 쪽이 패배합니다.

팀 배틀

2v2 또는 그 이상의 팀 전투를 지원합니다.

  • Safe 모드: 아군 미사일에 데미지를 받지 않습니다 (초보자 권장)
  • Competitive 모드: 아군 오사(friendly fire)도 실제 데미지를 입힙니다
  • friend() 함수로 스캔 대상이 아군인지 확인하여 오사를 방지할 수 있습니다

빠른 시작

  1. 로봇 파일 작성 — 확장자 .r 또는 .c인 C 소스 파일을 작성합니다
  2. 업로드 — 브라우저에서 두 슬롯에 각각 드롭하면 자동으로 컴파일됩니다
  3. Battle! — 두 로봇이 모두 ready 상태가 되면 전투를 시작합니다
  4. 리플레이 — 재생/일시정지, 배속, 스크럽으로 전투를 다시 봅니다

가장 단순한 로봇 (움직이기만 하는 연습용 타겟):

main()
{
  while(1) {
    drive(rand(360), 50);
  }
}

문서

문서 내용
로봇 언어 가이드 CROBOTS C 언어 문법, 제약사항, 연산자
내장 함수 레퍼런스 scan, cannon, drive 등 전체 함수 레퍼런스
배틀필드 메커니즘 좌표계, 이동, 미사일, 데미지 규칙
예제 로봇 분석 샘플 로봇 4종 코드 해설 및 전략 팁

배틀 모드

모드 설명
FFA (Free For All) 모든 로봇이 개별 전투. 최후의 1대가 승리
Team Safe 팀 배틀. 아군 미사일이 아군에게 데미지를 주지 않음
Team Competitive 팀 배틀. 아군 오사(friendly fire)도 실제 데미지

기술 스택

  • 게임 엔진: 원작 C 코드 → Emscripten → WebAssembly
  • 렌더링: Three.js (Orthographic 뷰, 네온 사이버펑크 스타일)
  • 프론트엔드: TypeScript + Vite, Web Worker로 엔진 격리

원작 대비 변경사항

원작 CROBOTS(1985)의 게임 엔진을 기반으로 하되, 다음을 추가/변경했습니다:

항목 원작 리부트
플랫폼 IBM-PC / DOS, curses 터미널 브라우저 (WebAssembly + Three.js)
로봇 수 최대 4대 (FFA) 최대 4대 (FFA + 팀 배틀)
팀 배틀 없음 Safe / Competitive 두 가지 모드
friend() 함수 없음 직전 scan() 대상이 아군인지 확인
교착 감지 없음 5,000 모션 사이클 무변화 시 자동 종료
리플레이 없음 프레임 녹화, 재생/배속/스크럽, JSON 저장
렌더링 curses 텍스트 Three.js 네온 사이버펑크 스타일

원작의 로봇 언어(C 서브셋), 물리 규칙, 내장 함수(scan, cannon, drive 등)는 그대로 유지됩니다. 원작용으로 작성된 .r 파일은 수정 없이 동작합니다.


원작에 대하여

원작 CROBOTS는 1985년 IBM-PC/DOS용으로 개발되었으며,
현재 GPLv2 라이선스로 공개되어 있습니다.
원작 소스코드와 매뉴얼은 original/에서 확인할 수 있습니다.

이 리부트 프로젝트도 동일하게 GPLv2를 따릅니다.

About

A modern web-based reboot of CROBOTS — write robots in C, watch them battle in real-time 3D

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors