一ヶ月前に 2026年の目標を立てたばかりだったけれど、ここ数日でOdin言語を始めたために、見える世界が180度近く変わってしまったので、目標を立て直してみることにする。

目標というか、やりたいことリスト。自分は昔から、良い楽器とか良いものに触れるとインスピレーションがいろいろ勝手に湧いて溢れるので、今のうちにメモしておきたい。

作りたいものリスト

  • GUIライブラリ・アプリケーション
    • odin-libuiを作ったことでできた
    • pinkarrowsのようなソフトとか、ちょっとしたソフト作るときに良さそう。何作るかはアイディアが出たときに。
  • OSCライブラリ
  • VST3 / AU
    • → どうやら vst3_odin等、やれる方法はあるっぽい。
  • OSとか作りたい
    • → やり方はさっぱりわかんないけど、昔OS作る本とかあったのでそれをCではなくOdinでやりたい。
  • ボクセルエンジン作ってみたい
    • → 動画等では定番。ベースとして sokol などの描画基盤を揃えたい。個人的にはBGFX (bgfx-odin等) で書きたい気もするけど、シェーダ言語は好きなもの使いたいなと思うので、そう思うと RavEngineあたりにバインディングする手はある気もしつつ、C++とうまく繋げるのかはよくわからないのでCの代替を見つけても良いかもしれない。
  • Raylibでとりあえず遊ぶ
    • https://www.youtube.com/watch?v=UoAsDlUwjy0 とか見ながらぼちぼち。Raylib自体はOdin関係なくいろいろ使っていたので、もっと遊びたい。
    • とりあえずテトリス作ってみたり etc。
  • SDL3 GPU やりたい
    • Vulkanやるよりマシかなと思ったり。
  • DX12 / Metal やりたい
    • RavEngineがベースとしている RGLがMetalライクなAPIになっているとのことで、書いていて楽しいのではないかと思う。とにかくVulkanだけは書きたくなくて、とはいえLinuxやAndroidを切り捨てるわけにはいかないための苦肉の策って感じ。まぁ切り捨ててもどうにかなる気はする(OpenGLへのフォールバックはしなければならないケースはあるだろうし。)
  • Sokolやりたい
    • Delve Frameworkっぽいものを作ったり、あるいは gg っぽいものを作ったり。ゆくゆくは以前自作した cc4vをOdin化したい。
  • GVVideoを移植したい (★ → 次やる)
    • v_gvvideoをOdin化したい。が、V言語の場合はgg/Sokolに割り切ることができたが、その点が問題。とはいえ、go-gv-video のときと同じように、とりあえずテクスチャデータだけ取り出せればなんとかなるので、これが真っ先にやるべきことかも。
  • OpenFrameworks呼びたい
    • Nimでもやりたいことなのだけれど、OpenFrameworks呼べるようにすると何かいいことがありそうな気がして、とりあえずやりたい。addonも呼べるとなお良いけど、とりあえずミニマムなところからやろうかな。
    • 関連して、Bevyなんかを呼べるようにするともっといいのかなと思うけど、Odinにもwgpuあるし、sokolもあるし、オーバースペックかもしれない。
  • odin-godot 試したい
    • GodotでOdinがどれくらい書けるのか知りたい。
  • NimForUE 的な何かやりたい
    • C++とOdinはそんなに近い存在ではないものの、基盤としてUEはやはり魅力的なので、何かしらinteropできる方法がないか探りたい。何もなければNimとの連携か?
  • JSやWASM試したい
    • やっぱWebは外せないのかなと思うので、Odinのjsコンパイルがどれだけ動くかや、bevyのようなwasmターゲットについて調べておきたい。sokolあたりは動きそうに思うし、Orcaもどっかで試したいな。
  • OdinでCGI動かしたい
    • 前にRust/CGIでレンタルサーバ上でも動かせるGit LFSサーバを書いて、体感的にPHP版より数十倍はレスポンスやトータルの動作が高速だったので、Odinでも同じようなものを作っていきたい。
      • このときはRustでないと古いレンタルサーバでは動かないと思っていたけれど、muslで動かす方法がわかったので、大丈夫。動的リンクがあるときも大丈夫なのかは検証がいるかもしれない。
    • とりあえずまずはCGIライブラリを探すか作るかしなければ。
  • Go連携の方法知りたい
    • ebitengineとか、kaijuとか、Go資産にはいいものがいっぱいあるので、もし連動できる方法があったら知りたい。
    • 同じくRust連携も知識として知っておきたい。
  • SuperCollider呼びたい
    • 単にスパコが好きなだけ。VST3/AUやりたいのと同じ動機ではありつつ、前にC/C++にsclangとかscserverを埋め込もうとしたら案外大変で、似た音声処理言語で誤魔化した覚えがある。
    • そういや脱線するけど この動画みたいにstrudelで遊びたいなとも思ってる。strudelみたいなことはOdinでもできそうだけど、Odinの場合メソッドチェインにちょっと限界があるのかもしれない。(structと関数ポインタ使えば一応できる?)
  • 本とか書きたい
    • 単純に解説書とかが少ないなっていうそれだけ。勉強会とかもやりたいな。Zennに本を作る機能があった気がするので、Zennは前にアカウント消しちゃったけど、作り直すっていう手もあるし、単純に今のこのブログに書き溜めていくっていう手もあるかも。(そっちのほうが気楽でいいかな?)
  • SIMD使いたい
    • Odinは公式でcore:simdが使えるっぽい。SIMDは前にGoでGV実装したときに、いざというとき必須だなと思っていたので、やり方知っておきたい。Odinはシェーダライクな処理が得意なイメージがあるので、SIMDももしかすると標準的に使える何か工夫があるかもしれないので調べてみる。

このエントリーをはてなブックマークに追加follow us in feedly