Game Graphic Text Link Blog Index
2006/03/31

Great Battleship!

Great Battleship! 1.0

遂に完成。実際は0.5bとほとんど同じ。唯一の違いは敵が見えるか見えないか。

色々あったけど、これでやっと次のに取り掛かれる。一両日中にGamesに新しいセクションを設ける予定。そこで全6バージョンダウンロードできるようにしておく。

2006/03/30



ついにLittle Busters!ドット絵完成。全ドットサイズを170x90に統一しておいた。

2006/03/29

今日は急に体調不良に見舞われた・・・・・・。

たぶん久方ぶりに行ったデパートの人ごみにやられたのだろう。お目当ての店に行ってみると、閉店5割引セールを開催していた。あそこで唯一行く店だから閉まるのは悲しいけど、せっかくの5割引ということで棚を散策。

流石にいいものはほとんど売れていたけど、2、3点興味を引くものがあった。ただ、倉庫から取り出してきたのか、埃が凄かったのも確か。帰りしな、ちょっと気分が悪くなったので、ドット絵は後回しにして寝てしまった。

幸い、朝起きたら完全復活していたので助かった。風邪にでもランクアップしていたら大変だった。何はともあれ、明日こそドット絵を仕上げないと。

2006/03/28



左がオリジナル、右が西園美魚のリミックス版。

顔、髪型、靴とかなり弄ってみた。しかし、どうしてもおばさんくさい雰囲気が抜けない。最後に取っておいたわりにちょっとショック。

後、必須アイテムでもある日傘がドット素材を語る上でかなり邪魔。ある程度のサイズ統一をはかりたくても、日傘の分だけ美魚のサイズが大きくなってしまう。明日アップする素材バージョンでは日傘無しのバージョン用意することになると思う。

2006/03/27

Great Battleship!

以前はpython版を作ってみようとか言っていたけど、時間的に無理みたい。裏でこそこそやると思うけど、成果物が世に出るのは当分先になりそう。

2006/03/26



左がオリジナル、右が神北小毬のリミックス版。

目立つところでは髪のリボンを変更しておいた。右手の向きや顔の目の位置なども微修正している。

2006/03/25

SpellForce - エンディングネタバレ

悪の親玉と対面する主人公。ちょうど悪の親玉は過去へ行くゲートを開き終わったところ。これで過去に戻り、世界を破壊したコンヴォケーションを今度は成功させ、神の力を得ると宣言する。

主人公は何も出来ないまま、彼が過去に消えるのを見守るだけ。なぜなら、悪の親玉は若き頃のローヘンだったから!

過去に戻ったローヘンは主人公から奪った歴史書で真実を知り、過ちを犯す若きローヘンを止めるために行動する。その課程で主人公を目覚めさせる。そして第1章へ戻る。

2006/03/24

SpellForce - 第23章閉じる輪

これがファイナルステージ。どんな強敵がいるか、わくわくして書きたいのも山々だけど、実際は一人で道なりに進んで雑魚を殲滅するだけ。途中で部隊やヒーローを作れるけど、作るだけ無駄。なぜなら敵があきらかに弱すぎるから。

RTSにおいて、敵が強すぎてバランス崩壊はたまにあるけど、主人公、それも単体、が強すぎて敵300体近くを一人で壊滅されられる逆バランス崩壊も珍しい。ちなみにラスボスであるソウルフォージャーは2回取りまき付きで復活するけど、それすら主人公の敵では無い。

そして、遂に悪の親玉である魔法使いとの最終決戦かと思った矢先、エンディングムービーが始まる。なんと、真の敵と戦わないどころか、続編への引きすらない!主人公は最初から最後まで悪の親玉の忠実な手駒として終わる、とんでもないダウナー系エンド。

