やろうやろうと思って進まないので、ここに予定を晒して、進捗を書いていく作戦。
とりあえず、来週の月曜までの予定を。僕以外は何のことか分かんないと思いますがwww
まー、詳しい内容は、やったその日に明かされるでしょう、たぶん。

24 モデル作成 objファイル 三角の赤と青、子機赤と青、建物ひびわれ2パターン
25 A*アルゴリズムを精査 そのうえで簡略マップを作る オブジェクト配置
26 探索アルゴリズム実装 キャラクターに簡単なパラメータを持たせる 子機を親機にくっつくように実装
27 攻撃を実装 必要なお絵かき
28 建物破壊を実装 広域マップを実装 必要なお絵かき
29 UI設計 画面効果 必要なお絵かき
30 ゲームとして調整

うおーし、いくぞー!
むしろ前倒しでいくぞー!
2009.11.23 Mon l ゲームを作る l COM(0) TB(0) l top ▲
次のやつでluaを使おうと思っているんですけど、C++と一緒に組み込みの言語を触るなら、なるべく同じエディタで見れた方が良いと思いまして、VC++を使うよりも、Emacsとかを使った方がいいんじゃないかなーと思ったのが事の発端でした。
自分の開発スピードとしても、やっぱEmacs使った方が早そうですし。

つーことで、最初はボーランドのbcc(C++ Compiler 5.5)を使おうとチャレンジ。
Makefileを書いたり頑張った後、コンパイルしたところで、luaのlibファイルが使えない事に気づく。VC++でコンパイルされているため、ボーランドからは使えないんだそうな。
ということで、luaを頑張ってコンパイルして、膨大に出てきたobjをちまちまくっつける作業をこれまた頑張ってやって、なんとかコンパイルできるようになる。
……が、使おうと思ってたirrlichtまでコンパイルせざるをえない状況に追い込まれたっぽくて、挫折。


しかたない諦めてVC++でやるか…いやだなー……と思ってたら、ふと思い出しました。

あれ、VC++って確かコンパイラがコマンドラインから使えなかったっけ?

検索かけると、cl.exeとかいうのでコンパイルできるらしい。
小ネタで言うと、vcvars32.batとかいうファイルがあって、これをコマンドプロンプト打って実行しないと、stdio.hが無いとか言って怒られたりします。
そんなこんなで、Makefileを書きなおす。
clはコンパイラのオプションが結構違うので、苦戦。そしてライブラリが通らない…。
仕方ないので、コマンドラインにべた打ちしてみる…けどそれでも動かない!

と思ったら、あれですね、ライブラリ名間違えてましたwww
あの3時間は一体なんだったんだ…。

動いたので、今度はちゃんとMakefileを書いてみるけれど、これまたうまくいかない!

test.cpp(1) : fatal error C1083: include ファイルを開けません。'stdio.h': Invalid argument
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : リターン コード '0x2'
Stop.

stdio.hが無いってなんなの?
ちゃんとvcvars32やってもダメだし、Makefileの中にvcvars32にもぐりこませても全然ダメだし…。

うーん、詰んでるなぁ…。


追記:

分かった。
まずMakefileを見せましょう。

# 作業ディレクトリ
DIR = C:\project\game
# コンパイラ
CC = cl
# luaのヘッダがあるするフォルダのパス
INCLUDEA = -I$(DIR)\lua5.1\include
# ライブラリがあるフォルダのパスとライブラリ
LIBPATHA = -libpath:$(DIR)\lua5.1\lib
LIBA = lua5.1.lib
# ソース
SRC = test.cpp
# 出力ファイル
TARGET = test.exe

ALL : $(TARGET)

# exeファイルの生成
$(TARGET):
$(CC) $(INCLUDEA) $(LIBA) $(SRC) -link $(LIBPATHA)

最小のMakefileだとこんな感じかな。実際はお掃除とかあってごちゃごちゃしてるんだけど、必要な部分のみ。

で、もう眠いのでいきなり種明かしなんだけど、INCLUDE、LIBPATH、LIBの三つはもともと勝手にコマンドプロンプト側(っていうか設定したのはvcvars32か)が環境設定しているので、=記号で代入して中身を新しいものにクリアしてしまうと死にます。
なので、上の例ではINCLUDEをINCLUDEAとかいう名前に変えて使ってます。スマートなやり方としては、INCLUDEに追加する形がいいのかな。

