(追記)こちらにもっと詳しくレポートを書いている方がいらっしゃいます。http://d.hatena.ne.jp/Dubhead/20080301
オープニング
作者Walter Brightさんからの祝電を読み上げる。
「もうこれからは生産性と性能のどちらかを犠牲にする必要はない」
とのこと。
講師:ABAさん(id:ABA)
略歴紹介
-
- なんでDを使うようになったか?
- Cは再利用性が悪い
- 元々Javaの人間 最低限オブジェクト指向ないとやってられん
- C++はGCないし黒魔術っぽくて面倒
- はまじさんからDを聞き、やってみようと
ゲーム製作の変遷(かっこ内の数字はDのバージョン)
-
- 2003/8 最初のゲームを作る (0.61)
- youtubeからデモムービーを紹介(TT,gunroar)特にゲーム名は出さず
- p47(0.7),tumiki(0.8)の紹介
- tumikiは海外のゲーム会社がwii版を作ってるらしい(製作には関わってない)
- 0.100ショック(0.99の次は1.0だと誰もが思ったのに…)
- mucade (0.148)
- titanion (0.174)
これだけ量産できたのはDのおかげ
Dの利点
- GC、ビルド速い、ランタイムほぼ不要exe作成
- Noiz2bg(noiz2saの背景だけ流す)MonaOSで動く(C+SDL)
- ゲームのライセンスは全部修正BSD
はじめてのD
講師:k.inabaさん(稲葉一浩さん)
Dドキュメントの翻訳をした人。
現在オーストラリアにいるためskypeからプレゼン。
D?
「変化の激しい言語」
今日のDは明日のDではない
今日のプレゼンが一週間後も同じとは限らない
今日は「今日のD言語の話」をする
特徴
- 見た目はCやJava系統
- ネイティブコンパイル
- スクリプト言語っぽくも使える
- #!/...みたいにしてシェルから実行できたりする。
- コンパイル時限定eval
- オブジェクト指向っぽい機能
- 関数型っぽい機能
D&DirectX
講師:Hiroki Itoさん
製作物
- 花火の立体映像
- 魚が泳ぐ3Dムービー
- 長崎 出島町の仮想環境シミュレーション装置
Dのいいところ
- C++だと
- パフォーマンスだめ
- デバッグやりにくい
- シングルスレッドだから
- LuaはGCがくせもの
- Dのいいところ
- C++よりも汎用性を高められる
- ポリゴン頂点情報の取扱い
- DXの3Dモデル構成情報はCPU、GPUで共通
- mixinを使うとC++に比べはるかに簡素なコード
- instancing
- DX Draw関数はオーバーヘッドが大きく、如何に呼び出し回数を減らすかがキモ
- ビデオメモリ、サウンドバッファ操作
- ロックアンロックをまとめて記述できる
- interface(C++)による過去の資産とのリンク
講師:一色さん
- 普通に使うだけならCと同じで書ける
- プロトタイプ不要
- Dでは変数にプロパティがある
- 配列がいい
- sortプロパティ使えばソートは一発
- dupプロパティでコピー
- Cライブラリが使えるSDL,OpenGL,DirectX
Dでゲームを作ってみる〜芝とdHellの紹介〜
講師:omegaさん(id:o_mega)
dHell/dHell2
- dHell
- Kenmoさん作のSDL/SDL_mixerのラッパー
- 問題点
- dHell2
- 作画周りをOpenGLに
- RectwinderNTGL
- 問題?点
なんでDに?
ABAさんとissikiさんが使ってたから
Cの.hを確実にDのモジュールへ変換する
講師:糸柳さん(ITKz)
従来の方法
- Cの型からDの型へ
- extern(c):を使ってDモジュール内の宣言を書く
- DMD「では」確実に動く
- DMD:Win32、x86Linuxしか対応してない(64bitOS未対応)
- (Dはマイナー、D使いはきもい!)
- GCCのDフロントエンド
- (最近のGCCではGHC(haskell)もあるらしい)
- 注意点?
- Cは処理系依存でサイズ変わるがDは不変
- win32:Cのlong4byte,Dのint4byte
- win64:Cのlong4byte,Dのint4byte
- 64bitUbuntu:Cのlongは8byteだからずれる
- 解決策
その他
- swig4dなんてのもある
- 引数のスタック上のオフセットはどうなるか不明
おことわり
後半は別のセッションを聞きにいったため聞いてません。