Game Graphic Text Link Blog Index
2009/03/31






来月は上の四枚をベースにドット絵を用意しようと考えている。メカではそこそこ上手くいったけど、人物だとどうなるだろう。

2009/03/30

次回作

強制スクロールは良いのだけど、本当にスクロールしているのか不安になるときがある。

そこで、背景を追加してみた。予想通り滑らかに背景が動いている。これで緑の四角を描画してアタリを取る作業から開放される。

2009/03/29

次回作

2面の主役とも言える上下スクロールに分岐スクロールが完成。オオトリがまだ出来ていないけど、ある程度案があるからなんとかなると思う。

-

あひるさんておかっぱ萌えなんですか。

おかっぱ萌え以前におかっぱ以外まともに描けません。来月の落書きあたりからは違う髪形を用意する予定です。

2009/03/28

アニーのアトリエ

以前からアトリエシリーズに興味があったけど、結局遊ぶ機会が無かった。今回運良く新作がDSで出たから購入してみた。ちまちまと同じ作業の繰り返しだけど、なかなか面白い。

複数の材料から一つの材料・製品を作るのが基本。その材料を集めるための採取・戦闘パートと、材料を買うための依頼パートに分かれている。リゾート経営というおまけもあるけど、本当におまけ。

錬金術も戦闘も数をこなせばレベルアップしてより高度な製品を作れたり、より強い敵と戦えるようになる。RPGの基本をしっかり抑えていると言える。材料を集めるためとはいえ、基本的に文系のアニーが本の角でモンスターを撲殺するのはどうかと思うけど、両方出来ないと駄目という制約があるのだろう。必要な材料をギルドに依頼できたら面白かったかも。

錬金術パートを捨て戦闘特化型にも出来るし、それようのエンドもある。ただ、それをするほど戦闘が凝っているわけではないため、純粋なバトルマニアでもない限り、あまり楽しめないのは残念。ただ材料集めの過程戦わないといけないのは面白いので、FF5並に凝っていれば評価も変わると思う。

ストーリーとキャラクターの方はかなり適当に作られている感じがする。上手く動かせば面白くなりそうな立ち位置のキャラが多いのに、ほとんど掘り下げられることが無いため、記号どまりで終わっている。「アニーがアトリエにいる、誰かが依頼を持ってくる、依頼のものを作る、依頼のものを渡す」がループするだけ。

全てがかなり良い具合にまとまっているけど、特筆すべきものが無いというのが感想。興味がある人にはお勧め出来るゲーム。

-

拍手ありがとう。

2009/03/27

クラシック調のループ

純粋なクラシック系のループで組み立ててみた。やはり難しい。どっちかというと4つのクラシック調の中で一番手こずった。

他のライブラリではストリング1とヴァイオリン1が対応していて、トラックに二つ載せると一応まともっぽい音がなるのに、このクラシックだけそれが無い。そのため、waveの波を見て、ある程度目押しでループを構築する羽目に。

もっと作りやすいループライブラリをメインにがんばっていこうと思う。

-

ノベル? 私はSTGかと思いました

これでノベル予測1、STG予測1になりました。実際は何が出来るかは見てのお楽しみ、と言いたい所ですが、ブログの書き込みである程度ばれていそうです。

本当はもう少し何を作っているのかぼかしたかったのですが、更新のネタ不足で必要以上に手の内を明かしてしまいました。

-

顔の輪郭に比べて目の位置が下過ぎる気が

ちょっとあごを後ろに引くように心がけながら描く

なるほど!あごは違和感ありまくりでしたが、目も少し低いですか。次の更新時にはそこら辺を意識して直したのは用意してみます。


2009/03/26

次回作

最初の1面が終わった。一つ面倒なバグがあるけど、なんとか処理できそう。

このペースで行けば、フリクラには画像関係以外では余裕で間に合いそう。肝心の画像が用意できずに躓くのはいつものこと?

2009/03/25



試験的な落書き。ラフの状態でスキャンして、コンピュータ上で線を書き直してみた。線に強弱が無いのが最大の問題。もう少し細くても良いかも。

