記事一覧

ニシハラは今、C言語の勉強をしている

 定期的にブログのネタにもなっている更新停滞の言い訳。今回はなんとC言語です。C言語といえば最もメジャーなプログラム言語で、皆さんが使用しているソフトの殆どもこれで作られたものではないでしょうか。
 それだけ実用に耐えうるレベルの言語ですから、習得するのも難しいです。時間的に余裕ができた先月あたりに勉強を始めているのですが、そんな思いつきで始めるものではありませんね。空いた時間を使うために始めたことに多くの時間を費やさなければならないという状況に陥り、半分くらい後悔しています。
 現在使用しているHSPは個人が趣味でプログラムをするのに適しており習得も比較的簡単なものだったため、C言語の難しさはそれの比じゃありませんでした。現在は混迷の大陸をC言語で作り直していますが、それに思いの外手間取っています。この作業もしかしたら今年いっぱいかかるかもしれません。

 HSPと比べてC言語の利点は処理速度が速いことです。しかしリアルタイムで動くアクション系ならともかくターン制シミュレーションゲームくらいのものだと目に見える変化はあまり感じられないかもしれません。更新にこれだけ時間をかけておきながら何も変わってないのはまずいです。ですから、次の更新ではマップの地形や都市の配置を自由に変えられるモードなどの追加を考えています。改造の引継ぎなど、他にも追加して欲しい要素があればぜひ掲示板に書き込んでください。

戦火の大陸には、製作段階で姿を消した「編隊」というシステムがあった

 戦火の大陸には隊列画面で右クリックをすると機体を分身させて全ポジションへ配置できるというバグがありました。これを使うとフォワード・コア・バックスと最大3体まで機体を増やして敵と戦うことができます。現在のバージョンでは修正されたバグ。この症状が最初に報告された時、製作段階でやむを得ず切り捨てたあるシステムのことが頭をよぎりました。

 このゲームがスーパーロボット大戦の影響を受けていることは今更言うまでもありません。隣接ユニットをサポートする連携、能力値が変化する隊列はそれぞれ援護や変形が基になっています。他にもう一つ、スパロボの小隊システムを基にした編隊というコマンドも入れる予定でした。
この編隊とはポジションを変える隊列の発展型のようなものです。編隊を行うと隣接するユニットの空いているポジションにユニットを配置することができます。複数のユニット(機体)を足して強力な一体のユニット(部隊)を作るイメージなので合体にも近いかもしれません。これにより攻撃力の高いユニットをフォワードに置いて攻撃役にし、守備力の高いユニットをバックスに置いて防御担当にするといったユニットの部隊的な運用ができるようになります。構想ではサブフォワード・サブバックスというポジションもあり、攻撃役二機や防御役二機としてそれぞれに特化した隊も作れる予定でした。全ポジションにユニットを配置して最強部隊を作ることも可能です。
ファイル 13-1.gif
こんな感じに

 そうこうしながら編隊システムを作っていったのですが、やはりそう簡単には行きませんでした。複数のユニットをまとめて一つのユニットにすると、個別ユニットの管理が通常よりも複雑になってしまうのです。アイテム使用の効果が及ぶ範囲、経験値の取得、ユニットの行動値が0となった場合の処理、といった個別に対応しなければならないことが多く出てきました。これらの処理をどうするかがまとまらなかったために、結局編隊システムの実装は中止となってしまいます。

普通ならこのまま終わり、編隊は日の目を見ずに消えてくはずでした。そんな中で届いたのがあのバグ報告です。

 実装しなかったとはいえゲームシステム自体は編隊に対応したものとしてそのまま作っていました。空いているポジションにユニットを配置することはできるわけです。その編隊用のシステムが隊列画面でのキャンセル処理のバグと組み合わさることにより、全てのポジションに同一ユニットを配置できるという大きなバグへと進化を遂げたようです。

 一度ボツにされてもあきらめず、バグの協力を得て奇跡の復活を果たした「編隊」。挫折してもくじけずチャレンジし続けることの大切さを学んだような気がしました。

