[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 21:27 / Filesize : 73 KB / Number-of Response : 233
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】スレを立てる前にココで質問を【Part20】



1 名前:名前は開発中のものです。 [2009/09/29(火) 07:08:29 ID:OO8C9kYO]
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
pc11.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
wiki.game-develop.com/

ゲーム製作技術板公式アップローダ
gmdev.xrea.jp/

ゲーム製作技術板予備(機能停止中?)
yy13.kakiko.com/gamdev/

アップローダー予備
gamdev.hp.infoseek.co.jp/

gamdev.orgが落ちるたびにあげてみるスレ
pc11.2ch.net/test/read.cgi/gamedev/1107022166/

2 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 07:08:44 ID:OO8C9kYO]
【歴代スレ】
[Part19]pc11.2ch.net/test/read.cgi/gamedev/1236761855/
[Part18]pc11.2ch.net/test/read.cgi/gamedev/1223550808/
[Part17]pc11.2ch.net/test/read.cgi/gamedev/1210443288/
[Part16]pc11.2ch.net/test/read.cgi/gamedev/1199303757/
[Part15]pc11.2ch.net/test/read.cgi/gamedev/1190308500/
[Part14] pc11.2ch.net/test/read.cgi/gamedev/1175521815/
[part13] pc11.2ch.net/test/read.cgi/gamedev/1160457664/
[part12] pc8.2ch.net/test/read.cgi/gamedev/1147951341/
[Part11] pc8.2ch.net/test/read.cgi/gamedev/1137730564/
[Part9(10)] pc8.2ch.net/test/read.cgi/gamedev/1127522168/
[Part9] pc8.2ch.net/test/read.cgi/gamedev/1121237401/
[Part8] pc8.2ch.net/test/read.cgi/gamedev/1113237630/
[Part7] pc8.2ch.net/test/read.cgi/gamedev/1103954329/
[Part6] pc5.2ch.net/test/read.cgi/gamedev/1094627404/
[Part5] pc5.2ch.net/test/read.cgi/gamedev/1078502309/
避難所 pc2.2ch.net/test/read.cgi/gamedev/1057318143/
[その4] pc2.2ch.net/gamedev/kako/1043/10434/1043417025.html
[Part3] pc2.2ch.net/gamedev/kako/1032/10328/1032814540.html
[Part2] pc2.2ch.net/gamedev/kako/1013/10136/1013645518.html
[Part1] game.2ch.net/gamedev/kako/1005/10050/1005038203.html

3 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 10:14:00 ID:buFEME5a]
>>1

4 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 15:10:24 ID:9Pm0QaLU]
>1も、スレ立て頼んだ人も乙

5 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 06:13:03 ID:YiQMJJd+]
質問です。
ttp://homepage2.nifty.com/natupaji/DxLib/program/ActionSample.cpp

SizeにはたぶんCHAR_SIZEが代入されると思うのですが
どこにも
Size = CHAR_SIZE
みたいなのがありません
どういうことでしょう?

6 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 06:32:40 ID:zIiHq6bh]
>>5
惜しい惜しい。

変数 Size は、関数 CharMove() の引数の名前だからだよ。
168行目の
  CharMove( &PlX, &PlY, &PlDownSp, MoveX, MoveY, CHAR_SIZE, &PlJumpFlag ) ;
の第六引数CHAR_SIZEが、Sizeに代入されてる。

7 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 06:55:54 ID:YiQMJJd+]
ありがとうございました

8 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 14:03:31 ID:uHicMEib]
>6のESP能力に乾杯

9 名前:sage [2009/09/30(水) 21:09:31 ID:TbHm+HlR]
質問だが
何かもが全プレイヤーに委ねられている「NPC」のないネトゲを作るのって不可能か?

10 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 21:10:18 ID:TbHm+HlR]
sage間違えスマソ



11 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 21:19:31 ID:4EG3NSD6]
>>9
セカンドライフは、ある意味その一例じゃないの?

12 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 22:48:52 ID:uHicMEib]
RPGに限るとすると、難しいんじゃないかなあ。
街の人々だけでなく、倒すべきモンスターも存在しないわけだろ?

そもそもどこまでがNPCなのか、線引きが難しいかもしれないけど。
コンピュータから見れば、町の人も、モンスターも、それこそダンジョンの仕掛けすら同じだろうし。

13 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 00:40:29 ID:/8KJdq9x]
一定数の人が集まるのが大前提だわな
人が集まって役割分担が上手くいけば不可能ではない

まあ、机上での話だから現実はどうなるか分からんけど

14 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 02:49:54 ID:NOWadv8/]
不可能
ゲームは楽しむためにするもので、楽しくないことはだれもしないから
現実世界は対価をもらうために楽しくないお仕事をする人がいることで成り立ってます


15 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 11:41:42 ID:hBjkvKrn]
みんな造幣局やりたいよね

16 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 20:14:23 ID:/8KJdq9x]
>>14
ジャンルも不明なのに不可能とはこれいかに


17 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 21:38:28 ID:N73Swkn/]
>>14
現実にも自動販売機くらいあるし、ゲーム内なら補充員も電力会社も生産設備も端折れる
>>12の言うとおりどこまでをNPCとするかによるんじゃないかな

18 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 23:21:08 ID:hIZqWeLZ]
普通モンスターをNPCに含まないだろ
含んだら別のゲームになる
まあそういうゲームがあっても面白いかも知れんが
そういうわけで上のレス読んだらNPCのないネトゲも理論上は可能ではないかと

19 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 23:37:39 ID:3M3YOYrH]
大学の演習で何でもいいからゲーム作るってなったんだけど
どういうのが初心者にお勧めだろうか?
FPSって2Dのシューティングとかに比べて難しい?

20 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 01:16:19 ID:UaoOfJ6d]
>>19
FPSと2DSTGはゴールが明確でないので、
作業量もわからずに「よーし、パパはオトメディウス作っちゃうぞ」なんて言ってエタる。
初心者は絶対に完成しない。
「じゃあママはパロディウス作るわね」とか言って当初の予定よりもグレードダウンしたつもりの奴も必ずエタる。
全然わかってない。
初心者は敵が一体しか出ないインベーダーが限界だから。
そもそも学校の宿題に何時間情熱を注げるんだよpgrみたいな。
そんな情熱あるならもう初心者じゃねえよ。
というわけで、余計な妄想が入りにくい&シンプルなパズル系ゲームがオススメ。テトリスとか。
(ぷよぷよみたいに余計なストーリー演出加えようとした瞬間に全てが破綻するけどな)



21 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 01:20:29 ID:dTVjpSor]
シューティングのが簡単じゃないかな

22 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 01:28:04 ID:HTVudDfO]
2DSTGは風呂敷さえ広げなければ簡単じゃね?

23 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 02:15:36 ID:Lq88Inhz]
>>20
週3時間、学校でそれを作るのに使える時間がある
それが8週間くらいかな。
家でも作業できるけど大学内だけで30時間くらい使えると思っていいんだけどさ
C言語の基礎くらいしか分からない初心者で

24 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 02:27:34 ID:INRU3WM/]
画面上の弾を打ってこない敵をマウスクリックで倒すだけでもFPSっちゃあFPSだよな。
もぐら叩きと同じだがw

25 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 02:40:45 ID:Lq88Inhz]
>>24
センスないからキャラデザインだとかそういうのする予定は一切ないんで
やる気なさそうな動物みたいな敵を倒すだけの簡単なやつにしようかと思ってる。
先に動くようにだけして後付けで色々と足していく感じみたいに・・

まあちょっと担当の人にも相談してみるかな・・・

26 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 07:12:38 ID:hzhZHJ0c]
>>18
>普通モンスターをNPCに含まないだろ

そうなの?

27 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 07:17:28 ID:hzhZHJ0c]
自分も、インベーダーゲームくらいを目指した方がいいと思う。
シューティングから離れるなら、倉庫番とかもアリかもしれない。

>>24
もぐら叩きタイプのFPSかー。
うまくやれば、それはそれで面白そうかもしれないな。
(普通のFPSプレイヤーには評判悪いかもしれないけど)


28 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 17:16:52 ID:tnNqt+vA]
そんなもん作っても評価低そう

29 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 17:52:54 ID:hzhZHJ0c]
FPSっぽい雰囲気を出した、モグラ叩きゲームだな。正確には。

30 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 22:05:11 ID:Lq88Inhz]
>>19の人だけど、相談した結果CGとかそういうのをやってないんでFPSは却下で
テトリスみたいな落ちゲーに少し工夫を加えたような物作ることになりました。

