【初心者】スレを立てる前にココで質問を【Part20】
1 :
名前は開発中のものです。 :
2009/09/29(火) 07:08:29 ID:OO8C9kYO
>1も、スレ立て頼んだ人も乙
>>5 惜しい惜しい。
変数 Size は、関数 CharMove() の引数の名前だからだよ。
168行目の
CharMove( &PlX, &PlY, &PlDownSp, MoveX, MoveY, CHAR_SIZE, &PlJumpFlag ) ;
の第六引数CHAR_SIZEが、Sizeに代入されてる。
ありがとうございました
>6のESP能力に乾杯
9 :
sage :2009/09/30(水) 21:09:31 ID:TbHm+HlR
質問だが 何かもが全プレイヤーに委ねられている「NPC」のないネトゲを作るのって不可能か?
sage間違えスマソ
>>9 セカンドライフは、ある意味その一例じゃないの?
RPGに限るとすると、難しいんじゃないかなあ。 街の人々だけでなく、倒すべきモンスターも存在しないわけだろ? そもそもどこまでがNPCなのか、線引きが難しいかもしれないけど。 コンピュータから見れば、町の人も、モンスターも、それこそダンジョンの仕掛けすら同じだろうし。
一定数の人が集まるのが大前提だわな 人が集まって役割分担が上手くいけば不可能ではない まあ、机上での話だから現実はどうなるか分からんけど
不可能 ゲームは楽しむためにするもので、楽しくないことはだれもしないから 現実世界は対価をもらうために楽しくないお仕事をする人がいることで成り立ってます
みんな造幣局やりたいよね
>>14 ジャンルも不明なのに不可能とはこれいかに
>>14 現実にも自動販売機くらいあるし、ゲーム内なら補充員も電力会社も生産設備も端折れる
>>12 の言うとおりどこまでをNPCとするかによるんじゃないかな
普通モンスターをNPCに含まないだろ 含んだら別のゲームになる まあそういうゲームがあっても面白いかも知れんが そういうわけで上のレス読んだらNPCのないネトゲも理論上は可能ではないかと
大学の演習で何でもいいからゲーム作るってなったんだけど どういうのが初心者にお勧めだろうか? FPSって2Dのシューティングとかに比べて難しい?
>>19 FPSと2DSTGはゴールが明確でないので、
作業量もわからずに「よーし、パパはオトメディウス作っちゃうぞ」なんて言ってエタる。
初心者は絶対に完成しない。
「じゃあママはパロディウス作るわね」とか言って当初の予定よりもグレードダウンしたつもりの奴も必ずエタる。
全然わかってない。
初心者は敵が一体しか出ないインベーダーが限界だから。
そもそも学校の宿題に何時間情熱を注げるんだよpgrみたいな。
そんな情熱あるならもう初心者じゃねえよ。
というわけで、余計な妄想が入りにくい&シンプルなパズル系ゲームがオススメ。テトリスとか。
(ぷよぷよみたいに余計なストーリー演出加えようとした瞬間に全てが破綻するけどな)
シューティングのが簡単じゃないかな
2DSTGは風呂敷さえ広げなければ簡単じゃね?
>>20 週3時間、学校でそれを作るのに使える時間がある
それが8週間くらいかな。
家でも作業できるけど大学内だけで30時間くらい使えると思っていいんだけどさ
C言語の基礎くらいしか分からない初心者で
画面上の弾を打ってこない敵をマウスクリックで倒すだけでもFPSっちゃあFPSだよな。 もぐら叩きと同じだがw
>>24 センスないからキャラデザインだとかそういうのする予定は一切ないんで
やる気なさそうな動物みたいな敵を倒すだけの簡単なやつにしようかと思ってる。
先に動くようにだけして後付けで色々と足していく感じみたいに・・
まあちょっと担当の人にも相談してみるかな・・・
>>18 >普通モンスターをNPCに含まないだろ
そうなの?
自分も、インベーダーゲームくらいを目指した方がいいと思う。
シューティングから離れるなら、倉庫番とかもアリかもしれない。
>>24 もぐら叩きタイプのFPSかー。
うまくやれば、それはそれで面白そうかもしれないな。
(普通のFPSプレイヤーには評判悪いかもしれないけど)
そんなもん作っても評価低そう
FPSっぽい雰囲気を出した、モグラ叩きゲームだな。正確には。
>>19 の人だけど、相談した結果CGとかそういうのをやってないんでFPSは却下で
テトリスみたいな落ちゲーに少し工夫を加えたような物作ることになりました。
それでゲームの土台になるサンプルを探すことになったんですけど、
JAVAで作ってる落ちゲーのサンプルのソースでお勧めはありますか?
内容は2人で対戦できるような物で、
出来れば他PCとIPアドレス渡してネット対戦のようなことができるようにしたいんですが、
そこまでするかどうかまでは分かりません。
(とりあえず動く物を作ったあとに余裕があればアイデアを追加、みたいにする予定なので)
JAVAの落ちゲーサンプルは探せば結構見つかったのですが、
どれを選べばいいかなどが分かる方がいれば従うほうがいいかと思ったので。
ネットでも本でも構わないので何か知っていればお願いします。
あとお勧めのJAVAのゲーム製作技術に関する書籍など紹介してもらえると嬉しいです。
なんかぐちゃぐちゃな日本語で申し訳ない。
2人用とかネット対戦とかは気にしなくていいと思う。 というかしちゃダメだ。 ひたすら消していくモードか、余力があれば消去したライン数が一定数でクリアか。
まずは一人用。それができたら1台で対戦。ネット対戦はそのあとの話だね。
>>23 のスペックで対戦なんて無理無理かたつむり。
初心者じゃ、ブロック落ちてきて消すのだけでも大変だぜ?
0から自分で作った方が早い。流用するにも理解する時間が必要になるだけ。
C言語のコンパイラを手に入れようとしたんだが見つからない。 解説をしているサイトのリンクを辿ってもそれらしい物がないんだが、 最近はどんなコンパイラが簡単に手に入るんだ?
そういや、VisualStudioのExpressとStandardの違いって何?
いや何つ〜か、VC++使う場合のExpressとStanderdの相違点って、特に無し??
>38 みて違いを感じないならないんじゃね?
Expressはリソースエディタが無い。 程度ではないのかな2008は。
mfcがない
>>35 gcc( MinGW使うか、Cygwinに入ってる奴を使うかの二択 )
>>44 VisualStudioというヤツではだめだと?
>>45 VisualStudioを動かせる環境があるならそれでも良いと思うよ。
>>46 PCスペックの問題もあるのか。
一応VisualStudio C++をインストールしたんだがユーザー登録とかで、
英語ばかりのページに飛ばされるとか解説ページと大分違う状態になってしまった。
やはりCOBOLをやった程度の自分では難しいんだろうな。
>>47 gccはもっと難しくなるから、あきらめてVisualStudio使いなよ。
なんだかんだ言ってC/C++でWindows系のゲーム作るなら今はそれしか選択肢が無いと思うよ。
ふと、ツクールシリーズという選択肢を思い出したわけだが・・・
いや、むしろHSPかもしれんな
>>31 >>32 >>33 そうですか、確かにJAVAのサンプルから拡張していっていいって言われたけど
中身の意味を理解するのに時間かかりそうだしな・・・
見て考えます。
シミュレーションやRPGで 経営状況や主人公の内部パラメータと呼ばれる データ群がごっそりあると思いますが, そういったものの管理は 実際のゲーム開発でどういった形でなされるものですか? すべてグローバル変数で持たせる? データクラスを作ってアクセッサで操作を許す (わかりにくかったら,追記します汗
すみませんC++で キャラクターのHPを3桁+小数点第二位 まで扱うのですが、 floatは割算や掛算をすると、誤差で==のif判定が思い通りに行かない場合が有ると聞くのですが、 intで5桁の整数として扱い、表示する時だけ何らかの工夫をすべきでしょうか? それとも気にせず普通にfloatで扱うべきでしょうか? floatは判定に使うには危険なのでしょうか。
floatでもいいと思うけど、判定に使うんだったら 例えば if (f == 5) をしたかったら if ( (f > 4.999) && (f < 5.001) ) するなり工夫すれば大丈夫じゃないかな == だと float型はきっちり5にならない場合がある(5だと思っても5.000001だったりする)から
>>55 なるほど、そういう誤差なのですね。
数値を揃え忘れないよう注意するintか、判定時に常に注意するfloatかという感じですね。
ありがとうございます。
浮動小数点ってできるだけ避けてしまうな まずintで考えて、だめなら固定少数点、どうしても必要な時だけfloat floatってCPUによっては計算結果が変わることもあるらしいから、扱いやすいintをまず考える
そこでfloatにするならdoubleのよーな気がする
>>57 同じく
内部的にint5桁にしておいて、表示は3桁+小数点+2桁にしてしまう、とか・・・。
正直にfloatで持つ必要はないと思うんだ。
でもDirect3Dのインターフェイスがfloatを取るんだよね。 castを濫発するよりもfloatにしたくなる。
ゲームにMP3ファイル使っちゃいけないのですか?
>>61 いけないんじゃなく、ライセンス料払えってだけ
非商用か5000以下の配布なら問題なし、とかじゃなかったけ?
詳細はググって
ogg vorbis
デコーダーを含まないプログラムでライセンス必要? WindowsでMP3のデコーダー持ってて再生してるからMSがライセンス持ってればいいのではないですか? そのページのゲームという項目はゲーム機本体がデコーダー持ってなくてプログラム自体に載せる場合に必要なライセンス料ではないですかね
>>65 MP3固有の契約内容は知らないけど、特許使用料って利用分野を限定することで安く済ませることがあるから
ちゃんと確認取っといたほうがいいよ。
確かGIFの特許問題のときも、WindowsAPIのOleLoadPictureでGIFをデコードするにしても
ユニシスはアプリケーション開発者に個別契約を迫っていたと記憶してる。通ったかどうかは知らん。
全部実行ファイルに埋め込んで隠蔽してしまえばよい
>>65 デコーダを含む含まないじゃなくて、
MP3の技術を使ってエンコードされたコンテンツ(つまり、MP3形式の音楽ファイル)を含むゲームを
ばら撒くのにライセンスが求められる。
…というように読める文章がMP3のサイトにあった。
>9) mp3・mp3PRO・mp3surroundをゲームで使用する場合は、ライセンスを取得する必要がありますか?
>
>はい、mp3・mp3PRO・mp3surroundでエンコードされたゲームコンテンツは、タイトル毎に実施料がかかります。但し、ひとつのゲームタイトルの販売数量が5,000コピー未満の場合は、実施料は発生しません。
http://www.mp3licensing.jp/help/developers.html#9
同人なら気にするまでもない、企業ならMP3以外を検討したほうがいい、くらいか。
あ、販売数量って書いてあるからフリーウェアならいいのか そして4999本限定でシェアウェアの完全版出して、完売したら別タイトルとしてリメイク版であらたに4999本限定(ry
初歩的な質問ですみません。 テキスト形式の設定ファイルを、データ間はコンマで区切り、行はfgets()で改行文字で判別しています。 これをバイナリ形式にする場合 データの区切りや行はどう(何で)表現、判別するのが好ましいのでしょうか? あと、バイナリ形式のメリットとは、テキストで255だと=3バイト、バイナリならば255までは=1バイト という事ですよね? 完全に文字オンリーの場合はバイナリ化してもサイズを小さくする効果は無いと思っているのですが(文字コードですし) これは間違っていないでしょうか?
>>72 テキスト・バイナリってのは解釈の問題で、本質的にはどちらも同じデータの列だよ。
おそらく、データの圧縮を目指しているんだろうけど、
バイナリ化して0〜255まで全部使おうと思った場合、終端子の区別が付かなくなります。
そのため、データの区切りという概念を捨てて、固定長フィールドに読み込んだ方が良いです。
文字列であれば、文字列長+文字列、というデータ形式にしておく。
次に、バイナリ形式のメリットについてですが、文字オンリーのものを圧縮したいと考えた場合は、
素のデータを扱うよりも、zipか何かで圧縮する方法を考えた方がいいです。
>>72 サイズのメリットはあまり意味はないね
今はHDDもメモリも足りなくなることはそうそうないので、考えられるのはHDDへのアクセスラグくらいで、
それもゲーム中に10MBを超えるファイルを頻繁に読んだりするような場合でなければ、バイナリにするサイズのメリットはない
直接的な違いはテキストエディタで閲覧・編集可能かどうかかな
たとえばwidowsのiniファイルはシステムでも使用するが、テキストファイルなのでユーザーでも編集可能
これがバイナリだと見たり編集したりするのはちょっと面倒になる
ゲームの場合は見られたくないデータのときにバイナリ化(加えて暗号化)したりする
他にはメモリイメージを保存したいときなどはバイナリだとそのまま扱えるので使うことも多い(BMP画像とか、クラスのシリアライズなど)
バイナリファイルの場合の区切りの方法は
>>73 も触れてるけど、固定長フォーマットにするか、サイズ+データなどの可変長の方法がある
固定長はファイルの途中からでも読めるのでランダムアクセスに強い半面、プログラムから書き換えを行う場合はファイルへのデータ格納効率が悪くなることがある
逆に可変長だとデータの格納効率がよい半面、シーケンシャルに最初から読まないといけないのでランダムアクセスが必要な場合は向かない
いいとこどりで、可変長フォーマットにインデックスを付けて途中からでも読めるようにする方法もあるが、上の方法に比べ処理が複雑になる
などのそれぞれの特性を考慮してどうやって保存するかを決める
>>73 固定長で扱うのが基本となると・・
細々と色々なデータを並べる場合は、バイナリ形式はかなり手間が増えるんですね。
大きくパターンの有るファイル向きなようですね。
文字群は圧縮形式を利用した方が良いんですね。
ありがとうございます。色々為になりました。
バイナリ形式のほうが何かと楽だと思うんだけど。 通常、構造体に放り込む形になるでしょ。
77 :
名前は開発中のものです。 :2009/10/10(土) 13:38:00 ID:Pkw5pR5D
ちょっと昔を振り返れる豆知識 リセットボタン絡んだ裏技 昔のタミコンゲームなどで、どこかのボタン入力をしながらリセットボタンを押すと 裏技が発動する、などというものがよくあったが、あれはどうやって実現しているのだろうか。 普通に考えればリセットした時点で入力などが失われて何の判定も出来ないように思える。 これは、ソフトウェアリセットだからできるのである。 電源を入れる/切るというのはハードウェアリセットであり、すべてのレジスタ値が初期値に戻る。不定だったり0だったり様々だ。 こういう場合、CPUの前の状態がどうだったかなど覚えておきたくても覚えていられない。 が、リセットボタンによるリセットはソフトウェアリセットであるから、保証されると規定されているレジスタの値は保持される。 そのため、CPUが、「俺はリセットされたのかどうか」を覚えていられるのだ。 だから、リセットボタンを絡ませた裏技が可能だった。 今でもそうした規則は同じなので、やろうと思ったらできないでもないが、 ゲームより先にOSがまず駆動する ものは無理といってよい。 OSがCPUの記憶を抹消する、ますレジスタを全部初期化する というものは不可能だ。
>>76 そうなのですか;
不規則な長さの文字列を区切りの文字なしに見分ける方法が想像できないせいで
そう感じてしまうだけなのですね。失礼しました;
すみません、また初歩的な質問になるのですが、 多重のforそのものを何度も何度も呼び出すような処理が有るのですが for(int i=0; i<100; i++){ for(int j=0; j<100; j++){ 〜処理〜 } for(int j=0; j<50; j++){ 〜処理〜 } for(int j=0; j<200; j++){ 〜処理〜 } } この場合、for内で変数i jを宣言してしまうと 呼び出した回数分無駄にメモリを消費するなんて事は起きるのでしょうか? スコープが外れたら開放されると学んだ気がしてふと不安に・・。 変数i jはforの外で宣言した方が良いのでしょうか?
たいてい使いまわす様にコンパイルされるんで大丈夫
>>80 たいてい・・となると必ずでは無いのですね;
少し不安が残りますが基本は大丈夫なのですね。ありがとうございました。
気になるならあらかじめ宣言しておけばいいだけでしょ? 最もそんな数ステップで済む宣言を気にするよりも 処理全体を見直して数千ステップを減らしたほうが効率いいけどな
>>79 そのくらいのことはここに書き込む手間で調べられるよ
int a=0;
printf("%p ",&a);
for(int i=0;i<2;i++){
for(int j=0;j<2;j++) printf("%p ",&j);
for(int j=0;j<2;j++) printf("%p ",&j);
}
int k=0;
printf("%p ",&k);
結果:
0012FF78 0012FF6C 0012FF6C 0012FF68 0012FF68 0012FF6C 0012FF6C 0012FF68 0012FF68 0012FF74
使いまわされてない。w
ただし一つ上のスコープ抜けるか同スコープ内で繰り返しの同じコードで初期化するときは使いまわしてる。
VC8のコンソールアプリのリリースビルド、最適化無効。
ちなみに、最適化をプログラムサイズ最適に変えても結果は変わらず
>>82 両方の書き方を混在させてしまっていてつい気になって仕方なくなってしまい、すみません。
処理全体の効率化方法・・確かに学ぶすべを探さないとまずい気がしてきています。
>>83-84 コンソールで簡単にアドレスを書き出して確認できるのですね。
今後はそれで確認させて頂こうと思います。確認して頂きありがとうございます。
>>78 ものによるだろうけど、普通ファイル保存時の文字列は固定長にしておく。
いちいち可変長にすると、後ろのデータも平行移動するからめんどいし。
何らかの名前の文字列を保存しておく程度なら64バイト程度の
固定長でもせいぜい数十バイト程度のロスしか出ない。
数百文字の及ぶような文字列なら考えたほうがいいかも知れんが。
>>80 最近のコンパイラは頭がいい。その程度のことならコンパイラに任せればよろしい。
素人が無理に最適化するとかえって遅くなるケースすらある。
そもそもそのくらいのロスなんてカスみたいなもの。
>>86 1バイトのデータが数十並ぶ所と、24バイト必要な文字のデータが数箇所存在する所が有るので
この場合はロスが結構大きくなってしまいそうですが、
固定長で結局ロスが減らせる事の方が多いのですね。
>無理に最適化するとかえって遅くなるケースすら
そういう事も起こりうるんですね。覚えておきます。
ありがとうございました。
そのデータの構成が固定的なら、1バイトのエリアと24バイトのエリアを別に保存すればOK いずれにしても、すべてを同じ固定長で保存したとしても、24 * 数十 Byte = 数KByte の無駄ができるのみで、 今のPCの性能に比較して十分に無視できるレベル
STGで球を撃つための処理を作ったら 0度で弾が→に飛びますが BulletMLを採用している白い弾幕くんだと0度で↑に飛びます。 ・・0度で上に飛ぶようにすべきでしょうか。
BulletMLのサンプルってどれも縦シュー向けっぽいよね。 縦シューなら↑を0度にしても良いかもね。
クラスA,Bが互いに通信する方法はどれがいい? (1)ハンドルを使って互いのアドレスを知る (2)メッセージもどきを作る
>>91 ものすごいケースバイケース。
他にもmediatorパターンとかあるし。
(2)ってどんなのを想定してる?
mediator調べてみた、A,B専用クラスってことか (2)はWin32のメッセージなかんじ、効率が悪くなるオールマイティ
それって、メッセージループやらディスパッチャを用意するってことだよね それは、3行の質問に1レスで応えられるような規模の問題じゃないと思うが。。
>>91 互いに通信した時点で負けだと思う。
どちらか一方通行が設計としては楽。
1フレームあたりの移動量が物体の厚さを超えるとき (速度 / fps = 移動量 > 対象物体の厚さ + 自身の厚さ のとき) 当たり判定されないで通過しますよね?
すり抜けと呼ばれる現象が発生しますね。
内部で2〜3回に分けて当たり判定をするのが楽よ
>>100 レスありがとうございます♥
レスを読む前に「すり抜け」でググったら、数回判定と直線で判定というのが見つかり、
さっきまで直線で判定する方法を考えていました。
しかし、作るのに時間がかかるのと、繰り返しが多くなるのが重なって、ちょっとやる気をなくしていました。
内部で数回判定の方も検討してみます♥
ただ、私は早寝しないと早起きできないのでもう寝るのです。
俺円の軌跡でやってたわ
アクションゲームを作っているのですが、ボスキャラの実装って、どうやるべきなのでしょうか? 一応、次のような事を考えていますが、どれが最善策なのかが分かりません。 ・雑魚キャラとボスキャラを、同じように実装する。 ・雑魚キャラとボスキャラは、別々に実装する。 ・ボスキャラ特製ステージを作って、完全に別個に動かす。
104 :
名前は開発中のものです。 :2009/10/13(火) 20:18:53 ID:dd949xVz
共通動作する部分は共通の処理を使う インターフェースは揃える
>>103 普通の雑魚敵でも、「次のフレームでどういう行動をするか」を問い合わせる処理ってあるじゃない。
基本的には、その中身を変えるだけじゃないのかな。
もちろん、雑魚とボスとで、その関数(メソッド)の中身が、10倍くらい違うかもしれないけどさ。
敵の当たり判定を2か所に分けてそれぞれ違う効果を出したいのですが if (tekix<tamax) && (tekix+15>tamax+4) && (tekiy<tamay+10) && (tekiy+50>tamay){ 効果1 } if (tekix+16<tamax) && (tekix+30>tamax+4) && (tekiy<tamay+10) && (tekiy+50>tamay){ 効果2 } こうしたところ、効果は1も2も出るのですが明らかに当たり判定が小さくなった気がします・・・
特に異常はないようだが‥‥
>>106 x方向の当たり判定の式が怪しいので直してみた
if (tekix<tamax+4) && (tekix+15>tamax) && (tekiy<tamay+10) && (tekiy+50>tamay){
~~ ~
効果1
}
if (tekix+16<tamax+4) && (tekix+30>tamax) && (tekiy<tamay+10) && (tekiy+50>tamay){
~~ ~
効果2
}
>>106 Y軸はかすったときに当たり判定して
X軸は弾全体が敵と重なったときに判定してる。
ここまで書いて
>>108 が正解
ありがとうございますm(_ _)m
C言語やHSPなど様々な言語でゲームが作れますが 細かい部分は違えど当たり判定、フラグ管理等の考え方は共通してる所が多いって考えてもいい?
いい
おK
>>88 かなり遅くなりましたが、ありがとうございました。
115 :
103 :2009/10/15(木) 21:05:26 ID:mXLNxkkI
効果音作るソフトでお勧めってありますか? 周波数いじくる奴で頑張るしかない?
>>116 どんな効果音かしらないが、ものによっちゃ自分で録音するのが一番
無から周波数いじるだけで作るのは無理がある
ストリートファイターみたいなバシッっとかドゴォみたいな音です 録音しかないですかね・・・
フリー素材を使えば良いんでね?ザ・マッチメイカァズさん所とか
声系の素材、もっと使いやすいものが増えてくれればいいのにねー。
フリー素材・・・ちょっと覗いてみます
「セイッ!」とか自分で言ってみれば?
弾が敵に当たると爆発アニメーション アニメーション終了後にまた撃てるようになる仕様にしたつもりなんですが 敵に弾を撃つ→当たったら弾が小爆発→再び撃てるようになる のはずが 敵に弾を(ry→当たったら弾が(ry→再び撃てるけど爆発途中の弾が放たれアニメーション終了後消える といった結果になります・・・ 敵に弾が当たると弾発射判定がオフになり、爆発アニメーション判定オン アニメーション終了後にアニメーション判定がオフ そして弾発射判定、アニメーション判定の両方がオフならば弾が撃てるという条件なので こんなことになる原因がよく分かりません・・・ 弾の座標を爆発用の座標に入れ替えてアニメーションさせています
意味も良く分らないし実際のコードを見てみないことには・・・ 敵に弾が当たってその弾が爆発してる間は弾が撃てないのか? そんなシューティング(or アクション?)聞いたことないけど、まあそれは別にいいんだけど
特殊弾とかでならアリかもしれない。 ともかく、ソース見たいな。
表示しようとしてる弾画像の座標とフラグをfprintfでファイル出力すれば何か分かるんじゃないの
見直したりフラグの状態を表示して検証しましたが解決しませんでした 単純に自分は画面上に一発しか弾が撃てず、画面から消えるか敵に当たればまた撃てるって仕様でした 結構粗のある感じだったので最初からキチンと作り直すことにします 失礼いたしました
そりゃあ、 > 弾の座標を爆発用の座標に入れ替えてアニメーションさせています これが切り替わったままになってるとしか ポインタ使ってて中身が爆発のアニメのものが入ってるとかじゃない?
129 :
名前は開発中のものです。 :2009/10/22(木) 09:51:44 ID:p3M9DvkJ
思想の問題かも知れないけどちょっと質問 シューティングでもアクションでもいいをだが 雑魚AをクラスAとして作る。このクラスはnewする度に画面上に雑魚Aが作成される仕様。 たとえば、クラスAを10回newすれば画面上に10匹の雑魚Aが表示され動き始める。 この時に気になってるのが、画像データとかを読み込むタイミングと場所。 コンストラクト毎に読み込むのは処理とメモリの無駄。 なら、クラス内にstaticの画像クラスとstaticなloadメソッドを用意して、クラスAをnewする前にloadメソッドを呼んで画像クラスを生成するか もしくは、非staticの画像クラスをクラスA内に用意。 クラスAをnewする呼び戻し元の処理で画像クラスを生成してコンストラクトの引数で画像クラスを渡してやるか どっちがいいんだろうか ちなみに言語はc++です。
画像は全部ゲーム起動時に読み込んでおいて敵をnewするときは座標のセットだけしてるな俺は。
newは比較的重い処理(メモリアロケートが)なので、敵の発生のたびにnewするのもあまりよくない
3Dのシューティングゲームを作りたいのですがどの言語を使えばいいのか 何から勉強すればいいのか決めることができず立ち往生している状態です 今できることは3Dのモデリング、モーション、C言語の基礎で 過去にflashでしょぼい2Dのシューティングゲームを作ったことがあります それ以外にゲーム制作経験はありません なるべく書籍がでていて勉強しやすいものから入っていきたいと思っているのですが何が適当でしょうか またHSPが簡単だということで気になっているのですがどうなんでしょうか ご教授よろしくお願いします
どのくらいガチでやる覚悟があるかわからんが まともにやるなら、DirectXとC++が一般的じゃないかな 過去のも合わせると書籍もかなり豊富だし ネット上の情報も沢山あるしね
>>133 ガチで(挫折しない程度に)やりたいです
HSPはやめてDirectXとC++から始めたいと思います
ご助言ありがとうございました
ガチで時間があるならHSPから始めた方がよい その方が挫折しない それ以前の問題で,ガチで調べれば C++&DirectXが一般的なことくらいわかるっていう
>>135 C++とDirectXの本を注文したのですが挫折しそうだったらHSPの本も購入しようと思います
ありがとうございます
137 :
名前は開発中のものです。 :2009/10/24(土) 13:11:10 ID:gJQGPyqe
>136 挫折したなら多分プログラミングの適性ないから他の何をやっても大したことできないだろうから、すっぱり諦めるくらいの覚悟はないとな
いきなりC++&DirectXは初心者には少々荷が重過ぎる。 形になるまでに時間がかかりすぎる。 気合十分なら止めはしないが、C#当たりから入っていくのを薦めるなぁ。 HSPはどんなケースであれ漏れは薦めん。
Cじゃないのか C#のが簡単なのか
C#なんて未来があるんだかないんだか分からない言語はすすめるのはなあ
少なくとも2,3年で廃れるとは考えにくい。<C# 数年も経験つめれば多言語への移行も難なくできるでしょ。 職にするならC++は通らないと駄目だろうけど、趣味だったらねぇ。 C#が廃れるくらいの先の話なら64bitとかクラウドとかいろんな話が出てくるよ。
Cの基礎があるのならDirectXで問題ないだろ
C#を最初にやってしまうと、CやC++、Javaに移るときや覚えるときに不満たらたらになるという難点が。
質問なんですが、ゲームパッドのボタン数やスティックの本数など、 最低限どれぐらいカバーすればいいんでしょうか。 PC用のゲームパッドの場合、右手の親指の4ツ、両人差し指の2ツ、 真ん中の二ツ、左手の十字ボタン、は自由に使っても差し支えない程度には普及してますか。 あと、左右の両スティックも標準的なものと考えていいんでしょうか。 それとも割り当てる機能は、十字ボタンの代替程度にとどめておくべきでしょうか。
初心者がOOPから入って大丈夫なのか?
>>145 例示したパッドが、高機能パッドにしか見えない件。
まあ、最近だとPS2/PS3ちっくなパッドもかなり多いから、それ前提に組むこと自体はそれほど問題ないと思う。
ただし、大多数が持っているか?という質問にはNOじゃないかな。
特にアナログスティックは、古めのものや小型をウリにしているものには付いてない可能性が高い。
それほどPCゲーで遊ばない人は、仮にパッドを持ってても5年前に買ったままでもおかしくないし。
大勢の人に遊んでもらいたいなら、パッドのボタン配置の差(右手親指6ボタンとか)も考えて、
・十字キー
・親指ボタン4つ
・LRボタン1つずつ
くらいが妥協点かも。
正直、ボタン数多くてもゲーム作りにくいと思うんだが、どうだろうか。
あとこれは超個人的な意見だが、 普通の十字キーと左スティックの効果が異なる場合、一旦考え直したほうが良いとは思う。
>145 企画ならまだしも,自分でゲーム作ろうとしてんの? で,そういった質問をすることから察して, ゲーム会社の就職時とかに提出作品にしたいんじゃない? それだったら,そんな高機能なゲームは避けろよ,って話なんだが. デザインデータとか揃えるだけで時間くうし, 会社もそこまで求めてない.夢見すぎだから.
>で,そういった質問をすることから察して, >ゲーム会社の就職時とかに提出作品にしたいんじゃない? どう察すればそうなるんだ
151 :
147 :2009/10/25(日) 10:23:17 ID:fG1Kpsev
>150に同意するw 自分も趣味のゲーム作りで似たようなこと考えたことあるよ。
RTSを作ろうと思い立ったものの、資料の少なささに初っ端からオロオロ してます。ネットでも本でもなんでもいいので参考になる資料とかありますか?
>>145 ゲームパッドのアナログはレバーの形状一つで操作感違うので、
あまりアテにしないほうがいいんじゃね?
あとボタン10個以上の操作法を覚えなきゃいけないのも困ると思うよ。
ゲームのジャンルによるけど、十字キー&ボタン4個(+スタートボタン)くらいで
ゲームクリアできるくらいにしておいて、
残りのボタンやアナログ入力は「使いこなせれば便利」なくらいにしておいたら?
154 :
145 :2009/10/25(日) 17:01:07 ID:2DV6zeAf
たくさんのアドバイスありがとうございました。 皆さんのおっしゃるとおり、シンプルな構成で考えて見ます。
質問です。 私はC、C++歴2ヶ月くらいの初心者なのですが、 ゲーム業界に就職する際、作品提出として出せるレベルのゲームを作るまでにどのくらいの期間が必要でしょうか? とりあえず、『やさしいC』は読み終わっており、 今は『独習C++』『C++の絵本』『ゲームプログラマになる前に覚えておきたい技術』の3冊を同時に読み進めて学習しています。 上記の3冊は全体の6分の1ほどを読み終えた辺りです。 『ゲームプログラマになる前に…』の本は結構難しく感じます。 高卒で専門学校等には通っておらず、独学です。 中学数学は全く問題ありませんが、高校数学は全く知識がない状態です。 このペースでの学習をこのまま続けられると仮定して、 何か月ほどでそのレベルに達することができるか教えてください。 また、この3冊を読み終えた後に読むべき本、とるべき行動など教えていただけるとありがたいです。 曖昧な質問で申し訳ないのですが、よろしくお願い致します。
プログラムの知識より高校数学の知識がないのがマズい気がする
聞くまでもないと思うけど 読んでるだけじゃなくていろいろ弄ってるんだよね?
レスありがとうございます。
>>156 高校数学の教科書は一応持っており、周りに数学・物理を質問できる人がいるので、
勉強する際には問題ないとは思いますが、やっぱり時間はかかりますか?
>>157 弄るというのがどの程度なのかはわかりませんが、本の中で出された問題、課題等はこなしています。
ただ、本を読んでいて経験が圧倒的に足りないというのは感じます。
>>155 IDが格好良いね!
マジレスするとここは業界板でも就職板でもないのでロクなレス付かないです。
この書き込みを含めてwww
というわけで、
> ゲーム業界に就職する際、
> 作品提出として出せるレベルのゲームを作るまでにどのくらいの期間が必要でしょうか?
という質問に答えるのは不可能です。
貴方の能力も、ゲーム会社が要求する能力も判らないですから。
2Dでピコピコ動くものなら、言語が理解できれば、
あとはコピペ改変ででもどうにかなると思う。
本の方はあとDirextXの本でも買って来て、
ザーッと読んで書いてある内容を把握するだけにして、
さっさとDirectXサンプルをコピペ改変して弄り始めたほうがいいと思う。
そうすれば自分自身で目星付けられるんじゃね?
3Dグリグリ動くもの…については、高校数学は必須だけど、
ゲーム専門学校ではそんな高度なカリキュラムは無いというのが通説です。
だから一応下地はある事になるけど、3Dプログラム書きたくてしょうがない。
3D関連知識漁るのが楽しくてしょうがないってレベルでもなければ、
3Dは手を出さないほうがいいと思うよ。
ゲーム会社でもそこらへんは大卒以上あたりがライブラリ作って、
他人は使うだけで手を出さないんじゃないかな?
マスターしてれば評価されるだろうけどね。
独学でどこまで高校数学の知識を得られるかは、 正直そういった経験がないので分かんない。 ゲーム作るなら、三角関数とベクトル、それと多少の物理くらいは把握してないと話にならないかも。 中学でもやってる内容ではあるけれど、それの応用。
162 :
名前は開発中のものです。 :2009/10/26(月) 15:28:37 ID:Xm9ZUOsf
テトリスを最も短時間で作ることができる開発環境はどれですか?
>>162 メモ帳, IE, HTML, Javascript
それこそ「565バイトのテトリス」をコピペしたら一瞬で完成する。
ニコニコで1時間でやってた人はBCCだっけ?
面倒くさいからもう「高卒」は高校数学マスター扱いでいいんじゃねw
>>166 理系出身なら間違ってないはずだ!
…自分の過去は神棚に上げて祀るけど。
>>152 RTSはいろいろなゲームで必要なテクニックを総動員して作
るから、
RTSそのものの作り方って資料は探しにくいかも
RTSに特化したテクニックはGemsにいくつか載ってるよ
>>152 「14歳からはじめるC++わくわくゲームプログラミング教室」って本にちょっとしたRTSの作り方が載ってたぞ
基本的なことしかやってないから、ここから先は自分で考える必要があるわけだが
あの本はプログラムソースにミスが多いからお勧めできん
開発はXNAでしてます シムシティみたいな都市育成ゲームを3Dで作ろうと思っているんですが 3Dでグリッドは描画できるようになったけど 3Dオブジェクトをグリッドに配置する方法がわからない まずグリッドの基準となるタイルを3DCGで作成してから それを元にオブジェクトを作っていくのか これならスケーリングする必要は無さそう? それとも、LineStripなどでグリッド作成して それに合うように3Dオブジェクトをスケーリングしたりしていくのか ここら辺がよくわからないので、アドバイスありましたらお願いします
172 :
名前は開発中のものです。 :2009/10/30(金) 11:52:10 ID:S3yEYDhi
スケールするにもオブジェクト毎にスケール値が違うと参照データが増えるので、基準グリッドを元に作った方がいいと思う この手の仕様的なことに悩んだら他の人がどうだとかより、作ってるゲームでどういうメリット/デメリットがあるかを羅列して自身で判断したほうがいい
複数の敵キャラクタや弾などをどのように管理するか悩んでいます。
ttp://msdn.microsoft.com/ja-jp/academic/cc998623.aspx ここの「2.5 キャラクタ管理」にあるように、十分な数の構造体配列を用意し、
その中の有効/無効を表すbool値でゲーム上での出現/消去を管理する方式は、
感覚的に分かり易く、メモリリークの問題も起こり難そうに思います。
しかし、その他のコードを調査していると、STLのvectorやlist等を使い、
それらに敵や弾のクラスを格納しているケースもありました。
有効/無効の切替については、Active用のvector(list)、非Active用のvector(list)の
二つを用意しておいて、それらの間を移り替わることで対応していました。
(ゲームループではActive用に登録されたクラスのみ動かす)
どちらの方式にするかを考えてるのですが、
各ノードがクラスで構成されている(オブジェクト指向的な組まれ方がされている)場合は後者で、
そうでない場合はどちらでもよくて、統一的いすべて後者にするといった方針もあるかと思っています。
そのほか、複数のキャラクタ管理について気を付けておいたほうが良いことなどがありましたら、
ご教示願います。
ゲームデザインとしては、各キャラクタグループ相互の関わり合いが多いものになる予定です。
(敵キャラ、自キャラ、弾の衝突判定など)
よろしくお願いします。 m(_ _)m
とりあえず全てリスト等で実装する。 それで特に問題になることはないから。
175 :
173 :2009/11/04(水) 23:05:02 ID:WgLSvKP+
intの変数にビット単位で(32個の)フラグを立てる方法があると思うのですが, 32個ブール値を用意するのとの違いはありますか?
intというのは例えばです. ブール値を使う方が短絡な分直感的だし, 別々の変数名を付ける方が分かりやすいように思いました.
ビット単位でフラグを立てる方法の方が、メモリーの節約にはなる。 まあ、メモリーの節約を気にする必然のある環境は少ないけどな。
>>177 まあブールのほうが作法としては行儀がいいと思うね。
あとintでもこんな方法で1ビットずつ変数名は付けられる。
struct
{
unsigned int a_flag:1;
unsigned int b_flag:1;
unsigned int c_flag:1;
unsigned int d_flag:1;
unsigned int e_flag:1;
unsigned int f_flag:1;
・・・
フラグを初期化したいときにintだと楽かな。 でもフラグが32個を超えると管理が煩雑になりがちw
それ1ビットずつか ユニオン使うんじゃないのか
>>178 例えばリプレイを実現する場合なんかは、入力情報をintに変換・復元できる。
キーコンフィグを実装すればキー入力とゲームの応答の間に、なんらかしらの管理機構が挟まるからそこら辺で使えるし。
ただ、まぁ無理して使う必要は無い。ビットフィールドな列挙型も同様。
183 :
名前は開発中のものです。 :2009/11/05(木) 16:28:19 ID:SNIE/4Rt
某所からの転載
>3Dゲームの制作ツール、Unityの下位グレードが無料化。
>PhysXが使えてシェーダーも40種がビルトイン、チュートリアルも完備。
>総売上が10万ドル以上の法人は除く、という条件付だけど
>大半の同人サークルは引っかからないだろうから、
>3Dゲームの頒布を考えているサークルさん、いかがでしょ。
>
>Unity Technologies Launches Version 2.6 of Its Platform and Makes Unity Freely Available
>
ttp://unity3d.com/company/news/unity2.6-press.html すごくよさそうなんですけど、Unityの本スレってありませんか?
チュートリアルも全部英語なので、日本語での情報がすごく少なく困ってます。
184 :
182 :2009/11/06(金) 02:37:08 ID:qMwKFyiY
シビアに高速化をやるときはキャッシュアクセス考慮するのでintに押しこんだりする
intは、整数値を扱うときに、一番最適な値にデータ型を割り振ってくれるわけだしね。 とりあえずメモリロスは起きてもタイムロスは回避できるさ。 そして現代のPCならメモリなんて使い放題に近いさ。
逆だよ キャッシュサイズのこと言ってんだからintでboolの代用すんじゃなくて、intにブール値を詰め込むほうの意味 intにbool詰める・読む際に余計な演算が必要なるが、ここで必要となる論理演算は一般的に高速に処理できる それよりも昨今のCPUのマルチコアの関係もあって、キャッシュミスヒット時のストールで待たされる時間のロスのほうがはるかに大きくなることがある フラグ32個をint32個に入れずに1個のintに入れて処理すれば、キャッシュ内に収まりやすくなるので高速化できることがあるって話
おおお、勉強になる・・・ メモリをふんだんに使えるとはいえ、高速化を目指すときはより小さなサイズにしたほうがイイんだね。
そんな小手先の似非最適化をしたって、全体の速度は誤差程度も変わらないよ。
効果は入れる前にある程度計算可能で効果が出るところに狙って施す 実際にMTフレームワークなんかでもキャッシュサイズを意識した作りをしてるわけだがそれも否定するのか?
虎の威を借りる前に、自分でやってみた結果を提示したらどうだ? これだけパフォーマンスが変わったというのを証明すれば簡単に片がつくだろう。
トラの威を借りるな、おまえの自分の成果をだせ バカですか?
つまり検証も何もしていないというのは理解できたよ。 無いものを無いと証明するのは不可能に近いけど、 ある物をあるというのはそれを見せればいいだけなんだけどね。
あのぉ、素朴な疑問なんだけど、 キャッシュヒット率を上げると速くなる → メインメモリと同じくらいの容量(数百MB)のキャッシュを積めば、 HDDへのページングが起こらないレベルであれば特に最適化しなくても速くなる って理論上は合ってる? 言い換えると、 速い・小要領 <- キャッシュ(SRAM) - メインメモリ(DRAM) - HDD -> 遅い・大容量 これのメインメモリをすっ飛ばした構成 速い・小要領 <- キャッシュ(SRAM) - HDD -> 遅い・大容量 まぁ、そんな量のSRAM積んだら、恐ろしい値段になるだろうけどw
> 無いものを無いと証明するのは不可能
>>187 に速くなる根拠があるんだから、その間違いを示せば証明できる さあばんがれ
なんら反証はなく、自分の経験だけで速くならないって言い張ってるだけじゃないよね?
>>194 それだけ大容量ならキャッシュとしてヒットさせる必要は無くて、高速なメインメモリとして使えばいいので当然速くなるだろうね
SRAMの制限まではよく知らないけど、何億もするコンピュータでも全SRAM構成にしないとこをみると、何制限があってできないのかもしれないね
ただ、上にある話題はキャッシュサイズの話しかないけど、CPUがストールする要因はほかにもたくさんあるので、それらも合わせて何とかしないと効果は薄いかも
>>195 >速くなる根拠がある
これは否定してないよ。
単にフラグをビットで管理したところで、誤差でかき消えてしまう程度しか変わらないといっているんだけど、
ではいったいどの程度のパフォーマンスアップが期待できるというのか明確にしてくれ。
そもそも何を突っ込みたいかというと、最適化云々やCPUの挙動を論じる奴が、 木を見て森を見ず、局所的な部分のみが多少速くなることに悦に入って、 全体でみれば実際は何の役にも立っていないことに気がつかない馬鹿だということ。 ぶっちゃけこれが一番言いたい。
>速くなる根拠がある
>これは否定してないよ。
君が、俺が「何の役にも立っていないことに気がつかない馬鹿」と思うかどうかは、俺にとっては(きっと見てる大部分の人間にとって)どうでもいいことなので、そう思うなら勝手に思ってくれ。
速くなる根拠の部分に何の反証もないなら何の問題もない。
>>187 にもあるが、「高速化できることがある」としか言っていなくて、どんな条件でも速くなるとは言っていない。
特定の条件下でパフォーマンスの改善が期待できるとは間違いなく、MTなどの市販製品でも考慮されていることは
そもそも、intにブールを入れるか、intをブールとして使うかの違いについてのレスとしては183
すいません、途中で送ってしまった。
下3行は書きかけ
>>187 にもあるが、「高速化できることがある」としか言っていなくて、どんな条件でも速くなるとは言っていない。
特定の条件下でパフォーマンスの改善が期待できるとは間違いなく、いろいろな情報からも、MTなどの市販製品でも考慮されていることからも、十分確かと考えていいだろう
そもそも、intにブールを入れるか、intをブールとして使うかの違いについてのレスとしては
>>183 でなんの問題もない。
ハードウェア側のことを考えて 32bitの環境なら32bit型をなるべく使うのは結構重要なことなのに 「役に立ってない」と完全否定できる奴はすごいな
あえてそこまでストイックになる必要がないってだけじゃないの? 少なくともゲーム製作を語る上では。 お互いに相手の言い分もわかってるだろうに、わざわざ議論始めなくてもいいよ。
まあ適材適所で必要なときだけ必要な個所でやればいいと思うよ 最適化ってそういうもんだし なんにしてもしょうもないやり取りでスレ汚してすまんかった
203 :
176 :2009/11/07(土) 23:44:19 ID:Xs7tndnq
レス有難うございました. >179 自分の勉強不足でしょうか... intサイズの変数が並んでいるように思うのですが, 1ビットずつの命名が実現できているのでしょうか? >180 >182 boolで構造体を作って,memset, memcpyで操作するのと 違いが出にくいように思いました. 無理して使う必要はない,と言うことであればそれまでなんですが. >200 個人的にこの言い分がしっくり来ました. 他のいくつかレス頂いた分も,これに終始すると思いますし. また,潜在的な疑問でしたが, 必要な真偽値がきり良く32個になることなんてまずないから, シビアに弄ってる一方で,ビットの未使用分が気になっていたので. 有難うございました.
> >179 > 自分の勉強不足でしょうか... ビットフィールドだからC言語だね。
>204 勉強不足でした...;ありがとうございます.
結局何が聞きたかったのかよくわからない質問だったな
207 :
名前は開発中のものです。 :2009/11/08(日) 10:56:38 ID:3Syd0d+d
ここで激論を戦わしている人達は、アセンブラを知っているの? CPUの汎用メモリは数個程度だから、ある変数をメモリにロードしても、 そのメモリに別の変数がロードされたら、またロードし直さないといけない 結局の所、メモリの使われ方は、アセンブラを見ないとわからんよ マイコンのプログラムなんて1行ずつ、どのメモリを使うか確認しているんだから
DOS時代とかデバイスドライバ、マルチメディア系の最適化ではなく、 マイコンを例に挙げてくるあたり、頭の悪さを露呈しているのがよく分かる。
そういえば、64bitになってから拡張された上位分や、MMXやらSSEで増えたレジスタって汎用には使えないのかな register指定でその辺のも使ってくれれば、結構な数がそろうと思うんだけど Itaniumでも使えばもっとレジスタ使えるんだろうけど、Itaniumマシンはサーバ以外で使われそうにないし
>MMXやらSSEやらで増えたレジスタ 浮動小数点のレジスタをまんま使用してるんじゃなかったっけ?
Itaniumを使わなくても、EM64TやAMD64で汎用レジスタの数が増えているんだが、 いったい何を言ってるんだ? しかも今の時代、コンパイラでregister指定をしても、 逆に無駄が増えるか無視されるかという結果にしかならない。
>>210 ああ、共通で使ってるんだっけ
なんかそんなのを聞いたことがあったのを思い出したよ
>>211 増えた汎用は汎用で使ってくれればそれでいいんだけど、
Itaniumにすれば汎用レジスタがもっとたくさん増えるだろ?
それだけの話だよ
>しかも今の時代、コンパイラでregister指定をしても、
>逆に無駄が増えるか無視されるかという結果にしかならない
これはよく聞く話だけど、実際どうなるかはコンパイラ依存だよね
無視されるならまだいいと思うけど、無駄が増えるって具体的にどんなコードが吐かれるの?
PCをターゲットにするのに今時アセンブラなんてあんまし関係ないと思うが。 キャッシュ操作を命令で出来れば早くなりそうだな。
キャッシュは自前で操作したいよな。つ〜か一体、どんな状態になってるんだか。
どこで質問すればいいのか迷った、 というか所謂初心者なのでどう質問すればいいのか上手く説明できませんが質問させてください。 よくある戦略SRPGで、敵(CPU)の行動でこちらの敵に向かわせる際、 川や山、障害物など通れないマス目を避けて進ませる方法が上手く思いつきません。 さすがに大まかすぎて回答してもらうのは難しそうなので、 そういった、AIというのでしょうか、CPUの行動させかたを上手く解説しているところ、 もしくは参考にできるような題材やリンクはありませんでしょうか?
自分もちょうどそれが気になってたところ・・・
オライリーの「実例で学ぶ ゲームAIプログラミング」という書籍に経路探索が出てたと思う。 とりあえずマンハッタン距離、経路探索くらいのキーワードで調べてみるとか。
10分も経たないうちに回答してくださってびっくらこいた
>>217-218 ザッと見たところ、どちらも参考にできそうな説明がされておりました。
あとは自分で考えて発展させていけばなんとかなりそうです、どうもありがとうございます。
抽象的な概念でいえば、グラフ理論を学べばできるようになると思う。
何だかわからんが、議論の経過は華麗に無視して結論。 ・boolean型のフラグは、byteで持つよりbitで持った方が 全ての面で優れています。bitで持つようにしましょう。 操作が煩雑なら、std::bitsetやboost::dynamic_bitsetを使いましょう。 以上終わり。
>>221 をかいつまんで説明すれば、億万長者が一円玉を拾い上げるのと同じだということ。
腰を曲げるぶんだけ損しているかもしれない。
以上終わり。
全ての面で〜などと簡単に言う人間の言葉は、全ての面で信用ならねぇ
ゲーム製作でお約束の豆知識 何の判定でもいいが、フレーム単位でするのは御法度である。 何らかの理由でフレームとしての描画が遅れると判定も遅れるからである。 普通は、タイムスライスなどの時間判定で行う。 時間なら、描画が行われていなかろうが何だろうが 時間が来れば強制的に判定するからだ。 これは兼ね合いの面も強いのであまり多用すると処理速度に悪影響を与えるが よりクリティカルなところでは時間で判定しないとロクなことにならない。
ttp://www.wacharo.net/Tetris/Tetris.jsp ここを参考にしてJAVAでテトリスを作るんですが、
アプレットではなくてアプリケーションで作成したいと思っています。
ですがアプレットとアプリケーションの互換性などが全く分かりません。
作ってからアプリケーションに簡単に変換することができるんでしょうか。
ためしに上記のサイトのレベル1と書かれてる部分からextends Appletなど抜くと
他も使えなくなる部分が出てくるんですが。
アプリケーションでJARファイルにして実行できるようにしたい場合は
他のサイト参考にしたほうがいいんでしょうか?
見ておいたほういいサイトなどあれば紹介お願いします。
VC++で、directX(dxlib)を使っています リフレッシュレートに左右されぬようFPSを固定する技法を使うと、 等速直線運動しているだけの画像がカクカクとスムーズでない動きをしています 理由は理解しているのですが、明確な解決方法がググってもどこにも載っていません (移動距離をリフレッシュレートによって変更するという技法はありますが、その他全てを変更するのは無理そうです) これはつまり、カクカクなのはしょうがないと言うことなのでしょうか。 東方等大手も仕方が無いこととして適当に諦めてるのでしょうか。 それとも、何か解決法(orマシになる方法)などあるのでしょうか。 (dxlibを使っては不可能なのでしょうか) よろしくお願いします
経過フレーム数ではなくて、経過時間でアニメーションするように変更する。
>>226
>>228 ありがとうございます。
すると、ほとんどのゲームソフトはそういった仕様になっているのでしょうか。
自分はカクカクなのが許せないと言うよりは、大多数の手法と同じ手法を用いたいのですが……。
リフレッシュレートに依存しないとなったら、ほとんどがそうだろ。
231 :
名前は開発中のものです。 :2009/11/10(火) 21:55:03 ID:1FCcgIbf
>>215-220 オライリーの「ゲーム開発者のためのAI入門」とその続編の
「実例で学ぶ ゲームAIプログラミング」
ゲーム・プログラマーで、この2冊を読んでいない人はやばいよ。早く読みな
>>225 アプレットはブラウザの中で実行するから、色々と面倒な設定をしないといけない
それを考えれば、アプリケーションの方がずっと簡単
新たにアプリのプロジェクトを立ち上げて、ソースをコピーすればよい
>>227 正直アプレットとして使う必要が無いので、
アプリケーションでのみの動作を考えたいです。
そしてそのリンクの中身ですら難しいと思えるレベル・・
>>231 それやってみたらpublic void initの中身のsetSizeやらcreatImageやら
よくわからない所がエラーででててMainで未定義です、とエラー文がでます。
initをmainに書き換えても同様のエラーなので構造が分かってないからでしょうか。
丸写しするつもりはないんですが課題の一部なので、
流用する部分が多いかもしれません。
調べてみるとアプレットはinitで定義してアプリはmainという風な理解の仕方と
どこかで見たような気がするんですが。
ocn規制されたのでこの書き込みは代行です。暫く出て来れません。
>>232 これを機にjavaの基本をもう少し抑えといたら?
自分の不足している知識を、すべて質問で補って課題を済まそういうのは、ちょっと無理があるかな
エラー文が出てるなら、そこから調べていけばいいと思うよ
234 :
名前は開発中のものです。 :2009/11/11(水) 15:48:53 ID:/xYUhSYO
>>228 過去のものまで含めて大多数ということならフレーム依存でカクカクは黙認が大多数と思う
ただみんながやってるからという基準での選択は意味がない
何事も自分のスキルとターゲットにするハードウェアのスペックで決めるべき
作ったゲームのテストプレイとか頼むスレってあります?
237 :
235 :2009/11/13(金) 05:33:07 ID:tQmPFAh8
orz
238 :
名前は開発中のものです。 :2009/11/13(金) 17:54:50 ID:fpJGYtuM
すみません テクスチャの作り方についてきいていいですか?
だめです
240 :
名前は開発中のものです。 :2009/11/13(金) 18:26:29 ID:fpJGYtuM
それはペイントソフトの使い方を聞いてんだよな? 使ってるペイントソフトのスレを見つけて聞いた方がいい答えが返ると思うよ
242 :
名前は開発中のものです。 :2009/11/13(金) 19:22:26 ID:fpJGYtuM
>>241 そうです
フォトショスレですね
すいません
3Dゲーム製作をしようと思って入門書を調べてみたのですが DirextXプログラミングという本もあれば XNAゲームプログラミングという本もあって混乱してしまいました。 調べてみたところ、XNAもDirectXを利用しているようなのですが この2つは具体的にどう違うのでしょうか?
DirectXのラッピングライブラリじゃねえの
XNAはC#ベースでPCだけでなくXBOX360でも動く。つか360用の開発環境をPCで用意できる。 DirrctXはC++で、主にPC上で動く。 で、いいのかな?賢者頼むw
もっと正確に言えば、単なるフレームワークである。 だから、移植すればPS3でも動く。 .NET製なので、移植もそんなに大変な作業にはならない。 が、誰がやるのかといえば誰もやらない。
質問内容と違うが、C#かC・C++の入門書が先じゃないかい
まて、落ち着けw 今まで3D以外やってきて、3Dに入門する可能性が残されてる。 つかイチイチ言語初心者の相手なんてしてられねーっつーのwww!
使ってるレタッチソフト次第だと思うけど 元の素材(写真)の出来次第じゃ投げ縄ツールのがマシだったりするし 白黒マスクで抜くのか8bitアルファャンネルで抜くのかにもよるけど 綺麗に作ろうとすると手作業のゴミ取りとか描き足しはどうしても 避けられないと思う 良い素材がないときは結局手描きが一番早いとかいうことも多々ある
>>244-248 ありがとうございます
今のところXbox/PS3上での動作に興味はないので、
XNAではなくDirectXを学んでみようと思います。
C#やC++は少し触ったことがあるので、そちらも学び学び・・・
また、「DirectX」って言うのはやめたほうがよい。 DirectXはAPIの集まりに対する呼称であって、APIではないからだ。 例えば、3D描画用のライブラリ群は「Direct3D」だし ゲームパッドの入力などに対するライブラリ群は「Direct Input」 他にも「DirectDraw」などあるから、単にDirectXではどれを指しているか分からないし これら全部違うのでアドバイスも異なる。
いまどき DirectDraw はないだろ…。 技術が周回遅れのオジサンがエラそうにアドバイスするカオス空間ですね。
ゲーム作りたいだけならXNA一択だろ。 DxLibとか使うにしても、XNAでやる方が7倍は楽。
未だにDirectDrawですが何か?多関節の勉強をやってる最中ですが何か? つ〜か、多関節がまともに扱えないうちからいきなり3Dに入っても、 まともなモノが仕上がるとは到底思えないんだが。
DirectDrawは映像分野でも現役なのだが。
今からやる奴に「DirectDraw」なんて言ってもピンと来ないだろうね。 どうせなら初心者向けに話そうよ。
なんで多間接にそのような怖れを感じているのかわからない。
現実問題として、多関節すらまともに扱えて無いゲームの方が多い気がするんだが?
具体的には? 多いと言うからには、まずはそれなりの数を挙げてくれ。
DirectXって言ってもいろいろあるしー 何がしたいの?ポリゴン動かしたいの? だったらDirectXより、3Dの基礎とか、六角大王とかBlenderの方が先じゃね? 場合によっちゃHSPでDirectX通してポリゴン表示できるよ。
>>260 お前は今までに遊んだクソゲーの事をまともに覚えているのか?
そんな余計なことに脳みその領域を使うぐらいなら、
もっと有意義な事に使った方がよっぽどかしこいと思うのだが?
いいわけが酷いな。 多い気がするだけで、まったく一つも思い浮かばなかったと言うことだね。 どれだけ頭が悪ければ気が済むんだろう?
多関節の扱いがナニなゲームが多数あろうが無かろうが、DirectDrawが現役かどうかには何の関係もないだろうが バカじゃないの?
「DirectDrawという呼び方がバリバリ現役だったころ、多間接で挫折し、今はこのスレで管を巻いてる」 まで読んだ。
DirectX8時代にDirectDrawとDirect3Dが統合されてDirectGraphicsになったことだけは覚えてる。
というか、いまどきは2DやるのもD3Dでやるんだと思ってたんだけど違うの? わざわざDirectX7や8で初期化してDDraw? 今のVGAはポリゴンあほほど書けるんだからその方がパフォーマンス出る気がするんだけど
>>266 DirectX9実践プログラミングという本を読んだ所、
何故かDirectGraphicsの事ではなく、
Direct3Dの事が書かれていたわけだが・・・
最先端技術おいとくね( ゚∀゚)つDirect2D
1文字の幅が固定じゃないフォント(画像に描かれている) って、どうやって描画すればいいんでしょうか? 画像を切り取る領域の計算が、固定幅の素材のように簡単には出来ません。 PictBearで各文字の左上の座標を確認し、 文字と画像の切り取る領域の対応を ソースコード上でハッシュテーブルに登録するということをしていますが、面倒すぎです・・。 (せめて、クリックした座標を自動的に記録とかしてくれるソフトがあれば・・) もっと賢い方法があったら教えてください。
>>272 環境を詳しく書かないとアドバイスできない
WindowsのGDIやDrawTextならDT_CALCRECTを指定して、 矩形領域を取得する事ができる(描画はしない)
GetTextExtentPointAを使えば良いんでね?よく分からんけど
GetTextExtentPoint32の方が良かったみたいだな。まあ、無意味かもしれんけど。
277 :
272 :2009/11/15(日) 00:36:15 ID:Y6Pdnqzm
>>273-276 OpenGLでテクスチャに描かれたフォント(ABCDEFG...という風に並んでいる)
を描画しようとしています。だからWin32APIは関係ないんです
お前らよく読め。クリックしてってあるだろ
つまり、たくさん時の書いた一枚の絵がすでにあって、切り出し座標が分からないから、
その座標を目で確認しながらリストを作りたいんだけど、簡単な方法ないかってことじゃないのか?
>>276 OpenGLでゲーム作ること考えたら、マウスのクリックした座標を記録していくプログラムなんて簡単だと思うが
そのクリックってPictBear立ち上げて文字の隅をクリックして、サイズを割り出してるんだろ? 真剣に人にお勧めする方法じゃないと思うが…
ゲームミュージック関連のすれってありますかね 作曲とか
>>271 上のほうで
"DirectGraphics"とかX抜きで言っちゃってる馬鹿たちは、
そのあたり勘違いしているんだよね。
DirectX Graphicsは、単なる一分野ではない。
DirectMusic+DirectSoundの DirectX Audioは、いつの間にか無かったことにされている悲しみ。
おっとDirectPlayの悪口はそこまでだ
ワロタw
プログラムを書き直しても前回ビルドしたものがそのまま起動されてしまうらしい症状が出て困っています すみませんが超初心者のトラブルを助けてください 14歳からはじめるC言語ゲームプログラミングを買ってそれに従って Express 2008 にDXライブラリーを組み込んで使い始めました(Vista 64bit) まず以下のプログラムを書いてデバッグ開始すると黒いウィンドウが現れ その左上に水色の正方形があらわれました #include "DxLib.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR IpC, int nC){ ChangeWindowMode(TRUE); if( DxLib_Init() == -1 ) return -1; DrawBox(0, 0, 120, 120, 65535, TRUE ); WaitKey(); DxLib_End(); return 0; } ここまでは良かったのですがそのあとプログラムのDrawBoxのパラメーターを 書き換えて再びデバッグ開始してもその変更が反映されず 最初に作ったのと同じウィンドウが再び現れるのです プログラムが書き換えられたことを認識してそれに応じたウィンドウを出すために なにが足りないのでしょうか DXスレで質問したところ ・セーブしてない (ただし .cppを保存しても症状は改善しませんでした) ・何らかの原因でセーブできてない ・エラーが出ていて前回ビルドしたものをそのまま起動している という返答があり、Dxライブラリとは関係ないと思われる話らしいのでこちらでお聞きさせていただきました
DrawBox(0, 0, 120, 120, 65535, TRUE ); って水色指定してるの? あと > DXスレで質問したところ その時の回答に応じて君は何をしたの? レス貰ってもリアクションしないなら質問する意味ないだろ。
実行ファイルの更新日時はビルドした時の時間になってる?
>>288 ありがとうございます
>水色指定
本のとおりにやって本にも水色と書いてあります
多分 65535というのがそれの指定ではないかと
>何をした
上にあるように.cppの保存をしてみましたがだめでした
あとあらわれたウィンドウを消すと
出力元の表示 デバッグ
Alloc memory dump Total size:0(0.000kb) Alloc num:0
スレッド 'Win32 スレッド' (0xc5c) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0xa3c) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0x9b4) はコード 0 (0x0) で終了しました。
プログラム '[448] chap3b.exe: ネイティブ' はコード 0 (0x0) で終了しました。
という表示が現れることがわかりましたがこれが関係しているかどうかは
ググってもわかりませんでした
いずれにせよDXスレでお礼をしたあとこちらに誘導されてきた状況です
>>289 ありがとうございます
○○.exeのData modified は今から一時間以上前です
その後何度もデバッグを試みています
ビルドが成功してないんじゃないの? ビルドの結果はどう出力されてるの?
>>291 ありがとうございます
ビルト
========== ビルド: 0 正常終了、0 失敗、1 更新不要、0 スキップ ==========
リビルト
1>chap3b - エラー 0、警告 0
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
こんな感じです
どう変更したの?
OpenGLだと、あくまで比率であって絶対値で表された大きさではないので ウィンドウサイズが同じである限り同じ大きさになるということはある。 DirectDrawは知らん
>>293 DrawBox(0, 0, 120, 120, 65535, TRUE );の数字を
色々変えてみました
たとえばDrawBoxx(0, 0, 10, 10, 65535, TRUE );みたいにです
それから
#include<stdio.h>
int main(void) {
printf("Hello");
}
みたいにすべてを書き換えても反応なしでもとのウィンドウがでるばかりです
>>287 ビルドの出力先と実行パスは別々に指定できるはずだから、
同じになっているかどうか確かめてみるとか
実行してるものが違うとしか思えんな デバッグビルドしてリリースのほう実行してるとかない?
IDEの仕様で、いったんプロジェクトをクリーンにしないと別なモンができない、ということもある コンパイル時のオブジェクトがそのまま残って でもそれはデキの悪いIDEか、設定を間違えているかだ
一旦環境を全部削除して0からやり直すのだ
>>299 2012年12月に現行の歴史が閉じるそうだから、あと3年ちょっと待ってみるとか
ありがとうございます
>>297 ビルドの出力先と実行パスは別々に指定
ちょっと意味がよくわかりませんでした
>>298 リリースのほう実行
そうかもしれませんがそれの確認の仕方が今のところわかりません
>>296 >>299 多分どこかの設定が間違えているのだと思います
新たにプロジェクトを作り直してやってみます
あ
新たに作り直したらできました
変更もちゃんとしてくれました
理由はわかりませんが解決かな
プロジェクトのある場所を検索して exeファイルが2つ以上ないか調べてみて。 ……って、もう解決したならいいや
>>302 ありがとうございます
chap3b.exeというexeファイル以外に
chap3b.exe.embed.manifest
chap3b.exe.embed.manifest.res
chap3b.exe.intermediate.manifest
の三つのファイルがありました
ただそれは新しく作ってうまくいったファイルにもありますので
関係があるかどうか
exeはリリースはreleaseフォルダの下、デバッグはdebugフォルダの下にできる。 exeを直接実行してたなら、どっちのフォルダかを確認 ビルドの設定はソリューション構成がreleaseかdebugになってるかで確認 まあ、本人がそれで解決でいいんなら、別にいいと思うけど 俺なら徹底的に理由を見つけるけどね 今後のこともあるからね またなったらやでしょ
ひとつのソリューションに複数のプロジェクト突っ込んで、スタート位置変えてないオチ?
仕事でよくある間違いとしては、エントリポイント変わってないってのは相当にあるな 前に作ったものは、アドレスA1000000から始まるが 仕様変更されてB1000000になったとする これをそのまま実行するとハードウェアの都合上、A1000000から始まってしまう なんてことが、気をつけないとしょっちゅう起こる。 ちゃんとエントリポイントから始めないと
>>304 もちろん原因がわかればうれしいです
exeファイルはDebugフォルダ内にあります
releaseフォルダは存在しませんでした
ビルドの設定がソリューション構成がreleaseかdebugかは確認する方法が
よくわかりませんでした
>>305 スタート位置の意味が良くわかりませんでした
他の.cppファイルをExpressで開いてテキストをコピーペーストしましたが
そういうのが良くないのでしょうか
>>306 エントリポイントってのはスタート位置のことですね
耳慣れない言葉なので調べてみます
エントリポイントについては、OSを介したプログラムの場合 気にしないでいい フラッシュメモリやEEPROMなどのデバイスに書き込んで使うプログラムで主に問題になるものだから
ただし、IDE側で設定できる場合でIDEから実行する場合は見直したほうがいいな
releaseフォルダが存在しないなら、いままでreleaseではビルドされてないってことだから、 releaseかdebugの違いの可能性は無いので忘れて
>>290 普通にリビルドすれば直るんじゃない?
多分前のバイナリが残ってるだけだと思う
一回ソリューションが入ってるフォルダの中の
debugってフォルダと
.suo
.user
.ncb
って拡張子がついてるファイル3つをゴミ箱に送って
ビルド→ソリューションのリビルドで動くよ。
なんかあった時用にバッチファイルで作っとくと楽
スレチだったらすまん コンフィグ画面、メイン画面のメッセージ枠をキレイに作りたいんだが、デザインセンス皆無(と力不足)のため そっけない感じしか出来ない… お手本にするようなサイトや本って無いかな? それともゲーム落としまくって参考にしたほうがいいかな…
そっけなくても問題ないと思うよ?
>>312 実際の画面の配色を見てみないとどんなデザインが合うか検討つかないけど、
結構本気そうだし、アマチュアでも良かったらそのゲームに合いそうなデザインorその助言をしようか?
さすがにここではスレ違いだし、名前の所にアドレスを貼ってみた。
良ければどうぞ。
これは突っ込んだら負けなのかw
317 :
名前は開発中のものです。 :2009/11/17(火) 15:55:17 ID:hWpW9Zgb
メッセージ枠ってなに? ただの四角を綺麗にするの? ツル科の植物をてきとうに絡ませるような感じでおk?
「ツル科」などという分類に入る植物は存在しない。 適当なことを言うな低学歴。
ただのコミュ障害か、ネタなんで気にしないでください。
>>318 みたいなスルー出来ない奴ってなんなの?
「ツル科」などいう分類はない -> パースエラー -> 理解不能 -> 野暮なツッコミ
こういう流れだとしたら、脳の性能が悪いからかな?
「ツル科」などいう分類はない -> ツッコミどころ発見! -> 野暮なツッコミ
こっちだとしても、頭悪いね
一行目とそれ以降に矛盾を感じる
>>321 と思いがちだけど、別に矛盾はないよね
何でもかんでもスルーしろとは言ってない
>>318 やお前のようなクソなレスを馬鹿にする分には
そりゃ個人の勝手でどうぞ
以上、僕と
>>322 の共同のネタでした
お騒がせしました
324 :
314 :2009/11/19(木) 05:35:34 ID:aOkcC/Yj
>>312 マトモにレスが付いてないし、釣りじゃなかったんだが反応の方も無いので一応。
メッセージ枠として無難なデザインに過ぎないけど、
背景を透明度の有る黒 枠は不透明に近い好みの1色 文字は不透明な好みの1色
使う色はなるべく黒・白を基本にもう1色などと少ない方が勝手に見栄えが安定する。
色は勘で作らずカラーパレットでググって、サンプルを見ながら色調を揃えるなど計画的に使う。
それでそっけなくて満足出来ないならば、どこか1辺だけ枠を無くしたり色味や形を変える。
右上だけに角取りをするorワンポイントを置いたりする。枠の一部をわざと少しだけ突き出す。など。
どんなゲームなのか解らんからよく使われがちなデザインでの話。で、現状に不満を持てるならセンスは磨けるはず。
諦めずにAmazonとかで本買って来て見よう見まねで手を動かせば誰でも成長はする。がんが。
半透明の青(#4040ffくらいの)を使ったらそれだけでSFC時代の雰囲気になって、そのワクもない単なる青い四角で満足してしまったことがある
326 :
312 :2009/11/19(木) 22:27:14 ID:7rUNhOL9
>>324 とりあえずベース黒(すこし透明)に枠は白(不透明)で文字は白と黒の袋文字とかはやってます
基本読みやすさ重視だけれども、それだとそっけないなーと思ってたので…
色とか勘で決めてたので、今度から色調揃えてみるわ
とりあえず、本漁ったり他ゲーム見て勉強したりしてがんがってみる
レスありがとうー
自分ひとりの力でSRPGを作りたくて今いろいろ調べてるんですけど、どうやらHSPといった言語で作るのがよさげ?なんでしょうか 自分は情報系の大学2年で言語はC++を一通り習った所で、できればC++を使って作ってみたいと思ってます 何かちょうど良い解説書とかないでしょうか? 坂本千尋著のロールプレイングゲームプログラミングといった本が良いらしいのですが今は絶版になっているみたいで手に入らなそうなので・・・ もしくはHSPとやらを学んで作ったほうが楽だったりしますか?
「S」は知らんけど、RPGツクールでも使ったら? 情報系の学生ならHSPの長所短所ぐらいは自分で評価しなさい。
HSPはまったくプログラム知らない初心者用のプログラム入門用言語だと思ったほうがいい C++使えるならそっちでいいと思うよ
14歳はどうよ
332 :
327 :2009/11/22(日) 23:19:12 ID:MB5dnDgT
レスありがとうございます
>>328 >>329 ツクール系のものも考えてみたのですが、今回はプログラミングを使用してゲームを作りたいと考えてます
実際に使ったことはないのですが、どうやらプログラミング的な要素は無いように思えます
もしかしたらプログラミング的な要素がないという時点で自分は勘違いをしているのかもしれませんが・・・
HSPについては、すいません、自分で調べてみることにします
>>330 申し訳ありません、ソフトを作るといった時点で自分はまったくの初心者なんです
先にこのことを書いておくべきでした・・・
C++で作成できるという情報はありがたいのですが、まっさらな状態から何かソフトを設計するといった行為すら初めてなものでして・・・
こんな状態でもなにかしら自分の思いつく限りでソースを書き、試行錯誤していくべきなのでしょうか
>>331 14歳、というのは「14歳からはじめるC++わくわくゲームプログラミング教室」のことでしょうか
調べてみたところ、すぐにSRPGに繋がるものではなさそうですがC++でのゲーム設計の基礎が学べるようで、すごく気になりました
書店で探してみようと思います、有益な情報ありがとうございます
ソース書く前に企画書・仕様書書いたほうがいいと思うよ
とりあえずゲームを作り始める前にウィンドウの表示のさせ方を調べることからはじめたほうがいいよ
ああ14歳はSPRGの作り方が載ってると思ったから言ったけどあれはRTSだったかすまそ まあ参考にはなるかも知れんが
336 :
名前は開発中のものです。 :2009/11/24(火) 03:52:16 ID:ACaH6Yw9
C++できるならSDL使えばすぐ出来るよ
SDLのが簡単なのか 俺はDXLIBの方選んだが
SDLはdirectx使ってないから遅い
そんなに重いの?俺はDirectX使った自前ライブラリだから関係ないけど。
340 :
名前は開発中のものです。 :2009/11/24(火) 13:18:10 ID:5CvqamB+
PS3対応実写系3DCGってなに?
342 :
340 :2009/11/24(火) 17:15:50 ID:5CvqamB+
・1つのオブジェクトをスキャンするのに、あっちこっちに移動して、いろんな角度から取らないといけない ・木や草など風で揺れるものはスキャンできない ・ゲームには実際に存在しないオブジェクトが、たいていの場合登場する ・高いクオリティとはポリゴンの微細さのみによるものではない
バカっぽい質問に目頭が熱くなった これからも頑張ってほしい
初めてboost::shared_ptrを使おうとしたんですが、エラーが出てしまいました。 以下のような使い方はできないみたいです。 boost::shared_ptr<IDirect3D9> m_pD3D; m_pD3D = Direct3DCreate9( D3D_SDK_VERSION ); たしかに普通にnewして入れるやり方と違いますし・・・ この場合、どのようにすればよいでしょうか??
sptr.reset(rawptr)
ブーストポインタって名前は無駄にかっこいいと思う
349 :
346 :2009/11/24(火) 22:48:41 ID:O7akk6aZ
>>347 ありがとうございます!
m_pD3D.reset( Direct3DCreate9( D3D_SDK_VERSION ) );
でエラーが出なくなりました!
しかし!今度は、上記で得たm_pD3DからIDirect3DDevice9を取得する関数がうまくいきません(涙)
SPtr<IDirect3DDevice9> m_pD3DDev;
m_pD3D->CreateDevice(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING,
&m_D3DPP, &m_pD3DDev );
生ポインタを取り出せばよいかも、と思って、最後の引数を以下のようにしてみましたが、
&( m_pD3DDev.get() )
「'&' に左辺値がありません。」と怒られてしまいました・・・。
どのように与えればよいのでしょうか??
350 :
346 :2009/11/24(火) 22:53:29 ID:O7akk6aZ
↑すみません、SPtrというのは自分で以下のように定義したものです。 #define SPtr boost::shared_ptr
普通のポインタで取得してから、スマートポインタに渡す。
352 :
346 :2009/11/24(火) 23:45:30 ID:O7akk6aZ
>>351 ありがとうございます!
コンパイルが通るようになりました!
しかし!終了時に以下のようなエラーが出てしまいます・・・ orz
Debug Assertion Failed!
Program: xxx.exe(プログラムのパス)
File: dbgdel.cpp
Line: 52
Expression: _BLOCK_TYPE_IS_VALID( pHead->nBlockUse )
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
どうも、m_pD3D.reset( Direct3DCreate9( D3D_SDK_VERSION ) )がマズいようなんです。
そこの記述以外、コメントアウトして確認しました。
どうも、上記のエラーは多重deleteで起こる例があるようなんですが・・・
DirectX系の変数にshared_ptrはけっこう厄介でしょうか?
素直にSAFE_DELETEマクロで対応しておくか、それともCComPtrにするか・・・
他の方はどうされているか、気になります。
IUnknownオブジェクトはdeleteせずに、Releaseメソッドを呼ぶ。
というハンドラをセットすればいいだけ。
いやいや普通boost::intrusive_ptrか com_ptr_t使うでしょ 地味な嫌がらせすんなよ
356 :
346 :2009/11/25(水) 00:45:40 ID:b8pKhHr5
>>353 教えてくださってありがとうございます!
>>355 boost::intrusive_ptrやcom_ptr_tなんてものがあったんですね!
教えてくださってありがとうございます!
357 :
346 :2009/11/25(水) 19:33:56 ID:b8pKhHr5
先日はスマートポインタについて教えてくださって、ありがとうございました。 今日、早速、_com_ptr_tを導入してみたのですが、疑問があります。 _com_ptr_t<_com_IIID<IDirect3D9, &IID_IDirect3D9 >> m_pD3D; で、実際にDirect3D9オブジェクトを取得するとき、 m_pD3D = Direct3DCreate9( D3D_SDK_VERSION ); でも、エラーやメモリリークの警告なく動きましたが、以下のようにAttachメソッドを使って、 m_pD3D.Attach( Direct3DCreate9( D3D_SDK_VERSION ) ); としても同様でした。 これってどちらでも同じということですか?? だとすると、Attachの存在意義というのは何なんでしょう??
人に頼むときは銭を出せ
360 :
名前は開発中のものです。 :2009/11/26(木) 01:14:35 ID:O1ccXkKB
スーパーマリオ系の2Dアクションを想定。 プレイヤーキャラとして、32x32のドット絵があるんだけど、これを2倍に拡大して、64x64として表示させてるんだ。 本当は64x64のドット絵を用意できればいいんだけど、自分の技術力が追い付かないので苦肉の策。 さて、この時、プレイヤーキャラ以外の部分、 例えばマップチップなんかも同じように2倍表示させないと違和感が残っちゃうかな?
なんだか最近質問が増え始めた? 往年の過疎板に人が増えてるのかな
おっとスマン回答忘れたw
>>360 全部二倍にするって事?
もちろんそんな事する奴いないから経験談に基づく回答は期待できないと思うよ。
で想像するにマップチップを二倍にしようがしまいが、どっちもどっち。
キャラだけ2倍ならすぐばれる。
全部2倍ならしばらくはばれないが、違和感を感じさせるだろうね。
でもゆくゆくはちゃんとした64x64でキャラを用意するなら、
下手にマップチップ2倍にしないほうが良いと思うよ。
じゃないとマップチップを元の倍率に戻すときに、全部敷きなおすハメになる。
windows標準添付のペイントを使って画像の拡大縮小をすると補完処理されてドット絵が汚くなる
ググレばサイズ変更のアプリくらい見つかるっしょ
>>363 とりあえず、バレるとかバレないとかは問題じゃないです。
そういう意味での違和感という意味でもなかったつもりです。
レトロ感を出すために、わざとドットを荒くしてるゲームは見かけるのですが
僕が考えていた方法とは全く違う手法で実現されているということですね。
ありがとうございました。
> とりあえず、バレるとかバレないとかは問題じゃないです。 > そういう意味での違和感という意味でもなかったつもりです。 だったら質問の仕方がおかしい。質問スレに来る以前の問題だ。
解像度の異なる画像を同時に表示するって話じゃねの? 演出とか、あとはボスキャラなんかだと拡大表示してるのは見たことある
話を極端にしてみて、たとえば、今のゲームレベルの高精細のきれいな背景に32x32のドット絵を 4倍くらいに拡大して表示するとする。それがレトロっぽいかというとそうは思えないだろうね つまり解像度の違うものを一緒に表示することそのものはレトロぽさの表現方法にはなりえないんじゃないか? レトロゲーム=レトロなハードで動くものだから、低解像度、少色数、PSG・FM音源など、を感じさせれば レトロな雰囲気にはなるとは思うが
マリオ・ロックマン系アクションゲームで、斜めの床を作りたい場合ってどうすればいい? 考えうる二つの手法は 1. 一定ドット以内なら段差を上れるように+細長い床を沢山置く 2. 「床パーツ」を作り、独自の動作をさせる とかなんだけど、何か他にいい方法あるかしら
斜めの床の移動って地味に難しいよな。左右移動中に自動でY座標操作しないといかんしね。斜めの部分と水平の部分の境目をなめらかにつながないといかんしね。
ダッシュすると床から浮く事すらもあるしな。 スーパーマリオ3辺りではどうやって実装してんのやら。 やっぱ、斜めに走らせているのかね?
斜めに走らせると、今度は斜めの部分と水平の部分の境目で、どう動かすかが問題になると。 やっぱ、縦と横とで別々に判定するのかね?
良くある手法だけど、当たり判定のレイヤーを作って キャラから下方向へレイを飛ばして地面高さを検出する。 レイの位置で、傾斜具合と段差具合を感知できる
>>370 マリオやロックマンを参考にデザインするなら2番がいいと思うよ
ただ斜めになっただけであれば直線であれば判定は難しくない希ガス 簡単な計算で済みそうだけど
坂に向かって、こういう風に移動した場合 / ̄ ̄ 人→ /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ 横キーを押したまま →人 人/ ̄ ̄ ̄ 人→ /  ̄ ̄ ̄ ̄ ̄ ̄ 坂を登らなきゃならないのよね。
俺だったら /| | ̄ ̄ / | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | | 1 | |2 | | 3 の3つのパートに分けて考えるかな キャラの右端が1→2のパートに掛ったら キャラの位置の地面のY軸計算したりしてやったりしたらいいんじゃないの
1→2で右に向かうとき移動速度下げて、3についたら元に戻す 逆に3→2で左に向かうなら移動速度上げる Y軸は2上にいるときはX軸から常に計算する あとは2上でジャンプしたときのことも考えないといけないし、色々めんどくさいよな
地面上の移動速度同じにするなら2の所では ─÷/分掛ければいいだろうね この45度の場合は1/√2を 別の角度の時も同様にして
>>357 operator=()はAddRef()を実行する。
Attach()は実行しない。
>m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );
これだと、Direct3DCreate9()から返った時点で参照カウント=1、
m_pD3Dに代入した時点で+1、つまりリークしている可能性がある。
>m_pD3D.Attach( Direct3DCreate9( D3D_SDK_VERSION ) );
これは、Attach()後、参照カウント=1で正しい値だ。
Attach()は既に生成されているCOMポインタを、
スマートポインタに入れる際用いる。
斜面移動中に”落下状態”に遷移しちゃいけないって問題もあるね
それもあるな、むずいぬ 細長いブロック重ねると汎用性はあるけどそれに対処できないっぽいし 斜めブロック作るのが一番いいっぽいか…
斜面上にいる状態で左右押せば斜め移動させる処理させればいいだけだから落下状態に遷移する心配はないでしょう
坂を下りるときは加速がついて、ジャンプの高さが増加したり?
すみません。 3Dゲームで4分木(平面)を使うか8分木(立体)を使うか、どっちが効率が良いか悩んでいます。 みなさんはどういう判断基準で使い分けてらっしゃるのでしょうか?
387 :
346 :2009/11/27(金) 19:22:34 ID:e6wpKS0b
>>381 なるほど!そういうことだったんですね!
すごく勉強になりました!
早速修正してきますw
ありがとうございました!!
ゲーム開発でよくいるアホの巻 ステータス管理の構造体に unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char ・ ・ ・ アホである。体力のように、数値が問題になるやつは最低限確保しないといけないが ステータス異常は10個以上あってもshort int1つだけでよいというのに!
>>388 ステータス異常が抵抗値や時間によって直るようなゲームならいいんじゃないか?
ビット単位で持てよってことでいいのかしら。
>>386 4分木と8分木ではメモリの喰い方がアホほど違う。
4分木で十分ならそっちを使うべきだろうな。
たとえ3Dであっても、キャラクタが地表を這いずり回るだけの
ゲームシステムなら、高さ方向の分割は殆ど意味がない。
だったら、このゲームには4分木で十分ということになる。
へー8分木とか使うんだ Bとか赤黒とかで全部やっちゃうのかと思ってたよ
最終的な目標はFPSまたはTPSを作ること。 3DCGはできるが、プログラミングについては全くの初心者。 簡単なものから始めたいのから最初はHSPにしようかと思うのだが、後々C++とDirectXとかに乗り換えれるもんかね? 最初からC++とDirectXのほうがいい?
手っ取り早く始めるにはHSPでいいかも C++は難しいと思うがなあ やるんならCから始めた方が良くないか、+DXLib
>>395 C++じゃなくても良いのか。
とりあえずCとDirectXで2Dシューティングができるまでがんばってみる。
3DならDarkBasicがかんたんだ、英語版がフリーになってるし Cで難しいと感じたらBASICで始めるのも方法だよ 少し出来るようになれば、どの言語でも出来るようになる。 プログラムが少しでも書けるまでが最初の壁 ゲームアプリを作れるまでが次の壁 新しいゲームのアイディアを出すのが壁 超えるべき壁がいくつもあるけれどもがんばりなさい。
398 :
358 :2009/11/28(土) 00:03:44 ID:z8tWkRBO
C++でオブジェクト指向はやってられんことに気がついた 少なくともわてのような初心者のやることやないで
HSPがC++&DirectXの練習台になるとは思えない。 そもそもコンセプトが違っていて、DirectXは 「マシン依存を最小限にして、描画や入力等をする」 ためだけのものと思ったほうがいい。 そのためきめ細かい使い方ができる分、手順が煩雑だ。 HSPは使ったこと無いけど、 細かい考えないで済むようにするもの。だよ、きっとw というわけで、 言語に拘らないなら「HSP TPS」や「HSP TPS」でぐぐれ。
> 「HSP TPS」や「HSP TPS」 「HSP TPS」や「HSP FPS」だな。どう考えてもorz
401 :
386 :2009/11/28(土) 05:35:37 ID:XgZJpSwb
>>392 なる程。高さが被る事もそう多くはないので、4分木で分割数を増やす方が効率的なのですね。
ご助言感謝!
>>393 も情報が参考になりました。感謝っ
>>394 最初からC++とDirectX使ってもいいけど、
その場合はDiectXをそのまま叩くんじゃなくてseleneみたいなラッパーを使うと
幸せになれる場合もある。
4分木って平衡木化って可能?
ムーゲー業界でよくいるアホの巻 ウェイト ウェイトやカウンタを、「加算で」やるやつ アホである。ウェイトとは、あるタスクを待たせることだが そこで加算してどうするというのか。その加算した値が規定数になるまで待つというのか。 加算するのは何がやるのか。CPUである。 待ってる間にCPUを使うのか。 その間他のタスクが動けない ではないか。 まさしく真性である。
なにこのアホ
まさしく真性(のアホ)である。
N88BASICとかで使ってたな、FOR文によるウェイト
>>403 空間分割の4分木なら分割の方法から変えないと無理な気がする
連結リスト(構造体)ってどういう時に使うべき? 例えばステージデータでブロックを沢山置いたりする場合 構造体の配列使うより連結リスト使ったほうがいいの?
>>409 その1
並びに意味があるとき。
メッセージキューのようなFIFO(ファーストインファーストアウト、先入れ先出し)など。
データをリストの前に追加、後ろに追加、AとBの間に追加、など追加する時点で
ソート状態が保たれているからソートしなくてもいい。
その2
配列要素を全検索するより、リストに繋がっているものだけ検索すればその分速い。
さらにその1の順序も利用できる。「Z」の付く名前は後ろから検索すれば速いなど。
その3
メモリが連続していなくてもいい。
動的に確保した構造体データをあたかも配列のように扱える。
ステージデータのブロックの例は微妙だ。
配列は計算で簡単に移動先のマスが割り出せるが、リストは検索する必要がある。
四分木などのアルゴリズムで、法則によって簡単に割り出すことも可能だが
初心者には小難しい話になるので省略。
なるほど、ありがとう 自分の場合だと特に使う必要も無さそうね…
なんか変だぞ その1のFIFOやLIFOは循環配列でも実現可能だしその方が高速 リストのメリットは、連続データの途中にデータを挿入する場合に処理が高速なことで、連結リストを使えばソート状態が保たれるというのは間違い 追加の度にソート状態を保つ必要があるのであれば、配列も単純連結リストも使用せず、2分木などの木構造を使用する ただし、木構造は挿入・削除処理にコストがかかるので、場合によっては、データを配列にためるだけためて、1度ソートしてから、2分探索などを使った方がよい場合もある その2に書かれていることはリストの特性とは関係がない この場合のメリットは、データが大量にある場合に、リストで行うとメモリの節約ができることぐらいかな? ステージデータの場合、必要な要素数がおそらく固定で順序も関係ないので配列で行うべき リストで管理するメリットはおそらくない 4分木を使用するのは、動的なオブジェクトの衝突判定用の空間分割で、マップデータの配置には使用しない
必要な要素数が固定とは限らないと思うが 俺だったらリスト使うかな
最近は連結リストの必要性は薄れたな。
>>412 想定しているものが違うんだろうな
想定している前提が違って、リストの使用にメリットがあるなら、リストを当然使用するべきだね
>>410 に、「配列は計算で簡単に移動先のマスが割り出せるが、リストは検索する必要がある。」
とあるから、おそらく、マップの一部かそれに準ずるもので、移動したり、出現したり、消滅したりしないものを
想定したんだろうと推測したうえでのレスだったんだが
そうか マップチップ辺りのことかな それなら配列かな
DirectDrawからDirect3D9に移った所、 ティアリングが発生するのはどうにかならないのでしょうか? もしかして、DirectDrawに戻った方が良いのでしょうか?
>>398 一つ言っとくと、オブジェクト指向は考え方や設計方針(見たいなもの)。
まずはプログラムを考えるとき、
プログラムは上から下に進むけどここはサブルーチン、見たいな考え方を止めて
こんな機能(部品、データ型)組みたてるか、全体構成は後で考えてとりあえず部品作ろう、
見たいな考え方が出来るようになればなんとなくわかると思う。
文法的には
継承だけでなく、委譲や集約の設計的な意味を感じるようになってからじゃないとしっくりこないだろう。
最初はインタフェース(抽象メンバのみのクラス)のみ許容して、それ以外の継承は禁止するぐらいの勢いがちょうどいいと思う。
>>417 Direct3Dは、デバイスを基準に色々描画などを管理する。
何も余計なことは考えずに、デバイスを初期化する際のD3DPRESENT_PARAMETERS(プレゼントパラメータ、つまり描画や更新の為のパラメータ)
こいつのプレゼントインターバルにONEかDEFAULTを設定する。
あとは初期化が終わったあと、普通にClear、BeginScene、描画、EndScene、Presentの順番でやる。だめならPC環境的に無理。
>>419 プレゼントパラメータを変更した所、ティアリングが発生しなくなりました。
ありがとうございます。
421 :
名前は開発中のものです。 :2009/12/03(木) 10:03:51 ID:WEE9tyJ6
質問です Visual C++ 2008 Express Edition を使っていますが デバッグするとき行数がすぐにわからず上から数えていますがやりにくくてしょうがありません プログラムの行数をモニター上に表示させることはできませんか? Vista 英語版を使っています
自己解決しました ツール→オプション→C/C++→全般→行番号にチェック
424 :
名前は開発中のものです。 :2009/12/03(木) 10:20:29 ID:SdnKCKfB
>>421-422 それはいいけどVisualStudioならエラー表示のところダブルクリックしたら
当該エラー箇所に飛ぶでしょ。
OutputDebugString API を使ったり、 デバッグ時に標準出力に文字列を吐くと、警告・エラーと同じ窓に出力されるから、 「ソースファイル名+行番号」を同じフォーマットで出力するようにすると、 自前でクリックするとジャンプできるメッセージを出力できたりする。 例外を拾って、その例外をもとに問題のある行に飛びたいときに有効なテクニック。 が、中級技なので無理して習得する必要はない。
そうしてマイクロソフト製品を使い続けないと生きられない体になってしまうのです
tagジャンプも知らないのかよ
回転してる四角形どうしの当たり判定ってどうすれば出来ますか? また、現在は総当りで当たり判定を行っているのですが、 判定を行う数を減らすにはどうすればいいでしょうか?
四角形の当たり判定を厳密にするには四角形EFGHの角が 四角形ABCDに対して直線、ABとCDの間、BCとDAの間に入るかを 調べる。つまり、角が相手の四角形の中にあるかを調べる。 AB、CDの方程式 aX+bY+c=0、dX+eY+g=0 を求める。(ABCDが正方形・長方形を 含む平行四辺形ならa=d, b=eが成り立ち、別個に求める手間が省ける) EFGHのX,Y座標を代入して aX+bY+c<0 dX+eY+g>0 が成り立つかどうかをチェックする。(不等号の向きは式の導出方法によるので 注意)同様にBC,DAの方程式を求め、一つでも全ての不等式が成り立つ角が ある場合、その四角形は接触している。 次に四角形EFGH内にABCDの角が入っているかをチェックする。 >判定を行う数を減らすには 四角形の回転の中心同士の距離を計り、接触する可能性がない物は上記の 計算をしなければ良い。ピタゴラスの定理を使う。 (A.x-B.x)²+(A.y-B.y)²=r² rは距離
四角形が長方形(正方形を含む)なら四角形OABCに接触するかを 調べる四角形DEFGの各頂点を座標変換して例えばOを原点とする 座標系に変換すればX座標がO〜Cの間でY座標がO〜Aの間にあるか を調べた方が早いかな?
すんません、漠然とした質問で申し訳ないのですが、 例えばKOFやギルティギアといった2D格ゲーを作る場合、win32APIだけで作るのは可能なのでしょうか? それともDirectXを使わなけば不可能なんですかね? 質問の内容がチャランポランだったらすんません。
>>433 がたった今から3分でKOFを作ることが可能か?という質問ならNO。
世界の天才たちを集めて1年で作ることが可能か?という質問ならおそらくYES。
>>433 一度やってみると分かると思うけど、
物理的には可能かもしれないけど、半透明処理とか
ジョイパッドの入力とかもすべて自分で作らないといけない。
GDI+使う場合でも色々問題あるみたいだし。
けっきょく車輪の再発明なので、学習でなくゲーム作るという
目的で言えばその労力がほぼ無駄というか。
「win32APIで作ったの?すごいね」という評価を得るための
挑戦でなければやめたほうがいいんじゃないかな。
だって同じ手間と時間かけるなら、DirectX使った方が
情報も多くて楽だし、ゲーム自体の内容を良くすること自体に
時間をかけられるよ。
>>431 先生、自分も同じ過ちを犯したので、上手くいかなかったの覚えてます。
>>430 矩形を想定した場合、まるぺけつくろーにいけば、そのやり方が載ってる。
矩形A、Bがあったとして、例えばAを基準(角度0)にするとする。
矩形Bのx軸方向、y軸方向への射影を求めて、それが矩形Aのx、yと重なるか判定する。
同様の手順をBを基準にして行う。
>>436 >>431 じゃないが、このやり方でも行けそうな気がするけどな
上手くいかない理由を書いてもらえると助かる
次に書いてる矩形の場合のやり方は
>>432 のとは違うのか?
438 :
433 :2009/12/08(火) 00:00:37 ID:qL+aqySC
>>435 ありがとうございます。
具体例も参考になりました。
>>437 んにゃ、たとえばお互い細長い矩形で交差してると怪しいぜ。
頂点入ってないは中点すら入ってないわでどうしようもない時がある。
>>439 おお、確かにその通りだね
矩形でない場合は線分の交差でやるしかないか
437=440です
製作メンバー募集に関する質問ってここでいいですか?
それを聞く手間で聞きたいこと聞いてしまえばいいと思うが そういえば、製作メンバー募集スレって落ちたまま?
JAVAにおいて G.fillRect と offG.fillRectの違いはなんでしょうか? ググっても分かりませんでした。 それとJAVAの1人用テトリス系のゲームを2人対戦用に改造するには、 2P用の制御関数を用意して同じrunメソッドで同時に動かすのがいいんですかね?
>>444 GとoffGというのは一般的なクラスの名前ではありません。
改造方法に関しても貴方がみているプログラムが何なのか誰も知らないので、
プログラムのソースを提示しない限り、誰も貴方の質問に正確に答えることはできません。
>>445 >GとoffGというのは一般的なクラスの名前ではありません。
すいません、ちょっと意味がわからないです。
>改造方法に関しても貴方がみているプログラムが何なのか誰も知らないので、
http://www.wacharo.net/Tetris/Tetris11.jsp これを参考にして作ったのでこれに似ています。(構造はほぼ同じ)
ブロックを動かせる枠がoffGで書かれています。
他にはthisという変数(?)の役割を自分でも意味分からずに使ってます。
変数marginで余白の大きさを指定していますがそれがどうなってるかも分かっていません。
JAVAの知識はあまりないのですが勉強しながらやっている感じです。
margin変数を必要としなければoffGのかわりにGを使って書けるのではないかと予想しています。
分かる範囲で解答頂ければ嬉しいです。
>>431-432 です。
いきなり細長い四角形同士が交差する場合も考えたが、
そこにいくまでに引っかかるんじゃないかと思って放って
おきました。
質問者の状態がわからないのでどうにも…
>>444 Tetris11.paint(Graphics G) の内部に限って言うなら、
Gはアプレットに画像を書き込むためのインスタンス。
このことについては、Java APIリファレンスのApplet.paint(Graphics g)のあたりに書いてるはず。
offGはimgインスタンスに画像を書き込むためのインスタンス。
Tetris11.init()に、offG = img.getGraphics(); って書いてある。
改造はよくわかんね。
4×4の線分交差判定総当たり、慎重を期すなら包含チェック (四角形の一頂点がもう一方の四角形に含まれるか×2) でいいんじゃね
>>448 ありがとうございます、理解できました。
ノベルゲームを作ってみたいんですが、メンバーを募集する時は動くものがないと駄目だとききました。 背景イラストとシナリオを完成させた程度じゃ募集しない方がいいでしょうか? 募集したいのはプログラミングと立ち絵です。 音楽は素材を借りるか自分でやります。 募集する側がプログラミングをしない、シナリオを担当する、というのはあまり良くない条件だと聞きました。
募集しても人が来るかどうかわからんし、来た人が451が必要とする スキルを必ずしも持っているわけじゃないから、451が自分から 「こういうゲームを作りたいのですが協力してもらえませんか」 みたいに人を探した方がいいと思うよ 誰か来るか予想できない募集は誰も協力してくれなかった時の 最後の手段にしておいた方がいいと思う
協力と募集の違いがわからん
ノベルゲームだね、プログラマー募集ですか あなたは、HPを作りなさい。プログでも、wikiでもよい。 雰囲気のわかる、絵を数枚、概要の文章を少し。 連絡用のメールをも そのホームページをここで宣伝しなさい。 もし縁があれば、プログラマーも音楽家も絵描きも協力するだろう。 まじめさが伝われば・・・ (ノベルゲームなら、プログラムも簡単だから、勉強するのがよいと思う。)
背景とシナリオだけで立ち絵募集ってそのまんま「俺の妄想を絵にしてくれ」って言ってるようなもんじゃん よっぽどシナリオがよくないと誰も来んよ あとノベルゲーならノベルゲーメーカー腐るほどあるから自分で作れ
>>452-455 一応なんとか1人でできるように勉強することにします。
ありがとうございました。
>>444 ,446
他の言語の知識も無いのかな?
オブジェクト指向言語をかじっていれば
>>446 の言ってることはわかるはずだが。
offGってのが、オフスクリーン用のグラフィックスって事にピンと来ないと
なんでこんな事やってるってのかがわからないと思うが、
画面のちらつきを防止するためのダブルバッファリングという技術。
紙芝居を想像するといいとおもうが、
白紙の紙に描く途中がみんなに見える状態で描くのがGに直接描くという場合。
この場合ちらつく。
そうではなく、白紙の紙に描いてしまってから、みんなに見せるのが
ダブルバッファリング。
offGに描いてからGに全体をコピーしているとおもったらいい。
458 :
名前は開発中のものです。 :2009/12/11(金) 13:23:48 ID:sMLC+kmW
>>457 >>446 の提示したソースを読んでみたらわかるが、
offGは画面全体をバッファするためには使われていない。
とても中途半端な使い方をしているがために、
>>444 は混乱したと思われる。
460 :
名前は開発中のものです。 :2009/12/11(金) 17:39:33 ID:MikSBT0H
>>451 頑張れ。自分も同じ事を考えたけど、妥協したくなかったりで結局全部1人でやってるよ。
ノベルゲームならプログラムは簡単だから、そこまで作れば誰か協力すると思う。
絵はアマチュア絵師のイラスト請負サイトとか、絵師が自HPで仕事募集してる事も有るし
探せば色々手段は有ると思う。 がんばれ。
>>451 「動くもの」ってのはゲームのエンジン部分も新規の場合であって、
既存のエンジンで全く問題ない。
シナリオで詰まるケースも多いみたいだから、
それができてるのは心配事が1つ少なくてすむし、
具体的な立ち絵の種類と枚数が判るから、
募集もしやすいんじゃないかな。
漠然とした質問で申し訳ないですが 3Dゲームを作りたい(C++&DirectX)のですが、モデルを作る3Dソフトは何を使えば良いのでしょうか。 沢山種類があり過ぎてよく分かりません。
多分そのどれでもいいと思う。
まずは財布と相談では?余裕があるならMAYAだっけ?
例えばメタセコを使うとしたらメタセコだけで作れるんですか?アニメーションさせるツール等は
モデラーの場合は、モーション作成のためのソフトがいる。
------------------------------------------------
<モーション作成ツール> xかFBXを出力できるもの。
・RokDeBone(無料)
・toystudio(無料)
・エルフレイナ(有料)…など。
このへんはメタセコの人が良く使ってるイメージある。
メタセコの場合はプラグイン(KeynoteとFBXエクスポーター)
でも出力できるぽいけど。
<統合型ソフトの場合> ※モデリングからモーション作成まで。
・modtools(無料)
・Blender(無料)
・Lightwave(有料)…など。
同人だとLWとか、たまにMaxとか今は亡きXSIFndとかも見る。
パーティクルをレンダリングできるソフトあれば
エフェクト作るのも楽。
------------------------------------------------
ただどのケースの場合でも、C++とDirectXで作る場合はx形式出力(
というかx自体)に問題あるので、まず自分でファイルのコンバータ
とか作る羽目になる。これはMayaとかSoftImageとかでも同じ。
とりあえず
>>466 のような疑問があるレベルだったら、メタセコか
modtoolをインストールしてしばらく遊んでみるのが一番いいと思う。
使っているうちに必要な用語とか、関連ソフトとかを覚えていける。
詳しくありがとう!とりあえずメタセコで遊んでおきます lightwaveも聞いたことがあった
runメソッドの中にthreadが2つあります。 特定の条件を満たしたら2つとも停止させるようにするには、 threadを同時にストップさせるのかrunを止めるのか どちらがいいんでしょうか? 何がしたいのかもっと詳しく書かないとわからない等あれば言ってください
言語を特定しないとrunとかthreadが何を指してるのかわからない。
ああ、それ書き忘れてた・・・ JAVAで開発環境はイクリプスです。
DirectMusicで、メモリー上のMIDIデータの演奏は可能ですか?
可能
476 :
名前は開発中のものです。 :2009/12/17(木) 00:59:02 ID:Jx78vI2e
いや、だから加算合成するだけだろ
ダイレクトにそれそのものの名前のメソッドが用意されていないと、何もできないんだよ。 だってゆとりだから。
初心者スレなんだからめくじらをたてる程のことではない
まったくだ 気に入らなければ無視すればいいだけで、何も書き込まなければ角もたたないのに
RPGのワールドマップの構成ってどういう理論というか理屈で作ってるんでしょうか。 はじめは徒歩のみで、関所で通行付加にしたり、船や飛行機でしかいけない場所を作ったり、 何も考えずに作ってたら、抜け道などができそうなものですが。
分割統治じゃね。 最初からできることを出来るだけ絞る。 山や森、関所というオリで行動範囲を限定する。 モンスターの強さを調整して、実質的な行動範囲を限定する。
>>480 レベルデザインの分野かも。
たとえば大神とかゼルダとかドラクエとかで言うと、序盤に宝箱
見えてるんだけど、鍵がかかって通れないとか届かない場所を
分かりやすい位置に見せておく(プレイヤーに限界を示してお宝
とかでプレイ方向の誘引と動機付けする)。
そんでプレイを通じていくと、それを解決できる技能(アイテムとか
スキル)を獲得して解決したら、ご褒美がもらえるようになっている。
そんで同じ方法でゲーム進行で重要な場所の謎が解けるようになってる。
いきなりチート技能得たり、チュートリアルなしに重要場面で障壁が
初登場して詰まる進行だとマズい。
よく出来たゲームは、だいたいそういうデザインでマップ作られてるはず。
その本来取れないはずの宝箱が、マップかシナリオのミスかなんかで実は横とか裏から入れて取れてしまったりとか 行けないはずの場所にはどうやっても行けない、マップにもシナリオにも矛盾がない、なんてのをどうやってチェックしてるのかとか そういう話だと思った 最初の町でレベル上げまくってアバカム覚えて取ったりとかさ 結局テストプレイを重ねるしかないんじゃと思ってるが、なんか方法論があったりするのだろうか
>>483 マリオカートなんかでも、思わぬショートカットを発見されたりしてるから、
完璧な方法ってなかなか無いと思う。
>>457 >>459 今更ですがそこはやっと理解できました。
今は特定の条件を満たしたらスレッドを止める方法に関して困っています。
検索して調べてやっても思うように動かないのですが、
・ifの条件がおかしいから動作しない
・スレッドの止め方が間違っている
のどちらか分からない状態ですね・・・
ちょっと調べてまた何を聞けばいいか分かったら来ます
469 >どちらがいいんでしょうか? 良い悪いの判断が難しいですが 極力資源を戻すという意味では親のrunを止める方が良いと思います しかし再利用が可能かどうか、などを考慮すると必ずしも上記の限りではありません JDK5以降であればjava.util.concurrentパッケージを使用して環境に応じたチューニングを行うのも良いかと思います
487 :
486 :2009/12/18(金) 19:47:24 ID:V6czcf9E
64bitに対応する,って内部的にはどういうことするの?
コンパイルオプションを変更する
ただ、ゲーム的な縛りだけを考えると ワールドマップ全体として見たときに、ありえねー形になっちゃいそう。 徒歩じゃ行けない、目的のエリアには特定のダンジョンや関所を通らないと行けない……っていうデザインは分かるんだけどさ。 市販ゲームでも、たまにひどいのあるよなあ。
大陸の南北を分けるでっかい山とか関所とかがあって、 んでその近くに大きな城があるからそこで許可なり目的作って行く、ってパターンが多い気がする もしくは3〜4つの大陸や諸島で分けるとか
ワールドマップ作るのが一番楽しい 歴史とか、町と町の交流とか、画面には見えない国境などを妄想しつつ・・・・・・プロジェクトは終了する
あるあるww
多くの場合、国境を作るのは国じゃなくて地形だからなー。 例えば隣接した二国間で戦争があったとして、 少なくとも中世レベルであれば、防衛しやすい場所(山とか大きな川とか)を前線に戦うわけで。 戦争が終結したとき、その防衛ラインが国境になったりする。 もちろん、何らかの協定によって無理やり分ける場合もあるけどさ。 あんまり詳しくないけど、38度線みたいなやつ。
アフリカの国の国境がそんな感じの所ばっかだな
>>485 >>469 ,471もきみだろうが、
>・ifの条件がおかしいから動作しない
こっちはもう君しかわからないけど、
>・スレッドの止め方が間違っている
スレッドを止めるのにはinterrupt()を使うのが一般的だとおもう。
使い方はググればいっぱい出てくる。
もっと具体的に質問してくれないと答えようが無い。
キャラクタークリックしたらメニューを出したい キャラクターのクラスにメニュークラスを付けるのか キャラクターのクラスを管理している上位のクラスがクリック判定をしてメニュークラスをnewするのか どちらがよいだろうか?
>>497 キャラクターとメニューにどんな関連性があるのか分からないので答えられないけど、メリットとデメリットを考えれば自分で決められるかと。
普通に考えれば独立させた方が設計が柔軟になるし、後者かな。
メニューは「たたかう」「まほう」「にげる」「装備」とか 後者取ると、キャラとメニューを結びつける専門的なクラスが必要になるけどそれでおkなのかな
RTSでも作るのかな 包含つー手もなくないか
俺なら分けるかな。 メニュー以外にも表示するウィンドウとかありそうだし、そっちの集合に入れた方が都合がよさそう。
<連結クラス> クリック取得 ↓ 各キャラと当たり判定 ↓ ヒット ↓ new メニュー ↓ キャラの情報を取得し、メニュー内容、座標をセット 連結クラスの中身はこの流れでおk?
横レスなんだがスマン、教えてください そういうメニューって描画とかクリック判定も全部開発者が作るの? DirectX用のAPIとかってある? 学校でC++習ったばかりで、何を調べればそういう基本がわかるのかもわからん
その程度でめんどくさいと感じるようじゃ話にならん出直してまいれ
>>503 3Dだと少しだけメンドいけど、2Dだとカーソルの位置取得して
メニュー(内のボタン)の入力範囲として設定しといた矩形と
当たり判定するだけだから、そんなに複雑でもないと思う。
メニューとか用意されてるライブラリもあるかもしれないけど
暗転時に画面外からスライドしてくるとか、押したら少し
拡大しつつ消えていくとか…メニューやボタンに効果つけるなら
普通に自分で作った方がいろいろ自由にできるし楽な気がする。
入門向けのゲーム開発本に付いてるソース読めば、メニューとかも
よく載ってると思うけど。
>>504-506 なるほど、自分で書いちゃっていいんですね
普通のGDIみたいにAPIを呼び出したりリソースを用意したりといった作法があるのかな?と思ってました
作法はWindowsにもMacにもあるっちゃああるけど、従うかどうかは特にゲームは 作る人次第。従うのなら様々なAPIを使える。 DirectDraw/3Dで全画面の場合は全部自分で作ると考えるべき。 文法を理解した後はとにかく他人のソースを見て勉強するのが良い。参考書をいくつか 購入すべき。(個人的な感想:数万の出費は覚悟した方が良いと思う)あらゆる所から 技術を盗め。
大手だと、GUI部分はFLASHもしくはそれに似たようなもので組んで C/C++から、そのFLASHファイルを呼び出す…というところもあるそうだ。
>>508 お前は長男か。
ちょっと自分本位すぎる。
長男てより一人っ子だろ
512 :
マサヒロ :2009/12/25(金) 17:18:03 ID:Ei7sl9lE
マ サ ヒ ロ参上
みんなモチベーション維持できてる? 俺は維持できなくなってやめた。
なんか自分の思い通りに動かせるのがただおもしろくて続けてるなー。 特に崇高な理由とかないんよ。
維持できなくなる前に完成させればいい。 具体的には2ヶ月くらい。
モチベーションが0になったら、復活するまで絵の練習でもしてればいい。
math.hのpow関数のソース分かる方居ませんか?
519 :
名前は開発中のものです。 :2009/12/27(日) 02:30:36 ID:I8rPr1Dy
>>518 gccのでも拾って読んどけ
なんのためのオープンソースだ
VC++でmidiメッセージの入出力をサポートしてくれるDLL無い? もしくは手法 midimonはCで書かれててなんか駄目だった
何ゆえCで書かれたものがVC++で使用できない?
第一の御使いがラッパを吹き鳴らした って 何で天使がラッパーなんか書くのですか。 天使はプログラミングするのですか。
笑心者スレは別に立ててくれよ。
かまいたちの夜とひぐらしのなく頃にを 混ぜたようなゲームないですか?
質問願いします ツクールとNScripterでゲームを作った事があります フリーゲームのThe Shop3のようなゲームを作りたいのですが どのプログラムで作れるのかわかりません 一番簡単に作れるプログラムを教えてください
>>527 「The Shop3」はVisualBasicで作られてるようなのでこれを使ってもいい。
工夫次第ではツクールでも作れそうな気はするけど・・・どうだろう?
お手軽に作りたい人向け:Flash、HSP、VisualBasic
本格的に作りたい人向け:C/C++、Java、C#
少しでも本格的に作りたいならお勧めはC言語だけど・・・一番簡単にとなると違うんだよなあ。
>>528 わかりやすくありがとうございます!
お勧めのcは解説ページを見ても敷居が高いので
VisualBasicをやってみます
その高いしきいを跨いでしまえば他の言語もラクになるけどな。 FortranとかS言語のような特殊な用途のはなかなか大変だけど。
質問なんですけど、サウンドノベルとかビジュアルノベルって ゲームに分類されるんでしょうか。 ググった結果、両方の意見があって・・・ みなさんの意見をおねがいします!
まぁ、ゲームと言うことでいいんじゃない? そもそも人間が勝手に決めた分類カテゴリは、 必ず万物をMECE的に分割出来るものじゃないし、 自分に都合の良いように考えておけばよろし。
レスどうもです。 やっぱそんなもんなんですかねw ありがとうございました、助かりました
サウンドノベルはあくまで表現手法でしか無いけれど、 いわゆる「ゲーム性」の薄い作品が多いのは確かだろう。 また、ある人が提案した「ゲームの定義」があったとして、 そのゲームがそれに合致しているかどうか?という議論もあるだろう。 で、この辺がごっちゃになってるんだと思う。 プレイするストーリーを選ぶだけのサウンドノベルを題材に、 コスティキャンの提示するゲームの定義と比較したら、そりゃゲームじゃないと言うことになる。
ごっちゃにはなってない 質問者が質問の意味においての「ゲームを定義」を与えていないだけ というか、おそらくそこまで考えた質問では無いんだろうね 大事なのは、サウンドノベルがゲームに分類されるとした場合と、 分類されないとした場合で、質問者にとって何が異なり、それがどういった変化を与えるのかということ 簡単な表現で言うと、それ聞いてどうすんの? ってこと
SRPGを作りたいんですけど C言語の勉強→C++の勉強 ってやっていけばいいんですか? あと何かオススメの教材系の本あったら教えてほしいです。
CとかC++は関係ない。 ウィンドウの出し方と読み込んだ画像の表示の仕方さえ分かればあとは好きなように作ればいいじゃない。
>>537 レスありがとうございます。
そうなんですか?
残念ながらそういうのもさっぱりなので、もっと勉強します。
>>538 レスありがとうございます。
C言語の勉強から初めてみます、
ネットで色々見たんですけど、いまいち頭に入らなくて…
本で勉強するほうが自分にあってるみたいです…。
教材のオススメもありがとうございました。
当たり判定はツールじゃなくて自分で書くのが普通だと思う
>>540 レベルデザインの本にそのへんの話が書かれてたような…。
CGWorldとかに良く載ってるゲームのメイキング記事とか読むと
コリジョンモデルデータ(プレイヤーアタリ?)や敵の動きとかは
3DCGツールで作ってる場合が多そう。
プラグイン開発とかの手間は要ることもあるだろうけど。
大きなプロジェクトなので参考にならないだろうけど
MSG4のメイキングでは、マップのデザインを担当する
スクリプト班がラフ作って、背景モデリング班がそれを元に
モデリングして、またスクリプト班がゲームバランスを
チェックして、また背景モデリング班がマテリアルや
コリジョンモデルを作って…という流れだった。
プログラミングを学びたいのですがPythonとc言語ではどちらがいいでしょうか? 初心者ですが最終的にはすごろくとかボードゲームが作りたいです。
曖昧な質問ですみません。アクション寄りのゲームで 現在、キャラの状態 と キャラの描画 のクラスを機能別が良いと思って別管理していたのですが、 プレイヤーとモンスター別に、「キャラの状態と描画」を1組にして管理した方が設計しやすかったりするのでしょうか? また、こういう全体の管理や設計の勉強はみなさんどこでやってらっしゃるのでしょうか? どうも作っては後悔して、あちこち整頓してが後を絶たず困っています;
Windows2000以降で使える拡張ウィンドウスタイルWS_EX_LAYEREDを使用した 透明ウィンドウ機能は、シューティング系ゲームの描画に速度的な面で使用できますかね?
ゲームって何で権利が守られているんでしょうか? 特許?版権?著作権?そしてその有効期間は? 例えば、子供のころに面白かったファミコンのゲームって、 既に20年以上が過ぎてますよね? コピーは駄目だと思いますが、自分で実装した場合は? あるいは、古典ボードゲームを勝手にソフトウェアに実装したりとか。 何か、法律的に参考になるような資料ありますか?
>>543 その二つならどっちでもおk
とにかく始めることが大切
初めてならPythonの方が楽しいかもしれない
>>544 >どうも作っては後悔して
良い大人たちもその方法に「プロトタイピング」という名前をつけて
がむしゃらにがんばってるって感じ。
デザインパターンとかにハマるのもよし、オープンソースを読むもよし。って感じ。
>>545 WinAPI使わないのでわからないけど、
速度の話なら最終的には実際に測る(実測)しかない。
理論と思い込みだけの最適化は時々外れる。
>>546 FFのバトル方式なんかは特許で保護(20年)されてるとか聞いた気がする。
でも大体は著作権(著作者の死後50年)で守られてる。
(高度な)アイデアは特許で保護できるけど、ゲームのルールなどというものは保護する法律は無い。
しかしながら、「テトリス」を例にとると、テトリスを自分で作って売るのは勝手だが、
見た目の完全な模倣は著作権侵害になるので、独自の創作をしないといけない。
また、「テトリス」という名前は「商標」で保護されているので公開するときは別の独自の名前にしなければならない。
…………と思うんだけどどうだろ。
>>547 ありがとうございます
Pythonをやってみたいと思います。
>>548 どうもです。
どうやら、基本は著作権みたいですね。
ビジネスアプリなら、せいぜい特許ベースで守られている程度で、
ソースコードを見たら駄目だけれど、外部仕様だけを参考にして
自分で実装する分には、まぁ、問題無いのですけれどねぇ。
う〜ん、音ゲーなんて、あと10年しないうちに特許切れるんじゃないですかね?
もう、今どき音ゲーなんてしないですかね。
ファミコンの頃のゲームの著作権なんて、もう、潰れた会社も多くて、
実は良く分からないんじゃないですかねぇ。
>>543 個人的にはC言語をお勧めしたい。
理由はユーザー数が多い、解説サイトが多いので学習し易いから。
正直、Pythonでゲームを作っている人は少ないので・・・
>>544 実際にソースコードを見てないので想像で答えるけど・・・
まずキャラクター共通の基底クラスを定義して、このクラスに状態更新メソッドと描画メソッドを実装する。
このクラスを継承してプレイヤークラスとモンスタークラスを定義するかな。
言われてみればゲーム設計の情報ってあんまり見たことないな・・・
とにかく他人のソースコードを見てテクニックを盗むしかないかな。
たしか、昔のゲームを集めた展示会が以前あって、展示するファミコンソフトとかの会社に 許可を取らないといけなかったんだけど、今はもう会社がなくて、どこに連絡したらよいのやら という状態になってたとかいうニュースがあったような・・・
>>551 やっぱりcが有名なんでその方がいいですかね、
始めはcでやろうと思って調べてたらPythonがでてきたので、、、
ではcでがんばります。
555 :
544 :2010/01/07(木) 22:37:50 ID:zdQJ/gWV
>>547 なる程・・明確な答えは出てない感じなのですね。
とりあえずオープンソースを読むのがヒントになるんですね。
>>551 ちゃんと継承を使いこなせるようになれば、もっとスマートに組めそうですね・・
いずれは継承を使いこなせるようなりたく思います。
とりあえずオープンソースを読むよう心がけねば・・っぽいですね。ありがとうございました。
よくゲームの画像とか音楽は一つのファイルにまとまってるけど 画像だったら全部一つのファイルにまとめちゃって 読み込む時はファイルからピクセルデータをサーフェイスロックして書き込んだりしてるのですか?
>>556 ばらばらのファイルを纏める方法とかもあるから必ずそうとは言い切れないと思う
質問です
FF・DQ板のあるスレでFFみたいな(SFCくらいです)RPGを作ってみようという話になりました。
今は構想が始まったばかりなのですが、
ツクールとかのエディターを使える人がいなくて、
この板の人を頼りに来ました。
エディターで実際に作ってくださる人を探したいのですが、その場合どこで頼めばいいでしょうか?
一応どのようなものか説明させてもらうと
2Dで、FFみたいなATB形式。ジョブチェンジありのもので詳しくは
http://www31.atwiki.jp/fftsukurou/pages/1.html にまとめがあります
順序が逆。ストーリー構想なんて誰でも出来るし、 妄想を形にしたいから手伝ってくれ、なんて言ってホイホイ技術提供してくれるお人よしなんておらんよ 昔はそういうスレがあったけど廃れて機能していないのが何よりの証拠 ツクールなんてそんな敷居高いもんじゃないんだから、自分達で使ってみれば?
面白そうだがツクールとは程度が低いね
低学歴にはちょうどいいオモチャさ。
>>559 ご回答ありがとうございます。
そうですか。板の中で有志を募るか、自分たちでやるしかないという覚悟もしておきます。
>>560-561 もちろんクオリティの高いことが出来るなら最高だとは思います
>>558 ツクールで作ることに決まってるの?グラフィックは?サウンドは?
Wikiを見る限りまっさらの状態の様だけど・・・
これじゃ募集なんて掛けられないよ。
>>563 決まっている訳じゃないです。
wikiにあるアイディアを良い形で実現できるなら、
スクリプトが出来る人が力量に合わせてくれればいいかなというつもりです。
グラフィックもいません。作曲は自分がやるつもりです。MIDIデータでも、圧縮でもスクリプターの要望に対応するつもりです
アイデアとか誰にも出せるからさ・・・ どうせ市販ゲームのパクリアイデアをオリジナルとか言ってるんだろうし 「自分のアイデア」と名付けた単なる妄想を技術者に形にして欲しいって、 そんなことはゲームやってるだけの駄目な人が考えがちな凡庸な欲求だよね
妄想するのは俺で作るのはお前って 美味しい部分の90%持ってっちゃってるな 誰が協力するんだ
>>558 はツクールでゲームを作った経験はあるんだよね?
プロトタイプ版を作って公開してから募集してみたら?
今の状況だとどういう企画なのかすら分からないよ。
信ずるものは己が刃のみ
>>565 そうかもしれないです・・・・・・
>>566 まだ始まって二日目で
色々考えてる段階で、お話やシステムの妄想も始まってそんなにたってないです。
プログラムが出来る人もふまえてみんなで話し合いしたい、という感じです。
確かに順序が逆だったと痛感しました。まずプログラマーを探すべきでした。
>>567 なるほど、頑張ってプロトタイプを作るわけですね
ツクールなんて据え置きゲーム機の3,4,5くらいしか経験ありませんが、なんとかそれくらいならば出来るかも知れません。
じゃーツクール買ってきてあとはツクール初心者ページとか見て自分でやるべきじゃね。 ツクールすら買いたくないならゲーム作りたいなんていう資格ないと思うわ。
>>569 まずプログラマーを探すべきでしたってのも間違い
実績もあるわけでなくアイデア出すだけの人って、プログラマーからしたら全く魅力がない痛い人だから・・・
そのメンバーの中に凄腕の絵師はいる?人を唸らせる作曲家はいる?
人を惹きつける文章力の人はいる?
もし何の芸もない人が集まってるなら、技術を持った人間がそんな集団に関わりたいと思うかい?
君がプログラマーだったら、そんな連中にアイデアは俺・プログラムはお前って言われたら
どんな気分になるかな
ちょっと想像力が足りなすぎないかい
物事を簡単に考えすぎてるな。頭冷やせ
>>574 足りませんでした。全く申し訳がないです。
実績のない人間の集まりです。確かに誰も力をかしてくれないですよね
>>575 了解です。頭を冷やしつつ、なんとか実現の方法を考えます
>>576 せっかくやる気になったんだから、何が必要かじっくり調査して少しずつ歩みを進めていこう。
モチベーションを維持するのは難しいことだけど、それは開発が始まったらもっと難しくなる。
でも良い経験になると思うよ。
がんばって。
>>577 ありがとうございます。精一杯頑張ります。
実績というと難しく感じるけど、できないことの解決策を探す前にできることだけやってみたらどうかな 例えば登場人物の全ての台詞を一字一句余すことなく書き出してみるとか それが実際のゲームでそのまま使用できるかはともかく、興味を持ってもらったり 必要になりそうな機能を選別するのには役立つと思うよ
んじゃ頑張ってくれ 今まで同じような話が結局何も生み出さないのを何度も見てきたが 中には完成までこぎつけるのもある 山ほどある同じような話の5%以下だが・・・ しかも、完成したからといって出来がいいのは更にその中の5%くらいなんだがw
>>579 頑張ります。必要なことを調査し、出来ることは埋めて行き、最後には製作まで辿り着きたいと思います
>>580 とにかくやってみます
頑張るとかはいいから 初心者サイトに書いてあるツクールの初歩的なことまで人に聞いて迷惑かけたりすんな 結果をたぶん出せないってことは、ひたすら情報を貰うだけの立場なんだぜ
口より手を動かせ
妄想を自分の手で形にする作業は凄く楽しいよ。 他人の手なんかに頼ってたら、その楽しみを丸ごと奪われてしまう。
要はゲームを完成させたいんじゃなくてコミュニケーションしたいだけなんだよ
ゲーム製作ゲームってやつだな
>>550 昔、wikiに著作権解説あったんだが、消えてるな。
かいつまんで言うと、ゲームに与えられる著作権は
プログラムのコードや画像、音楽等であってアイディアではない。
一から作れば市販ゲームと同じものでも著作権侵害とならない
と言われる根拠はそこにある。
ただし、キャラクター物は商標等に引っかかる恐れはある。
なお、著作権(送信可能化権など)の期限は変名や団体名義の場合、公表後50年。
一般的な市販ゲームの著作権切れはまだまだ。
仮に会社が倒産していてもそれらの権利は譲渡可能なんで
当時の出資者が持ってる可能性があるから注意。
当時の出資者どころか、版権を買い漁る大手が保持だけして塩漬けってコトも多々あるよ もう会社が潰れたからフリーだとか言う厨房は捕まっちゃえよと思うがw
横STGをC言語現在作成しているのですが、多重スクロールのやり方が分かりません どこかにいいサンプルはありますかね?
背景を2つ用意して別々に動かすだけでそれっぽくはなるよ。
ラスタスクロールのやり方おせーて
592 :
名前は開発中のものです。 :2010/01/10(日) 02:55:57 ID:PP/u6bYV
CatSyatem2ってどうやってパッケージングするの? マニュアル読んでも公式読んでも載ってない上に 公式にメールフォーム無くてうぃんどみるのページにはCS2の事聞いてくんなって書いてあるんだけど・・・
593 :
名前は開発中のものです。 :2010/01/10(日) 03:06:52 ID:myig75lE
スレを立てるとき名前欄やE-mailは書かなければいけないのでしょうか?
個人的な事情でスレを立てるときには、名前とe-mailを書くのがルールです。
技術ではないのですが・・・。 エロゲの制作を考えていて、面識のない絵師さんをスカウトしようと考えています。 ギャラの相場はどのようなものでしょう? むろん、ケースバイケースではあるでしょうが商業ベースの予算で考えると(それも相場は知りませんが) 莫大なギャラが発生するでしょうし・・・。
そんなもん、絵師の知名度・経済状況・描いてもらう枚数によるだろ 枚数を見積もって、これくらいまでなら出せるって額の8割くらいで持ちかければ? 念のために言っておくとあんまり安いと厨房がおちょくりに来てるのかと疑われるぜw
8割で持ちかけるってのは、断わられたときに少し上乗せして
これでいかがでしょうかって聞くためね
どっちみち、
>>595 に実績がない場合は先払いとかじゃないと誰も受けてくれんよ
>>595 スカウト? 依頼のことだよね、雇用じゃないよね。
似たような絵柄のグラフィッカーに見積もりを取れば相場が分かると思うよ
ありがとうございます juewlWXKさん> 自分の出せる上限(数万)が果たして「あんまり安い」のかどうかわからなくて・・・ 7A3A5fmCさん> いや、そんな知りあいはいませんし・・・
>>599 それは2-3枚くらいならそんなもんでも描いてくれるかもしれんが、
塗りまで全部任せたエロ絵10枚+タイトル絵+立ち絵表情分とかいるんだろ?
1日でどのくらい作業ができるか考えれば、たとえば日当2万くらいと見積もって最低額いくらくらいかとか考えたらわかりやすいんじゃ?
相手が名前のある人なら、先ず間違いなく数万じゃゲーム1本の仕事は無理。
そいつが自分でエロ絵画像のDL販売やった方がずっと儲かりそうだ。
うわあああ・・・ 一日の作業量というのも僕には見当がつきませんが十万クラスが最低ラインと言うことですね 基本的には商業ベースとそれほど変わらないと見てもいいわけでしょうか?
>>601 無名の人ならもっと安く頼まれてくれるかもしれん
だが、そいつ個人でエロ画像の販売やった方が儲かる額が報酬なら、お前が絵師なら仕事として受けるかい?
相手の立場で考えようぜ
あと、同人作家は納期とか守らん(守れん)人多いよw
>>595 原画:2〜3万、塗り:2〜3万、曲:5万、ボーカル:60万〜、ムービー:60万〜
同人でノベルゲームを作っている人に聞いた話だと、商業か非商業かは関係無く外注の相場はこれくらいだそうですよ。
普通は原画だけ上手い人間で塗りはそういう下請けにやらすもんだから 絵師に塗りまでやってもらうと全然別の話になるな
同人レベルだと原画、塗り各\5000ぐらいが相場と聞いたことがあるな
妙に安いのは1枚単価の話だろ
みなさま、ありがとうございます(まとめてしまってすみません)。 dmK/QlFIさん> お詳しいようなのでしつこく聞いてしまいますが、 >原画:2〜3万、塗り:2〜3万 これは「一枚につき」でしょうか?こうなると同人はよほど資金力がないと手が出ないように思いますが・・・。
なるほど・・・。 商業の場合は音楽や宣伝費もあるとは言え 同人でもあんまり軽々しく考えてはダメと言うことですね・・・。 ありがとうございます、勉強になりました。
RPGツクールVX用のタイル素材を自作したプログラムで使いたいんだけど、 並び方の規則が分からない・・
ゲーム製作したことない素人です 防衛ゲームを作ってみようと思ったのですが、調べてみても作り方がわかりません。 素人にお勧めのサイトもしくは本などありませんか
ウィンドウ出して画像表示するだけだろ
>>612 >>536 への回答は参考にならない?
まずツクールみたいなツールを使うのかプログラムならどんな言語を使うのかを決めた方が良いよ。
俺も防衛ゲーム作りたい。いちど手を出してみたい。
>>616 そうやって、「やってみたい」「やってみたい」を繰り返しているうちに
その気力がある年齢を過ぎ越している、ってのがこの世のクズの実態なんだよね。
本当に出来るやつは、やってみたいと思ったときには着手している。
やってみたいと思ったならッッ!!
すげぇ今更な質問したいです、先生! 防衛ゲームって何ですか!
あれだろ、ボクシングのチャンピオンの
話の流れ的にタワーディフェンスのことになってると思うけど。
ゲームのウィンドウに何とかハートマークを表示することはできないでしょうか 最近の商業ゲームでは普通にやっていますが Nscripterなどの同人用エンジンでは不可能でしょうか
何とかハートマークって何ぞ? 何とか(して)ハートマークを表示するってことか?
そうです、ハートマークを表示する方法を何とかして知りたい、というつもりでした
UNICODE対応のノベルツールでも使えばいいんじゃないかな 試しにVCで表示してみた unsigned short str[2] = {0x2665, 0}; TextOutW(HDC hdc, 0, 0, str, 1); SetWindowTextW(hWnd, str); クライアント領域には普通にハートが出たけど、ウィンドウタイトルには「?」しか出なかった
>>623 「ゲームのウィンドウ」ってどのウィンドウのこと?いっぱいあるんだけど・・・
これはフォントとして表示したいということ?それともキャラクターやエフェクト?
いや、テキストを表示させるウィンドウを想定しています。
>>626 さんのいうウィンドウタイトルは一番上のバーですよね・・・
とにかくNscripterで試してみたがダメだった。たぶん無理じゃね?
>>628 ざっとググッてみたら吉里吉里というソフトが外字を使用可能らしい
簡単ではなさそうなんで、専用スレとかで聞いてみたらどうかな
商業ゲームではハートマークなどは単なる画像として用意しておくのが普通じゃないのかな 外字のハートマークだとフォント依存だし NScripterでテキスト中に画像埋め込めるかは知らないが、吉里吉里はできるようだ
おっしゃるようにNscripterではムリっぽかったんですよね キリキリではできるとのことなので、調べてみます ありがとうございました
吉里吉里じゃないと僕ダメなんだよ お願い、寒い目で見つめないでよ
for( i = 0 ; i < MAP_HEIGHT ; i ++ ){ for( j = 0 ; j < MAP_WIDTH ; j ++ ){ if( MapData[ i ][ j ] == 0 ){ DrawBox( j * MAP_SIZE , i * MAP_SIZE , j * MAP_SIZE + MAP_SIZE , i * MAP_SIZE + MAP_SIZE , GetColor( 255 , 0 , 0 ) , TRUE ) ; 上の方法でマップを表示 0の場所(地面)と主人公の当たり判定は if ((主人公のX座標>地面の座標)&&(主人公のX座標<地面の座標) || ・・・・・) といった感じに判定したいのですが 地面の座標はどう表記すればよいのでしょうか 別の変数に入れて判定・・・?
>>634 それだけじゃ分からん。主人公のX,Y座標は整数か?
根本的にやり方が違うかなあ。 MapData [ (int) (player_x/MAP_SIZE) ][ (int) (player_y/MAP_SIZE) ] で主人公左上のマップが何か判る。 MapData [ (int) ((player_x+MAP_SIZE-1)/MAP_SIZE) ][ (int) ((player_y+MAP_SIZE-1)/MAP_SIZE) ] で主人公右下、という要領で。で、取れた値が0なら接触判定。 俺はこうしてる。
すみません。いわゆる「ホーミングレーザー」的な軌跡を描きたいのですが、 1.キャラの周囲で「一定パターンの弧」を描き、 2.僅かにその慣性を残しつつ対象へ突っ込んで行く これをみなさんはどう実現してらっしゃるのでしょうか? 今頭の中で思い浮かぶのは、 1.乱数入りの半径rの弧を、角度を割りつつ180°前後進む。 2.弧を超えたら、対象地点へ直進させつつ、到達時間までに弧を描く補正数値を増減させる。 もしくは ・時間あたりの角度変更に制限を付けた弾を後ろから発射する という2つなのですが、 ・綺麗に通った軌跡(曲線)を描く方法(最終的な描画は3D orz) ・軌跡を綺麗にする計算式など定番の実現手段 すらもよくわからず・・。。 何か断片的にでも参考になりそうなURLなど、情報を頂けると幸いです orz
予め座標をテーブル化
>>639 なる程。変に角度計算とかで負荷をかけるより配列化できる部分はそうした方が
良いのかもですね。 ありがとうございます。
当方プログラマーです。同人ゲームで使うモデルデータが欲しいのですが、どうやってスカウトすればいいでしょうか? まだプログラムが動くか動かないかのレベルなので、どうしたものやら。
>>641 市販モデルやフリーのモデルを使って魅力的な動作デモを作ってから募集をかけるといいよ
動作デモまで行ってないなら、スカウトとか考えるのは図々しいと思う
>>641 過去に実績があれば別だろうけどプログラムが動くか動かないかの段階だと
まともな人からはまず相手にしてもらえない。
動くものを作ってから協力してもらえませんか〜みたいにすれば
そこそこいい返事は貰えるから、プログラム頑張れ。
人型モデルならposerが.xにエクスポートできるはず
お、PoserはX吐けたのか。 参考になったぜ。
646 :
641 :2010/01/19(火) 22:07:39 ID:lSzuBnWp
モデラー使えないんですよね。 血反吐を吐きながらゴミモデルでテストするしかないんですかね。 やだなあ
プログラマーなら簡単なモデルくらい用意できるだろ 作る必要なんかない、ただのプリミティブで良いんだぞ?
プログラマーとか奴隷だから。文句言うならモデル作りの技術の一つくらい習得しろ
649 :
644 :2010/01/19(火) 22:50:06 ID:qyRtMTRw
>>649 了解〜、何だかんだでxまで至れるのは大きいね。
なんか面白そうなサイトを先日知って、スレ立てようとしたが規制で無理だった。
気が向いた人いたら立ててくれ。
【スレタイ】
ゲームを作成して共有するサイト - Rmake
【本文】
Rmakeは、ブラウザ上でゲームを作成して共有できるサイトです。
http://rmake.jp/ ↑要はツクール+ニコニコみたいな感じのサイト
■作成可能ジャンル
2DアクションRPG(クリック攻撃型)/2Dコマンド式RPG/ノベルゲー
・ドット絵制作可能(サイト内エディタ/アップロード両対応)
・音楽アップロード可能
DirectX9のジオメトリインスタンシングについて質問です。 これはインスタンス別の情報(変換マトリクスや色)をメッシュとは別の頂点バッファに格納して ストリームに流すことで、一度のDrawPrimitiveで多数のメッシュを描画するものですが、 毎フレーム、位置が変わるものだと、その頂点バッファをLockして書き換える作業が入ります。 Lockが入ると、時間がかかってしまい、ジオメトリインスタンシングの恩恵をあまり 受けられなくなると思うのですが、このテクニックは、ゲーム中で動くことのない、 多量の同一メッシュの静止物に有用ということでしょうか? 毎フレーム動くものに関しては、Lockが不要で、DrawPrimitiveも一回だけで済む、 シェーダーの配列定数を利用した方法(InstancingサンプルのShader Instancing)で 描画するのがセオリーでしょうか? この方法は速度がGPU依存なので、良いとは断言できないと思いますが、 ミドルレンジのグラボ以上であるとして、おおよその傾向は上記の通りになるでしょうか? 一般的にはどうなのかが気になります。 よろしくお願いします m(_ _)m
動く床をマップチップ?とやらで配置できますか?
もう少し具体的に言いますと キャラクターが乗っかるとしばらくして画面下に落ちていく床です
どこが具体的なんだよw RPGなのかアクションゲーなのかもわかんねーじゃねえか
ごめんなさい 横スクロールのアクションゲームです マリオにもあった落とし穴的な地面です
要するにちくわブロック作りたいって事か? 可か不可かで問われれば当然可だけどな
質問です まったくのプログラム初心者なのですがこれからプログラムを始めるにはどの言語がよいのでしょうか? 書店などで見てるとC言語がメジャーなのでそれにしようかと思ってるのですが… 作りたいゲームのタイプは初代信長の野望のようなシミュレーションです
>>658 俺はCで信長の野望みたいなゲームを作ったことがある
だからそれでok
プログラム初心者とか関係なく 頭が悪ければ何やっても駄目
>>658 どういう媒体で自分が作ったものを公開したいか次第だけど
C言語で問題ないと思う。
ゲームやSLG作ったことなければ、最初は本や他の人が書いた
作例で基本的な構造やアルゴリズムを勉強する事になると思う。
また画面に絵を表示したりする関数なんかないから
言語とは別に、たとえばWindowsならWindowsAPIとかDirectX
とかも勉強しないといけない。
でもそれらの例や情報は、ほぼCかC++とかで書かれているので
CやC++読めないと情報集めも勉強もできない。
なんらかのライブラリ使う場合でもFlash使う場合でも同じ。
またもし今後JAVAやC#とかを勉強するにしても、Cと基本は
似てるので勉強したことが無駄にならないメリットもある。
というかそれらはCから出来た言語なので当たり前だけど。
663 :
名前は開発中のものです。 :2010/01/28(木) 15:15:35 ID:eDEdhe8+
はい。
>>659-662 ありがとうございます、C言語から頑張って勉強しようと思います。
>>660 自分は卓ゲ板は行かないので別人だと思います…
どのくらいの容量があるか分からないログファイルをグローバル配列に格納したいんだが、いい方法ないかな 思いつくのは予め多めに取っておくかmallocか
>>665 STLのvectorとかにpush_backしていけば?
>>666 フルスクリーンでDirecrtX起動して、ALT+TABだったかな。
でもOSとかで挙動が異なるかもしれんし参考まで。
>>666 他の環境で試してないからなんともだけど、NotResetがそのうち帰ってくる場合しか経験したこと無いからわからん。
フルスクリーン周りではいろんな操作でリセット可能なロストは起きるが。
横シューティンゲームを製作中なのですが、敵として設置した砲台が一基しか弾を発射してくれません フォアで砲台の数分回して、その中でさらに砲台から出て欲しい弾の数分フォアでまわしてその中に弾の処理を書いているのですが、 なにがいけないのでしょうか?
フォア=forか、何かと思ったぜ。 ちゃんと砲台に発射命令が渡ってるのか、 弾オブジェクトがひとつしか作成されないのか、 表示されてるのがひとつなのか(たとえば同じ場所に全部表示してしまってるとか)、 いろいろ可能性がありすぎて、なんともいえない。
知りません。
for(h=0;h<HMAX;h++){ for(ht=0;ht<HTMAX;ht++){ if(htama[ht].htflg==0&&keycnt>15){ htama[ht].htflg=1; keycnt=0; htama[ht].htx=thu[h].hx-a4; htama[ht].hty=thu[h].hy; htama[ht].htvx=cos(RAD(thu[h].kaku))*TSPEED; htama[ht].htvy=sin(RAD(thu[h].kaku))*TSPEED; break; } } } って感じにプログラムを組んでるんですが ちなみに、HMAXが砲台の数で、HTMAXが砲台の弾の数を表しています また、砲台と砲台の弾はそれぞれ構造体で宣言しています 弾フラグに関しては、砲台の位置をセットする関数内で、一緒にフラグを初期化しています
keycnt=0;
678 :
666 :2010/01/29(金) 21:42:20 ID:MZ7dI4Xs
>>668 >>670 ありがとうございます。
実験してみたところ、自分の環境ではALT+TABだと、D3Dデバイスがぶっ壊れてしまうレベルの
ロストではなく、単にリセット(+一部リソースを作成し直し)で済みました。
基本的にこれだけ対応しておけば、ほとんどの環境で大丈夫かな、と思ったり・・・
実際、個人で配布されているゲームってどれくらいデバイスロスト対策をしてるんでしょうか?
自分が以前買った同人アクションゲームでは、フルスクリーン時にALT+TAB後、復帰できませんでした。
長時間キリがつかないようなゲームでなく、ウィンドウモードとフルスクリーンモードの切替もない限り、
デバイスロスト対策ができていなくても特に問題ないのでしょうか?
環境によっては、これが致命的な問題になることってあるんでしょうか??
テーブル処理かな?
>>678 切り替えが無くてもフルスクリーンモードで起動する場合は、通常のロストからリセットまでの対処は必要。
何らかの条件でフルスクリーンのフォーカスが離れるときなど、普通にロストする。
ALT+TAB、メッセンジャーのポップアップ、Windowsの更新通知、フルスクリーンの右上端をクリックetc.
あとロストをリセットしても、環境によっては
デバイスの一部の値は元通りにならず、falseなってたりする場合もあるから注意。
例えばVista環境における、Lightの有効/無効値など。
> 実際、個人で配布されているゲームってどれくらいデバイスロスト対策をしてるんでしょうか? マウス操作の関係上フルスクリーンにしたかったので、俺はした。
683 :
666 :2010/01/30(土) 20:15:51 ID:qsvElwTy
>>681 >例えばVista環境における、Lightの有効/無効値など。
それって固定パイプライン機能のことですか??
すべてHLSLシェーダでやってる分には問題ないでしょうか?
>>682 ありがとうございます。
参考になります。
デバイスリセット+D3DPOOL_DEFAULTリソース作り直し+シェーダ、フォントリセット
だけであれば、割と簡単にフレームワークに組み込むことができました。
これで何とかなりそうです。
ジャンプの動作はfloatの方がいいって本当でしょうか?
自由。目的による。 どういう意図で質問しているかわからない。 情報が少なすぎて何もいえない。
ゲームを妄想したが、技術は0だし、来年は受験だから今は始められない。 この気持をどうすれば?
諦めろ 諦められなかったらゲームクリエイターになるしかない
諦めます。さよならです。
689 :
679 :2010/02/02(火) 22:32:25 ID:7u4XScSi
あんまり賢い方法とはいえないかもしれませんが、自己解決したので方法でも書いておきます。 基本的には配置したマップチップの周囲8チップが(配置したのと)同じチップかを調べ、 それをもとに配列から(各タイル素材の一番左上からの)オフセットを取り出しています。4マスなので4マス分用意。 ただ、これだと2の8乗で256通りあり、とてもデータを用意するのが面倒です。 仕方ないので上下左右(2^4 = 16通り)だけオフセットを用意して、 斜めにチップが存在するときにifで分岐して別のオフセットを使わせるようにしました。 もっと簡単な方法があったら知りたいです・・・
floatとintで当たり判定をしたいのですが、どのようにすればよいでしょうか?
intをfloatに変換すればいいじゃない
俺は逆でやってる
最初から統一していない時点で死んでるんだけどね。
統一っていうか内部で浮動で持ち表示は整数だから
ジャンプの後落下する処理を行わせてるんですが 地面ブロックを貫通してしまいます ピタッ!と地面ブロックの上で止めさせる方法ってありますかね? 座標指定のやり方を(y=MAP[y][x])っぽく可能にするやり方はありますか?
y += fall(); for(int i=0; i<fall(); i++){
y += get_fall_pos(); を for(int i=0; i<get_fall_pos(); i++){ y++; if(atari()){ break; } } に変更すればいいんじゃねえの
途中まで進めているゲームがあって、でも作業しないと!と思うんだけどでもやっぱりゲームの続きが気になる って時どうする?
>>698 続きが気になるようなゲームは買わない。
とある関数がどれくらい重いか計測する方法ってどんなのがある? 思いつくのは何万、何十万回かループさせて前後の時間計測 ってのなんだけど VSのデバッグ機能とかでそういうの付いてたりする?
ゲームである行動を実行するとイベントが発生するようにすることをなんと言うのでしょうか? 自分で探すとどうしてもパターン認識とか言う用語になってしまいます。 幼稚な質問ですが教えていただけないでしょうか。
トリガーとかイベントドリブンでいいのかな?
705 :
703 :2010/02/06(土) 22:32:14 ID:0+vYL3dl
それプログラミング用語でしょ この場合はフラグじゃないのか
プログラミング用語で何か問題でも?w
ゲームである行動を実行するとイベントが発生するようにすることをトリガーとかイベントドリブンと言うのかい
トリガーはともかくイベントドリブンは無いな プログラムの実行形式だし
個人的なイメージだと、フラグというと内部ステータスっぽいイメージで、トリガは文字通り成立した瞬間に何らかの反応がある感じ?
俺もそれに近いイメージだな。 瞬間と言っても、設計ミスでトリガに対して1ループ反応を遅らせても あまり問題にならないが。
イベント駆動と言う。 ラウンドロビンに対して割り込み処理のような表現もある。 トリガは、何かのきっかけであり、トリガから別のなにかを起動させる。 Windowsのマウスでクリックなどがイベント駆動である。 通常は、トリガを許可に設定、イベント時に実行する事を事前に用意しておき、 OS側から戻ってくる指示を待つ。 アプリ側がすべて受身であると思えばよい。
だからそれはゲームである行動を実行するとイベントが発生するようにすることと関係がないでしょ
おまえらおちつけ
チラ裏。 プレイヤーの視点や立ち位置って、どうするべきかちょっと迷うなあ。 芝居に例えるとして、キャラクター視点、役者視点、観客視点、監督視点…など、色々あるけれど、 監督なら監督、キャラならキャラの視点というように、可能な限り1つの視点に固定した方が、 ゲームとしてはシンプルになるよね。 でもやっぱり監督も役者も両方こなせないと、プレイヤーは不満なのかなー?
windows vistaからゲームのセーブファイルはマイドキュメントに作るように MSが推奨してるみたいですが これって本体EXEがCドライブのProgram Filesなどの 重要なディレクトリにある場合で、 そこで気安くファイル作ったり書き換えしたりするなってことですか?
718 :
716 :2010/02/08(月) 20:05:42 ID:UcxFrik4
>717さん どうもです。
ゲーム向けの素材でこういうのあったらいいのにと思うことって何がある? ○○な所多いけど△△だったらゲーム作るときに使いやすいのにとか
アクションゲーム向け素材、不足しまくりなんだが
アニメーション付き画像、モーション付き3Dモデルは少ない。 手間がかかるから当然と言えば当然なんだけど。 個人的に「歩く」「走る」「ジャンプ」「剣を振る」のモーションが付いてるローポリモデルがほしい。 結構定番そうに見えるけど探すと全然見当たらないので・・・ プログラマーだとこの程度の仮モデルを作るのも大変なんだよなあ。
>>697 ありがとうございます
y座標を地面マップチップのちょうど上の部分で止める方法もあるのでしたらお願いします・・
落下速度をちょっとずつ加速しているのでブロックに当たってからだとめり込んでしまいます
ドット絵のサイズって32*32とか64*64とか中途半端なのが多いけどなんで? 50*80とかだとプログラム的にやりにくいとかある? 立ち絵とかイラスト系のサイズもそれっぽいのにしておいた方がいいのかな
>>725 基本的にサイズは2の累乗(32、64、128、256、・・・)であることが推奨されてる。
人間にとって10で割り切れる数は扱い易いけど、コンピュータにとってはそうではないので。
ビデオカードや環境によっては2の累乗のサイズでないと読み込みすらできないこともあるしね。
偶数サイズならまだマシだけど、ドット単位で詰めてあるとか、奇数サイズとかはマジで勘弁してほしい。
101ドットのサイズで「ピッタリ中央の50.5ドットの位置に表示させて下さい」と言われても困るんですが・・・
そもそもDirectXのテクスチャ表示は2の累乗のものしか不可能 足りない場合はその分を補完しているので低速になる
>>725 基本的には
>>726 や
>>727 が理由。
DirectXなら読み込んだ後に画像の特定領域だけ使うことは可能なので、2の累乗になるまで余白をつくっときゃいい。
729 :
725 :2010/02/10(水) 11:40:58 ID:OyaYNikb
>>726-728 今まで好き勝手描いてたから色数は気にしてもサイズは気にしなかったんだよな
ゲーム用に描くならそういうの気にしないとだめなんだな
16*24の絵を使いたかったら余白入れて32*32にしておいてその内の16*24だけを表示するってこと?かな
でも結局24ってサイズは推奨されてないから使わない方がいいのか?
取り合えず2の累乗で色々ぐぐってみる
ありがとう
DXライブラリみたいなOpenGLラッパーってないですかね
たくさんある
空中にいる間はプレイヤーのY座標(PlY)を(PlY2)に入れ続け 地面に足が着いたらY座標にPlY2を与えて地面に入り込まないようにしたいんですが うまくいきません・・・どうしても地面の中にもぐりこんでやっと落下が止まります if (主人公が空中にいるなら) PlY2=PlY if (主人公が地面に当たったら) PlY=PlY2 おおまかにこんな感じで実現可能ですか?
>>732 地面の座標をもとにプレイヤーの座標を修正する方法のほうがいいと思うがそれをおいとくと
難解だな
(loop)
{
...
py += 2;
if (py < 10)
{
pyold = py;
}
if (py >= 10)
{
py = pyold;
}
}
で、pyが10以上にならないことは一応実現可能に思える
キャラ4人+サブキャラ(シルエット、差分なし)1人 キャラデザ+立ち絵原画、彩色(ポーズ差分5枚ずつ) キャラデザは全身、立ち絵のサイズは太ももで切れるくらい。 一枚絵を1枚(タイトル画面用) って報酬どれくらい用意すればいいだろうか? ジャンルはADVでフリー配布。 仮画像いれて既に完成済み。(絵を入れ替えるだけ) 特にこの絵師さんにっていうのはないから仕事募集してるイラストサイトを回ってみて連絡取ろうと思ってる。 あと、どれくらいの時間がかかるものかも知りたい。 希望はないけどやっぱ何日までにとか言った方がいいのかなーとも思うし。 ピンキリだろうけどピンもキリも全く予想つかないので大体の相場教えてください。
>>733 >地面の座標をもとに…
それは地面上部分の座標をプレイヤー座標として与える、ということでしょうか?
おおまかに教えていただければ幸いです
最後に PlY = max(PlY, 地面の高さ); とするとかではだめなのかな?
地面と地上の当たり判定 ↓ 当たってるならプレイヤーの座標を地面の上へ ↓ 表示 でウマー
訂正 プレイヤー移動処理 ↓ 地面と地上の当たり判定 ↓ 当たってるならプレイヤーの座標を地面の上へ ↓ 表示
ジャンプ処理で地面との重なり検出で行なう場合、 処理が遅くてフレームレートが低いとめり込んだり、貫通する。 そのような時は、レイ(光線)で地面を検出し、地上高さを計算するとよい 幅を持って検出し計算結果から求めるから正確であるが、 同時に他のもの(壁など)を検出できないので工夫が必要。
>>734 ここで相場は1枚10万って書いたらその金額払うわけ?
金額も作業時間も人によって全然違うから相場聞いても
役に立たないよ。アマチュアの場合は特に。
悪いことは言わないから、何人かに仕事として依頼して
金額と納期聞いて、その中から自分の財布と相談して
一番納得出来る人に依頼した方がいい。
おそらく
>>732 は
プレイヤー移動処理
↓
表示
↓
地面と地上の当たり判定
↓
当たってるならプレイヤーの座標を地面の上へ
の順でやってるんじゃないか
>>738 だったらフレームレート関係なしに大丈夫な気がするけど
>if (主人公が空中にいるなら) >PlY2=PlY 主人公が空中にいる間しかPIY2が更新されないはずなのになんで >if (主人公が地面に当たったら) >PlY=PlY2 の処理で地面にもぐりこむのだ? 適当なこといってんじゃねえよぼけが
>>741 1枚10万って言われても信じるくらいには相場知らないから聞いた。
少なくとも10万だと高い部類に入るってことは分かったけど。
>>何人かに仕事として依頼して金額と納期聞いて
複数の絵師に同時に依頼して金額話し合って絵師を決める(他の絵師を断る)って失礼じゃないのか?
>>739 ,
>>741 レスサンクス。
よく分からんし諦めるわ。
立ち絵以外はできてるしこのまま配布してみる。
>>744 >複数の絵師に同時に依頼して金額話し合って絵師を決める(他の絵師を断る)って失礼じゃないのか?
すごいなビジネス感覚0だ。
最近のゆとりってみんなこの程度なのか?
まあ絵無しのadv配布するくらいだし適当なんだろ、ゲームにかける情熱とか色々
地面にめり込むのは落下速度が1ずつ加算してるからなんでしょうか 地面上の座標を直接指定したいのですがマップチップ表記だと単純にy=○○ってわけにはいきませんよね レイで判定をすると地面までの距離によって落下速度を調整してぴったり着地、 といった具合に出来るんでしょうか グラフィックの表示は最後にやってます プレイヤー移動→当たり判定→表示 です
>>746 >>何人かに仕事として依頼して金額と納期聞いて
複数の絵師にこういう絵を描いてくださいって依頼して、金額とか納期とか聞いて話し合って、その後で断るんだろ?
みんな普通にやってんの?
絵師がすぐに描き始めてくれたらどうすんの?
その描いた絵とか時間とか無駄になるじゃん
>>747 絵はあるよ
仮画像として自分で描いていれてた立ち絵をそのまま使うってこと
なにはともあれちょっと試行錯誤してみます ありがとうございました
>>748 前回のポジションを覚えておいて、前回と今回を結ぶ線分と平面(地面)の交差点を求めてみては?
(コリジョンが取れているなら既にやっているのかもしれないけど)
>>749 見積もり依頼って、普通にあるだろ
まずは仕事として依頼した場合の対価や条件を聞くってことだよ
なんでそれだけでいきなり絵師が描き始めるんだよ
ちょっとは常識的に考えろ
>749は何歳なんだ? >絵師がすぐに描き始めてくれたらどうすんの? 上の例だと1枚10万ってあるけど、描き始めてくれたからって1枚10万払うの? 落書きみたいな絵を10枚ばかし渡されて100万円ですって言われたら素直に払うの?
マップチップ表記のy座標はそれにチップの大きさ掛ければ普通の座標出るじゃん
ソースコード晒せよ。コミュニケーションが目的で問題を解決するきねえだろおまえ
アクションツクールでゲーム作ってるんですが これは
アクツク難しいらしいね
758 :
716 :2010/02/13(土) 20:20:25 ID:rCBSpxSw
ワイドモニターって16x10 と 16x9 どちらが主流ですか?
くやしいかな、16*9が主流になりそう
個人でゲームを作るにあたり、自身が好きというわけでない作品の二次創作をされてる方はいらっしゃいませんか?
友人主導のプロジェクトを、PGとして手伝ったことくらいなら
作ってるゲームの変数が全てグローバルなんだけど これってあんまりいい事ではない?
本当はダメ。 でも動けば勝ち。 悪習は、徐々に直しておけば問題無し。
全てグローバルって逆にめんどくさくね
>>762 そういう質問するっていうことはもう知ってるんじゃないの?
どの入門書にも「グローバル変数は極力使わないようにしましょう」と書いてあるね。
いっかいそのままやってみて、どうなるか試してみるといいよ もし、なにも問題なければ別に気にしなくていい
何かしらのプロジェクトに参加するときに苦労するかもしれない しかしその程度
逆にグローバル1個も使っちゃ駄目なんかなと思ってしまう
言語にもよると思うけど、JavaやC#は仕様としてグローバル変数がサポートされていない。 必然的にグローバル変数は一つも使えないし、使えなくても何も問題無いよ。
グローバルなくてもできるけど使わないと面倒になる所がある
環境変数や外部ファイルはグローバル変数だから使用禁止。XMLとか廃止。
それはプロセス間通信
リプレイデータ用の操作データ保存はやっぱり連結リスト使うのがいいのかねえ
20〜30行くらいのちっちゃなプログラムならグローバル余裕な悪いPGです。ごめんなさい。
2、30行ですむプログラムってなんだ、、
そもそも2,30行なら全部mainの中にぶち込めばいいんじゃないか
ラノベ作りたいんだけどどこいけばいい?
ラノベ製作ツールスレ
>>777 ラノベはゲームではないので板違いですよ。
ライトノベル板がある
ごめん間違えたサウンドノベルだwww
もしかして:ビジュアルノベル
プログラムするときの XYが座標だっていうのは確定してて あとDだのAだのってのは式しだいでなんでもいいってことですかね?
違うみたいですね すいません
すごい質問だなw
>>783 ほほ、かわいいな。
色塗りが丁寧だったら、十分イイゲームになると思うよ。
HSPでposに当たる命令ってJavaScriptだと何になるんですか?
posがどういう機能なのか言えば当て勘で答える
どうもすいません
ゲーム製作に挑戦したいんですが、2DゲームならPCのスペックはあまり気にしなくてよいでしょうか。 あと、windows7だとデメリットはありますか?
とりあえず作ってみて処理落ちするようなら考える、みたいな。
ありがとうございます。実家から離れるので自分用のPCを買おうと思ったんですが、 高いのを買えないので不安だったんです。
XPで快適に動いてた自作ゲームがwindows7ではカクカクした。デスクトップのテーマをクラシックにしたら動いたけどね。
それは困りますね。今PCを買うとOSはほとんどが7でしょうか。 一部法人向けにXPがあるようですが。7に対応してないソフトもありますよね。 ありがとうございます。
aero切ってフレーム前なんとかを0にするって奴だろ
Google chrome osが状況を一変させる可能性がある。 Wineが乗れば大体の2Dゲームは動くと思われる。
ないない
どーかなー?
DirectX7で作られたゲームとかはWindows7ではかなりパフォーマンスが悪い場合があるな DirectX9で作れば問題ない
>>800 ベースがLinuxカーネルじゃん
だとしたら別にDebianでもFedoraでも同じじゃね?
>>804 これはLinux+ウィンドウシステム?
Linuxでした。
htmlでのゲーム説明書の作り方を 解説しているサイトがありましたら教えてください。
>>807 htmlビルダー使えば終わりだろ
何がしたいんだ?
>>808 ありがとうございます。
エディタは普通のテキストエディタ(JmEditor)を使っています。
また、htmlの技術というよりは、○○は書いた方がいい、
ページ構成はこうした方がいい、フレームは使わない方がいい、
とか、ゲーム説明書ならではの注意点とかを勉強したいです。
説明書の書き方を載せてるところは見かけた記憶がないな 今時は説明書見なくてもある程度はゲーム内のチュートリアル+ゲーム内の説明で遊べるようになってるのが多いし あんま重要性が高くない気がするが
>>810 確かにプレイしながら説明してくれるのは便利ですよね。
難しいゲームだと、htmlだけだと読むのが大変だったりしますし。
こちらの製作を試してみたいと思います。
ある程度ゲームの説明を自分で書いて、 テストプレイヤーにプレイしてもらって、説明書の不備を挙げてもらい、 そこについて書き足すとかって感じがいいんじゃない? 的外れてたらごめん
昔、readmeのガイドラインみたいなのがあった気がする。 今でもあるのかな。 本格的に勉強したいなら、テクニカルライターの教本やサイトを調べるしかないんじゃないかしら…
* ソフトウェアの名前 * バージョン * 配布物に関する簡単な説明 * ファイル構成 * 動作環境 * インストールに関する情報と簡単な使用方法 * 作者に関する情報 * 更新履歴 * 既知の不具合 * トラブルシューティング * 謝辞 * 著作権情報とライセンス情報 * (シェアウェアの場合)レジストキーの入手方法、試用期間中の制限事項
816 :
名前は開発中のものです。 :2010/03/04(木) 18:48:44 ID:NCTj6BnY
HSPでアクションゲームが作りたいんですが、画面サイズのことで悩んでます 一般的にゲームの画面サイズってどれくらいにあわせればいいんでしょうか? やはり、640×480なんでしょうか? よろしくお願いします
win95時代に軽い3Dゲームの作り方を聞いたら 視点変更(カメラの上下)はそれほど使わないので 視点変更したときだけ各キャラをポリゴンアニメパターンから8方向分全部書いて それを2Dキャラに写して ゲームのほとんどが2D処理という、なんちゃって3D処理でした 今ならDirect3DとDirectDrawを比較して ポリゴン処理とBitbild描画と速度が同等になるのは理論上どのくらいが目安なんでしょう? やはりなんちゃって3D処理のほうが圧倒的に早いのかな?
>>816 市販のゲームで640×480を最低の解像度としているものもあるのでそれで良いと思う。
3Dゲームだとオプションで解像度を変更できるものもあるね。
高解像度にするとPCの必要スペックも上がるのでそこだけ注意しておけば良いかと。
>>817 現在、主流となっているDirectX9ではDirectDrawは廃止されているので比較できないですね・・・
2DもDirect3Dで描画するのであえて言えば全く同じ速さということになるかな。
820 :
名前は開発中のものです。 :2010/03/04(木) 22:28:19 ID:NCTj6BnY
821 :
名前は開発中のものです。 :2010/03/05(金) 15:31:29 ID:ye8GM6Ys
トランプのゲームを作るにはどうすれば良いですか?
DirectDrawを使うならDirect2Dで
>>821 その質問では何を知りたいのか分からないよ。
>>821 トランプ買ってきて面白そうなルールでも考えれば?
バグってコンピューターにとっては意味があるの? 動けないはずのところに入っていってプルプル震えてたり 連打したら抜けれたりするのはそれなりのちゃんと決まりがあるの?
またこの板にふさわしくないお子様が紛れ込んだようだ。
いえ
>>825 コンピュータはプログラムされた通りにしか動きません。
つまりちゃんと意味のある動作をしています。
そもそもバグの定義も曖昧でユーザーによっては「裏技」と呼んでいたりしますしね。
人間が意図してないってだけでコンピュータにとっては必然ってことですかね?
じゃあプログラム言語で矛盾があっても 動いてる段階でマシン語では矛盾してないってこと?
>>832 プログラム言語に矛盾があればマシン語に変換されても矛盾も残ったままのハズです。
>>825 のバグもゲーム仕様的にはおかしくてもプログラム的には矛盾していないのでちゃんと動作しているということです。
そうなんですね ありがとうございます
ID:P0gRaOUw 下手な親切心は余計なお世話になるから気をつけろよ?
自戒してるんだね
Visual C++ 6.0 って古いの使ってるんですがソースエディタとかの背景色って変えられますか? できれば変え方を教えてください。
>>837 メニュー→ツール→オプションでオプションプロパティシートが表示される。
その書式タブの全景で文字色、背景で背景色を設定できる。
>>838 目的が達成できました。ありがとうございます。
mission completed!
おめでとう!!
アクションゲーム作ってるんだが 自機に敵がいる座標に動けない、敵にも移動する場所に自機がいたらそっちに動けないってコードを組んだ。 例 ) 自機が上に移動する場合(24.5)→(24.4)に敵が居たら行けない。敵も同じ でも何故かこれだと敵が移動する一瞬、逆方向に自機が行こうとすると何故かすり抜けてしまう… なんでだろう?ちなみに余談だけど、学校のPCにあった先輩が作ったHSPのゲームにもこのバグを発見した。 確かこのゲームはなんかのHSPの入門書に載ってたような…敵に触れずにアイテムを取るゲームなんだけど かなり初歩的なバグだよね?コレ 回答くれたら嬉しい。
状況は見ないと分からんけど、たぶん初歩的なもの。 1.敵と自機を動かす 2.移動先に他のオブジェクトが居たら移動キャンセル みたいな処理をしていると、移動速度とタイミングによっては、 座標が入れ替わる形ですり抜ける可能性があるのは容易に想像できると思う。
自機(24.5)→(24.4)→(24.3) 敵機(24.3)→(24.4)→(23.5)とかじゃねーの?
CPUって1500MHzとかのクロックで各マシン語を数クロック消費しながら実行してるんだけど 一定のスキャンで入出力処理を終えるまでは結果が反映されない だから同一スキャン内で両者の移動処理をやっちゃうとそうなる ソフトのメインループの話じゃなくハード上の話ね
クロックとマシン語の話は必要か?
>>843 図々しいかもしれないけど、じゃあどうすればいいかな?
街の人が動く瞬間に勇者がすりぬけるゲームなんて無いし
その手のゲームはどういうコードを組んでるの?
教えてちょんまげ;
まず移動がキャラ単位かそうでないのか つまり1マス毎に移動するものかそうでないかによって変わってくるなあ 話聞いてるとマス毎に移動するものに思えるけどそうじゃないのかな
単純に考えれば移動量を含めてあたり判定すればいいんじゃないか?
まあ取りあえず効率無視して単純に考えると 自機更新→衝突チェック・衝突の場合自機座標調整→敵更新→衝突チェック・衝突の場合敵座標調整 で上手くいきそうな気がするけど
>>848 説明がすくなくてスマン、マス単位なんだよ
やっぱりそうか マス単位じゃなければ移動ドット余程大きくないとすり抜けない気がするからな 俺思うに 自機(24.5)→(24.4) 敵機(24.4)→(24.5) とやってから衝突チェックしてるからチェックすり抜けてるんだと予想
853 :
843 :2010/03/09(火) 08:19:26 ID:Ouz29brI
>>847 マス目単位だったのか。
そうかな?とは思ってたけど、アクションゲームだから違うかなって勝手に判断してた。
んで。
時機の移動と敵の移動を同時に行うから問題が起こるわけで
A-1.自機を動かす
A-2.自機が他オブジェクトに当たっていたら移動キャンセル
A-3.敵を動かす
A-4.敵が他オブジェクトに当たっていたら移動キャンセル
もしくは
B-1.自機の移動先をチェック
B-2.自機の移動先が空いていればそこに動かす
B-3.敵の移動先をチェック
B-4.敵の移動先が空いていればそこに動かす
ってやれば問題ないと思われる。
要は、複数のオブジェクトの移動処理を同時にやっちゃダメ、1つずつ解決しろってことね。
このタイミングを間違えると、すり抜けたり、同時に同じマスに入ったり、逆に入れなかったり(野球などで言うお見合い)するわけだ。
あと、この場合は考えなくてもいいけれど、
2マス以上動くようなオブジェクト(将棋の飛車など)がある場合、別の対策を考えないとやっぱりすり抜けるので注意。
移動チェックの直後に移動させると発生する初歩的ミス 全オブジェクトの移動チェックしたらまずは移動可能フラグだけ立てる それが終わってから移動処理
>>842 だから総当りでやれっていったのに
各オブジェクトを個別に動かせばそんなことは起こりえない
>>854 のやり方だと同じマスに入るバグが発生する予感
移動先の重複チェックはいるね オブジェクトの同時性が重要でなければ853でいいと思われ
>>853 のBのやり方でいいんじゃないか
俺が
>>850 で言ったことと同じだが
その際マス移動なんだから配列を用意して自機、敵がいる座標にチェックを入れれば衝突チェックがかなり効率化されると思われ
例えばそのマスに何もない場合0、自機がいる場合1、敵なら2とか
いわゆる「差分パッチ」って、VSの機能で作ってくれたりしないの? 外部ツール使わないと駄目?
バイナリファイルの中身を直接弄るようなパッチファイルって 最近あんまり見ないなあ。 非公式なら別だが。
ファイルを潰す危険性を考えるなら 差し替えるほうが安全だしなあ
規制で亀だが皆さんサンクス!
ファイルをつぶす可能性なんてないだろ、パッチ処理が信用できないなら圧縮展開処理だっていっしょ
対象のファイルサイズが物凄く大きい場合とか、 有志による非公式パッチの類で、代替ファイルを用意するのが躊躇われるんでもなければ そのまま差し替え用ファイルが楽な気がするぜ。 実行ファイルに限らず。
複数バージョンからのバージョンアップに対応する場合、 パッチよりファイル置換のほうが対応しやすい パッチだと 1.0 -> 1.1 -> 1.2 -> 1.3 と順番にあてないといけないがファイル上書きだと 1.0 -> 1.3 で済む
差し替えだと上手く作らないとパッチだけでソフトが全部手に入っちまうだろ
えっ
ブロック崩しを作ってるのですが ブロックの真上に当たった時、ボールのx移動量*(1)、y移動量*(-1) ブロックの真横に当たった時にはx移動量*(-1)、y移動量*(1) って感じにしてるんですが ブロックの角に当たった時に挙動が狂います… どう区分すれば…
真上に当たった時 かつ 真横に当たった時 は どっちか一方の処理だけやる
SRPG(FFTみたいなの)ゲーム作るのってどの言語がお勧め? どれ使っても似たようなものは出来るとは思うんだけど、何かしらアドバイスあったらください。
>>870 目的のゲームさえ作れればいい → ツクールなど
ちょっとだけプログラミングにも手を出してみたいが本格的にやるつもりは無い → HSPなど
本職PGを目指します、ゲーム作りは単なる手がかりです → C++など
みたいに、目的によって細かく分かれる。
ツクールはないな 最近のツクールがどんなもんかは知らんけど あれって下手にシステム周り改造すると言語一つ習得するくらいめんどくさかった気がする 基本的にC++一択。どの言語選ぼうが結局完成するのに必要なのは根気と忍耐になってくる。 もし完成しなくても(9割そうだろうが)次に繋がるものを選ぶべき。
初心者の場合はC++やるならCが十分使えるようになってからやるべきだと思うが 初心者が最初からC++に手を出すと痛い目に会うのは見えてるやん
俺も初心者がC++に手を出すのはやめた方が良いと思う。
それを言うなら俺は初心者がSRPGに手を出すことはやめといたほうがいいと思うが
まぁ無理だろうな
吹いた
質問です ゲーム内で大量の件数のデータを保持する場合、 どのような管理方式を実装するのが一般的なのでしょうか たとえば、RPGツクールのアイテムデータベースのようなものです 今のところクラスの継承関係でソースにそのまま書いているのですが データ量が膨大な場合、xlsやsqlite,json などから読み込んだほうが 後々取り回しが便利になったりするのでしょうか
ゲーム内のデータはファイルを人が見てすぐわかるようにはしないほうがいい(チート対策) アイテムデータベースなら、ゲームのリリース時にはそれ以上増えたり減ったりはしないだろうから、 一覧を読み込むことだけを考えて実装すればOK 開発用に手元で管理するならexcelなんかで一覧作れば十分だと思う だた、ソースにそのまま埋め込むのだと、リリース前の変更やバージョンアップでデータ内容に変更があった時に、 手元管理の一覧からソースに反映させるのが手間なので、なんらかの自動化の手段を用意したほうがいいね 俺ならexcelのマクロなんかでソースに張り付けられる文字列作るようにするかな
excel→暗号化saveファイルでいいでしょ
ゲームのイベントシーンってどういう風に作ってるんでしょう? キャラの座標やアニメーション等動作1つごとに作る必要ある?
どういうゲームのどういうイベントシーンなのかによって全く違うが
例えばRPGで会話シーン終了後に とあるキャラが自動でドアに向かって歩く→そのキャラがドアから出たらプレイヤー操作状態に戻る って感じのイベントシーンです
簡易スクリプト
>>878 ソースコードに直接記述してしまうと少しの変更でも再コンパイルが必要になるし編集もしづらいので外部ファイルに記述しておくのが一般的ですよ。
配列じゃなくクラスや構造体でデータ持たすと面倒だね
構造体配列で持たせてるが?
>>886 つboost::serialization
データベース使ってないの?
つcdb
>>889 むしろ何故そういう疑問が生まれるのかが分からない
>>888 こんな便利なものがーと思ったけど
開発途中でデータ追加したいときどこに挿入すればいいかシッチャカメッチャカしそうだな
バージョン管理機構が付いているからその悩みすらありえない。
>>891 >>892 のような感じで、後でデータが追加されたとかを考えると
データベース使うのが楽だろ。
最終的にパフォーマンスを考慮してDBをやめたとか言うのがあったとしても、
そのDBから
>>888 を使ってシリアライズしたバイナリデータ持たしても良いわけだし。
>>894 なんか辛いことあったんか?とりあえず飯喰っとけ
>>895 >>>> 配列じゃなくクラスや構造体でデータ持たすと面倒だね
>>> boost::serialization
>> データベース使ってないの?
>むしろ何故そういう疑問が生まれるのかが分からない
シリアライザ使えばいい → DB使わないの? → は?
というかシリアライザって
>>878 の質問の答えとしてどうやって使えるんだ?
>>897 たとえばXMLやCSVみたいな形式でオブジェクトのデータを外部ファイルに記述することができる。(テキスト形式の場合)
丸見えやん?
開発時用とリリース用で出力形式を分けるか? 使いにくいな
オブジェクトとかnewし直さなきゃだめなんじゃないの? ファイルに書き出せるとかどうやるんだろ
ポインタとか自動的に辿って勝手にnewしてインスタンス作ってくれる
903 :
名前は開発中のものです。 :2010/03/19(金) 00:27:10 ID:3N01sbPC
馬鹿ばっか
なんか辛いことあったんか?(笑) とりあえず飯喰っとけ(笑)
作ったゲームのデバッグをしているのですが、 『いくつかの変数が、本来なるはずの値と違う値になっている』 というバグに直面しています。 この変数というのが、いずれもプログラム中では殆ど変更される事の無い変数で、 (中には初期化してからそれっきり、というものも) どう考えても違う値が入るはずがないので途方に暮れています。 こういう場合、バグの原因としては何が考えられるのでしょうか? なお、言語としてはC++とDXライブラリで作成しています。
DebugコンパイルとReleaseコンパイルを間違えてるってことはないよな・・・
>>905 変数の中身がいきなり変わるということはあり得ない。
間接的(ポインタ経由など)に変更しているかメモリ破壊という可能性も考えられるけど・・・多分単純なミスだと思う。
デバッガを使ってトレースしていけば原因は分かると思うけど?
908 :
905 :2010/03/19(金) 07:05:52 ID:vl8ybHIr
解決しました
>>907 さんの言うとおり、単純なミスでした
別の配列変数 var[8] に対してvar[9]=〜 とか var[10]=〜 とかやっていたのが原因だったようです
それにしても、あまりソフトのデバッグ機能をよく理解しておらず今まで殆ど使った事が無かったのですが、
こんなに便利なものだったんですねorz
次からは活用したいと思います
ありがとうございましたー
プログラミングの心得でこれだけは忘れず覚えておくべき 「プログラムは思ったとおりには動かない、書いたとおりに動く」
いい言葉だ・・・
プログラミングってのは頭でするもんじゃねえ・・・ココでするもんだぜ・・・」
下のほう
確かに君のその9mmポークビッツならキーを打つことも容易かろう。 けれどそれは才に恵まれぬ我ら凡人には望んでも叶わぬもの。 なれば、ただひたすら愚直に手を使うしかないではないか。。。 天賦の才をひけらかしたいだけの実に小さな男だな君は
どこで聞いたものかわからないからココで ゲーム製作っぽいことで赤の他人に声を頼んでるんだが、 修正できるレベルを遥か超えて音割れが酷いんだ 俺は録音についてまったく無知だからわからんのだけども、 こういう場合ってどう指示すればいいんだろうか 録音ソフトはAudacityと聞いている マイクはどういうものを使っているか知らない 音割れって、環境や機材によっては仕方ないことなんだろうか それとも、マイクから離れるなどである程度どうにかなるんだろうか
逆に考えるんだ 音声加工ソフトでノイズかけまくって 「ロボットの質の低い音声装置がしゃべっている」という設定にするんだ
>>915 その声優さん、Audacity使ってるくらいだから宅録だろうし
マイクはカラオケとかで使うような普通のダイナミックマイクでしょ
波形見て割れまくってるのが明らか(0[db]にへばり付いて潰れてる)なら
1.もしブレス(吐息、鼻息w)で割れてるとかいう面白いデータなら
マイクに息かかんないようにしてくれってお願いする
2.もし全体的に声でかすぎで割れてるなら、音量(音圧)小さめで
お願いする。(マイク離してとか、ソフト側の録音レベル下げてとか)
とにかくレベルメーターが赤くならんように録ってくれって頼む。
受け取るデータの音量が多少小さめの分にはこちら側でいくらでも調整
(圧縮、正規化、etc)できるわけだし。割れまくってるよか遥かにマシだよ
あと、自作ゲーム用の宅録、生録テクはVIP民に聞くと優しく教えてくれんじゃね?
あいつら暇そうだし
>>915 録音ボリュームが大きすぎるんじゃね?
あと頼んだ本人に「録音結果をヘッドホンで聞いて確認してから送ってくれ」とか言って
相手の問題解決能力に期待するとか
実は使ってるマイクがカラオケマイクですらなくて skype用のショボいヘッドセットのショボい小型コンデンサマイクで おまけにWindowsのマイクブーストがONになってたりという 想定外の糞録音環境かもしれないぞw
みんなありがとう
リテイクにしろ何かしら指示が必要だと思うんだけど、
とりあえずは録音時に音量下げてくれ、が適当なのかな
>>916 なにそここわい
もうすこしやり取りしてダメだったら行ってみる
>>918 お察しの通り、0[db]オーバーしまくりなんだ さすがにブレスは入ってないけど
しかし、奇跡的に(波形見る限り)オーバーしてない一部のデータも少し割れてるっぽく聞こえるんだよなあ
オーバーしてないから割れてるという表現は違うんだろうけど
>>920 想定外というか、充分可能性があるから困る
仮にそうだとしたら録音時に工夫できることってあるだろうか
まさかマイク買ってくれとも言えないし、こっちで買いたいところだがさすがにキモい
お互い相手を特定できない送金やら送品方法とか無いよなあ せいぜいWMとかくらいか
調べてみたらアマゾンギフト券がWMと似たシステムでメール送金できるんね 最終手段として考えておこう……
柔軟な発想(笑) キモ
柔軟というか詭弁
送ったWMが酒代とかパチンコ代に消えたりしてw
ネット声優は安物マイクどころか携帯電話で録音している小中学生もいる世界 おそろしいところやでぇ
930 :
sage :2010/03/20(土) 20:57:49 ID:i5F8qtI5
質問させてください。 携帯専用ゲーム(怪盗ロワイヤル)を パソコンからログインする方法はどんなのがありますか?? もちろん、携帯専用なのでパソコンからログイン出来ないのは理解しています。。。 自分の携帯と同じ環境をPC上で完全に作り出せれば可能と考えてます。 どなたかご助言お願いします。
えいぎょうぼうがい!
怪盗ロワイヤル(笑)
DeNAの開発スタッフに加われればPCからアクセスする開発環境があるかもよ。 DeNAの開発スタッフに加わる方法は就職板で聞いてみてください。そして二度と来るなw
>自分の携帯と同じ環境をPC上で完全に作り出せれば可能と考えてます。 >どなたかご助言お願いします。 助言って、もう分かってるじゃないかw
音を合成させるツールってありませんか? 複数の音ファイル(wav)があり、それらを1つのファイルにまとめたいと思っています。
あばばば。
>>937 は、複数の音ファイルを後ろにつなげていくのではなくて、タイミングとしては同時に鳴るようにしたいです。
馬鹿は死んでね
Windowsのアクセサリにサウンドレコーダってのがあって、 ファイルミキシング機能があったはず
もしくはsoundEngineでぐぐれかす
ないす!
ああ春か
そう、君がひきこもっている間に、世間はすっかり厨萌ゆる春なのです。
(企画の中心人物として活動する形で)ゲームを作りたいと思っております。 考えているゲームのイメージは大体決まってきたのですが、開発力によってどういうゲームにしようかが大きく変わってきそうな状態です。 そこで、ある人が一般に募集をかけた場合(すけぼ、mixiの同人ゲームコミュニティなど? ここら辺も詳しくなくてすいません)、 どの程度の人が集まってくれるのかを知りたいです。 もちろん、募集主の実績・スキル・性格・報酬など諸々のことが影響するかと思います。 とりあえず実績とスキルの話だけで考えたいと思いますので、“性格・マナーは問題なし(問題があるようには見えない)”で“無報酬”とします。 (他にも影響のある要素がいくらでもあるかと思いますが、それらは適当(平均)に設定してください。) で、やっと本題ですが、どの程度の人が集まってくれるでしょうか。 実績・スキルに関しては、個々に設定していただきたいと思います。 私の場合、 ・6時間程度で終わるノベルゲームの企画・スクリプト・その他雑用 ・東方程度の規模のSTG(クオリティは東方に劣りますが)の企画・プログラム・絵・その他雑用 の経験がありまして、それで募集をかけたところ、あと半歩でお金を取れるほどの絵師さんですとか、商業でも通用しそうな曲を速く書いてくれる音楽さんとかが来てくれました。 こんな感じで、「どの程度の実績・スキルなら、この程度の人が集まるんじゃないか」という経験がありましたら、教えてほしいです。 皆様の情報交換と、予測を立てるときの参考にさせていただきたいと思います。 よろしくお願いします。
いや、おまえのスキルがどの程度なのか全く分からないのだが
商品の広告と同じで、広告(募集)の仕方による 無報酬だからやりたいと思わせないと人は来ない たとえば、ここでよく言われることだけど、サイトがあって、プロトタイプを作成済みみたいに、 見える形で興味を引くようなものが提示できれば人が来やすい、など どの程度の人数が募集を目にするかにもよる 「一般に募集をかけた場合」の「一般」は存在しえないと思うよ 欲しかった答えじゃないだろうけど、やってみなきゃ分からない、としか言えない
他人のソースを幾つか見てるとフラグの部分が Flag=1; と Flag=true; の2種類あるのですがどっちを使った方がいい、とかありますか?
そのFlagが何なのか知らないが全体を通して分かりやすい方を使えばいい
昔はboolは内部的にはintだったkらどっちでも一緒だったけど、 今は意味論的に二値であるならTrueにしてbooleanであることを明示した方がいい。 とても賢いコンパイラが良きに計らってくれるからね。
適当なこと言うなよ
本気で馬鹿だろこいつ
プログラムも音楽も絵もできないから制作進行っていう発想は心から軽蔑する
対戦型パズルを作ってみたんですが、COMアルゴリズムの実装に難航しています。 まずフィールドの状態を把握させるところから始めるかと思うんですけど、ここでつまづいていまして。 囲碁のように 盤上のどこにでも置ける仕様なので、多様に変化する局面に対応させようとすると 情報量が多すぎてワケがわからなく・・・ なにか参考になるサイトとかってありますでしょうか?
>>954 オープンソースのコミュニティを覗いてみろ
>951 最初にやるべき事は、そういうノウハウっぽく書いてあるページを信用するのをやめることじゃね?
アドベンチャーゲーム用のスクリプトエンジンを作っているのですが、 禁則処理とかルビ付き文字の表示処理がうまく行かずつまずいています・・ どこか参考になるサイト内でしょうか。
>>959 等幅フォントだったら、Nバイト先にある文字を確認して、
禁則処理が必要だったら変数をリサイズするなりなんなりした後、
Nバイト目に改行文字を挿入すればいいんじゃね?
ルビも似たような感じでNバイト目の位置を半角文字幅から計算して、
NバイトからN+nバイトの間で文字を均等に云々すればいいと思うけど。
スクリプトエンジンプログラミング(坂本千尋著)がそこそこ詳しいけど、びみょー。
坂本千尋の本でゲームが作れましたってんならオススメ。
参考になるのは載ってるアルゴリズムだけかな、と僕は思う。
どうせやるんなら自分で考えたほうが自分のためになるよ。
吉里吉里使ってみて、それからソースも読む
地面の判定にelse使いたいのですが思い通りに行きません… if(地面と主人公当たってる場合){ 主人公は地面の上 }else{ 落下 } こうすると地面に当たってる時も落下処理になります…
if(地面と主人公当たってる場合){ 主人公は地面の上 }else{ 主人公のY座標をコピー コピーしたY座標に1を足す if(地面とコピーした座標当たってる場合){ 主人公は地面の上 } else{ 落下 } }
ありがとうございました
>>956 評価関数とか思考ルーチンでググれ。
ターン制なら全パターン走査でもやればいいよ。
アクションパズルは方法論がありすぎて、自分で考えるしかない・・・・。
だって、どんなパズルかわからないんだもの。
ぷよぷよとかはググれば結構あるとおもうから、探せ。
>>965 レスどもです。
作ったのは そのアクションパズルのほうだったんですが、
ググって出てきたものを見てみると・・・これは相当深い世界ですね。
実はネット対戦の実現が厳しかったのでCOM対戦に逃げたんですが、
自分が思ってたより ずっと苦労しそうです。
しかし、おかげさまで光明が見えてきました(うっすらと)
どう考えても、ネット対戦(=vs人間)の方が楽なんだがw とくにアクションパズルはw COMの思考バリエーションも必要になるしねぇ。 一人用はできてるんだよね? それとも相手が居ないとできないの?
ええと・・・ オフラインなら2人用ができます。 ネット対戦が厳しい、と書いたのは、色々なフリーソフトを見ると現実的に 「人が集まらない、やってもらえない」という根本的な悩みを抱えている作者さんが 多い、ところいうのが大きいですね。 自分のパズルに、継続的に人を惹きつける魅力がそこまであるかな、と もちろん、CSであればサーバーの管理が・・・とか、アクション性があるだけに ラグの無いような組み方は・・・などプログラミング技術的な心配もあるんですけど
あ、対戦ものなので相手が居ないとできないです。
基本は出来てて、あとはCOMの思考ルーチンだけなのね。 じゃぁ、人間の思考をCOMにさせればいいやっていう、 基本的な事はわかった上で、どうするかを考えているのか。 ぷよぷよのような落ち物パズルを想定して話すが、一番簡単な方法は、 「あらかじめCOMの操作の配列を作っておく」方法 ようするに、インチキ。 ランダムに落ちてくるはずのぷよをコンピュータは全部知っていて、 あたかも操作しているように見せる。色変えたり、パターンを増やせばほとんどわからんはずw この方法だと、おじゃまプヨで終わりだけどな。 手がくずれたら、あとはひたすら消すルーチンにするとか。 お邪魔が来る前に3連鎖程度を連発するとか。 具体的な話になってくると、システムがわからないとねぇ。 パクられても嫌だろうから、あとは自分で頑張るしかないねw 逆にルーチン部分を他人が作れるように インターフェースを整備して公開するのも面白いかも。 他人のルーチンが読めれば勉強にもなるだろうし。 俺とかむしろこっちの方がもえるかもシレンw
インチキ法、ググってみると業務用でも採用されてたみたいですね、セガのテトリスとか。 自分の力量的にも分相応ではあるんですが・・・うーん最終手段かも ぶっちゃけてしまうと、ルーチン部分は他の人に頼めればそれに越したことはない、 むしろそこ燃えて欲しいという考えではあるんですけど、いかんせん 言語がHSPなもんで誰も寄ってきてくれそうにないというのが。 取り敢えずは頂いた情報を材料にやってみます。
HSPか・・・・せめてpythonで・・・・w 外部用のインターフェース切るの難しいね。 とくに、こちらの指令する作法を守らせるのが難しい。 とにかく頑張れ!
pythonって名前は聞くけど書いたことないなあ… 中括弧ないんだっけ?よく書けるなそんなんで
完全に切り離して、ってのはダメなん? パズルなら入力は移動と回転、落下とかくらいでしょ。 出力結果をそれらに絞るような外部思考ルーチンを組めばあるいは、、、 と、思考ルーチン組んだことないやつがたわごと言ってみる
ゴメン、酔っぱらってた orz
>>973 一番勢いがある(あった?)言語だと思うんだが。日本ではいまいちだが。
GoogleAppEngineでも最初にサポートされた言語だし。
中括弧に相当するインデントによる制約があるし、機能として不足している部分はない。
PyScripterっていう専用エディタがなかなか便利で、それ使ってちょっと試したらいいよ。(python自体ももちろん要る)
API群も強力で、ちょっとググればほしいモジュールがたいていそろう。
探すときは英語読めないときついが、使うときはソースは読めるだろうからどうにかなる。
ゲーム制作でいえば、pygameという開発モジュールがあって、これが強力。
SDLのラッパーだから、LinuxやMacでも走るよ。
日本語の解説少ない時点で敷居が高いだろ
PyScripte パイスクリプター? pygame パイゲーム? えらくそそられる環境ですな
980 :
959 :2010/03/30(火) 17:23:08 ID:P6m6KDQV
>>960 メイリオにしてます。全角文字は等幅のようですが、半角はプロポーショナルらしいので、
1文字の幅が一定という前提で計算することはできません。
そんなわけで、文字列は基本的に行ごとに格納しています。ルビの場合はそこで分割。
1行目、2行目A、2行目B(ルビ付)、2行目C、3行目のような感じで。
フォントクラスは改行文字も処理できるので、1行目と2行目Aはくっつけてもいいかもしれませんが。
>どうせやるんなら自分で考えたほうが自分のためになるよ。
頑張って自分で組もうとしてみました。
行末に禁則文字があった場合は、後ろの1文字も含めて次の行に送り出すようにしてみましたが
ルビ→改行→句読点のようになっていると、句読点が行頭に出てきてしまったりします。
まぁ、そのうちなんとかなるでしょう
>>961 吉里吉里ってソース公開されているんですね。見てみます!
かなり本格的なシステムなようなので、読むのが難しそうですが・・
>>979 個人的には XY→角度→XY に戻すのは好みじゃないな
動作はXYだけで完結しておいて、角度を求めるのは表示するときのみ一方通行の変換にしたくなる
double x, y, z;// 現在位置
double ix, iy, iz;// 現在の移動ベクトル
double tx, ty, tz;// 現在位置からターゲットへの相対位置
double dis;// ワーク
dis = sqrt(tx*tx+ty*ty+tz*tz);
if(dis > 0){ dis = 方向転換力/dis; ix+=tx*dis; iy+= ty*dis; iz+=tz*dis; }
dis = sqrt(ix*ix+iy*iy+iz*iz);
if(dis > 0){ dis = スピード/dis; ix*=dis; iy*=dis; iz*=dis; }
今適当に書いたから間違ってたらゴメン
>>980 WindowsならWinAPIのGetCharABCWidths使って
>>960 の考え方でがんばれば計算できるんじゃね?
983 :
979 :2010/03/31(水) 04:22:17 ID:hQL22suv
>>981 ありがとうございます。
試してみます。
double だから dis == 0 ってなるか?と思う
>>963 のプログラムってどういう感じに働いてるんだろ
自分のとは全然違ってて新感覚
>>984 if (!(dis ^ dis))で動くんじゃね?
x, y, z;// 現在位置 ix, iy, iz;// 現在の移動ベクトル tx, ty, tz;// 現在位置からターゲットへの相対位置 sx=tx-ix, sy=ty-iy, sz=tz-iz;//舵力ベクトル dis=sqrt(sx*sx,sy*sy,sz*sz); ix+=舵力*sx/dis, iy+=舵力*sy/dis, iz+=舵力*sz/dis; dis = sqrt(ix*ix+iy*iy+iz*iz); if(dis > マックススピード){ dis = マックススピード/dis; ix*=dis; iy*=dis; iz*=dis; } では?
const double speed = 8.0f; // スピード(サンプル)
double dx = targetX - fromX;
double dy = targetY - fromY;
double dz = targetZ - fromZ;
double dis = sqrt(dx*dx+dy*dy+dz*dz);
double vectorX = dx/dis; //cos(atan2(dy, dx));
double vectorY = dy/dis; //sin(atan2(dy, dx));
double vectorZ = dz/dis;
vectorX = vectorX * speed;
vectorY = vectorY * speed;
vectorY = vectorZ * speed;
>>979 のサンプル参考にするならこうじゃない?
確実に追撃する凶悪ホーミングになりそうだけど
質問です データのロード中にプログレスバー的なものやアニメーションを表示させたいのですが どのようにしたらよいでしょうか? 参考になるようなサイトとかないでしょうか? C言語+DXライブラリを使用しています
スレッド分けたら?
>>989 ロードに何十秒もかかるような、大規模なゲームを作るわけじゃないと仮定して。
毎フレームにつき1つずつデータファイルを読み込んで、
そのフレームの描画タイミングで進捗具合を表示すれば、別に問題ないと思う。
デジャブー
994 :
989 :2010/03/31(水) 22:01:27 ID:SSvnJ33T
ありがとうございます スレッドっていうのがあるんですね ちょっと調べてみます
995 :
959 :2010/03/31(水) 22:53:59 ID:mll2egdJ
なんとか解決・・・したと思うので一応報告を。句読点の前にルビ付きの文字列が前にあるような場合は
それごと次の行に送り出すようにしました。(ルビ付きの文字は分離禁止にしたいので)
ルビ付き文字列だけで1行占めているような場合(多分ないと思いますが)は永遠に次の行に送られ続けて
フリーズするかもしれませんが、その場合は諦めて改行するようにすれば良いでしょう。
>WindowsならWinAPIのGetCharABCWidths使って
>>960 の考え方でがんばれば計算できるんじゃね?
自分で書いたものではないのですが、特定の文字列の幅を取得する処理は出来ていました。
(Windows上だけど、マルチプラットフォーム対応のためFreeType2使用)
>>994 DXライブラリはスレッドセーフじゃなかったはずなので注意な。
複数スレッドからDXライブラリの関数を呼ぶならロックが必要。
まだスレッドを知らないレベルなら、
>>991 のやり方にしといたほうがいい気もするけど
YuukiNovel
1000 :
名前は開発中のものです。 :2010/04/01(木) 23:56:16 ID:qRZRp6CX
1000げt
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。