9月もほとんど進みませんでした。涼しくなったのでやる気になればいくらでも作れたはずなんですが、どうしても意識が集中しなくて、World of Tanksばっかりやってました。おかげで、ティア9で直近青の成績が出せるようになりました。総合でも緑になりましたし、まぁひと段落でしょう。
一気にやりすぎておなかいっぱいになったので、そろそろ距離を置けるはず。やればやるほどスコアが上がって、毎日成長するというのはゲームであれなんであれ楽しくなっちゃいますよね。しょうがないよね。ね?
。。。すいまえんでした。。。
前作までだったら一日がかりだった処理が、いまは2,3時間で作れるようになったりしてるので、油断してるんだと思います。「まじめにやればすぐできるし」とか思ってると、夏休みの宿題状態になります。皆さんも気をつけましょう。継続は力なり。毎日こつこつ進めるに越した事はありません。
先日Delegateについての記事を書きました。
http://tabinokumo.blog.fc2.com/blog-entry-18.html
昨日ふと気づいたんですが、このままだとちょっと使いづらい。
何かしらの処理をしたいとき、呼び出したい関数が一つだけとは限りません。スキルを上昇させるとき、効果音を鳴らしたいかもしれませんし、キャラクター情報画面を最新の状態に更新したいかもしれません。そういった、付随する効果を、「キャラクターのスキルを上昇させる関数」に持たせてしまう事もできますが、これはこれでいつも抱き合わせで処理していいものかどうかは不明です。やっぱり、別々に処理させた方が汎用性があるでしょう。
ですので、
//デリゲートをリストで実行するためのクラス
class DelegateList{
protected:
std::vector< DelegateBase* > delegatelist;
public:
void Apply(){
for(unsigned int n = 0;n < delegatelist.size();n++){
delegatelist[n]->Apply();
}
}
void RegisterDelegate(DelegateBase* p_delegate){
delegatelist.push_back(p_delegate);
}
};
というクラスを用意しておいて、Yesボタンにこのクラスを持たせておけば、このクラスに登録してあるDelegateが全部実行されてくれるようになります。
これはまだ昨日作ったばかりのクラスですが、いまのところ問題なく便利な働きをしてくれてます。
いやぁ、この前Steamでパラドゲーセールがあったんですよ。そろそろ来ないかなぁと待ってたところなので、EU4とDHを買ったわけなんですが、期待よりも面白くて十日も休んでしまいました・・・。本当は一週間だけパラドゲー休暇をとるつもりだったんですが。
まだDHは日本語化しただけでプレイしてないんですが、EU4はだいぶ仕組みが分かりました。いまはオーストリアで最速HRE改革の手順を考えてるところです。
それにしても地味なゲームです。パラドゲーは本当に参考になる事が多い。The Marshalにしろ、現在製作中のゲームにしろ、一番近い市販ゲームはパラドゲーですから。こういうのが大好きな私が作るゲームですから、地味になるのは仕方ないんでしょう。いつかはもっと本格的なのを作りたいところですが、このレベルのものを作る体力は個人にはないよなぁ・・・。
さて、製作中のゲームですが、基本的な枠組みはだいぶ出来てるんです。戦闘の基本システムはほぼ完了しており、いまは部隊を遠征に出す手続きの部分を作ってます。
ちょっと悩んでるのが、遠征隊がいつ出撃するのかという部分。あくまでもプレイヤーは道場長。
道場長「おいお前達、ちょっとゴブリン退治してこい」
遠征隊員「Sir,Yes,Sir」
で、即日出かけるか?
このゲームの遠征は、遠征先でキャンプを張って何日も何週間もかけて少しずつ進んでいくのを想定してます。それだけの期間の滞在を想定する登山隊が、思い立ったが吉日でその日のうちに出発するなんてありえない。
するとプレイヤーは出発の命令だけを出して、あとは勝手に準備をして準備が終わったら出かけるという形が自然でしょう。しかしこれだと、いつ出発するのかをプレイヤー把握できない。何日後に出発するかを指定するようにしてもいいですが、それはプレイヤーがめんどくさくなるでしょう。
円滑なプレイを考えると、即日出発するか、自動的に後日出発するかの二択。期間限定イベントとかがなければ、いつ出発するのかを把握する必要がないんですが、そういうイベントも用意するつもりなのでちょっと据わりが悪い。
まぁ、イベントの期間判定をゆるくして対応するかなぁという感じですが。
これは、C++の話なので、ゲーム製作に限定した内容ではないんですが、ゲーム製作においてソートしたい場面は多いものです。たとえば所持品を表示するとき、武器・防具・武器・武器・防具みたいに表示されると分かりづらいですよね。まず武器を並べて、次に防具を並べるみたいな事をしたくなります。
こういうときはまず、所持品を保管しているコンテナをソートしておきます。
Author:ウィア
とても地味でマニアックな同人ゲームを作っています