それでゲームの土台になるサンプルを探すことになったんですけど、
JAVAで作ってる落ちゲーのサンプルのソースでお勧めはありますか?
内容は2人で対戦できるような物で、
出来れば他PCとIPアドレス渡してネット対戦のようなことができるようにしたいんですが、
そこまでするかどうかまでは分かりません。
(とりあえず動く物を作ったあとに余裕があればアイデアを追加、みたいにする予定なので)

JAVAの落ちゲーサンプルは探せば結構見つかったのですが、
どれを選べばいいかなどが分かる方がいれば従うほうがいいかと思ったので。
ネットでも本でも構わないので何か知っていればお願いします。

あとお勧めのJAVAのゲーム製作技術に関する書籍など紹介してもらえると嬉しいです。
なんかぐちゃぐちゃな日本語で申し訳ない。



31 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 02:38:01 ID:xi+hyd82]
2人用とかネット対戦とかは気にしなくていいと思う。
というかしちゃダメだ。

ひたすら消していくモードか、余力があれば消去したライン数が一定数でクリアか。

32 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 09:15:44 ID:j005HOUI]
まずは一人用。それができたら1台で対戦。ネット対戦はそのあとの話だね。

33 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 11:35:08 ID:JCZGjHD6]
>>23のスペックで対戦なんて無理無理かたつむり。
初心者じゃ、ブロック落ちてきて消すのだけでも大変だぜ?

34 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 14:19:02 ID:XoF0ERgi]
0から自分で作った方が早い。流用するにも理解する時間が必要になるだけ。

35 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 15:15:30 ID:mUR1ExOt]
C言語のコンパイラを手に入れようとしたんだが見つからない。
解説をしているサイトのリンクを辿ってもそれらしい物がないんだが、
最近はどんなコンパイラが簡単に手に入るんだ?

36 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 15:20:58 ID:WJ4+UwTS]
>>35
www.microsoft.com/japan/msdn/vstudio/Express/
VisualStudio

37 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 15:33:05 ID:NAEtpbyN]
そういや、VisualStudioのExpressとStandardの違いって何?

38 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 15:43:41 ID:WJ4+UwTS]
www.microsoft.com/japan/msdn/vstudio/2008/product/compare.aspx

39 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 15:57:23 ID:NAEtpbyN]
いや何つ〜か、VC++使う場合のExpressとStanderdの相違点って、特に無し??


40 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 16:04:35 ID:NKEhkw4Y]
>38
みて違いを感じないならないんじゃね?




41 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 16:49:50 ID:GwwqG713]
Expressはリソースエディタが無い。
程度ではないのかな2008は。

42 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 17:19:52 ID:XoF0ERgi]
mfcがない

43 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 19:54:56 ID:IuRMsMN4]
>>36
これって>>38を見ると対応言語にC言語が並んでないが問題ないのか。

44 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 20:02:03 ID:NPoZwTjn]
>>35
gcc( MinGW使うか、Cygwinに入ってる奴を使うかの二択 )

45 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 20:09:17 ID:IuRMsMN4]
>>44
VisualStudioというヤツではだめだと?

46 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 20:25:38 ID:NPoZwTjn]
>>45
VisualStudioを動かせる環境があるならそれでも良いと思うよ。

47 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 20:51:03 ID:IuRMsMN4]
>>46
PCスペックの問題もあるのか。
一応VisualStudio C++をインストールしたんだがユーザー登録とかで、
英語ばかりのページに飛ばされるとか解説ページと大分違う状態になってしまった。

やはりCOBOLをやった程度の自分では難しいんだろうな。

48 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 20:59:46 ID:NPoZwTjn]
>>47
gccはもっと難しくなるから、あきらめてVisualStudio使いなよ。
なんだかんだ言ってC/C++でWindows系のゲーム作るなら今はそれしか選択肢が無いと思うよ。

49 名前:名前は開発中のものです。 mailto:sage [2009/10/03(土) 23:56:23 ID:NAEtpbyN]
ふと、ツクールシリーズという選択肢を思い出したわけだが・・・

50 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 00:08:43 ID:0Ah/xSEi]
いや、むしろHSPかもしれんな



51 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 17:52:49 ID:7G1vJO2V]
>>31>>32>>33
そうですか、確かにJAVAのサンプルから拡張していっていいって言われたけど
中身の意味を理解するのに時間かかりそうだしな・・・
見て考えます。

52 名前:名前は開発中のものです。 mailto:sage [2009/10/05(月) 01:26:46 ID:mQYy5BRf]
シミュレーションやRPGで
経営状況や主人公の内部パラメータと呼ばれる
データ群がごっそりあると思いますが,
そういったものの管理は
実際のゲーム開発でどういった形でなされるものですか?

すべてグローバル変数で持たせる?
データクラスを作ってアクセッサで操作を許す

(わかりにくかったら,追記します汗

53 名前:名前は開発中のものです。 mailto:sage [2009/10/05(月) 01:41:35 ID:rxuxGtVW]
>>52 マルチ

54 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 06:02:52 ID:MlEkLHJN]
すみませんC++で
キャラクターのHPを3桁+小数点第二位 まで扱うのですが、
floatは割算や掛算をすると、誤差で==のif判定が思い通りに行かない場合が有ると聞くのですが、

intで5桁の整数として扱い、表示する時だけ何らかの工夫をすべきでしょうか?
それとも気にせず普通にfloatで扱うべきでしょうか?

floatは判定に使うには危険なのでしょうか。

55 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 06:14:02 ID:9+tNZIVx]
floatでもいいと思うけど、判定に使うんだったら
例えば if (f == 5) をしたかったら
if ( (f > 4.999) && (f < 5.001) ) するなり工夫すれば大丈夫じゃないかな
== だと float型はきっちり5にならない場合がある(5だと思っても5.000001だったりする)から

56 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 07:21:34 ID:Dg0DwQAA]
>>55
なるほど、そういう誤差なのですね。
数値を揃え忘れないよう注意するintか、判定時に常に注意するfloatかという感じですね。
ありがとうございます。

57 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 07:54:35 ID:SLa/O5oj]
浮動小数点ってできるだけ避けてしまうな
まずintで考えて、だめなら固定少数点、どうしても必要な時だけfloat
floatってCPUによっては計算結果が変わることもあるらしいから、扱いやすいintをまず考える

58 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 11:03:38 ID:+J4cYAi7]
そこでfloatにするならdoubleのよーな気がする

59 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 11:44:03 ID:sb7b+7HP]
>>57
同じく
内部的にint5桁にしておいて、表示は3桁+小数点+2桁にしてしまう、とか・・・。
正直にfloatで持つ必要はないと思うんだ。

60 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 22:34:50 ID:eUC0RCzt]
でもDirect3Dのインターフェイスがfloatを取るんだよね。
castを濫発するよりもfloatにしたくなる。



61 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 15:47:07 ID:S+xmTs6Z]
ゲームにMP3ファイル使っちゃいけないのですか?

62 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 15:52:01 ID:h2K5B8t5]
>>61
いけないんじゃなく、ライセンス料払えってだけ
非商用か5000以下の配布なら問題なし、とかじゃなかったけ?
詳細はググって

63 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 15:52:29 ID:/buBQdg7]
>>61
MP3関連技術は特許で守られているので、特許保持者の提示するライセンスに従って利用料金を支払う必要がある。
1ゲームタイトルにつき、2500ドルくらい必要らしいよ。
www.mp3licensing.com/royalty/games.html

5000本未満なら無料らしいけど。

64 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 22:13:45 ID:vDLrjTrl]
ogg vorbis

65 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 22:36:05 ID:S+xmTs6Z]
デコーダーを含まないプログラムでライセンス必要?
WindowsでMP3のデコーダー持ってて再生してるからMSがライセンス持ってればいいのではないですか?
そのページのゲームという項目はゲーム機本体がデコーダー持ってなくてプログラム自体に載せる場合に必要なライセンス料ではないですかね

66 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 23:28:17 ID:F+uTkbTL]
>>65
MP3固有の契約内容は知らないけど、特許使用料って利用分野を限定することで安く済ませることがあるから
ちゃんと確認取っといたほうがいいよ。

確かGIFの特許問題のときも、WindowsAPIのOleLoadPictureでGIFをデコードするにしても
ユニシスはアプリケーション開発者に個別契約を迫っていたと記憶してる。通ったかどうかは知らん。

67 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 23:33:19 ID:vDLrjTrl]
全部実行ファイルに埋め込んで隠蔽してしまえばよい