私の作るゲームでも見習わなければ(笑。

2006/03/23

SpellForce - 第22章生きている森

無敵キャラであるブラッドアッシュを誘導して破壊不可能なブラックタワーを壊して貰うマップ。RPGやRTSなど何処吹く風状態なパズルマップ。

誘導アイテムである森の心臓を手に入れると、ブラッドアッシュは敵になる。そして、主人公を追尾する。

ただし、他のユニットがブラッドアッシュの眼前を通り過ぎれば、そのユニットを追う。生け贄用のダークエルフを量産して、ブラッドアッシュの前を通り過ぎ、ブラックタワーに突撃させる。

生け贄はブラックタワーで瞬殺されるけど、攻撃を受けたブラッドアッシュがそのタワーを破壊してくれる。

それを繰り返せばマップクリア。ただし、二つ注意点がある。一つはブラッドアッシュの足が遅いため、誘導用の生け贄との距離が空きすぎるかもしれない。そうならないように付かず離れずの距離でいないといけない。

もう一つはブラックタワーの攻撃を受けないとブラッドアッシュは反撃しない、という思考ルーチン。ブラックタワーが真横にあるのに、攻撃されなかったから素通り、というのもたまにある。

2006/03/22



左がオリジナル、右が来ヶ谷唯湖のリミックス版。

完全に別人ということでファイナルアンサー。基本的には顔と髪の毛を完全に書き直した。顔が1ピクセル程ずれていて、髪の毛がそれに釣られて2ピクセル程ずれていたのが前回の失敗の理由。

後、髪の毛の色が全然違っていた。目の色をベースに薄い色を選んだんだけど、それが間違いの始まり。実際はグレー系の髪の毛だったのに青系の髪の毛になってしまった。

2006/03/21

SpellForce - ウルガサへ

まず即死トラップが道をさえぎる迷路もどきを抜けないといけない。はっきり言って、時間の無駄。

その後、ダークエルフの長に会って部隊を分けてもらう。その後、トロールとダークエルフを起動して部隊を作る。途中ブレイドや猫人間であるキサールに邪魔されるが、軽く倒す。

大部隊を率いて山を登ると、ダークエルフのハイアーコンがいる。日本語で言うなら、上級神官みたいなもの。彼を助けて、魔法で即死トラップの黒い塔を無効化してもらう。

後はその魔法が切れる前に次のマップへ走りこむだけ。そういえば、これってRTSだったんだな、となんとなく思い出せるマップ。

2006/03/20



左がオリジナル、右が笹瀬川佐々美のリミックス版。

今回は髪の毛の手直しをメインに行った。前回は髪の毛の膨らみ方がおかしかった。後、右のほうは少し趣味に走りすぎたかも?

右腕の長さも微調整しておいた。これでもう少し自然にみえると思う。

2006/03/19

Great Battleship!

さて、boostもコンパイルし、pythonもインストールした。さて、サンプルを勉強して・・・・・・。

あれ、boostいらない?てっきりboostが絶対必要かと思っていたけど、どうもそうでも無いみたいだ。boostの凄さは利いているけど、無くても出来るなら無いほうが簡単のはず。ということでまずはboost無しでやってみる。

コンパイルしてみると、デバッグビルドが出来ない・・・・・・。問題はdllが見つからないためらしい。で、ネットで検索すると、そのdllはインストーラーにはついてこないらしい。面倒なんでpythonの設定ヘッダを書き換えて、デバッグでもpythonのみリリースビルドのdllを使用するようにしておいた。

ちょっとしたスクリプトエンジン探しがなんか途方もない冒険になりつつあるのは気のせいだろうか?いうなれば、近所の駄菓子屋に行くためにマゼラン星雲往復ルートをとっているようなものか?

2006/03/18



左がオリジナル、右が能美クドリャフカのリミックス版。

オリジナルでもっとも完成度が高かったと思うクドだけど、今回は更に改良を重ねた。特に先月話していた服のシワが追加できたことが大きい。全てマントのおかげ。

他には髪の毛を2色から3色にしたりと小さいけど重要な変更を加えておいた。

2006/03/17

Great Battleship!

さて、Luaが使えるめどがたたないので、pythonに移ってみた。pythonをダウンロードしてインストール。これは簡単。

次はc++とpythonのやり取りをするためにboost pythonをダウンロード。実際はboost全部ダウンロードしないといけない。

さて、ここで問題。boostはビルドしないといけない・・・・・・。すなわち、自分で環境を整えて自分のアプリを出力するのと同じ方法でDLLを作成することになる。

これには色々とてこずらされた。Visual Studio馴れしているから4年ぶりにDOS窓をデータ出力以外の目的で起動。

馴れていると1分くらいで出来そうだけど、実際は3時間以上は掛かった。そして、ついにビルドに成功。後は実際に組み込むだけ。


2006/03/16

Great Battleship!

Luaを弄っていたけど、やはり世界レベルでは使えないのか?英語しか扱わないなら一応大丈夫だけど、日本語の対応が出来ていない。

基本的にUnicodeサポートが無いため、Unicode保存したLuaファイルが使用できない。DirectXそのものがUnicode対応から専用に移っている今、Luaとの相性は悪くなる一方。

Unicodeのファイルを読み込めたりすれば大丈夫なんだけど、それすらも出来ないのが一番の問題。どうしてもLuaを使いたいのなら、ANSIで保存して、日本語テキストは専用のファイルに保存、Luaにはそのテキストをアクセスするための番号を入れる、という手になる。非効率過ぎ・・・・・・。

一応pythonでも試してみるか?

2006/03/15

Great Battleship!

今日はLua漬けだった。ネットには思ったほど情報が無かったのがちょっと意外。LuaとC/C++のデータ受け渡し方法が特殊すぎて1つ位しかサンプルが無い、というのも理由の一つかもしれない。ネットで検索すれば受け渡し方法のコードを載せているサイトは少々あるけど、基本的に一つの親コードから派生したコードで、原理の説明もコピペまたは説明無しのが多い。

幸い、今回は簡単なデータを受け取るだけだから、簡単なサンプルコードでもなんとかなった。問題はそのデータを階層化しようと考えたときに起こった。

基本的に「階層型データファイルから特定の情報を引き出す方法」はLuaには無い。そこで階層を移動する+特定の情報を引き出すの二つを組み合わせるしかない。ネットには簡単なサンプルも無かったので成功するまでかなり骨が折れた。

成功したから良いものの、失敗していれば大ショックを受けていただろう。完成したらこの部分のコードだけ公開するかも?

後はLuaとUnicodeの相性問題だけ。良好なら次のRPGでも使えるけど、駄目なら今回のゲームで見切ることになる。


2006/03/14



左がオリジナル、右が二木佳奈多のリミックス版。

髪の毛をやり直し、顔を1ピクセルずらした。以前は顔が突き出た感じがしたけど、これで修正できたはず。他には小さなところを2、3点直している。

2006/03/13



左がオリジナル、右が三枝葉留佳のリミックス版。

主だった変更点としては顔の角度と左靴。以前懸念した左足が長すぎたのではなく、左靴が小さすぎたのが問題だった。

それと、素材のサイズを縦210から160に変更しておいた。西園美魚の日傘のために210にしていたけど、やはり大きすぎる。彼女は日傘無しバージョンも作っておこうと考えている。そうすれば全員縦160以内に収まるはず。


2006/03/12

Great Battleship!

ベータ版公開:
Great Battleship! 0.5b

ベータ版の通り、問題がなければこれで完成。

ただ、3日前に書いたようにLua版も用意するので、0.6bと0.7bがLua版になると思う。最終的には0.8位でファイナルになると思う。

2006/03/11

Great Battleship!



船が撃墜された時に鳴る音で撃墜の有無が判るとはいえ、多少の不確定要素を孕んでいるのも事実。そこで、テキストで撃墜の有無を表示しようと少し前から考えていた。

で、表示するなら一昔のゲームみたいにしようと思い立った。灯りを下から照らして、文字が浮かび上がるビニールシート(?)みたいなのが昔あったけど、それを再現してみた。記憶によると、横線がたくさん走っていて、必ず端の方が暗い。

結果的に出来たのがこれ。船が生存していれば黄色系の色で文字が表示される。撃墜されると灯りが消えたように、灰色の文字が表示される。

2006/03/10

Great Battleship!

今日はちょっとLuaを弄ってみた。思ったより使いやすい。

最近のゲームは独自のスクリプトか既存のスクリプトのどちらかを使うのが一般的。現在一番話題のスクリプトがLua。独自スクリプトでも十分だけど、次に作るのがRPGだとすると、Luaのような強力なスクリプトに切り替えるのも手かな、と思っている。

Luaのテストも兼ねて、独自スクリプト版とLua版を用意することになると思う。


2006/03/09

Great Battleship!

現在、背景画像を弄っている最中。少しでもFPSの消費を抑えようと努力しているけど、未だ結果が出ない。

大きな画像一枚よりも複数の小さな画像数枚の方が効率的のはずだけど、テストした限りそれほどの差が無い。

更に、透過処理された画像のほうがFPSの消費が少ないことが解った。かなり意外。

そんなこんなで悪戦苦闘中。背景だけで-100から-150FPSになるのは癪だけど仕方ないかもしれない。

2006/03/08



左がオリジナル、右が棗鈴のリミックス版。

主だった変更点としては顔と髪の毛。特に前髪はもっとシャープにして、後ろ髪も短くしておいた。後、顔と首も微修正して、かわいさを増しておいた。

素材版はドット絵の方に追加しておいた。


2006/03/07

Great Battleship!

試作品公開:
Great Battleship! 0.4a

今回はレスポンスを中心に変更を加えてみた。以前の音無し版並に良いレスポンスを保ちながら、音飛び無しを実現した。

他の改良点としてはプレイヤーターンで勝利しても、エネミーターンがある問題を直しておいた。

最後に、完成品の前の最後のアルファ版ということで敵の船が見えるようにしておいた。これで処理でずるしていないのがわかるはず。

次はアップデートはベータ版かファイナル版になる予定。今月中には完成するはず。

2006/03/06

SpellForce - 第20章ブレード嵐

敵の基地があるマップ。西、南、東に行くだけで楽にクリア出来る。最終マップに近づくにつれ、敵とほとんど戦わずに数分でマップクリア出来る。意図的にそう作られたのか解らないけど、かなり尻窄み感が強い。

ただ、レベルが低いとラスト面が面倒になるため、ここで経験値稼ぎをしても良い。その際、オークで部隊と塔を作りあげてからダークエルフを起動すると良い。ダークエルフが増殖開始のフラグの役目を担っている。敵は増殖と同時に塔の集中砲火を受けて死亡する。

さて、南東に囚われているサータリアスの元に行くと、「罠だ」と警告されるか早いか、両者凍りに閉じ込められる。ちなみにローヘンがやられた時と同じ魔法。

久々に登場した悪の親玉がサータリアスを殺す。そして主人公の持っている鳳凰石を奪う。それと同時にローヘンに手渡された一冊の本も奪われる。
(ちなみにこの本は歴史書で、世界がどうして破滅したか記されている。)

ここで悪の親玉またも主人公を見逃してワープする。雑魚のブレイドに倒されそうになるも、ユリアスとクレグが助けに入る。

主人公は何があっても悪の親玉を倒すと宣言して次のマップへ。


2006/03/05

Great Battleship!

マウスで枠をクリックした後、他の枠をクリックすると、その枠も実行される。どういうことかと言うと、ゲームを始めて、敵の音が終わる前に数箇所クリックすると、クリックした個所も処理される。無論、ちゃんと動作しているため、敵味方交互に攻撃する。

ただ、ゲームを早く終わらせることが出来る反面、見た目がいまいち。そこで、音が処理されている間は操作を受け付けるな、という風に変更しておいた。次回のアップデートには実装されている。

2006/03/04

Great Battleship!

試作品公開:
Great Battleship! 0.3a

今回はグラフィック面を大幅強化。四角ではなく、実際に船に見えるドット絵を用意した。

ただ、見た目を重視して、FPSがガタオチなのが欠点。画像サイズをもっと上手く処理したらFPSをもっと高い数値で維持できるはず。

2006/03/03



攻略可能キャラを全員一枚のファイルにまとめてみた。

手直しする際に、主に3つのことを変更する予定。
1.来ヶ谷唯湖を書き直す。等身も含めて駄目すぎる。
2.西園美魚の日傘を始めとして、小物の細部をつめる。
3.靴の大きさをある程度統一する。

他はパッと見た感じ、そこそこ大丈夫そう。三枝葉留佳の慎重が少し高すぎる気がしないでもないけど、これはリミックス時に調べてみるまで保留。

2006/03/02

3月になったことだし、今回は2月の総括と今月の目標を立てようと思う。

2月の目標は「ブログ更新週五日、ドット絵追加週二日、Great Battleship!体験版(alpha 2)アップの3つ。」前に二つは数字に換算すると、ブログ20回、ドット絵8枚になる。

実際は:
ブログ28回
ドット絵8枚
GBS!(alpha2)体験版公開中(一日遅れ)

ということで数字上はノルマ達成。とはいえ、2月は逃げるというように日数の少なさに泣かされた。実際、GBS!の新バージョンは一日遅れになるし、ドット絵も28日でぎりぎり間に合った。

今月の目標:ブログ更新週五日、ドット絵追加週二日、Great Battleship!マスターアップの3つ。

Great Battleship!は今月で終わりにしようと思っている。新ユニットとか加えようと考えていたけど、これ以上やると割に合わなくなる。来月からはもっと凄いミニゲームの製作ブログを始める予定。

ドット絵関連はLittleBusters!のリミックスでほぼ確定。他に2、3枚打てれば良いのだが・・・・・・。

2006/03/01

Great Battleship!

試作品公開:
Great Battleship! 0.2a

今回は音を追加。ミス、ヒット、撃墜の際に音が出る。

DirectX9 SDKの12月版を使用しているから2000とXPの両方で動くはず。


意見や拍手があればよろしく!

201210
201208
201206
201205
201204
201203
201202
201201
201112
201012
201011
201010
201009
201008
201007
201006
201005
201004
201003
201002
201001
200912
200911
200910
200909
200908
200907
200906
200905
200904
200903
200902
200901
200812
200811
200810
200809
200808
200807
200806
200805
200804
200803
200802
200801
200712
200711
200710
200709
200708
200707
200706
200705
200704
200703
200702
200701
200612
200611
200610
200609
200608
200607
200606
200605
200604
200603
200602
200601
200512