Game Graphic Text Link Blog Index
2009/05/31



咲-SAKI-から国広一を追加。

2009/05/30

DirectXを使ったレンダリングが遅すぎる問題、ついに解決。

以前書いたこと全否定。D3DTSS_TEXTURETRANSFORMFLAGSを使ったテクスチャの部分表示に成功したため、新しいテクスチャを用意する手間が省けた。

この方法を最初からしなかった理由は二つ。一つはD3DXSpriteはD3DTSS_TEXTURETRANSFORMFLAGSを無効にする、という思い込みから。どっかで読んだはずだけど、ヘルプを見ても記載がない。使っても問題ないのなら話は早い。

次はテクスチャの部分表示がうまくいかなかった。最初に試したときは部分表示を指定して、テクスチャになんらかの変化が見えるけど、それでも全体が表示されたままだった。

テクスチャの部分コピーやRendertargetを調べているうちに、テクスチャを拡大すれば良いのではと思い当たる。これが正解だった。表示するテクスチャの右上を指定して、残りが見えなくなるように拡大すれば良かったみたい。

とにかく、D3DXを使わずスプライトを描画するのは成功した。来月フォントを完成させられたら最高。

2009/05/29







今月の落書き。数をこなさないと下手になるのはいつも通り。前と斜めは次第点だけど、横がどうしてもうまくいかない。もう少し幅を増やせば良い気がするけど、書き上げるとどうもいまいち。

ヘッドショットだけではいい加減上達しているか分りづらいから、今度からはバストアップも用意したい。

2009/05/28



咲-SAKI-から龍門淵透華を追加。

2009/05/27



なんとか靴が出来た。来月あたりにはモデリングが完成するかな?

2009/05/26

DirectXを使ったレンダリングが遅すぎる問題だけど、未だ解決策は見つからず。

簡単なおさらい。
D3DXを使うと3000 fps。使わないと220 fps。

原因と対策が浮かばなくても、ある程度のデータは用意しないと。そこで色々試してみた。

描画する関数を呼ぶ際、毎回newでバッファを確保していた。これを削ると+1500 fps前後。一気にOK射程距離に?

次にIDirect3DSurface9を作っていた。それを削ると+500 fps。

最後にD3DXCreateTextureを削ると+1000 fps。

面白いことに総仕上げであるSurfaceからTextureにコピーはそれほどfpsに影響を及ぼさないみたいだ。

問題はfps確保と引き替えにスプライトを描画する術を失ったことか。しかし、原因がある程度特定できれば対策も立てられる。

着目すべきは「SurfaceからTextureにコピー」をしてもfpsに影響が少ないこと。元のデータをあらかじめ作ったテクスチャーにコピーできればいけるのでは、と思ってしまう。

それを実装してみると2400 fps出た!これならfpsとしては大満足。しかし、本来不明のはずのTextureのサイズをアプリ開始時に指定しているからこそなせる技。現実的には使用不可能。

複数のテクスチャーを捨て、一枚の巨大テクスチャーに書き込む方法にしたら良いのかも?しかし、そうなるとソートが鬼門に。今一度実験してみなくては。

2009/05/25



咲-SAKI-から須賀京太郎を追加。

2009/05/24



Modoの続き。襟元と爪を追加。親指の爪はポリゴンの並びが悪すぎて上手く作れなかった。

ポリゴンを作る時は次も考えないといけないということか。ドット絵みたいに簡単に書き直せないのは面倒。

後、本当は靴も追加したかったけど、これはどうしてもモデリング出来ず、今回は見送った。次のアップデートの時にはそれっぽいものを用意したい。

2009/05/23

新作を作るべく色々とプログラムを書いていた。サンプルでは3000 fps、自分のD3DXを使わないバージョンでは220 fps。駄目だ、遅すぎる。

1200 fps程出ていればなんとかなるかもと思っていたけど、これだけ圧倒的な差があると、ランタイムをダウンロードして、とお願いした方が手っ取り早そう。

fpsを速めるためにもう2カ所弄ってみようと思う。それでfpsが劇的に速くなれば良し、駄目ならD3DXを使うことにする。

2009/05/22

Modoとmddと

ゲームで3Dのモデルを表示する際、どうやってアニメさせるか常に迷う。

Modoで基本モデルを作るまでは良い。それをobjフォーマットにして、表示させるのも特に問題がない。(Modoがはき出すobjファイルには無駄が多いような気がするけど。)