68 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 23:47:28 ID:/buBQdg7]
>>65
デコーダを含む含まないじゃなくて、
MP3の技術を使ってエンコードされたコンテンツ(つまり、MP3形式の音楽ファイル)を含むゲームを
ばら撒くのにライセンスが求められる。

…というように読める文章がMP3のサイトにあった。



>9) mp3・mp3PRO・mp3surroundをゲームで使用する場合は、ライセンスを取得する必要がありますか?
>
>はい、mp3・mp3PRO・mp3surroundでエンコードされたゲームコンテンツは、タイトル毎に実施料がかかります。但し、ひとつのゲームタイトルの販売数量が5,000コピー未満の場合は、実施料は発生しません。
www.mp3licensing.jp/help/developers.html#9

69 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 01:57:31 ID:F4DT3FUU]
じゃあやはりMP3は駄目ですね

MP3と全く関係ないけどAACではこう書いてあります
www.vialicensing.com/jp/Licensing/AAC_FAQ.cfm?faq=1#1

これを見て勘違いしそうになりました

70 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 03:46:14 ID:JWW+S3LL]
同人なら気にするまでもない、企業ならMP3以外を検討したほうがいい、くらいか。



71 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 04:00:04 ID:F4DT3FUU]
あ、販売数量って書いてあるからフリーウェアならいいのか
そして4999本限定でシェアウェアの完全版出して、完売したら別タイトルとしてリメイク版であらたに4999本限定(ry

72 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 04:36:00 ID:OoP32YCd]
初歩的な質問ですみません。
テキスト形式の設定ファイルを、データ間はコンマで区切り、行はfgets()で改行文字で判別しています。
これをバイナリ形式にする場合
データの区切りや行はどう(何で)表現、判別するのが好ましいのでしょうか?

あと、バイナリ形式のメリットとは、テキストで255だと=3バイト、バイナリならば255までは=1バイト という事ですよね?
完全に文字オンリーの場合はバイナリ化してもサイズを小さくする効果は無いと思っているのですが(文字コードですし)
これは間違っていないでしょうか?

73 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 05:28:56 ID:rCisCYzo]
>>72
テキスト・バイナリってのは解釈の問題で、本質的にはどちらも同じデータの列だよ。

おそらく、データの圧縮を目指しているんだろうけど、
バイナリ化して0〜255まで全部使おうと思った場合、終端子の区別が付かなくなります。
そのため、データの区切りという概念を捨てて、固定長フィールドに読み込んだ方が良いです。
文字列であれば、文字列長+文字列、というデータ形式にしておく。

次に、バイナリ形式のメリットについてですが、文字オンリーのものを圧縮したいと考えた場合は、
素のデータを扱うよりも、zipか何かで圧縮する方法を考えた方がいいです。

74 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 06:29:21 ID:YtPBh4Ct]
>>72
サイズのメリットはあまり意味はないね
今はHDDもメモリも足りなくなることはそうそうないので、考えられるのはHDDへのアクセスラグくらいで、
それもゲーム中に10MBを超えるファイルを頻繁に読んだりするような場合でなければ、バイナリにするサイズのメリットはない

直接的な違いはテキストエディタで閲覧・編集可能かどうかかな
たとえばwidowsのiniファイルはシステムでも使用するが、テキストファイルなのでユーザーでも編集可能
これがバイナリだと見たり編集したりするのはちょっと面倒になる
ゲームの場合は見られたくないデータのときにバイナリ化(加えて暗号化)したりする

他にはメモリイメージを保存したいときなどはバイナリだとそのまま扱えるので使うことも多い(BMP画像とか、クラスのシリアライズなど)

バイナリファイルの場合の区切りの方法は>>73も触れてるけど、固定長フォーマットにするか、サイズ+データなどの可変長の方法がある
固定長はファイルの途中からでも読めるのでランダムアクセスに強い半面、プログラムから書き換えを行う場合はファイルへのデータ格納効率が悪くなることがある
逆に可変長だとデータの格納効率がよい半面、シーケンシャルに最初から読まないといけないのでランダムアクセスが必要な場合は向かない
いいとこどりで、可変長フォーマットにインデックスを付けて途中からでも読めるようにする方法もあるが、上の方法に比べ処理が複雑になる

などのそれぞれの特性を考慮してどうやって保存するかを決める

75 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 06:41:12 ID:oVNZpqqk]
>>73
固定長で扱うのが基本となると・・
細々と色々なデータを並べる場合は、バイナリ形式はかなり手間が増えるんですね。
大きくパターンの有るファイル向きなようですね。

文字群は圧縮形式を利用した方が良いんですね。
ありがとうございます。色々為になりました。

76 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 10:17:52 ID:KKcN9lBS]
バイナリ形式のほうが何かと楽だと思うんだけど。
通常、構造体に放り込む形になるでしょ。

77 名前:名前は開発中のものです。 [2009/10/10(土) 13:38:00 ID:Pkw5pR5D]
ちょっと昔を振り返れる豆知識
リセットボタン絡んだ裏技

昔のタミコンゲームなどで、どこかのボタン入力をしながらリセットボタンを押すと
裏技が発動する、などというものがよくあったが、あれはどうやって実現しているのだろうか。
普通に考えればリセットした時点で入力などが失われて何の判定も出来ないように思える。

これは、ソフトウェアリセットだからできるのである。

電源を入れる/切るというのはハードウェアリセットであり、すべてのレジスタ値が初期値に戻る。不定だったり0だったり様々だ。
こういう場合、CPUの前の状態がどうだったかなど覚えておきたくても覚えていられない。

が、リセットボタンによるリセットはソフトウェアリセットであるから、保証されると規定されているレジスタの値は保持される。
そのため、CPUが、「俺はリセットされたのかどうか」を覚えていられるのだ。

だから、リセットボタンを絡ませた裏技が可能だった。
今でもそうした規則は同じなので、やろうと思ったらできないでもないが、

ゲームより先にOSがまず駆動する

ものは無理といってよい。
OSがCPUの記憶を抹消する、ますレジスタを全部初期化する
というものは不可能だ。

78 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 14:37:12 ID:oVNZpqqk]
>>76
そうなのですか;
不規則な長さの文字列を区切りの文字なしに見分ける方法が想像できないせいで
そう感じてしまうだけなのですね。失礼しました;

79 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 14:53:02 ID:oVNZpqqk]
すみません、また初歩的な質問になるのですが、

多重の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 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 14:56:56 ID:I63lc7/x]
たいてい使いまわす様にコンパイルされるんで大丈夫



81 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 15:21:43 ID:oVNZpqqk]
>>80
たいてい・・となると必ずでは無いのですね;
少し不安が残りますが基本は大丈夫なのですね。ありがとうございました。

82 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 18:13:04 ID:DTxrzyVo]
気になるならあらかじめ宣言しておけばいいだけでしょ?
最もそんな数ステップで済む宣言を気にするよりも
処理全体を見直して数千ステップを減らしたほうが効率いいけどな

83 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 20:11:55 ID:YtPBh4Ct]
>>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のコンソールアプリのリリースビルド、最適化無効。

84 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 20:13:54 ID:YtPBh4Ct]
ちなみに、最適化をプログラムサイズ最適に変えても結果は変わらず

85 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 21:05:13 ID:JvaG45yk]
>>82
両方の書き方を混在させてしまっていてつい気になって仕方なくなってしまい、すみません。
処理全体の効率化方法・・確かに学ぶすべを探さないとまずい気がしてきています。

>>83-84
コンソールで簡単にアドレスを書き出して確認できるのですね。
今後はそれで確認させて頂こうと思います。確認して頂きありがとうございます。

86 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 12:28:49 ID:JmOGIcGR]
>>78
ものによるだろうけど、普通ファイル保存時の文字列は固定長にしておく。
いちいち可変長にすると、後ろのデータも平行移動するからめんどいし。
何らかの名前の文字列を保存しておく程度なら64バイト程度の
固定長でもせいぜい数十バイト程度のロスしか出ない。
数百文字の及ぶような文字列なら考えたほうがいいかも知れんが。

>>80
最近のコンパイラは頭がいい。その程度のことならコンパイラに任せればよろしい。
素人が無理に最適化するとかえって遅くなるケースすらある。
そもそもそのくらいのロスなんてカスみたいなもの。

87 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 13:25:59 ID:lfN6dXef]
>>86
1バイトのデータが数十並ぶ所と、24バイト必要な文字のデータが数箇所存在する所が有るので
この場合はロスが結構大きくなってしまいそうですが、
固定長で結局ロスが減らせる事の方が多いのですね。

>無理に最適化するとかえって遅くなるケースすら
そういう事も起こりうるんですね。覚えておきます。
ありがとうございました。

