エフアンダーバー

個人開発の記録

【Unity】 ECS まとめ(後編)

前編の続きです。 www.f-sp.com 旧アーキテクチャからの移行 変換プロセス GameObjectConversionSystem 補助メソッド システムグループ ConvertGameObjectToEntitySystem IDeclareReferencedPrefabs IConvertGameObjectToEntity LinkedEntityGroup Transform…

【Unity】 ECS まとめ(前編)

前にUnityのECSについて調べて記事を書きましたが、 おそらく今後しばらく使うことはないと思われるので、 忘れないうちに現状のUnity ECSについてまとめておくことにします。 www.f-sp.com ……という動機で記事を書き始めたのですが、 なんやかんやで片っ端…

メモ:すべてのプログラマに推奨される読み物

AmethystのForumに Recommended Reading for Any Programmer というトピックが挙がっていてて、いつか読まないと/学ばないといけないなと思っていたものがまとまっていたのでメモ。 書籍 メイン The Pragmatic Programmer: From Journeyman to Master 和訳…

【Unity】 ネイティブプラグインのリロード

Unityにてネイティブプラグインのリロードに苦労したのでメモ。 Windowsを想定した記事ですが、おそらく各OSに対応したAPIを叩けば他のOSでも同様のことはできるはず。 基本的に次の記事の内容をやってみたよ、という記事です。 qiita.com 自力でやることに…

クトゥルフTRPG Webアプリ 移転しました

クトゥルフTRPGツールβ版のドメインとサーバを移転したのでそのお知らせです。 www.f-sp.com 移転先 coc.f-sp.com 機能自体は特に変更ありません。 移転の理由 ざっくりと言うと、もともと使っていたサーバが使いづらかったため変えました。 ドメインはその…

【Unity】 『ECSだけしかいない世界』の補足 - ForEach -

前回記事の公開後、Twitter上でForEachについて少し議論があったので、 前回雑に流したあたりについてもう少し詳しく書くことにします。 www.f-sp.com ECS preview.30対応のコードに更新。 ForEachの問題点 ComponentSystemのForEachメソッドは直感的にはラ…

【Unity】 ECSだけしかいない世界

今更ながらUnityのECSについて学習したので、ECSで簡単なゲームを作ってみました。 巷ではECSが一種の高速化手法のように使われているサンプルが多いので、 ECSはアーキテクチャなんだぞ、ということを示すためにGameObjectとComponent禁止縛りで書くことに…

BabelによるTypeScriptの変換でハマる

クトゥルフTRPG ツールにてGooglebotのためにBabelを入れたので、 ついでにTypeScriptの変換もBabelに任せてしまおうと作業していたところ、 不可解な現象に悩まされたためメモ。 不可解な警告 Dexie.jsというIndexed DBのラッパーライブラリを用いて次のよ…

【Unity】 物理演算の基礎

Unityでアクションゲームを作る上で避けては通れないのが、 コライダー(Collider)やリジッドボディ(Rigidbody)といった物理演算コンポーネントの存在です。 特に物理的な挙動を再現したいわけではなくても、当たり判定に関する処理のためにはこれらが必要に…

クトゥルフTRPG Webアプリβ版の開発についてだらだらと

先日公開したクトゥルフTRPG Webアプリβ版の開発周りの話です。 アプリ紹介については過去記事を参照してください。 www.f-sp.com アプリ本体はこちら。 coc.f-sp.com はじめに アプリ開発の話、というと『こんな技術やあんな技術を組み合わせて素晴らしいシ…

クトゥルフTRPG Webアプリのβ版公開しました

クトゥルフ神話TRPGで遊ぶ際に必要なダイスロールやステータス管理をアシストするWebアプリのベータ版を公開しました。 Webアプリなのでブラウザでページを開くだけで使用できます。 また、インストールにも対応しているためモバイルアプリのようにも扱えま…

【JavaScript】`\0` ← ヌル文字 `\00` ← エラー

ヌル文字を表すと思っていた構文が実はヌル文字を表す構文じゃなかったという話。 コトのおこり 8進エスケープシーケンスとは? \0 はダメなのか? なぜ8進エスケープシーケンスはダメなのか? やはり \0 はダメなのか? 8進エスケープシーケンスの遺産 おわ…

【TypeScript】 Vuexもクラス形式で書きたい!!

vue-class-componentやvue-property-decorator、 vuex-classといったデコレータによるクラス形式のコンポーネント記述に感動したので、 Vuexもクラス形式で書けないかと仕組みを試作してみました。 ちなみにVuexの初心者も初心者、ほとんどドキュメントに目…

TypeScriptとVueのMixin

VueのMixinに関する(Webの世界では)一昔前の記事を読んでいて、 TypeScript 自体が Mixin 構文をサポートすればこのつらさもなくなるような気がしますが、 TypeScript 公式でこのめんどくさい Mixin のやり方を紹介しているので望みは薄いような気も……。 …

WebpackでTypeScriptのモジュール解決

TypeScriptのコンパイラオプションには baseUrl、paths、rootDirsといういくつかの特別なモジュール解決の設定があります。 しかし、これらはあくまでもTypeScriptコンパイラのための設定でWebpackやts-loaderはこれらを考慮してくれません。 そこで、Webpac…