westplainというサイト名は、消去法でつけられた

ギリギリでのブログ更新です。危うく月一更新のペースを崩すところでした。

 先月このサイトもめでたく一周年を迎えました。迎えましたが何も特別な祝い事などはやっていませんでした。フリー素材の公開を始めた10000アクセスの時とはえらい違いです。もっとも、あれは元々公開しようと思っていたものをちょうど10000アクセスに合わせて公開したという経緯があるため、それのために特別何かを用意したということではありませんでしたが。
一応「祝・一周年記念!」と言いつつ混迷の大陸ネットワーク対戦版を公開しようと考えてはいました。しかしその完成が遅れてしまったために公開が間に合わず、後日そういった記念とはまったく関係ない形で公開してました。しかも公開後の反応もあまりよろしくなく、まさかあれが一周年記念のものとは言い出しづらくなっています。
あれが記念品のようなものなので、プレイするしないに関わらずダウンロードしてもらえてたのなら嬉しいです。

 一年前、サイトを作る時最初にしていたことはアドレスのID文字を何にするかです。infoseekでホームページを作る場合、アドレスhttp://****.hp.infoseek.co.jp/の****部分を自分で決めます。アドレスを決める時、****部分の識別文字はnisiharaにしようとしていたのですが、これは既に使われていました。今度は西(west)と原(field)を英語にしてwestfieldとしたのですが、これも既に使われていました。どうしようと考えていると、原を表す単語はfield以外にもplainというものがあると知り、ちょうどそれが使われていなかったため、westplainという文字がアドレスに含まれたのです。そのアドレスに合わせて、サイト名もwestplainとなりました。

 消去法でアドレスを決め、そのアドレスに合わせてサイト名を決めるというなんとも後ろ向きな方法でこのサイトは誕生しました。あまり深くないサイト名の由来ですが、それをスタートとしてもう一年が経ったのかと思うとなんだか感慨深いものです。

ニシハラは、反転命令を覚えた

 今回はソフトとブログのダブル更新です。

 制作ツールをバージョンアップしました。今までは主にHSP2というツールを使って作っていたのですが、それをバージョンアップ版のHSP3に変更しました。同じツールのバージョンアップとはいえ旧バージョンとは互換性のない部分もあり、その部分を探して変更していくのはなかなかしんどい作業でした。しんどかったのですが、その作業の最中全く別の面で得るものがありました。それがタイトルにある反転命令です。
反転命令とはグラフィックを鏡に映ったように左右を逆に表示する命令です。HSPに標準で用意されていない命令なのですが、別の命令を使って反転を行うことができるようなのです。HSP3への移行について色々と調べているうちに、偶然その反転についての方法を知りました。
そんな初歩的な技術で何を今更、という感じではありますがとりあえず話を進めます。

 ゲームの戦闘画面では、ユニットの右向き絵と左向き絵が相手との位置関係に応じて表示されます。今までは右向きの絵と左向きの絵を二つ用意してそれぞれを表示していました。
ファイル 11-1.gif
こんな感じですね。
一つのユニットにつき二つの絵が必要だったのです。反転命令を使えば、どちらか一方向きの絵だけがあればそれを反転させて右向きと左向きが両方表示できるようになるのです。これで何が変わるかというと、使われる素材の容量です。このゲームの場合だと全体容量の殆どは絵や音楽といった素材が占めています。素材の容量を減らすことはゲームの容量を減らすことに一番直結するのです。この反転命令習得によりゲーム全体の容量を約半分にすることができました。半分といっても元が元なので10MB程度の減量なのはさておき。
そのため、今までは更新に応じて容量は増えていったのですが今回の更新では逆に容量が減っています。容量が減るとゲームのボリュームも減ったように感じられますが、そんなことはないので安心してください。

 今回の更新は今までの更新と比べてもなかなか大変な作業でした。移植と減量がメインだったのでプレイする分には大して変わっていませんが、一応内容の方も少し更新されています。ホントに少しだけ。
