* 動機 [#nc41e2af]
UnityでClojureを使って自分言語で操作したいと思った。
* Arcadiaとは [#l07434c0]
Unityが金儲けに走る前に、Unityを信じた人たちがClojureでも開発できるように作った仕組み。
Unityが金儲けライセンスでごちゃごちゃやったせいで、開発者の信頼を失い。開発者たちは
ArcadiaGodotに流れていった。(Unityの経営者もったいないことしたなぁ。10年間、このコミュニティの人Unityに帰ってきてないぞ。。。おそるべし、コミュニティの結束)
** Arcadia GithubリポジトリをForkして、自分用にメンテしている人 [#b5f312ce]
https://github.com/benjamin-asdf/Arcadia
*** この人のブログ [#d370c63f]
https://benjamin-schwerdtner.de/
*** 雇うこともできる!? [#bf0ff3a0]
https://www.linkedin.com/in/benjamin-schwerdtner-4987a1140/
** ArcadiaGodot [#z2c50640]
こちらも数年まえから活発ではなくなってきたのか?
https://github.com/arcadia-unity/ArcadiaGodot
他の候補としては、 janet と jaylibというものがあるらしい。
https://github.com/arcadia-unity/Arcadia
** Arcadia 0.1 Setup [#s32ded76]
https://www.youtube.com/watch?v=KLq9b9lDmkc
この動画での設定がAPIの設定項目で.NET2.0を選べとあるんですが、
今は、.NET2.1とかなので大丈夫なんだろうか?
ちなみに、Unityで
[編集]-[プロジェクト設定]-[プレーヤー]-[解像度と表示]-[解像度]-[バックグラウンドで実行*]にチェックを入れる
[編集]-[プロジェクト設定]-[プレーヤー]-[その他の設定]-[設定]-[API互換性レベル]を合わせる必要があるんだが、動画の説明よりも後のバージョンになっているのが気になる。
もしかしてこれのせいで衰退していったとか!?
ソースコードを見てみると、以下のコードで、
Editor\ArcadiaProjectInitialization.cs
の24行目で、
if (PlayerSettings.GetApiCompatibilityLevel(BuildTargetGroup.Standalone) != ApiCompatibilityLevel.NET_4_6)
とあり、.NET4.6での動作をすることを期待する作りになっていたようだ。
おそらくこの時にUnityの経営者が、いきなり、金とるよ!とかいいだして、開発者の反感を買って、それっきりメンテナンスされなくなったのだろう。
一応Githubにこの課題を挙げておいた。以下に示すJanetが、ゲーム作りに有効!?
** その他紹介動画 [#p852a2b9]
https://www.youtube.com/watch?v=tBvNIJzlWEI
* janet [#wf486ede]
数カ月前までは、メンテが続いていたようだ。
https://janet-lang.org/
https://github.com/janet-lang/janet
この言語にarcadia勢が、流れてきていたのか?
* jaylib [#x2f381b9]
** jaylib [#x2f381b9]
https://github.com/janet-lang/jaylib
メンテが数日前だ。これが一番ホットなのかも?
https://github.com/raysan5/raylib
* その他の候補 [#cd3d2bf3]
** ChipLisp [#sdd3d09f]
LuaのようなC#に埋め込む用のLisp
https://github.com/zacx-z/ChipLisp
** L# [#o24c1b8a]
L#(L Sharp)は、.NETフレームワーク上で動作するLispライクなプログラミング言語です。この言語は、特にゲーム開発においてUnity3Dプロジェクトのために設計されました。
https://github.com/paladin-t/l_sharp