-
coreCoreとは何か
- coreCoreは、Action-RPGゲーム制作ツール兼エンジンであり、プロパティエディタの形でビデオゲームを記述する実験的な方法である
- シンプルなコンポーネントシステムを使用し、コンポーネントは
[keyword value]形式のclojureベクタである
- さまざまなエンティティはclojureマップで構成される
- ゲーム内の副作用は
[:tx/foo param]のようなコンポーネントで処理され、これはdatomicの構造に似ている
- ゲーム全体の状態は
app/stateという1つのatomに保存され、エンティティもメインatom内部のatomとして存在する
- アプリケーション全体の内容は
resources/properties.ednに保存され、malli-schemasを使って検証され、GUIで編集可能である
-
スクリーンショット
-
開発の始め方
- 次のコマンドを入力:
- アプリケーションが起動し、次の作業も実行される:
- NREPLサーバーを起動
- アプリケーション終了時(メインメニューでESC)、clojure.tools.namespaceが変更されたファイルをリロードし、アプリを再起動する
- エラー発生時はJVMを再起動する必要はなく、エラーを修正して
dev-loop/restart!を呼び出せばよい
- VIMでF5キーに次のコマンドをバインドして使用可能:
nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))
-
コードライセンス
-
アセットライセンス
- 使用されているアセットは独占的なものであり、オープンソースではない
GN⁺の要約
- coreCoreはAction-RPGゲームを簡単に制作できるツールで、シンプルなコンポーネントシステムを使ってゲーム状態を管理する
- ゲーム全体の状態を1つのatomに保存し、GUIを通じてプロパティを編集できるため、開発者にとって有用である
- MITライセンスで提供されるが、使用されているアセットは独占的である
- 類似の機能を持つツールとしては、RPG MakerやUnityなどがある
1件のコメント
Hacker Newsのコメント
さまざまなゲーム開発アプローチを見るのは興味深い
この GitHub プロジェクトはゲーム開発者にとっては滑稽
ゲーム開発を単純化できると主張しているが、多くの用語を使っている
このプロジェクトは失敗しているように見える
ドキュメントがほとんどないこのリポジトリが多くの会話を生み出している
「ゲームを作りたい」という話が、ゲームエンジンを作ることに変わってしまう例をよく見る
Clojure は大好きだが、不変データ構造を持つ関数型言語がゲーム開発に向いているのか疑問
ゲーム状態が 1 つのアトムに保存され、エンティティがその中にさらにアトムとして保存されている
「ゲームエンジンにかかった時間/複雑さ」vs「作られたゲームの複雑さ/面白さ」のデータを分析すると面白そう
Unreal Engine 4 で動く商用ゲーム制作プラットフォームの Core はすでに存在する