スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

11歩:AIをC++で書いていました。

AIはスクリプトを使って書くのですが、
まずはC++で基本的なところや、スクリプトでも使えそうな処理を書いて、
それらが上手く動くかを試していたことが11月の主な制作でした。

スクリプトを使う所はかなりの時間がかかるんじゃないかと思っているので、
先にある程度敵が動くように、とテストの意味も兼ねているのですが。


そして、ゲームの流れの移り変わりがよく分かるように、
ゲームのシーンわけを行いました。

こちらの処理でも、特に問題がなければシングルトンを使い、delete を楽にしています。
本来なら同じシーンを二重に作ったりすることはないのですが、
逆にシーンは大抵終わってしまったら削除するもの。

そこでどちらがいいのか悩みましたが、他のマネージャなどもシングルトンで行っているので、
その流れに乗ったことと、削除を楽にするためにもシングルトンにしました。


このように、11月はほとんどAIの実装・バグ取りに重点を置いていました。
今月はこのAIをスクリプトに直し、ある程度はプレイ時に変化が起きるようにしたり、

他にはBGMやサウンドも再生できるようにしようと思っています。


スポンサーサイト

10歩:月一の報告になってしまっていますが。

先月終わりから今日に至るまで、
進んだ内容はフレームワークとして基盤を作り固め、
そしてプロトタイプに追いついた後、戦闘を形だけ作り始め、もうすぐ終わるところです。

フレームワークと言われると、わたしがイメージするのは、
ゲームのフレームワークならば、もちろんゲームに必要な機能をそろえていて、
そして気にしなければいけないことが少ない、と言うことです。

とりあえず、

・フレームワークの機能としてあるクラスは、可能ならばシングルトンにしておき、
そのクラスは放って置いてもフレームワーク側が、ゲーム終了時に勝手に消してくれる。

・ゲーム起動中にスクリーンセーバーが動いたり、Vistaであれば管理者権限の
プログラムを開こうとして確認画面を出したりすると、デバイスがロスとしてしまうので、
復旧をして支障が出ないようにする。

・フルスクリーンモードとウィンドウモードを実行中に変えられる。

と言うような機能をつけてみました。

一つ目は、シングルトンではポインタを受け取るための関数をつくり、
使う側にはそれを呼び出してもらいます。
これをすると、 new を使うときより解放を忘れやすくなるんじゃないかと思い、
解放の部分をフレームワークで自動化みました。

二つ目と三つ目は、WindowやDirectGraphicsデバイスをもつクラスがフレームワークにある以上、
フレームワークで対処しなければいけないと思ったので、実装してみました。


この一ヶ月、作業を進めながら考えていると、わたしはやっぱりシステムの方が、
作業をしていてよく頭が回る気がしました。

たとえば、上のようなフレームワークの部分であったり、
ゲームでは同じ動作をするけど、使いやすくて汎用性もある処理だったりと、
そんなものを考えていると、楽しかったりしました。

今後、もしかしたらそちらの方に力が入っていくかもしれません。


9歩:9連休。

学校の方が、木曜と金曜がゲームショウにより休みだった関係で、9連休の休みでした。

連休の最初の方は、企画書・仕様書の見直しなどをしていました。
ゲームの内容の突き詰めは、プログラムを組みながらやっているので、
少しまとまった時間を取ってみようと、作業をしていました。


連休後半では、プロトタイプの時使っていたフレームワークをやめ、
自分で作り直していました。

前回のものは、学校で「簡単なフレームワーク」として出され、とりあえずモデルを移動させる
ことができる程度まで作られたものでしたが、
ウィンドウなどがクラス化されていない物でした。


それをオリジナルのものとして、1から作り直していました。

まだ完全ではありませんが、とりあえずモデルを表示するところまで作りました。
今後はこれを発展させながら、プロトタイプと同じところまで持って行こうと思います。

「続きを読む」では、オリジナルのものでどんなことができるのかを書いています。


続きを読む

8歩:なかなか進みませんが。

少しずつ作業を進めています。

今は、クリックしたキャラクターの行動可能範囲を取得し、
その範囲を画面に表示、
そしてその中でクリックされた時、そこまでの道順を探し出すところまでできました。

次は取得した場所まで、キャラクターを滑らかに移動させる処理を組もうと思っています。
この処理ができれば、モデルにモーションをつければ歩いているように見えるはずなので、
そろそろモーションをテストで付けることも考えながら作って行きたいです。


そうは思っていますが、キャラクターを滑らかに移動させられるようになったら、
自分のコードを整理しようと思っています。

クラスの組み方や、いらないコメントなどを整理して、
見やすいコードになるように今辺りで見直さなければ、
伸ばしてしまうともっと大変なことになりそうです。


7歩:久しぶりですが。

明日からは学校が再開されるので、
ここで夏休みの振り返りを。

夏休みの目標がありましたが、
結果としては2が50%終わったかどうか、というところです。

ちなみにこんな感じでした。

1:
まず、3D画面に平面のマップを用意し、敵と味方のユニットオブジェクトを配置して、それを
クォータービュー式にカメラが見られるようにし、十字キーでカーソルを
移動させられるようにします。
(オブジェクトの形は、仮のものとして立方体などでも可)

2:
カーソルが合ったキャラクターのステータスをスプライトで表示し、
決定キーで選択すると、移動可能な位置を表示し移動させることができ、
ターン終了をすると敵もAIプログラムで行動をしてくれるようにします。

3:
それが終わった後、ゲームを構成している処理で共通しているものを
ライブラリもしくはフレームワークとしてまとめていきます。


実際には、カーソルで選んだキャラクターを、マップの別の空いている位置、
そこにクリックで移動させられるというところまで、作りました。

詳しいことは「続きを読む」で。


続きを読む

プロフィール

堀

Author:堀
ゲームプログラマーを目指して、
卒業制作をして行こうと思います。

↓メールアドレス(画像)

カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。