いろいろ頑張ったので、それでもダウンロードしてもらえるととても有難いです。制作環境の一新で新しいバグが発生しているかもしれないので、そちらの報告もよかったらよろしくお願いします。

4月というのは、新年度を迎えて新たな気持ちでスタートする季節

 エイプリルフールも何事もなく過ぎた4月、皆さんはどうお過ごしでしょう。新年度に入り、新たな気持ちでスタートを切るという人も多いのではないでしょうか。そういった人達を暖かい目で見守っていきたいものです。

 さて、2月、3月の更新はあまりにも酷いものがありました。ブログを1回だけ書いて終わり。最新の更新欄なのに先月や先々月の更新が載っている有様。やる気がなくなったのではありません。やる気があるとか言いながらなぜそういった事態になったのか。それを読み解くための今回のキーワードは「脱線」です。そして早くも新年に立てた目標が怪しくなってきたという話を。

 私はゲームを作るのにはHSPというツールを使っています。プログラムを記述する際には、ある部分の処理について後から見ても分かりやすいように説明を付け加える場合もあります。私はこの説明文を目当ての処理部分を探すための検索キーワード代わりにも使っているのですが、私の環境だと日本語の文字を上へ向かって検索するとHSPが止まってしまうという症状が起こる模様。そろそろ最新バージョンを見てこようと思い立ち、HSPの公式ホームページへと向かいました。
 ちょうどその頃、公式サイトではHSPで作られたソフトのコンテスト、HSPプログラムコンテストの結果が発表されていました。それはそれで気になったので、寄り道で当然覗いてみます。色々見ていると「最近は3Dの作品が増えてきた」という審査員のコメントが目にとまりました。改めて見てみると確かに3Dの作品が多くありました。やはりこれからは3Dもやっておいた方がいいのかと焦り始めます。さらに詳しく見てみると、その3D作品の中には「これのおかげで私も3Dができるようになりました。」という類いのコメントがちらほら。どうやらEasy3Dというプラグインを使えば比較的簡単に3Dのゲームをつくれるようです。
 かくいう私も、3Dについて全くの初心者というわけではありません。恥ずかしながら、ゲームで使っているメカの絵はメタセコイアというツールを使って自分で作ったものです。そして件のEasy3Dはメタセコイアとの連携もできる様子。
 こうして不具合を更新するというきっかけから始まった公式行きは、1月に立てて「忘れないようにしよう」などと言っていた目標を大きく脱線させ、3Dアクションゲーム作るという新たな挑戦が始まってしまったのです。

 既に出来上がったものに手を加える作業は馴染んでいる部分もあるのでそれほど難しくはないのですが、新しいものを0から作り始めるのだとマニュアルの理解や試行錯誤の実行など必要なことが多々あり、思った以上に時間がかかってしまいます。未経験の3Dゲームという予定外の事態が加わったため、そのあおりを受けて既存の更新が大きく遅れることとなったのが2月、3月に起こったサイト停滞の真相です。そういうことなので、新年の目標を大幅に変更しないといけないかもしれません。

 エイプリルフールも何事もなく過ぎた4月、皆さんはどうお過ごしでしょう。新年度に入り、新たな気持ちでスタートを切るという人も多いのではないでしょうか。そういった人達を暖かい目で見守っていきたいものです。


ファイル 10-1.gif
開発中の画面、と言うのもおこがましいサンプルを動かしてみた程度の画面です

