さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

【Unity】でもDeflate圧縮を使いたい

(たぶん).Netのバージョンが上がったので、UnityでもDeflate圧縮を使えるようになった。というわけでbyte[]を圧縮/伸長するためのコード。世のサンプルコードはFileStream経由ばかりなのでそのままだと使いづらいんよね。

 用途としては主にセーブデータなんかに使う。byte配列を(1)圧縮して(2)暗号化して(3)ファイル保存するイメージ。特に元がjson文字列の場合は圧縮がききやすいのでファイルサイズは1/5以下ぐらいになる。

コード

gist.github.com

デジゲー博おつかれさまでした

 という感じでつつがなく終了。

 Switch版の試遊なんてのは置いてありましたが特に頒布物として新しいものはないので、言うなれば気の抜けたスペースでした。許せ。そういうこともある。

 今回のイベント参加、というか上京の主目的としては茹でピーさん(MSTのイラストレーターの人だ)と色々話をですね、した。裏で何か進んでるってことさ。この辺は冬コミでなんか出せるかもしれない。何もないかもしれない。

冬コミ

 そうそう、スペースいただきました。日曜東チ18a。

ダウンロードランキング

 週間で9位だったらしいです。まだ実感がよく分からないというか、騙されてるんじゃないか感がある。いや、本当にありがとうございます。いずれ何かしらお返しできると信じて。

topics.nintendo.co.jp

f:id:enuenupi:20181106232528p:plain

デジゲー博のこととか

再掲ですが、まずはデジゲー博のことです。

デジゲー博 | 同人&インディーゲームオンリー展示・即売会

日付 : 11/4  
配置 : B-04a  
やるもの :  
 MSTのSteamカード頒布。夏コミと同じやつ。1000円。  
 Switch版の展示/試遊  

 という感じ。とくに新しいものが出るわけじゃあないです。Steamカードはお得ですね。

Steamハロウィンセール

ちょっとだけうちのもセールになってます。

store.steampowered.com

store.steampowered.com

Switchダウンロードランキング

 20位に入りました! とりあえず記念スクショじゃい!

f:id:enuenupi:20181101034407p:plain

Twitter

10/25にSwitch版がリリースされます!

f:id:enuenupi:20181017145319j:plain

 というわけで、Switch版リリースのお知らせ、そして記念イラストです。カワイイヤッター!

購入ページ

ec.nintendo.com

Twitter

 リツイートしよう!

動画

 Switch版リリースにあたって、新しく動画も作った。

www.youtube.com

【Unity】NativeList自作

概要

 NativeArray、ECSやJobSystemとセットで紹介されることが多いけど、普通の配列との違いとしてGCに負担をかけないので、使えるところは積極的に使っていけばよさげ。

 そうすると可変長となるNativeListも欲しい。が、未実装。てなわけでここでは最小限のものを自分で作ることにする。正式にリリースされたら差し替えよう。

コード

 さしあたりAddClearとインデクサとイテレータがあれば役には立つだろ、という感じでやった。
 (あまり気の利いた機能をつけるとあとで正式版に差し替えるとき面倒が起こりかねねーな、という逃げの姿勢でもある)

 GC軽減を目的とするためにクラスではなく構造体なんだけど、これだとコピーした際に配列を共有したままCountがずれることがあり得るのでちょっと気を付ける必要がある。まあ、メソッド内で使い捨てる作業用バッファとかに使うなら安全なんじゃないでしょうか。

 Unity2018.2.8f1

gist.github.com

ちなみに

 T where : structと書かれているけど、構造体であれば使えるわけではない。

 どうやら構造体のメンバに参照型が含まれてるとダメっぽくて、実行時にnot blittableだかエラーが出る。