teslawire

ファイル更新に耐性のあるテキストタグ手法を考える

コンパイラの警告やシナリオのコメント、クラッシュレポートの処理等、"行の特定位置にタグを振りファイルが更新されても追跡したい"という需要がそれなりにある。...需要自体は有るんだけど、実装がバラバラになってしまっているので、ちゃんとモデル化し、…

Subversion、MercurialとGitのセマンティクス差をどう埋めるか

ゲームのビルド環境には未だにSubversionやMercurialからインポートしているリポジトリがいくつか存在している(Perforceはついに撲滅に成功した)。しかし、細かいインフラを作っていく中でVCSはできれば統一したい。VCS毎にUIとかいくつも作っていられないか…

ビルドログ保持/分析ポリシのメモ

軽い気持ちで考えてたけどコレ意外と難しいぞ。。 やりたいこと "コンパイラ警告が出現したコミットをO(1)で特定する" → 全リビジョンをビルドしてコンパイラ警告を保存しておき、行番号情報を除いた上でそのblameを取る しかし、現状の開発はGitでやってい…

nginxとLassoを使ってサイトをOpenID Connect(Auth0)で保護する

試験的にQiita版: https://qiita.com/okuoku/items/51e12289061ade156107 ★ 注: Lasso自体はあんまりプロダクションに向いていない印象を受けた。全く同じことはoauth2_proxyでも可能で、oauth2_proxyのforkもいくつかあるので、そちらを検討する方が良い気…

各種オーディオエンジンの調査

ゲームで使うオーディオエンジンのポータビリティを高めるために、WebAudioのCバインディングを考えて、その移植レイヤを各種オーディオエンジンに対して実装するのが良いような気がしている。 ...というよりは、固定機能で実現されることが多いOpenALのオー…

ゲーム向けファイルシステムの設計の難しさ

ゲーム向けのファイルシステム抽象化は近年超クッソ激烈に複雑化しており、大分手を付けられない問題になってきた。 ゲーム配布/ストレージ様式の変化 ...とにかく歴史的に様々な方式が使用されている。例えば、ゲームを発売後パッチするにはHDDやSSDのよう…

Irrlicht EngineをXbox OneのUWPに移植してみた

prev: http://d.hatena.ne.jp/mjt/20160421/p1 CMakeでXboxOneのUWPアプリを作る prev: http://d.hatena.ne.jp/mjt/20170820/p1 ANGLEによるOpenGL ESを静的リンクしてXboxOneで使う prev: http://d.hatena.ne.jp/mjt/20150415/p1 モコモコフレンズの3Dモデ…

シェルスクリプトでゲーム制作は可能か? - タイマ編

現状の結論: Bashじゃないと無理 シェルスクリプトでゲームを作る試みはいくつか有る。例えば、ChessbashはBashで書かれたチェスプログラムで、Unicodeを使って視認性の高い盤面を出力し、ある程度の"実用性"も確保している https://github.com/thelazt/ches…

KeycloakとGitBucketとRocketChatをリバースプロクシ以下に置いて認証させる

ちょっと諸般の事情で製作中のゲーム(teslawire)で使うゲームサーバのコンポーネントを可能な限り既製品で構成することになった。 元々はゲームAPIサーバと自前のOpenID Connect認証ブローカーで済ませるつもりだったのが、既存の企画を生かしたまま既製品を…

ビルドトレースツールの制作 の1 - 準備

諸般の事情でnmosh製のビルドトレースツールをネイティブコードで書き直すことにした。週に10万回と起動されるツールなので、オーバーヘッドと安定性がそろそろ気になってきた。 ビルドトレースとは何か? ビルドトレースとは、要するに"プロダクトのビルド…

ANGLEによるOpenGL ESを静的リンクしてXboxOneで使う

- WinRT上でGLES版のSDL renderを使っているところ 従来のANGLE(GoogleによるOpenGL ES2/3実装)は基本的にDLLでないと使用できず、MSによる配布でもDLLを使っていた。が、実は今年に入ってからANGLE側に変更が入り、静的リンクできるようになっている。 http…

Windows 10 Creators UpdateとWindows Sonic立体音響の統合

現在配信中のWindows 10 Creators Updateでは、WindowsのオブジェクトベースオーディオであるWindows Sonicが統合され、スピーカーアイコンの右クリックという超一等地に"立体音響"のメニューを追加している。 今のところ、ヘッドホンではWindows標準のHRTF…

リモコンでの操作体系を考える会

前回: http://d.hatena.ne.jp/mjt/20150926/p1 ゲームプラットフォームとしてのスマートTV 現状"テレビに映るゲーム"を考える上で、リモコンを使用した操作体系を考えておく必要がある。...営業的な意味では、ゲームを買う層はゲームパッドも用意しているは…

SHIELD Stories が興味深い の2