88 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 21:08:44 ID:cCYKtnNG]
そのデータの構成が固定的なら、1バイトのエリアと24バイトのエリアを別に保存すればOK
いずれにしても、すべてを同じ固定長で保存したとしても、24 * 数十 Byte = 数KByte の無駄ができるのみで、
今のPCの性能に比較して十分に無視できるレベル


89 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 23:01:00 ID:cpsVifcS]
STGで球を撃つための処理を作ったら
0度で弾が→に飛びますが
BulletMLを採用している白い弾幕くんだと0度で↑に飛びます。
・・0度で上に飛ぶようにすべきでしょうか。

90 名前:名前は開発中のものです。 mailto:sage [2009/10/11(日) 23:46:54 ID:alNFUCK3]
BulletMLのサンプルってどれも縦シュー向けっぽいよね。
縦シューなら↑を0度にしても良いかもね。



91 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 07:27:30 ID:ABYO4iSf]
クラスA,Bが互いに通信する方法はどれがいい?
(1)ハンドルを使って互いのアドレスを知る
(2)メッセージもどきを作る

92 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 09:43:28 ID:DQ2PgKtU]
>>91
ものすごいケースバイケース。
他にもmediatorパターンとかあるし。

93 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 09:43:50 ID:BFBkm5Cz]
(2)ってどんなのを想定してる?

94 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 10:54:52 ID:PKR9Rh1x]
mediator調べてみた、A,B専用クラスってことか
(2)はWin32のメッセージなかんじ、効率が悪くなるオールマイティ

95 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 11:27:08 ID:BFBkm5Cz]
それって、メッセージループやらディスパッチャを用意するってことだよね
それは、3行の質問に1レスで応えられるような規模の問題じゃないと思うが。。

96 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 15:42:28 ID:AQICrxba]
>>91
互いに通信した時点で負けだと思う。
どちらか一方通行が設計としては楽。

97 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 18:15:29 ID:8kB2RrDz]
1フレームあたりの移動量が物体の厚さを超えるとき
(速度 / fps = 移動量 > 対象物体の厚さ + 自身の厚さ のとき)
当たり判定されないで通過しますよね?

98 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 19:30:56 ID:AQICrxba]
すり抜けと呼ばれる現象が発生しますね。

99 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 20:44:51 ID:8kB2RrDz]
>>98
ありがとうございます♥

100 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 20:46:32 ID:jzZC8u5v]
内部で2〜3回に分けて当たり判定をするのが楽よ



101 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 21:32:57 ID:8kB2RrDz]
>>100
レスありがとうございます♥

レスを読む前に「すり抜け」でググったら、数回判定と直線で判定というのが見つかり、
さっきまで直線で判定する方法を考えていました。
しかし、作るのに時間がかかるのと、繰り返しが多くなるのが重なって、ちょっとやる気をなくしていました。

内部で数回判定の方も検討してみます♥
ただ、私は早寝しないと早起きできないのでもう寝るのです。

102 名前:名前は開発中のものです。 mailto:sage [2009/10/13(火) 00:00:54 ID:w58NSsv/]
俺円の軌跡でやってたわ

103 名前:名前は開発中のものです。 mailto:sage [2009/10/13(火) 10:07:36 ID:VzxaKX8Z]
アクションゲームを作っているのですが、ボスキャラの実装って、どうやるべきなのでしょうか?
一応、次のような事を考えていますが、どれが最善策なのかが分かりません。
・雑魚キャラとボスキャラを、同じように実装する。
・雑魚キャラとボスキャラは、別々に実装する。
・ボスキャラ特製ステージを作って、完全に別個に動かす。


104 名前:名前は開発中のものです。 [2009/10/13(火) 20:18:53 ID:dd949xVz]
共通動作する部分は共通の処理を使う
インターフェースは揃える



105 名前:名前は開発中のものです。 mailto:sage [2009/10/13(火) 23:59:53 ID:kOoovq6w]
>>103
普通の雑魚敵でも、「次のフレームでどういう行動をするか」を問い合わせる処理ってあるじゃない。
基本的には、その中身を変えるだけじゃないのかな。

もちろん、雑魚とボスとで、その関数(メソッド)の中身が、10倍くらい違うかもしれないけどさ。


106 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 18:50:59 ID:elbFpVSR]
敵の当たり判定を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も出るのですが明らかに当たり判定が小さくなった気がします・・・

107 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 19:19:31 ID:MHPkdFRa]
特に異常はないようだが‥‥

108 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 21:02:10 ID:x873g71t]
>>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
}


109 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 21:24:57 ID:8YxFaWCP]
>>106
Y軸はかすったときに当たり判定して
X軸は弾全体が敵と重なったときに判定してる。

ここまで書いて>>108が正解

110 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 01:21:06 ID:273G7C3n]
ありがとうございますm(_ _)m



111 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 03:28:34 ID:XEVb4vS8]
C言語やHSPなど様々な言語でゲームが作れますが
細かい部分は違えど当たり判定、フラグ管理等の考え方は共通してる所が多いって考えてもいい?

112 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 03:39:48 ID:ezl0Don3]
いい

113 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 04:00:28 ID:XEVb4vS8]
おK

114 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 20:02:33 ID:QLCYxmTI]
>>88
かなり遅くなりましたが、ありがとうございました。

115 名前:103 mailto:sage [2009/10/15(木) 21:05:26 ID:mXLNxkkI]
>>104-105
とりあえず頑張ってみます。ありがとうございました。

116 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 10:57:03 ID:6D13DqNr]
効果音作るソフトでお勧めってありますか?
周波数いじくる奴で頑張るしかない?

117 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 13:20:43 ID:eYYrLjKR]
>>116
どんな効果音かしらないが、ものによっちゃ自分で録音するのが一番
無から周波数いじるだけで作るのは無理がある

118 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 16:38:22 ID:6D13DqNr]
ストリートファイターみたいなバシッっとかドゴォみたいな音です
録音しかないですかね・・・

119 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 16:53:10 ID:+pO3lg2K]
フリー素材を使えば良いんでね?ザ・マッチメイカァズさん所とか

120 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 17:23:50 ID:UJ9WR3Zt]
声系の素材、もっと使いやすいものが増えてくれればいいのにねー。



121 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 19:47:43 ID:6D13DqNr]
フリー素材・・・ちょっと覗いてみます

122 名前:名前は開発中のものです。 mailto:sage [2009/10/16(金) 20:43:52 ID:rXjKMTSv]
「セイッ!」とか自分で言ってみれば?

123 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 09:36:11 ID:WIdKu3LJ]
弾が敵に当たると爆発アニメーション
アニメーション終了後にまた撃てるようになる仕様にしたつもりなんですが

敵に弾を撃つ→当たったら弾が小爆発→再び撃てるようになる
のはずが
敵に弾を(ry→当たったら弾が(ry→再び撃てるけど爆発途中の弾が放たれアニメーション終了後消える
といった結果になります・・・

敵に弾が当たると弾発射判定がオフになり、爆発アニメーション判定オン
アニメーション終了後にアニメーション判定がオフ
そして弾発射判定、アニメーション判定の両方がオフならば弾が撃てるという条件なので
こんなことになる原因がよく分かりません・・・
弾の座標を爆発用の座標に入れ替えてアニメーションさせています

124 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 09:48:44 ID:iJmzf119]
意味も良く分らないし実際のコードを見てみないことには・・・
敵に弾が当たってその弾が爆発してる間は弾が撃てないのか?
そんなシューティング(or アクション?)聞いたことないけど、まあそれは別にいいんだけど

125 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 09:55:53 ID:71MZbNWZ]
特殊弾とかでならアリかもしれない。
ともかく、ソース見たいな。

126 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 10:24:49 ID:xW2gorbr]
表示しようとしてる弾画像の座標とフラグをfprintfでファイル出力すれば何か分かるんじゃないの

127 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 15:00:36 ID:WIdKu3LJ]
見直したりフラグの状態を表示して検証しましたが解決しませんでした
単純に自分は画面上に一発しか弾が撃てず、画面から消えるか敵に当たればまた撃てるって仕様でした
結構粗のある感じだったので最初からキチンと作り直すことにします
失礼いたしました

128 名前:名前は開発中のものです。 mailto:sage [2009/10/17(土) 15:31:19 ID:cef+x7Zx]
そりゃあ、
> 弾の座標を爆発用の座標に入れ替えてアニメーションさせています
これが切り替わったままになってるとしか
ポインタ使ってて中身が爆発のアニメのものが入ってるとかじゃない?

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++です。