試してみた限り、スキャン前のラフが綺麗なれば綺麗なほど、線の引きなおしが簡単になるみたいだ。

2009/03/24

次回作

画面のスクロールに左右されない敵の動きやマップの分岐が完成した。残すところはもう少し複雑な動きくらい。

フリクラ用だから5マップあたりがちょうど良い尺と考えている。3つのマップと4体のボスの案は完成している。システム的にも問題なく対応できるはず。

今月末に最初の2面を通して遊べる段階に持っていきたい。

2009/03/23

次回作

ファイルのロードと画面のスクロールを弄っていた。画面内にフラグを配置することにより、スクロールの有無や方向を調節している。

もう後一歩で見せられる形に持っていけるはず。

2009/03/22

クラシック調のループ

シネマティッククラシカル系のループ。おばけ屋敷とかに使えるかも。とはいえ、いまいちホラー調になりきれなかった。

-

ノベルゲーム製作乙、クリーチャー系なら才能あるかも

本当にノベルゲームを作っているかどうかは見てのお楽しみです。

当面はモンスター系をがんばって作ってみます。

2009/03/21







落書き。

-

拍手ありがとうx2。

2009/03/20

約束どおり、oggの再生の仕方を書いてみた。この手のチュートリアルは始めて書くので、色々不備があるかも。何か気付いた点があれば知らせてくれると助かります。

C#でogg再生

2009/03/19



今回のModoはAndy BrownのCartoon Kid。

私が作るとなんか出来損ないの雑魚モンスターみたいだ。とはいえ、まだ頭を作ったばかりだから最終的にはどういう形で落ち着くは不明。一応来月あたりに完成するはず。

2009/03/18

次のフリクラに何を作るかある程度決定。基本的な処理は全て終わった。マップと画像を用意すればある程度完成したといえる。

何を作っているかのヒント
1.このジャンルはあひるわーくす初。
2.作るのは簡単だけど、面白くするのは難しい。
3.コンテストで良く票の食い合いをしている。
4.私の苦手なジャンル。

良く行く他サイトの熱いトークに感化されての製作、ということにしておこう。

2009/03/17



ModoのUVテスト。前の方だけあわせて、後ろは適当。

このチュートリアル、後は事故再現があるけど、あれはアニメがメインだから今はやめておこう。

2009/03/16

フリクラ用に作っていたSLGはやはり間に合いそうも無い。シナリオが8割ほど完成しているだけに残念。次の次に出せるように努力しないと。

40日弱で作れるゲームを考えないといけない。実際に作業出来るのは25日前後になるだろう。遅くても今月末には画面写真の一つでも用意できないとまずいかも。

2009/03/15

クラシック調のループ

クラシックロックアンドポップス系のループで組み立ててみた。前回のは必死に音を合せていたけど、今回は最初からあったループをつぎはぎするだけだった。作るのは簡単だったけど、そのぶん出来には満足していない。

街中とかのBGMには使えそう。

-

拍手ありがとうx3。

2009/03/14



Modoテストの続き。

教材にはこれにアニメの解説が少々ついている。アニメ関連のことはもうすぐ出る次バージョン待ち。今でも十分出来るけど、作る予定のゲームに転用できそうも無いので、今は評価保留。

2009/03/13



Modoテストの続き。メッシュペイントは使いこなせれば色々面白そう。

-

拍手ありがとう。

2009/03/12

クラシック調のループ

モダンクラシック系のループを中心に組み立ててみた。もう少し激しい戦闘用の曲を作りたかったけど、これが実力の限界みたいだ。

後3つほどクラシック系のループライブラリがあるから、今月はクラシック調のものでがんばってみる予定。

しかし、ロックやジャズ系に比べて難しい。フルートとバイオリンの使い道がいまいちわからない。街の中みたいなもう少し平和的なループを考えれば良いのか?

2009/03/11

プンゲとフリクラ

プンゲがいよいよ復活らしい。これは結構期待できる。私も復活第1回にはなにかゲームを送らないと。