前回から1年程経過したので ( http://d.hatena.ne.jp/mjt/20151123/p1 )。 去年から見て重要な違いは: Nintendo SWITCHがほぼSHIELD TVと同スペックで登場した。パフォーマンスに関する考察が同様に適用できる。 逆にNVIDIAはShieldコンソールをほとんど止め…

Amazon Fireタブレット(2015) でMali Graphics Debuggerする

Maliなデバイスを入れ替。普通にAmazonで購入。標準のカバーは何故かかなり高価だが、横と縦の両方で立てることができる。ただしフタを閉じても自動でスリープにならない。 UIはAndroid標準のものにかなり近付いた。個人的には旧Kindle Fire時代のスライダー…

CMakeでAndroidアプリを作る

https://github.com/okuoku/grpcore0 リポジトリ http://d.hatena.ne.jp/mjt/20160421/p1 前々回(XboxOne) http://d.hatena.ne.jp/mjt/20160511/p1 前回(EmscriptenによるJavaScript) Androidは基本的に全てのアプリは何らかのJavaクラスでなければならない…

CMakeでemscriptenアプリを作る

http://d.hatena.ne.jp/mjt/20160421/p1 前回(XboxOne) https://github.com/okuoku/grpcore0 リポジトリ 前回のXboxOneに引き続き、今度は同じコードをEmscriptenでビルドしてみた。EmscriptenはC/C++コードをJavaScriptやasm.jsにコンパイルするコンパイラ…

CMakeでXboxOneのUWPアプリを作る

https://msdn.microsoft.com/en-us/windows/uwp/xbox-apps/index 公式 https://github.com/okuoku/grpcore0/tree/383e2bfcb5461b247ed272c74c5742ef3c62a81f 今回用意したサンプル: 1000個の矩形をSDL2のRenderを使ってランダムに書くだけ - GPUデバッガを使…

BASIC/簡易言語によるScheme実装を考える会

追記: 図のコメントが間違ってたので修正 teslawireではゲームロジックの記述は基本的にSchemeで行おうと思っている。というのは、ネイティブコードを受け付けない2Dゲームエンジン、要するに HSP3 (の、HSP3Dish) プチコン3号 GameMaker (の、HTML5/JavaScr…

Amazon FireTV stick

というわけで事実上キャリアバインドの無い端末を全部揃えてしまった(WiiU以外)。。 http://d.hatena.ne.jp/mjt/20150923/p1 Nexus Player http://d.hatena.ne.jp/mjt/20151103/p1 AppleTV gen4 http://d.hatena.ne.jp/mjt/20151210/p1 FireTV gen2(箱型) Fi…

Amazon FireTV(gen2)とfireTVゲームコントローラ

http://amazon.co.jp/firetvsupport 公式のサポートサイト というわけで手元にメジャーどころは全て揃った。 http://d.hatena.ne.jp/mjt/20150923/p1 Nexus Player http://d.hatena.ne.jp/mjt/20151103/p1 AppleTV gen4 Amazon FireTVはAmazonのSTBで、特に…

ロックオンアニメーションのメモ

ロックオンに位置強調のためのアニメーションが付くのはゲーム固有と言える。例えば、エクスプローラやFinder等でアイコンを選択しても選択したアイコンを強調するためのアニメーションは無い。これは、通常のシチュエーションでは選択動作と選択が有効にな…

SHIELD Stories が興味深い

NVIDIAはいくつかのゲームの移植感想記事を公開している。これの内容が絶妙に興味深い。 https://developer.nvidia.com/taxonomy/term/510 blogのカテゴリページ iOSとかXbox、PSのようなプラットフォームだとなかなか移植記が話題になりづらい気もするが、…

ゲーム機ブラウザの機能性のメモ

- about: URLで出る謎の猫 例えばPlayboxie( http://playboxie.com/ )のようなサイトではゲーム機ブラウザ向けのゲームを集めてリンクを提供している。 先日( http://d.hatena.ne.jp/mjt/20151115/p2 )書いたようにXboxOneはほぼ完全なEdgeブラウザを搭載し…

OpenAL SoftでAmbisonicsがサポートされる

http://openal.org/pipermail/openal/2015-November/000453.html MLでの告知 OpenAL Soft 1.17が公開され、AL_EXT_BFORMAT のサポートが追加された。これは4chの1st order ambisonicを再生できるもので、他のステレオ等マルチチャンネルソース同様に処理され…

S式サブセットとそのリーダを考える会

ここ3ヶ月くらい殆どnmosh関連の開発ができていないが、そろそろゲーム(teslawire)作りの方がコーディングに戻ってくるので。。 teslawireでは、細かいコンフィグやシナリオ上のスクリプトデータをS式で表現する - メモリの都合でリリース時には専用のバイナ…

AppleTV gen4

Nexus Player: http://d.hatena.ne.jp/mjt/20150923/p1 というわけでAppleTV gen4も購入。 http://av.watch.impress.co.jp/docs/series/rt/20151029_727983.html 進化したApple TVを試す。モダンOS化で劇的に使いやすく http://www.phileweb.com/review/arti…

"3Dサラウンド"音楽作品のオーサリング

prev: http://d.hatena.ne.jp/mjt/20150407/p1 - BGMとサラウンド AV watchに"3Dサラウンド"オーサリングについての記事が載っていた。ここでの"3D"とは高さ方向のことで、平たく言えばDolby Pro Logic IIz相当のフロントハイトを想定した音源ということにな…

ゲームプラットフォームとしてのスマートTV

というわけで日本でもスマートTVプラットフォームが出揃うことになった(Roku以外)。当然全部買ってコードを書いてみるつもりだが、現状提供されているAPIやUIはかなり均質化しているのでプラットフォームを揃える必要性は今のところあまり感じていない。 "オ…

Nexus Player

追記: Fire TVは日本発売が決まった。 http://www.google.co.jp/intl/ja_jp/nexus/player/ 公式サイト これからAppleTV gen4も出るのでSTBは揃えておこう計画。Nexus PlayerはPowerVR シリーズ6を採用しているが、AppleTV gen4のA8よりは一世代古い。そのか…