物事をやりかけの状態で放っておくのは、あまりよくない

 ホームページは動いていませんが、ちゃんと元気にやっています。半分忘れ去られていたタイトル横のバージョン情報をやっと消しました。サイトを更新する度にバージョンを上げていこうと考えてたあの文字です。ほっといてもいいかなとも思ったのですが、更新が滞ったホームページにver0.5といういかにも未完成状態という文字があるのは放置された感に拍車をかけかねないと思ったわけです。更新を続けてサイトが完成したら終わらせようと考えていたものが、更新の滞りを理由に終わることになったのはなんだか負けたみたいで寂しいです。

 ホームページがそんな状態ですから、試作品として置かれているメタルサッカーも未だに未完成状態です。ゲームそのものだけでなく、オーソドックスなタイプではないので説明書も分かりやすくしないといけないため、それの準備にも手間取っています。あらためて見渡すと完成せずに進まないものばっかりです。

 実は戦火の大陸も試作品だったりします。元々は混迷の大陸のようなユニット生産を取り入れたシミュレーションゲームを作りたかったので、それへ繋げる為の簡易バージョンとして作ったのが始まりでした。パイロットや特殊技といったこちらにしかない要素もあるのでどっちが上ということにはなりませんが。
行動値もそれを見越して取り入れた要素です。混迷の大陸のように新規ユニットを次々に生産できるゲームだと、下級ユニットと上級ユニットがかち合う状況も多くなります。下級ユニットの大群に上級ユニットを一機突っ込ませて壊滅させる、といった性能差による単純な力押しの展開はあまり好ましくなかったので、それを起きにくくするために行動値を入れました。戦火の大陸のようにユニットの数が限られたタイプだとこういった行動の縛りはストレスに感じるかもしれないと心配だったのですが、幸い様々な意見が寄せられた中で行動値に対する不満はありませんでした。これはこれでゲームの個性として認めてもらえたのかもしれません。
この行動値が示すように、主に混迷の大陸の試作品として更新してきたので、ストーリー等戦火の大陸単体としての完成は程遠い試作状態のままなのです。

そんなやりかけ君達に取り囲まれてだらだらとしていた環境に変化が起こったのはつい最近。ベクターでの点数評価システム開始です。

 ゲーム登録サイトには様々なタイプがあり、その中にはプレイヤーのつけた点数が情報として見られるサイトもあります。戦火の大陸をゲームサイトに登録する際には、そういった点数評価のついた場所は避けて通っていました。試作品という位置づけだったので、評価の対象となるのは荷が重いかなぁと思っていたのです。そうやって点数評価から逃げ隠れしていたのですが、いつの間にか大元のベクターでその点数評価システムが始まっていました。しかも特別キャンペーンまで展開する気合の入れよう。
そこまでやられて作りかけのものを置いたままというのはなんだか落ち着かないので、ちゃんと戦火の大陸を完成させて登録し直さないといけないという気分に追い立てられています。また、メタルサッカーは完成状態のver1.0となったら同時にベクターへ登録をと考えていたので、点数評価がある以上は半端な状態ではいけないと感じ、完成度のハードルが高くなってしまいました。

長くて分かりにくい話になってしまいましたが簡単にまとめると、やりかけのものを放っておくと後でそれくらいややこしくなって返ってくる、といった感じの話です。

ニシハラはこのサイトに来る場合、ヤフーから検索して来ている

 あっという間に2月ももう終わりですね。一年を通してよく使われそうなこのフレーズも、28日までしかない2月だとなんだかリアルに感じられます。物事をギリギリまで溜め込む人間にとって日数の短い2月というのはなかなかの曲者です。
 更新頻度が高いとは言えないこのホームページですが、それに反比例するかのようにニシハラはよくここに来ます。大抵は掲示板をチェックして去っていくだけなのですが、週休二日くらいのペースで訪問しているので一番の常連と言っても間違いじゃないかもしれません。
 ところで、皆さんはこのサイトに来る時どうのようにしてこられたのでしょうか。私はと言うと、題名にも書かれているようにヤフーから検索して来ています。検索すると大抵ベクターのサイトが出てくるので、そこの作者情報ページのリンクを辿ってようやく到着します。ちなみに検索キーワードは「戦火の大陸」です。別にサイト名でも混迷の大陸でもいいのですが、開設当初からやっているのでその名残りがすっかり習慣になってしまいました。戦火の大陸を公開したのはこのホームページができるよりも何ヶ月か前だったので、開設間もない時期でも既に検索結果に反映されていたことがその理由です。後ろめたいことなんて何もないはずなのですが、ヤフーのサイト→ベクターのサイト→このサイトというように、まるで第三国を経由して亡命でもするかのようなルートを通って来ているのです。サイトをブラウザのお気に入りに登録すれば話が早いのですが、自分のサイトをお気に入りにするというのは自画自賛してるようでなんだかむず痒いのです。元々その機能をあまり使っていないということもありますが。