しかし、プンゲとフリクラ双方に同時にゲームを出すのは流石に無理。簡単なゲームでも数ヶ月は余裕でかかるのに。どうするかはプンゲが実際に復活してから考えるとしよう。

フリクラの方は、コンテストに参加したゲームが雑誌に取り上げられたりと、そこそこ有名になってきている。この調子でがんばっていけば問題ないだろう。

フリクラに出す予定のゲームだけど、いつも通り大作思考過ぎるのが原因で間に合わないかも。来週あたりの進歩状況で切るかどうか決めないといけない。

-

拍手ありがとうx2。

2009/03/10

C#とOgg

遂に最終章!

全部一つにまとめたら簡単に動いた。

最後の大難関があるかと思ったらそれも無く、あっさり完成してしまった。結果だけ見るのなら、次のフリクラには音楽付きのゲームを出せることになった。

ソースコードの方はちょっと手直しして20日前後に公開予定。私が書いた部分はoggと同様のBSD系のライセンスにするからクローズドソースや市販ゲームにも問題なく組み込める。



2009/03/09



Modoテストの続き。

2009/03/08

C#とOgg

さて、C++のDLLでロードしたwaveをC#に送るという難関をどう解決するか。簡単と思っていたものが信じられないほど難しいのはいつものこと。とはいえ、流石に今回は前回語ったファイルに保存して再読み込みを実装しようかと思った。実際、動いているのが少々不思議なくらい面倒だった。

最初はC++のchar*とC#のbyte[]でデータのやり取りをしようと考えた。基本コンセプト的には正しいはず。しかし、メモリ確保問題で躓いた。どこでnewやmallocを使うか。本来はDLL内部でやらないといけない。でもDLL内部で確保したメモリは元のプログラムには返せない。それどころか、C#でメモリを確保しても、DLLには持って行くことができない。

ここで挫折しかけたのは言うまでも無い。

しかし、GlobalAllocという便利なものがある。これを使って見るのも手かもしれない。されど、上手くいかない。実はGlobalLockもあわせて使わないといけない。でも、駄目。更にC#でMarshal.AllocHGlobalを使わないといけない。これでやっと音がなるまでにはなった。

整理するとこんな感じ。
1. C#でMarshal.AllocHGlobalを使って必要なメモリを確保。
2. DLLには[In][Out] ref IntPtrでそれを送る。
3. DLLはvoid** ptrとしてそれを受け取る。
4. DLLで*ptrをGlobalLockする。
5. DLLでファイルを読み込んで、メモリに流し込む。
6. DLLで*ptrをGlobalUnlockする。
7. C#でIntPtrをMarshal.Copyでbyte[]に流し込む。

ここで一つ滅茶苦茶大きな問題がある。このやり方ではoggの読み込みは絶対に成功しない。waveやbmpでは問題ないけど、oggやzipでは駄目。

なぜでしょう?この謎の答え分かる?

答えは(1.)の段階のメモリ確保。メモリはファイルのサイズが分からないと確保できない!waveの時はサイズをロードする前に確認できたけど、oggは圧縮された形式。ファイルサイズは事前に確認できない。

これを解決する方法は二つある。

一つは2回読み込む方法。最初の一回でoggを予めwave化して、その時のサイズを確認。そのサイズを元にMarshal.AllocHGlobalでメモリを確保。後は上の通り。しかし、これでは2度手間。もっと有効な方法は無いものか?Marshal.AllocHGlobalをDLL内で呼ぶ、GlobalAllocは何故か上手くいかない。

そこで調べ上げたのがGlobalReAlloc。これはGlobalAllocされたメモリを再度確保する優れもの。C#で1 byteほどMarshal.AllocHGlobalして、それをDLLに送る。DLLでoggのサイズを確認して、GlobalReAllocで確保されたメモリを正しいサイズに変更。信じられないけど、上手く行った。これが二つ目の方法。

もう少しテストしないとなんとも言えないけど、C#は自分の確保したメモリのエントリーポイントを何らかの方法で記憶しているみたい。そのポイントが変更されない限り、GlobalReAllocで確保されたメモリを増やしても問題が無いみたい。DLL内でGlobalAllocしてもC#がメモリをアクセスできないのはこのエントリーポイントが見つけられないから?