なんでこんなことに気付かなかったんだろう…。
2009.11.09 Mon l make l COM(0) TB(0) l top ▲
ひとまずbotを提出完了。
いやー、改良頼まれたの半年くらい前じゃなかったっけ。大変申し訳ない。
ActiveScriptRubyを入れさせたり、機能が分かりにくかったりと、ちょっと普通の人には優しくない仕様だったのでヤバいなーと思ってたんですけど、相手側の飲み込みと行動力のおかげで、受け渡しはすんなりと上手くいきました。

「やらないと」とずっと思っていたネタだったので、夏休みの宿題がやっと終わったような気分です。
良かった良かった。

残り作業はバグ報告があったらバグ潰すなどの、保守作業ですかね。
一応テストはしてるので大丈夫だとは思うんですけど。
まぁ、一旦頭の中から切り離しても良さそうだ。報告が来た時に考えればいいや。


おし、次はbootcampの容量拡大だな。
一度バックアップを取った後に入れ直し。
終わったらそのまま次のゲーム制作の環境を整える。

うん、頑張ろう。
2009.11.01 Sun l IRCボット l COM(0) TB(0) l top ▲
10日以上放置してましたねー。
最近はとにかく眠くて眠くて、作業は全然進んでおりませぬ。ヤバイ。

11月はゲーム作る月なので、そろそろ頑張ります。
その前に、ちょい近況報告とか。

botは既に出来てるんですが、説明を書くのがめんどくて放置……はそろそろいかんので、今日か明日くらいに説明書いて送って終了したいです。

えー、他には、そうだ、ARToolKitを使った絵本を作りましたよ。
いちおーgltexture.hを使ったんですけど、やっぱあれダメだわ。
リビジョンが4つくらい前のやつしか残ってなくて、モデルを表示させるとモデルの色?がおかしくなるバグがあってですね、正直どうやって解決したか忘れたし直すのめんどいです。
絵本は四角のテクスチャ付きポリゴンしか使わなかったので作業には支障なかったんですけど、これを受けてgltexture.hはやっぱ復活できなさそうです。
作った絵本については、写メとか撮っておいたので気が向いたら記事にしたいけど……まぁたぶん面倒なのでやらないでしょう。

あと、家に帰ったら寝ちゃうので、通学の電車の中で技術書読んだりしてました。
おまいらスクリプト使ってもっと楽しようぜ的な本なんですが、かなり内容が面白いです。
スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践 (GAME DEVELOPER)スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践 (GAME DEVELOPER)
(2008/09/27)
浜中 誠

商品詳細を見る

スクリプトを組み込んだゲームを作った事が無い方は、値段以上の価値があると思います。
ある方でも、何だかんだでゲームシステムについて突っ込んで触れてるので、アマチュアであれば中々得にくい情報がかなりあると思いますよー。
技術書を最初から最後まで読む事は滅多に無い僕ですが、これは読んじゃうっていうか全ページから得る事があるので読み飛ばせないw
2009.10.30 Fri l 雑記 l COM(0) TB(0) l top ▲
一応Botは出来てるので、のろのろと暇な時にリファクタリングしてる感じです。
まー、なんかゆっくりやっても記念碑うpには間に合いそうなので、他の予定を普通に優先させているでござる。すいませんwww

メインは11月にひたすら寝ずに作るゲームの企画やってます。
だいたい3Dの戦略ゲームになりそうです。
AIがちょっとクソめんどそうで不安なんですが、ライブラリとスクリプトの力を借りる気満々という部分で実装自体はチートを行いまくりです。
コンテストに提出する気なんですが、基準スレスレもしくは違反レベルじゃないでしょうか。ライブラリに制限設けてないとか言っているけど、使って良い例に出てるライブラリがSDLだからなぁw
つーか色々言っても、納期が11月末だからそうしないと間に合わん。


あとは10月末にまたARToolKitで何か作るっぽいです。
でもあんま乗り気ではないんだよね…。
最後に使ったコードをミスで廃棄してしまっているので、バグ有りの状態のから復活っていう時点で鬱。
そして、前回のを改善して使うにしても、あまりにも設計が失敗しすぎてて、バグの温床すぎるので、正直あのコード見たくもねぇ…。設計は間違いなくやり直し。
あ、でも、gltexture.h(だったっけ?)とかいうヘッダは、未だ撤去したままなので、あれは完成させてやりたいなぁ。
あと行列を転置するだけだったんだよね。あれを弄るのは、またARToolKitやる時しかないだろうから、それを考えると良い機会なのかもしれない。
ミーティングするなら明日だから、やるかどうかは、明日みんなの出方次第という感じですね。
2009.10.18 Sun l 雑記 l COM(0) TB(0) l top ▲