とりあえず、さっき確かめたらサイト名で検索した方が早いようなのでこれからはそちらのルートで来ることにします。

干支は一年を象徴する動物なのに、一月の間しか覚えられていない

 遅めの新年の挨拶を書こうと思ったら、今年の干支が何だったか少し詰まってしまいました。猪でしたね。一月の最初は年賀状やらCMやらで引っ張りだこだったのに、目にする機会がすっかりなくなっていました。この調子では2月になるとすっかり忘れ去られてそうで少し心配です。去年の12月、そういえば今年の干支はなんだったろうと同じように頭を捻っていましたが、あれは年末だったからではなく2月の時点からずっと忘れた状態だったのでしょうか。
それだけ短いブレイク期間にもかかわらず、今年の猪は「猪被害が急増」や「おいしい猪鍋」といったあまり嬉しくない扱われ方だったのは何故なのだろう。

 遅くなりましたが、明けましておめでとうございます。新年ということで今年の目標を立てることにしました。

1.戦火の大陸の目標:ストーリーを入れる
 ゲーム部分だけが淡々を進んでいくのは味気ない気がします。名前を考えるのだけで四苦八苦しているのですから、ゲームの内容を考えるのはやはり大変そうです。

2.混迷の大陸の目標:通信対戦機能をつける
 これは最初の頃から考えていた一番の目標です。ですが初心の頃に大きく掲げた目標ということもあり、具体的なことはまだ何も決まっていない状態です。

3.メタルサッカーの目標:携帯用ゲームを作る
 ゲーム自体がまだ完成していないので、まずはゲームをちゃんと形にするのが当初の目標です。その後はユニットのAIを強化し、サッカークラブ経営シミュレーションゲームを作ります。最終目標としてその経営の方で携帯用ゲームを作ります。

4.その他の目標:新しいゲームを作る
 ジャンク屋経営ゲーム:戦場の跡地からパーツを拾ってきて、機体を造って売るタイプのゲーム。
 バレーゲーム:メタルサッカーのシステムをバレーに置き換えたゲーム。

 これを全て達成する訳ではありません、というか無理です。この中のどれか一つくらいはやりたいなと。実際に達成できそうなのは1と4です。2と3は別のプログラム言語(JAVAなど)を覚える必要があるので、今年の目標と言いながら1年以上はかかるかもしれません。ですが、ゲームに関して何もしらない0の状態から何とかここまで来れたので、地道に続けて行きさえすれば何かしらの結果は出るはず。

今年の干支と同じように、今年の目標もしっかり覚えておかないといけません。