何はともあれ、動けば良いからC#の内部事情なんて無視して最後の難関に移る予定。

ここまでで8割完成。それと、完成したら綺麗にしたソースコードを公開予定。C#でoggを鳴らしたい人がいたら、使うと良い。

2009/03/07





落書き。

2009/03/06

C#とOgg

oggを鳴らすと言っても、一筋縄では行かない。いかにして行動すべきか。

ここで一度手元にあるコードを調べてみた。

1. C#でメモリ内のwaveを鳴らすのは出来ている。

2. C#からC++のDLLに命令を送り、データを受信する機能は出来ている。大きいサイズのデータはテストしていない。

3. C++でoggを読み込み、waveに変更する機能も出来ている。

4. (3.)のwaveを鳴らす機能は出来ていない。

(4.)をとにかく仕上げて、そこからC#とC++の連携強化を計るのが上策。進み具合と難易度によって、DLLでwaveをロードして、そのデータをC#のプログラムに返しても良いかもしれない。こうすれば、C#とDLLのやり取りの間に問題が無いかどうか確認できる。

さて、本題の(4.)だけど、これは以前ゲームでoggを鳴らしていた時のコードをそのまま再利用。簡単に出来ると思ったのに、予想外の落とし穴にあってしまった。

ogg>wave>DirectSoundのパターンでは問題なく音が鳴った。しかし、DirectSoundはあまり使われなくなっているし、Managed DirectXもお蔵入りになっている。そうすると、Windowsにはじめからある、PlaySoundで音を鳴らすことになる。

そこで、データをPlaySoundに入れてみた。音が鳴らない。何故に?最初はPlaySoundの使い方が間違っているのではと思って色々調べてみたけど、概ね正しいみたいだった。

そこで考えた。変換されたデータをwaveファイルとして保存したらどうか。正しく変換されていれば、Windowsから直接演奏させることが出来る。最悪の場合、ゲームでも変換データを一時ハードディスクに保存して、それを読み込むというのも手ではある。

ファイルに保存したwaveを鳴らそうとしたら、今度はMedia Playerが不正ファイルだと文句を言ってきた。そうなると、問題はPlaySoundでは無く、変換のほうか?

ファイルサイズを確認する限り、オリジナルのwaveとoggから変換したwaveに差はほとんど無い。テキストファイルとして開けてみたら、最初のRIFFの所とファイルのデータそのものは一致していた。

しかし、ヘッダ部分が少し違う。一体どうして?そこでwaveのヘッダの情報を検索。私の使っているヘッダが正常のよりも2byteも多い。これが原因だった。

WAVEFORMATとbitrateをWAVEFORMATEXで代用したために2byte多くなっていた。間違っていたヘッダのサイズ指定そのものは正しかったから、ヘッダの後からデータをアクセスする分には問題が無かった。DirectSoundの時音が鳴ったのは、ヘッダ情報を飛ばしていたのが理由かもしれない。

ヘッダ情報を正して、再度ファイルを出力。そして、ファイルを調べる間も無く、スピーカーから音が鳴り出した。

これで6割程度完成と思っておこう。

2009/03/05





落書き。

2009/03/04

C#とOgg

先月はほとんどノータッチだったけど、今もこの問題をどう処理するか迷っている。ネットで検索してもこれだ、という答えが無いのが悲しい。

oggとvorbisを一つのdllにまとめて、C#で読み込み関連をやるというサイトは発見した。しかし、このやり方にはゲームで音を鳴らす観点から見ると少々疑問がある。

独自dllを作るのなら、いっそファイルの読み込みもdll内でやって、waveをc#のゲームに返したらよいのでは?

ゲームそのものがoggの存在を知る必要は無い。音を鳴らすにもどっちみちwaveに変換しないといけないし。

一応4割程度完成した。しかし、oggもvorbisも内部コードが酷い。最初は全部C#化しようと思って、色々弄っていたけど、あれが本当にコンパイルするとは、そっちのほうが驚き。

