Admin * New entry * Up load * All archives 

C++&DirectXでプチプチゲーム制作をしています。文章力?気合で乗り越えるさ。

 

旧 ゲーム的な何か。

12«1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.»02
2009年01月の記事一覧

« 12月     02月 »

Posted on --:--:-- «edit»

Category:スポンサー広告

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

tb: --     com: --

go page top

Posted on 00:20:27 «edit»

Category:異境

ゲームタイトル決定! 

STG製作、ようやくストーリーが埋まり始めました。
タイトルも決定。「異境」というタイトルになりました。
かっこいい名前ですが実際はもっと軽い雰囲気のSTGだと考えておいてください。
これからプログラミング関係のほとんどは「異境」カテゴリに移動します。

当たり判定の処理はその前で滞っていたのですが、ついさっき解決しました。

ポリゴンの表示において、何故か色が指定できずに薄黄色になっていたわけですが、
もともとのサンプルのライト設定が不完全で、ポリゴンの色が今までライトの色にすべて遮られていたことがわかりました。

それにしても、サンプルプログラムを信じるとはダメな話ですねぇ。。
思いっきりコメントに 「//ライトを無効に」 って書いてあったのを鵜呑みにしてました。

はぁ。。これで表示関係はほとんど解決です。コードを整理して次の段階に進む予定です。

ではでは。
スポンサーサイト

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 23:26:42 «edit»

Category:プログラミングとか

当たり判定実装準備(報告その10) 

今日は短め。聞いててあまり面白いものではないと思うからです。

当たり判定を実装しよう!と思ってたのですが、思いの外バグや応用に欠けるコードだったので、
ここ数日はずっと地味な作業をやってました。

作業内容を書くと、

・タスクの連結リストを種類ごとに分けた
これは必須です。こうしないと処理が遅くなったり、弾が多いときにショットが出なくなったり、自機が生成されない可能性も否定できません。

・引数でテクスチャの種類、大きさを指定できるようにした
例えば自機狙い弾があるとして、やはりそういう弾は画像の種類問わず必要ですね。その画像や大きさを生成時に指定できるようにしました。これで面倒な作業が減ります。

・フルスクリーン時に表示がおかしくなるのを修正
原因は判明。今コードを修正してます。

こんな感じで見た目は変わってません。明日明後日に一気に進めたいですね。
ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 23:09:57 «edit»

Category:雑談

第6回東方シリーズ人気投票の話 

プログラミングばかりで堅苦しいのでちょっと一息。
第6回東方シリーズ人気投票がはじまってますね。
私もゆらり投票してきました。

・キャラ部門
1 ルーミア
2 にとり
3 幽々子
4 パチュリー
5 ミスティア

個人的にはやはりルーミアがダントツでお気に入り。
決してバカキャラではありませんよ?
あのくらいのんびり過ごすのもいいかもしれません。今の時代到底無理な話ですが。

・音楽部門
一押し 明治十七年の上海アリス(紅)
以下順不同
ほおずきみたいに紅い魂(紅)
ラクトガール~少女密室(紅)
死体旅行~Be of good cheer!(地)
ハルトマンの妖怪少女(地)
魔鏡(靈)
呑んべぇのレムリア(黄)

今年から5→7曲に増えたみたいですが、それでも絞れない不思議。
音がはっきりしてて和音がきれいなものが多め。
酒飲めない癖に呑んべぇのレムリアはお気に入りです。
ちなみに靈とは霊異伝の略。ひたすらチープですがいい曲だと思いますよ。

私はこんな感じです。全体としてはどんな結果が出るんでしょうかね。

ではでは。

テーマ: ゲーム

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 19:08:28 «edit»

Category:プログラミングとか

ビームの構造変更(報告その9) 

やはり目で見ていただくのが一番かと。

はんとーめー

なんか東方っぽいでしょう。
大きい弾の表現には苦労しました。
これはポリゴンの半透明化、テクスチャの半透明化を利用してます。
これ、グラフィック作る人にも有効な知識。。だと思います。

・ポリゴンの半透明化
これは、ビームの方に使われてますが、元のテクスチャ画像は

ビームの部品

です。(ホントは後で説明するαブレンドを施してますがほぼ変化なし)

不透明ですね。
これを内部の処理でα値を修正しつつ表示すると、
一番上のサムネイルみたいになります。
ビームの発射時、停止時に徐々に濃く、薄くなっていきます。

・テクスチャの半透明化
こちらは内部で処理は行いません(実際には行っていますが指定はできません)
大弾がこれにあたります。

作業工程としては、

大弾(赤)αブレンドした大弾

こちらの2種類を用意。左から元画像、αブレンド用画像です。
元画像にαブレンド画像を合成すると、半透明のテクスチャになるのです。

