yutopp's blog

サンドバッグになりたい

2019年振り返り

今年も振り返っていく。月ごとにまとめるの大変すぎるので思い出したことを記していく。

開発

C#、HLSL、Go、Rust、Elm、Haskell、HCL、OCaml を書いていたようだ。

C#HLSLは趣味Unityで。RustElmHaskellHCLは主に労働で。GoOCaml は趣味で。

趣味では3Dモデリングばかりしていたので、今年はあまり趣味コードを書いていないかも。来年はバランスを取りたい。

書いたコード

glTFのやつ

github.com

github.com

github.com

労働で使うつもりで書いていたライブラリ。UnityでglTFのimport/exportができる。

はじめてUnity向けのライブラリというのを書いたが、UnityはCircleCIなどでの自動テストがとにかく面倒でつらかった記憶がある。特にUnityEditorへの依存やライセンス周りの解決が(どうすればいいのだろう)。

そのため、Unityに依存する部分とそうでない部分を明確に切り分けて実装するなどの工夫を模索していたように思う。上記のコードはUnity依存がない部分はmsbuild.NET Coreでクロスプラットホームで手元のCLIからでもCIでも単体テストを回せるように書いているため、開発しやすかった。

一方未解決なのは、Unityのパッケージマネージャーが発展しておらず、.unitypackage丸コピーやgit submodule埋め込みしか個人が気軽に試せるパッケージ管理の方法がなさそうというのがある。上記の通り、自作ライブラリはスタンドアロンで開発できるようにパッケージはNuGetに乗せているので、https://github.com/GlitchEnzo/NuGetForUnity などを使ってNuGetパッケージをUnityに持ってくることができれば幸せになれるのかもしれない(知見のある方教えていただけると嬉しいです)。

(VVrmは放置してしまっているが…)それ以外は個人的にまあまあ使えているので満足。

アセンブラ

github.com

Linux上でセルフホストできるx86_64のアセンブラアセンブリで書いていた。現実逃避は最高や。楽しかった。

これ以降、このアセンブラで既存のツールチェインに依存しないスタンドアロンな自作言語やライブラリを作ろうとしていたのだけど、力尽きている…。

LSP Serverの実験

github.com

自作言語でLSPでコード補完をしたかった実験跡。LSPのプロトコルより、パーサーのエラー回復の実装に近づけてよかったという副産物がでかい。

同人誌

複数人で合同誌を2冊作った(宣伝)。サークル進捗大陸のメンバーにはいつも感謝しています。

shinchoku-tairiku.github.io

shinchoku-tairiku.github.io

これは毎年言っていますが、来年は締切に追われないようにする。

モデリング

2019年、とにかくモデリングとシェーダを書くなどしていた。

プリチャンというゲームのマイキャラ(自分で作れるやつ)を参考に作っていた(オタク)。

始めたのが5月。

ここまでで12月。

半年間いろいろやっていた…。大雑把に学べた内容としては、

  • blender
    • Python拡張の書き方
    • facial-rigでの制御
  • Unity
    • シェーダまわり
    • glTF
    • 3Dモデルのデータ構造

これは次回の技術書典あたりのネタにしようと思っています。

旅行・登山

いろいろ行ったけど書く前に年越しそうなので飛ばす。出かけるのは最高なので来年もいろいろ行きたい。

5月に転をした。もうしばらくは転したくない。

まとめ

一年に一度まとめると大変なので月一くらいでメモ取るようにするか。来年もよろしくおねがいします。