2017年5月15日月曜日

Xenko / その4

Microsoft Build tools を更新したら、エラーが減ったけど、
まだまだ大量のエラーが出ている、というのが前回の内容。

で、そのすぐ後に解決したんだけど、記事にしていなかったので、今さら解説。
解説するほどのことでもないんだけど。

出ていたエラーは、「あんたのDirectXのバージョンと合わないんだよ!」的な内容。
ツールで調べたところ、このPCの(オンボードの)グラフィックボードは、DirectX10.1まで対応しているらしい。

Xenkoは、DirectX9.0からさポートしているようだし、そういう意味ではまったく問題ないはずなのに、バージョン違い系のエラーが出ている模様。

で、

デバイスマネージャー ⇒ グラフィックボード

から、ドライバの更新をしてみたところ、なんと更新があるではないか。
そして、Xenkoを起動。

…できた!

というわけで、エラーが出ている人は、グラフィックカードのドライバ更新を試してみましょう。

実際に、Xenkoでサンプルゲームを動かしてみたけど、動作はこのPCではギリギリと言ったところ。

ただ、作り方の解説が少ないので、ここから先が苦労しそう。

2017年5月9日火曜日

Visual C# / その3

前回、VisualC#の基本的な罠に色々掛かってしまったわけだが。

その辺を回避したら、サクサク作れる。
オブジェクト指向などは、Javaで散々やってきているので、
C#独特の解放(デストラクタ)周りの、ガベージコレクトを何とかすれば良い。

それも、基本形は公開されているものをコピペでOK。

Javaで作っていた各種ツールを移植しようと思ったが、
基本部分を作ってから出ないと、気がすまないので…。

まずは、実行ログを出力テキストエリアと、結果を効率よく表示するための、
タブ切り替えを設置。
ファイル読み込み/書き込みのユーティリティは既に作ったので、
ソレを利用して、ツールのオプションを自動保存する機能も追加。

これらも、そこまで悩むこともなく、追加できたので、ようやくツール本体へ。
ツール本体を作成するには、画像の合成が必要だが、先に作っていた独自イメージクラスで基本はOK。
塗りつぶし処理を追加するくらいでできた。
(Javaでいうところの、Paint が、Brushになっている程度)

そこで、100枚程度の細かい画像パーツを1枚のテクスチャに敷き詰める処理を移植。
Javaでは、独自にクイックソートAPIを作成していたが、C#でのその部分は、LINQを使って楽をする。

サクッと単純移植した結果、1枚の生成に3秒かからないくらい。
これ、Javaとそんなには違わない。
だがしかし、アルゴリズムに改良の余地があることは分かっていたので、それを実装した結果…。

50ミリ秒。

そんなもんさ!
いくら、頑張って最適化しても、ちょこっと速くなればラッキー。
もちろん、そのちょこっとが必要なときもある。

だが、大抵は、アルゴリズムの改良の方が効果的なのだ。

50ミリ秒より速く…はできないだろうなぁ。


2017年5月6日土曜日

啓発本 / その2

前回の記事で書いた啓発本ですが。

著者の経歴の記述の中に、
「04年度に独立行政法人情報処理推進機構(IPA)より天才プログラマー/スーパークリエイターとして認定され」
という記述がある。

で、著作の78ページの「最適化」の説明の中で、プログラムで例が示されているのだが、
そのプログラムが以下である。

a←0
100回繰り返し{
 a ← a +1
 b ← b + a * 1000
}

一般人に分かりやすくするため、= を ← と書いているようだ。

これを最適化すると…

a ← 0
100回繰り返し{
 a ← a +1
}
b ← a * 1000
ループの外に出して、計算量を減らせるぜ、とのこと。

…え?
100回じゃ面倒なので、3回で考えてみよう。
上の例だと、最終的にbは、

b = 1000 + 2000 + 3000 = 6000

下の例だと、

b = 3 * 1000 = 3000

全然違うわ!!




2017年5月4日木曜日

啓発本が読みたくなったので買って来た

立ち寄った先に、ブックオフがあった。
スーパーセールで、本が全て20%引きだったのと、転職するという不安定な心理状況もあり、仕事術的な本を読んでモチベーションを上げようと思ったのだが…。
どれも面白くない(笑)

ビジネスの自己啓発本は自分に合わないようだ。
だが、帰り際に、新書ではなく、文庫の方を見たら、ちょいと面白そうな本があった。

↓これだ。

ブックオフの、中古価格で960円。
だが何故か、「レジで半額」という札が貼られており、さらに20%OFFということで、380円の低価格で購入できた。

アマゾンの批評にもあるが、多少、言葉が過ぎる部分がある。
私にもその傾向があるが(苦笑)、さすがに有料で買ってもらう書籍には向かない書き方であると、私でも思う。

だが、内容的には、面白い。
2015年初版なので、そんなに古い話でも無いし。

・プログラマだけがプロジェクトの進め方を知っている(多少誇張しすぎと思うけど)
・良いリーダー ≠ 好かれるリーダー、良いリーダー = 完遂できるリーダー

まさにその通り。
そして、今の会社で完遂できているプログラマのリーダーは…。
多分、私だけである。

ここ数年でリリースしてきたプロジェクトを見てみよう。

・PS3のゲーム
・3DSのゲーム3プロジェクトのセット

これが私が関わってきたライン(プロジェクト)だが、評価は上々。
3DSの1本目~2本目の間は2ヶ月しかない=2ヶ月で作ったんだぜ。
それで、そこそこの評価がもらえているのがスゴイところ。

そして、もう1つのライン(プロジェクト)だが、

・Vitaのゲーム(1)
・Vitaのゲーム(2)

(1)の方は発売延期、(2)の方は、納期厳守のため、内容ボロボロ…。

念のため付け加えておくと、(2)のリーダーは頑張った方である。
(1)の方は…正直言って、誰がリーダーがすら分からない状態だった。

合間合間に、スマホのプロジェクトもあったのだが、どれもリリースにすら至らず…。
どれも端から見てる分には、リーダーとして引っ張る人が居ない…というのが感想。

そんな状態なのに、私が辞めることに、大賛成のようだからな。
まあ、頑張ってくれ(笑)