C#から呼び出すdllにする際にオリジナルのコードがどう影響するか、興味深い。私のコードがのりの役割を果たすから、そうそう影響しないはずだけど、それが原因で違うところに問題が出て、大騒ぎになったりして。

今月中にはソースと解説を公開したい。なんとか月末までには終わりたい。

2009/03/03



Modoテストの続き。

2009/03/02

The Settlers Heritage of Kings

久々に新しいRTSに手を出してみた。防御が強いのは守勢大好きな私としてはうれしい。しかし、時間がかかることもあり、どうしても面倒な感じがある。勝ったと確信したのに、リソースがたまるまで2時間ほど余分にかかったり、小手先のテクで難易度が劇的に変わったりと、もう後一歩欲しかった。それと、敵のリソース無限、タイマーで兵隊増殖はひどい。リソースが枯れ果てた相手を圧倒的戦力で蹂躙できないのはつらい。本作は普通の中世RTSだったのに、拡張版は半端にファンタジー要素が追加されて難易度も戦略も完全破綻。

以下、話のネタバレとちょっとしたクリアメモ。

お話は単純明快。王の息子であるDarioが悪の従兄弟、Kerberosを退治して、めでたしめでたし。拡張版では東に行って悪魔のような種族とそれを操る悪い魔女を倒して、めでたしめでたし。RTSにストーリーはいらないという人もいるけど、これはひどい。百歩譲って本作は簡単な勧善懲悪ものと割り切っても拡張版の話はどうやっても援護できない。

本作のクリアの仕方はネットに転がっているから、そっちに譲るとしよう。ここは検索では出てこなかった拡張版のマップ攻略。中盤のマップの順番が違うかも。

1.単純なマップ。特に書く事なし。橋が完成したら反対側から大軍が攻めてくるのはお約束。

2.時間がかかる力押しマップ。盗賊の塔は東から弓兵で攻撃すれば余裕で壊せる。北東の岩は壊すだけ時間の無駄。東から来る騎馬部隊を盗賊団とタワーで防いだら後はノロノロとクリアするだけ。

3.街を守るマップ。敵はとにかく大砲に弱い。三つの入り口に5つずつタワーを立てて、槍兵にタワー防衛の任務を命じればほぼ全自動で倒せる。残りマップの大半はこれの亜流。槍兵と砲のペアさえ揃えば敵はいないも同然。

4.盗賊の巣窟を掃除して、キャラバン護送。掃除した後に井戸を作らないといけない。ちなみに井戸は労働者のサブメニューから選べる。これに気付かず一時間以上無駄に。イベントを一切進めず、最高まで街を発展させてから行動開始。ちなみに敵はマップ端からの無限湧き。故にキャラバンの移動ルートにタワーや兵隊を配置するのを忘れずに。

5.普通の人間と戦う最後のマップ。東か西の街を犠牲にして、もう一方を守る。迷わずリソースがある東。後は、西に通じる橋を落として東の入り口両方にタワーと槍兵で固める。南の騎士団にも応援を頼む。騎士団の僧侶救出はトラップだから無視。その後全ての敵を撃破するか、南西にある裏道を通って、ピンポイントで敵本陣を砲撃するかはおまかせ。ピンポイントでやるのなら、頃合を見て東の橋も落とすと敵の攻撃が来なくなる。

6.村を守るマップ。その後敵の基地を数回叩く。槍兵と砲兵が入れば後は楽。第2の村の海岸線にタワーを立てて、槍兵に防衛を命じておけば冬場の攻撃も楽にしのげる。