年末になると、あまり忙しくなくても忙しい気分になってくる

 三日坊主のように停滞していつ消えてもおかしくなかったブログですが、なんとか年を越せそうでホッとしています。何はともあれ、これが今年最後のブログです。タイトルは思ったことをなんとなく書いてみたので、内容とはあまり関係ありません。

 今年も一年、世間では色んなことがありました。色んなことがあったはずなのですが、年の瀬になるとそれらもあらかた忘れ去ってしまいました。未来を見据えているとか過去を振り返らないとかではなく、単に起こったことが右から左へと通り過ぎて頭に残っていないだけなのでどうしようもない奴です。とりあえず僅かな記憶を手繰り寄せて、自分の活動とも照らし合わせて今年起こった出来事を振り返ってみます。

 まず、サッカーワールドカップドイツ大会がありましたね。必死に機体の名前を考えていた初心を思い起こしたり、試合を見ながら「サッカーはターン制シミュレーションゲームにできるかもしれない」と新しいゲームを思いついたり、大会の内容とは全く関係のない部分で中々感慨深いイベントでした。しかしその後に行われた世界バレーを見て、「サッカーよりもバレーの方がターン制シミュレーションゲームに向いてるかも」などと心変わりをしたために未だにそのサッカーゲームは完成していません。日本代表と同じく、私にとっても多くの課題を残したワールドカップでした。

 少し地味かもしれませんが、冥王星の惑星除外も印象深い出来事でした。というのも、ちょうどその頃ゲームに出す軍の名前をどうしようか悩んでいたためです。特に天体に興味があるというわけでもないのですが、やはりそれなりにインパクトを持ったニュースだったので、その影響を受けて星の名前を取って軍の名前をつけようと思い立ちました。例によってメジャーどころから名前を取るのは気が進まなかったため、惑星名ではなく衛星名から拝借しました。このニュースがなければ名前を考えるのに後1ヶ月は悩んでいたかも知れません。科学分野なのに、もっぱらそれ以外のものを学んだような気がするニュースでした。

 今年の出来事を振り返ってみました。世間では色々ありましたが、個人的にはホームページを開設したことが私にとっての重大ニュースです。このホームページも誕生して7ヶ月経ち、いつの間にやら年末です。今年のことを反省しつつ、年が明けてもまた今までどおりに頑張っていきます。
皆さんもよいお年を。

このサイトのメインコンテンツは、掲示板である

 いつもと大して変わらないような出だしですが、今回の話はなんとこのホームページの誕生にも関わる重要なことなのです。

 私が最初にゲームを公開した時、ホームページを持っていなかったということは以前に書きました。ベクターにゲームを登録しているだけで十分だと考えていたため、そもそもホームページを作る予定すらありませんでした。ホームページ無しの活動として、プレイヤーから寄せられる感想やバグ報告を基にして修正を行い、その都度ベクターで公開するという流れを想定していたのです。難易度調整やバグ調べなどを自分一人のテストプレイだけで洗い直すのは不十分だと考えていたため、ゲームの公開後は多くの意見を取り入れてバージョンアップをしようと張りきっていました。しかし、後になってそれは考えが浅かったことを思い知らされました。そうした報告用の手段としてメールしか用意してなかったことです。

 よくよく考えてみれば、知らない相手に対してメールを送るというのはかなりハードルの高い行動です。自分の場合を振り返ってみても、フリーソフトについて何か気づいたことがあってもそれをわざわざメールを使ってまで報告しようとまでは思いません。案の定、しばらく待っていても感想やバグ報告がメールで届くことはありませんでした。

 そうこうするうちに戦火の大陸公開から1年近く経ち、混迷の大陸を公開した後にも全くメールの音沙汰がない状況が続きました。そんなある時、ふと思いついたのです。報告用の掲示板があればメールよりも手軽に報告をできるのではないか、と。それがきっかけとなりホームページの開設準備を始めました。ですから、掲示板を設置するためにこのホームページを作ったと言ってもいいくらいです。しかしそれまでホームページを作ったことなどなかったので、そこからが大変な作業でした。最初のブログでも書いたように、HP運営に関する知識など全く無く、準備不足のままスタートしたというのはそういった背景があったためです。

 このブログが始まったことも掲示板と関係があったります。メールよりも敷居が低いとはいえ、顔の見えない相手の掲示板に書き込みをするというのもそれなりの抵抗を感じることかもしれません。書き込みを募るためにはそれをしやすい雰囲気作りも必要だと考えたのです。ブログそのものというよりも、ブログを通してここを身近に感じてもらい、少しでも多くの意見を集められるようにと書き始めました。ですから、前にブログのタイトルを読んで近寄りがたい印象を感じた時はかなり慌てました。

このように、掲示板はこのホームページの誕生のきっかけになる程の最重要コンテンツだったのです。前置きが長くなったのでそろそろ今回の本題に入りましょう。

感想やバグ報告など、掲示板でお待ちしています。