αブレンドは白黒で、合成時白は100%元画像、黒は0%元画像(つまり透き通る)になります。
薄い灰色なら濃い半透明、濃い灰色なら薄い半透明に合成されるわけです。

もうこれでお分かりかと思います。透明化するのはさほど難しくないのです。
画像全体を任意で透明化するか、初めから部分部分指定して透明化するか、使い分けが肝心です。

とりあえず現段階はこんな感じ。
まだ当たり判定を施していないのでこれから作ります。

ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 23:21:51 «edit»

Category:プログラミングとか

コード整理、ビームの半透明化など(報告その8) 

試験終了。まぁ、それなり。
コードの整理が思ったより早くすんだ(切り上げた)のでいくつか作業を行っています。
適当につらつらと。

追記 ホントはビームの半透明化も紹介するつもりでしたが今日は技術的で地味な(いつも通り?)話のみです。

まずコードの整理ですが、ビルボードによる半透明表示の方法がわかった関係で大幅な手直しはありませんでした。ただ元サンプルコードがどんどん汚くなっているようでなんとも。。

代わりに2000行程度に膨れ上がったコードの分割を主に行いました。現在タスク関係はひとまとめですがそのうち分けないといけませんねぇ。。

ややこしいのは嫌いなのでコード分割によっていろいろ修正するのはためらっていたのですが、流石に2000行のコードをスクロール、スクロールで読むのもつらいので仕方なく分割になりました。
コード分割の時に気をつけないといけないのは、やはりグローバル変数の扱いですね。どれ、少々技術的な話でも。

コードを分割するもともとどの関数からも見れたものが1つのコード内でしか見えなくなるわけで、すべてのコード内で扱えるようにするには、ヘッダファイルまたは対象コード内にてextern宣言する必要があるわけです。

詳しい説明は割愛しますが、要はcppファイル内での変数宣言の他に「他のコード内でも扱えるようにしますよ」とコンパイラに言わないとアウトなわけです。

今回はとりあえず、といった感じだったので、ヘッダファイル内にドサッっとextern宣言の塊が出来ました。本などのサンプルコードはC++のクラスを利用しているので果たしてこれでいいのか疑問ではありますがまぁいいでしょう。こういう作業をやればやるほどクラスのコードの扱いやすさ、そして読みにくさが際立ってきます。

ちなみにこんな間違いも発見しちゃいました。
・ヘッダファイル内で変数を宣言
・ある関数の引数の個数がプロトタイプ宣言のところと違ったのにもかかわらず今まで問題なく通っていた

前者はコード分割の勉強中にあるサイトで「ヘッダファイルの間違った使い方」みたいな感じで書かれていました。しかしなんでそんなところに突っ込んでいたのか。。いまいちわかりません。

はっ、気づいたらこんなに長く。これではもう一つのビームの方が。。まぁまた今度。
まだ少々表示に問題があるので。

ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 23:51:52 «edit»

Category:プログラミングとか

計画修正(報告その7) 

ブログを書くことはモチベーションを上げる効果的な方法だと思うSignalです。
タイトルの通り、ちょっと内部的に弄らなくてはいけないようです。
説明すると、こんな感じ。

・現在、描画処理はサンプルのコードを流用したもので、そのほんの説明も不十分
そのため、半透明化などの処理が追加できない(変更しにくい)

・結果、半透明エフェクトを使用したビーム、表示される大きさの調整などが出来ない状態

・仕方がないので、描画処理全般を組み直し。説明が詳しい本を購入、読むことに。

というわけです。今日弾の表示をやってみたのですが、表示の大きさの調整がうまくできず。
しばらく見た目に変化はないでしょう。

あさってから実力考査。定期考査ではないので軽く勉強して挑むつもりです。
ではでは。

P.S
弓道の大会、3人1チームの団体でわが校は予選全滅。1年生1人だけが個人戦決勝に残ったくらいでした。私は4射1中。もう一本あてられたかなぁという不満が残りました。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 00:04:03 «edit»

Category:プログラミングとか

ビーム実装中(報告その6) 

読書が足りない。と思うSignalです。
現在ビーム実装に励んでます。
目標としては

・ビームが滑らかに表示される
・キーを離した後徐々に薄くなって消える

の2つなのですが、これが思ったより難しい。
まず、ビームがずれる。わざわざフレーム毎に処理内容を確認したのに実行時に予想と違う結果が。

私の知っているビルボード処理では徐々に云々は難しいらしく、3D向けのマテリアルを使わないとできないみたいです。これは単なる無知の可能性が大ですが。四角のポリゴンにテクスチャを貼り付けて。。みたいな処理でもいいかな。

早目に決断してとりあえず適当なところで切り上げるかどうか決めます。

社会のレポート。。どうしよう。時間がそのためにどんどん吸収されています。あぁもったいない。
自分の優柔不断かつやや弱気な性格が影響してますね。

