【初心者】スレを立てる前にココで質問を【Part20】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/09/29(火) 07:08:29ID:OO8C9kYOスレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/
※ >>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/
ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/
ゲーム製作技術板予備(機能停止中?)
http://yy13.kakiko.com/gamdev/
アップローダー予備
http://gamdev.hp.infoseek.co.jp/
gamdev.orgが落ちるたびにあげてみるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1107022166/
0002名前は開発中のものです。
2009/09/29(火) 07:08:44ID:OO8C9kYO[Part19]http://pc11.2ch.net/test/read.cgi/gamedev/1236761855/
[Part18]http://pc11.2ch.net/test/read.cgi/gamedev/1223550808/
[Part17]http://pc11.2ch.net/test/read.cgi/gamedev/1210443288/
[Part16]http://pc11.2ch.net/test/read.cgi/gamedev/1199303757/
[Part15]http://pc11.2ch.net/test/read.cgi/gamedev/1190308500/
[Part14] http://pc11.2ch.net/test/read.cgi/gamedev/1175521815/
[part13] http://pc11.2ch.net/test/read.cgi/gamedev/1160457664/
[part12] http://pc8.2ch.net/test/read.cgi/gamedev/1147951341/
[Part11] http://pc8.2ch.net/test/read.cgi/gamedev/1137730564/
[Part9(10)] http://pc8.2ch.net/test/read.cgi/gamedev/1127522168/
[Part9] http://pc8.2ch.net/test/read.cgi/gamedev/1121237401/
[Part8] http://pc8.2ch.net/test/read.cgi/gamedev/1113237630/
[Part7] http://pc8.2ch.net/test/read.cgi/gamedev/1103954329/
[Part6] http://pc5.2ch.net/test/read.cgi/gamedev/1094627404/
[Part5] http://pc5.2ch.net/test/read.cgi/gamedev/1078502309/
避難所 http://pc2.2ch.net/test/read.cgi/gamedev/1057318143/
[その4] http://pc2.2ch.net/gamedev/kako/1043/10434/1043417025.html
[Part3] http://pc2.2ch.net/gamedev/kako/1032/10328/1032814540.html
[Part2] http://pc2.2ch.net/gamedev/kako/1013/10136/1013645518.html
[Part1] http://game.2ch.net/gamedev/kako/1005/10050/1005038203.html
0003名前は開発中のものです。
2009/09/29(火) 10:14:00ID:buFEME5a0004名前は開発中のものです。
2009/09/29(火) 15:10:24ID:9Pm0QaLU0005名前は開発中のものです。
2009/09/30(水) 06:13:03ID:YiQMJJd+ttp://homepage2.nifty.com/natupaji/DxLib/program/ActionSample.cpp
SizeにはたぶんCHAR_SIZEが代入されると思うのですが
どこにも
Size = CHAR_SIZE
みたいなのがありません
どういうことでしょう?
0006名前は開発中のものです。
2009/09/30(水) 06:32:40ID:zIiHq6bh惜しい惜しい。
変数 Size は、関数 CharMove() の引数の名前だからだよ。
168行目の
CharMove( &PlX, &PlY, &PlDownSp, MoveX, MoveY, CHAR_SIZE, &PlJumpFlag ) ;
の第六引数CHAR_SIZEが、Sizeに代入されてる。
0007名前は開発中のものです。
2009/09/30(水) 06:55:54ID:YiQMJJd+0008名前は開発中のものです。
2009/09/30(水) 14:03:31ID:uHicMEib0009sage
2009/09/30(水) 21:09:31ID:TbHm+HlR何かもが全プレイヤーに委ねられている「NPC」のないネトゲを作るのって不可能か?
0010名前は開発中のものです。
2009/09/30(水) 21:10:18ID:TbHm+HlR0011名前は開発中のものです。
2009/09/30(水) 21:19:31ID:4EG3NSD6セカンドライフは、ある意味その一例じゃないの?
0012名前は開発中のものです。
2009/09/30(水) 22:48:52ID:uHicMEib街の人々だけでなく、倒すべきモンスターも存在しないわけだろ?
そもそもどこまでがNPCなのか、線引きが難しいかもしれないけど。
コンピュータから見れば、町の人も、モンスターも、それこそダンジョンの仕掛けすら同じだろうし。
0013名前は開発中のものです。
2009/10/01(木) 00:40:29ID:/8KJdq9x人が集まって役割分担が上手くいけば不可能ではない
まあ、机上での話だから現実はどうなるか分からんけど
0014名前は開発中のものです。
2009/10/01(木) 02:49:54ID:NOWadv8/ゲームは楽しむためにするもので、楽しくないことはだれもしないから
現実世界は対価をもらうために楽しくないお仕事をする人がいることで成り立ってます
0015名前は開発中のものです。
2009/10/01(木) 11:41:42ID:hBjkvKrn0016名前は開発中のものです。
2009/10/01(木) 20:14:23ID:/8KJdq9xジャンルも不明なのに不可能とはこれいかに
0017名前は開発中のものです。
2009/10/01(木) 21:38:28ID:N73Swkn/現実にも自動販売機くらいあるし、ゲーム内なら補充員も電力会社も生産設備も端折れる
>>12の言うとおりどこまでをNPCとするかによるんじゃないかな
0018名前は開発中のものです。
2009/10/01(木) 23:21:08ID:hIZqWeLZ含んだら別のゲームになる
まあそういうゲームがあっても面白いかも知れんが
そういうわけで上のレス読んだらNPCのないネトゲも理論上は可能ではないかと
0019名前は開発中のものです。
2009/10/01(木) 23:37:39ID:3M3YOYrHどういうのが初心者にお勧めだろうか?
FPSって2Dのシューティングとかに比べて難しい?
0020名前は開発中のものです。
2009/10/02(金) 01:16:19ID:UaoOfJ6dFPSと2DSTGはゴールが明確でないので、
作業量もわからずに「よーし、パパはオトメディウス作っちゃうぞ」なんて言ってエタる。
初心者は絶対に完成しない。
「じゃあママはパロディウス作るわね」とか言って当初の予定よりもグレードダウンしたつもりの奴も必ずエタる。
全然わかってない。
初心者は敵が一体しか出ないインベーダーが限界だから。
そもそも学校の宿題に何時間情熱を注げるんだよpgrみたいな。
そんな情熱あるならもう初心者じゃねえよ。
というわけで、余計な妄想が入りにくい&シンプルなパズル系ゲームがオススメ。テトリスとか。
(ぷよぷよみたいに余計なストーリー演出加えようとした瞬間に全てが破綻するけどな)
0021名前は開発中のものです。
2009/10/02(金) 01:20:29ID:dTVjpSor0022名前は開発中のものです。
2009/10/02(金) 01:28:04ID:HTVudDfO0023名前は開発中のものです。
2009/10/02(金) 02:15:36ID:Lq88Inhz週3時間、学校でそれを作るのに使える時間がある
それが8週間くらいかな。
家でも作業できるけど大学内だけで30時間くらい使えると思っていいんだけどさ
C言語の基礎くらいしか分からない初心者で
0024名前は開発中のものです。
2009/10/02(金) 02:27:34ID:INRU3WM/もぐら叩きと同じだがw
0025名前は開発中のものです。
2009/10/02(金) 02:40:45ID:Lq88Inhzセンスないからキャラデザインだとかそういうのする予定は一切ないんで
やる気なさそうな動物みたいな敵を倒すだけの簡単なやつにしようかと思ってる。
先に動くようにだけして後付けで色々と足していく感じみたいに・・
まあちょっと担当の人にも相談してみるかな・・・
0026名前は開発中のものです。
2009/10/02(金) 07:12:38ID:hzhZHJ0c>普通モンスターをNPCに含まないだろ
そうなの?
0027名前は開発中のものです。
2009/10/02(金) 07:17:28ID:hzhZHJ0cシューティングから離れるなら、倉庫番とかもアリかもしれない。
>>24
もぐら叩きタイプのFPSかー。
うまくやれば、それはそれで面白そうかもしれないな。
(普通のFPSプレイヤーには評判悪いかもしれないけど)
0028名前は開発中のものです。
2009/10/02(金) 17:16:52ID:tnNqt+vA0029名前は開発中のものです。
2009/10/02(金) 17:52:54ID:hzhZHJ0c0030名前は開発中のものです。
2009/10/02(金) 22:05:11ID:Lq88Inhzテトリスみたいな落ちゲーに少し工夫を加えたような物作ることになりました。
それでゲームの土台になるサンプルを探すことになったんですけど、
JAVAで作ってる落ちゲーのサンプルのソースでお勧めはありますか?
内容は2人で対戦できるような物で、
出来れば他PCとIPアドレス渡してネット対戦のようなことができるようにしたいんですが、
そこまでするかどうかまでは分かりません。
(とりあえず動く物を作ったあとに余裕があればアイデアを追加、みたいにする予定なので)
JAVAの落ちゲーサンプルは探せば結構見つかったのですが、
どれを選べばいいかなどが分かる方がいれば従うほうがいいかと思ったので。
ネットでも本でも構わないので何か知っていればお願いします。
あとお勧めのJAVAのゲーム製作技術に関する書籍など紹介してもらえると嬉しいです。
なんかぐちゃぐちゃな日本語で申し訳ない。
0031名前は開発中のものです。
2009/10/03(土) 02:38:01ID:xi+hyd82というかしちゃダメだ。
ひたすら消していくモードか、余力があれば消去したライン数が一定数でクリアか。
0032名前は開発中のものです。
2009/10/03(土) 09:15:44ID:j005HOUI0033名前は開発中のものです。
2009/10/03(土) 11:35:08ID:JCZGjHD6初心者じゃ、ブロック落ちてきて消すのだけでも大変だぜ?
0034名前は開発中のものです。
2009/10/03(土) 14:19:02ID:XoF0ERgi0035名前は開発中のものです。
2009/10/03(土) 15:15:30ID:mUR1ExOt解説をしているサイトのリンクを辿ってもそれらしい物がないんだが、
最近はどんなコンパイラが簡単に手に入るんだ?
0036名前は開発中のものです。
2009/10/03(土) 15:20:58ID:WJ4+UwTShttp://www.microsoft.com/japan/msdn/vstudio/Express/
VisualStudio
0037名前は開発中のものです。
2009/10/03(土) 15:33:05ID:NAEtpbyN0038名前は開発中のものです。
2009/10/03(土) 15:43:41ID:WJ4+UwTS0039名前は開発中のものです。
2009/10/03(土) 15:57:23ID:NAEtpbyN0040名前は開発中のものです。
2009/10/03(土) 16:04:35ID:NKEhkw4Yみて違いを感じないならないんじゃね?
0041名前は開発中のものです。
2009/10/03(土) 16:49:50ID:GwwqG713程度ではないのかな2008は。
0042名前は開発中のものです。
2009/10/03(土) 17:19:52ID:XoF0ERgi0043名前は開発中のものです。
2009/10/03(土) 19:54:56ID:IuRMsMN4これって>>38を見ると対応言語にC言語が並んでないが問題ないのか。
0044名前は開発中のものです。
2009/10/03(土) 20:02:03ID:NPoZwTjngcc( MinGW使うか、Cygwinに入ってる奴を使うかの二択 )
0045名前は開発中のものです。
2009/10/03(土) 20:09:17ID:IuRMsMN4VisualStudioというヤツではだめだと?
0046名前は開発中のものです。
2009/10/03(土) 20:25:38ID:NPoZwTjnVisualStudioを動かせる環境があるならそれでも良いと思うよ。
0047名前は開発中のものです。
2009/10/03(土) 20:51:03ID:IuRMsMN4PCスペックの問題もあるのか。
一応VisualStudio C++をインストールしたんだがユーザー登録とかで、
英語ばかりのページに飛ばされるとか解説ページと大分違う状態になってしまった。
やはりCOBOLをやった程度の自分では難しいんだろうな。
0048名前は開発中のものです。
2009/10/03(土) 20:59:46ID:NPoZwTjngccはもっと難しくなるから、あきらめてVisualStudio使いなよ。
なんだかんだ言ってC/C++でWindows系のゲーム作るなら今はそれしか選択肢が無いと思うよ。
0049名前は開発中のものです。
2009/10/03(土) 23:56:23ID:NAEtpbyN0050名前は開発中のものです。
2009/10/04(日) 00:08:43ID:0Ah/xSEi0051名前は開発中のものです。
2009/10/04(日) 17:52:49ID:7G1vJO2Vそうですか、確かにJAVAのサンプルから拡張していっていいって言われたけど
中身の意味を理解するのに時間かかりそうだしな・・・
見て考えます。
0052名前は開発中のものです。
2009/10/05(月) 01:26:46ID:mQYy5BRf経営状況や主人公の内部パラメータと呼ばれる
データ群がごっそりあると思いますが,
そういったものの管理は
実際のゲーム開発でどういった形でなされるものですか?
すべてグローバル変数で持たせる?
データクラスを作ってアクセッサで操作を許す
(わかりにくかったら,追記します汗
0053名前は開発中のものです。
2009/10/05(月) 01:41:35ID:rxuxGtVW0054名前は開発中のものです。
2009/10/08(木) 06:02:52ID:MlEkLHJNキャラクターのHPを3桁+小数点第二位 まで扱うのですが、
floatは割算や掛算をすると、誤差で==のif判定が思い通りに行かない場合が有ると聞くのですが、
intで5桁の整数として扱い、表示する時だけ何らかの工夫をすべきでしょうか?
それとも気にせず普通にfloatで扱うべきでしょうか?
floatは判定に使うには危険なのでしょうか。
0055名前は開発中のものです。
2009/10/08(木) 06:14:02ID:9+tNZIVx例えば if (f == 5) をしたかったら
if ( (f > 4.999) && (f < 5.001) ) するなり工夫すれば大丈夫じゃないかな
== だと float型はきっちり5にならない場合がある(5だと思っても5.000001だったりする)から
0056名前は開発中のものです。
2009/10/08(木) 07:21:34ID:Dg0DwQAAなるほど、そういう誤差なのですね。
数値を揃え忘れないよう注意するintか、判定時に常に注意するfloatかという感じですね。
ありがとうございます。
0057名前は開発中のものです。
2009/10/08(木) 07:54:35ID:SLa/O5ojまずintで考えて、だめなら固定少数点、どうしても必要な時だけfloat
floatってCPUによっては計算結果が変わることもあるらしいから、扱いやすいintをまず考える
0058名前は開発中のものです。
2009/10/08(木) 11:03:38ID:+J4cYAi70059名前は開発中のものです。
2009/10/08(木) 11:44:03ID:sb7b+7HP同じく
内部的にint5桁にしておいて、表示は3桁+小数点+2桁にしてしまう、とか・・・。
正直にfloatで持つ必要はないと思うんだ。
0060名前は開発中のものです。
2009/10/08(木) 22:34:50ID:eUC0RCztcastを濫発するよりもfloatにしたくなる。
0061名前は開発中のものです。
2009/10/09(金) 15:47:07ID:S+xmTs6Z0062名前は開発中のものです。
2009/10/09(金) 15:52:01ID:h2K5B8t5いけないんじゃなく、ライセンス料払えってだけ
非商用か5000以下の配布なら問題なし、とかじゃなかったけ?
詳細はググって
0063名前は開発中のものです。
2009/10/09(金) 15:52:29ID:/buBQdg7MP3関連技術は特許で守られているので、特許保持者の提示するライセンスに従って利用料金を支払う必要がある。
1ゲームタイトルにつき、2500ドルくらい必要らしいよ。
http://www.mp3licensing.com/royalty/games.html
5000本未満なら無料らしいけど。
0064名前は開発中のものです。
2009/10/09(金) 22:13:45ID:vDLrjTrl0065名前は開発中のものです。
2009/10/09(金) 22:36:05ID:S+xmTs6ZWindowsでMP3のデコーダー持ってて再生してるからMSがライセンス持ってればいいのではないですか?
そのページのゲームという項目はゲーム機本体がデコーダー持ってなくてプログラム自体に載せる場合に必要なライセンス料ではないですかね
0066名前は開発中のものです。
2009/10/09(金) 23:28:17ID:F+uTkbTLMP3固有の契約内容は知らないけど、特許使用料って利用分野を限定することで安く済ませることがあるから
ちゃんと確認取っといたほうがいいよ。
確かGIFの特許問題のときも、WindowsAPIのOleLoadPictureでGIFをデコードするにしても
ユニシスはアプリケーション開発者に個別契約を迫っていたと記憶してる。通ったかどうかは知らん。
0067名前は開発中のものです。
2009/10/09(金) 23:33:19ID:vDLrjTrl0068名前は開発中のものです。
2009/10/09(金) 23:47:28ID:/buBQdg7デコーダを含む含まないじゃなくて、
MP3の技術を使ってエンコードされたコンテンツ(つまり、MP3形式の音楽ファイル)を含むゲームを
ばら撒くのにライセンスが求められる。
…というように読める文章がMP3のサイトにあった。
>9) mp3・mp3PRO・mp3surroundをゲームで使用する場合は、ライセンスを取得する必要がありますか?
>
>はい、mp3・mp3PRO・mp3surroundでエンコードされたゲームコンテンツは、タイトル毎に実施料がかかります。但し、ひとつのゲームタイトルの販売数量が5,000コピー未満の場合は、実施料は発生しません。
http://www.mp3licensing.jp/help/developers.html#9
0069名前は開発中のものです。
2009/10/10(土) 01:57:31ID:F4DT3FUUMP3と全く関係ないけどAACではこう書いてあります
http://www.vialicensing.com/jp/Licensing/AAC_FAQ.cfm?faq=1#1
これを見て勘違いしそうになりました
0070名前は開発中のものです。
2009/10/10(土) 03:46:14ID:JWW+S3LL0071名前は開発中のものです。
2009/10/10(土) 04:00:04ID:F4DT3FUUそして4999本限定でシェアウェアの完全版出して、完売したら別タイトルとしてリメイク版であらたに4999本限定(ry
0072名前は開発中のものです。
2009/10/10(土) 04:36:00ID:OoP32YCdテキスト形式の設定ファイルを、データ間はコンマで区切り、行はfgets()で改行文字で判別しています。
これをバイナリ形式にする場合
データの区切りや行はどう(何で)表現、判別するのが好ましいのでしょうか?
あと、バイナリ形式のメリットとは、テキストで255だと=3バイト、バイナリならば255までは=1バイト という事ですよね?
完全に文字オンリーの場合はバイナリ化してもサイズを小さくする効果は無いと思っているのですが(文字コードですし)
これは間違っていないでしょうか?
0073名前は開発中のものです。
2009/10/10(土) 05:28:56ID:rCisCYzoテキスト・バイナリってのは解釈の問題で、本質的にはどちらも同じデータの列だよ。
おそらく、データの圧縮を目指しているんだろうけど、
バイナリ化して0〜255まで全部使おうと思った場合、終端子の区別が付かなくなります。
そのため、データの区切りという概念を捨てて、固定長フィールドに読み込んだ方が良いです。
文字列であれば、文字列長+文字列、というデータ形式にしておく。
次に、バイナリ形式のメリットについてですが、文字オンリーのものを圧縮したいと考えた場合は、
素のデータを扱うよりも、zipか何かで圧縮する方法を考えた方がいいです。
0074名前は開発中のものです。
2009/10/10(土) 06:29:21ID:YtPBh4Ctサイズのメリットはあまり意味はないね
今はHDDもメモリも足りなくなることはそうそうないので、考えられるのはHDDへのアクセスラグくらいで、
それもゲーム中に10MBを超えるファイルを頻繁に読んだりするような場合でなければ、バイナリにするサイズのメリットはない
直接的な違いはテキストエディタで閲覧・編集可能かどうかかな
たとえばwidowsのiniファイルはシステムでも使用するが、テキストファイルなのでユーザーでも編集可能
これがバイナリだと見たり編集したりするのはちょっと面倒になる
ゲームの場合は見られたくないデータのときにバイナリ化(加えて暗号化)したりする
他にはメモリイメージを保存したいときなどはバイナリだとそのまま扱えるので使うことも多い(BMP画像とか、クラスのシリアライズなど)
バイナリファイルの場合の区切りの方法は>>73も触れてるけど、固定長フォーマットにするか、サイズ+データなどの可変長の方法がある
固定長はファイルの途中からでも読めるのでランダムアクセスに強い半面、プログラムから書き換えを行う場合はファイルへのデータ格納効率が悪くなることがある
逆に可変長だとデータの格納効率がよい半面、シーケンシャルに最初から読まないといけないのでランダムアクセスが必要な場合は向かない
いいとこどりで、可変長フォーマットにインデックスを付けて途中からでも読めるようにする方法もあるが、上の方法に比べ処理が複雑になる
などのそれぞれの特性を考慮してどうやって保存するかを決める
0075名前は開発中のものです。
2009/10/10(土) 06:41:12ID:oVNZpqqk固定長で扱うのが基本となると・・
細々と色々なデータを並べる場合は、バイナリ形式はかなり手間が増えるんですね。
大きくパターンの有るファイル向きなようですね。
文字群は圧縮形式を利用した方が良いんですね。
ありがとうございます。色々為になりました。
0076名前は開発中のものです。
2009/10/10(土) 10:17:52ID:KKcN9lBS通常、構造体に放り込む形になるでしょ。
0077名前は開発中のものです。
2009/10/10(土) 13:38:00ID:Pkw5pR5Dリセットボタン絡んだ裏技
昔のタミコンゲームなどで、どこかのボタン入力をしながらリセットボタンを押すと
裏技が発動する、などというものがよくあったが、あれはどうやって実現しているのだろうか。
普通に考えればリセットした時点で入力などが失われて何の判定も出来ないように思える。
これは、ソフトウェアリセットだからできるのである。
電源を入れる/切るというのはハードウェアリセットであり、すべてのレジスタ値が初期値に戻る。不定だったり0だったり様々だ。
こういう場合、CPUの前の状態がどうだったかなど覚えておきたくても覚えていられない。
が、リセットボタンによるリセットはソフトウェアリセットであるから、保証されると規定されているレジスタの値は保持される。
そのため、CPUが、「俺はリセットされたのかどうか」を覚えていられるのだ。
だから、リセットボタンを絡ませた裏技が可能だった。
今でもそうした規則は同じなので、やろうと思ったらできないでもないが、
ゲームより先にOSがまず駆動する
ものは無理といってよい。
OSがCPUの記憶を抹消する、ますレジスタを全部初期化する
というものは不可能だ。
0078名前は開発中のものです。
2009/10/10(土) 14:37:12ID:oVNZpqqkそうなのですか;
不規則な長さの文字列を区切りの文字なしに見分ける方法が想像できないせいで
そう感じてしまうだけなのですね。失礼しました;
■ このスレッドは過去ログ倉庫に格納されています