* 動機 [#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