Admin * New entry * Up load * All archives 

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

 

旧 ゲーム的な何か。

04«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.»05
このページの記事一覧

    n e x t »

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

Category:スポンサー広告

スポンサーサイト 

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

tb: --     com: --

go page top

Posted on 00:00:00 «edit»

Category:未分類

最新情報(一番上に表示されます) 

この記事は常に一番上に表示されます。最新の記事はこの下です。

ブログ引っ越ししました→http://d.hatena.ne.jp/t_Signal/
もしブックマークされている方がいましたらこちらのアドレスでお願いします。

弾幕シューティングゲーム「Project MARCHOSIAS」v1.40公開中。
PMスクショ1PMスクショ2

ダウンロードはコチラ(v1.40)→http://www1.axfc.net/uploader/Sc/so/151524.zip

v1.40追加機能説明はこちら→http://frontiersman.blog61.fc2.com/blog-entry-193.html
v1.20追加機能説明はこちら→http://frontiersman.blog61.fc2.com/blog-entry-169.html
ゲーム詳細はこちら→http://frontiersman.blog61.fc2.com/blog-entry-160.html

文字列描画クラス公開中(DirectX9SDK 2007Aug)。
詳細→http://frontiersman.blog61.fc2.com/blog-entry-177.html
スポンサーサイト

テーマ: 日記

ジャンル: 日記

tb: (0)     com: (2)

 Re: 最新情報(一番上に表示されます)

