Unity4d
2016/03/19
shibuya.d
自己紹介
- @__pandaman64__
- 大学2年生
- D言語初心者です
Unity4d
動機
( `・ω・) < D言語くんを射出するゲームつくった!!
何で作ったの? > (´<_` )
( `・ω・) < Unityです
(D言語じゃないのか・・・) > (´<_` )
( ´・ω・) ・・・
動機
D言語でゲームを作りたい!!!
+
全力で楽したい!!!
Unity4d
Unityとは?
- .NETベースのゲームエンジン
- マルチプラットフォーム
- 小規模なら無料で使える
- 開発環境がついてくる
- 基本的にはC# or JavaScriptで開発
D言語をUnityで使うぞ!
Unityの仕組み
CIL(共通中間言語)
C#
JavaScript
IL Library
(.NET標準,Unity)
JIT
AOT
Unityの仕組み
CIL(共通中間言語)
C#
JavaScript
IL Library
(.NET標準,Unity)
JIT
AOT
_人人人人人人人人_
> 突然のD言語 <
 ̄Y^Y^Y^Y^Y^Y^Y ̄

やったこと
-
D言語→CIL
- すでに実装があった
- 最終更新が2009年!だけど気にせずコンパイル
-
コンパイルエラーを修正
- alignofが予約語になった
- stdint.hのワークアラウンドが古かった
- 浮動小数点のワークアラウンドが古かった
やったこと
-
ライブラリのヘッダをつくる
- .NETの名前空間ごとにモジュール(ファイル)つくる
- .NET Assemblyから宣言を抜き出す
- クラス・メソッド・フィールドを宣言
-
面倒そうないくつかの型は無視- ジェネリクス
- outパラメータ
- .NETのObject型とDのobject型の違いでハマった
やったこと
-
ビルド
- コンパイラの出力がバグってるので後処理
- バッチファイル書いた
- Qiitaの記事で動くまでの試行錯誤書いた
デモ
できたこと
- CILコードの生成
- 標準ライブラリ・Unity用のヘッダを生成した
- Unityの機能をD言語から呼び出した
できなかったこと
- まともなプログラムが書けない
- 配列が使えない
- (.NETの型で)四則演算できない
- Phobosが使えない
- DMDのバージョンが古い
名前の由来

Unity3d + D言語
Unity4d
名前の由来

Unity3d + D言語
Unity for D
shibuya.d
By pandaman64
shibuya.d
- 1,217