before C84

またしてもギリギリの告知になってしまいましたが、C84 版 atomic はこんな仕上がりになりました。開発中バージョンにつき 100 円、いつも通りソースコードも同梱です。3日目東ホ-44b primitive。 書き残しておきたい開発記録なんかもいくつかあるのですが、…

photo

雷を撮る、という趣味写真屋としての目標が達成できた一枚。雷雲が接近中だけどまだ雨は降ってきていない、という理想の状況に遭遇し、シャッター時間を限界まで長くして暴風の中雷が落ちそうな方向を 1 時間近く延々撮りまくっていました。 最近 α550 中古…

function hooking

ここ数ヶ月でいろんな関数 hook を試したのでメモ。Windows でしか試していませんが、x86/64 であれば他のプラットフォームでも同等のことができるはずです。 関数 hook と dll injection は解析/デバッグツールやら動画キャプチャツールの類を作るための基…

WebController

WebControllerブラウザからゲームを操作するツールをしばらく前に作りました。主にモバイル機器から Wii U コントローラ的にゲームを操作するのを目的としたものです。 上の動画は Nexus7 から REVOLVER360 RE:ACTOR (C83) を遠隔操作しているところ。見ての…

generic function call

サイト本体では既に告知していますが、コミケ受かりました。スペースは 3日目東ホ-44b primitive です。 予定より大きく遅れていますが、前回よりは色々進歩したものを出せる予定です。 最近の状況。 それっぽく動く水車、raymarching による背景、以前 書い…

DynamicPatcher - Runtime C++ Editing

[2013/12/25 追記] この DynamicPatcher をさらに改良し、Visual Studio のアドインとして実装した Alcantarea をリリースしましたDynamicObjLoader を改良し、実用に耐えそうな実行時 C++ コード編集機能を実装しました。 C++ コードを編集してそれをリアル…

WebDebugMenu

ゲーム屋の間ではおなじみのデバッグメニューをブラウザで実装してみました。 WebDebugMenuデバッグメニューとは、変数や関数を事前に登録しておき、後でメニューから値を書き換えたり関数を呼んだりできるようにする代物で、周囲の人間の話を聞くにコンソー…

experimental codes

最近書いた雑多な実験コードのまとめ。 ・GetThisOfCaller() 現在の関数の呼び出し元がメンバ関数であればその this を返すというもの。 スタックフレームをさかのぼり、デバッグ情報を使って該当スコープの変数を巡回して this が見つかればそれを返す、と…

eval() in C++

しばらく前にやったことですが、ネタとして面白い気がするのでサルベージ。DynamicObjLoader を使って C++ で eval() を実装しました。 C++er が夢に見たり見なかったりしたこういうコードが動きます。 #include "DynamicObjLoader.h" class Hoge { public: …

memory leak buster (2)

以前作ったメモリリーク検出器がとても役立っていて、今も機能追加を加えつつ使っています。 最近大きな改良を加えたので再掲。 MemoryLeakBuster実行時にイミディエイトウィンドウから呼ぶデバッグ機能を追加したのが主な変更で、以下のようなことができる…

implementing level editor by HTML

レベルエディタを実装中です。 今は DyncmicObjLoader があるので全部 C++ でレベル (ステージ) を書くのも十分アリなんですが、それとは別に、レベルエディタ的なものを実装してそれをゲームの一要素にしたいと考えています。 exception conflict が、サー…

retrospect 2012

2012 年は例年にはないくらい得たもの、考えさせられたことが多い年でした。 仕事 仕事では主に Agni's Philosophy に携わっていました。ゲーム屋はもっと自分の仕事を自慢した方がいいんじゃね?とこの頃よく思います。 個人間で切磋琢磨している感じが薄い…

atomic C83 preview +

