>>1 板違いにつき、削除依頼よろ。
以後、ゲ製で。
for(i=1; i <= 1000; i++){ printf(">>%dまでがテンプレ",i); }
改行しようぜ
>>1 ローカルルール無視したスレ立てんなよ
この板はプログラムを作る人のための板です。
あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。 ←★
ネタ、板とは関係の無い話題はご遠慮ください。
ゲ製って過疎だよね
ゲ製はid出るから自演できないじゃん!
前スレでの図形の中にN個の点の話だけど @円内に(N個+α個)の点をランダムで配置 A円の内部で求める図形(台形や星型など)の直線を1本求め、直線から中心点の方向にある点のフラグを立てる B求める図形の直線の数だけAを繰り返す C最終的にフラグのたっている点からランダムでN個を選別し(N>フラグ数ならやり直す)、選別されなかった点のフラグを消す Dフラグの立っている点と図形を描画 図形の中にランダムで求めるんじゃなくて、一定範囲内で区切りをつけて、そこから点を選別し、残った点からN個を求める そういうのはだめ?
@ for (i=0;i<N+alpha;i++) { r=rand(100); a=rand(360); pset(r*cos(a),r*sin(a)); }
説明不足だったので追記 フラグはカウントで構成 最初は0でフラグが立つごとに+1 台形なら内部は4、外は3なので、フラグが4の点から選択 5頂点星型なら、中は5と4、外は3なので、フラグが4以上の点から選択
@複雑多角形を三角形に分解 A分解した三角形群の中かからランダムに一つ三角形を選択 Bその三角形の内部にランダムに点を一つ打つ(数学のベクトルわかりゃ出来るだろ) CABをN回くりかえす
>>12 それだと中心の方が密度が高くなるがいいのか?
>>12 それ試してみたら中心が真っ黒になったけど
めんどくさいからシェーダでやれ 答えでてただろ
>>12 i=0; r=50;
while (i<N) {
x=rand(100)-50;
y=rand(100)-50;
if (x*x+y*y<=r*r) {
pset(x,y);
i++;
}
}
20 :
デフォルトの名無しさん :2010/03/26(金) 15:56:45
プップギャーッ!!m9゚。(^Д^゚≡。゚^Д^)m9゚。プップギャ-ッ!!
21 :
デフォルトの名無しさん :2010/03/26(金) 16:00:14
それだとコスト掛からない?
棄却法でいいだろ パフォーマンスちょっとあげるのにスケジュール遅らせてたら意味ないぞ
for (i=0;i<N+alpha;i++) { x=rand(100) - 50; int max_y = (int)pow(100 - x * x, 1 / 2); y = rand(max_y * 2) - max_y; }
訂正 for (i=0;i<N+alpha;i++) { x=rand(100) - 50; int max_y = (int)pow(2500 - x * x, 1 / 2); y = rand(max_y * 2) - max_y; }
プップギャーッ!!m9゚。(^Д^゚≡。゚^Д^)m9゚。プップギャ-ッ!!
求める図形を内包するなら最初の円は四角でも可能かと思います 点が重ならず一定距離以上を保って設置するなら、点間距離最低距離を決めておき 設置済みの点との距離計算から設置可否を調べて設置もいいかもしれません
@多角形を複数の三角形に分解します A多角形を内包する最小の矩形範囲を求めます Bその矩形範囲内におさまるランダムな座標を1つ生成します Cその座標が@で分解したいずれかの三角形の内部に存在するなら点を打ち、カウンタをインクリメントします DカウンタがNに達するまでB〜Cを繰り返します
それがブロック崩しと何の関係があるの?
29 :
デフォルトの名無しさん :2010/03/26(金) 17:08:42
アホは出て行け
積み木でも崩しとけ
(三角形に分解する); for(int i = 0; i < N; ++i) { (三角形をランダムに選んでABCとする); double s = R(), t = R(); // R()は[0,1]の乱数 if(t > 1 - s) { s = 1 - s; t = 1 - t; } draw_point(OA + s*AB + t*AC); }
三角形クラスと多角形クラスを作って 星型クラスとか台形クラスとか Class Star { Star(頂点10個分) 星型が分かってるのでここで三角形に頂点を割り振るとか }
33 :
デフォルトの名無しさん :2010/03/27(土) 00:14:49
?
前スレの続きだけど 直方体の左上角に当たったとして 上辺に当たったのか左辺にあたったのか判断するのには どうしても一つ前の座標と線分の判定がいるだろ? それと弾がワンフレでブロックを5〜6個貫通するようなスピードが出てるときも まず、どのブロックに先に当たったのか?を判定するのにどうやっても線分の交点の計算が必要になると思うがどうか?
そんな速い弾打ち返せないからクソゲーにしかならない
>>35 いや、結構頻繁になるぞ
隙間から弾をうまくぶち込んだときにカンカンカンカン!って勢いよく
ハネ散らかしたいじゃねぇかよ
それとこの問題はパチ系のソフト作ってるときでも弾が釘をすり抜けるとか起こる
物理系の動きすると加速がつくからちゃんと作らないとまずい
アクションゲームでもやっぱつくらんとダメなとき多いな
野球作ってたときにバットとボールの判定でボールの速度とバットの速度ですれ違うから
なにも考えずに組んだときはスカスカ抜けた
ちなみに俺が好きなゲームはRPGなw
仕事だからやったけど最期までちっとも楽しさは理解できなかったw
プログラマーが楽しさを理解してないと面白くなるわけがない
>>36 すり抜ける問題はどうやって解決したの?
軌跡が交差してるかを判定?
仕様通りに実装したなら、面白いか面白くないかはマの責任じゃない
仕様通りに実装できてないことを話題にしてんだろう
仕様:それっぽく、面白く。 以上。
仕様どおりってのも低脳だが仕様どおりすらできないからな。 バグばっか出すし。
前のスレでやってた1ドットごとの判定が結構合理的なように見えたな。 直線をラスタライズする時って、確かにあの方法使うもん。
ゲームって未だにラスタライズを直接扱ってるの?
>>38 それでいいんじゃね?
3Dだとちょっと工夫がいるけど
まあ1ドットごとの判定は分かりやすくて組みやすいからいいけど まあその分コスト掛かるけどね 上手く数学の知識使えばその辺綺麗に組むこと出来るけどちょっと難しいかもね
解像度たっけから処理食うぞ
トンネル効果を実装したことにしてごまかす
CPUなんかどんどん使ってやりゃあいいんだよあいつら暇してんだから。
軌跡交差判定kwsk
>>50 ワンフレ前と現在の座標で作るただの2直線の交点を求めるだけなんじゃなかろうか?
>>46 一ドットごとのif判定ぐらいじゃ余裕だろ
リアルタイムレンダするわけでもない
PixelShaderでの案は関心した
ガチ線系計算よりもこういった上手いやり方が個人的に好き
発想力なさ杉なのでは?
2直線の交点が複数個ある場合どうすんんお
≠ ←こういう場合
距離短い方
あーなるほど。次からはそうしよう。
方程式で出してもいいけどオブジェクトが3つ以上密集してる、とかいう状況になったら逆にメンドくさくなる気がする
バーコードバトラー懐かしいw
バーコードハゲのオヤジどもが対戦格闘するゲーム「THE・バーコード・バトラー」
これブロック何個あるんだw
シャワーが始まると超気持ちいい 眺めてるだけでクリアできるな
>>64 「コードを見る」でソースコード見れるよ。
特に変わったことはしてないと思うけど・・・
>>64 上下左右が埋まってるピクセルは判定しなくていいからたぶんほとんど判定してないだろう
それにしてもクリア出来る気がしないブロック数だ
>>68 途中でもの凄く弾が弾けとんで一気にクリアできる
最後の1個が意外となかなか消えないけど
なにこれきんもちいいいい ゲームとしてはつまんないけどwww
途中で弾けるのってバグじゃないの?気持ち良いけど
ブロック崩しの軌道の調整具合で、ブロックの中にずぶずぶとボールが 入ってくことはけっこう起きるね。
バグじゃなくてそういうゲームだよ 弾幕ブロック崩し
見栄は張らなくてよろしい
何に対するレスなのか本気で分からない
>>60 これいいなw
最初はつまらんかったが細胞分裂しだしてから壮観!
ソース短いのに、よくできてるな
ActionScriptってたった200行程度のソースでこれだけのことができるんだ。 勉強してみよっと・・・
ソース改造するだけでも楽しす
ビョーキだな
自演病だな
ActionScriptではできてもC++ではできないなんて事態がおきたら俺は発狂しかねない
では頑張って移植したまえ 今日の20時まで待ってやろう
はやくしろw
大体出来そうな気もするけどあの糸を引く所の色が難しそうだ
>>84 面倒臭いからやらね
そもそも市販のゲームと比べて初見で糞以下のクオリティのもん引き合いにもってくんなよw
お前のできない理由なんてどうでもいいよ
>>60 のソースを Flex 4 Release 4.0.0.14159 のSDKでコンパイルしようとしたんだけど
下のようなエラーがでるんだけど、何かコンパイルオプションとかいるのかな?
BlockBreaker.swf はSDK3に付属のplayer 9では動かなかったけどsdk4の10では動きました。
>mxmlc BlockBreaker.as
設定ファイル "C:\flex4sdk\frameworks\flex-config.xml" をロードしています
C:\BlockBreaker.as(161): col: 9 エラー: 型が見つからないか、コンパイル時定数ではありません : ColorHSV。
var c:ColorHSV = new ColorHSV();
C:\BlockBreaker.as(161): col: 24 エラー: 未定義である可能性が高いメソッド ColorHSV の呼び出しです。
var c:ColorHSV = new ColorHSV();
C:\BlockBreaker.as(16): col: 24 エラー: 定義 net.hires.debug:Stats が見つかりません。
import net.hires.debug.Stats;
C:\BlockBreaker.as(145): col: 24 エラー: 定義 frocessing.color:ColorHSV が見つかりません。
import frocessing.color.ColorHSV;
>>87 そんな姿勢だから何やってもダメダメ人生なんだよ
やる気出しなさい
>>93 そんなに時間かからんだろうし
トレースすんのも面白いんじゃね?
見るとこあったらあったで真似すんの面倒くさいとか言うんだぜw
96 :
デフォルトの名無しさん :2010/03/29(月) 13:03:48
軌道交差判定って ようは、弾丸(正円形)の移動前と移動後の座標を結ぶ線分と 例えば弾丸の進行方向が右上ならブロック(長方形だとしたら)の左側と下側の辺との交点を求めればいいんだよね? ブロック総当りで交点調べるんじゃなくて 弾丸の移動前と移動後の位置を頂点とする矩形内にあるブロックとだけ交差判定すればいいんだよね? 貫通弾なら交差した全てのブロックを消して、そうでないなら、交点との距離が一番移動前に近いブロックだけ反応すればいいんだよね? ブロックの角(頂点)との衝突は、弾丸の円周上にブロックの角があるかどうかで判定すればいいのかな?
却下
【審議中】 ∧,,∧ ∧,,∧ ∧ (´・ω・) (・ω・`) ∧∧ ( ´・ω) U) ( つと ノ(ω・` ) | U ( ´・) (・` ) と ノ u-u (l ) ( ノu-u `u-u'. `u-u'
15fpsのフレームレートで作れるゲームってどのレベルのアクションとかアニメーションとか画面効果とか再現できるの?
線分同士の交点って面倒じゃね?
厚さとかどうやって考慮すんお
>>100 double Katamuki(pt1,pt2) { return (pt2.y-pt1.y)/(pt2.x-pt1.x); }
double Seppen(pt1,pt2) { return (pt2.x*pt1.y-pt1.x*pt2.y)/(pt2.x-pt1.x); }
boolean Kousa(pt1,pt2,pt3,pt4) {
a=Katamuki(pt1,pt2); b=Seppen(pt1,pt2); c=Katamuki(pt3,pt4); d=Seppen(pt3,pt4);
x=-(b-d)/(a-c); y=(-c*b+a*d)/(a-c);
return ((min(pt1.x,pt2.x)<=x)&&(x<=max(pt1.x,pt2.x))
&&(min(pt1.y,pt2.y)<=y)&&(y<=max(pt1.y,pt2.y)));}
>>102 a=Katamuki(pt1,pt2); b=Seppen(pt1,pt2); c=Katamuki(pt3,pt4); d=Seppen(pt3,pt4);
x=-(b-d)/(a-c); y=(-c*b+a*d)/(a-c);
↓
pt5.x=-Katamuki(pt1,pt2); pt5.y=Seppen(pt1,pt2);
pt6.x=-Katamuki(pt3,pt4); pt6.y=Seppen(pt3,pt4);
x=Katamuki(pt5,pt6); y=Seppen(pt5,pt6);
これは酷い
a' → a と移動したとすると a' + t ・a'a (0 ≦ t ≦ 1) が矩形と接するかどうかで判定するって方法もあるよね
よくわからないけど、そうだね。
ブロック崩しのボールの向きの情報ってどう保持するの?
static const int UE = 0; static const int SITA = 1; static const int MIGI = 2; static const int HIDARI = 3; int ue_sita_muki = UE; int migi_hidari_muki = HIDARI;
構造体、ないしクラス等
全8方向ぬかりないですね
極座標
ベクトル
向きの情報保持する理由がない
>>109 static const int UE = 0;
static const int MIGIUE= 1;
static const int MIGI = 2;
static const int MIGISITA = 3;
static const int SITA = 4;
static const int HIDARISITA = 5;
static const int HIDARI = 6;
static const int HIDARIUE = 7;
int muki = HIDARISITA;
(E)
つか vx、vyでよくね
一つにしちゃうと上下左右を反転させるための関数をつくらなくちゃならなくなるね
>>115 プロセッサの限界は16方向
64方向とか処理しきれない
バーの衝突位置によってボールの向きを変えたいということかにゃ?
エスパーさんご苦労であった
123 :
デフォルトの名無しさん :2010/03/29(月) 16:46:52
【審議中】 ∧,,∧ ∧,,∧ ∧ (´・ω・) (・ω・`) ∧∧ ( ´・ω) U) ( つと ノ(ω・` ) | U ( ´・) (・` ) と ノ u-u (l ) ( ノu-u `u-u'. `u-u'
ゲームの処理でlogとかアークコサインとかアークサインとかアークタンジェント使うことってある? CLDC/MIDPのオープンアプリでゲーム作ろうとか思ってんだけどMathがしょぼい・・・
ブロックの角っこに当たったときの跳ね返りが難しそう
pos.x += idouryou_x; if(atari()){ henkou_x_muki(); } pos.y += idouryou_y; if(atari()){ henkou_y_muki(); } これだけじゃね。 先に pos.x += idouryou_x; pos.y += idouryou_y; してからif(atari())しようとしてねえ?
できた for (i=0;i<30;i++)for(j=0;j<100;j++) block[j][i]=1; vx=1;vy=-1; x=50;y=100; barx=20; bary=120;barw=20; while(1) { x+=vx; y+=vy; if (abs(x-50)==50) vx*=-1; if (y==0) vy*=-1; if (y==bary) if (x>=barx) if (x<barx+barw) {vx*=-1; vy*=-1;} if (leftkey) if (barx>0) barx--; if (rigthkey) if (barx<100) barx++; if (block[x][y]>0) { vx*=-1; vy*=-1; block[x][y]=0;} if (y>bary) break; }
なんだ超簡単じゃねえか
>>125 逆三角関数とか、ゲームではあまり使わないかもね。
というのも、ゲーム内処理でわざわざラジアンに戻す意味が無いからねえ。
cos_thetaのままでいいというか。強いてあげればatan2は使う部類かも。
logは俺はHDRぐらいだね、いまんところ。
まだブロック崩しの話が続いてんのかよ
atan2はめっちゃ使うだろ でも他はあまり使わない
角運動量持ってると衝突問題スゲーめんどくね?
Box2D使えよ
3Dである程度複雑な制御するようなのだと普通にatan2とか asin、acos使うよ
138 :
デフォルトの名無しさん :2010/03/29(月) 23:59:30
軌道交差の判定って 0除算ってようは同じ傾きの直線ってことだろ 交差しないから当たり判定から洩れるんじゃね?
>>138 偶然でも値が入ってきたら落ちるんじゃね?
回避はしておかないと
さて、問題、浮動小数点の0であることの判定はどうするでしょう?(3点)
さあ
>>140 if (value==0) {
} else {
}
143 :
デフォルトの名無しさん :2010/03/30(火) 00:19:28
>>140 点は点だろ。0なわけない。
floatとかdoubleは"!浮動小数点数"って言うんだぜ?
(E)
キリッ
>>140 String s=Double.toString(value);
int n=s.indexOf('.');
if ((s.substring(n,n+1)).equals("0"))
System.out.println("浮動小数点が0です。");
これじゃ駄目かのう if (value * value < 0.0001) { } else { }
なんだっけ? if(fabs(x0 - x1) < FLT_MIN){ こんな感じだっけ?
151 :
140 :2010/03/30(火) 00:42:31
”浮動小数点数”じゃなくて”浮動小数点”についての問題を出しているんだが
FLT_EPSILONじゃね?
個人でFFTみたいなゲームを作ろうとおもうのですが どんなソフトがあれば作れるでしょうか。 当方ズブの素人です。visual studio2008は持っています。 趣味で何年かかけて作ろうとおもっています。 後、初心者でゲーム作るならこの本読んどけってのもあれば 教えていただけるとありがたいです。 ご助力お願いします。
必要なのは知識じゃなくて情熱
くじけぬ心 も装備する必要がある
157 :
デフォルトの名無しさん :2010/03/31(水) 00:06:59
>>155 >>156 どちらも頑張って会得しますw
まあ個人でやるんで時間はあるのですが
最初の一歩となるような本でお勧めな本とかありませんか?
とりあえずC++だとFFTのようなゲームを作れると学んだのですが・・・
独習C
>>158 さっそく探してみたのですが
初心者には独習C++よりもいいのでしょうか?
>>159 アマゾンで安く中古品があったみたいなので購入してみたいと思いますw
ありがとうございました
FFTみたいなゲームって一瞬何のことだか分からなかったぜ やったことないがSRPGだろ?RPGツクールですら可能なんじゃないの
0・・未決定マス 1・・通行可能マス 2・・通行不可能マス ランダムに一箇所選び通行可能に設定 ↓ [スタート] ↓ [未決定マスがない] はい → [終了] いいえ ↓ 未決定マスに隣接する決定マスへ移動 ↓ [四方決定済み] はい → [スタート]へ いいえ ↓ [三方決定済み] はい → [通行可能二方以上] はい → ランダム設定 → [スタート]へ いいえ いいえ ↓ ↓ ↓ 通行可能に設定 → [スタート]へ ↓ [二方決定済み] はい → [二方とも通行可能] はい → ランダム設定 → [スタート]へ いいえ いいえ ↓ ↓ ↓ ランダムに1箇所選び通行可能に設定。他はランダム設定 → [スタート]へ ↓ [一方決定済み] はい → [決定済みは通行可能] はい → ランダムに1箇所選び通行可能に設定。他はランダム設定 → [スタート]へ いいえ いいえ ↓ ↓ ↓ ランダムに2箇所選び通行可能に設定。他はランダム設定 → [スタート]へ ↓ ランダムに2箇所選び通行可能に設定。他はランダム設定 → [スタート]へ
558 名前:名前は開発中のものです。:2010/03/30(火) 23:55:58 ID:i144vM1o 個人でFFTみたいなゲームを作ろうとおもうのですが どんなソフトがあれば作れるでしょうか。 当方ズブの素人です。visual studio2008は持っています。 趣味で何年かかけて作ろうとおもっています。 後、初心者でゲーム作るならこの本読んどけってのもあれば 教えていただけるとありがたいです。 ご助力お願いします。
RPGつくーる?
ゲームプログラマになる前になんたらかんたらって本は面白かった
>>154 挫折率は本当に極端に高いから甘く見るな。
まあ挫折すること自体はいい思い出になることだろうから悪くないけど。
何年かかけてというが、仕事で作る時にどのくらいの時間をかけているか考えてみよう。
まずありえないが残業も休日出勤も無いと仮定して、一人月は 8h x 22d = 176h。
例えば三人で三ヶ月だとしてみよう。
市販するゲームとして極端に小さい規模だけど、これで 176h x 3 x 3 = 1584h。
少な目の見積もりだから実際はもっとかかる。
もっと規模の大きいゲームなら規模に応じて何倍もかかる。
それに、プロじゃなくて君がやるならさらにかかる。
絵と音を用意する必要もある。
携帯とか iPhone 向けに、もっと簡単なゲームを目指した方がいいんじゃないかと思う。
最初の一歩は、図書館で何冊か斜め読みして、自分に向いてそうなのを見つけること。
本を選ぶスキルを身につけることも重要だから。
携帯とかIPhone向けってPCより簡単なのか?
>>168 ドコモは簡単
祖父版はダルイ
あうは死ねって思う
iPhoneはしらね
PCだって自分でdirectx叩けば面倒だけど、あり物使えばサクサクじゃん。
だから物によるけど
携帯向けは仕事でやると容量足りないのを無理矢理入れろとごねられた時に面倒臭い分くらいは難しいと言える。
andoroid携帯用にゲームって作れるの?個人で
>>167 具体的な意見ありがとうございます。
まあ仕事あいまのストレス解消でやるつもりなので
マッタリやらせていただきます。本を選ぶスキルかぁ・・・
携帯のほうは考えていませんでした
一考したいと思います
>>154 携帯電話、スマートフォンはPCと比べるとスペックが低いというだけで難易度はほとんど変わらないよ。
最近はスマートフォンやブラウザゲームの方が勢いあるね。
まずはプログラミング言語を覚えないといけないけどネットの情報だけで十分勉強できると思う。
一応、書籍は「ゲームプログラマになる前に覚えておきたい技術」を勧めておく。
>>170 個人でも作れるよ。
いやこいつはコンパイラインストールしてさてどうするの?ってレベルだろレス見た感じ ゲーム関連書籍よりまずは言語覚えねーと話にならないだろ 趣味ならCよりHSPとかでらくした方がいいよ
携帯なんか開発環境整えるのが面倒だったり情報が少なかったりして余計な苦労するだけ そんなのは一通り勉強してからいくらでもできるから勉強は普通にPCでやれ
175 :
167 :2010/03/31(水) 17:15:24
簡単というのは目標にするゲームの方について書いた。 クォータービューの SRPG よりも、もっと簡単なのを目指せと。 携帯とか iPhone は、C よりはモチベーションが維持しやすいのではないか という想像の元に勧めた。 簡単に他人に見せられるし、すぐに絵が出る。 HSP でもいいけど、なら Flash とか Javascript とか php とかの方が配布が 簡単な分いいかも。 もちろん C# でもいいし、そこまでいくなら SmallBasic とかもアリ。 別の観点からみて、サンプルとか公開されているソースが多い処理系を 勧めるというのもアリだと思う。 そういう意味だと、携帯はイマイチかも。数は多いけどレベルが少し残念。
○○みたいなゲームを作ることだけが目的ならツールで済ませていいんじゃないの
ゲームを簡単に作れるツールを作ればバカ売れ間違いない!
ツクールシリーズ
ツクールツクール出せばバカ売れ
オセロツクールが欲しい
182 :
デフォルトの名無しさん :2010/03/31(水) 22:57:13
ねえ誰か、金儲けツクール作ってちょーだい!
人生ゲームでもやってろ
184 :
154 :2010/03/31(水) 23:53:16
>>172 その本もチェックしときます!
ありがとうございます!
>>173 はい、まさしくそのレベルでございます。
いきなりCは無謀なんですかね。。
>>184 無謀というより、簡単に画面に結果がでた方が面白いからな
ガリガリ組んでエラーと戦うより
ちょこちょこコンパイルしながら、実行画面みながら作業した方が飽きない
186 :
154 :2010/04/01(木) 00:03:26
>>185 むう。それは確かに一理ありますね。
HSPとやらもチェックしてみます!
はじめて聞きましたw
flashでゲーム作成がいいで
俺もflashを勧める i-Phoneはflash非対応らしいから、あいつ等に遊ばれる心配がなくていいよ
子供ツクールしたい!
子供作ったあと金かかるぞ
携帯用のFlashLiteコンテンツってやっぱadobeでソフト買わないと作れないの?
FlashLite フリー でググってすぐに出るんだけど。 swf は今、生成や分析はしていいけどプレイヤーを作ってはいけないことになってる。 登録して誓約書を提出するとフォーマットの資料にアクセスできるようになる。 だもので、オーサリングツールはいくつかフリーのがある。 あと、pdf みたいにサーバで動的生成したりすることを想定しているようだ。 Flash は本もサンプルも結構あるし、ゲームを作りたい初心者にいいかもね。 配布も楽なほうだし。 このスレはム板にしては雑談が多いね。
仕様書自動生成ソフトとやらを使ってゲームの仕様書を作ってみるか
194 :
デフォルトの名無しさん :2010/04/01(木) 03:22:19
ゲームをオブジェクト指向で作って役に立ったことある? オブジェクト指向で作っておいてよかったーってこと 拡張や変更しやすいって聞くけど、結局拡張や変更なんてしないから無意味じゃね?
>>194 ゲーム内にオブジェクトがあるのに、オブジェクトに対応しないコードを
ひねり出すほうがメンドイよ。
大規模なプログラムをオブジェクト指向なしで作って痛い目にあえば分かるよ。 小規模ならmain関数一本で変数が全部グローバル変数でも問題ない。
正直継承はあまり要らんな 実装的に無駄が多いし、そんなのが必要なほど 超大規模なゲームなんてそもそも作らん
>>192 open screen project で今は swf フォーマットは完全フリーになっとるよ
>>194 仕事だと仕様変更が頻繁にあるから拡張や変更もそれなりにあるよ
続編や類似のものはソース流用するし
個人でも、作ってみても面白くなかったとかで仕様変更することが割とあるんじゃないだろうか
>>194 まったく役に立たないな
俺等のプログラムってオブジェクトの内部の挙動より
オブジェクトとオブジェクトの関連部分の挙動の仕様のが多いからな
強引にオブジェクト指向っぽく〜をオブジェクトと例えて〜とかやる奴とかいるけど
所詮はオナニー、第三者からしたら意味不明なことこの上ない上に
さらにドキュメントも書かない(書いたことないし、人に見てもらったことないし、人にあれこれ言われるの大嫌い)
ときてるからさっぱり役に立たない
ポリモ便利だから継承はいるだろ
継承無しってどんな罰ゲームだよ
Cなら必要に応じて一部分のソースをincludeすれば クラスなしでも継承っぽいことが!
委譲で十分だろ 継承とか頭悪い
委譲の方が頭悪いだろ 継承で十分
C++を使いこなせる人はCよりC++が良いと言って、使いこなせない人はC++よりCが良いって言う統計が有るらしいよ
俺もはじめはそう思ってたけど 使ってるうちにまったくメリットがないことに気がつくんだ 俺はそれに気がつくのにC++とオブジェクト指向を覚えてから5年もかかった 絶対に書かなきゃならない処理とそうでない処理 この区別がつかないうちはC++やオブジェクト指向を理由もないのに崇める
ここはいいエイプリルフールスレですね
無限ループってこわくね?
373 名前:デフォルトの名無しさん[sage] 投稿日:2010/03/07(日) 13:31:20
>>358 C++ではコンパイルエラーにできるところがCでは実行時エラーとなるまで
気づかない可能性がある。C++で強制されるコンストラクタもデストラクタの
呼び出しもCでは明示的な初期化と終了関数を呼び忘れる可能性がある。
これによってコンパイルできたコードの信頼性が向上すると言えるし、それに
伴ってテストフェーズにかかる工数が減るとも言える。
意図的な型変換は関係ないと
>>294 にも書いたはずなんだが。
437 名前:デフォルトの名無しさん[sage] 投稿日:2010/03/08(月) 23:33:53
>>436 そういうのはしっかりと説明できてからいってねw
いまだにC++のメリット説明できた人間ってみたことないんだ俺w
438 名前:デフォルトの名無しさん[sage] 投稿日:2010/03/08(月) 23:50:53
え?
>>211 信者だと気がつかないと思うけどさ
メリットとかちゃんと数字で言えるの?
〜な感じがする、きっとそうだそうに違いない!
って枠を出てちゃんとお金に結び付けて話すところまで説明できる?
俺はないと思うんだけどね
げんにオブジェクト指向+C++の説明じゃなくてそんな小さいこと挙げて
メリットと言ってる時点でもう説明できないんでしょ?
>>212 型に起因する実行時エラーの原因を突き止めるにも、初期化・終了関数を忘れずに
呼び出すようにコードを記述してそれを確認するのにも、その作業を各人ができるように
教育するのにも、いくらかの時間がかかるのは確かだろ。そして時間は金だ。
>>212 デメリットを数字でいえる?
こんなとこでいくらまくし立てても
貴方も十分陳腐だからね
お前の話には一度も数字なんて出ていないんだから
ここでC++否定してる奴っていつも一人で煽ってる奴だけだろ
>>215 数字がどうとか細かいメソッドだから何だとか
オブ指向のスレで暴れてる奴と同じ気狂い
>>214 いえる
仕様から最低限やらなきゃいけない項目を出したら
それ以外の仕組みはすべて無駄な時間だ
例えばプレイヤーキャラ(P)の状態(S)8つ、
敵(T)が3種類いてそれぞれ状態(S)を5つ
もっていてそれぞれの衝突処理を組む例を考えたときに
組まなければならない(定義しなければならない)処理は
P1xS8xT3xS5=120個
この120個の処理はどんなプログラムを組もうとどこかに記述をしなければならない
これはC++でもC言語でも絶対に変わらない
つまり、それ以外にかかった時間はすべて無駄な時間だ
C++を信仰してる奴はこれが出せない、また、これをC++で組むと短縮できると考えてしまう
その組まなきゃいけない処理一つを書くのにCとC++じゃダンチでC++有利ですよ。はい論破
構造化プログラミング
衝突判定120個書くつもりなことにびっくりだわ Cでもそんな馬鹿なことやんねーよ
配列にぶっこんでfor文まわせばおk
>>221 定義しなきゃいけないこととそうでないことがわかってないからそんな発言がでる
C++だろうが、C言語だろうがこれは絶対に変わらない
変数名やクラス名とか名前入れる以外は全てマウス操作だけで編集できるIDEとか無いのかな
>>223 その定義しなきゃならんことを羅列してみなよ
明らかに重複するから
それは別にしたとしても、確かに衝突判定の処理はどっちでも必要だけど
その衝突判定処理を呼び出す方法と場所はどうするの?
おっとゴメンよ スレクリックし間違えて 違うスレに書き込んでしまったw
そもそも120個も書かなければならないなんてあり得るか? その状態が変わるって言ってもただ大きさが変わるだけなら1種類で済むし そもそも120個も書かないような状態にはしないだろ、上手く処理したりして減らすでしょ普通
>>225 なんで俺がわざわざ処理じゃなくて「定義」って書いたのかわかってねぇなお前w
「オブジェクト指向」このワード、このスレでは禁句にしないと、荒れるな
>>228 わかってねーからさっさと説明しろ
自分が中心か?
出来る奴はCだろうがC++だろうが出来る
たとえばスト2なんかは1キャラの1モーションあたり 3つ程度の判定用の矩形持ってるだけなんだよな で、判定自体は当然のごとく単純に矩形の重なりを見るだけ 120個とか言ってるバカは完全にoopに毒されてるわ
OOP万歳! class Renderer { void Render(IModel& mdl); };
>>232 馬鹿じゃないの
そんなのプログラムで書かないようにしただけで
読み込むデータには書いてあるんでしょ?
もちろんオブジェクト指向じゃない形でw
だから必ず「定義」しなくてはならない
シングルトンかくやつは大抵無能以上に邪魔な存在
P1xS8+T3xS5=23個じゃないの?
たとえばキー入力を管理するクラスを作ったとしてそれはタイトル画面のクラスでもプレイ画面のクラスでも どこのクラスからでも使われるわけだけどシングルトンにしたらダメなの
それグローバルで置くのと何が違うの?
get_obj()したスコープ内にアクセスが限られる点がグローバルと違う。てかシングルトンぐらい知っとけ
え?
ゲームプログラマーのレベルw
なんで?
なんで?に答えられないなら何も証明したことにならんよw
get_obj()のスコープを答えてみてください
>>244 チュートリアル作るときにその仕組みだと困るから
/// main.cpp int global_hensu = 0; main() { } /// sub.cpp extern int global_hensu; sub1() { } sub2() { } 問題が起きたときに見ないといけないのはプログラム全体。 ========================================== /// main.cpp main() { } /// sub.cpp sub1() { } sub2() { Singleton* p = Singleton::get_obj(); } 問題が起きたときに見ないといけないのはsub2内。 グローバルとシングルトンは違うと思うが同じと思う理由は?
>>249 おまえわざとやってるだろw
じゃなきゃやばすぎw
extern GlobalPtr* const globalptr;
GlobalPtr* p = globalptr;
と
Singleton* p = Singleton::get_obj();
でどこが違うかって話だよ
251 :
デフォルトの名無しさん :2010/04/02(金) 01:22:04
シングルトンって何?
シングルトンの利点はインスタンスが1つであることが保証されるあたりだろ
ああそうか。{}の中にextern int gloval_hensuって書いたらローカル変数になると思い込んでたわwすまそww
>>253 それだけならゲーム開発なら複数生成を禁止にするコードにしておけばいいな
>>249 X問題が起きたときに見ないといけないのはsub2内。
○問題が起きたときに見ないといけないのはシングルトンを呼び出した箇所すべて
>>255 その「複数生成を禁止にするコード」ってのがシングルトンなんじゃないのか?
>>257 それ以外でもできるでしょ。リリース時に外せる方法もある。
それだけなら処理コスト気にするゲーム開発では弱いな。
シングルトンなんて使うとロクな目に合わないからやめとけ 必ずそれだけってことはねぇよ 面倒でも引数から渡すようにしろよ また、それが苦にならない仕組みにしろ だからお前等はバグ数の桁数が多い シングルトンなんて使った時点でカプセル化崩壊してんじゃん
>>258 せっかくなんでそれ以外の方法を教えてください
すぐ思いつくのはシングルトンの多重生成回避の方法をそのまま使う GlobalPtr* const globalptr = new GlobalPtr(); GlobalPtr::GlobalPtr() { #ifdef _DBBUG static bool flag = true; assert(flag); flag = false; #endif } みたいな感じ。
シングルトンってJavaのgetGraphics()みたいなの?
>>261 それで処理コストって変わるもんなの?
実行時エラーって取りこぼすことがあるからできるだけコンパイルエラーにした方が安心なんだけど
>>260 class X { public: virtual void f() = 0; }
X& globalX();
>>263 基本的に一度も動作確認しないコードはゲーム開発では本来ありえないし
そもそも複数生成してはいけないクラスを生成しようとする状況がほとんどないし
取りこぼす状況になりえないしそれによって実際副作用が発生する状況もまずない。
まあ処理速度云々はそれほどメリットがないのも認めるが。
どちらかというと
>>259
教科書的なシングルトンでは生成タイミングが不定でメモリ管理に混乱をもたらして 結局いろいろやるくらいなら考えなおしたほうがということになる。
シングルトンってどんなときに使うものなの?
>>267 普通は使わない
ただ、デザパタ書いた馬鹿曰くプログラム内でインスタンスを一つにしたいときらしい
ぶっちゃけこんなの載せる奴ってまるっきりオブジェクト指向理解してないよなw
カプセル化完全崩壊させてどこへいくというんだろうか?(笑)
クラス自体が(ここ重要)複数のインスタンスの生成を禁止したいとき。
クラス自体は複数インスタンス生成されようがまるで平気なのに、とあるアプリケーションで
ひとつだけしか使わないからといってシングルトンにしだすと
>>259 行き。
new出来なくするためにインスタンスがどこからでもアクセスできるって頭おかしいだろ
俺は Singleton が大嫌いだが、使っても良い。 だが、なぜ使うのかを説明できねばならぬ。 少なくとも、Modern C++ Design にあるトレードオフを、どれを、何故選んだかが コードかコメントで示されていなければならないと考える。 さもなくば、無駄に無駄なコードを書いたクズだと断定せざるを得ない。 有益だから使ったのだと証明する機会があるのだから、書いておけばよい。
>>265 >基本的に一度も動作確認しないコードはゲーム開発では本来ありえないし
>取りこぼす状況になりえないしそれによって実際副作用が発生する状況もまずない。
そりゃ理想は全てのパターンをデバッグすることだけど現実的に無理だし
特定の条件が重なった場合のみに発生するバグとかよくあることだよ
>そもそも複数生成してはいけないクラスを生成しようとする状況がほとんどないし
>どちらかというと
>>259 まぁこれは認めるけど。
え?
カプセル化崩壊しようがどうなろうが、 『面白い』 ゲームが 『完成』 すればいい
>>276 寝ぼけんなよ
X『面白い』ゲーム
○『売れる』ゲーム
バグ入りじゃぁ面白いゲームは完成しないね。 バグを取るのにいくら時間がかかってもいいというわけでもなし。
面白いゲームなんて作ったって売れなきゃどうしようもない
話の内容が理解できないとこういうこと言い出すヤツよくいるよなw
そんなパカパカ売れなくてもいいだろ 採算さえとれればとりあえずは って考えるとやっぱりバグ数は抑えないとな
282 :
デフォルトの名無しさん :2010/04/02(金) 12:01:53
売れる売れないの前にバグは問題だろ……
面白いとか売れるとかは板違いなのでヨソでお願いします。
面白いバグが次回作で仕様になることだってあります
FF3のノーチラス
とりあえずandroidゲームの可能性について語ろうか。 インターフェースも画面も統一されていないandroidだとどういうゲームが売れ筋になるだろうか? やっぱりサンシャイン農場系?
287 :
デフォルトの名無しさん :2010/04/05(月) 14:33:20
わざわざ大量規制中で過疎ってる時に話題を振らなくても
タッチパネルでリアルタイムのゲームはやりたくねーな 操作感悪すぎていらいらする
コントローラーやキーボードしか経験なくて、 タッチパネル未経験なのだが長時間のストレスってどんなもんなんだろうかね。 ゲセンでタッチパネル採用してるのあるし問題ないのかな。
iPhoneをちょっと長くして十字キーといくつかのボタンをつければ最強携帯機
>>291 WILLCOM 03 でそうなることを期待してたんだが違ってた
任天堂Phoneまだですか?
3DSはね−よ。駄洒落かよ
「公開する仮称」の役割としては十分果たしていると思うが。 というか、宣伝目的ならこれ以外にないだろ。
果たして Android や iPhone は PSP や DS の競合なのだろうか?
Android や iPhone なんてしょせんタダのオモチャだろ
>>300 良ゲータイトル数を比較しないと意味ないな
iPhoneって閉鎖的だから嫌い
iPhone の客は財布の紐がゆるいのかも
というか、ユーザの金持ってる度の違い棚。 PSPとかDSがお小遣い運営の子供が中心なのに対して、 iphoneはユーザのほぼすべてがちゃんと生計の立っている大人。 かつ、phone部分がアクティベートの機能も果たすから滅多に割られない。 これはこれでこういう良い市場だと思うが、性質は全く異なっているので比較するのはあまり意味がないな。 逆に言うなら、PSP,DSはマジコン撲滅しないと未来がマジ見えない状況にあるわけだが…
ゲームってエラーチェックでやってるんでしょうか? ゲームでエラーが発生しましたなんでメッセージ出せないよね
チェック自体はデバッグのために入れる リリース版でエラー出たらメッセージ出すか出さないかして即終了
え?iphoneで利益出してる日本のゲーム会社なんてあるの?
>>308 国内ランキング上位入りのアプリを何本か作って数百万円程度だったから、
経費のかかるデカイ会社や、ヒット作をコンスタントに出し続けられない
大部分のとこは大赤字のはずだけど、開発下請け中心のとこや、
少人数のとこなら、十分利益が出せる。
まだ様子見の投資でしょ?
ビジネスじゃ無理だろ コンスタントにヒット作出す才能がないと
>>306 おきのどくですが ぼうけんのしょは きえてしまいました
ヒット以前に、安くてお手軽なものばかりの市場だから ビジネス的に適正な値段で売れないのでは
個人の趣味でゲーム作ってるので、このスレの大半の話が全く関係なくて泣けます 売れるかどうかとか・・・マジでどうでもいい話ですね
こっちにとっては、おまえのゲームの話なんてどうでもいい
お前の人生のがどうでもいい
ごめんよ、怒らせちゃったかい?w
318 :
デフォルトの名無しさん :2010/04/10(土) 12:29:14
>>305 みたいなiphone厨ってどこにでも沸くな
晒しあげとこ
sageで
IPhone信者は在日
321 :
デフォルトの名無しさん :2010/04/11(日) 02:50:53
それ常識(ラップ風)
Appleは宗教だから仕方が無い
ゲーム作る場合の機械語って2進数と16進数どっち使うの?
読みやすいほう 通常は16進数 というかデバッガで見ることは普通にあるけど16進でコード書くことはまずない
2進数とか16進数とかいう、種類が違う数があるわけじゃない。 同じものの違う表現のしかたってだけなので、2進法表現とか16進法表現と言うべき。
さすがにそれはウザイ
>>324 なるほど、ありがとうございます。。
>>325 そのような上から目線の説教は
どうでもいいです。。
実際機械語で組むわけでもないのに質問しても無意味
質問しといて対等目線を要求するのか。
>>327 そのような上から目線の質問も、どうでも良いと言うか頓珍漢すぎる
そもそも325のどこが上から目線なんだか…
自分の頓珍漢を指摘されると、全部上から目線って理屈?
無脳が上から目線気取ろうとして発狂w
332 :
デフォルトの名無しさん :2010/04/11(日) 16:34:20
上から目線というか単なる馬鹿
さすがに327は死んだ方がいいと思うわ。
327みたいな低能には理解できないんだろうねぇ←上から目線
どうでもいいけど今時機械語でゲーム作れる人いるの?
>>335 単に言葉尻の問題で言うなら、コンパイラが吐くEXEはマシン語だわな
プログラムは高級言語だが、ゲームはマシン語で作ってる事になるってw
後は、アセンブラはマシン語をビット単位で置き換えた物(ニモニック)だし
アセンブラが必要とされる部分では今でも作られてるだろ。 すべてアセンブラ、というのは効率の面からもないと思うが。
作れる人はいるけど、作る人はあんましいない ってことだな
昔の人はマシン語を直に読み書きできたらしいけど、 いまはそんなことする必要ないしなあ
昔はRAMが8kとか32kとかでやっててな 今のような環境と比較するのは無意味なんだよ くらべる人もいないだろうけど
なんか日経ソフトウェアのアンケートで「仕事で使ってる言語は」っていう Qにアセンブラが結構いたような…
デバッグ用に便利な仕組みってある? 例えば、ASSERTに引っ掛けたときに、printでエラー吐くんじゃなくて 画面に引っかかったところを表示してやるとか、 メモリ確保一覧を表示する機能とか、、、 メモリリークをすぐ見つける方法とかってないかね?
携帯用のFlashLite2でゲーム作った人いる?
あるけどフレームワークとして売るからちょっと待ってて
>>342 ソースのすべてをmallocやらnewやらfreeやらdeleteやらメモリ確保・開放関数で
検索してそのすべてにログを仕込むしかないな
20万行ぐれーのソースでも一週間ぐれーあれば大体配置して
テストするぐらいは余裕だからそんなに面倒じゃねーぞ
確保や開放の方法がすでにnewで統一されているのであれば
newとdeleteをオーバーライド(オーバーロードじゃなくて)すればログを仕込める
混在してるなら地道にメモリ確保・開放箇所を見つけてログ貼り
ここまでやれば後はライブラリなんかで確保開放してるかもしんない場所を貼る
ウィンドウズだとデバイスコンテキストまわりとか確保・開放がめちゃくちゃで結構苦労した覚えアリ
>>342 #define BREAK() __asm { int 3 }
みたいのじゃだめかな?デバッガで止めることができる
>>342 メモリリークを探す仕組みならXcodeがダントツ。
一発でソースを全部検索して、グラフィカルに表示してくれる。Macだけだけど。
>>342 エラー箇所の座標を覚えさせて、その座標に移動できるようにしておくと便利
IDEにソースの行数を出力できるようなオプションがあると楽なんだけどな
掘り返すようで悪いけど、二進数表記って用意しないとできなくね?
0〜Fくらい頭の中で二進で相互変換できるだろ? それのケタがちょっと長くなるだけだ、用意されてなくても問題無い
>>350 gcc 4.3からサポートされた
・・・ソース内の話だよね?
calc.exeでおk
354 :
デフォルトの名無しさん :2010/04/12(月) 12:20:06
知ってるとは思うがVCならデバッグ用のメモリ管理ルーチンを使えば少しは開発の助けになる 少なくとも ソースのすべてをmallocやらnewやらfreeやらdeleteやらメモリ確保・開放関数で 検索してそのすべてにログを仕込む 必要は無い
>>345 リークが数値的に確認できるなら、そんな面倒(でコードの変更も伴って危険)なことしなくても
再現手順を絞っていけばいいだけじゃね?
どのみち「すぐ見つける方法」じゃないんだけどね。
357 :
デフォルトの名無しさん :2010/04/12(月) 23:17:38
VCとかの「プロジェクト」ってのが馴染めない。 そんな俺はコマンドラインでBCCを使い続けてはや8年。
新しいもん作るときはフォルダ作るだろ それと一緒だよ
相変わらずレベル低いな。
それ挨拶かよなげーよ略せよ
くるくるうんこ
FlashLite2で携帯用ゲーム作ったことある人います?
いません
ここは自分ではゲームが作れず会社で雑用仕事している人たちのスレですよ
働いてる人なんていんの? プログラムなんて何にもわからないニートの方が多そうだけどw
お前がそうなのは分かった
367 :
デフォルトの名無しさん :2010/04/13(火) 01:36:03
ボーン行列ってどうやって管理してるんですか? 階層が変わるかもしれないし、アニメーションするたびに計算しますよね。
ゲームじゃなくてCGだな
くるくるうんこって何?
371 :
デフォルトの名無しさん :2010/04/13(火) 22:49:17
>>369 スキンメッシュアニメーションのプログラムで
373 :
デフォルトの名無しさん :2010/04/13(火) 23:38:57
スキンメッシュの扱い方ならこのスレでもいいけど、 ボーンがどうこうって話ならCGスレにでも行ってくれ。 その切り分けができてないなら5年ROMってろ。
いいから教えてやれよ 分からないなら大人しく引っ込んでろよ
>>373 どうやって管理するかって書いてあるだろ
文盲ですか?ROMりましょうね
>>368 「管理」の意味がわからん。ただそこにあるだけのものだと思うんだけど。
>>375 管理って何だよ。
管理するのはその管理した情報を使って何かするんじゃないの?
それによって管理の仕方変わるだろ。
お前頭悪すぎ。
380 :
デフォルトの名無しさん :2010/04/14(水) 01:40:48
>>375 って幸せそうだなw 俺もそんな精神構造になってみたいよw 自分の考えが抽象的な言葉だけで伝わる素晴らしい世界w
お前ら>375を責めるな。 >375は悪くない。 >375を育てた親が悪い。 ガキ一人満足に教育できないゴミクズみたいな親なんだろ。 >375は荒らしだからスルーよろ。
383 :
デフォルトの名無しさん :2010/04/14(水) 01:52:07
まぁああいう基地外を育てる親が一番悪いわなw 社会に迷惑かけてても平気で生きてそうwww
頭悪いと思った理由も書かずに頭悪いとか言う
>>381 には誰も勝てない(笑)
>>381 の圧勝!
ROMらなくていいから回線切って吊(ry
>375と同類の>381、>384もスルーよろ
なんで荒れるかなぁ。。。
>>387 基地外(
>>368 )が珍妙な質問したのが始まり。
>>371 見ても分かるが質問スレで嫌われる情報後出ししてるし、
頭が悪いかおかしいかのどっちか。
それをスルーすりゃいいものを突っつく馬鹿がいるからまた荒れる。
モゲラでゲーム公開してる人います?
>>369 はごくまっとうな質問だろう。
ゲーム作るのにスキンメッシュは避けて通れない割に情報は少ない。
1.いや階層は変わらないだろう。キャラクターの骨格がゲーム中に変わるのか?
2.ボーン行列(マトリックスパレット?)は毎フレーム計算
>>390 369 は質問じゃないし、「情報」って何のことかわかんないし、1とか2とか書いてあるのも
何を言ってるのかわからない。こわい。
>>390 回答ありがとうございます。
1.例えば武器を持たせる場合は武器モデルを手のボーンの子にする必要があるのかなと思いました。
2.その計算したボーン行列を誰が持てばいいのか悩んでおります
>>392 1.武器と手が同じスキンメッシュになるのか?
2.スキンメッシュで使うんだからスキンメッシュが持てば良いだろ。
394 :
デフォルトの名無しさん :2010/04/14(水) 09:37:01
395 :
デフォルトの名無しさん :2010/04/14(水) 09:47:52
>>392 武器のボーンは透明の棒切れを握ってるように最初っから持たせればいい
あとは武器のメッシュを差し替えればいい
スキンメッシュがボーン行列を計算して保存しておく。 (どうせ毎フレーム計算するので保存しなくてもいい) 人間(スキンメッシュ)と武器はまったくの別もの。 ノードが階層構造を持つように作っておく。
ノードが階層構造を持つように作っておく。 俺の言う通りにすればいい。
>>379 何かするんじゃないのって、スキンメッシュ知らないの?
なら無理して答えるなよ
一般的な管理方法はあるけど、確かに情報は少ないから質問したんだろ
(少ないのは方法が確立してるからでもあるけど)
まあ低能そうだからわかんないよね
答えてくださった方、ありがとうございました。
401 :
デフォルトの名無しさん :2010/04/15(木) 17:34:52
スタンドアローンじゃなくネットワーク経由でやる場合は サーバー側ってどうすればいいんだろう 認証したあと常にhttp通信でやり取りするのかね?
UDPでもい・い・の・よ
403 :
デフォルトの名無しさん :2010/04/15(木) 20:02:50
>>402 ほう
投げっぱなしなんですね
クライアント側
・サーバーからのUDPを受けるスレッド(参加者の位置情報など)
・サーバーへUDPを送信するスレッド(クライアント側の操作情報など)
サーバー側
・クライアントからのUDPを受け取るスレッド(クライアント側の操作情報など)
・クライアントへUDPを送信するスレッド(参加者の位置情報など)
を常に送受信すればいいわけですか・・・
P2P!P2P!
自作3Dレンダラーを作りたいんですが、、、
ggrks
>>405 今やるのなら GPU でリアルタイム レイトレーシングだな
>>403 UDP だから投げっぱなしとは限らない。
TCP が行うパケットの順序整理などは、自前で行うことができる。
また、再送要求をしていけないということも無い。
ともかく、君のゲームの内容も分からないし、ならば当然仕様の分析はできないので、
適切な返答はできないかもしれない。
もうすこし具体的になったら具体的な質問でまたどうぞ。
>>405 質問が無いぞ。何を聞きたいんだ。
誤爆なのか?
>>60 みたいに短くてソースも見れてちょっと楽しめるゲームきぼん
410 :
デフォルトの名無しさん :2010/04/17(土) 01:11:11
1時間で作るなんとかって動画のサンプルとかでもええんとちゃうの?
シェーダのパラメータに設定する値ってデータ構造としてどうやって持てば良いと思いますか? struct Material { float4 diffuse; texture diffuse_map; } こんな構造体ではシェーダーの種類によって柔軟に対応できないですよね。。。 map<string, Variant型> paramset; パラメータ名とバリアント型のマップ使えば楽なんですけども、、、
>>411 愚直にやるしかない。
ゲームプログラム側でシステマチックに具合良く対処することはできない。
シェーダが増えたら、基本的にはツール側で生成するなりの対処をすることになる。
どの値がどのシェーダのどのパラメータのものなのかのマッピングさえできれば、前者でも後者でも構わない。
前者でやる場合には、シェーダの数の分だけ構造体を生成することになる。
>>405 ググったら高校生で作ってるやつのブログが引っかかったぞ
俺もリア中ぐらいから始めてればもうちょっと使いもんになるプログラマになれたんだろうか
たらればを考えても仕方ないぜ…
ゲームで何の臆面も無くコレクション使う奴とは友達にはなれない
カッコいいと思ってるんだろうな
リストなら使うけどコレクションなんか使わんよ
リストはコレクション
>>417 もしかして C++ の標準コンテナのことか?
それなら友達ができなくて残念だね、としか言えない。
>>417 は自分がマイノリティだと理解した方が良い
コンテナ=コレクション⊂リスト 配列もコレクションの一種だと思うけどどうやってゲーム作るんだろう
コレクション⊃リストじゃね?
ほんとだ 向き間違えてた ⊆か⊂で悩んでて向きまで頭が回ってなかったw
427 :
デフォルトの名無しさん :2010/04/17(土) 22:00:52
実装の仕方はいくらでもあるのでいいんじゃね? 配列のインデックスでリストぽいこともできるし
格好付けてリンクリスト自作したりするより配列で実装されたリスト使った方が 大抵の場合は効率の面でも上
STLは便利なんだが汎用性重視だから小回りが効かないのがちょっと気になる時もあるね
430 :
デフォルトの名無しさん :2010/04/17(土) 22:13:45
リストの実装くらいそんなに大変じゃねーだろ 暴走が嫌ならポインター使わないで配列のインデックスでやるタイプにすればいいだけだし
キャラクタをリンクリストにしてるのを見かけることがあるけど実際効率面ではどうなの? アクセス効率は配列リストの方がずっと上だし容量拡大のコストなんか ゲームの時間スケールから見れば無視できると思うんだが
リスト&プールでおkだろ やってることは同じメモリの余分確保と使い回しだから、配列使って再実装とかする必要はない
433 :
デフォルトの名無しさん :2010/04/17(土) 22:28:08
>>431 アクセス効率はぶっちゃけ変わらないだろう
挿入&削除のコストは基本的に配列リストが有利
ただし実際に使うEntityの数に対して配列を十分大きくとらないと逆に不利になる可能性もある
>>431 そんなところが効率のネックになることはほとんどないし、ネックになったとすれば
代替の手段はいろいろある。最初から気にして面倒なコードを書くべきじゃない。
またPC育ちか
437 :
デフォルトの名無しさん :2010/04/18(日) 02:59:51
>>436 ターゲットハードで変わるのはわかる
どのマシンで開発するかを限定してないんだからそういう発言もどうかと
PC8801シリーズで育ちました
挿入&削除のコストは基本的に配列リストが有利だっけ?
ReDim Preserve Hairetsu(N+1)
ゲームプログラミングを始める環境としてはどのようなものがスタンダードといえるのだろうか。 OS、IDE、言語、組込用言語、ゲームエンジンなど。
>>441 Windows + VisualC++ + DirectX
が一番資料が多くていい
うっかりjavaやhspなんかではじめちゃうと読める資料がまったくなくなってしまって行き詰る
DirectXは難しいんじゃないのか DXLIBのが初心者向けでは C++も難しいと思うし
センスがある奴にとっては簡単だが センスの無い奴にとっては大変というだけ センス次第
dxlibの管理人さんがC#版をついで扱いしてるのはなぜ?
>>441 全体としてはC++/DirectXが多いけど初心者には難しすぎて挫折してしまうと思う。
OS=Windows
IDE=VisualC++
言語=C(DXライブラリ)、HSP
組込用言語=初心者は使わない
ゲームエンジン=RPGツクール
>>445 Cで作られたDXライブラリをC#から呼び出しているだけだから。
あとC版よりユーザーが少ないから。
どこまで本格的にやるか? って話だなー 本腰入れてやるつもりなら絶対 Windows + VisualC++ + DirectX がいいな 伸びるのも速いと思うな 俺はプログラムなんて手段にすぎねー やりたいこときまっとんじゃボケーっていうなら 別のお手軽なの選択してもいいけど (そもそもそんな奴なにも作ることできないと思うけど) って理由で俺は Windows + VisualC++ + DirectX かな?
早く作りたい!って人にはC++はお勧めできないだろ しっかりお作法を学ぶまでは思ってもみないバグだらけになる可能性が高い
>>448 そんなレベルの人になにか作れるの?
っていったら無理だと思うんだよね
しかも、もっと大きい問題はマイナー言語だと
知ってる人間が少ないから質問しても答えてくれる人間がいないってことも結構問題だと思う
ちょっと作った人間がお手軽だと思って画面に物体が表示される
そこまではたしかに楽なんだけど2Dだろうが3Dだろうが
そっからゲームを作るっていうといまだにそこら辺をサポートしてるもんってないわけで
結局、ある程度まで進んだらつまっちゃうってのが現状だよね
450 :
デフォルトの名無しさん :2010/04/20(火) 11:38:00
>>446 DXライブラリくらい楽できれば別にC++で書いても問題ないしな
完成させる根性の話なのか?
初心者はC++やったら絶対躓くだろ C++やる位なら無難にCからやるべき 世の中にはお前みたいな天才ばかりではない
>>452 でもC++やらないと参考書が読めないよな。
Cでゲームプログラムとかどんな拷問 最低でもC++は必要だろ
まあ、でもとりあえずC言語なんとなく覚えて C++も惰性でさらっと流せば後はゲーム関連の参考書読んでるうちに 細かい内容もわかるだろ 言語学習に1月も2月もかけるのはよくない
1〜2月でC++は無理じゃね?ベターC的ならまだしもtemplateに捕まったら最後、永遠に変態坂を登り続けるハメになる
テンプレートなんて型を引数にとれるってだけだろ
HSPなり適当な言語で1つ小さいゲームでも作ってみて それからC++勉強したら色々方針も立てやすいんじゃね
余程大きいものじゃなければCでも十分組めるだろ 初心者だったら最初はそんな大きくないもので十分だし 初心者にC++のが余程拷問だわw 1、2ヶ月で済むわきゃないw 下手すりゃ1年掛かっても泥沼化 初心者はいきなりOOPに手を出すべきではないだろ 手を出すのは手続き型で十分組めるようになってからだ CかHSP、まずはこれからだ あとライブラリもDirectXは覚えるもん余計増やすことになる 最初はDXLIBで十分だ あくまで初心者が始めるんだということを考えろよw 組み慣れた奴が始めるんじゃないんだぞwww
最終目標が3Dの場合ならDxLibが2Dで止まってる場合は害にしかならないと思うな DirectXのチュートリアルで虎のモデルが出てるんだからそれでいいような気がするんだけど・・・ 後は入門書一通りやるだけで表示できて、音鳴らして、・・・自分用ライブラリなんてすぐに作れると思うけど? それすらできない人間にライブラリ与えてなにかできるか?っていうとできない気がするんだよなぁ・・・
462 :
デフォルトの名無しさん :2010/04/20(火) 22:32:07
DirectXってバージョン変わると互換性なくなるんでしょ? せっかく勉強しても新しいのに移行するときやり直しじゃめんどくさすぎる
>>464 差分だけサポートすりゃいいんだよ
大抵はちょっといじるだけでなんとかなるので気にしなくておk
ただ、人のライブラリ使ってる場合は管理が面倒臭いな
466 :
デフォルトの名無しさん :2010/04/20(火) 22:39:27
>>463 なんか公式には一応使えるような記述はあるけど
ネット検索してると配布終了なんて文字もでてくるなあw
一度に言語習得を上級まで持っていく必要は無く、とりあえずサンプル改造したり できる程度まで行けばいいだろう。 その後は少しずつ色んなトピックに触れるたびに進歩していけばよい。 C か C++ という点について、上記の観点に立てば最初から C++ で良いだろう。 C でも構わないが、C++ の方が多くのコードがコピペで動く分、有利だろう。 市販クオリティに可能な限り速やかに到達するのが目的なら、いきなりC/C++ が 望ましい。 しかしその挫折可能性は極端に高い。 ちょっとしたミニゲーム程度を当面の目標とするなら、他の選択肢の方がいいだろう。 それもまた程度によるんだけど、Flash や JavaScript や CGI や Java/MIDP などは 作ったゲームを友達に遊んでもらう時に、わざわざ自作ゲームをインストールしてもらう 必要が無くて、モチベーションの維持のためには良いだろう。 当面作りたいゲーム、将来作りたいゲームがそれぞれあるのか無いのか、あるなら どんなものなのか。 どの程度の期間でそこまで到達したいのか。 という情報があると、もっとフィットする回答を得られるだろう。
468 :
デフォルトの名無しさん :2010/04/20(火) 22:43:43
まあライブラリより頭の痛い問題はスタンドアローンがお寒いのがなあ
directxがすべて悪い
入門書もこなせない奴等にゲーム作らせようってのに無理がある 入門書を参考にして自分ライブラリモドキを作ってるうちに身に付く技術ってのもあるからなぁ そういうのなしでお手軽ライブラリ&サンプル&言語みてそれですぐにゲーム作れるようになるかっていうと 甘いと思うんだよね っていうかむしろ無駄にハードル上げてる気がする
ヘタレはツクールで我慢しとけってことで
何か作りたいイメージがあってそれを作るのが目的なら最初からツクールにしといた方がいい 普通に考えて効率が悪すぎる もしゲームプログラミングが自体がやりたいならどうぞ
俺はDX5の時代からライブラリを作り続けて はや10年。全然完成する気配がないゾ てへ♪
最終目標が3Dの場合ならっていうけどいきなり3Dから始めるのはどうかと 最終目標が3Dの場合でもまずは2Dである程度の物作れないと話にならないと思うがねえ 3Dやるのはそれからでも遅くないのでは あと俺はDirectX全く知らないがDXLIBだけで全然作れてるがなあ DirectX使うとなると労力倍になると思うがなあ その点DXLIB使えば労力を最小限に抑えられる あとコピペすればいいというがそれだと言語を理解したことにはならず応用利かないと思うが ある程度ならコピペから覚えるのもいいと思うが結局は言語そのものを理解しないと意味ないだろ その点C++は難易度高いと思うがなあ Cでも十分難しいと思うぞ 特にポインタで大半が脱落してるのを見てきたが
言語理解が先か、ライブラリを作れるようになるのが先か、ゲームを作るのが先か、 というのではなく、スパイラル状に全部少しずつ向上するようにしたら良い。 Effective シリーズを理解するまでゲームを作るな、なんて言っていないことはわかるが、 コピペした内容を理解するのも徐々にで良い。 現場だって最初はメニューかツールやらせるんだ。 ちょっとずつ理解を広げて、ソコソコの規模のゲームを三本作り上げたあたりで Effective をある程度理解するくらいでいいだろうと思う。
effective c++は入門書+レベルだろ あれだけ分かりやすい本もそうそうないと思うが javascriptとかだとすぐに実行画面がみれて面白いかもしれんし directxは初期化が面倒かもしれん でもゲームを作る段階になればどっちも労力はだいたい同じだし 何より、〜歳から始めるシリーズを買って 最低限のc++の知識が身についていれば、らしいものは作れる
>>476 >directxは初期化が面倒かもしれん
チュートリアルで虎がすでに出てるんですけど・・・
D3DDeviceを地道に作らなきゃいけなかった昔とは違うんだから・・・
DxLibあまりよくみてないんだけど
モデルとかロードしてくれるの?
2D描画まわりしかサポートしてないならむしろ仕様を参考にするぐらいで実は十分じゃね?
ある場所で聞いたんですが、 ゲームの制作依頼を受け付けているスレはここですか? もしここならグラディウスのようなパワーアップ型のシューティングゲームを製作してください(>_<) お礼としてスタッフロールにあなたの名前を記載してかまいませんから
>>477 サンプルを読めてmsdnを理解できるなら
もう心配するまでもなくゲーム作れるだろ
何がいいたいのかよくわからん
プログラマーはこきつかっていいと聞きました
プロデューサーは女王蜂 プログラマーは使い捨ての働き蜂
486 :
デフォルトの名無しさん :2010/04/21(水) 02:35:09
あきらめた
488 :
デフォルトの名無しさん :2010/04/21(水) 02:37:07
ネタなんだろうけど、とてつもなく狂気を感じるわ
>>461 DXLibは3Dにも対応してるよ。
DXLibもHSPもツクールも結構レベルの高い作品あると思うけどなあ・・・
>>489 初心者がライブラリ作成経験の手間を飛び越えて作ったものかどうかは微妙だろ?
ライブラリマニアとか新言語マニアとかツクールマニアってのはいるんだぞ
(自分で作れるけどあえて使う奴)
どこかでなにかしら触ってないと挙動がそもそもわかんねーと思うんだよね
初心者がこの工程をすっとばしていきなりってのはかなりもともとの頭がよくねーと無理だと思うな
c + ncurses
DirectXで一から作る人はいないの?
DirectXを一から作りたい
DirectXで一から作ってもいいと思うよ。 そういう人も必要だしね。 ただゲーム会社とかでも独自のライブラリを使うって感じのスタイルだろうから、DirectXをいじることに対して思ってるほどのアドバンテージにはならなそう。
Windows用ゲームを作るとは限らないからな
496 :
素人 :2010/04/21(水) 15:34:44
RPGのセリフなんかのテキストはどうやって実装すんの?
下請けは、さらに丸投げして、結局作るのは末端企業の奴隷プログラマー 奴隷どもは こんなスレ見るほど暇じゃない
500 :
デフォルトの名無しさん :2010/04/21(水) 15:51:51
素人ばっかりだな
素人が質問して、素人が答える 玄人が質問して、玄人が答える 素人の質問に玄人が答えても、素人は理解できない 玄人の質問に素人が答えられるわけがない
>>501 答えられるやつがいないだけだろ、低能クン
普通人間の場合、走ったりしても視点は揺れるけど焦点はブレない でもFPSは視点と連動して焦点も揺れるじゃない? あれが酔う原因になってるんだと思うんだけどさ どうにかなんないの?
>>503 xopsだとマウスの動きに対する照準と視線の感度がズレてて、
照準はシビアに反応するけど視線は照準に比較的ゆっくり追従するようになってる。
一瞬、FPSってフレームレートのことかと勘違いした
プレイヤーの視点感知するセンサーみたいなのが必要だな テレビでそういう機械みたことあるが・・・
斜視だったら効果ないな
>>496 何が分からないの?
テキストデータを画面に表示させるだけなら簡単でしょ?
表示方法が分からないならOSと言語も書いてくれないと答えられないよ。
PictureBoxにキャラ表示するやり方でも昔のドラクエぐらいなら作れる?
昔のドラクエなら一ピクセル一コントロールでもいけそう
そんな軽いんだ? D3Dは敷居が高いから諦めてたけど コントロールで作れるならがんばってみます
FCと今のPCと、どんだけ性能差があるとおもってんだ
ラスタースクロールとかパレット切り替えとか簡単にできないくせに
わざわざそんなことやる必要がないってのが事実
320*224で71680個のコントロールが必要なのか spy++で見たとき大変な事になるな
クラス設計とか最適化とか気にしちゃって全然進まないんだけど とりあえず進めて完成させたほうが良いかな
どこがどう遅くてどうゲームに影響するかわからないのにどうやって最適化するんだよ
あーだめだ俺 アクセサの void SetXXX(string name) string GetXXX() ↑ここが揃ってなくて気になって先に進まないし
>>518 最適化という表現は大げさでした
もっと効率よく処理できるんじゃないかとかそういうのです
>>522 C++だとプロパティ実装するのめんどくさくねーか?
void SetXXX(strg name) strg GetXXX() korede kaiketsu dana!
>>521 作りまくってその都度良いアイデアを残して行く方がいいのはわかってるんだけどな…
ですね〜
俺の場合 void SetXXX(string name) string GetXXX() って強引に揃えるがなあ
MS P ゴシック なので tabインデントでもない限り揃わない
ああ環境によって自由に空白使えるのと使えないのがあるのか
プロポーショナル使う人なら揃ってるかなんて気にしないだろう
戻り値は全部int int SetXXX(string& i_name) int GetXXX(string& o_name) これどう
俺は戻り値は全部bool
C#でいいじゃん 今時C++でゲーム作る意味がわからん
社長命令
人の環境で変わるものなんだから好きな言語使えばいいだけ
アセンブラでゲーム作ったことある? たとえば、Windowsのdebugコマンドでちまちま作ってみたりとか
スーファミとかネオジオはアセンブラだったなあ
ゲームボーイのエミュみたいな奴で 「@」が十字キーで移動ができる程度のもんならゲー専の授業で組んだな 手間がかかるだけで仕事した気になっちゃうけどあんまり作業は進んでない的な・・・ 別に難しくはないな関数っぽいもん作ってそれをつなぐだけってところはあまり変わらない
ワンダースワンかよ
>>537 32bit版のdebugコマンドないかな
市販ゲームでC#でゲーム作ってるところあるの?
XBox
XNAじゃなくてメーカー製のやつも? 日本のADVとかは使ってそうだけど・・・
パッケージソフトは全部C++ ごく一部のLIVEアーケードがC#を採用してるって噂だけど
カプンコがXNA技術者募集してたような
C#は遅いっていうイメージある あとガベジ何ちゃらがいつ起きるか分からんとか
イメージっつうか実際遅いしね
遅いのはお前の腕が糞なだけ
うちの家系はハゲないんです はははwwざまぁwww
頭皮うp
なんという癌フラグ
ハーゲンダッツおいしい
ソース公開するわ
いい心がけですね さあどんどん燃料を投下てください
そうっすか
どこだよ
XNAでゲームってまもって騎士か・・w
くにおくんとかもあるよ
ゲームのタイトル画面ってでかいテクスチャのアニメーション? それともポリゴンやスプライトをリアルタイムにレンダリングしてるの?
物によるだろそんなもん
一枚絵を、画面の端からBGMと共に移動させる
ビリヤードのような玉の連鎖をシミュレートするにはどうすればいいんだろう いくつかサンプルぽいのは見つかったんだがFlashばかりでFlaという拡張子の 見方がわからん なんとなくアドビのソフト入れる必要があるんだろうがこれが気が進まないw
XY平面状でベクトルを加算してけば
>>568 リアルに行きたいならまずは物理の勉強だな
>>568 ParaFlaっていうソフトで開けたとおもうよ
連鎖っていっても、ぶつかったときの処理を何度も繰り返すだけじゃね?
物によるだろそんなもん
>>572 まあそういう処理も最終的には妥協(手抜き)具合も知りたいなあと思って
地道が一番の近道。
>>574 AdobeFlashのファイル形式なんだからこれをインストールするしかないと思うけど?
>>577 Adobe Flash CSでいいんですかね?
公式HPだと体験版すらダウンロードさせてくれない・・・
ほかにもFlashなんとかっていろいろあるけどFlash Builder 4
がダウンロードできたので試したけど開けなかった
>>578 >Adobe Flash CSでいいんですかね?
それです。
さっき体験版ダウンロードできたけど?
>>581 そういうことなんですね
でもこのなんというか・・・俺のデザインかっけーみたいな黒はなんなんだろう
AIRのインストールとかもそうだけど暗すぎていやなんだが
あととにかく登録しろが前面にですぎなのはMS以上だ・・・
うほーーーー 時間かけてインスコしたのに予期しない形式ですってあんまりorz
会社のパソコンぶっこわしたな!?
おまえらflashすら知らないのか
silverlightでゲーム作るお
silverlightに3Dライブラリ追加された?
おし なんとかC#に移植できたぞw
ナニコレ
玉の衝突シミュ
>>574 の円同士の衝突の説明には、位置補正と反射しかないので
これだけでは動いてないものにベクトルを与えられないと思う。
デモのソースは見てないけど、位置補正の処理でベクトルを付与しないと
だめなんじゃないかな
>>592 一応
>>588 >>589 ということなんです
アプリ起動時に玉を生成するんですがその時に玉にベクトルを持たせてるので
一応それっぽい動作はするんですよね・・・
不快な動きもするのでちょっと数学系のスレで質問してます。
いや、ここに隔離されておけよ
595 :
デフォルトの名無しさん :2010/04/24(土) 21:05:51
その衝突の処理ってさ あのブロック崩しの弾とブロックとの衝突判定より難しくね? 玉がそれぞれ移動してるってことは、それぞれ通りすぎちゃって当たってないって誤判定増えるんじゃね?
>>595 ブロック崩しの玉とブロックの衝突は結構いい加減でいい
片方は確実に止まってるから
ビリヤードの場合は円と円の衝突判定(これは簡単)の後
衝突角とかいろいろ求めないといけないからねえ
>>34 ,36,38とかにあるように速度が大きいときの衝突判定の話。
どうすればいいかよくわからんがベクトルが0の時は駄目な式だな・・・
片方のオブジェクトの中心に座標系を持ってくれば静止してるのと同じだし、原点中心だから判定も楽。
ワールド座標が広大すぎて、単精度浮動小数点だと足りないときってどうしてる??
常に-1.0〜+1.0の範囲で頑張る
それが例えば、カメラとの距離が近くなったときのために 0.001 単位の 精度が要るとすると、ワールド座標で整数部分が1000以上になると 精度が足りなくなってきてしまう。
単精度浮動小数点でないとだめってAPIとかハードのプロセッサの問題なのかね?
小さい桁もちゃんと見えてfloatの範囲をオーバーするマップとか、いったいどんなゲームなんだ
DirectX9の固定機能のパイプラインで作ってるんで、DrawPrimitiveとかで 描画するときに単精度浮動小数点で送らにゃいけん。 プログラム内部では倍精度とかで処理しておいて、APIに渡すときだけ floatに変換するかな…
ゲーム内容としては、東京〜大阪を数時間かけて疾走するレースゲーム みたいなのを考えてる。車の挙動の事も考えると1cm〜1mm単位の精度は 欲しいんです。
>609 doubleからfloatに変換するときに、カメラ位置を原点(0, 0, 0)になるように 変換すれば表示の精度は保たれるんじゃ?
>>610 エリアを分割したら?どうせ東京から大阪までを一望することは無いんだろうし
普通はスケールで分割するよな 地図ソフトなんかも広域、中域、詳細図とそれぞれのスケールで ベクトルデータを持ってて詳細図は都市部だけっていう感じ
614 :
デフォルトの名無しさん :2010/04/25(日) 22:30:53
キャラクターのバウンディングボックスの計算の仕方を教えてください。 基本姿勢のバウンディングボックスだと変形後にはみ出す場合があります。 バウンディングボックスは変形後に毎フレーム計算しなければならないのでしょうか? それだと結果的に画面外になったキャラクターのスキングがもったいないような……
>614 ゲームの種類なんかにもよるけど、毎フレームの計算が重ければ バウンディングボックスは大き目にとっておいて で衝突が検出されたモノどうしは、もういちど詳細に 衝突判定させるとか
バウンディングスフィアも持っときゃいいじゃない
>>614 関節ごとに八頂点の境界箱を持って、フレーム毎に関節毎の境界箱を計算し、その min-max を取ればよい。
常識的なデータならうまくいく。
または、ダルシムがいないならオーサリング時に関節を目一杯伸ばして境界球を算出しておけばいい。
619 :
614 :2010/04/27(火) 01:03:47
>>618 1行目の方法良いですね。
影響を与えるスキンを包み込むバウンディングボックスを基本姿勢で計算しておけば、
あとはボーンの移動回転拡大縮小にともない8点計算し直すだけでいけますね。
できればスキングの前に視錐台の外を刈り込みたいのでanimate()フェーズを2つに分けて
1. ボーンのanimate
2.カリング
3.メッシュのanimate(スキング)
ですかね。この辺よく考えてみます。
非常に参考になりました。ありがとうございました。
>>619 計算資源が余っているようなら、さらにストリップ単位で同じことをするとより良い。
余ってるといっても無駄遣いする必要は無いから、大雑把な判定で、多分全体が入る、一部が画面外に
はみ出すかも知れない、確実に全く画面内に入らない、の三パターンに分けて、切れるかも知れない時だけ
ストリップ単位の判定をするといい。
PS3 ならやってるところも多いんじゃないか。
また、PS2 や PSP ならシザリングの都合があって、まともなところなら大抵やってただろう。
ちなみに、俺の経験では境界箱でやってたチームは一つだけで、他は球だった。
3Dキャラからキャラの動きから自分で作って 専用にプログラムまで組まないといけないのはちょっと個人には無理だね ○○でモデリングしたキャラを○○で動きをつけて○○ライブラリを使って プログラムから動きを表示するみたいな一連の流れが無料で出来るといいんだけどな 当たり判定とか地面から落ちないようにするだとか視覚効果まで考え出したら 一生ものの大事業になってしまう
描画処理はデータに持たせないほうがいいって前スレに書いてあったんだけど どうやって実装すればいいの? 座標を返すイテレータみたいなをデータクラスに持たせる?
chara.getModel()みたいにする
614はわかっているようで,ぜんぜんわかってない気がする ...ってかスキングってなんだよ
. M (´・ω・) ス キング?
>>624 nを2回タイプするところを1回しかタイプしなかっただけじゃん。
こういう重箱の隅をつついて他人を全否定するお前のようなクズが一番有害だ。
日本のために死んでください。
しかしXNA(笑)とか侮ってたけど結構使えるなあ お約束の弾幕ベンチ書いたがそこそこのオブジェクト扱えるわ
sukingu sukinngu nを2回タイプしてもスキングじゃないの?
>>626 ・空気が悪くなるから、罵倒するのではなくスルーするのがよい
・技術者ならテストしてから投稿すべきだ。nのタイプ数は関係ないだろう
プログラマスレの住人は細かい事いちいちうぜーんだよ てオモタ
ミスを突っ込まれて逆ギレとか、かっこ良すぎだろw
面白いツッコミができなかった奴の負けってことで。 ソースコードならともかく、多少の誤字脱字をいちいち突っ込んでたら話が進まんw
突っ込まないといつまでたってもミスは減らねーよw
プログラマは自動車教習所の指導員に向いてるな あいつらちょっと注意するだけでも 「おら!バカか?自殺するきか!?」とか言ってくるし。 ミスって事故が起きたら自分の命にかかわることだからイライラしてるんだろうが
っていうかここってマ以外いるの?
ノシ 素人の趣味人ですお。ニートですけど。
637 :
デフォルトの名無しさん :2010/04/28(水) 21:56:26
age
638 :
デフォルトの名無しさん :2010/04/29(木) 02:11:02
モーションを作成するソフトで使いやすい物ってなんですか? RokDeBone使ってみましたが、全然わかりません。 簡単なモーションをゲーム用にサッサと作りたいのですが、お勧め教えてください。
XSI Mod Tools
640 :
デフォルトの名無しさん :2010/04/29(木) 03:17:55
>>639 ありがとうございます!
すぐに使ってみます。
衝突判定されるデータにワールド座標持たせてますか?
俺はワールド座標で衝突判定してるけど
>>642 ありがとう
コリジョンってメッシュと同じ扱いにしていいのだろうか、、、階層を持つし、描画できるし、、、
644 :
デフォルトの名無しさん :2010/05/04(火) 03:32:53
ゲーム製作板って何であんなに過疎ってんのよ・・・
・要求されるクオリティが上がり過ぎて個人で作るレベルじゃなくなった ・割れの横行でそもそも作ろうと思う人が減った
向こうで質問するよりも こっちで質問したほうが 誰かが回答して可能性が高いってどうなのって感じ
話題振れば反応するよ あの板って作り方が全く分からない人が質問する場所 もしくは皆で作りたい奴が一人で頑張るところになっちゃってるからな 2chの平板で匿名なシステムって議論にはあんま向かないし かろうじてゲームデザインスレが少し機能してるくらいだな
648 :
デフォルトの名無しさん :2010/05/04(火) 05:00:25
ぼちぼちでんがな
金がかかるって言うのはよく聞くけど、例えば東方程度のゲームだといくらぐらいで作れるもんなの?
基本的に発生するのは人件費だよ PCも安くなったし、電気代もたいしたことないし
人件費はいくらぐらい?
そこをうやむやにするのが同人たる所以
無視すれば0だな でも、できないことを他人に頼むと費用が発生するよね? まあ材料費もあるけどその費用も大半は人件費だよ
5年掛けてクソゲーつくって コミケで騙して100人に売って暮らしていくには ひとつ20万円だな
>>654 の計算ではとてもではないが勉強やら人件費やらの投資は取り返せそうもないな。メーカーがこぞって外注するわけだよ
オブジェクト指向な言語をターゲットにしたゲーム内の遷移が 学べるところはどこかないですか? ゲームタイトルからゲーム、ゲームからスコアとか いくつかゲーム作ってきたけどどうもきれいな形にならなくて
GT5とか、実際は作ってはいないと思うが 業界トップがあんな失敗プロジェクトだからなぁ
>>657 木構造とか状態機械でシーン遷移するといいってばっちゃが言ってた
>>657 「シーン遷移」でググるといろいろと解説してるサイトはあるみたいだけど。
おれが本書くからちょっと待って
省略したり独自フレームワークでお茶を濁したりするの一切なしでお願いします
>>646 特定ジャンルの質問とか、プログラム以外の要素が含まれる質問なら
向こうのほうがいいかもしれないね。
最小限動くだけのゲームを作ってあとから要素を追加して良く感じで作ればいいのかな 例えばシレンだったら壁と床だけのマップにシレンとマムルと階段だけ作って、みたいな
>665 ある程度そのやり方で改造し続けると、途中で根本からの大改造になる
そういう追加を繰り返しても大丈夫なように考えられたのが、 オブジェクト指向やら、タスクシステムやら。
それは幻想
またオブジェクト指向理解できない老害か
りんごとみかんのオブジェクト指向
671 :
デフォルトの名無しさん :2010/05/04(火) 23:27:33
作り直ししなくていいような設計考えられる奴って天才じゃね? 俺には無理
オブジェクト指向で「変更に強い」っていうのは一般に 設計と実装をきちんと分離してあれば実装が変わっても問題ないっていう意味合いだからな 設計変わったらダメ
そもそも、設計はなんで作り直される羽目になるんだ
設計も仕様も途中で変わるもんだろ。設計が途中で変わるたびにプログラム全部捨てるのかと
タスクシステムってたまに聞くけどそんなoopと並び称するようなレベルのものなの? 中身全く知らんけどそのへんのゲームプログラマが考えた程度のものなんでしょ
そうです、ゲームプログラミングの本売ったり、専門学校で儲けたりする ための言葉です
>>675 単なるオブジェクト指向の一形態。
タイマー回してるゲームなんかで、キャラ追加がでてきたりするときには便利。
STLのコンテナにオブジェクトを突っ込むのと何か違うんですか
>>678 STLなんてない時代の思想だよ>タスクシステム
シーン遷移か・・・ Select Case (seen) Case TAITORU Call TaitoruHyouzi Case MENYU Call MenyuHyozi Case GEMU Call GemuHyozi Case GEMUOBA Call GemuobaOwari End Select こんな感じか?
Seen* seen = new Title(); while() { seen = seen->do_something() } --------------------- Seen* Title::do_something() { if(){ return new Menyu(); } }
なるほど つまり Dim seen As ISeen Set seen = New Taitoru Do Set seen = seen.DoSomothing() Loop ------------------------ 'ISeen.cls Function DoSomething() As ISeen End Function ------------------------ 'Taitoru.cls Implements ISeen Function ISeen_DoSomething() As ISeen Set ISeen_DoSomething = IIf(MenuHyouzi, New Menyu, Me) End Function こんな感じ?
変数名や関数名やクラス名を日本語に
日本語っていうか全角文字で扱えたハズ ローマ字とかダサい
俺は関数ポインタでやってる
VBはみたくない・・・
タスクシステムがひろまったのは 情報を公開しないゲームプログラマのせいだな
情報なんか公開するわけないじゃん、フリソ共産主義者じゃあるまいし 公開とかやってるのは大半が初心者に毛が生えた程度の雑魚
雑魚だと思うならご自慢の知識を披露して本でも書けばいいじゃん 今ある参考書よりずっといいものをかけるんだから絶対に売れるだろ なんでやらないのか理解できない
>>689 売れる本を書くということの大変さを理解できないとか、おかしいだろさすがに。
そう思ってる奴が後生大事にしてるノウハウ程、蓋を開けてみれば タスクシステムと同レベルだった、ってことが大半だろうな。 タスクシステムだってロジシャンロードだかってサイトが公開する前は、 「ゲーム業界の一部の知られる凄いノウハウ」扱いだったわけで。
>>690 いやわかるけど今あるのは雑魚って言い切るぐらいだしね
そんなハイレベルな
>>688 なら出来ると思うだろjk
693 :
デフォルトの名無しさん :2010/05/05(水) 15:39:17
>>681 これって場面が変わるたびに新しいインスタンス生成するってこと?
メモリ食わない?
シーンはスタックに積むのが素敵
タイトル→ゲーム→ゲームオーバー→スコア→タイトル スタックだとどう取り出すの?
どこかにその辺の技術を解説した資料があったな pdfで配布されてたと思う
push タイトル push ゲーム push ゲームオーバー push スコア pop pop pop
そういうpdfどっから見つけてくるんだ
ダウンロードしようとしたら既にあったのはそういうわけか。 立ってないね。
>>681 ,693,694,695,697
popした後って結局インスタンス破棄しちゃうの?
タイトルからまたゲーム開始するとき新しいインスタンス生成するってこと?
それともスタックの話ってシーン遷移の話とは別の話題?
各シーンのインスタンスは別の何かで管理するってこと?
別問題だしどっちにしたってシーン管理自体の大枠の形は変わらん 切り替え頻度とかによる
あ、あった。 でもプレイディアがない
ところでシーンはsceneだ
seen セーン
いつかのキムタク並みにはずかしい奴w
>700 ここ数ヶ月プログラミングから遠ざかっていた間にタスクシステムスレ無くなっていたのか これでタスクシステムという言葉に魂を引き寄せられた有象無象も解放されたか
タスクシステム以外ってどんなのがあるの?
>680-682 これかww セーンwww
つうかシーン(より実際の発音に近づけるならスィーン)でいいのでは 更に恥ずかしい奴らwww
3Dだとタスクシステムじゃなくてシーングラフなの?
2Dだとタスクシステムみたいなこと言わないでください。
seenって実際の英語にあったよね?発音ってセーンじゃないよね?
なんかセーンがツボに入った。深夜だからか
seenってなんかの単語の過去分詞だよね
see saw seen
I have never seen such a beautiful site!
『ゲームコーディング・コンプリート』ってどうよ?
いまいち
おまえらが英語が苦手な理由を考えてみる 院卒のプログラマ → 院卒なら英語できなきゃおかしいだろ 理系大卒プログラマ → 受験科目に英語があったか無かったかで明白 文系大卒プログラマ → 普通受験に英語必須(Fラン除く)だから出来なきゃおかしいだろ 高専卒のプログラマ → 英語力あるとは思えん 専門卒のプログラマ → 英語出来なくたって専門学校に通えるもんな 高卒のプログラマ → エリート高校卒ならともかく、そんじょそこらの高校卒なら出来ないやつが多いだろ なるほど 英語できない奴が多いわけだ
フレームレートってどういう基準で決めてる?
>>709 中卒のキムタクと同列に扱うのはキムタクに失礼では?
シーンをスタックで管理するほどのゲームを、趣味で作ってる奴がどれだけいるのか ベタで書け、ベタで
>>725 出力するディスプレイのリフレッシュレート
>>726 おまえこそキムタクに失礼。
キムタクは高卒だぞ
switchってだっせーよな
漢ならif () {} else if () {} else if () {} .... else {} だな
>>730 #define switch button
知ってる人には当たり前なのかも分かりませんが、 RPGでフィールドの当り判定(例えば山は進行不可等)はどのようにやるのが一般的なのでしょうか? 言語は問わず、アルゴリズム的なのをご教授願いたいです。
マップチップのインデックスを見て判定する処理を入れるか マップデータ自体に当たりか街か毒の沼かの情報を入れてしまう。
735 :
デフォルトの名無しさん :2010/05/06(木) 16:36:28
俺はweb専門だからプロトコルとかネット、通信には強いけど、ゲームプログラミングできる人ってすごいよね 特に3Dになってから趣味でDirectXやってたりしたけど、わかんねw ネトゲ作りたくても、自分で鯖側は作れても、クライアント作る自信がないw 最初はクライアントをブラウザでやってたけど、ゲームはゲームなりのセオリーがあるんだろうね プログラムは範囲でかすぎて、どれかに特化すると分からないもんだ 広く浅くを選ぶか、狭く深くを選ぶかなのか・・・
BOOL movable[100][100]; if (keyUp) { if (movable[x][y]==TRUE) { y--; } } こんな感じ?
737 :
デフォルトの名無しさん :2010/05/06(木) 17:21:33
ゲーム作ってるやつって、業務除いて勉強したりしてんの? 例えば、座標変換をはじめ数学だとか
高校では物理選択の理系クラスだったので数学も物理も余裕です
俺は工業、電気科情報
自力で本格的にリアリティだそうとしたら大学レベルの数学・物理の知識が必要じゃね?
>>736 基本的な考え方はそれでいいよ。
「マップチップ 当たり判定」とかでググればサンプルとかも見つかる。
>>737 ゲームプログラマーに限った話じゃないと思うけど勉強してる人は業務外でもしてるよ。
keyUpってキーを離したときに使う命名だよな
よくある、RPGなんかのセリフで1文字づつ出てくるのはどうやるのが効率いいんかな?
1100 N=0 1110 PRINT SERIFU$(N) 1120 IF INKEY$="" THEN 1120 1130 N=N+1 1140 IF N<GYOU THEN 1100 1150 END
if(frame < 5){puts("h");} else if(frame < 10){puts("he");} else if(frame < 15){puts("hel");} else if(frame < 20){puts("hell");} else if(frame < 25){puts("hello");} else if(frame < 30){puts("hello w");} else if(frame < 35){puts("hello wo");} else if(frame < 40){puts("hello wor");} else if(frame < 45){puts("hello worl");} else if(frame < 50){puts("hello world");} else if(frame < 55){puts("hello world!");}
2050 FOR I=0 TO MOJI 2060 LOCATE GYOU,I 2070 PRINT MID$(SERIFU$,I,1) 2080 FOR J=0 TO 10000 2090 NEXT J 2100 IF I MOD 20=19 THEN GYOU=GYOU+1 2110 NEXT I
LOCATEに0を指定するとエラーだった気がする
描画に関する質問だと思ってたけど違うようだな
LOCATEって1オリジンだっけ
上のコード書いた奴と違うけど俺の環境では0からだった記憶が
switchと関数ポインタとポリモどれが1番速いんだろ switchとポリモ探してるの同じだから変わらないような気もするんだがどうなんだろ
そんなところはボトルネックになりえないからどうでもいい が正解
>>751 C++ ならアセンブラを出力してみればいい
switchはO(n) 関ポとポリモはO(1)
switchはO(n/2)じゃねえの
>>755 理論上はどうだか知らんが
関数ポインタやポリモっちは
最適化の関係でswitchより大幅に遅くなるよ
switchはジャンプテーブル最適化があるだろ
最適化されない場合はO(n)だろ 特定の環境下だけで語るなよ
>>733 一応3Dの場合も書いておこう
ナビゲーションメッシュを使うのが一般的だよ
>>756 ビッグオー記法はおおざっぱな挙動を
捉えるためのものだから、定数倍を考慮しない
だから実環境では逆転することがありえる
switchの最適化では、gccだとcaseがある程度多い場合にテーブル化を行うらしい
あとVCだったような気がするが、特に値が飛び飛びでジャンプテーブルに向かない場合、
ifの二分木に展開する処理系もある。その場合、比較回数はO(log n)
Big-O Show Time !
GUIの中、CUIを使う人間がいてもいい。自由とはそういうことだ。
コンパイラってすげえんだな。最適化とかすっげ
>>760 3Dのが興味があったので助かります。
何のことかは素人なもので分かりませんが、調べてみます。
ありがとうございました。
友達に Chara::Player::cHoge *Game::Param::charaOBJ = new Chara::Player::cHoge; とか、namespaceを多様してる奴がいるんだけど、正直どう思う・・・? そいつ曰くインテリセンスが便利だから使ってるとか言ってるんだけど なんだかなー
細かく分ける流派が増えつつあると思うよ。 俺はそのうち主流になると思うね。 ただその友達の命名はセンス無い。
C++自体が糞言語
grepで検索できないとIDE必須になって使いづらい。 IDEないと開発ままならないのは結構致命的だと思う。
namespaceで階層構造はありだと思うよ 少なくとも同じ目的でアンダースコアで区切るよりはいい あとは名前空間だと別名つけれるところがいいね typedefでタイプ省略するのと同じ感覚で使える
よく考えると.netなんかもソースの頭にusing書いてあるので 気にしてないがあれもnamespace省略してるだけなんだよな
タイプ省略のほうがどうでもいい namespaceはIDEなら便利だがgrepでは拾えない このあたりが一長一短と理解できない人間は厳しい
grepしか使えないんだねかわいそう
下っ端で何でも周りが準備してるれる環境での作業しからないんだろうな
プログラミングセンスの高い奴は 大学入試センター試験の、数学IA、UBのBASICの問題を解くのが他の数学の問題を解くのに時間的負担にならない奴を指す ゲームセンスの高い奴は ツクールシリーズやコミックプレイヤーなどのツールで 一般的なプログラミング言語など無くても面白いゲームが作れる さて、ゲームプログラミングのセンスは・・・上記2種類とは違うものが求められる
商用MMORPG「Ryzom」の全ソースコードがオープンソース化 2010年05月07日 16:51
>769>772 grepを使ってないから分からないんだけど、 namespaceを使うとgrepが使えない?ってどういう事?
お前は日本語すらも使えて無い
>>780 質問主にそんな質問を返して何の意味があるんだ?
と質問返しをしてみる
grep使ってないプログラマーなんていないだろ。
地形のメッシュってDCCツール上でどうやって作ればよいでしょうか? 屋外用の地形を作る場合、大きさ、ポリゴン数はどのくらいにすればいいのか分かりません。
いまどきIDE必須でもほとんど問題ないと思うけどどうなんだろ やっぱ使い慣れたツールじゃないとヤダって人はまだ多いのかな?
職場で指定されるパターンがあるんじゃないのか。
転職する気などない
そういえばゲーム用のサーバー側ってGAE上で動かせばいいよね そういうことやってるサークルとかいるかな?
>>783 やってみるしかない。
現場でも大抵そうだ。
IDEの種類はプラットホームごとに違うだろ
ソォーーーーナンスッ!
>>783 ゲームでは一般的に高速化、省メモリ化のため浮動小数にはfloatを使う。
floatって結構値域が狭いので、floatで精度が確保できる範囲でマップの座標の最大値を決める。
793 :
デフォルトの名無しさん :2010/05/10(月) 01:22:15
IEEE754単精度は24ビット相当と考えればok
796 :
デフォルトの名無しさん :2010/05/12(水) 12:58:14
だるい
797 :
デフォルトの名無しさん :2010/05/13(木) 21:31:57
OREのPC炎上!
ore1gpの開発は大丈夫か?
さあ
ゲームプログラムでDBの有用性あるんじゃね って思ったんだが, プロの現場では実はすでに使われてる?
MMORPGやら業務用では使うけど、家庭用で使ってるのは見たことないな。 Oblivion系の箱庭ゲーでは使われてるのかな?
何を以てDBを使っていると定義するかだな。 その辺の素人が作った縦シューだって、 様々な敵の耐久力や動きパターンなどがデータベースとして記録されていると言える。 リレーショナルではないだろうけど。
i-phonのアプリを作りたいんですが 開発環境 使用言語 インストール方法などまったくわかりません。何方か御指南していただけませんか?
804 :
デフォルトの名無しさん :2010/05/16(日) 17:50:34
iPhoneはインテルMacがあればソフト作成はタダだっけ? アプリをストアに登録するとなると年間1万だかを支払う必要があったかなあ
>DB SQLLite的な
業務用では使うのか..
ネトゲのサーバ側以外で使ってるの見たこと無いな sqliteは使ってみたいんだけどどこで使えばいいのか思いつかない
>>800 ネットゲーのサーバ(MMO やロビーなど)以外では、DBMS 製品は使わない。
どんなゲームでも、自前で DBMS を実装する。
普通のゲームでは、オンメモリでのサイズのテーブルしか扱わないのでとても簡単。
配列でもソート済み配列でもリンクトリストでも赤黒木でもハッシュテーブルでも、好きなのを使って好きなように作る。
DBの経験はゲームでも役に立つ。
ただし、経験が無くても、大抵のことは少し考えれば分かる。
たまに、複雑な事例では経験者に大きなアドバンテージがある。
SQLの実装が面倒だお
4月からプログラムの授業が追加されたのですが、とてもむつかしいですね。 変数とか配列とか覚えても全くゲームとか作れる気がしないですorz 「C言語」と書かれた教科書を全て覚えれば作れるようになるんですかね。
膨大な時間をドブに捨ててでもゲームを作りたいという熱意があれば作れる。 普通の人は将来に向けて時間を有効活用するもの。 ゲームを作る時間をTOEICの勉強に充てれば数百点は点数が上がるだろうし 資格の勉強に充てれば基本情報、ソフトウェア開発技術者くらいは取れるだろう。 友人との親睦を深めるのも人生にとっては有効な時間の使い方だろう。 そういう意味のある時間の使い方を捨ててでもゲームを作りたいという熱意があれば 君にはゲームが作れるだろう。なければ知識だけ得てもゲームを完成させることはできない。
変数と配列覚えてゲームが作れる気しない とか言ってるあなたがゲームを作るのはむつかしそうです。
815 :
デフォルトの名無しさん :2010/05/17(月) 15:29:52
>>813 みんながみんなそうなると意味がないので
ゲーム開発を目指してそこで生活してくれる人もいた方がベストだわ
ゲームを消費するだけの人はさすがに駄目だが
816 :
デフォルトの名無しさん :2010/05/17(月) 15:32:31
>>812 >普通の人は将来に向けて時間を有効活用するもの。
2chに書き込むような人はみんな普通でないってことですね(´・ω・`)
>>812 C言語の知識は、ゲームを作ることにはほとんど役に立たない。
だが、そのほんの少しだけ役に立つ部分というのは、高品質なゲームを作る時に必要になる。
携帯アプリやmixiアプリみたいなのを作りたいなら、C 言語は不要で、もっと近道がある。
コンシューマゲームを作るなら、C/C++ が一番の近道。
といってもその近道はとても険しい道で、九割以上の人間が飽きや挫折の犠牲になる。
授業だというなら独学よりははるかにマシだけれども。
あと、家でもやらないと、多分できるようにならない。
授業だけでできるようになるのは、一握りの天才だけ。
国語で言えば、小学校でカナや漢字を習ってるような段階だからなあ。 文字を覚えただけで、小説や論文が書けるかっていうと それは違うと思う。
でもそれが理解できないと何も始まらないっていう まあ、おまいら頑張れ
いまどきプログラムってどうやって習得してるんだろうね。 おれはZ-80ハンドアセンブルとかやってたからCはまったく違和感なかったな。
821 :
デフォルトの名無しさん :2010/05/18(火) 00:07:02
そんじょそこらに売ってるような入門書からじゃないの? アセンブラってやっぱ仕事で?
ごく初期のコンピュータから弄れた世代がうらやましいよ。時代の革新を目の当たりにできたんだろ こちとら物心ついたときにはWindows98だからな
やたらハイスペックなPS3用のゲーム作るのと、ファミコンやMSXでゲーム作るのとどっちが楽しいのだろうか
>>824 俺はハイスペックなほうが楽しいな
ろくな開発環境もなく乗算や除算でさえ頭を使わなきゃならないハードでのプログラミングはストレスたまる
もうやりたくない
だよねー
>>825 何でも手に入っちゃうからなんにも作らない子がふえちゃったのはそれはそれで問題だとおもうんだ
まぁそれでも作られた物に対価を払ってくれればいいけど最近は安易に盗むからなぁ
情報の溢れかえってる今って、先人に追いつく勉強するだけで大変だよ。若いもんだって苦労してんだ
829 :
デフォルトの名無しさん :2010/05/18(火) 02:08:07
まあゲームを作るために時間をどぶに捨てるといっても1〜3年程度だと思うけどな。 よほどすごいゲームを作ろうとしなければね。PS程度のゲームならそこそこ早く作れるんじゃないかな C++→Win32API→DirectXチュートリアルやってメッシュまでこぎつければ あとはもうロジックの部分を開発するだけでいけるんじゃないかな。しかもWin32APIは全部まじめにやる必要ないし 極めようとすればDXUTとシェーダが鬼門だろうなぁ
>>820 お前は才能があったんだよ。
アセンブラで言えばさ、例えば int***** みたいなのも、何でもかんでも int にキャストして持ちまわして、
最終的にメモリにアクセスする時にだけ int * にしてアクセスするようなものだったじゃん。
なんでそんなまどろっこしいことするのかわからなかったし、それとセミコロンを忘れないようにするだけで
三ヶ月くらいかかったよ。
>>824 全部やるのは無理だけど、今でも全体のコーディネートを担当することはできる。
だから今の方が選択肢がある分だけいいんじゃないか。
>>829 一年当たりの時間を書かないと意味ないのでは。
3000時間もあれば、ぼちぼちだと思う。
ゲームで一番問題なのは プログラムよりモデリングと音楽 間違いないpuroguramuyori
>>832 だが、優れたグラフィック、音楽があっても
プログラムがないと意味がない
見た目だけにこだわるとファイナルなんとかみたいになるぞお前それでいいのか
朝っぱらから顔が赤い
>>834 がいるスレはここですか?
売れればそれでヨシ。元が取れれ馬ヨシ
モデリングツール->プログラムで作られている 音楽->シーケンサー等のハード以外はソフトで賄う、SEも同様->プログラムで作られている モーション作りました->プログラムで再生 音楽作りました->プログラムで再生 SE作りました->プログラムで再生 ファミコン時代を考えれば何が一番重要か伺える ファミコン時代なんかプログラマが全部一人でやってたしな
839 :
デフォルトの名無しさん :2010/05/18(火) 08:40:48
Mayaなんかのプラグインもわざわざ専用のプログラム入れて作らすしな エフェクトなんかも全てプログラムから呼んでやらんといかん そもそも論として、プログラムがカスだとゲーム進行すらままならん かつて、ゲームが進められないバグを残したまま販売したソフトも数知れず
>>820 俺はザイログ形式どっぷりだから
そこで進化終わって駆逐されたけどな
ゲームなんてのはぶっちゃけ、プログラマだけでいい
>>842 僕はPlay○nlineになんちゃらなんかをやってたよ
>>843 あれって絵も音も君一人でやったんだ。
凄いね。
全部の会社に君がいたらよかったのにね。
僻み根性丸出しだね、みっともないよ
でも担当はどこだったとか特定につながるようなことは教えてくれないでしょ。
>>846 知りたいのかい?
じゃあ、君が開発したソフト名を俺みたいに伏せて教えてよ
俺なんていまだにアセンブラでコンパイルしてるぜ?
849 :
デフォルトの名無しさん :2010/05/18(火) 16:22:27
>>848 エセだと発覚したな
アセンブラはアセンビリという
なに、学生がプログラマーごっこでもしてんの? リーマンならまだ仕事中のはずだろ? おまえらみんなヒマなんだな。ニートの俺みたいに
俺、リーマンじゃないけどニートじゃねー フリーランスだ
働いたら負け(爆笑)と当時言ってたニートの中には、この金融危機で状勢が変わり 「何で親は正してくれなかったんだ!」 「メディアがみんなニートをしているように報道したのが悪い!ダマされた!」 などと後悔に襲われてるニートも少なくないらしい(爆笑)
ゲームプログラマの割合ってどのくらいだろう 1%ぐらい?
分母はなんだよw
俺は元■にいたで、2流ではなかと
分母は日本のプログラマーの数
質問してよろしいでしょうか。 (x,y,z,w)で表された同次座標を等価な(x,y,z)のカルテジアン座標系に直す 関数の名前に迷っているのですが何が良いですか。 いつもはw除算とか言ってますが、関数名が思いつきません。
トゥーカルテジアン でいいだろ。 何を変換するかは引数の型で分かる。
>>845 指摘ありがとう。
でもしょうがないよ。俺は絵も音もだめだから。
>>841 みたいなカッコいいことは言えない。
>>854 俺はフリーランスだがニートだ。
家も貯金もあるし、やる気が出るまで五年以上は寝ていられる。
>>860 そんなの関数にする必要ない。どうしてもというなら normalize() でいい。が、それだと混同が起きるから、やはり v *= (1.0f/v.w) で良い。
>>864 何の話だか分からんが、ウサギ乙と言っておくべきなのだろうか。
タダゲー作ってアフィリエイトで小遣い稼ぎできるじゃん そう思っていた時期がボクにもありました
868 :
デフォルトの名無しさん :2010/05/18(火) 21:53:25
>>867 タダゲー探してきてまとめサイト作った方が手軽だわw
手軽ですね
>>857 プログラマーの突っ込みっておもろいねw
ゲーム作るときって 特にRPGみたいな数値ゲーだと 改造対策はしてる? テキストファイルとかiniファイルとかに HP=234 攻撃=323 とかそのマンマで書いてるんだが もちろんその数値を直接書き換えたらゲームで最強モードになるが やりたいやつは勝手にやればいいと思うんだがどう?
iniファイルだと・・?
>>872 改造対策って
何のために改造対策するのか分かってるの?
ノーガードでいいと思うよ。 ただ、テキストファイルと分からない拡張子つけといた方がいいかも。
個人・同人ゲームにおいて改造対策する主な理由を想像してみる ・ネットを通じて他のプレーヤーと情報を共有していたりする場合 ・オンラインゲーム ・インターネットランキング これ以外思い当たらない
>>876 俺様の作ったゲームそのままを遊んで楽しんでもらいたい。
セーブファイルをいじってステータスいじろうなんて思うのは よほど面白いゲームで普通に一通りクリアしてからだから 大抵のゲームは改造対策なんていらないw
>>872 おまいのゲームを世界中の人間がプレイするんだ。しっかりと改造対策しとけよ
インターネット初期の時代・・・ 自分のHPに自作アプリをアップして、 みんなが俺のアプリを使ってくれると思っていたのに 1年間でカウンタは俺が自分でサイト開いた回数分しか回っていなかった
>>872 テキストとか ini ファイルということは珍しい。
シリアライズで検索してみてもいいだろう。
別にしなくてもいいし、遠い将来で充分だけどね。
>>878 俺のかかわったあるゲームは、改造しない人のほうが少なかった。
コンプリートでエロ特典のあるゲームな。
エロ特典の要素アリのRPGか・・・ それは必要だな
エロ要素のあるRPGというと ツクールで作られた・・・名前忘れた なんか戦争っぽい物語で赤い髪の格闘女と 無口な紫髪のウィッチな幼女と金髪戦士と 主人公(男)が、なんか女王に呼ばれて戦争するゲーム ところどころちょっとエロイCGでてきたり 主人公(男)がエッチっぽいことしたりする 名前なんだっけ
ツクール製だとRPGプレイしなくても画像見れそうな気がする・・・ まぁ文章とあわせて見ることでエロ度がアップする(かもしれない)けど
(*´ω`)ω・`) <ひとでなし! /⌒ つ⊂⌒ヽ
アマチュアのオフラインゲームなら過度な改造対策は要らないと思う。 改造して遊びたい人のこと考えてないだけでメリットが一つもない。 それに改造するかしないかの判断をプレイヤーに任せても全員がするわけじゃない。
PC洋ゲーだと開発者コンソールとかチートモードとかがあって、パラメータ自由にいじれたりするよね
>改造して遊びたい人 そんなゴミのことは考える必要ないw
せいぜい、免責に 改造した場合の保障はいたしません を書いとけばおk
でもセーブデータ改造されてもいいのか
データの整合性が取れないとゲームが起動できなくなるゲーム
エディットと呼べば全て解決。
>>890 なんでダメなの?
すきなようにやらせればいいじゃん
起動時に全データファイルをCRCでチェックすればおk
普通の人の覗き見防止用にシーザー暗号でおk
>>893 セーブデータをいじられ、
制作者がテストしていない組み合わせのデータの読み込みがきっかけで
バッファ オーバーランが起こる可能性も無くはない。
セキュリティ ホールを生む可能性は0.1%でも低くするよう努力してくれ。
ましてや、
>>894 の様な簡単なチェックで防げるんだから。
改変されているか複数ハッシュで計算すればまず改造無理だろ。 CRC MD5など有名どころはばれるかも知れないが 自作のやつとSHAとかローリングハッシュとか複数使えば解明されない。 出来ても相当手間掛かる。
セーブデータどんなにいじられようがバッファオーバーランしちゃだめだろ
そこまで細かく調べてまでセーブデータ弄ろうとするって異常な奴だなw
ハッシュのアルゴリズム変えたり複数組み合わせたって意味ないじゃんw アルゴリズムがバレたところでハッシュ値合わせて改変するの至難の業だし、 それよりチェッカ探して潰したほうが早い
PC ゲームなんて、デバッガでアタッチして実行したら、暗号化程度はすぐに破られる。 ファイル読み込み API のエントリポイントにブレークかけて、セーブデータのファイル名を引数に呼び出されるまで実行したらよい。 そんで読み込んだら、読込先をデータブレークポイントに設定して、デクリプトするまで実行したらいい。 発想か知識があれば簡単だ。 多分数時間程度だろう。 リバースエンジニアリングとしてはかなり簡単な部類だ。 改造防止より、読み込みデータのサニタイズの方が、セキュリティ目的にはずっといい。 どうしても改造防止したければ、正規に保存されたことを証明したいのだから、外部の信頼の置ける認証局を使って公開鍵暗号で署名するのが一番だろう。 その手のことをしないと、結局デバッガでメモリ上の値を直接使われて、回避策が無駄になる。
個人・同人ゲーでそこまでw
外部認証しても結局はローカルで展開実行するんだから、メモリ改変、コード改変が前提なら防御できない
そんなこと突き詰めたら何にも出来ません><
905 :
901 :2010/05/21(金) 01:03:32
もう一つ、外部サーバにセーブしてしまうという方法もあった。
成りすまし防止には結局認証局が必要だけど。
>>902 だよね。
というか、商用ソフトでも、改造対策はかなりレベルが低い。
改造コードが出回らないゲームなんて、よほど人気のないソフトくらいのものだろう。
例外は MMO だけど、それですら成りすまし対策は無い。(なくて困る事も事実上ないけど)
スタンドアロンのゲームでは、改造対策なんて正直趣味のレベル。やりたければやればいい。
906 :
901 :2010/05/21(金) 01:06:34
リロードすればよかった。
>>903 ああ、セーブデータ改造のことしか考えてなかった。
確かにパラメータ改造なら、実行中のメモリを書き換えてしまえばいいのだから、
スタンドアロンのゲームはもうどうしようもない。
改造対策のスキルなんか身に着けて得することなんてあるの?
時代はクラウドですね。接続先のコンピュータで全て処理する時代に・・・そんなゲームもいつか
データの書き換えなど大元が管理すれば改造無理。 たとえば株やFXで改造できるか。
可能っちゃ可能 ハンザイだがw
うちのパソコンのスペック低い だから クラウドコンピューティング使ったオンラインゲームを作るべき
スタンドアロンでも数値書き換えできないようにできるのでは。 至る所に仕掛けを仕組みのは困難としても。 たとえば。経験値が上がるとした場合。 敵ごとに暗号化された経験値が決まっていて、適切な値でないと弾かれるようにする。 連続したデータだから改造しやすいんだ。
おまえら・・・・必要のない改造対策の議論に熱いな
敵の種類、地区ごとに値を変えて、受け入れられない偽データ入ってきたら セーブデータが破壊される仕組みにする。 実際に使う範囲は、2の16乗程度として、64bitの暗号データでやりとりすれば 殆どが失敗するデータになり、データ破壊の危険を冒しながらになる。
サーバーパソコンで全ての処理をして プレイヤーのパソコンに処理後の画像だけ転送する プレイヤー側からの送信は全てキー入力の情報として扱うようにする
改造するほどハマってくれるユーザーが居ない現実
俺のゲームは俺のホームページにダウンロードリンク貼ってから10年で4件のダウンロードがあった。 そのうち1件は俺自身でのテストダウンロード。また、1件は友達にダウンロードしてプレイしてもらった。 検索サイトにも登録してあるから、誰でも辿りつけるハズなのに
>>917 お前のホームページはうさん臭いからなw
もうあれだ 復活の呪文方式でいいよ
でも復活の呪文方式にする位ならセーブ方式にした方が手間掛からんキモス
ふっかつのじゅもんって解析されたんだろうか?
↑その時代にってことです
復活の呪文にみせかけて、セーブデータを読み出せばよかろう
どらくえはねとげでうんぬんとかあったなあ
>>924 ファミリーベーシックかなんかで、レベル・HP・MPやらの値指定して、
復活のじゅもんを出力するプログラムが公開されてた気がする
全単射か単射の暗号関数を用意して、全ての処理は暗号化された側で行えばいいのでは。 f(x+y)=f(x)+f(y)が成り立ち、f(x)からxを復元可能なもの。 演算結果の値f(x)+f(y)が不正になれば改造されたと判断。
ドラクエはゲームデータに関係ないランダムキーを使って 同じデータでも複数のふっかつのじゅもんが生成されるようにしてたね はずれキーを引くと、打ち間違えてないのにふっかつ出来なくなる
まて、どう考えてもそこは「お兄さん」だろう? MSXで似たようなことやった人が他にもチラホラと。
>>929 それってどのデータを保存するの?
f(x)?f(y)?f(x+y)?
>>933 経験値 10 point upなら、+10だけど
それを f(10)point up、+f(10) に変更する。
fは敵ごとに変更してもいい。
簡単にたとえば f(x)= 100 - 2 * x などとしてみると、
経験値0から +10up は、100=f(0)から 180 = 100 + f(10)となる。
100とか180を記録する。
x< y でも f(x)< f(y) と限らない関数が良いが。自力で見つけ出すのは困難な気がする。
和と積の定義から自分で作り出せばOK
経験地0から+10upを記録するってどういうこと?現在の経験地が10であることを記録するだけ記録すればいいんじゃないの? よくわからん。
彼は数学科修士の人だから詳しいんだよ。暗号理論に
順序は保存するとは限らない単射準同型を用意しておくって事。 真のパラメータは直接いじくらずに演算を行うことで、 メモリ上のサーチでも引っかかりにくくする。
>>936 単純に、1upを+1してたら直ぐにばれるだろう。10upで+10でもそうだ。
探索させないための小細工。
個人・同人ゲーでそこまでw
この程度のことが簡単に実装できないヤツにゲームが完成させられるとも思えないが 実際にするかどうかは別だけど
>>942 どんなゲームを作るかにもよるが
まぁここではRPGを作るならってこと?
f(x+y)=f(x)+f(y) と、x≠yならばf(x)≠f(y)を満たす関数で ある4点 a,b,c,dを選べば f(a) < f(b) (a< b) かつ f(c) > f(d) (c< d)が成り立つ 関数って存在するのか。
>>939 成りすまし問題がある。
ネトゲーのチートといえば普通は逆だが、このケースではニセサーバを立ててしまえばやりたい放題。
ニセサーバをどうやって立てるんだよ ソースコードを手にいれればやりたい放題ってのと同じレベルのような
おまえら面白いな こういう面白い奴らが作ったゲームが面白い とは限らない
948 :
デフォルトの名無しさん :2010/05/21(金) 22:57:17
カスみたいなゲームしか産まれないよ
俺らプログラマーは言われたとおりにプログラミングすりゃあいいだけ 面白いゲームを考えるのはデザイナーの仕事 デザイナーの考えたことをどう実現すりゃあいいかを考えようぜ
>>949 考えるも何も普通にできる
無能なお前だけだよ、できないのは
いいえ、俺もです!
952 :
デフォルトの名無しさん :2010/05/21(金) 23:37:09
デザイナー兼プログラマーです
プログラマの方からも提案しないとダメだといつも言われてるぜ
ゲームプログラムって型情報欲しくなること多くて困る dynamic_castに汚染されて歯がゆい
>>953 デザイナもプログラミングしてくれるなら手伝ってもいいけど、一方的に手伝わされるのはいやだよね
>>950 スレタイで言うところの”俺”さんですか?
>>1 >ゲーム開発に関してプログラムの観点からアプローチするスレッドです。
これってどういうこと?
>>959 普通は、どんなゲームを作るかを考えてからプログラミングするんだけど
このスレでは、先にプログラミングしてから、ゲームを考えるという方向性
>>955 プログラム分からん奴にプログラム触られたくないわ
こういうの作ってください → ('A`) じゃなくて こういうの作れますよ → じゃあそれを使ってこういうゲームにしましょう
プログラム理解できないアホはゲ製行けってこと
>>954 クロスキャストとかせずに特定の型にダウンキャストするだけなら自分でID振ってstatic_castした方が速いよ
まぁdynamic_castのせいで全体が遅くなることってそうそうないと思うけど
>>959 ゲームのある一部分の処理とかのプログラミングの仕方について語るとかじゃないの
966 :
デフォルトの名無しさん :2010/05/22(土) 00:38:47
>>946 そういう話じゃないならデータ改造自体どうでもいいだろ。
バイナリは目の前で動いてるんだぞ?
リバースエンジニアリングの話だよ?
マジレスすると 自分で作ったゲームで 自分で楽しめたのは麻雀くらい RPGなんかは全く楽しめない
アクションRPGとか別ジャンルの要素を入れたら楽しめるか、も?
ストーリーなり攻略なり 自分で作ったんなら丸分かりだもんな
自分自身で楽しめるゲームなんてありえない
パックマンってゲームが面白そうな感じだからやってみたいなと思ったが 自分で作ろうにもパックマンをプレイしたことがない。テレビで数度見かけただけ
wikiでルールでも読めばよかろう
今ならGoogleで出来るじゃないか
パックマンはプログラミング初心者には難易度高いからオススメしない
GoogleのはJavascriptで作られてのかな
キーボードでもマウスでも操作できるねw
グーグルのを見たから
>>974 を書き込んだんじゃねーの?
>>970 ようやく自分の知能の低さがわかったのか!
おめでとうございます!
1980年代前半かよ!っていうくらい少人数開発なので プログラマなのに色々とデザインしなkyならないという。 いや、すげぇ楽しいけど。
80年代前半は基本一人じゃねーの?
会社全体で、なんだ。
一部のMMOのサーバ周りは、本職のネットワーク屋が見ると相当酷い…って聞いたことあるな。 その時は話半分にしか聞いてなかったので、全然覚えてないんだが。
MMOサーバのソースが外部に漏れたとき、みんなから大笑いされた奴かな お国柄なんだし気にもとめなかったが
ゲームのプログラムなんて動けばいいレベルでしか実装してないところも結構あるしな。 プログラムの知識がある上司がいないとレベルの低いマに言いくるめられちゃうし。
ですね
昔はハードの性能が限られてたからPGの技量が問われたが 今はどんな酷い作りでもそれなりに動くからな それでもさらに斜め上いくRPGツクールみたいなゴミもあるけど
グーグルのパックマンやってみたが しっかり作りこんであるな 2ステージ目クリアしたら変なアニメーション流れたしw 音もちゃんとあるしなww いや、つい時間を忘れてはまってしまうとこだったww
パックマンは企画とプログラマとサウンドが別スタッフだったのは知ってる。 デザインはどうだったかな?
ロゴという前提もあって仕方ないが グーグルのパックマンやるとオリジナルのゲームバランスのとり方の高度さが分かる。
995 :
デフォルトの名無しさん :2010/05/22(土) 17:02:42
誰も次スレ立てない現実
>>993 企画とデザインは岩谷徹さんじゃないの?
誰もプログラムの話してないなここw
ブロック崩しの弾とブロックの当たり判定で、弾の速度が速いとすり抜けちゃう
1000 :
デフォルトの名無しさん :2010/05/22(土) 19:18:44
>>999 今現在の科学技術では確立されていない技術。ほぼ不可能と言っていい。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。