130 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 12:05:10 ID:C9BrTaQH]
画像は全部ゲーム起動時に読み込んでおいて敵をnewするときは座標のセットだけしてるな俺は。



131 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 12:17:38 ID:8FqIdkxS]
newは比較的重い処理(メモリアロケートが)なので、敵の発生のたびにnewするのもあまりよくない

132 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 15:49:02 ID:LJWQIbDf]
3Dのシューティングゲームを作りたいのですがどの言語を使えばいいのか
何から勉強すればいいのか決めることができず立ち往生している状態です

今できることは3Dのモデリング、モーション、C言語の基礎で
過去にflashでしょぼい2Dのシューティングゲームを作ったことがあります
それ以外にゲーム制作経験はありません

なるべく書籍がでていて勉強しやすいものから入っていきたいと思っているのですが何が適当でしょうか
またHSPが簡単だということで気になっているのですがどうなんでしょうか
ご教授よろしくお願いします

133 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 16:37:27 ID:GBmIn+bu]
どのくらいガチでやる覚悟があるかわからんが
まともにやるなら、DirectXとC++が一般的じゃないかな
過去のも合わせると書籍もかなり豊富だし
ネット上の情報も沢山あるしね


134 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 17:18:35 ID:LJWQIbDf]
>>133
ガチで(挫折しない程度に)やりたいです
HSPはやめてDirectXとC++から始めたいと思います
ご助言ありがとうございました

135 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 20:51:13 ID:MUsH0HSh]
ガチで時間があるならHSPから始めた方がよい
その方が挫折しない

それ以前の問題で,ガチで調べれば
C++&DirectXが一般的なことくらいわかるっていう

136 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 09:57:49 ID:kIRXFcc8]
>>135
C++とDirectXの本を注文したのですが挫折しそうだったらHSPの本も購入しようと思います
ありがとうございます

137 名前:名前は開発中のものです。 [2009/10/24(土) 13:11:10 ID:gJQGPyqe]
>136
挫折したなら多分プログラミングの適性ないから他の何をやっても大したことできないだろうから、すっぱり諦めるくらいの覚悟はないとな


138 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 13:25:52 ID:DD7Pkbp2]
いきなりC++&DirectXは初心者には少々荷が重過ぎる。
形になるまでに時間がかかりすぎる。
気合十分なら止めはしないが、C#当たりから入っていくのを薦めるなぁ。
HSPはどんなケースであれ漏れは薦めん。

139 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 13:31:50 ID:CI35l0uA]
Cじゃないのか
C#のが簡単なのか

140 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 14:52:30 ID:6ZgvtRZK]
C#なんて未来があるんだかないんだか分からない言語はすすめるのはなあ



141 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 15:11:16 ID:b8ij6S0c]
C#やJavaの名前は挙がっているよ

cedec.cesa.or.jp/2009/img/pdf/roadmap_PG.pdf

142 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 15:24:32 ID:DD7Pkbp2]
少なくとも2,3年で廃れるとは考えにくい。<C#
数年も経験つめれば多言語への移行も難なくできるでしょ。
職にするならC++は通らないと駄目だろうけど、趣味だったらねぇ。
C#が廃れるくらいの先の話なら64bitとかクラウドとかいろんな話が出てくるよ。

143 名前:名前は開発中のものです。 mailto:sage [2009/10/24(土) 15:55:12 ID:kq4P4tpl]
Cの基礎があるのならDirectXで問題ないだろ

144 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 01:09:15 ID:cd9OILdh]
C#を最初にやってしまうと、CやC++、Javaに移るときや覚えるときに不満たらたらになるという難点が。

145 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 03:59:35 ID:2DV6zeAf]
質問なんですが、ゲームパッドのボタン数やスティックの本数など、
最低限どれぐらいカバーすればいいんでしょうか。

PC用のゲームパッドの場合、右手の親指の4ツ、両人差し指の2ツ、
真ん中の二ツ、左手の十字ボタン、は自由に使っても差し支えない程度には普及してますか。

あと、左右の両スティックも標準的なものと考えていいんでしょうか。
それとも割り当てる機能は、十字ボタンの代替程度にとどめておくべきでしょうか。

146 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 05:40:06 ID:xTQpRCUt]
初心者がOOPから入って大丈夫なのか?

147 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 09:47:00 ID:fG1Kpsev]
>>145
例示したパッドが、高機能パッドにしか見えない件。
まあ、最近だとPS2/PS3ちっくなパッドもかなり多いから、それ前提に組むこと自体はそれほど問題ないと思う。

ただし、大多数が持っているか?という質問にはNOじゃないかな。
特にアナログスティックは、古めのものや小型をウリにしているものには付いてない可能性が高い。
それほどPCゲーで遊ばない人は、仮にパッドを持ってても5年前に買ったままでもおかしくないし。

大勢の人に遊んでもらいたいなら、パッドのボタン配置の差(右手親指6ボタンとか)も考えて、
 ・十字キー
 ・親指ボタン4つ
 ・LRボタン1つずつ
くらいが妥協点かも。
正直、ボタン数多くてもゲーム作りにくいと思うんだが、どうだろうか。

148 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 09:55:04 ID:fG1Kpsev]
あとこれは超個人的な意見だが、
普通の十字キーと左スティックの効果が異なる場合、一旦考え直したほうが良いとは思う。

149 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 10:03:35 ID:dpB5E6Y5]
>145
企画ならまだしも,自分でゲーム作ろうとしてんの?
で,そういった質問をすることから察して,
ゲーム会社の就職時とかに提出作品にしたいんじゃない?

それだったら,そんな高機能なゲームは避けろよ,って話なんだが.
デザインデータとか揃えるだけで時間くうし,
会社もそこまで求めてない.夢見すぎだから.

150 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 10:15:14 ID:XeXyzvN+]
>で,そういった質問をすることから察して,
>ゲーム会社の就職時とかに提出作品にしたいんじゃない?

どう察すればそうなるんだ



151 名前:147 mailto:sage [2009/10/25(日) 10:23:17 ID:fG1Kpsev]
>150に同意するw
自分も趣味のゲーム作りで似たようなこと考えたことあるよ。

152 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 12:41:06 ID:eIkmSzQS]
RTSを作ろうと思い立ったものの、資料の少なささに初っ端からオロオロ
してます。ネットでも本でもなんでもいいので参考になる資料とかありますか?

153 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 13:42:51 ID:plrtBRXO]
>>145
ゲームパッドのアナログはレバーの形状一つで操作感違うので、
あまりアテにしないほうがいいんじゃね?
あとボタン10個以上の操作法を覚えなきゃいけないのも困ると思うよ。
ゲームのジャンルによるけど、十字キー&ボタン4個(+スタートボタン)くらいで
ゲームクリアできるくらいにしておいて、
残りのボタンやアナログ入力は「使いこなせれば便利」なくらいにしておいたら?

154 名前:145 mailto:sage [2009/10/25(日) 17:01:07 ID:2DV6zeAf]
たくさんのアドバイスありがとうございました。
皆さんのおっしゃるとおり、シンプルな構成で考えて見ます。

155 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 17:18:16 ID:gfayfarh]
質問です。
私はC、C++歴2ヶ月くらいの初心者なのですが、
ゲーム業界に就職する際、作品提出として出せるレベルのゲームを作るまでにどのくらいの期間が必要でしょうか?

とりあえず、『やさしいC』は読み終わっており、
今は『独習C++』『C++の絵本』『ゲームプログラマになる前に覚えておきたい技術』の3冊を同時に読み進めて学習しています。
上記の3冊は全体の6分の1ほどを読み終えた辺りです。
『ゲームプログラマになる前に…』の本は結構難しく感じます。
高卒で専門学校等には通っておらず、独学です。
中学数学は全く問題ありませんが、高校数学は全く知識がない状態です。

このペースでの学習をこのまま続けられると仮定して、
何か月ほどでそのレベルに達することができるか教えてください。
また、この3冊を読み終えた後に読むべき本、とるべき行動など教えていただけるとありがたいです。
曖昧な質問で申し訳ないのですが、よろしくお願い致します。

156 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 18:30:00 ID:fG1Kpsev]
プログラムの知識より高校数学の知識がないのがマズい気がする

157 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 19:15:51 ID:A8wY2OUV]
聞くまでもないと思うけど
読んでるだけじゃなくていろいろ弄ってるんだよね?

158 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 19:28:24 ID:gfayfarh]
レスありがとうございます。
>>156
高校数学の教科書は一応持っており、周りに数学・物理を質問できる人がいるので、
勉強する際には問題ないとは思いますが、やっぱり時間はかかりますか?