明日(今日)は弓道の大会行ってきます。ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 00:27:22 «edit»

Category:プログラミングとか

今日の成果報告その5 

人に見せるブログなのに人に見せるように書いてないなぁと思う今日この頃。
今日(時間的に昨日)も朝からずっと部活やってました。
今日は紅魔郷のエフェクトを調べたりショットを実装したりしました。

ショット、ビームの実装後に弾を初めて扱うわけですが、今考えている弾の生成法はこんな感じです。

・小さな弾はタスク(表示場所、使用関数などが入っている構造体のようなもの)生成後すぐに弾自体を表示する
・大きな弾はタスク生成時、爆発エフェクトを一定時間表示後弾を表示する

爆発エフェクト、作らなくちゃなぁ。もっともろくにソフトを扱えないのでとりあえず友人頼みで。
紅魔郷では大方そのような形で生成されてました。地霊殿など最近の作品はさらに工夫がなされてますが。。

あと今日は成果を見える形に。友人が描いた即席足軽からZキー入力でショットがでます。ネタなので発射場所などは関係ありません。ですがちゃんとショット発射後、画面から出ればタスクをちゃんと削除してくれてます。
ショット実装
明日(時間的に今日)はビーム実装を目指したいところ。時間、間に合うかな。

ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 22:55:18 «edit»

Category:プログラミングとか

今日の成果報告その4 

宿題との兼ね合いでプログラミングの時間確保に四苦八苦しているSignalです。
今日はサクッと移動処理を追加しました。
キーで自機を移動させることができます。斜め移動も速度調整してあります。
DirectInput自体が単純な構造だったので割合スムーズでしたね。

自機が動いた時にはテンションあがってしばらくフィーバーしてました。
もっともその次の作業であるショットの画像を家に忘れて次の作業まではいきませんでしたが。。
結果として、移動処理実装、Shiftキー押しっぱの時の低速移動、速度調整で終わりました。

明日も学校行ってプログラミングやる予定。宿題終わるか微妙なところです。
まぁそこらへん無視して明日はショットの実装を行いたいですね。

ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

Posted on 23:38:25 «edit»

Category:雑談

雑な話 

友人にルーミアのドット絵を依頼しましたSignalです。テンションあがってきた。
今日はこれかいたら寝るので雑な話を3つほど。
ちなみに今日は母方の実家に行っていたので何もしてません。

・Visual Studioの調子がおかしいなぁと思いつつ最近作業を進めていたわけですが、原因が判明。
ポータブルディスク上で作業してたせいでした。
はぁ。面倒だなぁ。日頃不精な私にファイルを同期させろと。
家と部室を行き来させる以上仕方ありませんね。

・作業は出来ませんでしたが、本は読んで基礎情報を把握はしておきました。
キーボードの導入はさほど難しくなさそうです。ただジョイパッドがいまいちわからず。
なぜか部室に大量にパッドがあるのでそっちでやればいいのですが。
マウスは暫くどうでもいいので保留です。

・昔こそプログラムは何事も切り詰めていたわけですが、最近はメモリーの記憶容量が爆発的に増えたり、CPUの性能が数十倍に上がったのでゆったり機能を使えるようになりました。
東方紅魔郷の弾数制限って640とずいぶん少なかったんですねぇ。。
今回作っているのはとりあえず1000ぐらいまでOKになってます。もうチョイ処理手順を効率化しないと相当無駄の多いプログラムになりそうですが、今のスペックなら問題ないでしょう。

では今日は寝ます。ではでは。

テーマ: 日記

ジャンル: 日記

tb: (0)     com: (0)

go page top

Posted on 00:09:37 «edit»

Category:プログラミングとか

新年明けましておめでとうございます~タスクシステム最終回 

皆さま、新年明けましておめでとうございます。
このブログを読んでくださっている方々にも、ご挨拶申し上げます。
今年はゲームを本格的に作る年になるでしょう。

なんとか新年までに、一区切り間に合いました。
その成果がこちら。
表示するだけ
画像を表示するだけのプログラムです。
ただ、内部的にはタスクシステムが実装されてます。
FPSもしっかり60を維持。シューティングに必須な処理速度安定もOKです。
前の時より、ゲームらしくはなりました。
正直今考えると、タスクシステムってどこまでさすんだろう?
ということで、とりあえず今回がタスクシステム実装の最終回になります。

これからの機能追加の流れとしては、

自機を操作できるようにする

自機にショットを放たせる

敵機と弾を実装。自機狙いを作る。当たり判定を作る。

といったところでしょうか。
モチベーションがだいぶ上がってきたので、今年も頑張っていきたいです。
ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (1)

 Re: 新年明けましておめでとうございます~タスクシステム最終回

成功というやつです。
スペック:WindowsXP

  by 八百屋

Comment-WRITES

go page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。