しかし、objではアニメが出来ない。Modoも新バージョンは別として現在のバージョンではアニメが出来ない。Modoのアニメ機能が駄目そうと思われていた時、Messiah Studioの新バージョンが出た。Messiah Studioはmddでアニメを保存、Modoに返すことが出来るらしい。

そこで、テスト的にmddをC++のゲーム内に読み込むテストをしてみた。実際はコンソールにデータを書き出すだけだから、特に見せられるような物は無い。

一番の問題はMotorola Big Endianでファイルが保存されていること。面倒なコンバータを用意しないといけない。色々あったけど、最後はfloatをunsigned intにキャストしてごり押し。これが正解かちょっと気になるけど、テストとしては上出来。

結果として、理論上はなんとかなりそうだ。実際にこのルートで行くか分からないけど、一選択肢にはなりそう。

2009/05/21



今月の目標を見直してみたら3Dをやると書いてあった。すっかり忘れていた。Modoを久々に起動してみた。思ったよりも動作を覚えていたのは収穫といえるかも。

ということで急遽上半身を用意してみた。首と襟元がまだ出来ていないけど、それは次回更新のネタにする予定。

足以外のパーツが今月中に完成すればある程度OKではないかと考えている。テクスチャやアニメは近々出る4まで手を出さないのも手かもしれない。

2009/05/20



咲-SAKI-から竹井久を追加。

2009/05/19



咲-SAKI-から染谷まこを追加。

2009/05/18



咲-SAKI-から片岡優希を追加。

-

拍手ありがとう。

2009/05/17

Settlers 6 Rise of an Empire + The Eastern Realms

セトラーズ6の本編と拡張版をクリア。大半のイベントが時間ではなくフラグで始まるため、最初の領地に籠もって都市を完成させてからイベントを進めるのがクリアへの簡単な道。何もしなくて放っておけるなら良いけど、ちまちま建物をアップグレードしないといけなかったりして、面倒な作業が多い。システムは前作より良いけど、ゲームとしてはかなり劣る。

セトラーズは基本的にRTSのはず。はずなんだけど。今作からはなぜか住民や軍事施設を含めた建物を攻撃できない!たいまつで放火することは出来るけど、一部隊6人で放火しても建物一つ潰せるかどうか。そして、一回使ったら自陣の城か砦に戻らないと再度使えない。もう一つの方法は都市レベルをほぼ最高レベルまで上げて、投石機を使う。弾切れになるまで2つは潰せる。弾は敵陣でも補給できるからそこは一応評価すべきなのか?

RTSの基本は相手の生産力を奪って弱体化を計り、その後軍事力を持って制圧のはず。しかし相手のリソース無限+軍事施設破壊困難のためそんなセオリーは一切無駄。せめて破壊した施設を再度建築させるのが難しければ良かったのに、それすらも無い。一応建築ユニットは攻撃対象に指定できるけど、デフォルトでは絶対に攻撃しない。15部隊(90人=ゲームの事実上MAX軍事ユニット数)で中立エリアに立ち始めている相手の砦を囲んでも、建築ユニットは素通り。全軍の見ている前で砦完成、エリアを奪われるという羽目に。(その後、こっちが放火して砦占拠、エリア強奪になるわけだけど。)町の中に進入しても何事もなかったように日々の生活を満喫する民間人なんかもかなりシュール。

さて、エリアと砦の話が出てきたけど、これもこのゲームを無意味に面倒くさくしている。リソースを回収するにはそのエリアに砦を立てないといけない。中立エリアなら好きに回収させてくれても良いのに。そのため、領地のすぐ近くの岩や鉄リソースが砦建築コストが高すぎて入手不可能だったりする。なお、砦の建築コストはエリアによって個別に指定されている。難易度をあげるためだけに無駄に高いコストになっているところが多い。

他にも問題が多々あるけど、いちいち書いても仕方がない。それに見るべきところもある。一つは壁が立てられるということ。前作ではそれが出来ずに守りが劣勢だった。壁も建物同様ほとんど破壊不可能なため、一度石壁を用意すれば後は勝ったも同じ。逆に言うと敵の本拠地を攻めるのも不可能に近いということに。木壁ならなんとかなるけど、それもあくまで終盤のみ。