>>157
弄るというのがどの程度なのかはわかりませんが、本の中で出された問題、課題等はこなしています。
ただ、本を読んでいて経験が圧倒的に足りないというのは感じます。

159 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 20:00:53 ID:plrtBRXO]
>>155
IDが格好良いね!
マジレスするとここは業界板でも就職板でもないのでロクなレス付かないです。
この書き込みを含めてwww
というわけで、
> ゲーム業界に就職する際、
> 作品提出として出せるレベルのゲームを作るまでにどのくらいの期間が必要でしょうか?
という質問に答えるのは不可能です。
貴方の能力も、ゲーム会社が要求する能力も判らないですから。

2Dでピコピコ動くものなら、言語が理解できれば、
あとはコピペ改変ででもどうにかなると思う。
本の方はあとDirextXの本でも買って来て、
ザーッと読んで書いてある内容を把握するだけにして、
さっさとDirectXサンプルをコピペ改変して弄り始めたほうがいいと思う。

そうすれば自分自身で目星付けられるんじゃね?

3Dグリグリ動くもの…については、高校数学は必須だけど、
ゲーム専門学校ではそんな高度なカリキュラムは無いというのが通説です。
だから一応下地はある事になるけど、3Dプログラム書きたくてしょうがない。
3D関連知識漁るのが楽しくてしょうがないってレベルでもなければ、
3Dは手を出さないほうがいいと思うよ。
ゲーム会社でもそこらへんは大卒以上あたりがライブラリ作って、
他人は使うだけで手を出さないんじゃないかな?
マスターしてれば評価されるだろうけどね。

160 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 21:19:41 ID:gfayfarh]
>>159
丁寧にありがとうございます。

ほんとだw全部ID小文字ですねw

ttp://pc11.2ch.net/test/read.cgi/prog/1254036117/601-700
で聞こうと思ったんですが、聞ける雰囲気じゃなかったのでこちらで聞かせていただきました。

とりあえず今ある本を終えてから、DirectXの勉強をして早めに実践力をつけようと思います。
ありがとうございました。



161 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 03:38:38 ID:2y0cxQ6Z]
独学でどこまで高校数学の知識を得られるかは、
正直そういった経験がないので分かんない。

ゲーム作るなら、三角関数とベクトル、それと多少の物理くらいは把握してないと話にならないかも。
中学でもやってる内容ではあるけれど、それの応用。



162 名前:名前は開発中のものです。 [2009/10/26(月) 15:28:37 ID:Xm9ZUOsf]
テトリスを最も短時間で作ることができる開発環境はどれですか?

163 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 15:38:39 ID:TQ0lp1L0]
>>162
メモ帳, IE, HTML, Javascript
それこそ「565バイトのテトリス」をコピペしたら一瞬で完成する。

164 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 18:58:20 ID:2y0cxQ6Z]
ニコニコで1時間でやってた人はBCCだっけ?

165 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 20:01:18 ID:TQ0lp1L0]
>>164
あれはgcc(MinGW)

166 名前:名前は開発中のものです。 mailto:sage [2009/10/26(月) 23:24:30 ID:DJWTX3Xh]
面倒くさいからもう「高卒」は高校数学マスター扱いでいいんじゃねw

167 名前:名前は開発中のものです。 mailto:sage [2009/10/27(火) 03:31:39 ID:PgOWFxS1]
>>166
理系出身なら間違ってないはずだ!
…自分の過去は神棚に上げて祀るけど。

168 名前:名前は開発中のものです。 mailto:sage [2009/10/27(火) 23:50:36 ID:xdHlNygA]
>>152
RTSはいろいろなゲームで必要なテクニックを総動員して作
るから、
RTSそのものの作り方って資料は探しにくいかも
RTSに特化したテクニックはGemsにいくつか載ってるよ

169 名前:名前は開発中のものです。 mailto:sage [2009/10/28(水) 09:53:48 ID:4eZmcJ8u]
>>152
「14歳からはじめるC++わくわくゲームプログラミング教室」って本にちょっとしたRTSの作り方が載ってたぞ
基本的なことしかやってないから、ここから先は自分で考える必要があるわけだが

170 名前:名前は開発中のものです。 mailto:sage [2009/10/28(水) 10:42:14 ID:w2JqwC2e]
あの本はプログラムソースにミスが多いからお勧めできん



171 名前:名前は開発中のものです。 mailto:sage [2009/10/28(水) 19:35:44 ID:6uOz2S02]
開発はXNAでしてます
シムシティみたいな都市育成ゲームを3Dで作ろうと思っているんですが

3Dでグリッドは描画できるようになったけど
3Dオブジェクトをグリッドに配置する方法がわからない

まずグリッドの基準となるタイルを3DCGで作成してから
それを元にオブジェクトを作っていくのか
これならスケーリングする必要は無さそう?

それとも、LineStripなどでグリッド作成して
それに合うように3Dオブジェクトをスケーリングしたりしていくのか

ここら辺がよくわからないので、アドバイスありましたらお願いします

172 名前:名前は開発中のものです。 [2009/10/30(金) 11:52:10 ID:S3yEYDhi]
スケールするにもオブジェクト毎にスケール値が違うと参照データが増えるので、基準グリッドを元に作った方がいいと思う
この手の仕様的なことに悩んだら他の人がどうだとかより、作ってるゲームでどういうメリット/デメリットがあるかを羅列して自身で判断したほうがいい


173 名前:名前は開発中のものです。 mailto:age [2009/11/04(水) 19:50:08 ID:WgLSvKP+]
複数の敵キャラクタや弾などをどのように管理するか悩んでいます。

ttp://msdn.microsoft.com/ja-jp/academic/cc998623.aspx
ここの「2.5 キャラクタ管理」にあるように、十分な数の構造体配列を用意し、
その中の有効/無効を表すbool値でゲーム上での出現/消去を管理する方式は、
感覚的に分かり易く、メモリリークの問題も起こり難そうに思います。

しかし、その他のコードを調査していると、STLのvectorやlist等を使い、
それらに敵や弾のクラスを格納しているケースもありました。
有効/無効の切替については、Active用のvector(list)、非Active用のvector(list)の
二つを用意しておいて、それらの間を移り替わることで対応していました。
(ゲームループではActive用に登録されたクラスのみ動かす)

どちらの方式にするかを考えてるのですが、
各ノードがクラスで構成されている(オブジェクト指向的な組まれ方がされている)場合は後者で、
そうでない場合はどちらでもよくて、統一的いすべて後者にするといった方針もあるかと思っています。

そのほか、複数のキャラクタ管理について気を付けておいたほうが良いことなどがありましたら、
ご教示願います。
ゲームデザインとしては、各キャラクタグループ相互の関わり合いが多いものになる予定です。
(敵キャラ、自キャラ、弾の衝突判定など)

よろしくお願いします。 m(_ _)m

174 名前:名前は開発中のものです。 mailto:sage [2009/11/04(水) 21:02:26 ID:K+5ruHbY]
とりあえず全てリスト等で実装する。
それで特に問題になることはないから。

175 名前:173 mailto:age [2009/11/04(水) 23:05:02 ID:WgLSvKP+]
>>174
ありがとうございます!
そうします!

176 名前:名前は開発中のものです。 mailto:sage [2009/11/04(水) 23:46:15 ID:/Sz4AuHE]
intの変数にビット単位で(32個の)フラグを立てる方法があると思うのですが,
32個ブール値を用意するのとの違いはありますか?

177 名前:名前は開発中のものです。 mailto:sage [2009/11/04(水) 23:49:46 ID:/Sz4AuHE]
intというのは例えばです.

ブール値を使う方が短絡な分直感的だし,
別々の変数名を付ける方が分かりやすいように思いました.

178 名前:名前は開発中のものです。 mailto:sage [2009/11/05(木) 00:22:54 ID:5+rWBuJO]
ビット単位でフラグを立てる方法の方が、メモリーの節約にはなる。
まあ、メモリーの節約を気にする必然のある環境は少ないけどな。

179 名前:名前は開発中のものです。 mailto:sage [2009/11/05(木) 00:26:41 ID:Vo34wPi1]
>>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;
・・・


180 名前:名前は開発中のものです。 mailto:sage [2009/11/05(木) 02:28:38 ID:eJ3mIolJ]
フラグを初期化したいときにintだと楽かな。
でもフラグが32個を超えると管理が煩雑になりがちw



181 名前:名前は開発中のものです。 mailto:sage [2009/11/05(木) 09:50:10 ID:KI4+w2Dm]
それ1ビットずつか
ユニオン使うんじゃないのか

