-
coreCore는 무엇인가
- coreCore는 Action-RPG 게임 제작 도구 및 엔진, 속성 편집기 형태로 비디오 게임을 작성하는 실험적인 방법임
- 간단한 컴포넌트 시스템을 사용하며, 컴포넌트는
[keyword value]형태의 clojure 벡터임 - 다양한 엔티티는 clojure 맵으로 구성됨
- 게임 내 부작용은
[:tx/foo param]와 같은 컴포넌트로 처리되며, 이는 datomic 구조와 유사함 - 전체 게임 상태는
app/state라는 하나의 atom에 저장되며, 엔티티도 메인 atom 내부의 atom으로 존재함 - 애플리케이션의 전체 내용은
resources/properties.edn에 저장되며, malli-schemas를 사용해 검증되고 GUI로 편집 가능함
-
스크린샷
-
개발 시작 방법
- 다음 명령어를 입력:
lein dev
- 애플리케이션이 시작되며 다음 작업도 수행됨:
- NREPL-서버 시작
- 애플리케이션 종료 시 (메인 메뉴에서 ESC), clojure.tools.namespace가 변경된 파일을 새로고침하고 앱을 재시작함
- 오류 발생 시 JVM을 재시작할 필요 없이 오류를 수정하고
dev-loop/restart!를 호출하면 됨 - VIM에서 F5 키에 다음 명령어를 바인딩하여 사용 가능:
nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))
- 다음 명령어를 입력:
-
코드 라이선스
- MIT 라이선스 하에 제공됨
-
자산 라이선스
- 사용된 자산은 독점적이며 오픈 소스가 아님
- 타일셋: https://winlu.itch.io/
- 생물, 아이템, 스킬 아이콘, FX 및 기타 자산: https://www.oryxdesignlab.com
- 커서: Leonid Deburger https://deburger.itch.io/
- 사용된 자산은 독점적이며 오픈 소스가 아님
GN⁺의 정리
- coreCore는 Action-RPG 게임을 쉽게 제작할 수 있는 도구로, 간단한 컴포넌트 시스템을 사용해 게임 상태를 관리함
- 전체 게임 상태를 하나의 atom에 저장하고, GUI를 통해 속성을 편집할 수 있어 개발자에게 유용함
- MIT 라이선스로 제공되지만, 사용된 자산은 독점적임
- 비슷한 기능을 가진 도구로는 RPG Maker, Unity 등이 있음