7.街を守るマップ超難易度版。敵を殲滅させないといけない。しかし、敵は砲台にはめちゃくちゃ弱い。砲台の数さえ揃えられたら雑魚になる。援軍を呼ぶためにたくさんのリソースがいるけど、来るのは銃士が3隊。はっきり言って敵を自動追尾する以外使い道が無い。ここからは労働者至上主義のマップ。30人ほど作り、一気にリソースを集める。一番東の島には敵がいないけど、北の二つには結構いる。傭兵の砲兵と槍兵で潰す。後、タイマーが0になるまでに気象台を作る。チャージが間に合わないようなら、教会の鐘を鳴らす。3回ほど鳴らせば、体感的に6倍以上のスピードでチャージが出来る。敵は冬になると南の三つの島と北の二つの島から攻めてくる。凍った水の上を走ってくるから脅威となっているけど、気象台さえ完成していれば、すぐに夏に戻すことが出来る。これで南からはこっちから仕掛けないとこれない。北もそれに至る橋を爆破しておくと敵がこれない。北西の島にはタワーと槍兵、槍兵の宿舎を用意しておけば面白いように北二つの島を制覇できる。後は南の3島に橋を一つずつかけて、砲兵と槍兵で蹂躙。

8.複数の島からなるマップ。冬場は一大平原と化す。同盟軍は巨大だけど、橋が架かってないと動きたくないと文句を言う。三つの拠点から一つを選んで開始。敵からもっとも遠い西を選択。リソースが少ないとか言われているけど、十分すぎるほどある。今回も労働者を大量動員。気象台を作れるまでがんばる。敵は橋をかけない限り冬場しか攻撃してこない。冬になったらすぐに夏に切り替える。これで三つ目の街まで楽に進める。西の街の南東に敵の前線基地がある。用意が出来次第、冬場に砲兵と槍兵で潰しておく。ちなみに北西の島には岩リソースが取れるところが二つある。橋に必要なリソースはここで揃う。

9.最終マップ。最初は水のおかげで敵とは分断されている。当然イベントは進めずに自軍強化。鉄以外は余裕で揃う。砲兵以外の傭兵を雇って東の盗賊の塔を潰す。南の科学者の助手に話すと、南東の敵が攻めてくる。傭兵の砲兵と肉壁がいれば簡単に対処できる。騎士団に大金を払っておくのも悪くない選択。後々役に立つ。準備が出来るまで絶対に助けた科学者と話しては駄目。話すと敵と陸続きになり、激しい戦闘が始まる。敵は3つのルートから攻めてくる。そこにタワー2つと槍兵を配置しておく。これで9割方自動対処可能。しかし、科学者を助けた近くから自動湧きするらしく、そこだけは注意が必要。後は北の町に行って、そこから東に攻める。ちょうど敵の裏手に出る。十字路にあたるごとに労働者にタワーを立てさせる。槍兵と大量の砲兵、そしてタワーさえあれば特に指示を出さずにも勝てる。そして感動も何も無いエンディング。

-

拍手ありがとう。

2009/03/01

毎度おなじみの月初め反省会。

先月の目標と結果

目標結果
落書き100100
ホームページアップデートアップデート
フリクラ4無事終了無事終了


落書きは100枚完成。最後の方は3月に入っていた気がするけど、誤差の範囲内ということにしておこう。マンガの基本ドリル2マンガの基本ドリル3を終わり、萌えキャラの上手な描き方を開始。

ホームページのアップデートは無事終了。主に3つのアップデートを行った。まずはドット絵を大量に追加。次にゲームを全てアップロード。プンゲに送って自サイトでは未公開だったゲームを公開しておいた。最後に、日にちを指定してリンクを貼れるようにしておいた。日付をクリックするとそのリンクに飛べるようになっているから、外部からもリンクしやすいはず。

フリクラ4も無事に終わった。フリクラ5は問題ないと思うけど、フリクラ6あたりはどうなっているだろう。将来起こりうる懸念材料に関して先月書いたら、予想外に反響が大きかった。コンテストを運営するならもう少し上手く書くべきだったのではと、今も少し悔いている。ニュートラルなスタンスで構えたいけど、やはりオリジナルプログラム製作者のことを少し優遇してしまっているのだろう。

今月の目標

1.落書き3枚。
2.3DCG4つ。
3.音楽4曲。

なんと意外にも今月もドット絵無しの月になる。どうしてもやりたいネタが無い。このシリーズをやってというリクエストがあればかなり前向きに検討する。

落書きはいつものペースに戻る。先月の行動で少しは上手くなっていれば良いけど。

3DCGと音楽は今月少し集中してやる予定。何が出来るやら。


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

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