コミケお疲れ様でした。ブースに足を運んでいただいた方々、ありがとうございました。 事前の告知通り、コミケ版に若干手を加えたものを公開します。atomic C83 preview + (コミケ版にはたまに数秒止まったり BGM が途切れたりするなどのバグがありましたが…

C83

告知がとても遅くなりましたが、冬コミ出展します。 スペースは 31日 東 X-14a です。このところ色々ダメダメで、約 1 年前のこの状態からほとんど変わってないものしか出せそうにないです。 とりあえず CUDA 使うのやめて割とポータブルに動作するようにな…

glSpriteFont

OpenGL でスプライトフォントを描画するライブラリをしばらく前に作りました。 (スプライトフォント: 事前に使う文字を 1 枚のテクスチャにしておき、quad に切り出してに描く方法) FTGL はもはや古すぎるし大げさすぎるので、機能は必要最小限で、レガシー…

views from shinjuku

誰得写真群。 最近新宿の街に愛着が沸き始めていて困ります。

dynamic obj loader (2)

いくつかのバグフィックスや機能追加を経て、以前の記事で紹介した ispc による衝突計算モジュールもリロードも可能になりました。ispc も .obj を吐くのでリロード可能なわけです。 あと無駄に .lib にも対応しました (とりあえず static link 版のみ)。 以…

dynamic obj loader

[2013/06/06 追記] DynamicObjLoader の後継として DynamicPatcher が作られました。こちらの方がより強力です。.obj ファイルを実行時にロードして自力でリンクを行い、中にある関数を実行できるようにする、という代物を作ってみました。 https://github.c…

memory leak buster

VisualC++ のデバッグ版 CRT (C 標準ライブラリ) にはメモリリーク検出機能が備わっています。(参考) しかし、これが出してくれる情報は、どのアドレスで何 byte リークしてますよ、というだけでデバッグの助けにはあまりなりません。 これがものすごく不満…

Intel ISPC & SPH on CPU

コミケに参加した方々、お疲れ様でした。 サイトの方では告知し忘れていましたが (…) 今回は落選でした。次回の冬コミは既に申し込み済みで、受かれば参加します。牛歩の歩みですが、来年 5 月までには何らかの形で完成した作品を出すつもりです。 前回の冬…

scribble code

twitter に書いていたネタのサルベージ。 LazyD3DDeviceContext https://github.com/i-saint/LazyD3D11DeviceContext/blob/master/LazyD3D11DeviceContext.h D3D11 はどんな些細な render state の変更も馬鹿正直に逐次ドライバの命令を呼びに行くらしく、例…

exception is open-sourced

exception と exception conflict のソースを github で公開しました。 https://github.com/i-saint/exception https://github.com/i-saint/exception_conflict (conflict は元々ソース同梱でフリー公開ですが。あと、リソースは同梱していないので、excepti…

Hooking Direct3D11

Direct3D は、デバッグビルドの場合、終了時に解放されていない ID3D* 系オブジェクトがあるとその旨を警告してくれます。しかし、その時出してくれる情報は、どの class にいくつ開放漏れがあります、というだけでデバッグの助けにはあまりなりません。 こ…

Screen Space Fake Omnidirectional Shadow

deferred shading なら、光源位置→ピクセル位置に向かってレイを飛ばして、途中の位置バッファの Z がレイより手前の箇所があったらライティング処理中断すれば、ポストエフェクトで超高速に影を出せるんじゃね?と思いついてやってみた図。 光源位置→ピクセ…

shading blood

SPH (流体シム) を deferred shading でレンダリングしているゲームというのは商用ゲームを見渡してもまだほとんど例がないため、独自性を出す余地がありそうです。なので、描画周りも色々模索中。ただしモデルは全部立方体の集合という縛りで。 面白そうな…

atomic C81 preview+

コミックマーケット 81、参加した方々、お疲れ様でした。スペースへ足を運んでくださった方々、ありがとうございました。 事前の告知に従い、コミケ版に若干手を加えたものを公開します。 atomic C81 preview+ ミラー ・現状 8000 系以上の GeForce でしか動…

C81 前夜

コミケ版動画。予定より色々要素を盛り込めてゲームらしいものにできました。 会える方は会場でお会いしましょう。

現状報告&告知

流体と剛体キャラをとりあえず出してインタラクションさせるところまでできましたよという状況。 流体を誘導して敵にぶつけるゲームになる予定です。まだ未実装要素が多すぎて全然ゲームになってませんが、時間の都合により上の動画がもうちょっとマシになっ…

CUDA SPH 65536 particles

SPH (パーティクルベース流体シム) を実装。と言っても、コード自体は DirectX SDK のサンプルにある ComputeShader 使った 2D SPH のほぼベタ移植ですが。 当初は GPGPU は OpenCL でやる予定でしたが、色々検証した結果 CUDA にしました。8000系以上の GeF…

近況とか

コミケ受かったので何か出します。GPGPU 使って、今までより一桁多い数のパーティクルを出すゲームのデモっぽいものを作る予定です。 スペースは 3日目東ヒ-20b primitive です。 前回の、12 論理 CPU ぶん回して 3 万強パーティクルを相互に衝突させるデモ…