はじめまして
じぶんも最近ゲーム制作ブログ始めました。
うえのゲームプレイさせていただきましたが、
非常に良く出来てますね^^
じぶんもいつかあのぐらい出来たらな~
なんて思っちゃいますw
これで終わりなんて言わず、更新楽しみにまってます。(ぇ

もしよかったらブログリンクしませんか?

  by kuma

 どーもー

なんとなく来てみました。

  by teru

Comment-WRITES

go page top

Posted on 01:05:31 «edit»

Category:雑談

はてなに引っ越しします 

ようやく地震も落ち着いていくらか心に余裕も出てきました。Signalです。
相変わらずの停滞状態なのですが、今回ブログを引っ越すことにしました。

引っ越し先はコチラ→http://d.hatena.ne.jp/t_Signal/

今まで3年間(「ゲーム的な何か。」以前も含めると5年弱)FC2でブログを続けてきたのですが、レイアウトが窮屈でソースコードを書くのには不向きだろうとの判断ではてなにすることにしました。

このブログはウイルス関係などそれなりに役に立っていると思われる記事も少しは残っているので、跡地として残しておくつもりです。

今後とも「ゲーム的な何か。」を宜しくお願いします。
ではでは。

テーマ: 日記

ジャンル: 日記

tb: (0)     com: (0)

go page top

Posted on 22:01:13 «edit»

Category:雑談

間もなく浮上 

相も変わらず暫く停滞していました。Signalです。
流石に勉強も軽視し続けるわけにはいかないのが現状で、ドタバタ2月を過ごしていたら試験に突入してしまいました。
とりあえず後2日なのでそれから本格的に追い込みをかけていこうかと思っています。早くけりをつけないと…

ゲーム制作の方ですが、すべて自作で組むのには限界があったのでとりあえずゲームライブラリ「Selene」(http://selene-lue.halfmoon.jp/)の導入を決定。
それに伴ってDirectX SDKも2007Augustから2009Augustにアップデートしました。

まだ記事などに出せる状態ではないのですが、ステート管理などを組み始めてはいるところです。なるべくなら記事にして少しでも他の人の役に立てればと思いますね。

今日はこの辺で。
ではでは。

テーマ: 日記

ジャンル: 日記

tb: (0)     com: (0)

go page top

Posted on 01:39:16 «edit»

Category:プログラミングとか

超簡易スクリプトを作る 

こんにちは。相変わらずSignalです。つい先日、こんな本を読みました。

脳はなぜ「心」を作ったのか

今まで「「私は私である」という意識はどこからくるのだろう?」という疑問を持ちつつ過ごしてきたのですが、意識は私たちの脳が生み出した「実感」にすぎないという意見に感銘を受けました。
クールに工学的な視点から「心」を解き明かそうとした本で、今までの中で最も説得力のある説明をされていました。こういう分野に興味のある方は是非一度読んでみてはいかがでしょうか。

それでは今日の本題ですが、久しぶりに具体的なコードについて考えてみようと思います。
お題は「プログラマ以外が扱えるスクリプトを自作する」です。

まず、ゲーム内のあるファイル(例えばキャラクターの3Dモデル)を使ってそれを表示する場合、
①3Dモデルを入れる変数を用意する
②3Dモデルのデータをその変数にロードする
③それをそのまままたはオブジェクト経由
というステップを踏む必要があります。ただしこの方法の場合、プログラム側で読み込むファイルを逐一指定し、すこし手を加えるだけでもコンパイルという大きな手間が生じてしまいます。

今までは素量も少なかったのでそのままだったのですが、今回モデリング側から「サーキット上に自由にオブジェクトを配置したい」という要望が出たので、
「プログラム担当以外でも自由に読み込むファイルを指定し、それを描画出来るようなプログラムを作る」
ことにしました。

とりあえず完成したものから考えるのが手っ取り早いですね、文法はこんな感じ↓
・ファイル読込部
Model\\,boxtest.x
Model\\,testfloor04.x

・描画スクリプト部
"boxtest.x", 10.0f, 600.0f, 3000.0f, -1500.0f, 0.0f, 0.0f, 0.0f

ファイル読込部は①パス②ファイル名の2段構成。
描画スクリプト部は①ファイル名②スケール(モデルの表示倍率)③XYZ座標④XYZ軸回転の4段構成となっています。
基本的な構造は同じで、要素ごとをカンマで区切り、改行で1単位になります。
今思うとかなり危うい構造ではあるのですが、とりあえずこれで話を進めます。

これをプログラムに読み込むにあたって、まずファイルの中身そのものを取得する必要があります。
方法はいくらでもあると思うのですが、今回はifstreamを使いました。
ifstreamにはGetLine関数という命令があるので、それを使って改行までの中身を一気に取り出しています。

↓描画スクリプト読込のコードはこんな感じ
HRESULT CEasyDrawScript::LoadScript()
{
char str[128], buf[8][30];
char *c, *p;

//3Dモデルファイルの読み込み
ifstream ifs(scriptName);

if(!ifs.is_open()){
MessageBox( NULL, "スクリプトの読み込みに失敗しました。", "Error", MB_OK );
return (E_FAIL);
}

while(ifs.getline(str, sizeof(str), '\n')){
c = str;
for(int i = 0;i < 8;i++){
memset(buf[i], 0, sizeof(buf[i]));
p = buf[i];
while(*c != ',' && *c !='\0'){
if(*c != ' '){
*p = *c;
p++;
}
c++;
}
c++;
}

objList.push_back(CEasyScriptObj(
buf[0], //ファイル名
atof(buf[1]), //スケール
D3DXVECTOR3(atof(buf[2]), atof(buf[3]), atof(buf[4])), //位置
D3DXVECTOR3(atof(buf[5]), atof(buf[6]), atof(buf[7]))));
}

return (S_OK);

}

先ほど4要素といいましたがX,Y,Zは独立なので8個の文字列を用意。
strにまとめて読み込んだ文字列を格納、cに加工前の文字列へのポインタ、pに各要素の文字列を入れるポインタを入れて、順次読み込んでいきます。

カンマか文字列の終点がくれば次の要素へ、その中では空白文字を外す処理を行っています。要らない文字を読み込まないようにすれば必要な部分だけを取り出せますね。

そして読み込んだ各要素は数字なら数字に変換されてvector配列に加えられます。
後はファイル名から描画するモデルを検索して決まった位置に描画出来るようになります。万々歳。

もっともまだエラー処理を加えないといけない部分があったりしますね。
ただ安易に加えるとどうしても汚くなってしまう。うまい方法があるんでしょうか。
まだまだ経験不足の所は多々あります。

大分長くなってしまったので今日はこの辺で。ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (1)

 

茂木健一郎とかも似たようなこと言ってましたね。
心=脳によって作られたもの
っていう一元的な考え方は、
宗教によってはダメらしいデス。

  by handyman

Comment-WRITES

go page top

Posted on 01:58:03 «edit»

Category:レーシング

サーキットビューワーを作ってみた 

こんばんは。Signalです。
今日はセンター試験の模試を受けに行ってきました。結果は良好。どうやら問題自体も簡単だったみたいですね。
後1年。。

さて、前回仕様決めを行いましたが、結局あれから決まったことはほとんどありません。
その代り、モデラーさんの「サーキットを確認したい」という要望に答えるために、以前作った(http://frontiersman.blog61.fc2.com/blog-entry-186.html)FPSのコードを引き継ぐ形でサーキットビューワーを作成しました。

するとあら不思議。ゲームとしては空っぽなのに一気にゲーム画面らしくなりました。
サーキット01サーキット02

FPSの記事で解説したとおり、ナビゲーションメッシュの力を借りて坂を登っていきます。
サーキット03

大ジャンプ。トンネルに突撃します。
サーキット04

トンネル入り口~内部へ。壁はありませんがしっかりトンネルとして機能してくれます。
サーキット05サーキット06

出口。天球も貼ったのでそれらしいですね。
サーキット07

もっとも中身は本当に空っぽで、中央部の照準が残っていたりしますが、それでも形になると嬉しいものですね。
ずいぶん久しぶりにプログラムは楽しいと実感しました。
とはいえ、このままでは何かするたびにコードを書き変えないといけないので、プログラム屋以外の人でも触れるように外部ファイルを利用してみようと考えています。頑張りたいですね。

ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

tb: (0)     com: (0)

go page top

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