もう一つは支持率が戦闘力に直結しているのもなかなか面白い。前半のヒーローユニット無双に歯止めをかけている。普通に町を運営していたら中盤以降は気にしなくなるけど、疫病とかで暴落することもある。敵もこれの影響を受け、情報戦で支持率戦を仕掛けられたら面白かったのに。具体的に言うと、材木や食材など石壁の外の施設を破壊、それにより都市で箒や食料が作れず、住民が不満になる。支持率低下で戦力低下に繋がる、と。ここまで作り込んであったらここまで酷評されることはなかっただろうに。

最後に、拡張版からは物々交換所が出来て色々な物が交換できるようになった。主に4種類だけど、オート化されているから便利。とはいえ、上の砦と併せて、物々交換でしか必要リソースが手に入らないマップが拡張版では多く存在する。これまた難易度を上げるための仕掛けとしか機能していない。

前作の影響か、今回はさらにお話が無い。一応レッドプリンスという悪役がいることはいるけど、ほとんど空気。正義の王様であるプレイヤーと6人の騎士が悪を倒し世界を平和にしたというのが本編のストーリー。6人の騎士それぞれに必殺技があり、多少の個性化が図られている。バイキング騎士は嫁探しが上手、盗賊騎士は税金アップ、熱血騎士は兵隊が安い、宗教騎士はお布施の額が多い、商人騎士は売買レートが良い、そしてアサシン騎士は建物アップグレードが安い。

本編では一つだけ面白い仕掛けがあって、それは一番使わなかった騎士が裏切るということ。私のプレイでは宗教騎士だった。なお、続編にはこの6人のうち3人、熱血、商人、アサシンが継続して出る。正史ではこの3人は裏切らなかった可能性が高い。そうなるとバイキングと女騎士二人になる。バイキングは祖国を救ってもらい、なおかつ全バイキングの指導者から王様に仕えるお墨付きをもらっている。裏切る可能性は低い。続編も北方領地とは関係ない東だから出てこなかった可能性が高い。盗賊騎士はお金で雇われて仕えるようになった。そういう意味では忠誠度が一番低そう。しかし貧乏盗賊のお頭から王国最高位の騎士にまで上り詰めたのに、裏切るメリットがあるかどうか。似たもの同士故に敵のレッドプリンスを警戒していたし。最後の宗教騎士は熱血騎士と一緒に最初からいたため背景が不明。熱血騎士よりかなりの年上で最古参なのは間違いない。逆に言うと王国が小さい頃から国を支えていた重鎮ということに。後輩の熱血騎士と新米騎士の活躍で爆発的に領土が増え、帝国になる課程で窓際をやっていたのは間違いない。どっちが裏切ったか不明だけど、続編のお話的に宗教騎士がいないのはおかしい。正史でも彼女が裏切ったのでは、と考えている。

続編のストーリーは前作の焼き直しみたいなもの。女性がトップに立つ悪の宗教が東の国々を生き地獄に変えてしまった。正義の騎士が悪の魔女を倒してめでたしめでたし。続編はマップ数が少ないためか、騎士は前作の3人+新加入の王女騎士。王女と言ってもインド系。必殺技も強請でリソースを同盟・中立都市からゲット。これを使うとマップでは中盤まで手に入らない石や鉄のリソースを早い段階から入手できる。続編では彼女が完全に主力騎士になっており、お話的にもシステム的にも彼女以外はほとんど使い道がない。

時間があればやってみれば良いかも、なゲーム。おすすめは難しいかも?

2009/05/16

フリクラ

よし、総括も書き終わった。25ゲームもあると流石に大変。全部ピックアップできないから「ゲームを作る系」と「一発ネタ系」は全て外しておいた。ピックアップしたゲームについてもっと深く切り込むべきか迷うけど、総括であまり個人の意見を強く言うのもどうかと思うため、名前+紹介にとどめている。

次は昨日も書いたけど、リンク整理やサイトの色々な部分のアップデートに移らないといけない。メールと総括に全力を傾けていたから気づかなかったけど、どうやら結構やらないといけないことが多いみたいだ。

2009/05/15

フリクラ

やっと全部のメール送信完了。

明日は総括。それで一応今回は終わり。実はリンクの更新等色々とやらないといけないことがあるのだけど、それは2、3日先延ばししても大丈夫だろう。

-

改良版ではドット絵増やして

あの路線のドット絵を増やすのか。実はシリアスなモンスター調に変えようかと思っていた。しかし、あのまま萌えドットモンスターで続けても良いかも。改良版では確実に数が増えるのは確か。ボスとかも含めて20体前後を予定している。

2009/05/14

フリクラ

フリクラが終わって、結果をメールする準備を開始。十数人でも大変だったのに今回は24通用意しないといけない。

