【初心者】スレを立てる前にココで質問を【Part19】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。
2009/03/11(水) 17:57:35ID:teoBVoN1スレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/
※ >>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://gamdev.org/w/
ゲーム製作技術板公式アップローダ
http://gamdev.org/up/
ゲーム製作技術板公式掲示板避難所
http://bbs.gamdev.org/gamedev/
ゲーム製作技術板予備
http://yy13.kakiko.com/gamdev/
アップローダー予備
http://gamdev.hp.infoseek.co.jp/
gamdev.orgが落ちるたびにあげてみるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1107022166/
0864名前は開発中のものです。
2009/09/07(月) 13:07:31ID:IW0LH9qdエンカウント式の戦闘システムは
野外描画と戦闘描画を分けているため、臨場感に欠ける
ではどうするのかと言うと、
野外をリアルにして、
戦闘中も野外を投影する
戦っている人間だけにエフェクトが流れるわけだ
これで描画を分けても同じ場所に居るような錯覚を起こす
結果、戦闘中のグラフィッククオリティが上昇する
0865名前は開発中のものです。
2009/09/07(月) 13:16:55ID:AgMtPrig0866名前は開発中のものです。
2009/09/07(月) 13:18:41ID:IW0LH9qdつってもじゃんけんゲームを1から一人で作れたら大抵のことはやっていけるよ
0867名前は開発中のものです。
2009/09/07(月) 13:31:44ID:rK8sltrP無理無理。
それはスケールしない。
規模が大きくなってくると挫折率が上がる。
0868名前は開発中のものです。
2009/09/07(月) 13:51:54ID:IW0LH9qdありがとう
0869名前は開発中のものです。
2009/09/07(月) 16:28:40ID:tyLY1tJ7そりゃ、オブジェクティブに考えたりするのにセンスは必要だけど。
0870名前は開発中のものです。
2009/09/07(月) 16:55:50ID:fFXRoAN0意識して経験を重ねていかないとなかなか綺麗にならない。
レベル差が見えにくいぶんやっかいだと思うが。
0871名前は開発中のものです。
2009/09/07(月) 20:28:39ID:MIQkkzyeわかるなぁ
今の俺だorz
1から作り直せばいいのか手を加えれば良くなるのか
他人のコード眺めながら勉強してるよ
0872名前は開発中のものです。
2009/09/07(月) 21:02:31ID:peLwVHNiどこか改変すると全体に波及して涙目になろうが、
プログラムは動けりゃ問題ないからな。
0873名前は開発中のものです。
2009/09/07(月) 21:37:51ID:tF4347pmあやうく雑魚モンスターの描写処理を、複数のソースコードで書く所だったよ。
一つ書けば十分だな。まあ、その分メモリーを食うわけだが。
0874名前は開発中のものです。
2009/09/07(月) 21:49:56ID:tF4347pm0875名前は開発中のものです。
2009/09/07(月) 21:53:39ID:+mZZvUiC少しでも安いチップ使うときは、メモリーを削って安くする。
0876名前は開発中のものです。
2009/09/07(月) 23:11:00ID:4GKplaPw後でそれをメンテするハメになろうものなら死ぬ。
0877名前は開発中のものです。
2009/09/07(月) 23:30:14ID:bqtAfCvcこれは俺の名言
0878名前は開発中のものです。
2009/09/07(月) 23:35:13ID:4GKplaPw0879名前は開発中のものです。
2009/09/07(月) 23:35:52ID:oyf9zMl6処理をごちゃ混ぜにしてあるコードなんて製作者を1発でいいから殴らせろと言いたくなる
で、書いたのは数年前の俺だったりするんだが
0880名前は開発中のものです。
2009/09/08(火) 00:00:08ID:B+fMayDa構造化すらしていない。ボタンのハンドラにexit()を見つけた時は目を疑っちまった。
0881名前は開発中のものです。
2009/09/08(火) 00:27:01ID:oUz6yDIYそういうものすごいコードの片鱗を垣間見れるな。
0882名前は開発中のものです。
2009/09/08(火) 01:04:53ID:lPudf9Xwhttp://www.youtube.com/watch?v=xkYujM0uU5o
色々とアレだな
0883名前は開発中のものです。
2009/09/08(火) 01:29:22ID:tR4qipDA例えばかりの積み重ねで、何が言いたいのかさっぱり分からない
0884名前は開発中のものです。
2009/09/08(火) 04:31:23ID:6MhMNrx0書けない奴はとことん書けないぞ
書けたとしても上でレスされてるようにレベルが天と地程、例えばバグが出やすいとか
保守性が高いとか拡張性が高いとかあるし
絵ができてプログラムできない奴もいればその逆もいるだろ
どっちかがセンス要求されてどっちかが要求されないとかないと思うがなあ
0885名前は開発中のものです。
2009/09/08(火) 15:56:16ID:DIMtCb550886名前は開発中のものです。
2009/09/08(火) 17:37:49ID:05aNfmhIまさにオナn(ry
0887名前は開発中のものです。
2009/09/09(水) 00:22:36ID:M5M3VMoz数年前のあるゲームの、PS2とCUBEへの移植でのマジ話
オリジナルコードで、1000行くらいの処理(もうコレだけでも関数化しろって感じなのに)
その全く同じ処理でパラメータ値が違うだけなのに、
その1000行がif else文で分かれてて定数値だけ違う
2000行になってるを見た時、売られているゲームでもこんな事してんだ…ってなった記憶がある
逆の意味で、糞コードだが絶対に安全なコードとかなのかも知れん…
0888名前は開発中のものです。
2009/09/09(水) 01:20:28ID:Ns5Gl4Rc0889名前は開発中のものです。
2009/09/09(水) 07:26:49ID:Bi32pqEqそのコードを書いた前任者は、今はもう職場に居ない。
0890名前は開発中のものです。
2009/09/09(水) 08:27:27ID:DJ0aq5dKif ( … || year == 2004 || year == 2008 || … ) {
みたいに全部チェックしてたりとかあるらしいからねぇ
0891名前は開発中のものです。
2009/09/09(水) 08:38:32ID:Bi32pqEq0892名前は開発中のものです。
2009/09/09(水) 09:13:18ID:8BLV5PqAプログラムのセンスが云々は、センスが要求されないというより
センスが無くてもなんとか収まっている、だろうな
下の世界を見れば底が知れないけど、上の世界もまた果てしない
0893名前は開発中のものです。
2009/09/09(水) 11:14:57ID:ZI65CYRqここいらなくね?
0894名前は開発中のものです。
2009/09/09(水) 11:17:30ID:FbNTICYSif(x==1) a=1;
if(x==2) a=2;
if(x==3) a=3;
・・・
て言うの見たことあるぜ
0895名前は開発中のものです。
2009/09/09(水) 11:31:29ID:vKyxO6xF画面に見えないラベルが山ほど貼ってあった。
あれ見た時、先輩だけど「こいつ、プロだな」と改めて尊敬してしまった。
0896名前は開発中のものです。
2009/09/09(水) 12:32:49ID:FwYqKth+if (0==x) …
と逆順にするんだけどね。
0897名前は開発中のものです。
2009/09/09(水) 12:53:28ID:Ns5Gl4Rc0898名前は開発中のものです。
2009/09/09(水) 13:09:08ID:2P2uPk0D0899名前は開発中のものです。
2009/09/09(水) 13:10:35ID:Z4klyML2言語の制約があれば有り得ないコードではないね
0900名前は開発中のものです。
2009/09/09(水) 13:12:58ID:DJ0aq5dKわろた
>>896
逆にしたらどういう意味があるんですか?
Javaで↓みたいにする意味は分かるんですが…
if ( "string".equals( str ) ) { // strはstring型
0901名前は開発中のものです。
2009/09/09(水) 13:21:10ID:FwYqKth+単なる凡ミス回避。
== を = と打ち間違えたとき、
if (x = 0)
はコンパイラが許容するが、
if (0 = x)
はコンパイル時点でエラーになるから気づく。
0902名前は開発中のものです。
2009/09/09(水) 13:24:57ID:B6JFr4cU0903名前は開発中のものです。
2009/09/09(水) 13:25:27ID:DJ0aq5dKあー、なるほど!
確かにそれで凡ミスを減らせますね
ご回答ありがとうございました
0904名前は開発中のものです。
2009/09/09(水) 13:29:34ID:OXYKVtgI左に定数を置くテクは好きじゃない。
0905名前は開発中のものです。
2009/09/09(水) 13:37:03ID:N5f9UkQT>>896の書き方が、もともとそういう意図でないなら読みづらくなるから好きじゃないな。
0906名前は開発中のものです。
2009/09/09(水) 15:11:18ID:FwYqKth+残念ながら、どこで警告を出すかは言語仕様に入っていないから、
それに依存した時点で負けなのだ。
0907名前は開発中のものです。
2009/09/09(水) 15:53:38ID:ZI65CYRq仕様言い出したら
0908名前は開発中のものです。
2009/09/09(水) 16:10:46ID:YtItsXdV0909名前は開発中のものです。
2009/09/09(水) 16:14:39ID:vKyxO6xF0910名前は開発中のものです。
2009/09/09(水) 16:26:17ID:YtItsXdV0911名前は開発中のものです。
2009/09/09(水) 16:45:54ID:FwYqKth+プログラムが分かる企画屋に転向した方がいいかも。
0912名前は開発中のものです。
2009/09/09(水) 16:52:03ID:B6JFr4cU0913名前は開発中のものです。
2009/09/09(水) 16:54:15ID:27/pYYMF0914名前は開発中のものです。
2009/09/09(水) 17:00:22ID:LUF8xSge0915名前は開発中のものです。
2009/09/09(水) 17:12:42ID:UIXt1tIA0916名前は開発中のものです。
2009/09/09(水) 17:33:04ID:L8X4KLSj小手先のテクニックで頑張ってしのいでるように見える。
0917名前は開発中のものです。
2009/09/09(水) 17:57:37ID:LUF8xSge0918名前は開発中のものです。
2009/09/09(水) 18:01:36ID:/Z9p1y2r確認するのも確認されるのも面倒だからおれは避けるな。余計なコミュニケーションは避けたい。
0919名前は開発中のものです。
2009/09/09(水) 18:43:11ID:owIBWfPF0920名前は開発中のものです。
2009/09/09(水) 19:45:11ID:dVTV3ErZ0921名前は開発中のものです。
2009/09/09(水) 20:01:04ID:TDbN4HWz0922名前は開発中のものです。
2009/09/09(水) 20:09:40ID:Ns5Gl4Rc0923名前は開発中のものです。
2009/09/09(水) 20:30:07ID:Bi32pqEqどうも慣れない
0924名前は開発中のものです。
2009/09/09(水) 20:34:36ID:GIsGmOlM== に右辺値も左辺値もありません。あえて言うなら右辺も左辺も右辺値です。
左辺値が必要なのは、代入とか++とか&演算子の文脈においてです。
0925名前は開発中のものです。
2009/09/10(木) 03:09:10ID:wsbUj3jE0926名前は開発中のものです。
2009/09/10(木) 03:21:28ID:i70PGwLyフォントによるがな
0927名前は開発中のものです。
2009/09/10(木) 04:04:37ID:2zTyJKsV専用スレがあるから参考にしてる
0928名前は開発中のものです。
2009/09/10(木) 21:22:48ID:0ga84IQpRed China army killed great number of Chinese democratization's people in Tienanmen Square in 1989 Jun .
Their China military's tanks killed many democratic citizen .
It was awesome and shocking !
文化大革命
Over 40 million Chinese were massacred by red China of Mao Zedong in Chinese culture revolution (1966-79) .
It's awesome cruel !! , communism that ... , just a mad dog !
Unbelievable ! But that's truth that all .
Cause , red China is the bloody red beast or Satan's country and area in Bible's John's holy prophecy .
人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system
胡耀邦 趙紫陽 魏京生 反共 法輪功 北京之春 激流中國 大紀元時報 九評論共産黨
獨裁 專制 壓制 侵略 掠奪 破壞 屠殺 民族淨化 内臟器官 蛇頭 遊進 走私 六合彩 賭博 色情
中華民國 Republic of China 西藏 Tibet 達?喇嘛 Dalai Lama 東突厥斯坦 East Turkistan
おまじない
0929名前は開発中のものです。
2009/09/11(金) 09:49:16ID:U9/5Tjvh0930名前は開発中のものです。
2009/09/11(金) 10:40:14ID:ioih/qum0931名前は開発中のものです。
2009/09/12(土) 17:34:36ID:NVi4g6jG今はコンパイラが警告出してくれるだろ
if(0==a)なんて完全に無駄
0932名前は開発中のものです。
2009/09/12(土) 17:57:26ID:z98JJXec一行目ありすぎて困る
VBのクセが抜けねーンだわ
0933名前は開発中のものです。
2009/09/13(日) 00:11:05ID:g2IhHnxvお約束。
それを知らないプログラマはがきんちょ。
0934名前は開発中のものです。
2009/09/13(日) 00:38:40ID:vi4Hw3pw0935名前は開発中のものです。
2009/09/13(日) 01:14:38ID:tz1HmIIB自分のミスなのに笑っちゃったよ。
0936名前は開発中のものです。
2009/09/13(日) 16:25:14ID:kc5gQSm4「仮想クラス」 「マルチタスク」(こっちは種類も多いのでしょうがアクションゲーです)
についての解説を本やWebを色々巡っているのですがどうも上手く理解できず実装できません。
個人的に理解しやすかったとかで構いませんので
Web・書籍何でも良いのでオススメの解説を教えて頂けないでしょうか?
0937名前は開発中のものです。
2009/09/13(日) 18:46:19ID:zzhxHz9lマルチタスクなんてものは存在しません
0938名前は開発中のものです。
2009/09/13(日) 21:15:31ID:g2IhHnxv0939名前は開発中のものです。
2009/09/14(月) 00:07:29ID:QQM7QgVt仮想クラスについてはこの変だな。
「C++入門書の次に読む本」
http://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?KEYWORD=%43%2B%2B+%93%FC%96%E5%8F%91%82%CC%8E%9F%82%C9%93%C7%82%DE%96%7B+
UNIXなどはマルチタスクといわれるが、それでは何を意味するのか分からん。
0940936
2009/09/14(月) 01:46:26ID:PhKHylXDありがとうございます。
マルチタスクでは意味が通じないのですね。
こちらは自力で何とかしてみます。ありがとうございました。
0941名前は開発中のものです。
2009/09/14(月) 08:32:00ID:0vG04VD/0942名前は開発中のものです。
2009/09/14(月) 14:09:24ID:346GA2uEメンバ関数を使って移動などはできるようになったのですが、
戦闘がどうにもうまくいきません
攻撃したときには、攻撃対象のメンバ関数を呼び出し、相手のメンバである体力を減らすようにすればいいんでしょうか?
0943名前は開発中のものです。
2009/09/14(月) 14:15:37ID:A6vNgauo具体的なクラス(ソース)とか晒さずにどうやって回答しろと?
エスパーを御所望ですか?
0944名前は開発中のものです。
2009/09/14(月) 14:19:20ID:Scy9jD/9そもそも、全体がどういう構造になってるのかすらわからないのだが。
作り方によっては、設計そのものを見直したほうがいいってこともあるよ。
0945名前は開発中のものです。
2009/09/14(月) 14:27:55ID:4kpR/zmHで良いよ
0946名前は開発中のものです。
2009/09/14(月) 15:48:45ID:346GA2uE>>943>>944
すいませんでした。今後気をつけます。コードは以下の通りです。
>>945
ありがとうございます。
#include <iostream>
using namespace std;
int main(){
class hito{
public://試験用のため全てpublic
int hp;
int kougeki;
int damege(int kou){
hp -= kou / 2 ; //ダメージはkogekiの1/2とする
cout<<"bの攻撃\n"<<"aは"<<kou/2<<"のダメージ\n残りhp"<<hp;
return 0;} } ;
hito a,b;//aとbを作成、メンバの初期化
a.hp=100;
a.kougeki=50;
b.hp=80;
b.kougeki=60;
//bがaに攻撃
a.damege(b.kougeki);
return 0 ;}
0947名前は開発中のものです。
2009/09/14(月) 17:02:58ID:B4VFmRWD>>1のリンクにあるうpろだ使えばいいじゃなーい
30行より多い方が意図も表現しやすいでしょ?
0948名前は開発中のものです。
2009/09/14(月) 18:01:50ID:346GA2uEttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0463zip.html
になります。よろしくお願いします
ここから作り直すと前より断然よくなりそうなので(といってもテスト段階なのですが)
残念ながら前のは消してしまいました
0949名前は開発中のものです。
2009/09/14(月) 18:31:05ID:4kpR/zmH// 攻撃力だけ渡すのではなく、攻撃者自体を渡す。
int hito::damege(const hito &attacker){
// bがaに攻撃とコメントを書くらいなら、コードをそのようにする。
int hito::attack(hito &target){
// ダメージの計算を関数にして、後から編集しやすいようにする。
int calc_damage(int kou) { return kou / 2; }
// ダメージの計算を複雑にしても使えるように、攻撃側と守備側を引数とする。
int calc_damage(const hito &attaker, const hito &defender)
{ return std::max(0, attaker.kougeki - defender.bougyo); } // たとえば(攻撃力)-(防御力)、もし負ならゼロ。
0950名前は開発中のものです。
2009/09/14(月) 19:32:05ID:7s3djR7R静的の意味するものがわかりません。ここの板の人なら分かるかなーと思って書き込んでます。。。
動き情報がない意味だって安直に言われておりますが、要はアニメーション情報がない、形とテクスチャだけの
シンプルな3Dモデリングデータのことを指しているのでしょうか(-_-)
0951名前は開発中のものです。
2009/09/14(月) 19:33:30ID:4kpR/zmHではなくて?
0952名前は開発中のものです。
2009/09/14(月) 20:03:12ID:7s3djR7Rありがとうございます。。。大体あってるってことかな
0953名前は開発中のものです。
2009/09/15(火) 07:08:42ID:TVGKkCOTありがとうございます!!
一気に進んでしまいました!!
0954名前は開発中のものです。
2009/09/16(水) 20:47:37ID:+4Kkj9SL1.全文字を一文字ずつ画像にして、テキストデータから座標参照して描画
2.画面に表示させる分ずつ画像にして張り替え
3.その場で1文字ずつ画像化していく処理を組む
の3つ位が思いつくのですが、
普通どうやって描画するのが一般的でしょうか。
また、リアルタイム更新のゲームの場合、どういった方法が一番負担が少ないでしょうか?
0955名前は開発中のものです。
2009/09/16(水) 21:10:37ID:Y6Uf0xCLDirectXでってこと?
動的生成なり外部画像読み込みなり、
あらかじめ用意された文字テクスチャから切り貼りすればいいんじゃね?
0956名前は開発中のものです。
2009/09/16(水) 21:17:26ID:G7IsRuAAまぁ回答は一緒だけど。
0957名前は開発中のものです。
2009/09/16(水) 21:24:54ID:XwTzMWIFそもそも文字を使わないのが一番良い
負担の少ない方法を取れば、いくらでも文字が表示できるわけではない
0958名前は開発中のものです。
2009/09/16(水) 21:42:27ID:7KSrOIMQ著作権と描画負荷の問題がある。
・フォントデータをゲームと一緒に配布したければ、そのフォントデータの著作権者に許可を取る必要がある。
・毎フレームフォントそのものを描画するのは重い。
DirectXならゲーム起動後、OSのフォントをテクスチャー等に書き込んで、
そのテクスチャーを毎フレーム描画するのが無難。
それ以外の環境なら、その環境に合わせた方法でw
0959名前は開発中のものです。
2009/09/16(水) 23:03:00ID:C9xlZ3CtIrrlichtの多言語モジュールで実装されてる方法だと、
初めて表示する文字は動的に描画して内部にプール、
次以降はプールしたテクスチャを描画、というキャッシングをしてる
0960名前は開発中のものです。
2009/09/17(木) 00:45:16ID:emRRZGAAありがとうございます。
>>959
難しそうですがそういう便利な機能も有るのですね。
>>958
>DirectXならゲーム起動後、OSのフォントをテクスチャー等に書き込んで、
>そのテクスチャーを毎フレーム描画するのが無難。
回答ありがとうございます。
そのその文字を画像化する手法で、
特に数が膨大になる漢字をどう管理すれば良いのか見当が付かないのですが、
・漢字などの管理方法のあらまし
・その方法に使う関数や仕組み
を大雑把に教えては頂けないでしょうか。
そういう書籍を探してみた事も有ったのですが、なかなか見つからず・・
0961名前は開発中のものです。
2009/09/17(木) 01:07:52ID:xTTgRv45そのテクスチャーの左上から順に、
メニュー用の文字列単位で領域を割り当てて書き込んでる。
面倒くさいので文字の重複上等だし、使い切ったらそれ以上は無視。
でメニュー更新の時には、また左上から割り当て。
そんなに大量に表示したことは無いけど、
テクスチャーを一枚用意すれば、
メニュー用の文字を同時に表示できるんじゃないかな?
目一杯表示したいなら、
・最大サイズのテクスチャーを調べておく。
・同、確保。
・一枚で足りなければ複数のテクスチャーを管理。
かな?
0962名前は開発中のものです。
2009/09/17(木) 01:09:09ID:xTTgRv45まぁそういう事です。
0963名前は開発中のものです。
2009/09/17(木) 12:28:24ID:kBlBLO8b大まかに解った気がします。ありがとうございます。
レス数が950を超えています。1000を超えると書き込みができなくなります。