【初心者】スレを立てる前にココで質問を【Part16】
1 :
名前は開発中のものです。 :
2008/01/03(木) 04:55:57 ID:29lql27X
2 :
名前は開発中のものです。 :2008/01/03(木) 04:57:40 ID:29lql27X
3 :
名前は開発中のものです。 :2008/01/03(木) 04:58:08 ID:29lql27X
5 :
名前は開発中のものです。 :2008/01/03(木) 07:53:48 ID:J7xdKQi3
DirectXを使った3D空間上での衝突判定が全く分かりません。 具体的に説明しているサイトとかないでしょうか。 数学的な計算方法はたぶん分かるんですが、具体的にどう実装したらいいのか、 そもそも頂点やポリゴンの位置をどう取得したらいいのかが分かりません。 ちなみに、やろうとしているのは動く球と、静止している地形(洞窟みたいに複雑なもの)との衝突判定です。
GPUによる物理シミュレーションについての良い資料無いですか? 普通のなら沢山あるんですが・・・
ファミコン時代のクリエイターはどんな風にゲームを作ってたんだろうか C言語みたいなクソ分かりにくいのを使ってあれだけのグラフィックを実現させてたのかな… ダイレクトDX使ってて何も見ずにはひとつの作品も作れない俺は情けないんかな…
ファミコンて8bit時代ですよね 8bitの頃は簡単だった まったく単純 色は8色だし ハードは固定して直接叩くし ソフトはアセンブラで命令も100個ほどだし
>>7 >ダイレクトDX
お前からはあらゆるダメさが漂っている
ダイレクトでらっくす
自分は今C++を学びたいと思い、いろいろ調べてみました。するとC++にもいろいろな種類があり、どれを学べばいいか困っています。 visual…C++?みたいなのとかBor…C++とか。。。これはどういうものなのでしょうか?ちなみに最終的な目標はゲームを作ることです。実際にゲームは一般的になにを使って作られてるのですか? 質問ばかりですみませんが、お願いします
12 :
5 :2008/01/04(金) 03:09:04 ID:pXsbR3Xf
怪盗側の人いないっぽいので、
>>5 はプログラム板で聞いてきます。
>>11 C++ ・・・ プログラム言語
VisualC++ ・・・ 統合開発環境
BorlandC++Builder ・・・ 統合開発環境
ゲームは何でも作れる。
一般的にはたぶんC++で作られてるけど、ゲームが作りたいだけならHSPが簡単らしい。
「VisualC++を使ってC++でゲームを作る」というフレーズは 「ワープロソフトを使って日本語でレポートを書く」という言葉に置き換えると分かりやすい。かもしれない。
日本語専用ワープロソフトじゃね
すみません 携帯からはスレ立てられないんですか
VisualC++使ってもCで作れるからな C++と明記する方がベター
へたれはVC、導入のお手軽さ資料の多さなど初心にうれしい吉野家の牛丼 その他のコンパイラは玄人向き、玄人向きに言語拡張されてたりカスタマイズ性は上…かもしれない
>>12 、
>>13 分かりやすく説明していただき、ありがとうございます。
よろしければ皆さんオススメの本を教えてくれませんか?いろいろ種類があってどれがいいものか分からなくて…
>>17 VC++にはC++/CLIという基地外じみた拡張があるぜw
標準準拠は現状最高クラスだし、WindowsでならVC++一択じゃね。
当たり判定は 距離で計算する、 または、光線投げで判定する。
素人向けのゲーム開発は、単純で簡単なものから段階を経て 徐々に複雑で深いものへと進める。 最近のゲーム開発のポイントは言語ではなくてライブラリーです。 良いライブラリーで開発環境が決まる。 昨今のOSでは、hello worldが簡単では無い。
いや簡単だろ… ウィンドウ出してそこに描画するとかってんならわかるが
どうしても敵の動きの仕組み?みたいなのが理解できん・・・・ (120,0,0) ↑これとか・・・・・・
>>17 VC++って難しくね?
標準入出力だったかもよくわからんし
ただだったのも相まってgcc+mingw系の開発環境とSDL使ってる
コマンドラインで使うものだからオプション指定とか厄介なところもあるけど、
SDL.h読み込むだけでstdout.txtができるから気楽だぜ
DXライブラリとDirectX どっち使った方がいい?
な…なんだって?
釣りじゃね?
いや、マジで聞いてるんだ・・・・ 両方のメリットデメリット教えて欲しい
>>28 >>26-27 の疑問は
DXライブラリを使えばDirectXを使うことになるのに
どっち使ったほうがいい?って聞くのはおかしな話ってことかと
君の質問の仕方は多分
「DXライブラリを使うか、直接DirectXを使うか、どちらがいい?」が適当で、
それは君のやりたい内容によって返答内容が変わる
というわけで内容をどうぞ
へたれはDXライブラリ プロ目指すなら最初は直接触ったほうがいい
>>29 純粋な横スクロールアクションゲームです
ロックマン的なものが作りたいのですが・・・・
倒した敵の残骸がそのまま残るという感じで
「クローン・移植について語るスレ」とかあってもよくない?
ズコー なにが純粋かそうじゃないのか不明で残骸が残るとかは今は大して問題じゃないのだが そのレベルなら素直に補助ライブラリ使いなさい ライブラリの中でどういうことが起きてるかわかるようになって、 自分色(笑)に染めたくなったら素のDXに触るといいでしょう
>>31 それなら、それが急ぐ要件ならDXライブラリ、
そうでなくて時間に余裕があって勉強しながらがよければDirectXを生で扱うほうがいいかと
・C/C++初学者で、言語そのものを勉強したい人 →補助ライブラリ ・C/C++の基本が終わった人 ・DirectXの勉強まで必要としない人(単にゲームが作りたいだけの人) →補助ライブラリ ・時間的に余裕がない人 →補助ライブラリ ・時間的に余裕があり、DirectXの勉強をしながらゲームを作りたい人 →DirctXの勉強 こんな感じだと思う。修正などよろしく。
>補助ライブラリ これは何?
補助ライブラリ=DXライブラリのようにDirectXで実装されたライブラリ だろ。
質問です ゲーム製作手順としては やっぱり一般的には シナリオを最初に完成させてからCGを描いたりプログラミングしたりするんですよね? シナリオ中途半端のままプログラミングも同時進行とか危険ですよね?
39 :
名前は開発中のものです。 :2008/01/06(日) 03:05:08 ID:jWYJN9Dg
HSP使いの俺が言っても説得力ないだろうが DXライブラリのが分かりやすいんだろ? なら初心者は普通にそっちから入ればよくね それともキツいデメリットがあるとか?
>>38 ジャンルによると思うけど、シナリオかいてる途中でもプログラム(一部)はできるしキャラデザインも可能
いちばんだめなのはだれも先頭に立ってやらないとエターナル
最初にジャンルやプロット決めてそれをぶらさないことが大事かも?
てかうpしろうp話はそれからだ
>>39 DirectX → DXライブラリは楽だけど
DXライブラリ → DirectXは人にもよるけど普通にDirectXから始めるよりつらく感じる
というかメンドイからDirectX直接いじる気が起きるのは最初ぐらい
とりあえず何も知らない初心者なんですがC++の本を買って一冊読みました。 しかし実際ゲームを作るには何をしたらいいのかサイトもみまくりましたが難しくて全然わかりません。 まず何から手をつけたらいいのかお教えください
3Dなんか遊ぶ側のものでしかなかった俺だが、なんか作ってみようと動き出してみた。 Java + OpenGL で作り出したんだがmqoのファイルから最低限(頂点・面・テクスチャ)の表示までは出来た。 ここで聞きたいんだがこれから ツール フレームワーク ゲーム のどちらに進むべきなんだろう。 決めてくれ。 個人的にはエロに結びつけば何でも良い。
既に同人ゲームなどを作成された経験のある方に質問です 文字や数字を表示する時にフォントから画像にして利用されると思いますが、 このときMSゴシック等の内蔵フォントを使って画像を作ると著作権法に抵触するので やはりライセンスなどを購入されてそのフォントを利用されているのでしょうか? それとも自作や著作権フリーフォントなどを探して利用されているのでしょうか
45 :
名前は開発中のものです。 :2008/01/06(日) 15:44:45 ID:SZ5sx4fN
うちは買ってる。 でもフリーのやつ使ってもいいじゃね? TrueTypeフォントならLinux周りにいろいろ転がってるし
46 :
名前は開発中のものです。 :2008/01/06(日) 16:45:41 ID:UH5gsraE
ソフトウェア工学とコンピュータゲーム って本を見つけたんだが買おうか迷ってる。 読んだことある人がいたら感想とかお願いします。 C++とDirectXの知識はある程度つけたけど、いざ大きなゲーム作るぞって時に 設計に不安を感じる俺にとって良書かどうかも、できればご指摘いただきたい。
基本、その種の哲学書は著者のオナニー本。 RAPか何かの宗教書の一種。 でも気になるなら買った方がいいよ。 後で笑い話のネタにできるから。
18禁ノベルゲームの製作をしているのですが、 うちのサークルにはプログラマー(スクリプター?)がいません。 吉里吉里、あるいはNScripterで、 ある程度見栄えの良いシステムを組んで頂きたいのですが、 外注でプログラマーの方に依頼する場合、 基礎部分のプログラム構築は、幾らぐらいの報酬が相場なのでしょうか? (「動かす」だけなら私でも可能なので、システム部分のマクロの構築を依頼したいのです)
>>47 に同意
日本のそれ系の本は学者オナニー本も多い
実際に作ったことがない人が1、2歩遅れたことを書くというパターン
でも調べてみたら洋書みたいだから買って損ないかもねー
>>46 1人で「大きなゲーム作る」のは人類未踏のフロンティア。
そこは企画厨隔離スレだと難度言えばww でも、食いつきは最高レベルだと思うよ。
メモ帳で 1111110000 1111110011 みたいな具合でマップ作ってるけど 横スクロールアクションの場合、カクカクしたブロックはどうにかならんのかな? 自然な急斜面を表現したいんだが階段みたいになってしまう
通れるか通れないかの二種類じゃなくて、 斜めブロックのグラフィックも用意して、 用意したグラフィックに応じた番号を振ればいい。 メモ帳だとしんどいけどね。
55 :
名前は開発中のものです。 :2008/01/06(日) 23:27:55 ID:Gb7AUcz8
質問ッス! 今更だがmicroSDやSDカードをPS2で楽しむには どうすればいいのでしょうか?
スレ違いだが、「SDカードをPS2で楽しむ」例。 1.複数の人間がSDカードを最低1枚ずつ用意する。 2.じゃんけん等で親を決める。 3.子はSDカードを1枚ずつPS2の上に並べる。 4.親は子の置いたSDカードの上に別のSDカードを叩きつける。風圧によりひっくり返った子のカードは全て親のものになる。 5.時計回りに親を移動、3.から繰り返す。
ADVを製作中です すごく魅力的なBGM素材を見つけたはいいんですが、 どれもこれもogg形式で一曲あたり軽く1000KB前後あります。 普通に容量気にせず使って20曲くらいでしょうか。 これだけで20MBに到達するってことですよね。 一般的にフリーゲームがどれくらいの重さなのか知らないんですが、大丈夫でしょうか。
58 :
名前は開発中のものです。 :2008/01/07(月) 00:16:05 ID:p6ak6qCv
>>47 ,49
ご指摘ありがとうございます。
一応著者はRudy Ruckerという方なんですが、アマゾンのレビューに
「特定の開発環境しか想定してなくて残念」みたいなのがあったので
そういう可能性もあるかもしれませんね。。
7000円もする分厚い本なのでちょくちょく立ち読みしながら考え直します。
一応、今はもうブロードバンド時代なんだぜ どうしても削りたいなら許可もらって打ち込むとか
BGMはオプションにするとか
普通に軽量版とフル版をおいておけばよいのでは?
62 :
名前は開発中のものです。 :2008/01/07(月) 12:20:55 ID:zyw60aTL
63 :
名前は開発中のものです。 :2008/01/07(月) 14:11:38 ID:nzhRBiGz
directxのモーション再生サンプルってどこにあるの?
>>54 ありがと
だとすると0〜9では足りないか・・・・
テイルズオブデスティニー2のようなゲームを作ってみたいのですが、どんな知識が必要でしょうか? 数学は数3までやってあって、C言語などもまったくわかりません。 独学のみでやってみたいのでぜひ教えてください、おねがいします。
素人が3Dゲームを作るんだったら DarkBASICが簡単で良いですよ
67 :
名前は開発中のものです。 :2008/01/07(月) 21:27:22 ID:6DSDVA4v
>>65 >>66 テイルズ2って3Dだっけ?
2Dだったら、DXライブラリとC(C++)が簡単だと聞く。
C#とXNAという手もあるけど、あれってDXライブラリと比べて簡単に作れるんだろうか?
>>67 デスティニー2は2Dです
DXライブラリとCを勉強して組み合わせればできるようになるでしょうか?
物理的には可能だけどおまえにゃむり
HSPで 1本のゲームを完成させてみれば分かる様になる。 小さいものから始めなさい。 最初からC++で始めると、挫折する人が多い。分量が分からないからね。
>>70 わかりました。
まずHSPからはじめてみます。
なんかもうRPGツクールのすごいのがあるかのような妄想でここにくるやつ多いな 6000円とる製品がどれだけのものを積み上げてきたか考える脳がないんだろうな
誰もが初めから「ゲームを作る」ということについて理解しているわけじゃないのだから 大きな夢を持つのはしょうがないさ
程度の差はあれ似たようなもん
市販のゲームなんかは、100人体制で4年くらいかけて作る。 それもエリートが最低でも10人は必要。 素人が独りで土日で作ってどれほど出来ますか? 例えば、ツクールで素材がそろっていて 1ステージが3ヶ月ってところでしょうか? 皆の制作期間を教えてほしい
ゲームのおもしろさは、優れたアイデアで人をどう楽しませるかにかかってると思う。規模はあんまり関係ない。
たけしの挑戦状みたいなのが理想なんだけど 殺した人は画面切り換えても生き返らない、自分の行動によって先のイベントが変わる。 これらの要素はプログラム1年生には過酷ですかね
>>77 アドベンチャーなら、ツールがいくつもあるぞ。
吉里吉里とかNscripterとか
そういうんじゃなくてちゃんと主人公を好きにジャンプさせたりヤクザとの戦闘があったりするのが 作りたいんです
自分でなんとかする気すらないド素人のためのスレではありませぬ
吉里吉里で多少頑張れば作れます
>>77 教しえてくれる人のいる2年生レベルなら可能
83 :
名前は開発中のものです。 :2008/01/08(火) 18:35:01 ID:lfYNVEJX
ここで質問するべき内容なのかどうか分からないんですがちょっと質問させてください。 剣と魔法のRPG風ゲームを作ってるんですが、魔法使いの行動パターンで 「攻撃魔法」「回復魔法」と、他に敵モンスターの行動速度を遅らせたり攻撃力を弱めたりする魔法の3ジャンルを作っているのですが、 敵モンスターの行動速度を遅らせたり攻撃力を弱めたりする魔法 っていうのは、なに魔法と言うのでしょうか? 「補助魔法」というにはなんか変かなと思って、ずっとそこで煮詰まってます。 どなたかご回答、または内容にあった質問スレへの誘導よろしくお願いいたします。
そういうのは補助魔法か、支援魔法でいいじゃん
補助魔法でいいよ 相手にやる補助魔法は間接魔法とかいう分類もあった希ガス
>>80 何とかする以前にどれくらいのスキルが必要かって聞いてるだけですが?
>>81 ああいうのはサウンドノベルとかに向いてるのでは・・・?
>>82 残念ながら周りに詳しい人がおりません・・・・
>>87 ならこの掲示板を利用なさい
手土産を持つとか礼儀正しい態度とか頼み方がおもしろければ答えてくれる人もいます。
華麗にスルーする能力と嘘を嘘と見抜く力、あと忠告や批評とただの煽りを見分ける力もいりますけどね
とりあえずHSPとかでちょっとだけでもいいからプログラムやってみろ
数学分野でのスキルについて質問なんですが、計算は正確に出来ないと問題でしょうか 一応知識はあるのですが、常に正確な回答を出せるかどうか不安です
計算するのはコンピュータだから問題なし じゃなくて、公式やら定理のことだと思うけど、これ間違ったらコンピュータはけして正しい答えを出さない(ようするにバグる)ので、ただしい式を計算させる必要がある。 数学の知識以外にも、有効桁数とか正負の切り分けとか丸め誤差とか正しい答えを得るために知っておく必要のあることがいろいろある。
92 :
83 :2008/01/08(火) 21:52:54 ID:lfYNVEJX
>>84-86 返信ありがとうございます。
「補助魔法」という名前であればユーザーにも伝わりやすいような気がしてきたので、
「補助魔法」にしようと思います。
どうもありがとうございました。
>>90 中学生レベルの簡単な計算はできたほうがいいけど
難しい計算を早く正確にできる必要はない
どの公式を使うか考える応用力がいる
94 :
名前は開発中のものです。 :2008/01/08(火) 22:18:00 ID:arXyO3RO
こんにちは。ゲーム製作初心者ですが、質問があります。 ドラクエを簡単にしたくらいの戦闘パートを含めたノベルゲーム のようなものを作りたいのですが、 それにもっとも適したツールは何でしょうか? KAGとかだと大変そうだったのですが…どのツールを使っても初心者には茨の道なのでしょうか。
>94 KAGの仕様が分からないので何とも言えないが (1)そのツールを使いこなせない (2)そのツールに変数や乱数などのシステムが実装されていないので、戦闘システムが作りにくい とでは全く違う。 (1)なら諦めろ。KAGで駄目なら他でも駄目だと思う。素直に勉強すべし。 (2)ならもう一度相談してくれ。
エロゲーの絵を担当しているんですが 何枚描くかなどの質問はここでいいでしょうか?
ライターに聞けよ
実は夏コミに合わせあと半年で立ち絵とCG絵100枚ほど描けといわれて。 普通はどれぐらいこなすものなのかということを聞きたかったんですが‥ これぐらいが普通なんでしょうか。
>>98 商業の原画だと3ヶ月で100枚+αってこともあるけど彩色は別の人がやるよ。
>>99 ありがとうございます。やはり商業はそれくらいなんですね。
私は塗り込みみたいで。やっぱり無謀だよな・・
>>98 CG書くだけじゃなく仕事とかもしてるんだったらまず無理だと思う
>>101 社会人じゃなく大学生だけどバイトにダブルスクールが。
無理そうだといったら最初からできないなんていうな死ぬ気でやれだって。
('A`) あまりにきっぱり言うから俺が甘いのかと思ったよ
>>102 どうみても無理です本当にありがとうございました。
そいつと縁切ったほうがいいんじゃね。
>>102 そいつは監督かなんかか?もしそうなら、おまえも手伝えっていってやれ。
全体に対して責任を持つ立ち場のやつなら、そいつも無理難題に立ち向かう義務がある。
自分の軽率な発言によって生まれた修羅場なら、なおさらだ。
>>102 もう尻が決まってしまってるんならやるしかないけど、無理なもんは無理だからね。
ちゃんと伝えたほうがいいよ。そうじゃないと、あとで責任なすりつけられたらたまらない。
>>103 本気で縁切ろうかと思ってる
>>104 ライター兼総指揮。
修羅場とまではいってない。まだ折り合ってくれたりする方なんだけど
二日に1枚のペースだぞ無理だ→死ぬ気でやってみて→それでも無理そう
→一生懸命やるっていうなら何とかしようと思ったけど最初から(ry
最後には他のスタッフだって忙しい俺だってライターとスクリプト手伝いするんだぞ発言
一日考えさせてくれっていったら俺はお前を使いたい。信じてる。で終わり。
実はキャラデザもまだ決まってない。そしてそれも俺担当。サイト作り管理も俺担当。
・・・死ぬ気というか死にそうだ
>>106 どうみても無理です本当にありがとうございました。
根性論でなんとかなる問題じゃないだろこれは
俺は去年追い込みで一週間で10枚くらい仕上げたよ。 と言っても夏休みだったしクオリティもかなり低いけど。
>>106 交渉して枚数減らしたりできないの?
もし、それを突っぱねるようなら、そいつは真性アーティストであって、
商売ごと(人を使うこと)には向いていないと思う。
売り物を制作するやつがやることは、お客さんが満足してくれるレベルの物を、
如何に安く作るかであって、
自分の脳みそで上映されているドリーム劇場を物理的に再現することではない。
蛇足だけど、俺は双方の関係を壊したいわけじゃない。 ただ、人を使う立場のやつが、他人の苦労を考えずに自分の権利を振りかざすのが我慢ならないだけ。
夏コミまでもう休暇がないから特にきびしい 交渉してあと50枚ほどが冬にまわされた結果100枚になった。 なんで冬に完成させるのは駄目なのか聞いたら 人を待たせてるから。期待してる人がいるし拍手で応援してくれてるし嬉しい。って言われた。 理由なんかおかしいと思うのは俺だけか。そして拍手で応援してるの二人だけだぞ 前にサイト徹夜で作ってそんな中描いたキャラ絵を見て初めてがっかりした。 こんなクオリティの低いのをサイトにあげるな。お前を評価してる俺が一番悲しい。っていわれたよ。 そんな状況に追い込んでるのは誰だよ・・ ってみんなマジレスありがとう。精神的にまいってたから本当に助かった。
アクションゲームでキャラを地面に立たせたい 今のところ地面は線一本で描写したいのですが これは 線を表示→キャラが画面外にはみ出ないようにするのと同じように線上に留まらせる これでいいんでしょうか?
>>111 どんなにチープな絵でも、ストーリー次第で名作ゲームにできる。
かまいたちの夜みたいに、影絵でも、伝えたいことが伝えられればいいんだから、
労力を減らせる策をこちらから提案してみるのはどうよ?(自分で撮った写真をレタッチしたものを使うとか)
プレイヤーの想像力をかき立てる仕掛けを作れば、ゲームの評価を良い方向に狂わせることができるかもしれないし。
>>112 2Dなら地面(線分)とフレーム毎のキャラの軌跡(線分)の交点に立たせる。
>>111 とりあえずそいつここによんでこいw
おもしろおかしくこづきまわ…ゲフンゲフン
単なる無経験なのか頭おかしいのかは判断しかねる
昔同じ目にあったけどその場合頭おかしかったけどね
116 :
名前は開発中のものです。 :2008/01/09(水) 16:33:13 ID:qPE79/aS
>>95 レスありがとうございます。そして返信が遅れてすみません。
仕組みなどは何となく理解できるのですが、どこかで計算が狂いそうで不安要素満載です。
吉里吉里あたりでテンプレのようなものがあればと思ったのですが、そう甘くもいかないようで…。
戦闘の結果によって物語が分岐するようにしたいので、
かなり気合を入れなくてはならない箇所なのであります。
相手するのはいいが他のスレ(か板)でやってくれなww
>>116 バグでないプログラムなんてねえよww
KAGはプログラムっていうか知らんが
がんばってデバッグしてください
>116 もし機会があれば、ゲームブックと呼ばれるジャンルの本も覗いてみてください。 色々なタイプがありますが、フラグ立てを駆使して戦闘を表現している作品もあります。
121 :
名前は開発中のものです。 :2008/01/09(水) 22:30:47 ID:li9YHLih
>>118 (;´Д`)
>>119 アドバイスありがとうございます。
けれど、まぁ、うん、えっと、頑張ってみます。
俺のゲームは「仕様」と「ウルテク」しかないから、バグなんてないな。
上でエロゲ絵担当で質問したものです。
いい加減スレチだったからこれ以上書くのやめようと思ってたけど
まだレスしてくれた人がいたのでお礼にきた。
>>113 背景も俺担当だったけど外してもらった。そこらへんを譲歩してるんだから
これ以上は無理という感じに。ストーリーのできはあまりよくな(ry
>>115 無経験です。多分絵の大変さを理解できてないんだと思う。
頑張りさえすればそれくらいできるという考えぽい。
自分の努力が足らないのかと自己嫌悪に陥るところだったのでレス読んで安心しました。
ありがとうございました。
>123 ぶっちゃけストーリが完成してるだけまだまし・・・な気もする。 そういう輩は CG = 絵師(自分の妄想) と勘違いしてる場合が多い。
質問なんだがDrawBoxで四角を表示 それを使ったゲームを作りたいんだけどなぜかゲーム画面になると一瞬で四角が消えてしまう 描画関係なんだろうけどどうすればいいんだろうか
うp話はそれからだ常考ふじこ
わかりました 学校終わったらうpしやす
M.U.G.E.Nのシステムみたいな キャラの動き方とか技のパターンとかを外部ファイルで定義して それを読み込んで動かすようなゲームシステムの参考になるような資料・サイトって無いですか
スクリプトエンジンとかそういうの?
>>128 君が探してるのはゲームシステムじゃなくてゲームプログラムじゃないの?
よく覚えてないけど M.U.G.E.Nのアニメ定義とか技定義のファイルって [waza1] type = 1 power = 10 tame = 5 … ↑みたいな単純なテキストだったような気がするんで 似たようなことしたいなら、データ形式はiniにでもしといて Win32APIのGetPrivateProfile系の関数使って読めば 簡単じゃね? 勉強用なら自分で構文解析してみるのもいいかもね
そういうデータなら今はXMLが流行ってるっぽいね
>>125 マジレス:マシンや言語や使用ライブラリを書いてください。
ESPレス:毎フレーム描きましょう。
136 :
125 :2008/01/10(木) 19:18:26 ID:HtWuu6tx
とりあえずJikiControl::init()に突っ込むんじゃなくて、描画用の関数作って、 GameFrame::drawGameMain()で毎回呼び出させてみたらどう? 例えばmove()の中に入れてみるだけでも挙動変わるかもよ そのメインループの中って、 ClsDrawScreen()で画面消して、 drawGame〜で描画するデータ作って、 Screenflipでそれを画面に反映させる、のをループが続く限り繰り返してる だから最初に1度しか呼ばれないinitに描いても、すぐ消されちゃう
ESPレスで正解かよw
>>137 を初心用に訳すると
とりあえず描画する場所をinit()ではなくmove()かmain()でやたらいい
エスパーってことはみんな躓くってことじゃない そんなつまんないところはさっさと解決しないと勿体無い そんなことより適当に進展があったら報告しる
今C++について勉強しています。今は基礎を勉強しているので、次に進みたいと思っています。 そこで、実際にゲームを作りながら学べる…みたいな書物はないでしょうか?教えてください。もしくは これはオススメ というものがあれば、そちらもお願いします。 別のスレでも同じ質問をしたのですが、返事をもらえなかったのでこちらにきました。マルチ?申し訳ないです。
マルチしね
その手のはC++っつーよりCで書かれてる事が多い希ガス。 ゲーム製作でも十分大きな障壁なのに、C++という余計な障壁を追加してどうするw というわけで、Cで書かれたその手の本を片手にC++で開発汁。 C++の機能が使えそうな場面になったら、迷わず使え、使えば判るさ! あとマルチは死んでもいいが、ゲーム製作の泥沼で苦しみ抜いてから死んでください。
Cで探してみます。 なんか本当にすいません。
分かりづらいかもしれませんが、ゲームのマップチップの砂地とかで、 ただ黄色で塗ってあるだけでなく5色ぐらいの色が混ざって 全体として黄色くなっている感じですが、 あれはどのように作っているのでしょうか。
ちまちまと。 フォトショップなんかだと、画像にノイズを追加するフィルタとかがあるだろうから、 そういったものを参考にしてる人はいるのかもしれない。
手でポチポチとドットを打ってそれっぽいものを作るしかないんじゃないかなぁ。
148 :
125 :2008/01/12(土) 14:11:44 ID:rAia1RLz
お答えありがとうございました おかげさまで毎フレーム、四角が表示されるようになりましたが しかし移動しません もう少し試行錯誤してみます たかが箱を画面内に表示するだけなのに・・・・複雑だなぁ
if( CheckHitKey( KEY_INPUT_UP ) ) SikakuY--; else if( CheckHitKey( KEY_INPUT_DOWN ) ) SikakuY++; if( CheckHitKey( KEY_INPUT_LEFT ) ) SikakuX--; else if( CheckHitKey( KEY_INPUT_RIGHT ) ) SikakuX++; こんなのを毎フレームやればおk
150 :
名前は開発中のものです。 :2008/01/12(土) 20:45:40 ID:Gl5M215U
C#でocttreeは可能?
octtreeってデータ構造だろ 大抵の言語なら出来る
152 :
名前は開発中のものです。 :2008/01/12(土) 22:21:21 ID:Gl5M215U
ポインターがないからかなり難しいと思うんだが・・・ 再帰の再帰*4もむずかしい
JavaでもC#でもそうだがclassが渡せるならできるはず 個々のパーツをコレクションに突っ込んでそのハッシュをやり取りすればいい
C#のclassのインスタンスなんて全部ポインタ扱いだと思えばいい
155 :
名前は開発中のものです。 :2008/01/12(土) 23:48:30 ID:HQ+sOsc4
TekiControl::TekiControl(){ int temp[12][3]={{120,-2,0},{100,0,0},{120,2,0}, {40,0,-4},{120,-2,0},{100,0,0},{120,2,0}, {80,0,4},{120,-2,0},{100,0,0},{120,2,0},{40,0,-4} }; これの意味がよく分からん・・・・ テキストによれば「回数」「X移動量」「Y移動量」らしいが 何度いじってみても思い通りに動かない・・・というか法則みたいなのが全く見えてこないです
ちなみに↑のやつでやると敵キャラは数字の3のような動きをします
俺のESPレベルじゃ無理。
アルゴリズムを掲示板で聞こうったってムチャな話だし
159 :
名前は開発中のものです。 :2008/01/13(日) 00:02:49 ID:IXFmN4yC
ポインターは使わなくてもできるのは何とかわかったけど 再帰はどう考えればいいの? 初めがmaxのxが255でminのxが0として(zも同じで) 一個上のセル1.max.X = 一個上max.X / 2; 一個上のセル1.max.Z = 一個上max.Z / 2; 一個上のセル1.min.X = 一個上min.X; 一個上のセル1.min.Z = 一個上min.Z; // 一個上のセル2.max.X = 一個上max.X; 一個上のセル2.max.Z = 一個上max.Z / 2; 一個上のセル2.min.X = 一個上max.X / 2; 一個上のセル2.min.Z = 一個上min.Z; // 一個上のセル3.max.X = 一個上max.X / 2; 一個上のセル3.max.Z = 一個上max.Z; 一個上のセル3.min.X = 一個上min.X; 一個上のセル3.min.Z = 一個上max.Z/2 // 一個上のセル4.max.X = 一個上max.X; 一個上のセル4.max.Z = 一個上max.Z; 一個上のセル4.min.X = 一個上max.X / 2; 一個上のセル4.min.Z = 一個上max.Z / 2; // make_max_min(セル1); make_max_min(セル2); make_max_min(セル3); make_max_min(セル4); じゃおかしくなる 再帰の再帰ってどう考えればいいの?
160 :
名前は開発中のものです。 :2008/01/13(日) 00:07:54 ID:IXFmN4yC
>>157-158 いや、要するに
{ 120 , 2 , 0 }
これらの数字がそれぞれどういう意味なのかがよく分からないんです
「回数」「X移動量」「Y移動量」とかいったら回数が120回?
Xの移動量が2とか有り得ない、ゲーム中画面の半分くらいのX座標は動く
テキストの解説が間違いなんでしょうか?
>>159 その式が正しくなるのは
minX == -maxX
のときだけ
int midX = (parent.minX+parent.maxX)/2;
child[0].minX = parent.minX;
child[0].maxX = midX;
ここだけ見れば後全部わかるでしょ
>>161 その数字をどのようにして扱っているのか
コードが見れなきゃ意味が分からねぇよw
163 :
157 :2008/01/13(日) 00:16:57 ID:VixeFhJY
アンカーはられちゃったので、引導渡してやろう。 ソースを読め。夜明けまでに。 ソースも無しに配列眺めてるだけんて論外だからな。 もしソース読んで判らなければ、お前にはPG資質無いから あらゆる開発環境&資料破棄して、諦めるんだな。 よかったな。無駄な労力を大幅に節減できるじゃないか。 大丈夫。PG志望の99%は何も作り上げずに挫折するから、 別に恥ずかしい事じゃないよ。
>>161 一回というのは、たぶん1/60秒では?
1/60秒にキャラが(−2,0)つまり左に2ドット動く。
これを120回繰り返すということは、
1/60秒 X 120回 =2秒で
−2 x 120回 = −240ドット動く
ということかも。
そしてら次の{100、0、0}を読み込む。
これは100回 x 1/60 秒 の間は(0,0)で
キャラが停止してるかも。
このパターンを続ければ何かが見えるかも?
>>162 ありがとう
正直こんなに早く回答いただけるとは
3日も悩んでいたよw
>>161 その数字しか見せないなら
全部同じにして一箇所だけ極端に変えてみればいいんじゃない?
>>165 普段から図にして書くようにするといいよ
多分ソースの上でやってるから気づかないだけだと思う
あ、追記 その最初にあげてもらった式はminX==-maxXでも合ってねぇ・・・w すまん。
>>166 さんの助言通り、一つだけ極端に大きくし
>>164 さんの法則通りに動くか見てみるとその通りでした!
色々な敵の動きを試してみようと思います。
ありがとうございます。
>>163 で?
初心者はまずブロック崩しを作れ ってこの板のいたるとこに書いてあるけど、 まず作るのって壁マリオじゃないの? つーか壁マリオってローカル語?
壁マリオってなに?
しらん
マリオって難しいよな 主人公がゴールの座標までたどり着いたらクリアとかいまだに出来ない・・・・ 主人公のX座標=ゴールX座標でゲームクリア画面・・・・ これが全然いう事聞かないんだぜ
ブロック崩しが一番簡単だから 手とリスは結構むずかしい で壁マリオって?
なんとなくうざい空気が漂ってるのは気のせいだろうか?
177 :
名前は開発中のものです。 :2008/01/13(日) 02:48:07 ID:ZquvzNJx
ツクール2000を今日買ったんだけどPS版に比べて素材がかなり少ないんだけどこれ以上ないの? 屋根つくりたいけど屋根ないや。 キャラ作るツールもないのかな? どこかで自分で作った奴を取り込むしかないのか…
あれだ、もう好きなようにやれw おしえるのが馬鹿らしいし
何も無い状態から始めるのは ブロック無しのブロック崩しだろう。 最初は完成させる事に意味があるから。
>>174 そうやってツクラーを馬鹿にするやつほど
大してプログラムも出来ないんだろうな
他所でやれ他所で
>壁マリオ そういうことね、ありがとう。 なんとなくそうかなー?と予想はしてたんだけど。
>>155 そういうのは著者に問い合わせるのが一番だと思うよ^^
>>176 ,182
ですよねー(^^
みんな仲良くしましょ〜!w
きめえええw
冗談ではなく、数値だけ弄って遊びたいだけならツクール系が良い。 PG志望ならアルゴリズムを解析するなり、自分で代替コードを書くのが良い。
今のゲーム開発はツクールを作るようなもんだからなぁ データ弄る部分は企画にやらせるべき データを弄ってソースを改造しましたなんて言ってる時点で プログラマの仕事ではないと思わないとな
VC++2008EEでDirectX9を使ったゲームを作ろうと思って DirectX SDK - November 2007を入れてとりあえず初期化だけするサンプルをビルドしたのですが Main.obj : error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 "bool __cdecl Direct3DInitialize(void)" (?Direct3DInitialize@@YA_NXZ) で参照されました。 とエラーがでてしまいます。ツール→オプション→ディレクトリ設定でDXSDKのディレクトリ設定だけじゃだめなのでしょうか・・・。 OSはXPHomeEditionSP2です。
昨日から作り始めて、ユーザー入力で躓いたんだけれども、 入力はウィンドウメッセージを受け取ったらグローバル変数にとっておいて ゲームループでそれを読み込む、という手順であってますか?
>>189 そのサンプルは、自分でコードをコピーしたものですか?
それだったら、directx関連のlibファイルがプロジェクトに含まれていないんだと思います。
プロジェクト→プロパティ→構成プロパティ→リンカ→追加の依存ファイル
のところに d3d9.lib などを記述してみてください。
>190 ゲームによるだろうけど、あんまりOSからのメッセージは利用しないんじゃないかなあ。
>>190 ゲームループが1フレーム処理する間に、
複数のウィンドーメッセージが飛び込んできたら、
グローバル変数に保存するのは面倒臭そうだな。
グローバルな関数を呼び出すのがいいんじゃないか?
(俺はグローバルな変数からクラスを参照して…
ま、やってる事は同じだw)
>>192 ,193
ゲームループ中で処理できるように頑張ってみます。
ありがとうございました。
>>191 d3d9.libを追加してもだめでしたがlibファイルがプロジェクトに含まれて
ないとの指摘いただいたのでそこら辺を調べてたら
ディレクトリ設定のライブラリの項目が
C:\Program Files\Microsoft DirectX SDK (November 2007)\Lib\x64になっていましたので
x86に設定したらエラー出なくなりました。
ありがとうございました!
196 :
159 :2008/01/13(日) 22:55:43 ID:Abyjmtku
やっぱりoctree難しいな 各セルに頂点バッファとインデックスバッファ持たせて DrawIndexedPrimitivesで描くようにしたんだけど 判定しないで全セル描くほうが断然早いw 各セルには一番上のインデックスバッファの部分的なのだけ持たせて描くべきなんだろうか 入れるにしてもこの法則がわからない アドバイスください
>>173 キャラの移動速度によるけど
主人公のX座標>=ゴールX座標
じゃなきゃスルーしないか?
>>196 そもそもoctreeで何をやろうとしてるの?
199 :
159 :2008/01/14(月) 00:17:55 ID:x/4kqllO
>>199 今までDrawPrimitive1発で1600頂点描画してたのを
16分割してカリング決まってDrawPrimitive10回に分割できた、
とかだと遅くなるだろうからなぁ…
最適化の話は結構難しいね
了解しました 誘導ありがとうございます
204 :
名前は開発中のものです。 :2008/01/16(水) 21:52:07 ID:RrH1uObV
RPGツクールVXで質問なんですが… 初代FFみたいなサイドビューバトルの作り方を教えてもらえませんでしょうか?
どなたか横スクロールアクションの作り方に詳しいページをご存知ないですか? 正直ジャンプ処理だけで苦しい目にあってる・・・・ if( ( Key & PAD_INPUT_A ) && PlayerY == 100 ) JumpPower = 10 この方法だと坂道とかでジャンプできないし
206 :
名前は開発中のものです。 :2008/01/16(水) 23:33:22 ID:RrH1uObV
>>205 これをスクリプトに組み込めば横スクロールにできるのですか?
>>205 できるわけがない
必要なのはどこか参考になるサイトを見つけてコピペすることではなく
基本的な数学的能力(数学つーのもおかしいけど)
※ヒント
条件にY==100ってあるけど坂道ってことは高低差があるよね?
(高低差のない坂道だったら状況がいまいちわからない
「座標が一定以下ならジャンプできる」ではなく 「着地状態ならジャンプできる」「座標が一定以下なら着地状態になる」の2つに切り分けた方が便利だと思うよ。 ところで、 ___ / ___/ という坂道より ■■■■ ■■■■■ ■■■■■■■■ のほうが簡単かな? と思うけど意見求む。
MPEG-1って使用料とか必要ないですよね? 2と4がライセンスフィーで間違いないですか?
>>206 これはただのジャンプ操作です
>>207 数学ですか・・・
プログラムをやるうえで避けてとおれないのは分かっているんですが・・・・
ヒントありがとうございます
>>208 ありがとうございます
マップは後でつくろうかなと思っていましたが
どうせなら今のうちに地形データに足場を作ろうと思います
>>205 何のために&& PlayerY == 100なんて付けてるんだよ
それが駄目なら別の条件考えればいいじゃない
>>180 それすら出来ないぜ
調べると脱がせるブロック崩しが出てくる俺はプラグラムに手を出す資格が無いんだろうか
何処から手をいけば良いのかサッパリだ
アクションゲームへの道は遠い
まあ、あれだ。 サイコロを振って 出た目を当てるゲームを作ってみ。
今俺規制されてるっけ?
自己解決しますた
>>214 ブロックの無いブロック崩しを作れば良いのか
初心者には適当な御題だと思うぞ。
そういえば土日スレで色んなブロック崩しが発表されたことがあったなー…。
221 :
名前は開発中のものです。 :2008/01/18(金) 19:46:24 ID:J/aTh5ME
RPGVXで質問です 自分でドット絵ャラを作るにはどうすりゃいいんすか? ちなみに、探してみたらキャラシュミレートってサイト見つけてキャラ作れるけど…素がXP対応に作られたらしいのですが…VXにも対応しますかね?
向きを持ったキャラクタを回転させたいんですけど、 3D空間での単位ベクトルの回転ってどうしたらいいですか? 回転といったら行列を掛ければいいとおもったんですけど、ベクトルは3元なので どうしたらよいかわかりません。
何軸周りの回転?
全部の軸回せ
こういう場合、言葉で説明しても説明しきれないから、 「任意軸周りの回転行列」でググれ。
227 :
名前は開発中のものです。 :2008/01/19(土) 20:27:35 ID:XqIAvNNn
コンパイル異常なしのはずなんですがゲームがフリーズします
主人公と敵に当たり判定を作ったのですが
当たっても何も起きず、おまけにゴール地点(画面右端付近)に行くと
ゲームクリアと表示されずに強制終了するようになりました
当たり判定を作る前だと「GAME CLEAR」と表示されるようにしています。
使用してるのはC++のDXライブラリ
時間のあるお方、ご指摘お願いします
http://uproda11.2ch-library.com/src/1160161.rar.shtml 一番の謎はクリア条件とは一切関係の無いはずの当たり判定を追加してから
こんな事態に陥ることです。
当たり判定ってなんでこんなに融通が利かずに難しいんだろう・・・・
デバッグ依頼するやつはゲームPGとしての才能0 さっさとあきらめて他の道を進め。
逆に考えるんだ 素人にとっては他人の糞コードを拝める貴重な機会だと考えるんだ。 ダウソしてパズル感覚で解読するのもまた経験。バグを発見しても 報告する必要なし。ニヤニヤして己の糧としろ
forと配列つかった部分でヌルポ踏んでるんじゃね?たぶん敵の部分 …と落とさずにエスパーレス
C++にはAccess violation はあっても…
>>229 アホ。
なんだ、ダレもマジレスしねぇーのかよ。あぁー、じゃぁしかたねぇーな
>>227 >主人公と敵に当たり判定を作ったのですが
段階を踏んで実装前に退化させろ。
そうすれば問題点を特定できるかもしれない。
それでだめなら、実装前の状態に戻せ。
新しい処理なんて窓の外に捨てちまえ。
書き直しの参考程度には取っておいて良いかもしれんが…
つか、フリーズってなんだ?
デバッグでどこで異常発生しているのか特定できないのか?
使ってないなら何ヶ月何年何世紀かかってでも使えるようにしろ。
そのほうが早く完成するだろうよ。
>>227 またおまいか
前のはともかく、それはここで質問するようなもんじゃねーぞ
デバッガ使えない身としてはDrawStringとかprintfDxを適当な処理ごとに埋め込んで、
画面に適当な文字出しながらどこまで実行されてるか確認するのを勧める
まで書いて思い出したけど画面よりファイルに残すほうが便利かもしらない
>>230 エスパーとか言って、実は見たろ。
いや、見たに違いない。
>>227 main.cppしか見とらんけど、for文の開始/終了条件がおかしくないか?
あと、どうみても当たり判定をゲームクリアの時にしかやってません。
ありがとうございました。
235 :
名前は開発中のものです。 :2008/01/20(日) 23:05:02 ID:dSmm2Eu0
ドット絵作れる無料ツール保存したが…変な英語でてきて起動デキマセん なぜでしょうか?
その英語すら書かないというやる気のなさ
どのツールか当てろとかそれなんてエスパー EDGEかなんかで本体VISTAの互換性云々でオワタに100ガバス
HSPで作られたツールをディスクトップで起動してるとか
ドット絵を作れるツールなんてペイントも含まれないか?
実はOSが英語版。
241 :
名前は開発中のものです。 :2008/01/21(月) 16:49:58 ID:AvUShhZ7
3DCGアプリでも、プログラミング用アプリでも、 今現在、メモリを最大限(4GB)使えるものってありませんよね?
意味わからん プログラミング用アプリってなんだ? メモリを最大限使うって誰が何のために? もうちょっと詳しく
>>242 プログラミング用アプリっていうのは、VC++とかのことです。
メモリ最大限というのは、文字通り、積んでるメモリをちゃんと使えるかどうかということです。
Photoshopは4G積んでも、使えるメモリは2GB以下らしいので、
他のアプリも同じなのかと思いまして。
4GB中、2GBまでしか使えんのは確か32bitwindowsの仕様。 linuxとかだったらあるんじゃね? で、この板で質問する意味がわからんわけだが
64ビット版Windowsで64ビットアプリケーションを動かせば積んでるメモリ全部使えるかと
XSI LightWave Max Maya Carrara 3Dアプリに関しては知ってる範囲ではこいつらが64bit対応
>>244-246 有名どころは64bit対応してるんですね。
MAX使う可能性があるから4G積んでおこうと思います。
回答ありがとうございました。
64bitウィンドウズ使ってんのか
全く何も知らない初心者なのですが、まず何からやればいいんでしょうか? 少し見た感じだとHSPってやつをやってみるのがいいのかな?と思ってるんですが…どうなんでしょう?
書き忘れましたが、なにかゲームを作りたいなと思ってます。詳しくは決めてません。
先生質問 動作環境の推測って可能なの?
CPUとかグラボのスペックなら取得できるだろ それともインストールされる前に動作環境知りたいと?
どうしてもって場合は動作環境の条件として書いておくのが普通だな。
自分の作ったプログラムを動かすために必要な動作環境(CPUとかメモリとかグラボのスペック) ドキュメントに書いてるけどみんなどうやって推測してるんだろうってことかとエスパー
自分のスッペクを最低にすれば無問題
>>251 ありがとうございます。
まずはとても簡単なゲームを作ることを目標にしたいと思います。
あとまた質問で申し訳ないのですが、HSPは初心者用なんですよね?
もしHSPを使いこなせるようになり、ちゃんとしたCやC++(この辺の区別はまだよくわかりませんが…)で作ることになった時、
HSPとは使い方が違いすぎて、困惑してしまうと言うことはないのでしょうか?
もしそうなら多少面倒でも、初めからCやC++を使ったほうがいいのではないかと思うところがあるのですが…
自転車に乗れないのに スクーターを運転できると思いますか? まして、大型バイクを操る事が出来ますか
あなたの年齢や御脳の程度によります。 高校前ぐらいならHSPからはいるのはぜんぜんありありだと思う
×高校前 ○高校以前(高校生含む) スレ汚しすまそ
OBBの当たり判定をしようとしているんですが、上手くいきません。 オススメの解説サイトありましたら教えて下さい。
もし概念自体がわかるなら あとは参考になるソースのありかが分かれば何とかなんじゃね? Irrlichtのソースとかどうよ
263 :
名前は開発中のものです。 :2008/01/24(木) 23:06:08 ID:Hv9wm02n
C# でdirectx使って作ってるんですが D3DXVec3Dotは、ないんですか? あと直接関係ないのですが C#をキーワードにググルときどうすればいいんでしょうか?
そういや2chじゃ半角#のついたタイトルのスレは立てられないんだっけ
C#は普通にぐぐれるような
>>258 >>259 HSPが次へ進むための基礎になるのなら全然大丈夫です。
基礎になるかどうかが心配だっただけなので。
ありがとうございました。
春休みでやっとこっちに付きっ切りになれそうです。 fpsを60フレームと30フレーム切り替えられるような実装する方法として、何かいい手段はないでしょうか 30fps時 1、単純に2回計算更新、一回描画とした場合、事実上一瞬のうちに2回分動くことになるので、入力判定まで30fpsになります。 2、描画に必要な情報をnewで確保し、別スレッドで処理するとnewが重くて効果が期待できません。 3、あらかじめ描画のための読み取り用と計算用の二つの変数を用意するのも気持ち悪いです。 と自分で書いてて、入力周りだけうまく作ればいいような気がしてきました・・・ 事故解決。
二回に一回描画をスキップすれば? エフェクト(爆発とか)1コマ目をスキップすると、 別物になりそうだがw
フレームレートに無関係な設計をすると思うんだな タイマーを作って それを基準にして回す。
質問です。
C++とDxlib使って戦術シミュを作っているんですが、
プレイヤーキャラの移動可能範囲?を決定する
アルゴリズムがうまくいかなくて困っています。
作っている戦術シミュは、正方形ではなく六角形です。
地形コストは、配列に
/\/\/\/\/\/\
| | | | | | | →x軸
\/\/\/\/\/\/\ ↓y軸
| | | | | | |
\/\/\/\/\/\/
というように入れています。
アルゴリズムは、
ttp://gumina.sakura.ne.jp/CREATION/OLD/MAKING/のを 、
6角形で使えるように拡張したものを使っていますが、
結果が1マス飛んだところに移動可能フラグがたったり、
一方向だけ飛び出ていたりと無茶苦茶になってしまいます。
どなたか簡単なアルゴリズムを教えて頂けないでしょうか。
オセロの板のような格子に駒を置く そうすると 駒の周りには8方向にあるね。 六角形だと回りに6方向になるね。 やり方は同じ
>>271 /\/\/\/\/\/\
| 0| 1 | 2| 3| | | Y0
\/\/\/\/\/\/\
| 0|A1 | 2| 3| | | Y1
/\/\/\/\/\/\/
| 0|B1 | 2| 3| | | Y2
\/\/\/\/\/\/\
| 0| 1 | 2| 3| | | Y3
/\/\/\/\/\/\/
A1のYが奇数の時、動ける場所は
X1Y0、X2Y0、X0Y1、X2Y1、X1Y2、X2Y2
B1のYが偶数の時、動ける場所は
X0Y1、X1Y1、X0Y2、X2Y2、X0Y3、X1Y3
Y軸が偶数か奇数で処理を分けないといけない。
274 :
271 :2008/01/26(土) 11:12:15 ID:f31v8HQx
すいません。単純なミスで移動力を何回も引いていましたorz 回答してくださった方ありがとうございました。
いい質問の仕方だったと思うよ
確かに状況がはっきりわかるな、うん。そういう意味で参考になった。
JavaでRPGを作っているのですが、マップ構造(描画)について質問させて頂きます。 1)常にキャラクターの奥に表示されるべき物(床、建物の低い所など) 2)前後判定が必要なもの(他のキャラクター、看板など) 3)手前に表示されるべき物(建物の高い所など) の3つを考え、1)と3)を同サイズの2次元配列マップデータとし、 2)をイベントデータとして、1→2→3の順に描画しようと考えているのですが、 SFCのゲームなどではよくある下図のように、 ↑ ┌─―======= │ → 橋 → 橋の上を通る場合(橋はキャラの下に描画) │階┌======= |段| ↑ | | 橋の下を通る場合(橋はキャラの上に描画) という場合はどのような処理(データ構造)になるのでしょうか? マップ構造に中間レイヤーを入れ、キャラクターにどの階層に 属しているのか、という値を持たせ、階段等の場所でその値を変更し、 それに従って描画やアタリ判定処理するのかな?と思っているのですが、どうでしょう? 長文失礼しました。
マップそのものを多重にするのもいいけど、 マップチップそれぞれに キャラが低位置の場合:通行可/不可 キャラが高位置の場合:通行可/不可 という属性を持たせてもいいと思う。
>>277 大体そんな感じだと思う。ツクール4なんてまんまそのシステムだし。
280 :
277 :2008/01/28(月) 21:44:49 ID:UF2NmsvL
>>278 確かにチップにそういう属性を持たせても実現できそうですね!
マップの構造ばかりに目が行っていたので盲点でした。
ありがとございます。
>>279 ありがとうございます。なんとなくこれで行けそうだな、とは
思ってましたけど、一般的にもこういう処理なのかいまいち自信が
なかったため、モヤモヤがすっきりしました。
281 :
278 :2008/01/28(月) 22:02:24 ID:YO5yx1sy
>280 まあ、>278でも当たり判定とかの部分は多重マップにしてるのと一緒だけど。
>>280 件数が少なければ、描画処理だけ橋をキャラクタ扱いにしてしまう手もあるよ
製作ゲームの為に楽曲を150曲程書き溜めようと頑張っているのですが、 恥ずかしながら私はプログラム等々には疎くて精々グラフィックを僅かに手伝えるだけです。 こんな私がスレを立てて、この楽曲を使ってRPGを作りませんかと有志を募ろうとしたとして、 みなさんから手を貸して戴く為にはなにかすべきことはありますでしょうか? 或いは、こんなことは全く望みの僅かな絵空事なのでしょうか?
ツクールとかならプログラミングの知識は要らないんじゃない? ていうか150てすげーな。
285 :
280 :2008/01/29(火) 00:26:31 ID:iVp69gBV
>>281 確かにそうですね。イメージとしては、完全にレイヤーを被せるのではなく、
各チップが高さ情報も兼ね備えた状態と理解しました。
重ね重ねアドバイスありがとうございます。
>>282 橋をキャラクタ扱いにするのは頭をよぎった事があるのですが、
橋の上を通る処理をどうすればよいのか分からなかったため諦めました。
キャラクタと同様に描画判定を毎回行うということだと思うのですが、
その場合は、橋の渡ったり、下をくぐったりするのはマップ構造的には
どのようになるのでしょう?
よろしければ後学のために御教授ねがえませんか?
なんらかのフラグ(高さ情報など)は必要として、 キャラの描画順番を変えるだけじゃないかな。
288 :
285 :2008/01/29(火) 19:25:17 ID:iERguOSv
>>286 なるほど!上下マップと橋描画を切り離すってことですね!
って読み返すと
>>282 さんの仰るそのまんまですね、orz
色々モヤモヤがすっきりして、質問してよかったです!
答えてくださった皆さんありがとうございました。
289 :
名前は開発中のものです。 :2008/01/30(水) 00:25:33 ID:DKPFDmLe
質問ですが、ゲームの操作性を良くするコツなどありますでしょうか? flashでアクションゲームを作ってるのですが、操作性がどうやったら出せるか悩んでいます。 参考になるゲームなども教えていただけるとありがたいです。
もーちょっと具体的に。 どんなアクションで操作性が悪いと思ったのか、 操作性の良いゲームとはどういうものを言っているのか、 それともFLASHという環境がネックなのか。
293 :
名前は開発中のものです。 :2008/01/31(木) 11:40:00 ID:qV3HQkq4
そういやFLASHってキーの同時押し2つ以上に対応してないの? そういうゲームよく見かけるんだが。
>>283 自分の仕事終わってるなら引く手数多だと思うぜ
ただ、プロジェクトは複数に薄く関わるくらいがいいかもしらない
完遂しないのも多いから
特に2chでは
295 :
名前は開発中のものです。 :2008/01/31(木) 20:04:20 ID:WYFCGpem
目指している感じはスマブラっぽいかんじです とりあえずだめと感じたところ 歩き→ジャンプ となるとき、ジャンプが発動するまえの入力などを無視してたりするところ 重力感とかがふんわりすぎたり、重すぎたり flashのつらいところ ジョイパッドが使えないので、ゲーム機みたいに押し具合で移動量変えたりができない キーボードの同時押しの組み合わせによっては受け付けなかったりする キーボード自体使いにくい
297 :
名前は開発中のものです。 :2008/01/31(木) 20:55:58 ID:WYFCGpem
>>290 目指しているのはスマブラっぽいかんじの格闘アクション系です
悪いところは
ジャンプするとき、それ以前の入力などを無視し真上に飛んだりしているところ、
重力感などがヘボいところに違和感、絵と動きの違和感などもあるかも
flashの問題点
ジョイパッドが利用できない=キーボード自体が使いにくい、同時押しをうけつけないキーがある
298 :
名前は開発中のものです。 :2008/01/31(木) 20:57:52 ID:WYFCGpem
あれ、送信でいてないとおもったらできてるし・・・
>297 >真上ジャンプ 右キーを1回押す = キャラを右に動かすのではなくて、例えば 右キーが押されたら キャラの右方向への「移動量」(いわゆる凅)を+2する(毎フレーム累積) 何も押されてなければ-1する(ブレーキ) 最後にキャラの座標を「移動量」だけ動かす というような挙動にしてみてはどうだろうか。 こうすれば、助走をつけて遠くまでジャンプしたり、 ブレーキ部分の値を変更することで、滑る床(氷)なんてものも表現できる気がする。 >重力感、絵と動き たぶん地道に数字を変えて調整していくしかないと思う。 そういえば、FCのスーパーマリオでは 自然な動きを出すために、計算ではなく専用の数値(テーブル)を用意したという逸話を聞いたことがある。 >実は送信できてた まあ、そういうこともあるさ。 >FLASH特有の問題点 たぶんどこかに専用スレがあると思う。別板かもしれない。
サインカーブにしなかったっけ
301 :
名前は開発中のものです。 :2008/02/01(金) 01:07:26 ID:9ekFv2c7
どうも専用ブラウザの挙動がおかしくなるときがある。。 >FCマリオ なるほど、 flashなら作りたい形のジャンプをアニメーションにしておいて、そこから毎フレームの加算分とかを テーブルに吐き出したりとか考えてみたり。 市販ゲームは数学使って計算しているのかなぁと勝手に思っていますが、 高度な数学を使っているのか単純に足したり引いたりを調整しているのか想像つきません。
プロではないのでテキトー。 以前大手ゲーム会社でチーフPGやってる人の講演を聞いたことがあるんだが、 彼が関わっていたゲームでは、物理法則などをきちんと計算したエンジンを使うらしい。 ただし、あまりにも物理法則を意識しすぎると ゲーム的に実現不可能だったり、プレイアビリティが損なわれたり、マシンスペック的に無理があったり、 不思議なことに、逆に(ゲーム的な)リアリティを失う場合があるそうだ。 なので、その辺は適度にごまかす。 ゲームは物理シミュレーションではないから、「それっぽく」動くのが一番重要。 ただ、何も考えずに省略するのと、物理法則を考えた上で不要な部分を削るのとでは違うとは思う。
>>294 がキャラクターなどの挙動を
位置情報(posX、posY) に移動情報(movX、movY)を=+するよう管理してるか気になるな。
別に強制じゃないけど、こうした方がいいと思う。
>>302 あるあるw
物理エンジン載せた結果か船動かすと乗員に死人が出るから動かせなくなったFPSとかあるよな
あるあるどころか誰でもわかるだろ むしろわからなきゃダメだろ…
307 :
名前は開発中のものです。 :2008/02/02(土) 22:55:02 ID:UbFEfq9m
地形のデータで一枚のポリゴンにそれぞれ違うテクスチャを 使用したい(途中で変わることもある)場合drawprimitiveで 全ての地形を描くことは無理だよね? こういう場合は同じテクスチャを使ってるポリゴンを描いてから テクスチャ変えて描くしかない?
うん。
309 :
名前は開発中のものです。 :2008/02/02(土) 23:08:27 ID:UbFEfq9m
やっぱりそうなのか
<日記帳>
DirectXとか使ったことないけど結構面倒そうだね
マテリアルソートとかやっとくのは当然として、テクスチャとメッシュを一括して指示すればポンと書いてくれるんだと思ってたよ
地形となったら領域分割とかもしなきゃならないし3Dには二の足を踏んじゃう
</日記帳>
>>305 そういう話は聞いてて楽しいな
2Dの、プレイヤーキャラをリアルタイムで操作できるゲームをC#で作っているのですが、 プレイヤーキャラが壁等を通過できないようにする移動矯正アルゴリズムがうまくいかず困っています。 プレイヤーキャラは画面中心固定で、マップの方を相対的に動かします。 マップは32*32のチップをタイルのように配置します。それぞれのタイルの座標は左上のみ 2次元配列に持っておき、*32してタイルの範囲を計算します。 タイルはプレイヤー通過可・不可の属性を持っています。そこで以下のように移動矯正処理を 書いてみたのですが、例えば通過不可タイルの右側からタイルにめり込んだときに、 X軸の移動を矯正後、Y軸の移動を矯正するため、タイルの右下、もしくは右上に位置が矯正されてしまいます。 おそらく典型的な処理で、うまい方法があると思うのですが、探しても見つかりませんでした。 どういう風に処理するのが良い方法でしょうか。よろしくお願いします。 getPlayerTileIndex( プレイヤーの座標, out w, out h ); //プレイヤーがいるタイルのインデックスを求める if ( tiles[ w, h ] == TileType.Wall ) { //タイルが壁なら移動矯正する(壁にめり込んでいる状態) float newx = プレイヤーの現在のX座標; float newy = プレイヤーの現在のY座標; if ( プレイヤーの現在のX座標 < ( ( float ) w + 0.5 ) * タイルサイズ ) { newx = w * タイルサイズ; //壁タイルの左側から進入した場合はタイルの左端に矯正 } else { newx = ( w + 1 ) * タイルサイズ; //壁タイルの右側から進入した場合はタイルの右端に矯正 } if ( プレイヤーの現在のY座標 < ( ( float ) h + 0.5 ) * タイルサイズ ) { newy = h * タイルサイズ; //壁タイルの上側から進入した場合はタイルの上端に矯正 } else { newy = ( h + 1 ) * タイルサイズ; //壁タイルの下側から進入した場合はタイルの下端に矯正 } プレイヤーの座標 = 座標( newx, newy ); }
@移動前の座標を保持 A壁に当たったら移動前の座標に戻す
>>312 それもちょっと考えたんですが、壁にキャラをこすりつけながらの移動ができないんじゃないかと思って
実装してみませんでした。
ユーザはプレイヤーを全方位にアナログに動かせるので、1キャラ分の通路を通り抜ける場合とかに
正確に通路と同じ方向に進まなければ、壁に引っかかりまくって進めなくならないでしょうか。
じゃ、壁との移動経路で交点判定すれば? まずX座標で判定して、視点〜交点と交点〜終点(終点は壁に投影)を求めて、 それぞれを同様にY座標で判定。
>>314 ええと、前フレームの座標〜現在の(壁にめり込んでいる)座標を線分1,
壁の接触している辺を線分2として、それらの交点を求めて
その交点を新しいプレイヤー座標とするということでしょうか。
よく分からないのでもう少し詳しく教えていただけるとありがたいです。
ゴメンこうむるw どう考えてもぐぐったほうが早い。
>>311 C#使ってゲーム作ってる自分としては支援したいところだが、そんな難しく考える必要はないだろう。
状況に応じてx、yどちらかだけ矯正すればいいってことはわかっているだろうか。
両方矯正するケースはどちらかを矯正した値が、まだ移動不可領域にいる場合のみなんだぜ。
あと、before座標と暫定new座標の差分でどちらから進入したかの見当がつく。
例えばDerectXのSpriteの座標のように左上を(0、0)として、new-beforeを計算すると
xの差が- → 左へ
xの差が+ → 右へ
yの差が- → 上昇中
yの差が+ → 落下中
となる。
yが移動している場合はyの矯正を優先すれば大体の場合は大丈夫なはず。若干怪しいときもあるが。
ここら辺は足場に乗ることが出来る許容値との兼ね合いで。
それだと角をすりぬける可能性があるな。 別にゲームなんだから、それでOKならOKだと思うけどね。
>>317 あ、すみません、2Dゲーっていうのはマリオみたいな前後天地じゃなくって
ディアブロみたいな、上下左右の重力方向がないゲームです。
>>311 のコードで、X軸修正後一旦プレイヤー座標を矯正後の値に更新して、
それでも壁タイルにいるか判定し直して、必要ならYの値を修正という形も試してみたんですが、
壁にY方向からめり込む時に、先にXの値が矯正されるので横にキャラがずれる、
Y方向を優先して矯正しても、X方向からめり込んだときに同じ現象になるなあと。
>>316 >>315 の考え方が合ってるかだけでも教えて貰えませんか?
http://hakuhin.hp.infoseek.co.jp/main/as/collision.html このようなコードで、壁の範囲にいれば壁の辺との交点を求めて、それを矯正後の座標にするので合ってるでしょうか。
それだと壁に刺さったところで止まると思う。 壁に刺さるケースでは終点を壁に投影すれば、 壁に沿って移動できるんじゃないかな。
>>320 うーん、終点を壁に投影というのがよく分からないのですが、
壁を無視して突き進んだ場合の到達点を、壁の内側から壁の辺に投影して
その点を最終的な位置にするということでしょうか。
> 壁にキャラをこすりつけながらの移動 壁は四角形しかないみたいだし、XとYは別々に判定したらいいんじゃないかな X移動 → 壁めりこみ判定がtrue → Xを元に戻す Y移動 → 壁めりこみ判定がtrue → Yを元に戻す めりこみ判定が来た時点で、その軸の移動量を減らして最小値になるまで再挑戦させれば 壁にピッタリくっつけるだろうし
ちらっと見ただけだが、 FLASHでアクションゲームを作るぜ〜みたいなサイトにその辺のことが書いてあった。
C言語とWINAPIで2Dゲームを作っています テキストファイルからマップのデータを読み込んだりしたいのですが これってファイル操作と文字列操作だけ勉強すればできますかね?
いいえ、って言ったら勉強しないの? やってみてできなかったら質問に来れば良いのに
>>321 GBの『アレサ』を思い出した。
”障害物を自動的に避けて移動する「ファジーシステム」”(wikiより引用)
要するに壁に向かってボタン押してるのに壁に沿って動き続けるシステムなんだけど、キャラをこすりつけながらの移動ってそういうこと?
アレサはわかんないけど、こうじゃない? 移動キーを右下に入れているとき \ \ → ―――――→ ■■■■■■■■■■ \ ■■■■■■■■■■ \ ■■■■■■■■■■ ―→ 人 ■■■■■■■■■■■■■■■■■■■■
328 :
327 :2008/02/04(月) 14:26:14 ID:3ju+8/FL
追記。 >327は、重力は無いものとします。つまり真上から見た絵。
329 :
名前は開発中のものです。 :2008/02/04(月) 20:49:41 ID:vFyjcma6
つまり昔のイースな あんなゲームまた出てこーい
作りもしない、遊ぶだけの人間がとうとうこのスレにまで…
ドコモ用携帯アプリでゲームシステムが比較的簡潔そうなありふれたノベルゲーム (背景、人物、ウィンドウに小説文、簡単な選択肢程度)を作りたいのですが、 何分Javaに余り詳しくありません。 ノベルアプリ製作のお勧めのHPや、オープンソースなツール等ご存知でしたらお教え願いたいです。
ゲームのタイトルロゴ作るのに適したソフトはありますか?
>>327 なるほど、そういうことか。説明thx。
アレサの場合、下キーのみ入れっぱで
↓―――――→ 人
■■■■■■■■■■
って右にも動く。
>>332 auまたはwillcomならavg_sys2っていう便利なものを開発されてる方がいるんだが…
昔自分で作ったときは立ち絵・背景・音楽なんてとても入らなかったけど、今は大容量なんだなwアプリで1MBとかネタだろw
335 :
327 :2008/02/05(火) 17:33:57 ID:5k3Jqvvr
>334 なるほど、そーゆー動きなのね。 >333 俺はイラレ使ってる。
336 :
名前は開発中のものです。 :2008/02/05(火) 18:46:49 ID:qF2PL4ie
>>336 おおこんなものが!
自己満足レベルの製作なのでこれで十分いけるかも
有難うございます
>>334 avg_sys2はiアプリには無理なのが残念です…
実際のノベルアプリのソース公開してらっしゃる製作者様とかいらしたら有難いのですが、
ググってもなかなかいらっしゃいませんよねやっぱりorz
袋文字ってどうやって実装したらいいですか? 現状では枠の色の文字を、位置をずらして4つ書いて、その上に文字色でかぶせて文字を書いてます。 もっと良い案無いですかね・・・
>>338 アウトラインフォントじゃないんならそれでいいと思う。
そうでなけりゃ環境によるだろ。
WindowsAPIを使うんなら、BeginPath→TextOut→EndPath→StrokePathで袋文字になるな、
バウンドも一緒に描画されるが。
340 :
名前は開発中のものです。 :2008/02/07(木) 05:59:11 ID:vI3zYqBa
制作とかじゃなくてほんと基礎的な質問で申し訳ない PSやGBのツクールは割と経験してて、これからPCのツクール始めようと思うんだけど 2000とVXどちらにするか悩んでる 人によっては2000が無難ともいうし、あえてVXをすすめるっていう人もいるんだが… アドバイスお願いします
RPGツクールはDante98IIや95くらいしか知らないんだが、製品概要を見る限り、 2000: 廉価版がある。要求スペックが低め。 それなりに歴史があるので、解説サイトや素材配布サイトが多いんじゃないだろうか(推測) やることはコンシューマ版と大差ない気がする。 それがメリットと考えるか、デメリットと考えるかは貴方次第。 VX: 最新版。 発売されて1ヶ月半くらいなので、解説サイトや素材は少ないかも。今後は増えていくかもしれないが。(推測) プログラミングを勉強しようとする意志があれば、かなり自由に拡張できるらしい。 前作は、「知識があれば自由度は高いが、無いと悲惨」だったらしい。そこは改善されてるっぽい。
342 :
名前は開発中のものです。 :2008/02/07(木) 12:25:22 ID:M5jklUTq
アクションゲームにおけるボタン操作について質問です。 FC〜SFC時代のスーパーマリオみたいな真横から見るタイプのもので、 特定のボタンを押すことで「ジャンプ」や「攻撃」といった動作を起こすとします。 このとき、ゲームや動作の種類によって、 ボタンを押した瞬間に動くものと、放した瞬間に動くものがあると思います。 両者の間には、どのような違い(使い方やメリットなど)があるのか教えてください。 自分は以下のようなことを考えました。 押した瞬間 ・スピード感、リズム感、爽快感を重視したい時に使う 放した瞬間 ・タメが出来るのでプレイヤーに微調整が可能 ・現実的な動き? ・あんまり見かけない?
>>342 君が列挙したとおりじゃね
ゲー専の宿題?w
344 :
名前は開発中のものです。 :2008/02/07(木) 15:30:22 ID:Uy5Pv167
eclipseつーからあれかと思ったら・・・w 2Dエンジンと書いてあるな
うむ、でなんとVBなんだなこれが ソースも落とせるんだが、俺のマシンにVBはいってねーよ
VBはEEならフリーだよ
>343 うんにゃ、単に思っただけ。 ゲー専ってよく聞くけど実際になにをやってるのか想像つかん。
349 :
名前は開発中のものです。 :2008/02/07(木) 23:35:16 ID:uDzRwjxo
DirectXでゲーム製作中なのですが、曲の再生をDirectShowからDirectSoundでやるように変更したところ なぜかFPSが60前後→40前後しか出なくなってしまいました。 色々試したところDirectShowで曲再生していた以前のバージョンでも 曲の再生をストップするとFPSが40前後に下がってしまうようでした。 DirectShowの再生は IGraphBuilder::Run(ファイル名); で行っていました。 FPSの表示は1000msで更新するようにしていたのですが、DirectShowで曲の再生をしていない時は 部屋の時計の針と見比べてみた感じどうも1000msよりはやいタイミングで更新されているようでした。 FPSの計測はtimeGetTime()で行っているのですが、 実際のFPSは60くらい出ているけれどtimeGetTime()で取得できる値がおかしくなっていてそれで表示が40前後になってしまっているのかと思ったのですが原因が全然分からないのです・・・。 ちなみにtimeGetTime()を呼ぶ前後でtimeBeginPeriod(1)とtimeEndPeriod(1)を呼んでいます。 Direct3D初期化時のD3DPRESENT_PARAMETERSは以下のように設定しています。 D3DPRESENT_PARAMETERS param; param.BackBufferFormat = D3DFMT_UNKNOWN; param.FullScreen_RefreshRateInHz = 0; param.Windowed = TRUE; param.SwapEffect = D3DSWAPEFFECT_DISCARD; param.EnableAutoDepthStencil = TRUE; param.AutoDepthStencilFormat = D3DFMT_D16; param.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT; 自前のタイマー同期処理を入れてFPSを調整してるわけではなく D3DPRESENT_INTERVAL_DEFAULTを設定してVSyncがかかるようにしているだけです。 何か原因思いつく方いらっしゃいませんでしょうか・・・よろしくお願いします。
>ちなみにtimeGetTime()を呼ぶ前後でtimeBeginPeriod(1)とtimeEndPeriod(1)を呼んでいます。 ここがおかしいと思う DirectXも(おそらくデバイス生成時に)内部でtimeBeginPeriod(n)が呼び出している可能性が高い。 もしこのnが1だった場合、アプリ側のコードがゲームループ中にtimeEndPeriod(1)を呼んでるとまずい。 その直後のPresent()呼び出し時のタイマー精度は10[ms]に落ちてしまう
timeBeginPeriod(n)“を”呼び出している可能性が高い。 だた
アプリの最初と最後で呼べばいいと思うよ
353 :
349 :2008/02/08(金) 01:24:47 ID:gkJWuReU
返信ありがとうございます。 実は349を書いた後、ディスプレイのリフレッシュレートを変えたりビットモードを変えたりしていたら いつの間にか60FPSで安定するようになってしまいました。 その後もリフレッシュレートなどをいじったりしてみたんですが60FPSで安定したままで 結局何が悪かったのか分からない状況です・・・ time〜関数は呼び出すのをやめたり、引数を変えたりしてみましたが特に変化はありませんでした。 何か気持ち悪いですが再発しないなら解決ってことにしようかなと思っていますorz ありがとうございました。
自主製作スレって落ちて新スレもないの? ver0.9立てていい?
timeBeinPeriod(1)をEndする前に2回実行して問題でもあんの?
立てられませんでしたサーセン どなたかおながいします
俺もやってみたがダメだった・・・
やってみますので、テンプレ(1)の参考にするための前スレのURLと 変更点とかお願いしますです。。。
これでいいかなぁ?
特に異論ないようなので立ててみます
...私も「立てられません」でした。 お役に立てず申し訳ない。
あ、回線変えて試してそのままだった。
367 :
名前は開発中のものです。 :2008/02/09(土) 16:24:48 ID:dEJBYFOo
RPGツクールVXで質問です。サイトでMIDIのFFをDLしたのですが…これをVXに使うにはどうすればいいのですか?
368 :
名前は開発中のものです。 :2008/02/10(日) 21:07:45 ID:6q1W+yRI
赤坂玲音さんの本ってどうですか?
若いのに頑張ってるなあと思った。
おまえらマトモに答える気ねーだろw いや俺もだがwww
もの凄く初歩的な質問ですが、 例えば600x200ドットの指定で長方形を書いて その中に(X,Y)を次々に指定して直線を引き、 最後に直径と中心を指定して円を書き、 例えばですが、サッカーのフィールドを描ける無料のツールを ご存知の方がいましたら、教えて欲しいのですが? 普通のCADなら直線の端を捉えたり、直線上のある位置から確実に 直線を引き始める機能があるけど、任意の大きさでBMPを作れないし、 OSのおまけのペイントやEDGEでは無理そうでした。
もう何を伝えようとしているのかすら
ドロー系のフリーウェア探してるなら板違い
そーいやEDGE2ってどうなんだろうなあ。全く評判を聞かないが。
directxで飛行機ゲームを作っています。 キー入力で回転行列を変化させて、その回転行列から姿勢ベクトル取り出して 飛行機の姿勢を制御しています。 別のキー入力で推進力を上げ、姿勢ベクトルのz軸方向へ機体を移動させているのですが、 重力を考慮してありません。 z軸方向ベクトルと重力ベクトルを加算して実装しようと思ったのですが、 z軸ベクトルは回転行列から取り出してるのでベクトルの加算が次回の処理に反映されません。 どのようにしたらよいでしょうか?
>>378 重力かかるなら揚力もかかるはずだが、とか考え始めると
そのうち真面目に航空力学やらなきゃいけなくなる気がしないか?
ゲームなら(フライトシミュレータでない限り)そのへん適当でいいと思うけど
イマイチ > キー入力で回転行列を変化させて、 が判らんな。これは毎フレーム累積するのかな? 例:90度バンクで引き起こすと向きが水平面上で変化する もしそうなら移動ベクトルに重力加速度を加算して、大きさを速度、 それで移動ベクトルを割ったものが姿勢ベクトルになるのかな? もし、90度バンクで引き起こすと向きが垂直面上で変化するなら、 俺にはノーアイディアだw
よくいうゲームのエンジンって何ですか? ライブラリみたいなもの?
フレームワークみたいなもの
具体的に言うとIEコンポーネント
森口エンジン
385 :
名前は開発中のものです。 :2008/02/16(土) 15:24:09 ID:pddkn1VE
ゲームエンジンは 核になる部分。中心的存在。
中心ってw ただの部品だろ
>>385 :エンジンは車の核になる部分。中心的存在だよ
>>386 :エンジンが車の中心?ただの部品だよ
車の中心は田だよ
車の中心は申だよ
くるまの中心は「る」だよ
…
みたいな話
なかなか面白いじゃないか ほめてつかわす
最終製品をアッセンブリするメーカーが、普通自前で作るものか、 普通よそから買うものか、という区別で言うなら、ゲームのエンジンは... ...自動車の場合と同じく両方あるな。
某ゲーム会社が(微妙な)シミュレーションを量産してたのは、 自前で作ったRPGツクールレベルのゲームエンジンがあるからだ、とは聞いたことがある。
中小企業(特にPC向けゲーム)なら、RPGツクールくらいの内部ツールがあるのは誇れるんじゃないだろうか。
393 :
名前は開発中のものです。 :2008/02/19(火) 07:49:28 ID:pdVXcHxk
クォータービューのゲームの背景素材を3DCGで作る場合は、 パースをつけない(平行投影)しないでレンダリングするんですよね?
>>393 そう、透視射影だと隣のパーツと合わなくなる
でも回転しないクォータービュー素材っていうとドット絵のイメージがあるな
スムーズに回転するならレンダリングはゲーム中にやるだろうし
>>394 レンダリングと書きましたが、2Dクォータービューのドット絵を、3Dモデルで作ろうと思っています。
ドットに直すのに苦労するかもしれませんが・・・
回答ありがとうございました。
ゲームで使う画像や音をdatにしてるのをよく見るんだけど あれはどうやぬの?
ファイルのね。拡張子をね。変えぬの。
わかなないからぐぐった。 そしたら わからなかった けど作り方はわかった。あるがとう。
>>392 いや、自分が言わんとしたのは あい○ぃあ○ぁ○○○ーかな
400 :
名前は開発中のものです。 :2008/02/21(木) 18:11:07 ID:f42R52wV
○○で。○ふ。くとり○
>399-400 片方だけだと分からなかったぜ。ありがとう
伏せてるイミないw
>402 最近は「七味唐☆辛子」みたいな伏せ方をするらしいね
404 :
名前は開発中のものです。 :2008/02/23(土) 04:46:37 ID:8BmwFOZ7
ソフトウェア板で質問するべきかどうか迷いましたが、ゲーム前提ということでこちらで。 ドット絵エディタなのですが、 多階層レイヤと、多次元(2次元)レイヤの2つを備えているものを探しています。 OSはWindows2000。値段はあんまり高くないものを。 ちなみに多階層レイヤはこんなイメージ レイヤ1 └レイヤ2 └レイヤ3 └レイヤ4 レイヤ5 レイヤ6 多次元レイヤはこんな感じ レイヤ1 - A B C D レイヤ2 - A B C D レイヤ3 - A B C D
サイト上で自作ゲームを公開しようと思うんですが、「これは○○のパクリ!」と言いがかりつけて荒らしが来ないかと恐れています 最近は些細な共通点でもパクリ指摘をする人が多いようなので・・・ ゲームそのもの出来が悪くて叩かれるのは当然、納得できるんですが 個人で細々とやる分には無視してもらえるでしょうか
いわれてもムシしろ、それができないなら公開スンナ
> 個人で細々とやる分には無視してもらえるでしょうか 個人とかじゃなく、ただ指摘したいだけなので無理。 メールアドレスを晒さない、晒す場合はサイト用の捨てアドで、パクリ指摘は無視 web拍手とか作らない 掲示板も作らない ブログやってたらコメント不可にする
むしろ逆に参考にしたとか 作ってみたかったとか書いちゃえば?
ある意味での開き直り、いい加減さっていうのは必要だよね。 そもそも、そういうコメントをくれる人がいない僕。
本当に参考にしてるならともかく、自分で考えついたものでも
同じようなことを既に誰かが考えてたって今時ちっとも不思議じゃないからな。
基地外のいうことに理屈なんて通じないし。
結局
>>406 だろ。
それができないなら
>>407 のようにリアクションを制限できる状況にする。
あとは、作者がどうしようもなく荒らしを呼び寄せる気質ならまずそこを改善する。
C++とC#のどっちがいいのかわからない BASICしかわからない俺に、両者の違い、利点と欠点を教えてくれ
Cがわからない奴に説明するのは不可能
とりあえずCから始めとけ
S1-BASIC
やはりCから始めるしかない。 Cは構造化されただけのアセンブラとも言われるくらい低級言語で 最低でもメモリアドレスを理解する必要がある。 C言語はゲームでは…特に最近ではコンシューマ機でもあまりないが LSIレジスタ制御、メモリページ、DMAまで制御できる。 C++はアドレスによってより多くの機能を使う事ができる。Cのコードを ほとんど変わらずコンパイルでき、Cの豊富な資源の利用もできる。 APIなどのシステムコールもラクだ。ゲームではよく使われる言語でもある。 templateを使うことでプログラミングの発想まで変わってくる。 C#は更に手が込んでいてC/C++とは全く別物。構文がC/C++に 似ているだけ。オブジェクト指向プログラムを組むことを前提に作られた 言語でCやBASICのような手続き型プログラムに輪をかけた設計が必要に なる。C#にはそれを支援する機能が豊富にある。 JavaにもあるガベージコレクションによってC/C++では大問題だった メモリリークを無くしているのもC側からみると大きな特徴。
CだろうがC++(例えば終了時に)メモリーリークを検出する仕組みがあれば問題ない。 CやC++でメモリーリーク犯すやつは、GCがあったところで他の問題で行き詰まるだけの話。 だからGCの有無で言語を選ぶ奴は、始まる前から詰んでいる。 と、肝に銘じておけば、どの言語選んでもそれなりにうまくいくよ。うん。
散らかしたら片付けないとな
Cでプログラムを組むと、インスタンスの持ち主がどのインスタンスなのかを 明確にしなきゃならない分、理解が深まって良いと思う。 ただ同じレベルの持ち主が複数あるような構造だと、結局参照カウンタとか 実装したりもするのでGCがあると便利だなーとも感じるよ。 Javaで一番助かったのは、配列のインデックスの範囲チェックがデフォルトで あることだけど。
もまいら「BASICしかわかりません」と言ってる奴に 説明できてると思いますかそれで?
>>405 自分は参考にしたものを書くつもりです。
これを参考にしたらこういうゲームができた、とわかるのも楽しいのではないかと。
>>421 作る前から心配するより、作ってから心配したら?
指摘なんて、気にする必要ないじゃん。
「参考にしましたけどなにか?」
で終わりなんだし。
インスパイアされたと言えばおk
個人でフリーでやってるならたとえパクッてたとしてもOKだろ 同人で金とってても外野がごちゃごちゃ言うのはほっといてよくて、本人がうちのをパクられたとか言ってこない限りは無視してていいと思うが。
パクったのを裁判で認めさせるのも大変だしな
某国みたいにまるまるコピーはダメだけど 一部アイデアを拝借程度なら、よほどひどい事しない限りは無視されるよな
酷い場合、粘着野郎が2ちゃんに中傷スレ立てて延々(数年以上)中傷を 続けたり、関連スレに粘着してスレを使い物にならなくされたり、とか おかしな奴に粘着されるとそういうこともないではないけど。
>>424 同人なら「某RPGのパクリゲー」「某STGのパチモン」とでも公言しとけば良い
「某RPG」「某STG」が具体的に何であるか誰の目にも明らかでも言ってはいけない
まぁなんだ。何がしかのパクリを自認してることを表明するってことは
パクリ指摘されても失うプライドなんぞないわけだから、指摘しても
ツマランわな
ゲーム関係なのでプログラム板でなくこちらで質問します。
ニンテンドーDS用ゲームソフト『世界樹の迷宮II 諸王の聖杯』
でのバグで、本来味方に掛かる筈の効果が敵に掛かるというものがあります。
詳細はこちら
http://www5.atwiki.jp/sekaiju_maze2/pages/68.html ダークハンターの蟲毒の極、無我の極(1-5バグ)
バグの原因は単純に配列名のミスだと思います。
味方の配列は多分max30で敵の配列のmaxは不明です
(但し、一度に出現する敵の数はmax5)
現在、対策として味方の配列6番目以降にバグの効果が
発生するキャラを作成としています。
もし、敵の配列のmaxが5だった場合
DSの開発環境では、配列数オーバーの代入が行われますか?
可能性がないとはいえない 内部が分からない以上、そうとしか答えようがないと思うが 単純に配列名のミスとも限らないし 実際やってみてハングアップしたりしなければ大丈夫なんじゃないの?
>>416 Java Scriptしか知らない俺は今C#に取り組もうと思っているのだが、
Cから始めた方がいいのだろうか
C#信者の自分に言わせれば、Cなんて触る気が起きなくなってしまったと言っておく (というかvisualstudioのC#だけ使い勝手がやたらいい。) こんな考えにならないためにも、Cからかと。
個人でしかやるなら(仕事にはしない)今更Cなんて覚える必要ないよ
現在、VC++とDirectXでアクションゲームを作っています。 アクション部分の試作品ができたため、そろそろ評価してもらいたくなってきました。 サイトで公開しようとして気がついたのですが、 普通ゲームでは画像ファイルが独自のデータ形式になっていたり、アーカイブ化?されていますよね。 少数のゲームではそのままだったりDDSだったりしてますが。 そういう関連の技術が乗っているサイトや、効率よくファイルを変換できるフリーフェアなど 知っていたらぜひ教えていただきたいです。 あと、SoundDogsで落とした音はそのままで配布しても大丈夫なんでしょうか。
>>434 ファイルをフリーウェアで変換したとして
お前がちゃんと扱えなきゃ意味がないよな
とりあえずシーザー暗号でも使ってろ
バイト単位で値を+1していくだけでも良いから
質問ですが、この板は自治スレ無いんですか?
ありましたが、過疎板でもあり、 特に自治スレで話し合わなければならない事態は滅多にないため、普通に落ちます。 問題提起があるのなら自前で立ててください。
あんなもん立てる前に何か気になることがあるならこの辺で聞けばいいじゃない
そこだけ治外法権だから 基本雑談所だからおもしろければ朝ご飯のメニュー語ろうがなんでもあり
んぁまちがった…てっきり削除云々の話だから2chでの〜スレの方だと思った。
>>440 普通に自治スレって名前ですよ。
あと後者のスレに関しては、依頼しても何も処理されないからです。
北斗の拳の世界を想像していただけると状況が理解しやすいかと思います。
警察力が機能しなければ、無法地帯になり、
我々住人は連中の横暴を見て見ぬふりをして日々過ごすしかないのです。
2chって無法地帯じゃなかったの
2chで警察力とかうぜーことこのうえない
本当に無法地帯だったら、2chに書き込みしただけで逮捕なんてされない。
>>444 何年前の認識よ。
試しに何処何処の大学何月何日に爆○するとかスレ立ててみろ。
448 :
( ´∀`) :2008/03/03(月) 20:43:10 ID:/uXJHxGw
この板に『スレ立て代行』とかお願い出来るスレってないんですかね?
念を押しすぎ
450 :
名前は開発中のものです。 :2008/03/03(月) 21:48:58 ID:5x1qYdqR
ちょっとしたMMORPG作ろうとして、サーバプログラムをJavaで組むか 或いはC++で組むかで悩んでいるんだが、どっちの方がいいと思う? Java:スレッドの扱いが簡単。サーバOSを選ばない。 C++:とにかく高速処理。 頓挫するから止めとけは抜きで(w
頓挫するから止めとけ
頓挫するから止めとけ
>>451 来ると思ったw
そもそも始めた理由が「本気で頓挫する前から何抜かしてるんだ俺」なんでw
>>450 サーバーって標準入出力とソケットがメインなんじゃないかな?
だったらC++でも各種サーバーOS間での移植も比較的楽だろう。
比較的高速にしやすいC++でいいんじゃね?
ゲームのクライアント/サーバ両方作るんならコード共有できた方が楽でしょ 規模の大きいプロジェクトなら別かもしれんけど
>>450 通信だったら大して差がでないからJavaがいいよ。
書いてるとおり、スレッドの制御が段違いに楽だし。
457 :
名前は開発中のものです。 :2008/03/04(火) 00:31:22 ID:S+lUIx/r
ゲームプログラミングってC++がメジャーなの? スレッドとかWindowsAPIの勉強にちょうどゲームプログラミングがいいのかな と思っていろいろ調べてるんだけど最近はC#でも作るとか。 普段はWSHかPHPつかってWebプログラムぐらいしか触らんもんで・・・ よろしくお願いしまんこ
メジャーとかマイナーとかよくわからんが 少なくともゲームのサンプルソースはCやC++とかのが豊富のように見える つかWindowsAPIの勉強って時点で限定されるわけだが…
459 :
名前は開発中のものです。 :2008/03/04(火) 01:13:41 ID:S+lUIx/r
>>458 サンクス!
やっぱりC++多いのか。
まぁ、WindowsAPIもう勉強できればいいな〜ぐらいのノリっす。
わいわいアイディア出しながら休みの日にちょっとずづ皆でRPG
とか作りたいな〜っていう感じ。
プログラミングは本来楽しいものなんだ!・・・んだけど、仕事では
ちょっとしたプロセス監視のスクリプトとかばっかりでちょっとマンネリ
なんだよね。。。
>>448 全板共通の依頼スレがロビー板にあったような
>>459 WindowsAPIを勉強するのにゲームって効率悪いと思うが。
需要もないし
そんな勉強するくらいなら.NETかJavaのAPIを一通り覚えておく方が
スクリプトも含めて楽だと思うんだがなぁ。
.NETでもRubyが動くようになるしねぇ
すいません、以下のような話を見かけたのですが、具体的に何なのか分かりますでしょうか? エロゲではないそーです。 >587 名前: デフォルトの名無しさん [sage] 投稿日: 2008/03/01(土) 01:07:14 >スマン、誤爆 > >588 名前: デフォルトの名無しさん [sage] 投稿日: 2008/03/01(土) 09:16:39 >色々と妄想させてくれる。 > >世の中には「義妹が最強だろ」という誤爆レスが元になって作られたゲームとかあるからな。 >人間の妄想力ってのは凄いもんだぜ。
ゲームを作るためのAPIだろう。GDIでゲームはムチャだが MFC+DirectXはラクチン。WindowsAPIを覚えた上でだが。
マリオみたいなゲームを作りたいのですが、どういう感じでやれば、画面をスクロールできるのでしょう?すごい大ざっぱな質問で失礼ですが、お願いします
466 :
名前は開発中のものです。 :2008/03/05(水) 12:19:06 ID:qwYlHq/j
大きいマップを作って、小さい窓で表示する。窓をスクロールする。
467 :
名前は開発中のものです。 :2008/03/06(木) 03:23:32 ID:WFBagrxM
DirectInputでパッドの入力してると マウスやキーボードからの入力がないので 時間がたつとOSがスリープモードに移行してしまうのですが どうすれば回避できますか?
468 :
465 :2008/03/06(木) 13:58:21 ID:pHROmr2q
469 :
465 :2008/03/06(木) 14:21:15 ID:pHROmr2q
連投すみません。画面スクロールは分かりましたが、ブロックなどをスクロールするにはどうすればいいのでしょうか?ブロックはちゃんと乗れたりするものにしたいのです…
おいおい、画面表示とゲーム上の動作をいっぺんにやってんの?
>>469 >>471 も行ってるように処理と表示は分離したほうがいい。
まずマップ全体を処理。(クライアントサイズが640*480で、ステージ全体が10画面分なら0〜6400程度)
その後描画するための座標を計算する。
例えばプレイヤーの座標のXがウィンドウの中心にくるようにした時はこう。
(プレイヤーのXが2000だとしたら、2000+??= 640/2で、?? = 640/2 - 2000 = -1680)
(そして全ての描画すべきものの座標から-1680を足した値で画面に描画する。)
ステージの端に来たときや、画面の中心ではなく1/3にきたらスクロールさせる場合は多少調整の必要有り。
初心者におすすめの本はないだろうか?
478 :
465 :2008/03/06(木) 22:04:13 ID:SXLANzzh
>>470 さん
見てみましたが・・・難しいです・・・。これが分からないのじゃダメですよね。
>>471-472 さん
処理と表示を分離したほうがいいとは、例えば 自キャラとマップの計算などは別々のファイルで・・・みたいなことですか?
>>473 さん
わざわざどうもです。だけどとりあえず頑張ってみます
479 :
名前は開発中のものです。 :2008/03/06(木) 22:21:07 ID:qGMGt+Nq
サイトからダウンロードしたMicrosoft Windows SDKのIMGファイルが1.32GBもあって大きすぎてCDに入らないんですけどどうやってインストールするんですか??
>>479 それだけの容量ならDVDに焼くんだろ?
よく知らんが
ファイルは基本的に関係ないと思うが・・・ 別に465が既に分離できているかどうかわからんから念を押しただけだ。 とにかく動作周りと描画周りの処理がそれぞれ独立していて、 例えばポーズを実装した時、動作周りの処理を吹っ飛ばすような処理をするだけでいいようにしておくって感じか? なんというか、あれだ。 余り描画のことは考えず、まずは仮想空間(今回の場合はステージ全体)を作ることを考えるべきだ。 画面への表示方法は、その後考えればいい。
484 :
465 :2008/03/06(木) 22:48:08 ID:SXLANzzh
>>465 さん
分離せずに、一つのソースに全部詰め込んでました・・・。アクションゲームの本でも買ったほうがいいのかなぁ・・。
こんな僕になにかアドバイスがあればお願いします。本のことではなくプログラム的なことで・・・。
オブジェクト指向でも習ったら? ゲーム製作なんかでは絶大な効果を発揮すると思ってるから。
486 :
465 :2008/03/07(金) 00:39:40 ID:wnThCrEt
ミスです…↑は
>>481 さんへ です。
オブジェクト指向ですか〜。なんか難しそうですね…。頭に入れておきます
分離しすぎると可読性下がるからほどほどに
>484 初心者向けのプログラミングの本じゃないかなあ。
ソースを分離じゃなくて。 ブロックのスクロール方法を聞くのに、キャラが乗れることを条件にしてるからだ。 乗れるか乗れないかはゲーム内部の動作で、それを表示する部分とは別の話だ。
490 :
465 :2008/03/07(金) 13:53:34 ID:wnThCrEt
>>489 さん
ではブロックのスクロール方法もマップと同じやり方で…できますよね?でもそのブロックに乗ったりするにはどんなふうにすればいいのでしょうか?質問ばかりすみません…
なんか正直どうしようもないな キャラの表示と移動とジャンプの処理はできてるんだよな? ならブロックに当たり判定つけるだけ
なんか最近壁の判定がどうのこうのってどこかのスレで言ってた気がするなぁ・・・
ブロックとマップを別々にスクロールする意味あるのか
>492 このスレの>311以降じゃないかな。 こういう掲示板でも、図表って案外ちゃんと描けるんだなと思った。
プレイヤーが十字キーを押したり、ボタンを押したり。 ↓ 毬藻が空中に居れば(擬似)放物線に沿って移動。 地上に居れば歩いたりダッシュ。飛んだら空中扱いに。 ↓ 毬藻の座標からMAP情報を格納した配列を参照。 水平移動でブロックに当たれば数ドット(移動速度以上)戻して、 水平移動ベクトルをゼロに。 ↓ 改めて毬藻の座標からMAP情報を格納した配列を参照。 上昇中ならば上向きのベクトルを下向きに反転。 下降中ならば着地して地上扱いに。 ↓ 毬藻の座標から表示範囲に応じてMAP情報を格納した配列を参照して表示。 議論のたたき台として全部妄想で書いた。 正直毬藻なんて四本指鼠やP課長と同じくらい不快だ。 反吐が出そうだ。
何故かまりもっこりのアクションに脳内変換された
一度に色んな事をしようとするから混乱するんでは。 (スーパーじゃない方の)マリオみたいに、 まず1画面内で動かせるように作成した後に 表示上の画面サイズより大きなマップで動作させたものを 切り出して画面に表示する。 と段階に区切って進めていったら。
ウィンドウの中を絵が移動し続ける+端っこではねかえる とかそんなレベルからやった方がいい希ガスw
この流れなら言える! 毬藻厨は非スクロールで作ったら、 まず間違いなくスクロール処理を組み込めないようなコード書くだろうなw でも、ノウハウ蓄積と割り切って書き直し上等なら、是非お勧めしたい。
毬藻厨って何だw 言いたいことは分かるがもはや明後日の方向だな!
昔、PC88版のスクロールしないスーパーマリオがあったが つくりに関心したな。
502 :
465 :2008/03/08(土) 22:47:04 ID:oKilN+Ts
皆さん、アドバイス・・・?どうもです。まず非スクロールで頑張ってみますぜ!! ブロックとかを設置するときは {0,0,0} {0,1,0} {0,0,0} の1の部分に・・・みたいな感じでやるのですか??それとも普通にx、yを指定して・・・でしょうか?
まぁ色々自分でやってみれば
>502 両方のパターンがあるそうな。 オススメは前者。何よりマップが作りやすい。 本当はマップデータは外部ファイルにするのがいいんだけどね。フリーウェアのマップ作成ツールとか使えるし。 外部ファイルの読み込みっていうのは、凄く勉強になる部分だと思うよ。 ただ、最初はソースファイルにベタ書きしちゃってもいいんじゃないかな。
505 :
465 :2008/03/09(日) 01:49:19 ID:0SnPZrX2
>>504 さん
自分は前者では、当たり判定?をつけるのには便利だと思うのですが、スクロールなどをするとなると 訳が分からなくなりそうで…。
外部ファイル読み込みですか〜…。別ので作ったマップを読み込んで〜…難しそう(((゜д゜;)))
>505 あのー、前のレス読んでます? レスつけたの僕じゃないけど。 もう一度言います。 内部処理とスクロールは別物。一緒にするな。
ごめん、ちょっとキツい言い方だった。 内部処理と描画処理の分離について、ちょっと説明してみたい。 あくまで例えなので、感覚的に理解してくれると助かる。 まず、マリオ自身は、ステージをどんどん進んでいくわけだよね。 このとき、別にステージ自体が動いているわけじゃない。 基本的にマップは固定されたまま。あくまで進んでいくのは自分自身だ。 で、それとは別に、マリオを映すカメラというものがあるとする。 マリオの動きに合わせて、このカメラは動く。 そのため、プレイヤーから見ると、マップが動いているように *見える* つまり、マリオの動き、ブロックとの当たり判定などの内部処理の部分と、 カメラの動き(描画処理)とは、全く別の処理だということになる。 極端な話、カメラがなくてもマリオを動かすことはできる。クリアできるかどうかは別として。 なので、カメラが動くと当たり判定が〜ということには絶対にならない。
何だろう、ここら辺の話はちょっと 『ゲーム プログラミング』 でぐぐればいくらでも出てきそうな話なのに。
>>505 は頭だけで考えずさっさとコード組んで色々試したほうが早いと思う。
509 :
465 :2008/03/09(日) 10:30:16 ID:0SnPZrX2
>>507 さん
説明ありがとうございます。
僕の頭ではカメラの動きというのは、背景(マップ)を動かして移動しているように見せる…くらいしか考えつきません…。それとはまた違うのでしょうか?わざわざ説明してくれたのにすいません。
>>507 どうでもいいが、ここではスクロール=描画処理じゃないだろ?
文脈からスクロール=移動処理って気がするんだが・・・
なんかスクロールって単語がゲシュタルト崩壊してきたw
>509 だから背景を動かすな。カメラ自体を動かせ。 >510 流石にそれは無いんじゃないかなあ……。
>>510 現実世界で考えれば、
左を向いて見ていたものが右を向いたら、見えているものが全て左に移動した、とかそんな話と同じでしょ。
カメラを移動するなり自分の見る方向を変えるなりでおきる現象を実現しようとしてるわけだから極端な話
スクロール→描画処理の一環で問題ないでしょ。Direct3Dならビュー変換に相当する処理だし。
ゲーム内の座標と、絵を表示する時の座標は別 内部処理では PCにしろ他にしろ、動くものはゲーム内座標で移動する 自分で動かないものはゲーム内座標では動かない 当たり判定とかいろいろな処理はゲーム内座標でやる 表示するときは、PCの移動分に応じて 絵を切り取って表示したり(背景とか)、 配列を参照して表示したり(ブロックとか)、 ゲーム内座標からずらして表示したりする(他キャラとか) この説明でいいかなぁ?
PCという略し方はどうだろう。ともあれその説明GJ。丁寧だ。
515 :
465 :2008/03/09(日) 23:54:31 ID:0SnPZrX2
最初パソコン(PC)かと思った…。
えと…つまり…キャラ動かすときなどに背景を動かしてキャラが動いてるように…ってことでしょか?けどそれじゃ
>>511 の言うようにカメラは動かしてないですよね…。あ〜…ほんまにすいません、バカで…
どこまで出来てるのかソースあげてみ コメントいっぱい付けてスクロールの処理書いてやるよ
>513-514 ああ、何の疑問もなく普通にプレイヤーキャラクターって読んでた。 そんな僕は卓ゲ民。 >515 あなたが言っている「背景」とは何ですか? マップのことですか? それとも、例えばマップの後ろに描かれる青空などの絵のことですか? >516 それが一番早い気がしてきた
518 :
名前は開発中のものです。 :2008/03/10(月) 02:04:28 ID:06woMqRI
C++のDXライブラリ使ってますが質問です void JikiControl::loadFiles() throw(int){ int i ; ClearDrawScreen(); // 画面に描画したデータを消す LoadGraphScreen(i,0,"media\\smp1.bmp" , TRUE ); //画像を描画 } これでsmp1を表示したいのですが真っ暗な状態で何も写りません なぜでしょうか?
DXライブラリ知らんけど、とりあえず最後にScreenFlip()入れてみたらどうよ
>>518 DirectXは二つの仮想画面のどちらかを実際にディスプレイに表示する方式をとっている。
そしてDXライブラリはDirectXをラッピングしたものなので、そこら辺の挙動は変わらない。
DXライブラリの描画系の関数は、表示されていないほうの仮想画面に描画するので、
一通りすべて描画が完了したらFlip(めくる。ぱらぱらマンガのイメージ)する必要がる。
で、結論は
>>519 の言うとおり。と。
>518 ちなみに、毎回ファイル名を指定する方法は最終的には使わなくなるけどな。
3Dのゲーム作っている者ですが質問です。 Quaternion(t; x, y, z)を4x4の行列に変換する方法をおしえてください。
524 :
465 :2008/03/10(月) 21:58:25 ID:EN6ta6RI
パソコンから書き込みたいのに アクセス規制中です!!(\.ppp.dion.ne.jp)と出て書き込めない…。 なのでもう少し待ってくださいm(_ _)m
ソースを? それならPCでアップしてURLを携帯で貼ればいい
分かってらっしゃる
527 :
465 :2008/03/11(火) 22:29:50 ID:a7wsupuD
初歩で自分でそれくらい調べられんのかと言われたらそれまでなんですが、ゲームプログラミングwikiに書いてあるVisual Studio.net 2003 the Spoke Premium Version 2003が販売終了してるみたいだけど何買ったらいいんですかね? それと学割ってなんですか?低能でサーセン
学割は学割以外の意味は無いと思うぞ。 ところで、2005のアカデミックってまだ売ってたっけ?
.Netで作業はすげー辛かった・・・
2003は個人的には黒歴史 2008のアカデミック出たから2005はもう売ってないと思うぞ。
つーかVSなら無料のでいいんでわ
533 :
528 :2008/03/12(水) 00:12:40 ID:nO0rBMCw
いろいろあるんですね とりあえずこれ買っとけばおkってのをお教えいただきたいです それとも初心者なら無料ので十分ですか?
うん。 まあ、学生なら5000円くらいで買える気がするけどね。
VS2008の無料のを落としてきたので良いんでないかな
なるほど、とても参考になりました。ありがとうございます 後は自分で調べてみます。またわからない事があればスレに書き込ませていただきます…
>527 7MBくらいあって挫折した
>>527 のexe起動したらフリーズしたんだけど・・・
なんかこの板各所で少し活動がみられんだけど 過疎じゃないとおちつかない自分は病気なのか?
540 :
名前は開発中のものです。 :2008/03/12(水) 07:31:00 ID:NoQutxYE
春休み終われば元に戻る
質問があります。 家庭用ゲーム機の場合、マスターアップしたロムを親元に提出して最終チェックを受けますよね? PCゲームの場合、それに相応する様な事はやるのでしょうか? PCあぼんクラスのバグな上、パッチに次ぐパッチで不完全なのに 最終とのたまうメーカーがあってユーザーが困り果ててます。 スレチでしたら誘導お願いします。
商業のPCゲームならPCゲーム板だと思う
>>542 ありがとうございます。商業PCゲームです。
ゲーム内容ではなく、製作に関する事なのでこの板かと思ってました。
向こうで該当スレを探してみます。
544 :
465 :2008/03/12(水) 11:05:20 ID:ds3LdCBF
>>538 さん
なぜでしょう…分からないです。ので、あとでソースを書いてみようと思います。アップしたの初めてだからうまくいかなかったのかなぁ…
>>544 最後のほうだけしか見てないが、ダウンロードしてビルドして実行したらとりあえず動いたよ。
これをどうしたいんだ? と思ってレスたどったけどスクロールしたいのか。 動作と描画を分けようね。 これ入れるためにDXライブラリとやらを探してインストールしたけど DXライブラリのサイトにもサンプルいっぱいあるじゃないか。
とりあえず適当だけど、 こんな感じで、完全に分離できるようなコードを書くといいと思う。 //毎フレーム呼ばれる関数 int Frame(void) { //入力、キャラの動き、当たり判定など Update(); //描画 Draw(); return 0; }
>>465 void PlayerControl(){/*略*/}
void CameraControl{
//とりあえず常にプレイヤーを追従
camera.x = pipu.x + 位置合わせ;
camera.y = pipu.y + 位置合わせ;
}
void PlayerDraw(){
//ゲーム内座標から描画座標に
int x = pipu.x - camera.x;
int y = pipu.y - camera.y;
DrawGraph(x,y,pipu.img,TRUE);
}
混乱しないように最小限の書き換えだけど
あ、忘れてた void haikei(){ //ゲーム内座標から描画座標に int x = 0 - camera.x; int y = 0 - camera.y; DrawGraph(x,y,img_haikei,FALSE); }
RPGを作っていて、キャラクタのパターン番号にあわせて、 HP、攻撃力(POW)などの配列からデータを持ってくるようにしています たとえばキャラクタの番号が5ならeHP=HP[5]、ePOW=POW[5]といった具合に ただ、この配列を宣言するときはHP[]={x,x,x,x,x...}、POW[]={x,x,x,x,x...}としなければならないので、 どの番号がどれに当たるのか非常に見づらくなってしまっています HP[n]とPOW[n]など異なる配列の同じ場所をまとめて定義するにはどうすればいいでしょうか
enum
#define; const static int;
キャラのパラメータまとめたものをクラス化して、そっちを配列にする
554 :
465 :2008/03/12(水) 22:38:00 ID:71KefxCF
>>546-549 さん
みなさん、本当にありがとうございます。皆さんのアドバイスを参考にがんばってみますぜ!!
>>548 さん
位置合わせ というのは、キャラをどこにおいておきたいか・・・のことでしょうか??真ん中なら640/2・・とか・・?
それとこれって(pipuのとき)x、yがマイナスになると思うのですが気のせいでしょうか?完璧には理解できませんでした・・・すいません
すいませんゲーム作製とはちょっと違うのですがどなたか教えてくださいませんか。 もうかなり昔、2002年に購入した同人ゲームなのですが、最近掘り出してまた やってみようと思ったらうんともすんとも言わないんです。 壊れてるわけではないとして、できない理由というのはなにが考えられるでしょうか。 確か前やったときは勝手に始まってくれたんですが… 見たら動作環境のところにウィンドウズ95が動作する機種とか書いてありました。 今使ってるのはXPです。これは関係ありますか?
>554 質問するなら第三者が見て理解できる文章を書いてくれ
>>555 ローカルルールどころか板名すら読めないのか…
とっとと同人ゲーム板の質問スレにでも行けばいいのに
>>541 PCゲームのチェック機関は存在しない
あくまで自主チェックのみ
コンシューマと違って、PCはハードがばらばらだから、そもそも完全なチェックはできない
右クリックしてプロパティかなんかで互換なんちゃらってのがある それでうごかないならしらね板違い乙
561 :
465 :2008/03/13(木) 19:43:08 ID:j8A5mYXp
>>556 さん
なんかもう自分でもよく分からないです・・・とりあえずすいません・・
>561 日本語で説明することくらいは出来るはずだ。 言葉で難しいなら絵だっていい。
563 :
465 :2008/03/14(金) 23:10:55 ID:2CsvdKSM
>>548 にある 位置あわせ というのがマイナスなら問題ないんですが、それ以外ならキャラを表示する x、yがマイナスになってしまうのではないのでは・・・?
と、思ったので・・・。僕の場合この 位置あわせ が何かがよく分からないので何ともいえないというか・・・。
どうでしょう・・・?
pipuってなんだろう…
ピップ君!
567 :
名前は開発中のものです。 :2008/03/15(土) 21:51:21 ID:h0L0aXxf
どうも最近、著作権とかわからない。 プログラムの本等(その本の作者は著作権をかなり強調していた)の ソースを一部使ってシェアウェアを作る事は著作権上許されないので すか?その作者は改変も許さないと書いていたからある程度の書き直 しも許されないんだろうか?もうすでに少し売ってしまったプログラ ムなんで、頭が痛い。
568 :
名前は開発中のものです。 :2008/03/15(土) 21:53:26 ID:h0L0aXxf
プログラム関係の著作権関係で詳しいサイトがあったら 教えてください。
ソースを公開した場合は問題になる。
>>567 ソースコードにも著作権は存在する。
厳密に適応すればそら違反だけど、小数部だったらそもそも作者の目に触れないと思うが。
まあ気になるなら新しく自分で組むしかないな。
>>567 暗号化アルゴリズムとかあまりにも独創的なロジックのものは問題だけど、
ネットで拾えるようなソースは厳密にはダメだけどそんなに問題になること
はないよ
>569-570 ありがとうとざいます。 今後作るソフトは一から作り直すつもりです。出した 部数は80本くらいですが、どうも著作権を違反した 事で自分が許せなくていかんのです。
>>572 そんなこと言ってると日本でオープンソースプロダクト使えなくなるぞ?
まぁ確かに大事なことだろうけど
574 :
571 :2008/03/15(土) 22:02:21 ID:h0L0aXxf
>571 >暗号化アルゴリズム そういう難しいものはだめな訳ですね。参考になります。
575 :
567 :2008/03/15(土) 22:03:01 ID:h0L0aXxf
間違えました。
実際にそういう事で裁判になったり、揉め事になった 事例ってあるの?
>>576 オープンソース系ではよくあるな。
たとえばLinuxのカーネル部分を変更したら絶対に「公開」しないとダメ。
でも「公開しない」奴が居るからそいつは訴えられる。
そもそも使われたくないソースなんか公開しないからな。
MSはヨーロッパでよくソースを公開しろって訴えられてるなw
>571 暗号化アルゴリズムとかもピンきりじゃないの? でも暗号じゃなくて乱数だけどMersenne Twisterとか、 そのまま使って著作権表記なしってパターンはよく見 かける。著作権ちゃんと書けばお咎めなしなのにさw
あれ、ソースコード自体が著作権になるんだっけ?と思ったので手元にあるので見てみた ・言語自体や凡庸プログラムは著作物には該当しないが、普通は著作物。 ・著作物に分類されるプログラムを元に/改変等を行いプログラムを作る場合などは二次著作物に分類される。
"Hello, world!" これは誰の著作物?
>>581 ブライアン・カーニハンとデニス・リッチー
著作権絡みの質問者へのアドバイスに 誤解や嘘が紛れてるので念押ししておく まずアルゴリズムと著作権についてだが どんなに独創的だろうが、それがアルゴリズム(ロジック)と認定されれば 著作権は全く存在しない。ゼロだ ついでに言うと、アイディアにも著作権はない じゃあ他人の独創的で魅力的なロジックやアイディアを君らがパクるときに何が立ちはだかるかというと それは特許ね
ソースコードと著作権について どんな糞コードだろうが芸術的コードだろうが それらには等しく著作権がある 国内法では著作権は放棄もできない 著作権者が丸パクリ無断使用流用改変 好きにしろ承諾メールとかウゼェといっても 著作権はある コピぺ改変の自由を明記してないソースをパクり、罪悪感を感じ、胸のつかえを取り除きたいのなら 事後でもいいからその旨を作者(無形物の生みの親)に報告するのが最良の手だな 感謝の気持ちがこもっていれば大抵の作者は悪い気はしない 特にウェブや書籍で公開してる作者ならな 自分が発信した情報(無形物)が人の役に立ったと、むしろ喜ぶさ 無形物は複製が幾らでもできるものだから 作者をリスペクトし感謝する気持ちが重要なんだぜ
でも商売だったりすると付け込まれかねない諸刃の剣 流用元のライセンスや公開方法にもよるけど、 入手したことがばれたらまずい、かつばれる可能性の少ないところなら報告しないほうが 終わったことは終わったこととして、これから改善していこうぜ
「付け込まれかねない」、ってwww
ずいぶん正直というか偽悪的な物言いだなおい
>>567 の初心者っぷりから推測するに、学生さんだろ?
学生が個人的趣味で売った同人ソフトとかシェアウェアなら
十分起こりえるミスだし、報告しても咎められることはないだろ
もし
>>567 がソフト開発を飯種にしてるプロならは今すぐ氏ねばいいけど。
というよりも、新人教育すら満足にできないわコンプライアンスなんて
微塵も意識してない糞会社に勤務してる哀れな奴だから心から同情する
パクったコードが原型をとどめない位に開発が進めば問題ない。 パクったコードをそのままで使うくらいなら大人しくツクールでもやってなさい。
難しい問題だよな。 駄目だと思ったら、自分で作り直してパクっていたモノを 全部廃棄の方が実は相互のストレスが溜まらないような気 もするんだが。恒久的に売るつもりなら、絶対に承諾は必 要だけど、いつでも製作者が気分が穏やかとは限らないし、 知ったためにストレスが製作者に増えるだけだったら意味 が無い。
あ、日付変わったからID変わってるのか。
>>584 書いた者だが
まぁ、確かに難しいよな
自分自身ウェブ上に記事の添付ファイルとしてソースも晒していて
個人的な怠慢でライセンスとかいちいち書いてなかったりするが
そもそもパクられても痛くも痒くもない既知・公知の技術情報だから
もし仮に学生さんとかが「同ソフトで使っちゃいました。ごめんなさい」とか
報告してきても「詫び不要。好きに使ってくれ。ミリオンヒットしたら飯を奢ってくれよな」
くらいで基本的に快諾かな
まぁ世の中には公開してる癖にパクられてストレス溜める肝っ玉の小さい奴は
いないとも限らんが、でもその場合は著作権者が「公開中止してくれ」って要求
するのが筋
プログラマって、頭の回転が早めな割に、偏屈なのが多いわけでして。 そういう連中が何を一番嫌がるかというと、自らを軽視されたと感じる行為。 「コードを黙って盗んでいました」ということになると、それこそ訴訟さえ起こされかねない。 逆に、「先に使用許可を求めて敬意を表しました」ということになると、 自尊心をくすぐられるため、非常におおらかに許してくれる。 仁義は切っておいて損はないさ。
もう、著作権のスレにいけよ
と、珍しく早起きしたニート
593 :
名前は開発中のものです。 :2008/03/16(日) 12:38:56 ID:5aAreQF1
……早起きか?
「ニート達が目覚めた」のやる夫AAが貼られる時刻は早くても14時以降 これ豆知識な まあなんだ、自治厨の真似事するほど暇があるなら 語るスレにでも凸っていじり廻されて火病ってろってこった
ゲーム製作を含めてプログラムって大学の素養って必要ですか? 当方高校まで理系だったのですが、今は全然関係のない文系です。
理系の大学で叩き込まれるような素養が必須、って分野はそんなにない。 とりあえずやってみたら?
高校のときに理系で数学や物理を学んでるなら、たぶん問題はないと思う。 教科書や参考書が手元にあるなら残しておいた方がいい。意外と役に立つ。
まさしく高校理系で大学文系だがプログラミングもそれなりにできるようになるよ。 複雑な処理なんかでも調べればアルゴリズムが解説されていたりするから、以外と 出来る。もちろんきちんと大学で勉強してるような奴にはかなわないけどね。
別に大した差はねーよ そもそもゲームプログラミングで頻繁に活用するのは 理工系一年次の教養課程レベルの内容がせいぜい 文系だって国公立とか偏差値○○ランク以上の私立なら 理数系科目も受験に必須だから、文系でも理解できる
マトリクスの計算って高校でやったっけ?
少なくとも複素一次変換やってるでしょ 行列を使うか複素数を使うかは単に表記の違いに過ぎない やってることは一緒
少なくともライブラリとか使えばそこら辺の知識はだいぶ吹っ飛ばして作れる気もする。 正直結局のところは三角関数がわかるかどうかが境目。
わからんでも使えりゃokだしなw
最近、誰かに監視されてる妄想に駆られます どうすればいいですか
606 :
名前は開発中のものです。 :2008/03/18(火) 16:24:20 ID:+i6TATTQ
ageる
うわあああああん
保守
医者いけ 友人を作れ たくさん休め
610 :
名前は開発中のものです。 :2008/03/18(火) 16:33:14 ID:+i6TATTQ
ID:h/08ARO0が保守とか書き込んでるスレを 俺がageまくってるから、監視されてると思ってるんでしょw age
(つ∀・)なんつって
gems3のスレは何でageないんだ?まぁいいけど
ID:+i6TATTQ はIDストーカーやってる暇あったら FPSのほうのSTALKERでも遊んでなはれ
FPSには興味ないわ
あとティタイムかイリュージョンの3Dエロゲに ストーカーものがあったぞ
エロゲには興味ないわ
イメクラでストーカー→痴漢コースでも注文して 楽しみなはれ
イメクラには興味ないわ
桜木町のはけっこう良かったぞ
ゲームの製作ツールを利用して、3DCGソフトで製作した建築物などで
組まれた3Dの都市空間をキャラを動かし内部から観察する景観シュミ
ュレータのようなものをつくりたいと思い、初めてゲ製作関連を調べ
てます。調べてみたところ、高度なプログラムの知識を必要としない
らしい3D Game Studioというオーサリングソフト?を見つけたのです
が、これは一般的ではないのでしょうか。
http://www.conitec.net/english/gstudio/gallery.php 他のスレを見ますと他の環境で作られているようなので、このソフト
はよくないのでしょうか。
C++&DirectXでゲーム製作の基礎を勉強しているんですが、 アマゾンの評価でゲームグラフィックスプログラミングを選んで一通り読んでみましたが、 頂点バッファうんぬんで三角形をグラデーションで表示してみるというのは重要なんでしょうか? あと、各内容をチャプターごとに説明していますが、結局どういう手順で組んでいくのか、まとめのような部分がないのでこれだけではDirectXを利用できると思えないんですが、他におすすめできる本はありませんか?
>>620 ・フリゲ製作者なんでライセンス云々は肌に合わない。
・ライセンス無しでマルチが使えないとかいみない。
あくまで自分の場合ですまんね
>>621 ・現実世界の電子陽子中性子と同じくらい重要。
随分勉強してるみたいだし、後は思いのままにゲームを作れば良いと思うけど、
それでもというなら…
「ゲームグラフィックスプログラミング」はこの板でも評価高いから、
アマゾン評価を信用して「ゲーム開発」で検索してみれば?
…つか、経験の浅いゲーム製作者だと本の評価は難しいし、
経験の長いゲーム製作者だと、古い本しか知らない罠ww
>>622 レスありです
本製作者は自分ができるレベルから説明してるから、当然と思って書いていても、読んでいる人には物足りなかったりしますね。
っていうか、ゲームの作り方はジャンルで違うから、 ジャンル別「ゲーム開発」本調べた方が良いの意。
625 :
620 :2008/03/20(木) 10:50:49 ID:ntmR45vY
>>622 お答えくださいましてありがとうございます。
私はゲーム製作が目的ではないので、LightWaveでオブジェクトをつくり、
自然&街の箱庭空間を構築し、キャラを動かし、内部を移動可能にする
ところまでできれば目的のほとんどは達成されます。
調べるといろいろな製作環境があるようですが、このやり方に最適な製作
環境はなんでしょうか。
たとえば、ここでLinuxとOpenGLでObject-Cを使うのが最適だと言ったら 君はその環境でPG組むのか? 自分の得意とする言語で制作が可能かどうか調べた方が堅実的だと思うぞ
627 :
名前は開発中のものです。 :2008/03/20(木) 14:54:38 ID:JF2Ny0be
> 自然&街の箱庭空間を構築し、キャラを動かし、内部を移動可能にする ゲームなんかで簡単そうだけど、実際は泥臭くてごまかしの世界だよ
自分はそっちの知識はないのでよくわからんのだけど、そんなに簡単にできることなの? 実際、既存のPCゲームだって精緻な空間レンダのためには ユーザーにハイスペックなPCを要求したりするし RPGのようにインタラクトできるオブジェクトが無数にあるのか 単に背景として周囲が見渡せればいいのかでもアプローチが違うだろうし どの程度の費用、手間、技術が可能かでも話が違うだろうし。 少なくとも汎用MODツールとかツクールみたいなわけにはいかないんじゃ? どうなんすか?
市販ゲームのMODツールを使うのが現実的だろう。 ドームとかクォークとかで マップMODを作る事が出来る。 少しやってみなければいい、 何も知らない人に説明しても理解できないだろから
630 :
名前は開発中のものです。 :2008/03/20(木) 18:49:00 ID:CKzZKrNd
>620 LGPのサンプルでよくね
>>620 >らしい3D Game Studioというオーサリングソフト?を見つけたのです
>が、これは一般的ではないのでしょうか。
3D GameStudioのA7エンジンはヨーロッパとかインディーズでは
使ってる人が多いみたいです。
日本では資料はほぼ皆無なので英語の壁以外はあなたの要件は
多分、満足してると思います。
それから、プログラムができなくてもできるようなうたい文句ですが
スクリプトを書かないと3D空間の移動とかは出来ません。
まあ、プログラム言語でガリガリ書かないとダメってレベルではなくて
簡単なスクリプトのコピペでFPSっぽいものは簡単に作れます
あと、レベルエディタ(地形を作る)とモデラー(登場オブジェクトを作る)が付いてますが。
やっぱり専用のCGソフト使って作ったものをコンバートして作ったほうが良いと思います。
それだけで出来なくもないですが。機能的に貧弱なのでちょっと厳しいかもしれません。
632 :
620 :2008/03/21(金) 04:32:55 ID:noCXj+VJ
ありがとうございます。 私はグラフィック専門です。やりたい幅が広がってゲーム製作技術に 着目した段階でありまして、この分野に関する製作知識はほぼ無です。 今年中に作ろうというわけではなく、言語も含めて何年もかけて必要 な技能を習得するつもりでいます。 私の拘りはCGソフトで作った地形〜建築物などを使えることだけです。 3D Game Studio が日本では情報を入れにくいとのことなので、別の入 り口を探してみたいと思います。
>>920 良書かどうかは置いといて、工学社の「DirectX9簡単
プログラミング」や「はじめての3Dゲーム開発」いう本が
LWでキャラクターや建物のデータを作ってそれをDirectXの
X形式で書き出し。
ジョイスティックやキーボードで、その中を歩いて動かす…
というサンプルと解説があるので、C++とか分からなくても
立ち読みすれば作業工程とかは参考になるかも。
規模や用途次第だけど、単純なウォークスルーが作りたくて
プログラムの知識不要なら、他の人も書いてるように市販
ゲームのMODツール使うと一番楽だと思う。
NewtekのチュートリアルにもUnrealEdとかの話があるし。
DirectXを薦めてる御仁がいるようだが… 「年もかけて必要な技能を習得するつもり」とあるが、 それはグラフィッカーがいう事であって、 3D技術者の言葉じゃないんだぞw DirectXはホームセンターにある木材や鉄板みたいなもんで、 戸棚を作ろうと思ったら蝶番は自分で作らなきゃいけないw 蝶番作りに興味が無い限りは、 せめて組み立て家具にしておきなさない。
頭の悪い人間にとっては、DirectXすら敷居が高いことを認識した。 木材なんてドライバのレベルだろ。
637 :
名前は開発中のものです。 :2008/03/21(金) 21:24:02 ID:tOZmyEVY
ゲーム作ったから、ホムペに載せようと思うが…配布の仕方が分かりません ホムペは、Yahoo!シティズだったかな…ジオログやらなんちゃらかんちゃらから、作りました…
板違い
必要なものをまとめてlzhにでもしてHPスペースにFTPなどでうp 規模にもよるけど、テストプレイや報告程度で臨時で配布したいだけなら>1のうpろだ使うとか
640 :
名前は開発中のものです。 :2008/03/21(金) 21:36:25 ID:tOZmyEVY
>>639 な、なるほど…返答ありがとうございます
1zhの、やり方が分からない…かも
642 :
名前は開発中のものです。 :2008/03/21(金) 21:44:25 ID:tOZmyEVY
>>641 丁寧に教えていただきありがとうございました
643 :
名前は開発中のものです。 :2008/03/21(金) 23:15:06 ID:HkgEA3Pj
ゲームプログラミングを始めてみたいのですがどの方法がいいのでしょうか? 吉里吉里、NScripter、C++…と方法が色々あって踏み出せません それと本屋で吉里吉里でシミュレーションゲームをつくろうとかいうような本があったんですが作りたいものがはっきりしているなら 技術書とかではなく始めはこのようなガイド本に沿ってやってみたほうが初心者には優しいでしょうか?
>吉里吉里、NScripter、C++ 交通手段が欲しいのですが、 普通免許を取るのと、ヘリの免許を取るのと、鉄道やバスの時刻表を暗記するのとではどれが良いですか? くらい違うんで、そういった例を挙げられても答えようが無い。
つまり吉里吉里とNScripterは天と地の差と言いたいのか
646 :
名前は開発中のものです。 :2008/03/21(金) 23:46:30 ID:HkgEA3Pj
>>644-645 要するに方法によって天と地の差があるということですか…
なんとなくわかりました
とりあえず一番簡単そうなガイド本漁ってきます
ありがとうございました
エロゲギャルゲの類作りたいなら前者二つのどっちかでいいんじゃね? 変態的な使い方すればNScripterでも経営シミュ作れるくらいの自由度はある C++はその二つのエンジンを作るのに使うような物 エロゲ類以外も作りたいんならこっちから使ってもいいけど
>645 吉里吉里を調べたからインタプリタって書いてあったから、つい。
インタプリタとコンパイラに天と地ほどの差があるわけじゃないからな
NScripterの腐ったBASICのような文法はいまどきの プログラミングを学ぼうとする人間にはいただけない
RPGツクールXPオススメ Rubyも限定的に使えるし
作った(というか改造した)ゲームが動くかどうかテストしてくれるスレってありますか? ちなみにブラウザゲーです
土日スレとか人は多そうでも話題がないスレでやったら どこでもいいと思うけど、まぁあまりに話題がずれるのはまずい 別にここでも貼ればやってくれるかもしれない
>>655 SRCとか。
ぶっちゃけ特殊なことをやりたいと思ったらツールを作ることから始めないと駄目。
>>653 土日スレ見てみましたが、スレ違いと言われそうです
しばらくROMって様子を見ます。
>>654 恐ろしく長寿なスレですね…
しかし完全に向こうのテンプレ違反になってしまうのでやめておきます。
お二人ともありがとうございました
>>650 言っていることには同意できるが、ゲームを作ろうする人間に
必ずしもプログラミングが必要なわけでもないでしょ。
作りたいものによっては既存のエンジンのスクリプトがかければ
十分ってこともありえるわけだし。
旅行にかならず車の免許が必要なわけないようにね。
PS3とかは開発コストがかかり過ぎて大手メーカー位しか ソフト出せない状態で、DS・PSPの方が盛り上がってる(PSPは?)らしいけど 実際開発コストってどれくらいかかるの?
鼬GUY
何年も前に、安いPCゲーム(エロゲ)で数百万、コンシューマだと安くても1千万とは聞いたなあ。
具体的な作品を挙げながら、ゲームのジャンル(アクションとか)ごとに 基本的なデザイン論をまとめているようなウェブサイト、書籍などをご存知でしたらお願いします。 できれば日本語で。 対戦格闘ゲームについて調べてたのですが、うまく見つからなかったもので。
>>662 出来れば日本語でなんてそんな消極的なこと言ってどうするんだよ。
確かに日本語があればそっちの方がいいだろうけど・・・
インターネット上の殆どの情報は英語だぞ?
英語の文書の場合、というかアメリカ人が書いたテキストの場合なんだが、 自分の知らないゲームを例に挙げてることが多くてな……。 プログラミングの本なら英語でもまだ読めるんだが、それ以外だとさっぱりだ。
対戦格ゲーで探したら、必然的に日本語の文章がヒットしそうだが
格ゲーの場合だが、 「基本は三すくみ:みたいなことを書かれてるページはあるんだけど、それくらいだった。
>>662 とりあえず入力周りの整備として、
キーコンフィグ機能とコマンド入力を処理できる機能を作ってから考えれば?
ああ、すまん。実際に格闘ゲームを作るわけじゃないんだ。 学校の宿題ってわけでもないけどさ。そんな年齢でもない。
敵オブジェクトが死ぬと削除するからデストラクタが処理されるけど、 デストラクタに敵の爆発エフェクトオブジェクトを生成するコードを書くのは、 プログラム的に正しいと思う?
爆発処理してる間って他の処理されなくならね? 別に作ったほうがいいと思うな常識的に考えて
構築→解体のコストが軽いならいいんじゃねー?とか思った。
>>669 正しい正しくないは他人に判断付かないでしょ
ただひとつ言えることは、キャラクタの
コード上の死(インスタンス破棄、メモリ解放)と
ゲーム上の死(HPゼロ、破壊)が
同一(or同時or同フレーム)でないとか、順序があるとか
そういう実装もあり得るということ。その場合
ゲーム上の死=即delete(デストラクタ呼び出し)とはならないわな
>>700 naze?
オブジェクトが消滅するからと言って、爆発が発生するとは限らんじゃないか。 画面外に行って消えた時とか、シーンが移行して現在のシーンを全て破棄する時とか。
>>669 そのオブジェクトを他所のリストかなんかに加えて、
爆発処理が終わったら自身をdeleteできれば問題無い様な気がする。
が、爆発処理の頻度が高いようなら生成/deleteを繰り返すより、
どっかに十分な数を確保して使いまわすのが良いと思う。
>>700 俺にはちょっと理解できないので、
ヒントかなんかでももらえるとありがたいです。
C++は、小規模なオブジェクトの構築・解体を繰り返すことを前提として設計されていません。 newとdeleteが頻発するようなコードは、セオリーを外したダメコードです。 まぁ、マシンスペックでカバーできる程度の、軽度の駄目さですが。
newそのものではなく、new相当のフラグを立てて使えってコトかな
爆発処理なら、その状態を示す変数がフラグ代わりになりそうだ。
680 :
名前は開発中のものです。 :2008/03/25(火) 20:10:15 ID:U303z/Vz
winAPIだけ使ってゲーム作るときって、バックバッファから画面への描画はどうやってるんでしょうか? 今は描画ごとにInvalidateRectしているんですが、重すぎて、とてもじゃないけど60FPSとか無理です。
CreateDIBSectionとかBitBlt使ってソフトレンダが基本だろ GDI+とかよく知らね つか、今時GDIでゲーム製作ってどんなマゾプレイだよ
HBITMAP hbmpOff; HBITMAP hbmpOffOld; HDC hdcImg; HDC hdcOff; HDC hdc hdc = BeginPaint(hWnd,&ps); //ダブルバッファ準備 hdc = CreateCompatibleDC(ps.hdc); hbmpOff = CreateCompatibleBitmap(ps.hdc,YOKO, TATE); hbmpOffOld = (HBITMAP)SelectObject(hdc, hbmpOff); hdcImg = CreateCompatibleDC(ps.hdc); //ここから描画処理 //ダブルバッファ片付け BitBlt(ps.hdc, 0, 0,YOKO,TATE, hdc, 0, 0, SRCCOPY); SelectObject(hdc, hbmpOffOld); DeleteObject(hbmpOff); DeleteDC(hdc); DeleteDC(hdcImg);
683 :
680 :2008/03/26(水) 21:56:32 ID:oXPjkMU8
>>682 こんな感じのをRender();としてゲームループにぶち込んでるんですが、InvalidateRectしないと描画がされないです。
それは当たり前 描画ごとにInvalidateRectっていうのがどういう意味か分からんけど PAINTに描画を全部書いて、TIMERで定期的にInvalidateRectを呼ぶとか InvalidateRectの第3引数をFALSEにするとか ダメならDirectX使え
685 :
680 :2008/03/26(水) 23:26:01 ID:oXPjkMU8
第三引数はFALSEにしてます。 描画ごとに、というのはゲームループ内のRender();の上にInvalidateRectを置いている状態です。 ちょっと重すぎてどうにもならないので、DirectXを使うことにします。ありがとうございました。
>>682 描画のたびに描画バッファを再構築してたら重いのは当たり前だよ。
会議で言えば一人が発言するたびに社屋を建て直してるようなもの。
CreateCompatibleDC、CreateCompatibleBitmap、SelectObjectはウィンドウ構築時に、
Deleteはウィンドウ破棄時にやるべき。
必要があるならウィンドウサイズ変更時にもバッファの再確保も行う。
>686 せめて会議室くらいにしておこうぜw
どんな会社やねんw
上のリンクじゃちょっと分かりにくいんでゲーム中の動画も貼っときます。
FFDシステムとやらはゲームデザインぽいので
クラス設計やオブジェクト指向、プログラミングとは直接は関係ないと思う。
とりあえず
1.台本(スクリプト)ファイルを読み込み解析する部分
2.いろんな画面効果(エフェクト)や画像や音を台本の通り表示する部分
3.選択肢ある場合のフラグ管理やその他もろもろ
普通のアドベンチャーゲームと変わりません。
もしかしたら的外れな回答をしてるかもしれない。
なにぶん
>>689 のレベルがわからないので・・・
693 :
名前は開発中のものです。 :2008/03/29(土) 09:06:28 ID:qt/2k1bt
DXライブラリでマリオのような横スクロールアクションを作りたいのですが なにかオススメの参考書をご存知の方、ぜひ教えていただきたい 14歳から始めるC++ゲームプログラミングという本は誤字脱字満載の糞本で 凄まじいショックを受けました
>>695 おいおい、そこは参考にならんだろう。
ユーザ関数も使わず全部グローバル変数でやってるとこだぜ。
オガワンに釣られるなよ
>>696 抽象が学べればいいというか、抽象を学ぶということが 学ぶということだろう。 グローバル化の時代っていってなかったか。 (すげーおもしれーこといったおれ) ユーザー関数を使ってないコードは、クラスを使ってないコードは、論外というのは かなり素人だな。そもそも、順序として、ベタなコードがまずあって、そして、関数化なり クラス化するのが、ものの順序というもので、まぁ、おれは関数化もしないけど、 する人はそこからすればいいというだけの話で、なんとも、そんな順序も分からないで コード書いたら、さっそく、バグのオンパレードなわけで、なんとも、はや。
>>695 まるでCOBOLだな、時代に適応できてないみたいだ
可読性の低いコードなんて論外
コード以前に書き込みの可読性自体が低いなw
>>699 何の時代だよw望むものが作れればいいじゃん。 一般的にいって、関数化、クラス化というのは可読性が 落ちるものだよ。そんなこともわきまえていないのか。 驚きだね。 >>700 ユーは自然言語が不自由してるようだね。 「我輩は猫である」でも読んで、まずは、自然言語を 学ばれたい。
変な方向に盛り上りそうな気配だ
>>701 広域変数しか使ってない時点で大体理解できたけど
関数化して読みにくくなるって、どれだけヘタレなのよ?
どうせ変な処理を無理矢理まとめたような関数でも書いたんだろ
>>703 そこは難しいところだよね。
OOPとかだと、ちゃんと設計すれば機能追加・変更には凄く強くなる。
ただし、具体的な処理が見えないからクラス名とメソッド名が上手く
命名されてないと何をしているのか全く分からなくなる。
そうなると実際に呼び出してるメソッドのソースを見に行くけどそこでも
さらに別のクラスを・・・ってことになる。
分かりやすいコーディングって永遠の課題だよな
プロトタイプの時点ならクラスとか細かく考えることも無いと思うよ。 クラス設計がどーだこーだ言ってる間があったら、とりあえずさくっと動くもの作って 実際動かしながら細かい仕様を決める→決まったら保守等考えてリファクタリングと。 最初からきれいなコードで作るならリファクタリングなんて言葉生まれてこないでしょ。
人生もリファクタリングできねーかなw 樹海行って分解→輪廻転生→再構築とか無しな
>>692 すいません、こちらの質問自体的外れだったようですね。
丁寧な回答ありがとうございます。
>>704 順を追って読むだけで済むアセンブラ最強
プロトタイプを使い回しちゃ駄目っしょ。 それじゃ無計画に作り始めるのと変わらないよ。 一旦破棄してスッキリ再設計がプロトタイピングの基本。
710 :
名前は開発中のものです。 :2008/03/31(月) 17:52:56 ID:o6thuUMV
ブロック崩し作ってるんだけど 自機にボールくっついてる状態(bflag=1)から スペースキー押して(bflag=0)ボールを真上に打ち上げたいんだがどうすりゃいいんだろう・・・・ by=by--; ってやってもボールは微塵にも動かない ちなみにDXライブラリ使ってます
711 :
名前は開発中のものです。 :2008/03/31(月) 17:56:50 ID:o6thuUMV
ちなみにby,bxはボールの座標です
712 :
名前は開発中のものです。 :2008/03/31(月) 18:00:42 ID:6Xmv80aV
by -= 1;
ダメです・・・・一瞬ほんの数ミリ宙に浮くんですがすぐに戻ります 上のほうまで一定の速度でふわーと浮かんでいくようにするにはどうすればいいんでしょうか・・・・
こんな風にしてないか? main{ move(); } move{ int by = 100; by -= 1; } 本当はソースうpしてもらったほうが早いんだがな
DrawBox(bx,by,bx+10,by+10,GetColor(50,250,250),TRUE); if(bflag=1){ bx=jx+45; by=jy-10; if(key & PAD_INPUT_M ){ bflag=0; by-=1; } } こんな具合です スペースを押したらbflag=0になりボールが上に上がっていって、あとは画面内を跳ね回るといったものを今目指してます
これだとスペースを押している間[ if(key & PAD_INPUT_M ) ]だけ bflag = 0と by -= 1 が実行されるんじゃないか
if(スペースが押されたら){ bflag = 0; } if(bflag == 0){ by -= 1; } if(ボールがバーに戻ったら){ bflag = 1; }
×:if(bflag=1) ○:if(bflag==1)
>>717-718 スペースキーのほうも自機の移動と同じ感覚でやってた・・・・
やってみたのですがだめでした・・・・
なにがいけないんだろう、ボタンを押す→ボールが上にずっと移動→天井に当たったら下に移動
この流れになると思ったんえすが・・・・
DrawBox(bx,by,bx+10,by+10,GetColor(50,250,250),TRUE);
if(bflag == 1){
if(スペース押したら){
bflag = 0;
}
}else if(bflag == 0){
if(kabef == 1){
by -= 1;
if(by <= 0){
kabef = 0;
}
}else if(kabef == 0){
by += 1;
if(自機にくっついたら){
kabef = 1;
bflag = 1;
}
}
}
>>715 一回スペース押すとbflag = 0なんで
if(bflag=1){
:
:
by-=1;
}
}
が処理されない。
ボールの移動ルーチンにバグがあるんだろう
} }else if(kabef == 0){ by += 1; ずれた
みなさんありがとう 移動ルーチンに異常があるんでしょうか・・・?ボールの動きがないというのは スティッチ見た後にまたやってみます
ソース全部出したほうが早い。 壁の判定間違ってたり、変数を毎回初期化してるとか
スティッチwwwww
リロ&スイッチ。
フローチャート書いて、ちゃんと動くか図を見ながら確認した方が早いんじゃないのか?
フローチャート…。 何もかもが懐かしい。
カナダ人の書いた朝鮮人のフローチャートか
シューティング作ってるんですが、 \ | / 自機 こんな感じで3方向に出るミサイルの処理を書いてて、弾を作る処理と弾の移動の処理はできたのですが、 斜めのミサイルを描画するとき進行方向に傾けさせたいのですが、一つの画像(上を向いたミサイルの絵)だけで可能ですか?
可能です。
732 :
723 :2008/04/01(火) 21:51:37 ID:AouXDKP/
>>724 今現在は自機の移動とボールの発射しかプログラムしていないので
間違ってる可能性があるのは変数を毎回初期化してるという点かもしれません
スペースキーを押して発射→ボールちょっと動いて最初に戻る
ただボタンを押してボールを上に移動させるのにもbflagはやっぱ使うべきなんでしょうか?
>>727 一応フローチャートを想定しましたがbflag=0でボールが上に移動という時点でなんらかの
間違いがあるみたいです・・・・・
if(key & PAD_INPUT_M)
これだと押したときだけボールの座標が変わるって意味になるんでしょうか?
押してボールが移動し続けるにはbflag必須?
733 :
730 :2008/04/01(火) 22:52:06 ID:NZQeH72J
>>731 WINAPIで作ってるので、画像を描画する関数の引数が 右上X座標、 右上Y座標、 左下X座標、 左下Y座標
といった感じなのですができますか?
できれば具体的な方法を教えてください
734 :
730 :2008/04/01(火) 22:53:28 ID:NZQeH72J
どうでもいい訂正ですが、 右上X座標、 右上Y座標、 左下X座標、 左下Y座標 × 左上X座標、 左上Y座標、 右下X座標、 右下Y座標 ○ です
>>733 ゲーム初期化時に回転済みのビットマップを生成しておくといいよ。
でもドット絵を使うなら手書きで3枚用意した方が綺麗に表示できる思う。
三方向に射出した後、うねうね軌道が動かないならそっちの方がいいな。 うねうね動く場合でも8〜16方向くらいあらかじめ用意したほうがいいと思うけど。
マジかみんな 描画用の関数にラジアン角度を引数に取るよう作ってたんだが、むしろこっちが異端か?
太鼓の達人のようなゲームをつくろうと思うのですが、 どのような言語やソフトを使えばよいのでしょうか? C言語を半年勉強した程度の能力はあります。 どなたか、わかる方答えていただけると幸いです。
電子工学だと思う。
C半年だとコンソールアプリになるな
ターゲットを決めるのが先かな Windows?
真面目に答えていただいてありがとうございます。
>>741 具体的にどのようにしたらよいのでしょうか?
>>742 Windowsです。
こちらに関しては呆れるほどに初心者ですので、燗に触るようでしたら
スルーしていただいて結構です
>>740 はスルーかよ
入力デバイスどうすんのって話だと思うが
とりあえず、コンソールでも1キーだけでも動くもの作ってみたら?
BGMは必須だと思うけど、その他のAV的要素ってあとからでもOKだろうから
>>744 すみません、前者がよくわかりません。
後者は、要するにプログラムを書いてみろって事ですよね。
BGMについては用意してあります。自分で作曲したもので太鼓の達人ができたらいいなと思って
このスレに書き込んだものですからw
>>740 すみません、違う話だと思ってしまいました。
入力デバイスはキーボードでいこうと思っています。
別に電子太鼓を作ろうとまでは思っていませんのでw
746 :
744 :2008/04/02(水) 16:59:48 ID:QAuvnuXl
太鼓の達人ってゲームに必須な要素って多くないと思うから、まずは最低限必要なものを作るところから初めてはどうか、という意味。 さすがにコンソールアプリでは難しいかもしれないけど 音楽鳴らせて、キー入力のタイミングが判断できればOKなのかな?
>>746 そういうことですね、
音楽鳴らせて、キー入力のタイミングが判断できれば成り立ちますね。
言語はCで、Visual C++ 2008 Express Editionを使って
やってみようと思いますがどうでしょうか?
太鼓の達人ってbm98みたいなもんじゃね? 曲弾きたいだけなら、プログラム作らなくてもあれでも代用できそうな気が ちょっと古いけど
>>748 確かに代用できるかもしれませんが、
太鼓の達人のノートの種類が大まかに2種類なのに対し、BM98は最低5key以上となっています。
数箇所のkeyを使わない設定となると、見栄えが悪いと思います。
750 :
730 :2008/04/02(水) 19:21:02 ID:5WZMzuoU
>>735-737 有り難うございます。
大変助かりました。
どちらの方法も試してみて、良い方法を使おうと思います。
太鼓の達人は太鼓叩くからおもしろいんであって 太鼓なかったら地味だと思うんだが
DS版が否定された
ひとつ聞きたいんだが by -= 1; ↑これだと一瞬だけ座標が変わるだけじゃない? 徐々に上に移動って意味はこれでいいのかな?
>>751 太鼓よりもコントローラの方が得意な人も多いと思いますし、
キーボードで設定しておけば、USBコンバータを使えば太鼓でもプレイが可能なのでは?
あの太鼓って、外側は実は木製なんだよな。 分解写真見てびっくりした記憶。 >752 否定していいと思うんだ。(ぼそ) >753 何の話だ? ぷちエスパーすると、毎フレームbyが初期化、または定数がセットされるなら一瞬だけ。 描画条件やタイミングによっては動かないかもしれない。 普通は、byはフレームごとに初期化されない(値が保持される)ので 毎フレーム1ドットずつ動く計算になる
756 :
755 :2008/04/03(木) 00:45:15 ID:BL3q8jAP
ああ、すまん。ブロック崩しの人か。 >755での暴言は忘れてくれ。
757 :
名前は開発中のものです。 :2008/04/03(木) 06:18:34 ID:mgvlg8ul
DXライブラリを使って2次元アクションゲーム作ってるんですが、 なんというか、どうもRPGツクールと同じように 「1から作ってるわけじゃなく、すでにあるものを組み合わせてるだけ感」があって(もちろんRPGツクールほど顕著じゃないですが)、どうにも作ってていまいちノれないんですが そこで質問なんですが、ウインドウズプログラミングを使って1から作るのと DXライブラリで作るのでは同じゲームを作るとしたとき、だいたいどのくらい効率や時間は違いますか? やっぱりウインドウズプログラムの方が極端に時間がかかりますか?
これからDirectXとかの勉強をします、とか言うなら半年くらいのオーダーで違う
>>757 どうせDirectXを習っても、自由度が高すぎるからDXライブラリみたいなライブラリを自前で作ってると思うよ。
結局のところ3Dモデルや画像読み込んでいじくるのが目的の大半で、
読み込む処理は決まりきってるし、動作と座標はスクリーン座標かワールド座標で管理するだろうし。
仮にC言語周りは完璧でDirectXを覚え始めるとして、スプライト、入力処理、音響処理のラッパーを作るとなると
2ヶ月程度。3D周りに手を出すとさらに2〜5ヶ月。
作った後は、DXより自分好みにライブラリを作ってるだろうから開発効率いいんじゃね?
DXライブラリにしても、そのまま使うんじゃなくて さらにラッパを用意したりする人も多いけどな。
761 :
名前は開発中のものです。 :2008/04/03(木) 14:45:18 ID:mgvlg8ul
数百くらいあるオブジェクト同士の当たり判定をしたい場合、総当り以外に何かいい方法ありますか? 総当りでチェックしながら、一回判定したのは外していくという方法以外思いつきません…
1Dなら二分木、2Dなら四分木、3Dなら八分木 という方法で空間を分割することで 当たり判定の最適化ができます
【空間分割による最適化】 隣の部屋(room ≒ portal 、block 、area)で誰と誰がどのように触れ合っているか等 毒夫にとっては全く関係のない話なのです | \ | ('A`) ギシギシ / ̄ノ( ヘヘ ̄ ̄ アンアン/
>>763-764 ありがとうございます
キーワードがいただけたので、あとは自分で調べて見ます
戦略シミュレーション作ろうとしているのですが、平面座標で CPUがプレイヤーの駒に対し障害物があった場合、障害物から 左右に走査線を走らせ、反対側にたどり着けば 角(横3px以内、45・90・135)の点を全てストックして、現在の座標より直進で進める もっとも外側に近い点を目標とし、再びループ。 という仕組みでコードを組んでいますが、障害物の深度から検索しているので 正確なルートを確保できません。 何かアドバイスを頂けないでしょうか。
「経路探索」といえば「A*」
768 :
766 :2008/04/08(火) 16:53:31 ID:U0qhjBuH
>>767 ありがとうございます。難しそうですが、チャレンジしてみたいと思います。
769 :
名前は開発中のものです。 :2008/04/10(木) 09:03:53 ID:xSsqVcTa
単発質問スレが乱立しやすいこの板では この類のスレは常時ageの方がいいのではないかと言ってみるage
それもそうだな
771 :
名前は開発中のものです。 :2008/04/10(木) 12:34:40 ID:nQoNMMIw
だが断る
いやいいこと言ってるかも
773 :
名前は開発中のものです。 :2008/04/10(木) 16:33:45 ID:kl6WBrXE
たしかにいいことだ
どうでもいいことだ
776 :
名前は開発中のものです。 :2008/04/10(木) 19:57:46 ID:xSsqVcTa
ローカルルール読め阿呆で十分
javaでゲーム作成ってスレ落ちたままだけど誰も立てないの? javaマでゲーム作ってる俺はよく覗いてたのに。
>>778 みんな誰かが立ててくれるのを待ってたりしてなw
無いのならいっそのこと自分で立てたらどうよ?
俺のプロバもう久しくスレ立てられないのよ。
●買え、●
スレ建てできるjava使いがいないなら、 テンプレを用意して頼み込んでみたら良い人(つまり俺以外)が、 建ててくれるかもしれないぞ!
おk代行スレ行ってくる
●じゃなくて株主優待でもいいんじゃね? 今は暴騰してるけど
DirectXに関して質問です。 黒のバックに白の点がいくつか描かれているテクスチャがあります。 この白の点の数をカウントし、その数に応じて処理を変えたいです。 シェーダー(HLSL)を使って、このカウント値を取得したいのですが、どのようにすれば良いでしょうか?
そのカウント値っては予め数えてある値なのか、それともシェーダー上でカウントするのかどっちなんだ?
シェーダー上でカウントしたいです。 白の点の数はフレーム毎に変化します。
ピクセルの数をカウントするなら簡単だよね 不定の面積を持った点だと困るな、 画像処理してデジタル化してから スキャーンして、見付けたら別の色で塗りつぶし また、スキャンし、終わるまで。 塗りつぶした回数を数える。 誤差がでるだろうな
すみません、「その回数を数える」というのは具体的にどうするのでしょうか? シェーダプログラム内でカウント数を保持する方法があるのでしょうか?
>>790-791 最近のシェーダーの仕様とか組み方とかよく知らんのだけど
俺がRadeon9800でPS2.0使ってた頃は出力はr0のみだった。今は違うのか?
少なくとも当時は、1パスでパーピクセルの処理結果を一箇所に集計して〜
みたいな使い方は出来なかったと記憶してる
793 :
名前は開発中のものです。 :2008/04/13(日) 16:38:09 ID:zbXHPuUk
3Dのゲームでよくライフが2Dスプライトでキャラの上に表示されてたりしますが そのスクリーン座標ってどうやって取得するのでしょうか?
794 :
793 :2008/04/13(日) 16:58:28 ID:zbXHPuUk
事故解決しました・・・スレ汚しすみませんでした・・・
ち、営業失敗か
797 :
793 :2008/04/13(日) 18:13:15 ID:zbXHPuUk
>>795 レスどもです。後述のやり方使わせていただきます。
本ほしいけど高いです・・・1ヶ月生活切り詰めれば買えそうだけど・・・
798 :
787 :2008/04/13(日) 19:38:00 ID:9OE2EiOk
>>792 今も基本的に各出力画素に出力ですね。
ピクセルシェーダを以下のようにして、最後の画素(画面右下?)に合計値が出力されるように
試みてみました。
void PS(
float2 in_Tex : TEXCOORD0 ,
out float4 out_Color : COLOR0 )
{
in_Tex.x = in_Tex.x + g_Ofs.x;
in_Tex.y = in_Tex.y + g_Ofs.y;
static float4 SumColor = float4( 0.0 , 0.0 , 0.0 , 1.0 );
SumColor += tex2D( TexSamp , in_Tex );
out_Color = SumColor;
}
結果は、普通にテクスチャの絵がそのまんま出力されてしまいました・・・
ピクセルシェーダ稼動中はSumColorの値は保持されると期待したのですが、
毎ピクセル計算する度にSumColorはクリアされちゃってるってことでしょうか。
staticの存在意義が分かりませんね・・・
DirectXの質問ですが LPDIRECT3DSURFACE9のGetDCで WinAPIを使用(TextOutなど描画処理)すれば それでデバイスを使用した高速描画ってことになるんですか?
>>799 デバイスのコアな部分までは分からないから言い切れないけど
TextOutなどGDIを使用する限り、ならないって事になってる。
GDIはプリンタにも共通して使用できなければならない。
基本的に手抜き用だから性能気にするなら使うの止めた方が良い。
たまにWinAPI使ってテクスチャーに描いて、 フレーム毎の描画はテクスチャーマッピングで済ますんじゃね?
まぁ恥ずかしい長文を画面いっぱいに描画するなら 普通のWindowsアプリ同様に差分描画は必須だろう 毎フレーム全文をTextOutとかは想定外の使い方
804 :
787 :2008/04/14(月) 01:13:34 ID:juYmtKjM
うわぁ著作物を無断ぽくうpする知的障害者ってまだ死滅していないんだなぁ(棒読み
ここはあくまでゲーム制作の初心者を対象にしているスレ。 平気で無断うpするようなネット初心者はお呼びでない。
807 :
799 :2008/04/14(月) 20:20:32 ID:acAkUx6Q
>>800-803 ありがとうございます。
現在SRPGのようなものを製作しているのですが、各キャラのアニメの処理落ちがひどく
DirectXを導入しようと思ったのですが、使い方を誤っていたわけですね;
808 :
名前は開発中のものです。 :2008/04/14(月) 23:22:29 ID:D8DlEzlI
>>755 要するにボールの座標(by)を常に保存しとくのに
入れ物がいるってことでしょうか?
「bflag=0の間」って定義じゃ意味として間違ってるんでしょうか?
>>808 byに200が入ってたとして、
by -= 1;するとbyは199になる
次にby -= 1;をしたときは200から199じゃなくて199から198になる
まるまるソースアップすればすぐ解決しそうだけどね ローカル変数でしたとかありそうだし
まさかずっと考えてたのか・・・
とりあえず自機は動いてるみたいだし
>>720 丸写しで動きそうな気もするんだがね
まあ、
>>810 だろうな
敵とか主人公とかアイテムの画像はひとつの配列入れて描いたほうがいいの? それともべつべつ?
大体の場合画像はいっぺんで描いた方が早いよ
>>812 んなもんどっちでやってもゲームは作れるよ。好きにすれ
ところで俺がたった今3秒でひらめいた糞ゲーは
主人公が敵になったりアイテムが仲間になったりするんだ。凄いだろ?
だから敵とか主人公とかアイテムは共通の手続きで取り扱いたいね
ひとつのリスト(配列)に入れるというのは悪くない考えだ
オブジェクト指向でのデータ構造に関する質問です。 シューティングゲームの敵オブジェクトを数種つくるとき、 1.親クラスを同じにして種類ごとのクラスをつくる 2.一種類のEnemyクラスのオブジェクトをたくさん作って、種類を表す変数kindの値によって挙動を場合分け 3.一つのEnemyManagerクラスをつくって、必要な変数を配列として保持し、各敵をインデックスによって管理 4.その他俺が考え付かない素晴らしい方法 のどれをすべきなのでしょうか。ご指導頂ければ幸いです。 的外れなこと言ってたらごめんなさい^^;
>ご指導頂ければ幸いです。 先生、手を動かす前から悩む子は嫌いだな 手が使えないなら口を使ってもいいんだよ とりあえず1〜3を全部やれ。すると人は4に行き着く でもそれが勘違いだったことに気づくのに時間はかからない そのときHSPは救いの手を差し伸べるだろう
817 :
815 :2008/04/16(水) 00:24:52 ID:4gn/04tn
>>816 一通り試してみたけど違いが分からなかった、という前提でお願いします。
俺が気付かないだけで「これはやっちゃダメだろ」みたいのがあるのかな、って。
つまりHSPから出直せってことですか?
1&2
自分が組みやすいように組めばいいよ ゲームの規模やシステムによって最善は変わってくるだろうし
>>817 >一通り試してみたけど違いが分からなかった、という前提でお願いします。
なら話は簡単だな。どれでやってもゲームは作れるってこと
あとは自分の都合にあったやり方を選択すればいいだけ
作るときの人数構成は。一人で作ってるのか、2〜3人で作ってるのか
ゲーム自体の規模は。敵の数は、種類は、ステージ構成は、2Dなのか3Dなのか
敵やステージのデータを誰が作るのか、誰が調整するのか、自分なのか
それとも仲間なのか、それはプログラマなのか、それとも絵描きなのか
いや絵もプログラムも作れない妹にやらせるのか、などなど
実際に1〜3全部やってみたのにそれぞれの得手不得手、長所短所が
見えないなんてことは絶対にありえないからな
>>815 俺ならこうする。
class Enemy {
int x;
int y;
int life;
void draw(int x, int y);
void move();
}
class Enemy1 extends Enemy{
void draw(int x, int y) {
...
}
void move(int x, int y) {
...
}
}
1. 敵は共通して現在の座標、ライフ、描画メソッド、移動メソッドを持つ。これを基本クラスとする。
2. 個別の敵オブジェクトは基本クラスであるEnemyクラスを継承して実装する。
3. EnemyManagerは敵オブジェクト(インスタンス)を配列、連結リストなどで保持して一括管理する。
822 :
815 :2008/04/16(水) 21:13:41 ID:4gn/04tn
>>820 違いが分からなかった、というのはおかしいですね。すみません。
どれが最適か分からなかった、と言いたかったのです。
>>819 さんの言うとおり、結局は個人の好みに行き着くのでしょうか。
>>821 さんのように、1+管理クラスでやってみようと思います。皆さん回答ありがとうございました。
小品ならそれでもいいけど 中作以上だとクラスがあぼーんする
>>823 規模や状況によって最適解は変わるってアドバイス受けてるんだから
それくらい作ってりゃ気付くでしょ
825 :
名前は開発中のものです。 :2008/04/18(金) 19:51:15 ID:rgTpHM1z
ブロック崩しの者です
あれから試行錯誤してみましたがイマイチ解決に向かいませんでした
ただボールが勝手に浮上していくときもあったのでこれはもしかすると・・・なのでしょうか
http://www2.uploda.org/uporg1374806.zip.html いろいろいじって汚くなったのでかなり削ってしまいましたが
間違いなどを指摘していただければありがたいです
ちなみにスペースキーを押したらボールが浮上することだけを考えたので
壁に当たったときの挙動などは考えていません
DrawBox(bx,by,bx+10,by+10,GetColor(0,140,140),TRUE); bx=jx+45;←この行 by=jy-10;←この行 if(bflag ==1){ は要らないんじゃないか?
>>826 それなしでやったところ、ボールが画面左上端に表示されてしまいました
bfag==1にボール座標を書いてるのですが認識されてないんでしょうか?
bx,byが値入れられる前に一度使われてるぜ あと、 >DrawBox(bx,by,bx+10,by+10,GetColor(0,140,140),TRUE); >bx=jx+45; >by=jy-10; ←ここで上書きされてるから上昇しない >if(bflag ==1){ (略 上の真中2行削除して、メインループの前の宣言時に int bx = jx + 45, by = jx - 10; とでもしとけ と実行してないけど言ってみるテスト インデントは綺麗に使おうぜ
ってフラグ類も初期化されてなくね?
変数に初期値を入れてないからbflagの初期値は不定じゃないかな? bx,by,bflagを初期化してみたら?
bflag=1もループ前にないといけないな
DrawFormatStringで変数を表示させておくといいかも
いっそオープンソースにしちまうか
>>825 せめてもう少しきれいに書けないw?
特にブロックでないのにインデントがネストしてたり、タブ使ったり使わなかったり、
if文の中が1行なのにブロックを省略してたりしてなかったり。
とりあえず読みやすいように直したらどうだ?
うぽおおおお ちゃんとスペース押したらボールが浮きました! ありがとうございます 初期化、DrawFormatStringともにまったくのノーマークでした・・・ >ソースの汚さ 申し訳ない・・・書き直し→再構築の繰り返しをしてるうちに乱雑になってました
つまらん!つまらんぞおまえら もっと殺伐としたのがゲ製クオリティーじゃなかったのか!
そういや、画面クリアは描画直前に持ってきたほうがよくね? ついでに描画絡みのものもまとめて最後に置かね?
>>836 例のスレから出張してこないでくれ。
もともと、この板の空気は、「殺伐」ではない。
「閑散」だ。
かなり初歩的なことなんですが、どう調べてもうまく検索がかからないので質問させてください ゲームの製作というのは、全て(殆ど)がC言語からなっているんですか? それともゲームのタイプによって用いる言語が変わったりするんでしょうか?
C/C++が主流
(アマチュアなら)ツクールで出来ることはツクールでいいんじゃねーの?
>>798 GPUで各ピクセルの合計や平均を求めたい場合は、
ミップマップ的手法を使うのが定石だ。
例えば、32x32のテクスチャの合計を求めたい場合
以下のようなピクセルシェーダ関数を使って
32x32 -> 16x16 -> 8x8 -> 4x4 -> 2x2 -> 1x1 まで再帰的に計算する。
float4 fp()
{
v00 = tex2D( float2(0,0) );
v01 = tex2D( float2(0,1) );
v10 = tex2D( float2(1,0) );
v11 = tex2D( float2(1,1) );
return v00 + v01 + v10 + v11;
}
当然、テクスチャのフィルタリングや
レンジ不足によるオーバーフローを意識しなければならない。
>>842 回答ありがとうございます
特殊なもの意外はC/C++で構成されているんですね
例えば個人のHPに設置されているブロック崩しのようなものから、CMにも流れているようなオンラインゲームまで殆どC言語で構成されているんでしょうか?
javaで作られたゲームなどもあるようですが、調べたところC言語とはまったく違う言語のようですが
オンラインゲームとかVectorとかにあるゲームはほぼ全部C/C++じゃない? Web上にあるゲームはC/C++でも作れるけどPerlが多いと思う。 Javaでゲーム作るってのはあんまり聞いたことない 携帯アプリはたぶんほとんどJava
なるほど イメージ的にはデスクトップ上のアイコンをクリックしたりしてやるような大型のものやフラッシュはC言語 web上で出来る簡単なものはCGIやPerlで構成されてる感じですね ではまずC言語についての知識をつけていきたいと思います、ありがとうございました
>>847 >フラッシュはC言語
ちょ、それ違う。
FlashそのものはActionScript。
いろいろ誤解があるきがするけど・・・ ゲーム作りたいだけならHSPやったほうがいいと思われ Cはかなり遠回りになる
ホームページでブロック崩しなら、フラッシュだと思うよ。 CMのオンラインゲームは知らない。 javaで作るゲームは、携帯向け若しくは、ブラウザで実行するゲームだったかな。 ゲームタイプで言語は変えません。 シューティング用の言語やらRPG用の言語はありません。
javaでゲームは海外なら結構あるんだがな。日本じゃ携帯向けが主流だな。 とjavaでゲーム作ってる俺が通りますよ。
>>847 かなり勘違いしてるとおもわれる。
いわゆるCGIはperlで作られている事が多いだけで、
別にCでもJavaでもそれ以外の言語でも作成可能。
perlは文字列を扱うのに便利な機能(正確には違うけど)が多いので
WebでHTMLを出力するようなゲームに関してはperlが用いられることが多い。
Flashは
>>848 が書いているとおり、ActionScript。
これはECMAScriptってのに準拠しているJavaScriptと同じ系列。
コレなんかJavaScriptで書かれてる
http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html オンラインゲームとかでもクライアントはC/C++で書かれていても
サーバ側はJavaとかで書かれていたりする物もあるから
ほとんどがC言語系で書かれているってのはいいすぎ。
どこに書くか悩みましたがここで。 現在Nスクを使ってゲーム作ってます(システムカスタマイズはできるようになりました) ですが、やはり激しい動きに関してはNスクで足りなくなってしまったので、他のツールに手を出すか、いっそC言語あたりでも勉強しようか悩んでます。 落ちもの系パズルやマリオ的なアクションゲームを作るとしたら、どちらがいいでしょうか?
配布形態をどう考えるかによるとおもうんだけど、 ExeがいいならFlashとかどうだろう。 たいがいのことはできるし、紙芝居も簡単だし。
落ちもの系パズルやマリオ的なアクションゲームくらいならべつにSystem4.0でもできるけどC/C++覚える方が良いと思う。
>>853 勉強しといて損はないと思うよ。
書籍とかネット上のゲームのサンプルやTipsって、C/C++で書かれている
ものが多いので、とりあえずソース読めるだけでもゲーム製作に関する
情報がかなり収集しやすくなると思う。
C/C++からJAVAも覚えやすいので、デザインパターンとかの学習も楽。
857 :
853 :2008/04/21(月) 21:08:34 ID:Qc9uBhvE
>>854-856 ありがとうございます。
とりあえず本屋に行ってよさげな本を選んできます。
やさしいシリーズだけはやめとけ
技術的な質問ではないのだが、ACTに許されるボタン数ってどのくらいだと思う? コンシューマだと12ボタンとかあるし、アケなら6ボタンくらいあるけど、 キーボード派や使いやすさを考えると、あまり多くするわけにもいかないし
単純にボタンの許容数を聞かれても答えようがない気がする。 同じボタン数でも、使用頻度の偏り、同じ機能を持つボタンの有無、 複数同時押し扱いボタンの有無などでかなり違ってくると思う。
旧アーマードコア信者から言えば、何処まで直感的か。その一言。 ボタン数が6とかでも変な挙動割り当てとか操作感は嫌。
ボールを蹴ったりして、力が加わった時のボールの回転の仕方だとかを 解説してるサイトってありませんか?
>>859 類似の有名ACTのボタン割り当てをパクっとけばいいよ
そこをどんなに工夫したところでボタンを押した結果(動き)が異様だと
全て台無しになるんだし
>>862 サイトはよく知らんが「剛体」「球」とかでググれば力学計算の式なんて
いくらでも出てくるぞ。あとは↓の鉄板本でも買っとけばいいんでね?
www.gogo3d.com/products/mathema/index.html
つうか、ボタンの割り当て(と場所)なんて、パッドによって違うし。
見たことのないような形状のパッドをひねくり返しながら、
どれが1ボタンだよ!と吠えながら判定用のコード書いてみたり…。
なので、
>>861 は、プレイ専門で制作側の人間ではなさそうだ、と思ってしまうのです。
>>864 ウチはボタンの割り当て(と場所)については何も言ってないんだぜ。
>>864 え?PCゲーでパッドやスティックを使うなら
実行時キーアサイン(カスタマイズ)機能はあるのが大前提じゃね?
リリース時は無論のこと開発時もまず最初にサクサクっと付けるでしょ
どれがボタン1だよ!と吠えながら判定用のコードを書く
なんて悠長なことをしたいなら別になくてもいいけどさ
ビジュアルノベル用のスクリプトエンジン組んでみたいなと思ってます 完成は一年後とかそれより後が目標で、ゆっくり勉強していきたいと思ってます。今とりあえずCをやってます ただ現実的な話、自分でビジュアルノベル作るならNスクかキリキリ使ってしまったほうが絶対楽ですよね もしビジュアルノベル作りたくて、自分でスクリプトエンジンまで組みたいなっていう場合、 そのメリットは「自分で全部やったぜ」的な自己満足以外に何かありますか? もう本当に「全部自分で組みたい」っていう衝動だけで勉強してるわけなんですけど やめとけと言われても多分やりますが
868 :
名前は開発中のものです。 :2008/04/23(水) 10:25:07 ID:swO5vEUQ
やめとけ
>>867 あえて言えば、途中でもっと違うことをやりたくなっても
好きに方向転換やら拡張やらできる…とか?
なんにしろデメリットの方が多そうだ。
RPGツクールを敬遠する人はいるって聞くが、ノベルならNスクかキリキリで
問題ないんじゃね?
話を作って公開することが目的なのか、自分で全部組むことが目的なのか、
何が最重要課題なの?
全部自分で組みたいんなら言語から作らなきゃw
javaの世界ならノベルエンジンほとんどないぞ。 しかもjavaMEでつくれば需要まであるw
独自の暗号化処理を組み込めれば素人には解析できない、 ってくらいのメリットしか思いつかない。
>>868 やっぱり…
>>869 いやぁそうですよね
>>870 全部自分で作るのが最優先です
それのメリットデメリットが知りたかったです
というか言語やる上での目標でもあります
気長にやるつもりです
>>871 ごもっともで…
>>872 なるほどーつっても自分がやるまでに誰かがやりそうw
>>873 単にビジュアルノベル作りたいなら既存のエンジンだなーとは重々思いますね
先に、ツールを使ってゲームを作り完成させる。 その後、プログラムを作ってゲームを実装する。
全部自分で組んでやったぜって言うなら、ブートストラップからOSから組まないと って話にならないか? 所詮人の組んだライブラリに頼らざるを得ないんだから、全部自分で〜は無意味だと思うな メリットがあるとしたらエンジンの機能に不満があればエンジンごと改造できることとか あとは、スクリプトエンジンって難易度低くないので達成できれば相当なスキルアップにはなるだろうね
自分で作るメリットはかゆいところに手が届くことだけど 初心者がスクリプトエンジンを作ることを目標にCを学ぶっていうのはちょっときついような たぶん途中であほらしくなると思う
でも鍛えられると思うぜ
> そのメリットは「自分で全部やったぜ」的な自己満足以外に何かありますか? 練習になる。
ありがとう。 おいら頑張ってみる
>>872 を見てちょっと思ったんだけども、StringTokenizerとかのクラスがj2MEにない理由はなんでなんだろう?
「重いから」的な理由なら同じ挙動をする自作クラスも避けなきゃって話になるけど、普通に動く気がする…
Sleep関数を用いてゲームを作った所、VistaとXp,2kで速度の異なる 問題が発生しました。Sleepに16msを設定した所、Vistaだけ速度が 早いため、Vistaでも速度を一定にする方法を調べています。 昔どこかで、Sleepの速度が22ms精度になってるという話を 聞いた気もするのですが、詳しい話は覚えていません。 なお、他アプリとの同期も考えたいため、 アイドリング時の処理を用いる方法は考えていません。 何か良い方法はありますか?
timeGetTimeかなんかを使って、閏マイクロ秒を追加するとか? ごめww俺Vista持ってないしwテキトーこいたwww
>879 あれ? それって超重要じゃね?w
>>882 WinAPIのSleepやSetTimerがいい加減なのはわりと有名な話で。
883の言うようにマルチメディアタイマを使えば精度は維持されるが、
CPUを占有してしまう。
リアルタイム処理やアニメーションのなめらかさにこだわる場合は、
DirectX一択と断言しますよ。
水平線回帰を待って処理できるから、一定のタイミングで処理することができる。
が、それでも今度はモニタの周波数にスピードが影響を受けるという問題が…。
DXライブラリしか持ってないんだけど DirectX用の参考書に書かれてることは通用しますかね?
所詮はAPIだから、問題ないと思いますがね。 別に使うのに高い知能も必要としないし、深い含蓄を含んでもいません。 所詮はAPIですから。
>>885 水平線回帰は知らんが垂直帰線区間なら分かる
>>882 処理の部分に関係なくSleep(16);ってしてるから
環境によって処理の部分に掛かる時間が変わって誤差が出る。
って答えようと思ったんだけどなんか違うっぽい?
まあ、タイマーで誤差とって次のフレームで誤差を吸収するように時間調整するとか。
これはエロゲツクールだからNスクや吉里吉里の仲間か DX8の固定機能パイプを使った描画エンジンみたいだな
>>889 スレッドを二つ用意して、片方のスレッドではSleep(16)の後に
同期処理のイベントをONにしてループ、もう片方のスレッドで
イベントをWaitForSingleObjectで受け取っており、
このスレッドでゲーム本体を実装しています。
>>891 cs2はスクリプトをAOTコンパイルしてVMで直接実行してるタイプだからどちらかというとSystem4.0に近い。
>>881 その手のものを便利だからって何でも入れてくと、JavaSEと同じくらい巨大なものになってしまうからじゃない?
>>893 俺もiアプリ作るときはそれで速度調整してたよ
ところでtimeBeginPeriodはちゃんと起動直後に実行されてる?
アッー!
>>896 いえ、聞き覚えの無いAPIですね。まずはその辺から調べて見ようと思います。
ありがとうございました。
おかげさまで解決出来ました。 SleepやらWaitForSingleObjectやらにも、 timeBeginPeriodとtimeEndperiodが影響する という認識で良いわけですね。 timeBeginPeriodとtimeEndperiodを入れた所、 速度が異様に速くなって目が点になってます。
魔法とかのエフェクトはAEを使って作ってるのでしょうか? 手書きではないですよね・・・
使ってる人もいると聞いた
902 :
名前は開発中のものです。 :2008/04/29(火) 19:04:58 ID:954BXRxF
10年ほど現場でデザイナーやら、企画やらやってました。 数度経験はあるのですが、そろそろじっ製作現場を離れ、本格的に管理系の仕事にシフトしたいのですが、 ディレクション・進捗管理について勉強できる書籍・WEBってありますか? 大手の経験もあるのですが、未だかつてまっとうな進捗管理を見たことが無いので、 いかんとも・・・皆様宜しくお願い致します
903 :
名前は開発中のものです。 :2008/04/29(火) 20:39:09 ID:xU09RiMx
モバゲーのようなサイトを作るには何が必要ですか?手順とか教えてください。
905 :
名前は開発中のものです。 :2008/04/29(火) 21:16:09 ID:PHqEVgOy
3Dゲームを作りたいのですが、線形代数の知識ってどのぐらい必要なもんでしょうか。 移動や回転、拡大/縮尺ってOpenGLにしろ、DirectXにしろ、APIやライブラリで 用意されてるから、別に理論までは知っとかなくてもいいかなって思うんですが... 使い方だけ覚えちゃえばいいですかね? それとも理論も押さえとかないとダメ? ちなみに作りたいのは、3DのRPGなんで、やりたいことはいろいろあるんですが。
物理計算をしなければ別に必要はないと思うけど。 壁にぶつかって跳ね返るとか(正確に)、
>>906 物理計算が必要そうなことは今のところ考えていません。
自分の頭では線形台数の理論を覚えるだけで何年もかかりそうだったので、
とりあえず理論は後回しにしてやれそうなところからやってみたいと思います。
ありがとうございました。
線形代数の知識が必要かと問われて
何故か物理計算について語りだす
>>906 と、
どんな回答が返ってきても線形代数の学習をやる気が
サラサラなかったと思われる
>>905 =
>>907
目糞鼻糞か
線形代数判らなきゃ物理計算は大変だろうなJK 線形代数(&物理計算)に頼らない3Dゲームは可能だと思うけど、 3Dゲームと言うより、3D表示ゲームだろうな。 でもそれで何も問題ない気もするから頑張れ。
3Dデータを読み込んでマップ上を動かすだけで線形代数が必要かね
やりかたによる。 ツクールなら 何もいらないだろうし DirectXを直叩きするなら必須だろ
>>912 Direct3Dでも低レベルを使わなきゃ3次座標系だけでも出来ない?
>>913 前提が違っている。
915 :
名前は開発中のものです。 :2008/04/30(水) 19:13:26 ID:lXj3d1Z3
3DRPGでマウスで移動先を指定してキャラが移動する場合、マウスで指定した3D座標を取得するにはどうすればいいですか?というよりどうやっているかということなんですけど カーソルから地面へ半直線をとばしているのでしょうか?教えてください
画面の座標を、3Dの座標へ変換しているわけです。 ベクトルと指定ポリゴンの交差する点は一点しか無い。
馬鹿は手を動かす前にできないと決めつけてかかるからねぇ。 だからいつまでも成長しない。 そのため、いつまでも馬鹿なのだ。
手はいつも動かしてるぞ。むしろ動かさないのは頭の方。
手はいつもうごかしてるぞ しゅっしゅっ
920 :
名前は開発中のものです。 :2008/04/30(水) 23:12:32 ID:lXj3d1Z3
線形代数云々の問題でなく4x4同士かけた時に桁が下がって 後で座標値かけた時に桁差分丸められてるんじゃないのか。知らんけど。 というかム板で無視されたからゲ製作板にマルチて
923 :
名前は開発中のものです。 :2008/05/01(木) 00:51:16 ID:+xPWZTy0
>>923 すげぇな。俺は何度やっても13.5142m以上いけない
つか、あのメタボ野郎をぶん殴りたくて仕方ない
すまん、誰か↓の次スレどこかわかる人いたら教えてくれ。2日見てなかったら落ちててわからんw 超初心者だけどゲームの作り方教えてくれ
>>925 ググレカス(980越えたから落ちたんだろ。ググレばまだdat落ち前の見れるんじゃねーの?)
>>926 サンクス。dat落ちの原理今まで知らなかったわ。
ありがとうございます。
自治スレって無いんですかね? 改名を議論してるスレはあったんですが。
いままで自治いいだした人がじぶんかって多いので 次スレ建てられず落ちますた
どうせ建てるならミジンコ観察スレの方が適切じゃね?w
避難所のspam爆撃、どうにかしたほうがよさそうだと思ったわけですが
なぜそんな僻地のさらにすみっこに爆撃を;; 放置汁
内積、外積についてわかりやすく教えてくらい。 影を求めるには内積、法線を求めるには外積ってなんとなくはわかるんだが。 どうしてそうなるのかがよくわかりません。
高校の数学教科書はどう?
ぐぐれば?
馬鹿に対しても、鞭と、十分な時間と、娯楽から隔絶された環境があれば 数学を教えることは可能だ。 だが、数学的概念を教えることは不可能だ。 概念を理解するには、自らの頭で。理解できるまで考え続けるしかない。
幾何学を教えてくれるスレどっかにありませんか?
>>941 さんくす。とりあえず高校レベルからやり直してみるわ。
高校数学の教科書が未だに捨てられんw ちょっと嘘ついた。 大学時代に古本屋で買った。
質問です。 ネットワークに繋いで対戦出来るようなゲームを作るためには、 何の言語を使うのが便利でしょうか? Cなら一応理解できますが、ゲーム製作は完全に初心者です。 ちなみに、ゲームの内容はマリオカートのようなレースゲームです。 (完全3Dじゃなくてあんな感じのもの) ローカル内で良いのでとりあえずネットワーク対戦が出来るものを作るのが目的です。
Linuxで初めてきちんとPCに触れたせいか、 数年ずっと普段のデスクトップ用途でLinuxを使って来ました。 歴史小説に嵌まったせいで戦国歴史物のSLGを遊びたいと思い始めたのですが、 LinuxまたはUNIX向けの物はどうやら存在しないようで、 いっその事、無いなら自分で作ってしまえ!という気になっています。 CやPerlやLuaのごく基礎的な事を理解してる程度のド素人ですが、 これから製作に必要な知識を勉強していく上で何が必要になるのかご教示戴ければ幸いです。
>>944 Cでも一応できる
C++の方が便利かも
>>945 SDLとかどう
あと絵を描くソフトとか曲を作るソフトとか効果音を録音するソフトとか
>>946 レスありがとうございます。
C++で調べてみます。
また、「プレイヤーの走行データをサーバに保存して、ゴーストとして取り出す」
という機能も組み込みたいのですが、そういった機能もC++で可能か、
知識はどんな本で得られるのか教えていただけると幸いです。
>>947 あいにく書籍には詳しくないので他の人のレスを待て
そういった機能も可能だけど、サーバ側のプログラムも組まないといけないような
いきなりネットワークゲームを作るより、まずは
・ネットワークを使わないゲーム
・ゲームでないネットワークプログラム
のどちらかから始めてみたらどう
両方いっぺんにやるのは大変かと
ところでこれは非常に重要なことなんだけど、OSは何
>>948 再びレスありがとうございます。
一応、最初にネットワークを使わないゲームを作った後、それを元にネットワークゲームに作り変える という流れを考えています。
サーバ側のプログラムは・・・またその都度勉強しようと思ってるんですが・・・
うーんこれは期限に間に合わないかもなぁ・・・
ちなみにOSはXPです。環境はVC++で作ろうかなと。
950 :
945 :2008/05/07(水) 17:58:15 ID:drk/Xp8W
>>946 ありがとうございます。
SDLというのを教えて戴いてwebで検索してみたところ、
他の環境へもポータブルで後々色々と便利そうですね。
これを足掛かりに勉強して行こうと思います。
>>944 CでもC++でもVC++でもいいけど、
ネットワーク関係はWinSockで作るのが基本だと思う。
描画、入力、音声はDirectX。
言語もWinSockもDirectXも全部ただで揃う。
実はDirectXにもネットワーク機能あるけど、PC単体では実行できない。
逆にWinSockなら1PCでサーバーとクライアントを実行できるどころか、
1プログラムでサーバーとクライアント機能を実行する事も可能。
と書いてはみたが、既にwikiスレの存在は知ってたみたいね。無駄レスした。わりぃw
>>947 C/C++で出来るか、じゃなくて
どうやったら表現できるか、という考え方
たとえば
ボタンの入力情報を保存しておけばリプレイ機能は可能だよな?
それをゲームに実装しようとしたら、どこでどのタイミングで入力情報を保存するのか
こんな感じで考えていけば割と簡単にその手の機能は組み込めるはずだぞ
あとその手の知識を本から得ようとするなら、色々と買う事になると思うぞ
例えお勧めでも、書いてある内容が自分の求める物とずれてることもあるからな
自分への投資と割り切るなら書籍に頼るのも有りだろうけど
>>951 レスありがとうございます。
WinSockですか・・・はじめて聞きました。
DirecrtXとC++でゲーム作って、ネットワークのプログラムはWinSockを使う感じでよいのかな・・・
・・・とりあえずググりまくってみます。
>>954 レスありがとうございます。
なるほど。ゴーストはそういう方法でも記録できるんですね・・・
そう考えると、あまり言語うんぬんは深く考えなくてもよさそうですね。
要はやり方の問題か・・・
書籍ですが、「C言語」というような本は必要ないんですが、「ゲームプログラミング入門」のような本は
最低一、二冊は買おうと思っています。
お値段は高いですけど、とりあえず基礎的なことはそれで学ぼうかなと。
>>956 >ゴーストはそういう方法でも記録できるんですね・・・
というかその方法がメジャー。誰もが思いつくような、
録画みたいな真似をする実装をした例は聞いたことがない。
>>957 そうなんですか・・・
やはり経験と知識が全然足りませんね。
いろいろ調べてみます。
気をつける必要があるのは乱数の扱いだな>ゴースト記録 同じシードで同じ箇所で同じ順で使用されるようにしないと結果が変わる
ランダムSEED
俺の場合は、初期化するの忘れてる項目があって そのせいで同じ動きを再現できなかったのに、 それに気づかずずっと悩んでたな。 ゴースト記録じゃなくてリプレイだが、まぁ同じ事だし。
>960は上手いと思ったが、>962は何に掛かってるんだ?
マジレスをしてしまうと、連想で脊髄レスをしただけだと思われます。 記憶に基づく連想の連鎖によって生じた言葉が、 元の言葉と離れていることによって意味の混乱が発生します。 それを面白いと感じるのは、笑いによって思考停止することで、 統一的な意味世界の崩壊を防ぐという防御反応なのです。 このような笑いを好む者は、 意味と言葉の繋がりが強く(=理屈っぽく) 知能の状態が最盛期と比べてやや劣っているという特徴があります。 普段の理屈っぽさが、意味の欠落をより面白いと感じさせ、 中途半端な状態にある知性を補償するために意味欠落の経症的な反復を求めます。 女性に比べて男性がとりわけ駄洒落を好み、 そのうちでも、特に、知能が発展途上の子供と、崩壊途上のオッサンが 駄洒落を好んでたしなむのには、そういう理由があったんですね。 連想による脊髄レスも同様です。 では、次の質問をどうぞ。できればゲーム制作に関する質問で。
そうかなあ 思考停止じゃなくて、逆に無関係なもの同士で新しいリンク作れるってのがいいんでない?
967 :
名前は開発中のものです。 :2008/05/10(土) 16:58:48 ID:QxEYjtUo
質問 用語についてです。 3Dで occlusionとは何? 日本語の訳と意味をおしえて
なぜググろうとしないんだ。 それらしき解説が一番上に出るぞ。
他で聞くわ
こりゃすげえ
こんな馬鹿でも3Dか
これは……本当は質問したいんじゃなくて、 「ググレカス」といわれることに快感を覚えているとか 実は罰ゲームとか、なにか違うタイプの人なんじゃないだろうか? 知りたいだけなら、どう考えても自分で調べたほうがはやいだろ。
RPGを作ってるんですが、戦闘をDQ風かFF風どちらにするか悩んでます。 どちらが簡単に出来ると思いますか?
DQのほうがやること少なくていいと思う
どう考えても作業コストは グラフィック表示 >>> 文字表示。 ちびキャラが剣を振るドット絵をちまちま描くよりも、 「社会人の攻撃!ニートAに16のダメージ!」 と文字で書いた方が確実に早い。
ドット絵>>>3D>>>文字表示
奇麗なエフェクト表示 >>> 画面フラッシュ
DOS画面に文字を出力するのは簡単だけど、DirectXで画面に文字を出力するのは結構大変 と聞きました。同じディスプレイなのに何が違って、何がすごいのかさっぱり分かりません。 どういうことでしょうか?
DOS画面は元々、キャラクター画面という物だった。今はDOS窓で同時に 作業できるが、昔はDOSが全画面で行数と列数が決められ、そこにコンピュータが 知っている文字を配置する仕掛けだった。 コンピュータは文字を表示する事を前提に設計されていて、その機能に 容易にアクセスできるライブラリやシステムコールがあった。 当時にもビットマップを表示する設計のグラフィック画面があったがそこに文字を 表示するのはちょっと面倒だった。 ゲーム中のパラメータなどキャラクター画面に表示すると制約も大きかった。 現在はグラフィック画面を主に使う。文字を表示したければ文字のグラフィックを 作成するしかない。DirectXに関係なく文字を表示するのはDOS窓に比べ大変手 間が掛かる。 DirectXの場合、文字のビットマップを作成し画面上に明示的に配置する。
>>979 ありがとうございます。ついでに質問。Windowsの画面もDirectXの画面とは違うん
ですよね。なんでわざわざ分けてるんでしょう? Windowsも表示の早いDirextXの
画面に表示すればいいと思うんですが。あと、Windowsの中にDirextX用のウィンド
ウを開けますよね、これはいったいどういうしくみなんでしょうか? というかやっぱ
り同じディスプレイなのに分けている意味が分かりません。馬鹿ですみません。。。
>>980 Vistaでは画面全体がDirectXで描かれるようになった
Windowsの画面はGDI(Graphic device interface)というAPI郡を使うのが 建前になってる。 ハードウェアによらないアプリケーションの動作が元々Windowsの売りで GDIを使えば同じアプリがAT-PCでもPC98でも動く。しかし、それでは 遅すぎてゲームや映像ソフトに不向きな為、WinGやDirectXが作られた。 だが、プロセス制御からGDIの方がWindowsの安定に繋がるし昔はDirectXを 使ってバグを出すとハードが損傷する事もあった。 DirectDrawをWindws画面上で使うのは別に特別な事はしていない。ビットマップを ビデオボード上のVRAMに置き、それを画面のある場所にコピーさせる。 コピーするのはグラフィックボードの機能を使うので早い。GDIだとシステムメモリ 上からVRAMにコピーする。 全画面モードだと画面を表示している間にバックサーフェスという所に次の画面を 作っておく。そしてその画面を表示する時はそのバックサーフェスを表示エリアに してしまうので一瞬の内に画面が変化する。これがフリップというものだが、 Windowモードではフリップができない。
>>982 なんかわかったようなわからんような。...つまり、DirectXの場合は、直接VRAMに画くから
早く、Windowsの場合は、システムメモリに描いてVRAMにコピーするから遅いと、そしてその
方がハードに依存せず、動作も安定するからということでしょうか。
まぁなんにしてもとにかくありがとうございました。
Windowsはイベントドリブンと言って、イベントが来たら実行される つまり画面の更新は、内容が変更されましたってイベント(WM_PAINT)で更新される (昔のWinPCなどは、イベント実行がもたついて複数Windowを表示中に画面が更新されず、後ろのWindowが表示されてたりあったでしょ?) DirextXなどのゲームは、ダブルバッファといって画面分の領域を二つもち 片方を表示中に、もう片方に次の画面を作っておき、交互に表示させ常に画面を更新させている WindowsというかOSは、色々な処理をしなければならないので画面に関しては 常に更新だと無駄が多く、昔のマシンパワーだと画面変化がないのに常に更新は もったいない&処理が重たいのでしない訳だ しかしゲームでWindowsと同じ、変化部分だけ更新のイベントドリブンだと 処理が遅く、画面がちらつくのでダブルバッファと言う方法で常に更新させる
DirectXでもイベント駆動はできるし、 WinAPIでも毎フレーム更新は可能。 DirectXとかWinAPIとか関係なく、 更新すべきモノを更新すべき時に更新べき。
>WinAPIでも毎フレーム更新は可能。 毎フレームって? 通常のWinアプリケーションに毎フレームって概念があると思えないけど… ゲームで、WinAPIだけで毎フレーム更新は、 ”ソースがそうなってる気がする”だけで 実際に毎フレーム更新されず、画面がちらつくと思うんだけど… すこしでもWindowプログラムでイベントドリブンを知ってれば ”WinAPIでも毎フレーム更新は可能。” なんて言わないと思うが
そしたら、WinAPIとDirectXの違いはどこにあんのよ?
通常のWinアプリにフレームの概念は無いしフレーム対応するには DirectXが必要だと思うが、メッセージループに処理をはさんでおけば イベント無くても動ける。
ちょっとよくわからないんだが、vistaが画面の描画にDirectXを使っているんなら、 WinAPIはどうなっちまったんだ? DirextXの命令をラップしてんのかな。つぅことは GDI使えば、DirectXを使っていることになるのかな?なんか甘い考えの気もするが。
>>987 お前の頭には柔軟性が足りない。
>>988 一言で言えばハードウェアに期待する事が違う。
>vista おそらくビットマップもVRAMに展開してBitBltなどもグラボのDMAを 使うんだろな。
>>992 だからさ、そうぼやかして逃げるなよ
どうしたら
>WinAPIでも毎フレーム更新は可能。
なのか書いてくれよw
まさか、まともにゲームならない処理をもって”出来る”とか言って、
頭柔らかいとか言い出す気じゃないよね?
ぼかしてるというより質問がダメすぎて答えられないだけじゃまいか? フレームってのがなんなんよからはいらないとだめっぽい 一定周期で画面更新するだけならAPIでもできるが可能だけど実行するのとはまた別の話 ぶっちゃけAPIやDirectXの基礎も知らない人か、知ってるけどもっと深い意味で聞いてるのか判別不能 もし初心なら頭下げて教えてもらうぐらいの価値はある
>qxr3hTC だ・か・ら・言い訳して逃げるなよw 答えろよww
だから ゲームのフレーム毎に >一定周期で画面更新するだけならAPIでもできるが可能だけど実行するのとはまた別の話 WinAPIだけで、毎フレームの画面更新を実行する方法を 人の説明にケチつけて”出来る”と言ったんだから聞いてる >WinAPIでも毎フレーム更新は可能。 >お前の頭には柔軟性が足りない。 >人に噛み付く前に、日本語学ぼうな。
ここは初心者質問だから態度の悪いのと初心じゃないのはおことわりだよ たぶんこれまでの傾向であと1〜2レス同じ態度なら以降スルーorあおりされてまともな答えは来ないけどそのつもりでな そうしたらお互い得るものは何もないね ここでの質問は親切な年長者が善意で答えてくれてるだけで、答える義務はないんだ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。