各種データを引っ張ってきてメールを作成するのが一番簡単なんだけど、未だ出来ていない。作者名と投票結果を別ファイルにいったん保存して、スクリプトでそれとコメントファイルを一つのメールにまとめている。

実に問題有りな処理。コンテストのバックボーン強化をそろそろ真剣に考えないといけないのかもしれない。今はコンテストごとにキーファイルのアップデート+特殊データファイルで対応しているけど、処理が追いつかなくなっている。ウェブ上で全自動化するか、オフラインで処理するプログラムを用意しないといけないかも。

2009/05/13

フリクラ

フリクラ無事終了。

参加数が多かったのは良かったけど、それ以上に色々と頭を悩ませる問題があった。

多重投票をはじめとした不正票はある程度防げたけど、「多重みたいだけど、確証がない」票はそのままにしておいた。これを主催者の裁量で削っていくと投票をする意味が無くなるし。

投票後、計上作業を違う人にやってもらうのも手かもしれない。この場合、「投票日、IPを元にしたハッシュ、1位、2位、健闘」の5フィールドのみ公開。と言ってもこれも計上者の考えが反映されるから完璧といえない。

不正投票があっても意味がないほどたくさんの人に投票してもらうのがベストなんだけど、そこはなかなかうまくいかない。

2009/05/12

ピコばとるぅ!

第5回フリクラの結果が出た。やはり、全然駄目との評価が圧倒的。色々理由付けることもできるけど、簡単に言えば、ゲームとしてつまらない。かわいいドット絵でお茶を濁してもやはり駄目だったか。

頂いたコメントへのレス。

処理が重い、遅いのは私の技術力の問題と予想。.NETが古いマシンでは遅いのかもしれないけど、それを理由には出来ない。次回作はC++とDirectXになるから、早くなっているはず。

ボスで逃げるとバグるのは完全に私のミス。逃げる選択をすることすら想定していなかった。闘技場だけじゃおもしろくないと思い、急遽ボス戦x2を入れたけど、それが原因でバグるとは情けない。もっとしっかり予定を立てないと。後、セーブ時にどれを選んでも一番上にしかセーブされないのも私のミス。セーブ・ロード機能の出来に満足して、その画面のテストが不十分だった。

最後に、ゲームが単調だというのもその通り。まほうのコマンドや無駄に多いパラメータはもっと複雑なゲームの名残。本当は魔法は8種類あって、状況によって使い分けるはずだった。しかし、状態異常が間に合わなくなって、回復と攻撃魔法の二種類になってしまった。パラメータも状態異常防御や必殺の一撃の発動に関わっていた。

とにかく、問題点を改善したニューバージョンを用意したい。来月あたりにリメイクのアルファ版を公開して、8月には完成させたい。

-

拍手ありがとう。

2009/05/11



咲-SAKI-から原村和を追加。

2009/05/10

久しぶりに普通等身で落書きを書いてみたら、バランスが全然だめになっていた。最近デフォルメ等身のみを書いていたツケがまわってきたとみるべきか。

来週あたりからはもっと落書きに力を入れる予定。普通2:デフォルメ1の割合を当面の目標にしておこうと思う。

2009/05/09



咲-SAKI-から宮永咲を追加。

-

拍手ありがとうx2。

2009/05/08

ある程度新作の下準備が整ったので、状況整理。

まずはDirectXにおけるDLL問題。
DirectXでDLL問題を回避するには以下の問題点をクリアしないといけない。

1. D3DXの数学系関数。

これは以前作り始めた数学関数とDirectXに新しく追加されたXMathで回避できる。

2. D3DXの画像ファイルロード。

これはCard Jankers Sの自作pngロードである程度回避可能。

3. D3DXのスプライトクラス。

これもCards Jankers Sの自作クラスでなんとかなっていたけど、今回は更にある程度D3DXSprite完全互換を実現。

4. D3DXのフォントクラス。

以前はこれがどうしても解決できない問題だったけど、C#で遊んでいた時に解決方法が閃いた。C++から少し離れたのが良かったのかもしれない。

3番は9割、4番は8割程度完成していると言って良い。後は使用しているD3DXMatrix関数を変更して、実際のゲーム内で動くか試すだけ。動いたとしても、動作が遅すぎたら話にならないから、ある程度の速度も確保しないといけない。


次はゲームのジャンル。

