どこかのだれかへ

職業ゲームプログラマ。気になったニュースのピックアップや開発日記などを書いています。

プログラマライクな画像ビューアがほしい

ゲーム開発をやっていると画像ビューアは当然ながら日常的に使うわけですが、今のところ自分の条件を網羅したビューアがありません。

ないものはしょうがないので、プログラマらしく作ろうと思うので、とりあえずほしい機能を整理します。

  • プラグインによる対応フォーマットの追加
  • 画像の比較
  • カーソル下のRGB値の表示
  • 各チャンネルごとに表示
  • コマンドラインオプションの充実
  • コンバート機能
  • ミップマップ表示
  • 各フォーマットの設定ビュー
  • ディレクトリ内サムネイルビュー
  • サイズ等の特定条件に一致する画像の検索

とりあえず今思ったものを挙げてみました。 特に必須なのは「プラグインによる対応フォーマットの追加」です。

ゲーム開発ではプラットフォーム、エンジン、プロジェクト単位で独自フォーマットを使う場合があり、これを表示するために拡張は容易にしたいです。Susieプラグインというのがありますが、C#で拡張したいので選択肢にはありません。

ゲーム開発進めるとこういうちょっとしたやつが欲しくなって作り始めるとメインのゲーム開発が進まないんですよね……(プロ生ちゃん時報がその例の1つ)

あとはスクリプトで瞬時にフィルター処理を

コメント最後のドットとダメ文字

同じチームにコメントの最後にドットを付ける人がいて気になったので調べたんですが、これはダメ文字対策らしいです。
ShiftJISにおいて文字の2バイト目が制御文字(バックスラッシュとか)とかぶっていると、コンパイラがミスって想定外の動作になってしまう場合があります。

たとえば、C++で「// ○○機能」というコメントがあったとします。
"能"はダメ文字で、2バイト目が0x5cでバックスラッシュと認識されてしまいます。
C++でバックスラッシュは次の行も同じ行として扱われるので、次の行もコメント化されてしまいます。

たまにネタになる、「コメントを消すとバグる」という元ネタはこれの事なのかな?
そしてこのダメ文字問題対策の1つとして最後に必ずドット(.)を付けることで、次の行がコメントにならないようにしている、ようです。

ただ今はそんな小手先のテクニックは使わずに、ソースコードUTF-8化しろ!の一言で済むと思います。 僕が関わっているプロジェクトはソースコードUTF-8なのでダメ文字問題が発生することはありません。

ちなみにVC++の場合は、ダメ文字問題は発生しません。コンパイラが良い感じに解釈してくれているようです (VC++はデフォルトShifJISなのでそれでこの問題発生したら辛いですね)
試していませんが、gccとかだと発生するんですかね。

STLコンテナで使えるアロケータ

独自アロケータを作って、それをstd::vector内でのメモリ確保に独自アロケータを使用する方法に関して、記事を書きました。

STLコンテナで使えるアロケータ

もうこれでstd::string怖くない! (うちのアロケータは貧弱で小さいサイズのアロケートに弱いですが……)

PlayStation®VRが最新モデルで10月14日に発売

昨日、メールが飛んできてPlayStation®VRの最新モデル(CUH-ZVR)が10月14日に出ることを知りました。 もう発売から1年くらい経つんですね。

www.jp.playstation.com

新モデルでの変更点は

  • 価格がカメラ同梱版で44,980円になった
  • ヘッドセット後部にステレオヘッドホン端子を配置
  • 同梱ステレオヘッドホンを使うことで、ケーブル配線を一本化
  • ケーブルも細い1本のものになる
  • プロセッサーユニットがHDR映像のパススルーに対応

ちなみにケーブルが新しくなったので、旧式のヘッドセットと最新のプロセッサーユニットには互換性がないらしいです。

当時は僕も頑張って買おうと何度か店頭へ向かいましたが、並ぶ時間が早すぎる&抽選当たらないで熱が責めてしまった口です。
正直、今となっては買ってまでやりたいゲームがないので、買う気は一切無いです。
VR関係ってキラーコンテンツがないですよね。

そういえば、VR関係って内容に対して値段が高いイメージなんですが、 サマーレッスンのアリソン・スノウ版とか全部合わせたらフルプライス行くって本当に値段と内容釣り合っているか気になります。 まあ新プラットフォームだししょうがないのかな。

chronoライブラリで時間を計測する

c++11で追加されたchronoライブラリで時間計測する方法に関して書きました。

時間を取得、計測する

Visual Studioで.cppをデフォルトでUTF-8にする

記事追加しました! テンプレートファイルをいじる方法と拡張機能の2つの方法を紹介しています。
Visual Studioで.cppをデフォルトでUTF-8にする

C++カテゴリに入れるかは迷ったんですけど、まあC++関連だしとりあえずぶち込んだ次第。

台風の時に見るwebサイトたち

18号すごい!現時点で雨は止んでるんですけど、気象庁の情報を見る限り、東京は台風はまだ通過してません。
台風の目かな?と思いつつ、そのまま降らないパターンが多いわけですが、 これは、台風の位置じゃなく、以下のwebサイトで雨雲を確認することで把握することが出来ます。

雨雲の動き(実況) - 日本気象協会 tenki.jp

僕が住んでいるのは、東京23区で、今は雨が止んでいます。
で時間経過をみると雨雲は左から右に流れているので、もう1回強い雨が降りそうだな、でもそれ過ぎたらあとは弱い雨で終わりだなってのが分かります。 f:id:Tepp:20170918015835p:plain

さらに風に関しては、以下でリアルタイムの確認が出来ます。
デザイン的にも格好良くて見てて飽きない。これどうやって調べてるんだろ?あとレンダリング大変そう。

earth :: 地球の風、天気、海の状況地図

気象庁の台風上に合わせて、この2つを台風の時見ていると、状況の把握がしやすいです。