182 名前:名前は開発中のものです。 mailto:sage [2009/11/05(木) 14:47:55 ID:+rSTg+Ag]
>>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 mailto:sage [2009/11/06(金) 02:37:08 ID:qMwKFyiY]
過ぎた話題だけど安価ミスった。>>176へですな

185 名前:名前は開発中のものです。 mailto:sage [2009/11/06(金) 13:19:49 ID:hajLFQ96]
シビアに高速化をやるときはキャッシュアクセス考慮するのでintに押しこんだりする

186 名前:名前は開発中のものです。 mailto:sage [2009/11/06(金) 16:37:00 ID:kEmsEn+Q]
intは、整数値を扱うときに、一番最適な値にデータ型を割り振ってくれるわけだしね。
とりあえずメモリロスは起きてもタイムロスは回避できるさ。
そして現代のPCならメモリなんて使い放題に近いさ。

187 名前:名前は開発中のものです。 mailto:sage [2009/11/06(金) 18:14:17 ID:hajLFQ96]
逆だよ
キャッシュサイズのこと言ってんだからintでboolの代用すんじゃなくて、intにブール値を詰め込むほうの意味
intにbool詰める・読む際に余計な演算が必要なるが、ここで必要となる論理演算は一般的に高速に処理できる
それよりも昨今のCPUのマルチコアの関係もあって、キャッシュミスヒット時のストールで待たされる時間のロスのほうがはるかに大きくなることがある
フラグ32個をint32個に入れずに1個のintに入れて処理すれば、キャッシュ内に収まりやすくなるので高速化できることがあるって話

188 名前:名前は開発中のものです。 mailto:age [2009/11/06(金) 22:12:14 ID:HsspV1xj]
おおお、勉強になる・・・
メモリをふんだんに使えるとはいえ、高速化を目指すときはより小さなサイズにしたほうがイイんだね。

189 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 09:17:22 ID:gHawF7bm]
そんな小手先の似非最適化をしたって、全体の速度は誤差程度も変わらないよ。

190 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 10:11:51 ID:Orb9rLPQ]
効果は入れる前にある程度計算可能で効果が出るところに狙って施す
実際にMTフレームワークなんかでもキャッシュサイズを意識した作りをしてるわけだがそれも否定するのか?



191 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 10:58:18 ID:cV8cW+A4]
虎の威を借りる前に、自分でやってみた結果を提示したらどうだ?
これだけパフォーマンスが変わったというのを証明すれば簡単に片がつくだろう。

192 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 11:14:03 ID:Orb9rLPQ]
トラの威を借りるな、おまえの自分の成果をだせ
バカですか?

193 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 11:19:22 ID:gHawF7bm]
つまり検証も何もしていないというのは理解できたよ。

無いものを無いと証明するのは不可能に近いけど、
ある物をあるというのはそれを見せればいいだけなんだけどね。

194 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 11:21:33 ID:ZbG3kEz7]
あのぉ、素朴な疑問なんだけど、

キャッシュヒット率を上げると速くなる
  → メインメモリと同じくらいの容量(数百MB)のキャッシュを積めば、
    HDDへのページングが起こらないレベルであれば特に最適化しなくても速くなる

って理論上は合ってる?


言い換えると、

速い・小要領 <- キャッシュ(SRAM) - メインメモリ(DRAM) - HDD -> 遅い・大容量

これのメインメモリをすっ飛ばした構成

速い・小要領 <- キャッシュ(SRAM) - HDD -> 遅い・大容量


まぁ、そんな量のSRAM積んだら、恐ろしい値段になるだろうけどw

195 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 11:53:36 ID:Orb9rLPQ]
> 無いものを無いと証明するのは不可能
>>187に速くなる根拠があるんだから、その間違いを示せば証明できる さあばんがれ
なんら反証はなく、自分の経験だけで速くならないって言い張ってるだけじゃないよね?

>>194
それだけ大容量ならキャッシュとしてヒットさせる必要は無くて、高速なメインメモリとして使えばいいので当然速くなるだろうね
SRAMの制限まではよく知らないけど、何億もするコンピュータでも全SRAM構成にしないとこをみると、何制限があってできないのかもしれないね
ただ、上にある話題はキャッシュサイズの話しかないけど、CPUがストールする要因はほかにもたくさんあるので、それらも合わせて何とかしないと効果は薄いかも

196 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 12:27:09 ID:gHawF7bm]
>>195
>速くなる根拠がある
これは否定してないよ。
単にフラグをビットで管理したところで、誤差でかき消えてしまう程度しか変わらないといっているんだけど、
ではいったいどの程度のパフォーマンスアップが期待できるというのか明確にしてくれ。

197 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 12:36:18 ID:gHawF7bm]
そもそも何を突っ込みたいかというと、最適化云々やCPUの挙動を論じる奴が、
木を見て森を見ず、局所的な部分のみが多少速くなることに悦に入って、
全体でみれば実際は何の役にも立っていないことに気がつかない馬鹿だということ。

ぶっちゃけこれが一番言いたい。

198 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 12:52:58 ID:Orb9rLPQ]
>速くなる根拠がある
>これは否定してないよ。
君が、俺が「何の役にも立っていないことに気がつかない馬鹿」と思うかどうかは、俺にとっては(きっと見てる大部分の人間にとって)どうでもいいことなので、そう思うなら勝手に思ってくれ。
速くなる根拠の部分に何の反証もないなら何の問題もない。

>>187にもあるが、「高速化できることがある」としか言っていなくて、どんな条件でも速くなるとは言っていない。
特定の条件下でパフォーマンスの改善が期待できるとは間違いなく、MTなどの市販製品でも考慮されていることは
そもそも、intにブールを入れるか、intをブールとして使うかの違いについてのレスとしては183

199 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 12:56:32 ID:Orb9rLPQ]
すいません、途中で送ってしまった。
下3行は書きかけ

>>187にもあるが、「高速化できることがある」としか言っていなくて、どんな条件でも速くなるとは言っていない。
特定の条件下でパフォーマンスの改善が期待できるとは間違いなく、いろいろな情報からも、MTなどの市販製品でも考慮されていることからも、十分確かと考えていいだろう
そもそも、intにブールを入れるか、intをブールとして使うかの違いについてのレスとしては>>183でなんの問題もない。

200 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 15:58:19 ID:M1hO6X0P]
ハードウェア側のことを考えて
32bitの環境なら32bit型をなるべく使うのは結構重要なことなのに
「役に立ってない」と完全否定できる奴はすごいな



201 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 16:12:38 ID:vkeQqaC1]
あえてそこまでストイックになる必要がないってだけじゃないの? 少なくともゲーム製作を語る上では。
お互いに相手の言い分もわかってるだろうに、わざわざ議論始めなくてもいいよ。

202 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 16:25:32 ID:Orb9rLPQ]
まあ適材適所で必要なときだけ必要な個所でやればいいと思うよ
最適化ってそういうもんだし
なんにしてもしょうもないやり取りでスレ汚してすまんかった

203 名前:176 mailto:sage [2009/11/07(土) 23:44:19 ID:Xs7tndnq]
レス有難うございました.

>179
自分の勉強不足でしょうか...
intサイズの変数が並んでいるように思うのですが,
1ビットずつの命名が実現できているのでしょうか?

>180
>182
boolで構造体を作って,memset, memcpyで操作するのと
違いが出にくいように思いました.
無理して使う必要はない,と言うことであればそれまでなんですが.

>200
個人的にこの言い分がしっくり来ました.
他のいくつかレス頂いた分も,これに終始すると思いますし.
また,潜在的な疑問でしたが,
必要な真偽値がきり良く32個になることなんてまずないから,
シビアに弄ってる一方で,ビットの未使用分が気になっていたので.

有難うございました.

204 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 23:49:19 ID:pD8Hg5wM]
> >179
> 自分の勉強不足でしょうか...
ビットフィールドだからC言語だね。

205 名前:名前は開発中のものです。 mailto:sage [2009/11/07(土) 23:53:56 ID:Xs7tndnq]
>204
勉強不足でした...;ありがとうございます.

206 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 10:28:20 ID:jVF9AtCS]
結局何が聞きたかったのかよくわからない質問だったな

207 名前:名前は開発中のものです。 [2009/11/08(日) 10:56:38 ID:3Syd0d+d]
ここで激論を戦わしている人達は、アセンブラを知っているの?

CPUの汎用メモリは数個程度だから、ある変数をメモリにロードしても、
そのメモリに別の変数がロードされたら、またロードし直さないといけない
結局の所、メモリの使われ方は、アセンブラを見ないとわからんよ

マイコンのプログラムなんて1行ずつ、どのメモリを使うか確認しているんだから

