VRChatで動くボードゲームを作る

掲題の通り、VRChat 上で動作するボードゲームを先日公開した。自分自身の備忘録また同様の制作を行いたく情報を探している人向けの制作記録として機能することを願って作業記録を残すことにする。

ss


作るもの

Knucklebones(ナックルボーン)と呼ばれるボードゲームを作ることにした。本家はCult of the Lamb 作中に登場するゲームであり、今回の制作は非公式ファンアートの位置づけである。

サイコロを振って並べるという単純明快なルールでありながら、駆け引き要素がよくできたゲームである。(高得点を狙うほど、相手から一網打尽にされるリスクが上がっていく) もちろん、Knucklebones だけでなくゲーム自体の完成度もすばらしいのでぜひ遊んでみてほしい。

制作手順

おおよそ以下の手順で進めた。あくまでいち参考として見ていただけるとありがたい。

  1. ゲームシステム試作
  2. モデリング
  3. VCC 配布可能な Unity Project 作成
  4. モデルの Unity Setup
  5. ゲームロジック 実装
  6. 動作確認
  7. サンプルワールド作成
  8. 配布準備
Read more  ↩︎

Blog を作る

何度目かはわからないがまだ懲りずにテックブログを作った。 今年に入ってネット隠居やめつつあることや、技術以外の微妙なものの書き置き場所としては自分の置き場が欲しい背景がある...と、 新型コロナウイルス感染症になっている間にぐるぐる考えていて、ちょうどいま病み上がりの今机に座る練習がてら作ってみた。 まだ結構倦怠感があるのとおそらく後遺症ぽいがやたら疲れる。弊はリモートではないのでもう一日大事で休んだほうが良いかもしれない。

ここ数年はあまりアウトプットこそしていなかったが、技術私生活ともにまとめておきたい事柄はあるので、気を見てぼちぼち更新していきたい。

Raspberry PI PIO で NANDアクセスを高速化する

登壇する機会があったのでその際の資料。RP2040 に搭載されている Programmable IO を用いて、Parallel Command I/F である NAND IC へのアクセスを高速化検討した話。

rpi-pio-nand.pdf

資料は marp を使用して作成したので、以後は元になった資料の markdown 移植版

背景

最近 SSD 自作キット JISC-SSD で 時折放置してますが 遊んでいます。 途中まで C++で書いていましたが、気まぐれで Rust 再実装中...

RPi Pico: RP2040 Cortex-M0+ DualCore @133MHz NAND Flash: KIOXIA TC58NVG0S3HTA00 1Gbit SLC ECC なし

外観回路図抜粋RP2040 Block Diagram
width:400pxwidth:700pxwidth:600px
GPIO で NAND と直結
Read more  ↩︎

U# assembly definition が定義されていない旨のエラー対処

公開用に Packages/ 側で U# のアプリケーションを作っているときに、以下でビルドエラーになったのでの備忘録。

'/Packages/XXX/XXX.cs' does not belong to a U# assembly, have you made a U# assembly definition for the assembly the script is a part of?

エラーメッセージの通りで書き残すほどでもない気はするが、U# Assembly Definition についてあまり情報がなかったので書き残す

記事を書いている途中に公式ドキュメントを見つけました。 https://udonsharp.docs.vrchat.com/migration/#does-not-belong-to-u-assembly

Assembly Definition (asmdef) について

asmdef は定義済アセンブリを明示するための設定ファイル。

Unity C#で記述した Script がコンパイルされる際、 asmdef で定義を明示しない場合は Assembly-CSharp* にまとめられる。 自分の書いた Script とその他無関係の Script が同一のアセンブリにビルドされるため、クラス名の衝突であったりコンパイルの時間増加等の問題につながるため、特別な理由がなければ定義しておくほうが無難。

参考: 特殊フォルダーとスクリプトのコンパイル順 - Unity Documentation 2022.3

Read more  ↩︎