基本的にはピコばとるぅ!の焼き直しを考えている。コンテストに出したときは不遇な出来だったけど、コンセプトそのものは結構良いはず。一番の悩みは次の次にどれだけ画像類を再利用できるか。毎回毎回画像を一新していたのではなかなかゲームが完成しない。3割くらい再利用できれば、もっと製作ペースも速まるのに。


来月にはスクリーンショットの一つでも公開したい。

2009/05/07



けいおん!の山中さわ子を追加。

2009/05/06

新作の製作を細々と開始。

ピコばとるぅの失敗を踏まえて今度はゲームとしても面白いバトルRPGを作りたい。可能ならばもう一捻り欲しいけど、そこはどうなるかは未定。

2009/05/05

フリクラ

今回初めて他薦の感想リンクを許可してみた。数そのものは飛躍的に増えた。でも「やめて」という意見も来てしまった。誰がリンクをやめてほしいのか分からないから、どれを外せばよいのだろう?

やはり他薦は無理なのか?

他薦一つ一つに確認のメールを出すという手は時間がかかりすぎるから出来ない。自薦では少なくても5回までは数が集まらない。

いっそ感想リンク無しにしたら簡単で良いか、と思ってしまう。でも、フリクラに来る人は感想を読むのも楽しみにしている。そういう意味では感想リンクは出来る限り続けたい。

しかし、コンテストのメインサイトからリンクして欲しくない感想サイトがあるとは個人的には少々以外だったり。感想を書いて世に公開しているのならたくさんの人に見てもらっても問題ないはず。グーグルで検索すれば大抵出てくるし。う~ん、謎だ。

とはいえ、やめてほしいという意見がある以上なんとか対応するのが主催者の腕の見せ所。どうなるかはこうご期待。

2009/05/04



けいおん!の平沢憂を追加。

2009/05/03

C++でゲームを作る際、常に頭を悩ませるのはDLL問題。それを打破するためにC#に切り替えてみたら、今度はC#関連のDLL地獄に当たってしまった。ある意味、本末転倒。

C#ならOSの自動更新でランタイムが入ると思っていたけど、遊べない人の数からして、違ったみたいだ。

結果的にCard Jankersに戻ることになりそうだ。あれはD3DXを使わないため、DLL入らずで配布出来る。でもその分、処理にちょっと問題があったりする。

そこで、スプライト機能をD3DXSpriteに似せて作り直してみた。7割程度完成。これとC#でやり方がわかったフォントをメモリ内のビットマップに書く方法を合せれば、作る予定のあるゲームが大体出来そうだ。

-

いつも素早い運営、素敵です。

フリクラの運営はなるべく時間厳守でやっています。おかげでこっちが滞ることがありますが(汗。フリクラともどもよろしく!

2009/05/02

フリクラ

正式には今日スタートのフリクラ。予想外の大盛況になってしまった。大盛況なのは嬉しいけど、その分主催者としてやらないといけないことが増えたり。

スクリーンショットは2回目にして懸念事項が二つ表面化。

一つはメールで受け取った際、返信はせず公開だけしていること。やはり返事は送るべきかどうか迷う。ゲームのときは受け取って内容を確認したら常にメールを送っているけど、スクリーンショットにそれだけする必要があるかどうか。

もう一つはスクリーンショットの数。初回はほとんどの人がスクリーンショットを送ったけど、今回は半分以下。スクリーンショットを送る必要は無いし、サプライズの意味では未公開のほうが良い。しかし、そうなるとコンテスト開催時に手に入る事前情報に格差が生じる。今回開催と同時にスクリーンショットのリンクを外したのもそのため。

コンテスト開始と同時にスクリーンショット公開停止が一番安全かな?

別件で統一zipファイルのサイズ問題や、主催者エントリーの有無や、主催主導のゲームレビュー掲載など、色々と先送りした問題もある。

-

拍手ありがとう。

2009/05/01

先月の目標と結果


目標結果
ドット絵1010
落書き
フリクラ5開始開始
新作完成完成


久しぶりのドット絵。かなりタイプを変えてみた。そこそこ好評なようだ。

新作は完成したけど、最近のゲームの中では一番出来が悪い。まさしく、締め切りにだけは間に合ったゲーム。詳しい解説とかはコンテスト終了後に予定している。

フリクラは25作品集まり、予定通り開始。

今月の目標

1.ドット絵10枚。
2.落書き3枚。
3.フリクラ5終了。
4.3DCG3枚。

ドット絵は違うアニメをメインにする予定。他は特に目だった動きは予定していない。

-

拍手ありがとう。


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

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