208 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 11:11:15 ID:5bB/LHM4]
DOS時代とかデバイスドライバ、マルチメディア系の最適化ではなく、
マイコンを例に挙げてくるあたり、頭の悪さを露呈しているのがよく分かる。

209 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 11:24:07 ID:jVF9AtCS]
そういえば、64bitになってから拡張された上位分や、MMXやらSSEで増えたレジスタって汎用には使えないのかな
register指定でその辺のも使ってくれれば、結構な数がそろうと思うんだけど
Itaniumでも使えばもっとレジスタ使えるんだろうけど、Itaniumマシンはサーバ以外で使われそうにないし

210 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 11:46:34 ID:ENtK6awO]
>MMXやらSSEやらで増えたレジスタ
浮動小数点のレジスタをまんま使用してるんじゃなかったっけ?




211 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 11:48:04 ID:u9PsEAnz]
Itaniumを使わなくても、EM64TやAMD64で汎用レジスタの数が増えているんだが、
いったい何を言ってるんだ?

しかも今の時代、コンパイラでregister指定をしても、
逆に無駄が増えるか無視されるかという結果にしかならない。

212 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 12:29:07 ID:jVF9AtCS]
>>210
ああ、共通で使ってるんだっけ
なんかそんなのを聞いたことがあったのを思い出したよ

>>211
増えた汎用は汎用で使ってくれればそれでいいんだけど、
Itaniumにすれば汎用レジスタがもっとたくさん増えるだろ?
それだけの話だよ

>しかも今の時代、コンパイラでregister指定をしても、
>逆に無駄が増えるか無視されるかという結果にしかならない
これはよく聞く話だけど、実際どうなるかはコンパイラ依存だよね
無視されるならまだいいと思うけど、無駄が増えるって具体的にどんなコードが吐かれるの?

213 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 12:41:13 ID:BFD52Z6T]
PCをターゲットにするのに今時アセンブラなんてあんまし関係ないと思うが。
キャッシュ操作を命令で出来れば早くなりそうだな。

214 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 14:38:24 ID:ENtK6awO]
キャッシュは自前で操作したいよな。つ〜か一体、どんな状態になってるんだか。

215 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 18:54:01 ID:2FC+r2WV]
どこで質問すればいいのか迷った、
というか所謂初心者なのでどう質問すればいいのか上手く説明できませんが質問させてください。

よくある戦略SRPGで、敵(CPU)の行動でこちらの敵に向かわせる際、
川や山、障害物など通れないマス目を避けて進ませる方法が上手く思いつきません。
さすがに大まかすぎて回答してもらうのは難しそうなので、
そういった、AIというのでしょうか、CPUの行動させかたを上手く解説しているところ、
もしくは参考にできるような題材やリンクはありませんでしょうか?

216 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 18:56:42 ID:49+a80li]
自分もちょうどそれが気になってたところ・・・

217 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 18:58:32 ID:9QV4n3ah]
>>215
www.jyouhoukaiseki.com/index.html
こことか。

218 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 19:02:24 ID:hbP1+XQi]
オライリーの「実例で学ぶ ゲームAIプログラミング」という書籍に経路探索が出てたと思う。
とりあえずマンハッタン距離、経路探索くらいのキーワードで調べてみるとか。

219 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 19:07:17 ID:2FC+r2WV]
10分も経たないうちに回答してくださってびっくらこいた

>>217-218
ザッと見たところ、どちらも参考にできそうな説明がされておりました。
あとは自分で考えて発展させていけばなんとかなりそうです、どうもありがとうございます。

220 名前:名前は開発中のものです。 mailto:sage [2009/11/08(日) 19:07:28 ID:hbP1+XQi]
抽象的な概念でいえば、グラフ理論を学べばできるようになると思う。



221 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 18:19:12 ID:PeiW8ICh]
何だかわからんが、議論の経過は華麗に無視して結論。

・boolean型のフラグは、byteで持つよりbitで持った方が
全ての面で優れています。bitで持つようにしましょう。
操作が煩雑なら、std::bitsetやboost::dynamic_bitsetを使いましょう。

以上終わり。

222 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 18:54:49 ID:m+B8PjQ8]
>>221をかいつまんで説明すれば、億万長者が一円玉を拾い上げるのと同じだということ。
腰を曲げるぶんだけ損しているかもしれない。

以上終わり。

223 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 18:56:33 ID:iR0qXcSq]
全ての面で〜などと簡単に言う人間の言葉は、全ての面で信用ならねぇ

224 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 19:02:45 ID:kkW4R7qN]



ゲーム製作でお約束の豆知識


何の判定でもいいが、フレーム単位でするのは御法度である。
何らかの理由でフレームとしての描画が遅れると判定も遅れるからである。

普通は、タイムスライスなどの時間判定で行う。
時間なら、描画が行われていなかろうが何だろうが
時間が来れば強制的に判定するからだ。
これは兼ね合いの面も強いのであまり多用すると処理速度に悪影響を与えるが
よりクリティカルなところでは時間で判定しないとロクなことにならない。



225 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 19:12:03 ID:C6i0KrhP]
ttp://www.wacharo.net/Tetris/Tetris.jsp

ここを参考にしてJAVAでテトリスを作るんですが、
アプレットではなくてアプリケーションで作成したいと思っています。
ですがアプレットとアプリケーションの互換性などが全く分かりません。

作ってからアプリケーションに簡単に変換することができるんでしょうか。
ためしに上記のサイトのレベル1と書かれてる部分からextends Appletなど抜くと
他も使えなくなる部分が出てくるんですが。
アプリケーションでJARファイルにして実行できるようにしたい場合は
他のサイト参考にしたほうがいいんでしょうか?

見ておいたほういいサイトなどあれば紹介お願いします。

226 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 19:26:28 ID:33hrI6K4]
VC++で、directX(dxlib)を使っています

リフレッシュレートに左右されぬようFPSを固定する技法を使うと、
等速直線運動しているだけの画像がカクカクとスムーズでない動きをしています
理由は理解しているのですが、明確な解決方法がググってもどこにも載っていません
(移動距離をリフレッシュレートによって変更するという技法はありますが、その他全てを変更するのは無理そうです)

これはつまり、カクカクなのはしょうがないと言うことなのでしょうか。
東方等大手も仕方が無いこととして適当に諦めてるのでしょうか。
それとも、何か解決法(orマシになる方法)などあるのでしょうか。
(dxlibを使っては不可能なのでしょうか)

よろしくお願いします

227 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 19:40:07 ID:iR0qXcSq]
>>225
ググったら、こんなのあったけど
wisdom.sakura.ne.jp/system/java/awt/Gjava33.html

228 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 20:10:08 ID:WSBQhFY6]
経過フレーム数ではなくて、経過時間でアニメーションするように変更する。>>226

229 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 20:20:35 ID:33hrI6K4]
>>228
ありがとうございます。
すると、ほとんどのゲームソフトはそういった仕様になっているのでしょうか。
自分はカクカクなのが許せないと言うよりは、大多数の手法と同じ手法を用いたいのですが……。

230 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 20:30:16 ID:WSBQhFY6]
リフレッシュレートに依存しないとなったら、ほとんどがそうだろ。



231 名前:名前は開発中のものです。 [2009/11/10(火) 21:55:03 ID:1FCcgIbf]
>>215-220
オライリーの「ゲーム開発者のためのAI入門」とその続編の
「実例で学ぶ ゲームAIプログラミング」

ゲーム・プログラマーで、この2冊を読んでいない人はやばいよ。早く読みな

>>225
アプレットはブラウザの中で実行するから、色々と面倒な設定をしないといけない
それを考えれば、アプリケーションの方がずっと簡単

新たにアプリのプロジェクトを立ち上げて、ソースをコピーすればよい

232 名前:名前は開発中のものです。 mailto:sage [2009/11/10(火) 23:44:40 ID:VPqZVDvF]
>>227
正直アプレットとして使う必要が無いので、
アプリケーションでのみの動作を考えたいです。
そしてそのリンクの中身ですら難しいと思えるレベル・・

>>231
それやってみたらpublic void initの中身のsetSizeやらcreatImageやら
よくわからない所がエラーででててMainで未定義です、とエラー文がでます。
initをmainに書き換えても同様のエラーなので構造が分かってないからでしょうか。

丸写しするつもりはないんですが課題の一部なので、
流用する部分が多いかもしれません。

調べてみるとアプレットはinitで定義してアプリはmainという風な理解の仕方と
どこかで見たような気がするんですが。

ocn規制されたのでこの書き込みは代行です。暫く出て来れません。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<73KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef