※回答する人も、質問する人も必ず読んでください
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
Windowsゲームプログラミング 質問スレ
レス数が950を超えています。1000を超えると書き込みができなくなります。
1うゆ ◆vvvK3Fcqdg
2008/11/06(木) 21:28:45ID:lNn2skuQ2008/11/06(木) 21:30:16ID:lNn2skuQ
/ // \`ー ヾ \ へー-、 `二ー-、
/ / ハ 「 ヽ、 、 \ \へ `ヽゝ
/ ノ / /´ \ \ ヽ ヽ 、 ヽ \\ } }
/イ / / / ,| ヽ ヘ、 ヽ } ヘ l ヽ ト、 \イ ノ
,/ / / / l | l ヽ 、\ }_ェl,,ュ_l_ l ハ l \ `゙ ヽ
/ / / l l l | l ト、\_ヽ´lノ イ `/l _lヘ_l_ ヽヘ \
,/ l / l l l l | ,.k | `ー-ゝソ r _,.= ._ ソyハヽ`Y }ヽ 、 }、
| l l l l l l ヘイ ゝノ ≠" ̄`゙ |l l人 } l l }/丿
| i | トヘゝ ト、 rメ r _二_ 〃〃 |l l lイ / / /
| l l l \j、ゝィ'、 ≠ ̄` 丶 . - =y、 ノj} l l | ∧{ /
ヘ ハ 、l l / /|ハ ′〃 , ´ l ハノ lリ lヘ(
トイl l {八l| ヘゝ く / // / ィ l丿 Y >>1 乙♪
| l l l\| l "、 丶._ / /ィ イ´ノノ
| ヘ ヽ ハルァl ヽヘ、  ̄ / |从/
l ヘY 、ヽ_ル‐-、廴_≧==ェ-、-イ |
∨ヘ ト'/ ‐、: : l`ヽ二トミーニ._二 | __
\ベ/ : : :\: l \ `゙´ ̄~ ̄. :/
`゙/ : : : : : : : l \ \ .,,_.: : : : : /
/´ : : : : : : : : : | ヽ、ヽ ー=: : /`ー--‐、
/ /: : : : : : : : : :l \ / イ `)\: : : }
/゙/: : : : : : : /l: : : : :| ∨ メ、ヘ : :|
/ : : : : : : :): }: : : / /´/ヘハ: :l
‐'´ : : : : : : : : : : l: / l lο: \ : {
: : : : : : : : : : : : l | |:. :. ゙l: `l
\ : : : : : : : : : : : : :{ l l:. :. | : : \
/\ : : : : : : : : : : : : : : :| \ \:. . / : : : : |
/ / ハ 「 ヽ、 、 \ \へ `ヽゝ
/ ノ / /´ \ \ ヽ ヽ 、 ヽ \\ } }
/イ / / / ,| ヽ ヘ、 ヽ } ヘ l ヽ ト、 \イ ノ
,/ / / / l | l ヽ 、\ }_ェl,,ュ_l_ l ハ l \ `゙ ヽ
/ / / l l l | l ト、\_ヽ´lノ イ `/l _lヘ_l_ ヽヘ \
,/ l / l l l l | ,.k | `ー-ゝソ r _,.= ._ ソyハヽ`Y }ヽ 、 }、
| l l l l l l ヘイ ゝノ ≠" ̄`゙ |l l人 } l l }/丿
| i | トヘゝ ト、 rメ r _二_ 〃〃 |l l lイ / / /
| l l l \j、ゝィ'、 ≠ ̄` 丶 . - =y、 ノj} l l | ∧{ /
ヘ ハ 、l l / /|ハ ′〃 , ´ l ハノ lリ lヘ(
トイl l {八l| ヘゝ く / // / ィ l丿 Y >>1 乙♪
| l l l\| l "、 丶._ / /ィ イ´ノノ
| ヘ ヽ ハルァl ヽヘ、  ̄ / |从/
l ヘY 、ヽ_ル‐-、廴_≧==ェ-、-イ |
∨ヘ ト'/ ‐、: : l`ヽ二トミーニ._二 | __
\ベ/ : : :\: l \ `゙´ ̄~ ̄. :/
`゙/ : : : : : : : l \ \ .,,_.: : : : : /
/´ : : : : : : : : : | ヽ、ヽ ー=: : /`ー--‐、
/ /: : : : : : : : : :l \ / イ `)\: : : }
/゙/: : : : : : : /l: : : : :| ∨ メ、ヘ : :|
/ : : : : : : :): }: : : / /´/ヘハ: :l
‐'´ : : : : : : : : : : l: / l lο: \ : {
: : : : : : : : : : : : l | |:. :. ゙l: `l
\ : : : : : : : : : : : : :{ l l:. :. | : : \
/\ : : : : : : : : : : : : : : :| \ \:. . / : : : : |
3名前は開発中のものです。
2008/11/06(木) 21:45:18ID:MY0vkdOy4名前は開発中のものです。
2008/11/07(金) 11:26:17ID:zpZ6H2po 自演禁止
5名前は開発中のものです。
2008/11/08(土) 02:44:21ID:HuLbUvGn 簡単なアクションゲームだったら、経験から言って制御文、構造体(自己参照構造体含む。これ重要。)、
グラフィックの表示まで分かれば十分作れると思う。
まあ、本気で勉強すれば半年で、物分りの悪い人でも1年やればできると思うよ。
多分、以下のソースがなにやろうとしてるか分かれば制御文については大丈夫だと思う。
(もちろん実行しないで。2分ぐらいで作ったんでscanf使っててスマソ)
#include<stdio.h>
void main(void)
{
int a,b,i,j
a=1;
b=0;
i=0;
scanf("%d",&j);
while(i<j)
{
switch(i%2)
{
case 0:
a+=b;
printf("%d\n",a);
i++;
break;
case 1:
b+=a;
printf("%d\n",b);
i++;
break;
}
}
}
グラフィックの表示まで分かれば十分作れると思う。
まあ、本気で勉強すれば半年で、物分りの悪い人でも1年やればできると思うよ。
多分、以下のソースがなにやろうとしてるか分かれば制御文については大丈夫だと思う。
(もちろん実行しないで。2分ぐらいで作ったんでscanf使っててスマソ)
#include<stdio.h>
void main(void)
{
int a,b,i,j
a=1;
b=0;
i=0;
scanf("%d",&j);
while(i<j)
{
switch(i%2)
{
case 0:
a+=b;
printf("%d\n",a);
i++;
break;
case 1:
b+=a;
printf("%d\n",b);
i++;
break;
}
}
}
6名前は開発中のものです。
2008/11/08(土) 02:46:36ID:HuLbUvGn 二次元のマップって普通1次元配列でするよね?
X方向120、Y方向100のマップがあったら
$define MAPX 120
$define MAPY 100
$define MAP_SIZE MAPX*MAPY
int main(void) {
int map[MAP_SIZE];
int x=0,Y=0;
for(i=0;i<MAP_SIZE;i++) map[i]=0;
// もし X:54 Y:33 の位置に1を代入したければ
x=54; y=33;
map[x+(y*MAPX)]=1;
}
でいいんだよね??
2次元使ったほうがいいかいな?
76 名前:名前は開発中のものです。 投稿日:02/08/11 23:35 ID:YyqnVN0I
>>73
サイズが大きかったり可変長だったりすると配列ではなくalloc系で取得する
ことになるだろうし、1次元のほうがいいとおもう。
77 名前:名前は開発中のものです。 投稿日:02/08/12 14:35 ID:???
>>76
callocだと0クリアしてくれるから便利だよな
X方向120、Y方向100のマップがあったら
$define MAPX 120
$define MAPY 100
$define MAP_SIZE MAPX*MAPY
int main(void) {
int map[MAP_SIZE];
int x=0,Y=0;
for(i=0;i<MAP_SIZE;i++) map[i]=0;
// もし X:54 Y:33 の位置に1を代入したければ
x=54; y=33;
map[x+(y*MAPX)]=1;
}
でいいんだよね??
2次元使ったほうがいいかいな?
76 名前:名前は開発中のものです。 投稿日:02/08/11 23:35 ID:YyqnVN0I
>>73
サイズが大きかったり可変長だったりすると配列ではなくalloc系で取得する
ことになるだろうし、1次元のほうがいいとおもう。
77 名前:名前は開発中のものです。 投稿日:02/08/12 14:35 ID:???
>>76
callocだと0クリアしてくれるから便利だよな
7名前は開発中のものです。
2008/11/08(土) 02:51:52ID:HuLbUvGn C言語でアクションゲームが作りたい
http://pc11.2ch.net/test/read.cgi/gamedev/1020417733/
110 名前:名前は開発中のものです。 投稿日:03/05/29 11:44 ID:xadUaM2+
まともだよね
Cがテーマだったりすると厨房は書きこまないのかな
http://pc11.2ch.net/test/read.cgi/gamedev/1020417733/
110 名前:名前は開発中のものです。 投稿日:03/05/29 11:44 ID:xadUaM2+
まともだよね
Cがテーマだったりすると厨房は書きこまないのかな
2008/11/08(土) 02:58:07ID:dxRdOPSU
>>6
2次元のデータを1次元配列で管理しようとするのは、
俺みたいな昔の貧乏性のプログラマだけでいい。
斜め移動でも座標計算1回で済むとか、そんな貧乏臭い発想。
コンパイル時にサイズ不定でも、簡単なラッパ作ればいい。
2次元のものは2次元のまま扱った方が、デバッグもしやすい。
2次元のデータを1次元配列で管理しようとするのは、
俺みたいな昔の貧乏性のプログラマだけでいい。
斜め移動でも座標計算1回で済むとか、そんな貧乏臭い発想。
コンパイル時にサイズ不定でも、簡単なラッパ作ればいい。
2次元のものは2次元のまま扱った方が、デバッグもしやすい。
2008/11/08(土) 09:53:33ID:UXTY631e
左右がつながってるマップだと境界のこと考えなくて済むしな。
『延々と西に向かってたら、いつのまにか北極に立っていた』
な…、何をいっているのかわからねーと思うが(ry
『延々と西に向かってたら、いつのまにか北極に立っていた』
な…、何をいっているのかわからねーと思うが(ry
10名前は開発中のものです。
2008/11/10(月) 07:44:57ID:qLM/iweq2008/11/10(月) 18:09:32ID:sl4Agbo8
記述的に分かりやすいのは多次元にする方だと思う。
多次元のメモリの確保、開放は少しややこしいけど、
ライブラリとして4次元ぐらいまで作っておけば便利。
多次元のメモリの確保、開放は少しややこしいけど、
ライブラリとして4次元ぐらいまで作っておけば便利。
2008/11/11(火) 07:30:30ID:Cky45WKB
>>8
日本語わかる?
日本語わかる?
2008/11/11(火) 09:46:35ID:sZyTNaq5
ワカリマセーン、ニホンゴムツカシーネ!
2008/11/11(火) 22:02:10ID:v37PimrE
ブロック崩しを作ろうとしているのですが、
ブロックとの当たり判定でボールがブロックとぶつかった際、本来跳ね返らなければいけないのに
時々跳ね返らず貫通して進んでしまうことが起きてしまいます、貫通弾はまだ書いてないのに……
どうしたらいいのでしょうか
言語は基本C、クラスとか途中で変数宣言とかちょっとだけC++入ってるかも、DxLibを使用しています
肝心の当たり判定の部分のソース
for(int i=0;i<BlockX;i++){
for(int s=0;s<BlockY;s++){
if(BlockFlag[i][s]){
if(ShellX>=LeftEdge+35*i-ShellR && ShellX<=LeftEdge+35*(i+1)+ShellR){ //X範囲の判定
if(ShellY>=UpEdge+20*s-ShellR && ShellY<=UpEdge+20*(s+1)+ShellR){ //Y範囲の判定
BlockFlag[i][s]=0;
ShellVX*=(-1);
ShellVY*=(-1);
}
}
}
}
}
ブロックとの当たり判定でボールがブロックとぶつかった際、本来跳ね返らなければいけないのに
時々跳ね返らず貫通して進んでしまうことが起きてしまいます、貫通弾はまだ書いてないのに……
どうしたらいいのでしょうか
言語は基本C、クラスとか途中で変数宣言とかちょっとだけC++入ってるかも、DxLibを使用しています
肝心の当たり判定の部分のソース
for(int i=0;i<BlockX;i++){
for(int s=0;s<BlockY;s++){
if(BlockFlag[i][s]){
if(ShellX>=LeftEdge+35*i-ShellR && ShellX<=LeftEdge+35*(i+1)+ShellR){ //X範囲の判定
if(ShellY>=UpEdge+20*s-ShellR && ShellY<=UpEdge+20*(s+1)+ShellR){ //Y範囲の判定
BlockFlag[i][s]=0;
ShellVX*=(-1);
ShellVY*=(-1);
}
}
}
}
}
2008/11/11(火) 22:04:00ID:v37PimrE
主な変数説明
・BlockX、BlockY :ブロックがx・y軸に最大いくつ並んでいるか
・BlockFlag[][] :ブロックが存在しているかいないか、0以外で存在
・ShellX、ShellY :弾のx・y座標
・ShellR :弾の半径
・LeftEdge、UpEdge :ブロック崩しの画面の左端、上端の位置
・ShellVX、ShellVY :弾のx・y速度
当たっているのが縦からなのか、横からなのかの判定がどうにもわからなかったので
当たったらx・y速度両方反転するようにしてしまっています
よければその判定方法も教えてください
宜しくお願いします
・BlockX、BlockY :ブロックがx・y軸に最大いくつ並んでいるか
・BlockFlag[][] :ブロックが存在しているかいないか、0以外で存在
・ShellX、ShellY :弾のx・y座標
・ShellR :弾の半径
・LeftEdge、UpEdge :ブロック崩しの画面の左端、上端の位置
・ShellVX、ShellVY :弾のx・y速度
当たっているのが縦からなのか、横からなのかの判定がどうにもわからなかったので
当たったらx・y速度両方反転するようにしてしまっています
よければその判定方法も教えてください
宜しくお願いします
2008/11/11(火) 22:07:21ID:z2MnAfhy
移動前と移動後の間も含めて接触判定をするだけ
2008/11/11(火) 23:33:50ID:v37PimrE
2008/11/12(水) 01:01:19ID:M3s12QpR
>>17
ボールとブロックの距離が、
ボールの(1 フレームの)移動距離よりも短いとき、
ボールはブロックに衝突することなくすり抜けしまう。
対処方法として、
ボールの移動前後を結ぶ線分との交差判定を行う
ことが挙げられる。
ボールとブロックの距離が、
ボールの(1 フレームの)移動距離よりも短いとき、
ボールはブロックに衝突することなくすり抜けしまう。
対処方法として、
ボールの移動前後を結ぶ線分との交差判定を行う
ことが挙げられる。
2008/11/12(水) 06:00:58ID:xaKS9jsU
20名前は開発中のものです。
2008/11/12(水) 10:40:33ID:kFb9KO8q >>14
>>19でも指摘されてるけど、2つのブロックに同時に触れた場合は
移動方向が元に戻るから貫通するよ。
だから「ShellVY*=(-1);」の後に「break;」を入れれば
とりあえず貫通するバグは無くなる。
でもそもそも判定ロジックが間違ってるので、全部書き直さなきゃダメ。
当たった部分が縦の面か横の面かの判定をしなきゃまともに跳ね返らない。
前フレームの玉の位置と現在の位置を線で結んで、各ブロックの
4つの側面のどこと交差しているかを判定する必要がある。
横面と交差してるならYだけ反転、縦面と交差してるならXだけ
反転させる。
玉のスピードが速いと、複数のブロックと同時交差する場合もある。
その時は一番玉に近いブロックとの判定だけに絞り、玉の位置も
そのブロックに接触する直前のポジションまで移動させる。
>>19でも指摘されてるけど、2つのブロックに同時に触れた場合は
移動方向が元に戻るから貫通するよ。
だから「ShellVY*=(-1);」の後に「break;」を入れれば
とりあえず貫通するバグは無くなる。
でもそもそも判定ロジックが間違ってるので、全部書き直さなきゃダメ。
当たった部分が縦の面か横の面かの判定をしなきゃまともに跳ね返らない。
前フレームの玉の位置と現在の位置を線で結んで、各ブロックの
4つの側面のどこと交差しているかを判定する必要がある。
横面と交差してるならYだけ反転、縦面と交差してるならXだけ
反転させる。
玉のスピードが速いと、複数のブロックと同時交差する場合もある。
その時は一番玉に近いブロックとの判定だけに絞り、玉の位置も
そのブロックに接触する直前のポジションまで移動させる。
2114
2008/11/12(水) 15:58:41ID:58FrgqUc なるほど、理屈は理解できました
しかしどういうソースを書けばいいのかがまるで思いつかない……
いったいどういしたらいいのでしょうか?
しかしどういうソースを書けばいいのかがまるで思いつかない……
いったいどういしたらいいのでしょうか?
22名前は開発中のものです。
2008/11/13(木) 09:45:19ID:KTGSzFRw >>21
ベクトルが理解できてないみたいだね。
まずは数学の勉強から始めないと。
線分交差の判定はここを参考にしてみたら?
http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/Intersection.htm
ベクトルが理解できてないみたいだね。
まずは数学の勉強から始めないと。
線分交差の判定はここを参考にしてみたら?
http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/Intersection.htm
2314
2008/11/14(金) 05:07:34ID:wWFUvlwz >>22
ありがとうございます
しかし読んでみたはいいのですがそれをどう組み込んでいいかがやっぱり思いつきませんでした
なのでがんばって自己流で判定組んでみたら
「○○.exe の 0x0056e0b6 でハンドルされていない例外が発生しました: 0xC0000094: Integer division by zero」
とか出されてしまいました、一体これはどういうことなんでしょうか?
ありがとうございます
しかし読んでみたはいいのですがそれをどう組み込んでいいかがやっぱり思いつきませんでした
なのでがんばって自己流で判定組んでみたら
「○○.exe の 0x0056e0b6 でハンドルされていない例外が発生しました: 0xC0000094: Integer division by zero」
とか出されてしまいました、一体これはどういうことなんでしょうか?
2414
2008/11/14(金) 05:14:12ID:wWFUvlwz ソース
int ShellAX, ShellAY, ShellXT, ShellYT;
//xが次のエリアに到達するまでの時間
if(ShellVX==0){ //分母が0防止
ShellXT=0;
}else{
if(ShellVX>0){ //右に変化中
ShellXT=(35-(ShellBX%35))/ShellVX;
}else{ //左に変化中
ShellXT=(-1)*(ShellBX%35)/ShellVX;
}
}
//yが次のエリアに到達するまでの時間
if(ShellVY==0){ //分母が0防止
ShellYT=0;
}else{
if(ShellVY>0){ //下に変化中
ShellYT=(20-(ShellBY%20))/ShellVY;
}else{ //上に変化中
ShellYT=(-1)*(ShellBY%35)/ShellVY;
}
}
ShellAX=ShellBX/35;
ShellAY=ShellBY/20;
int ShellAX, ShellAY, ShellXT, ShellYT;
//xが次のエリアに到達するまでの時間
if(ShellVX==0){ //分母が0防止
ShellXT=0;
}else{
if(ShellVX>0){ //右に変化中
ShellXT=(35-(ShellBX%35))/ShellVX;
}else{ //左に変化中
ShellXT=(-1)*(ShellBX%35)/ShellVX;
}
}
//yが次のエリアに到達するまでの時間
if(ShellVY==0){ //分母が0防止
ShellYT=0;
}else{
if(ShellVY>0){ //下に変化中
ShellYT=(20-(ShellBY%20))/ShellVY;
}else{ //上に変化中
ShellYT=(-1)*(ShellBY%35)/ShellVY;
}
}
ShellAX=ShellBX/35;
ShellAY=ShellBY/20;
2514
2008/11/14(金) 05:14:58ID:wWFUvlwz while(ShellX>LeftEdge&&ShellX<LeftEdge+350&&ShellY>0&&ShellY<20*BlockY){ //ブロックが存在しうる範囲かどうか
if(ShellXT<ShellYT){ //Xのエリアが先に変化
if(ShellVX>0){ //右方向に突入
if(BlockFlag[ShellAX+1][ShellAY]){ //突入した先にブロックが存在
BlockFlag[ShellAX+1][ShellAY]=0;
ShellVX*=(-1);
ShellX=35*(ShellAY+1); //エリア突入時の境界線へ移動
ShellY=ShellBY+(ShellVY/ShellVX)*(35*(ShellAY+1)-ShellBY); //エリア突入時にyが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAX++; //判定を次のエリアへ移行
ShellXT+=35/ShellVX; //次のエリアへの突入時間加算
}
}else{ //左方向に突入
if(BlockFlag[ShellAX-1][ShellAY]){ //突入した先にブロックが存在
BlockFlag[ShellAX-1][ShellAY]=0;
ShellVX*=(-1);
ShellX=35*ShellAX; //エリア突入時の境界線へ移動
ShellY=ShellBY+(ShellVY/ShellVX)*(35*ShellAX-ShellBX); //エリア突入時にyが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAX--; //判定を次のエリアへ移行
ShellXT=35/ShellVX; //次のエリアへの突入時間加算
}
}
if(ShellXT<ShellYT){ //Xのエリアが先に変化
if(ShellVX>0){ //右方向に突入
if(BlockFlag[ShellAX+1][ShellAY]){ //突入した先にブロックが存在
BlockFlag[ShellAX+1][ShellAY]=0;
ShellVX*=(-1);
ShellX=35*(ShellAY+1); //エリア突入時の境界線へ移動
ShellY=ShellBY+(ShellVY/ShellVX)*(35*(ShellAY+1)-ShellBY); //エリア突入時にyが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAX++; //判定を次のエリアへ移行
ShellXT+=35/ShellVX; //次のエリアへの突入時間加算
}
}else{ //左方向に突入
if(BlockFlag[ShellAX-1][ShellAY]){ //突入した先にブロックが存在
BlockFlag[ShellAX-1][ShellAY]=0;
ShellVX*=(-1);
ShellX=35*ShellAX; //エリア突入時の境界線へ移動
ShellY=ShellBY+(ShellVY/ShellVX)*(35*ShellAX-ShellBX); //エリア突入時にyが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAX--; //判定を次のエリアへ移行
ShellXT=35/ShellVX; //次のエリアへの突入時間加算
}
}
2614
2008/11/14(金) 05:15:41ID:wWFUvlwz }else{ //Yのエリアが先に変化
if(ShellVY>0){ //下方向に突入
if(BlockFlag[ShellAX][ShellAY+1]){ //突入した先にブロックが存在
BlockFlag[ShellAX][ShellAY+1]=0;
ShellVY*=(-1);
ShellY=20*(ShellAY+1); //エリア突入時の境界線へ移動
ShellX=ShellBX+(ShellVX/ShellVY)*(20*(ShellAY+1)-ShellBY); //エリア突入時にxが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAY--; //判定を次のエリアへ移行
ShellYT+=20/ShellVY; //次のエリアへの突入時間加算
}
}else{ //上方向に突入
if(BlockFlag[ShellAX][ShellAY-1]){ //突入した先にブロックが存在
BlockFlag[ShellAX][ShellAY-1]=0;
ShellVY*=(-1);
ShellY=20*ShellAY; //エリア突入時の境界線へ移動
ShellX=ShellBX+(ShellVX/ShellVY)*(20*ShellAY-ShellBY); //エリア突入時にxが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAY++;
ShellYT+=20/ShellVY;
}
}
}
//抜け出し要素判定
if(ShellAX==ShellX/35||ShellAY==ShellY/20){ //判定エリアが既にボールが来たことになっている場所とおなじなら
break;
}
}
if(ShellVY>0){ //下方向に突入
if(BlockFlag[ShellAX][ShellAY+1]){ //突入した先にブロックが存在
BlockFlag[ShellAX][ShellAY+1]=0;
ShellVY*=(-1);
ShellY=20*(ShellAY+1); //エリア突入時の境界線へ移動
ShellX=ShellBX+(ShellVX/ShellVY)*(20*(ShellAY+1)-ShellBY); //エリア突入時にxが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAY--; //判定を次のエリアへ移行
ShellYT+=20/ShellVY; //次のエリアへの突入時間加算
}
}else{ //上方向に突入
if(BlockFlag[ShellAX][ShellAY-1]){ //突入した先にブロックが存在
BlockFlag[ShellAX][ShellAY-1]=0;
ShellVY*=(-1);
ShellY=20*ShellAY; //エリア突入時の境界線へ移動
ShellX=ShellBX+(ShellVX/ShellVY)*(20*ShellAY-ShellBY); //エリア突入時にxが進んだ分だけ増加
break;
}else{ //突入してもなかったよ
ShellAY++;
ShellYT+=20/ShellVY;
}
}
}
//抜け出し要素判定
if(ShellAX==ShellX/35||ShellAY==ShellY/20){ //判定エリアが既にボールが来たことになっている場所とおなじなら
break;
}
}
2008/11/14(金) 07:16:14ID:EfjKu0FE
2814
2008/11/15(土) 03:43:14ID:NhltAbHO 前のほうでやってるのに忘れていました
とりあえず
ShellXT<ShellYT のところを
ShellXT<ShellYT && ShellXT!=0 にしてみたら動いたは動いたのですが
ボールがあらぬ挙動をします
当たっているのに当たった動きをしなかったり、突然わけのわからないところへ移動したり
原因がさっぱりです……
一応上記の判定は、画面を35*20のエリアに分けて、今いるエリアから別のエリアに移動したら、
そこにブロックが有るか無いか判定、という形で組んでみています
(今更ですが、ブロックを35*20でやっているので、ですね)
もしかしたらこのあたり判定でなく、>>20の方法でやらなければダメなのでしょうか
でしたら、よければそのソースを教えていただけませんでしょうか?
とりあえず
ShellXT<ShellYT のところを
ShellXT<ShellYT && ShellXT!=0 にしてみたら動いたは動いたのですが
ボールがあらぬ挙動をします
当たっているのに当たった動きをしなかったり、突然わけのわからないところへ移動したり
原因がさっぱりです……
一応上記の判定は、画面を35*20のエリアに分けて、今いるエリアから別のエリアに移動したら、
そこにブロックが有るか無いか判定、という形で組んでみています
(今更ですが、ブロックを35*20でやっているので、ですね)
もしかしたらこのあたり判定でなく、>>20の方法でやらなければダメなのでしょうか
でしたら、よければそのソースを教えていただけませんでしょうか?
29名前は開発中のものです。
2008/11/17(月) 07:17:05ID:Pi/WdcU7 もしかしなくても、お前の方法は完全に間違い。
先にベクトルの勉強しろって。
先にベクトルの勉強しろって。
2008/11/17(月) 08:29:32ID:4WZ1RBFj
線分単位の当たり判定まではいらないにしても
少なくともどちらに跳ね返すかの判定はいるだろう
ボールの速度がブロックの厚みを超えないようにするだけでだいぶ計算量はへるし
少なくともどちらに跳ね返すかの判定はいるだろう
ボールの速度がブロックの厚みを超えないようにするだけでだいぶ計算量はへるし
2008/11/17(月) 15:27:54ID:p5mj6MH5
>>29
間違ってはいないよ。14の考え方は論理的には合っている。
自分で思いついた方法なら、そのまま突き進むのを俺は薦める。
とりあえず、問題がありそうな点
・XT,YTはintだと精度が足りない(AX,AY以外は全てfloatの方が望ましい)
・「左方向に突入」の部分のShellXT=35/ShellVX;は+=の間違い
・XT,YTが1フレーム分の時間を超えていたらループから抜ける必要がある
間違ってはいないよ。14の考え方は論理的には合っている。
自分で思いついた方法なら、そのまま突き進むのを俺は薦める。
とりあえず、問題がありそうな点
・XT,YTはintだと精度が足りない(AX,AY以外は全てfloatの方が望ましい)
・「左方向に突入」の部分のShellXT=35/ShellVX;は+=の間違い
・XT,YTが1フレーム分の時間を超えていたらループから抜ける必要がある
2008/11/19(水) 06:25:45ID:pWNBSaSF
合ってねーよバカw
2008/11/20(木) 02:14:48ID:njtRhxXk
なんかわからんけど >>14 と >>19 を見た感じ
これでいんじゃね?
CurShellVX = ShellVX;
CurShellVY = ShellVY;
for(int i=0;i<BlockX;i++){
for(int s=0;s<BlockY;s++){
if(BlockFlag[i][s]){
if(ShellX>=LeftEdge+35*i-ShellR && ShellX<=LeftEdge+35*(i+1)+ShellR){ //X範囲の判定
if(ShellY>=UpEdge+20*s-ShellR && ShellY<=UpEdge+20*(s+1)+ShellR){ //Y範囲の判定
BlockFlag[i][s]=0;
ShellVX = -CurShellVX;
ShellVY = -CurShellVY;
}
}
}
}
}
これでいんじゃね?
CurShellVX = ShellVX;
CurShellVY = ShellVY;
for(int i=0;i<BlockX;i++){
for(int s=0;s<BlockY;s++){
if(BlockFlag[i][s]){
if(ShellX>=LeftEdge+35*i-ShellR && ShellX<=LeftEdge+35*(i+1)+ShellR){ //X範囲の判定
if(ShellY>=UpEdge+20*s-ShellR && ShellY<=UpEdge+20*(s+1)+ShellR){ //Y範囲の判定
BlockFlag[i][s]=0;
ShellVX = -CurShellVX;
ShellVY = -CurShellVY;
}
}
}
}
}
34名前は開発中のものです。
2008/11/20(木) 07:27:59ID:ILiqIbsP ↑
来た方向にそのまま戻ってくだけじゃねーかよw
反射させろよw
来た方向にそのまま戻ってくだけじゃねーかよw
反射させろよw
2008/11/20(木) 10:05:54ID:4yNvzVLI
回帰性があるんですね
36名前は開発中のものです。
2008/11/20(木) 17:22:35ID:rpm+4CxU ゲーム作るならついにD言語のほうがとうとういいよ
2008/11/20(木) 17:55:39ID:2O47CO/r
ついにとうとうDの時代が来たか
38名前は開発中のものです。
2008/12/04(木) 15:02:10ID:tF31gb+s Vista対応のゲームをつくる場合、
\Program Files以下にsavedataを作るのはまずいのでしょうか?
\Program Files以下にsavedataを作るのはまずいのでしょうか?
2008/12/04(木) 15:13:47ID:f93IhlbP
2008/12/04(木) 15:15:55ID:+ofge7Nr
まずいと思うよ。書き込めるように対策してたとしても、
プレイする人の環境によって、そのまま保存されたりVirtualStoreディレクトリに
自動的に置き換わったり、警告出たり出なかったりと、動作がまちまちになるからねえ。
プレイする人の環境によって、そのまま保存されたりVirtualStoreディレクトリに
自動的に置き換わったり、警告出たり出なかったりと、動作がまちまちになるからねえ。
41名前は開発中のものです。
2008/12/04(木) 19:26:59ID:tF31gb+s ありがとうございます。やはりそうでしたか。
savedataどこに作るか悩みますね。。
どこに作るのが一般的なのか調査してきます。
こちらでもアドバイスいただけると幸いです。
savedataどこに作るか悩みますね。。
どこに作るのが一般的なのか調査してきます。
こちらでもアドバイスいただけると幸いです。
2008/12/04(木) 23:28:46ID:L0NPB3+N
マイドキュメントでも良いけど、ユーザーが直接ファイルを参照する必要がないなら
CSIDL_APPDATAのが適切かな。
CSIDL_APPDATAのが適切かな。
2008/12/05(金) 09:49:13ID:tEf/k/KB
そうだな。
他のアプリでも使う可能性がある場合はMyDocument、専用ならAppDataだな。
他のアプリでも使う可能性がある場合はMyDocument、専用ならAppDataだな。
4441
2008/12/05(金) 18:35:25ID:7X+FAXTm > 42 43
ありがとうございます。やはり結論としてはApp dataに落ち着きそうですね。
ありがとうございます。やはり結論としてはApp dataに落ち着きそうですね。
45名前は開発中のものです。
2008/12/05(金) 21:38:25ID:j0PqzKS1 中学1年で数学を挫折した馬鹿な僕に教えてください
普通の3D→2Dの座標変換(x、y、z座標を持った物体の画面上の表示場所x、yを求める)
の計算方法は分かるんですが、
今分からなくて知りたいのはラスタースクロールで奥行きを出すときで、
あるY座標に来たときにXをどれだけずらせばいいかを算出する計算方法です。
具体的に言えばストリートファイター2の地面の横スクロール(立体感がついている)や、
古くはマグマックスの地上面の地表みたいな表現です。
簡単に説明できなければお薦めの参考図書を紹介してくれるのでも良いです
お願いします
普通の3D→2Dの座標変換(x、y、z座標を持った物体の画面上の表示場所x、yを求める)
の計算方法は分かるんですが、
今分からなくて知りたいのはラスタースクロールで奥行きを出すときで、
あるY座標に来たときにXをどれだけずらせばいいかを算出する計算方法です。
具体的に言えばストリートファイター2の地面の横スクロール(立体感がついている)や、
古くはマグマックスの地上面の地表みたいな表現です。
簡単に説明できなければお薦めの参考図書を紹介してくれるのでも良いです
お願いします
2008/12/06(土) 02:19:07ID:H7gLDNRD
そんなの雰囲気でおk
なんでもかんでも方程式で出さないと気がすまないのか?
なんでもかんでも方程式で出さないと気がすまないのか?
2008/12/06(土) 02:28:57ID:x2Ho2N6O
スト2の地面なんて、たんにY座標に正比例してるだけじゃなかった?
2008/12/06(土) 07:30:02ID:EvnFjAdZ
2008/12/06(土) 11:32:04ID:KLvL9x5Z
やった事無いから適当に考えるが。
背景の中心、地面の一番奥から一番手前まで直線が引いてあるとして
一番手前の地面を左右にスクロールさせると、その直線は傾く。
けど曲線にはならない。直線のはず。
つまり正比例で座標ずらせばいいってだけじゃないのかな。
それと言っておくが
>答えられないなら無理にレスしなくて結構です
こういう事を言うやつはよくいるが、「自分の性格は悪いです」って公言してるようなもんだから
誰も回答してくれなくなるぜ。
背景の中心、地面の一番奥から一番手前まで直線が引いてあるとして
一番手前の地面を左右にスクロールさせると、その直線は傾く。
けど曲線にはならない。直線のはず。
つまり正比例で座標ずらせばいいってだけじゃないのかな。
それと言っておくが
>答えられないなら無理にレスしなくて結構です
こういう事を言うやつはよくいるが、「自分の性格は悪いです」って公言してるようなもんだから
誰も回答してくれなくなるぜ。
2008/12/06(土) 11:57:50ID:je8dQCcg
クオータービューで検索してね
"3DRPGプログラミング" この本を買って読んでみなさい。
"3DRPGプログラミング" この本を買って読んでみなさい。
2008/12/06(土) 19:52:48ID:4OvlXTAb
2008/12/07(日) 08:52:11ID:GBSyFyEZ
適当な数式作るにはセンスが重要だよね……
>>48
スト2のリュウステージをラスタースクロールのみで再現しようとするなら、
まず板の継ぎ目がある一点に収束するように引いておく(画面中心点が妥当)。
その点からの相対Y座標を使い、
各ラインのスクロール量X = 立ち位置ラインのスクロール量X * 各ライン相対Y / 立ち位置相対Y
でいいんじゃないかな。
ただ上記の処理だと半画面分スクロールしただけでもドットがボロボロになるので、
普通は拡大縮小処理も一緒に使うと思うよ。
この場合、板は普通に長方形で書いておき左右は均一に、上下は奥に行くほど
小さくなるような雰囲気で色を塗り、
各ラインの拡大率X = 各ライン相対Y / 立ち位置相対Y
で、画面の垂直中心線上のスクロール量が同一になるように補正する。
>>48
スト2のリュウステージをラスタースクロールのみで再現しようとするなら、
まず板の継ぎ目がある一点に収束するように引いておく(画面中心点が妥当)。
その点からの相対Y座標を使い、
各ラインのスクロール量X = 立ち位置ラインのスクロール量X * 各ライン相対Y / 立ち位置相対Y
でいいんじゃないかな。
ただ上記の処理だと半画面分スクロールしただけでもドットがボロボロになるので、
普通は拡大縮小処理も一緒に使うと思うよ。
この場合、板は普通に長方形で書いておき左右は均一に、上下は奥に行くほど
小さくなるような雰囲気で色を塗り、
各ラインの拡大率X = 各ライン相対Y / 立ち位置相対Y
で、画面の垂直中心線上のスクロール量が同一になるように補正する。
2008/12/07(日) 09:12:51ID:NKrbC59O
2008/12/07(日) 18:46:01ID:49VdVrcF
センスのない奴ほど数式に頼りたがるよな
それで、修正のリクエストがあったときに
物理法則がどうのこうのと力説したがる
それで、修正のリクエストがあったときに
物理法則がどうのこうのと力説したがる
55名前は開発中のものです。
2008/12/09(火) 07:07:30ID:+Z5nbwy8 数式を使わずにどうやってプログラミングするんだ。
ツクール派?
ツクール派?
2008/12/09(火) 10:32:23ID:pmbjGPY8
ジャンプを実装するのに
いちいち質量がいくつで、重力係数がいくつだから・・・・
とかやりだすことだろ
いちいち質量がいくつで、重力係数がいくつだから・・・・
とかやりだすことだろ
2008/12/09(火) 10:58:49ID:UXQm+qSa
ジャンプなんかは適当でもいいし、
どんなに不自然なジャンプでもそれによってゲーム性にオリジナリティが出るんだからそれでいい。
だが3D表示をするにあたって計算が適当じゃあ3Dに見えないだろ
問題が全く別だよ
トンチンカンな会話すんな
どんなに不自然なジャンプでもそれによってゲーム性にオリジナリティが出るんだからそれでいい。
だが3D表示をするにあたって計算が適当じゃあ3Dに見えないだろ
問題が全く別だよ
トンチンカンな会話すんな
2008/12/09(火) 11:55:35ID:HsEnKH5F
じゃあ全く別な問題を持ち出す>>57が一番トンチンカンということになるな。
2008/12/09(火) 14:25:54ID:6m6wEUZw
普通に考えてこんなのに3D計算なんかしてないだろ
単純に奥のものが手前にあるもより遅く動いてるだけ
どれくらい遅くするかは作った人間のセンス
たぶん何度も係数をいじって自分の感覚で
ベストと思われる動きでフィックスしてるはず
この感覚が万人に受け入れられない人をセンスのない人という
単純に奥のものが手前にあるもより遅く動いてるだけ
どれくらい遅くするかは作った人間のセンス
たぶん何度も係数をいじって自分の感覚で
ベストと思われる動きでフィックスしてるはず
この感覚が万人に受け入れられない人をセンスのない人という
60名前は開発中のものです。
2008/12/11(木) 07:02:29ID:5iwyeWDL 3D計算してもしなくても、最終的に数式に落とす事になるだろ。
それを聞いてるんじゃないの?
具体的な係数を聞いてるわけじゃないし、そこはAとかBとかでいいじゃん。
それを聞いてるんじゃないの?
具体的な係数を聞いてるわけじゃないし、そこはAとかBとかでいいじゃん。
61名前は開発中のものです。
2008/12/18(木) 11:30:02ID:xmq4VfJC ライトユーザー向けのPCゲームつくりたいんだけど、
Vramの推奨スペックはいくつにすべきか?
ご意見伺いたいです。
Vramの推奨スペックはいくつにすべきか?
ご意見伺いたいです。
2008/12/18(木) 12:25:16ID:5uBOIM3K
何作るかによるでしょ。
3DじゃなけりゃWindowsが使えるだけあればいいよ。
3DじゃなけりゃWindowsが使えるだけあればいいよ。
2008/12/18(木) 12:43:11ID:NjDBhxVW
2008/12/19(金) 05:45:59ID:/GzaBikq
65名前は開発中のものです。
2008/12/19(金) 07:18:28ID:5Lxw8rsT 2Dゲーならシステムメモリだけでも全然快適に動くから
VRAMゼロでもかまわないよ。
VRAMゼロでもかまわないよ。
2008/12/19(金) 09:16:19ID:aOn2CrS2
チェックした最低動作環境でのVRAM容量を書いておけばいいよ
2008/12/19(金) 17:59:20ID:gIPakjTt
いまどきの安物パソコンなら専用VRAMなんか構えてないから
メインメモリ共有だし。容量だけなら128MB〜512MBくらいは普通にある。
メインメモリ共有だし。容量だけなら128MB〜512MBくらいは普通にある。
2008/12/19(金) 22:25:50ID:VMJ9+Wbr
2008/12/19(金) 22:26:25ID:VMJ9+Wbr
> 大目のMMORPGを
大目の日本のMMORPGを
大目の日本のMMORPGを
2008/12/20(土) 00:34:45ID:EllKojph
俺も2Dゲームは画像データとかシステムメモリに置いてたけどさ、
描画周りにアクセラレーション効かせるのってあんまり一般的じゃないの?
描画周りにアクセラレーション効かせるのってあんまり一般的じゃないの?
2008/12/20(土) 00:55:24ID:CbJUTGDn
いつの時代からタイムスリッパしてきやがりましたか?
2008/12/22(月) 00:06:41ID:gFPzk4ah
7361
2008/12/22(月) 12:28:11ID:fcAyGbxP Vramの件、みな、どうもご親切にサンクス。
レスおそくなりすいません。カキコできなくて。
何作るかによりますね。すいません。2Dゲーで
Flashで作ったアニメデータがバリバリと動く予定です。
DirectX使っていますので、Vramの確保は必須かもと思っていました。。
ライトユーザーに理解してもらえなくてもいいんですが、
作り手としてってことでしょうか。
レスおそくなりすいません。カキコできなくて。
何作るかによりますね。すいません。2Dゲーで
Flashで作ったアニメデータがバリバリと動く予定です。
DirectX使っていますので、Vramの確保は必須かもと思っていました。。
ライトユーザーに理解してもらえなくてもいいんですが、
作り手としてってことでしょうか。
2008/12/23(火) 02:14:34ID:vL1qdlBE
>>73
72書いた者だけど、質問の意図は分かります。
ただ、どれだけ気にしてもやっぱり動かない環境は残ってしまって、
そういう環境のユーザーほどマシンスペック分からずに苦情出してくるからな〜
すんません。個人的トラウマでした。
否定的な意見はやめて、
DirectXなら、使用するDirectXのバージョンがそのままマシンの世代を表しているって
考えてもいいんじゃないでしょうか?
例えば、DX7使用ならVRAM8MB、DX8ならVRAM32、とか。
あ、値は適当ですが。
72書いた者だけど、質問の意図は分かります。
ただ、どれだけ気にしてもやっぱり動かない環境は残ってしまって、
そういう環境のユーザーほどマシンスペック分からずに苦情出してくるからな〜
すんません。個人的トラウマでした。
否定的な意見はやめて、
DirectXなら、使用するDirectXのバージョンがそのままマシンの世代を表しているって
考えてもいいんじゃないでしょうか?
例えば、DX7使用ならVRAM8MB、DX8ならVRAM32、とか。
あ、値は適当ですが。
2008/12/23(火) 20:12:05ID:NOdX60e0
お前「殺意を覚えるくらい馬鹿ですね」って言われたことない?
2008/12/23(火) 20:41:02ID:DrL02hk4
VRAMの大きさ(容量)を知る関数のようなもの、ありますか?
2008/12/24(水) 13:55:34ID:ir5LUNRv
>>76
DirectDrawなら
IDirectDraw::GetCaps( )で
http://msdn.microsoft.com/ja-jp/library/cc353808.aspx
dwVidMemTotal
ビデオ メモリの合計容量。
DirectDrawなら
IDirectDraw::GetCaps( )で
http://msdn.microsoft.com/ja-jp/library/cc353808.aspx
dwVidMemTotal
ビデオ メモリの合計容量。
7873
2008/12/26(金) 16:23:02ID:YwwBT0Kv >74
どうもサンクス。
トラウマ…なんとなくわかります。
どうもサンクス。
トラウマ…なんとなくわかります。
2008/12/31(水) 14:01:10ID:VvNRRwGl
Windowsのソリティアのように
コントロールをドラグ&ドロプ、リリスしたとき、
定位置に整列する(磁石に引きつけられるように)コードの
せめて考え方、ヒントを教えて頂けないでしょうか
コントロールをドラグ&ドロプ、リリスしたとき、
定位置に整列する(磁石に引きつけられるように)コードの
せめて考え方、ヒントを教えて頂けないでしょうか
2008/12/31(水) 14:11:55ID:Zi1V94lh
フレーム毎に目的の位置に近づけていくだけ
2008/12/31(水) 14:12:09ID:sicDYG8u
論理的思考を身につけるには、まず正しい日本語から。
2008/12/31(水) 14:25:51ID:M5esy22P
まずは自力で線分を引けるように。
線が引ければ途中のXY座標もわりだせるだろう。
線が引ければ途中のXY座標もわりだせるだろう。
2008/12/31(水) 14:42:28ID:Y1/xuelj
表示する座標 (x,y)
移動前の座標 (sx,sy)
移動後の座標 (ex,ey)
Aパターン
x+=((ex-sx)/m) ;
y+=((ey-sy)/m) ;
単純に終点へのベクトルを座標に足していく
mの値が大きければ遅く小さければ速く移動
x+=((ex-x)/m) ;
y+=((ey-y)/m) ;
とすると遠いときほど早く近いときほど遅くなり磁石っぽい
Bパターン
x=sx+(ex-sx)*m;
y=sy+(ey-sy)*m;
mを0から1.0へ増やす
mの値にsin(0)〜sin(π/2)を使うと磁石っぽい
Aとの違いは始点と終点の距離にかかわらず同じ時間で終点に到達する
移動前の座標 (sx,sy)
移動後の座標 (ex,ey)
Aパターン
x+=((ex-sx)/m) ;
y+=((ey-sy)/m) ;
単純に終点へのベクトルを座標に足していく
mの値が大きければ遅く小さければ速く移動
x+=((ex-x)/m) ;
y+=((ey-y)/m) ;
とすると遠いときほど早く近いときほど遅くなり磁石っぽい
Bパターン
x=sx+(ex-sx)*m;
y=sy+(ey-sy)*m;
mを0から1.0へ増やす
mの値にsin(0)〜sin(π/2)を使うと磁石っぽい
Aとの違いは始点と終点の距離にかかわらず同じ時間で終点に到達する
2008/12/31(水) 20:18:33ID:Zi1V94lh
>とすると遠いときほど早く近いときほど遅くなり磁石っぽい
磁石は距離が近くなるほど磁場が強くなるので、遠いほど遅く、近くなると速くなる。
つまり真逆。
磁石は距離が近くなるほど磁場が強くなるので、遠いほど遅く、近くなると速くなる。
つまり真逆。
2009/01/04(日) 15:53:08ID:PprE941C
DirectXとc++で2D格闘ゲームを作りたいと思うのですが、ソースってどこかにないですかね
参考にしたいのですが、ググり方が悪いのか出てきません
ソースの置いてある場所があったら教えて頂きたいのですが、ないですかね
参考にしたいのですが、ググり方が悪いのか出てきません
ソースの置いてある場所があったら教えて頂きたいのですが、ないですかね
2009/01/04(日) 17:35:22ID:VQhzW2V4
逆に君は自分の自作のソースを晒したいと思ってますかね
ぐぐってパクるだけで分け与えなければどこにもなくて当たり前じゃないですかね
馬鹿ですかね
ぐぐってパクるだけで分け与えなければどこにもなくて当たり前じゃないですかね
馬鹿ですかね
2009/01/05(月) 01:19:54ID:HsIAylDp
2009/01/06(火) 13:57:16ID:24x5pO5Z
いや、でもいいこと言っている
2009/01/06(火) 14:37:31ID:ZJKN10wA
子曰く
「どうすればいいのか、どうすればいいのか、と考え悩みぬいた者でなければ
私にもどうしようもない」
最初から他人をアテにしてるようじゃダメってことだな。
「どうすればいいのか、どうすればいいのか、と考え悩みぬいた者でなければ
私にもどうしようもない」
最初から他人をアテにしてるようじゃダメってことだな。
2009/01/06(火) 19:50:41ID:5KaPAE6Y
情弱ですか
2009/01/06(火) 21:55:02ID:3TYaYHJU
2009/01/06(火) 22:09:59ID:kH8rEgPB
2009/01/06(火) 22:15:01ID:NsliiIma
ジョイメカファイト・・・
2009/01/07(水) 08:43:07ID:tOeiWdUq
いっそ3D格ゲーにすりゃ、3Dアニメーションの基本をごっそり勉強できる
2009/01/07(水) 16:52:39ID:F0TH9wEI
PS3のリトルビッグプラネットのCGはDirectXでも表現出来るの?
2009/01/07(水) 17:03:09ID:DnzfbcT/
表示するだけならできるだろうけど
アレのすごい所って主に物理演算の部分だろ?
まったく別問題な希ガス
アレのすごい所って主に物理演算の部分だろ?
まったく別問題な希ガス
2009/01/07(水) 17:10:42ID:F0TH9wEI
物理演算はNVIDIAならphysxが使える
あの程度なら余裕なはず
あの程度なら余裕なはず
2009/01/07(水) 17:14:31ID:F0TH9wEI
で具体的にどうやればあんなクオリティのCGが作れるのか知りたい
プログラムは出来るけどCGに関してはまったくの素人なんで
プログラムは出来るけどCGに関してはまったくの素人なんで
2009/01/07(水) 19:51:09ID:ZchRr+VS
100名前は開発中のものです。
2009/01/08(木) 02:23:25ID:OwvAnpBE101名前は開発中のものです。
2009/01/08(木) 13:45:17ID:NsMjn5lD 多少はモデリングのことも勉強しとかんと
デザイナーと会話できないからな
デザイナーと会話できないからな
102名前は開発中のものです。
2009/01/09(金) 00:10:10ID:xgPo70G1 DirectXでって言ったでしょ
103名前は開発中のものです。
2009/01/09(金) 00:31:42ID:venL3ic3 >102
CG板で聞けば?CGの話なんだし
CG板で聞けば?CGの話なんだし
104名前は開発中のものです。
2009/01/09(金) 02:32:56ID:2uf5nwF0 >>102
つ>>96
表示だけならDirectXでもできるぞ。他の人間も指摘してるとおり
データ(モデル・モーション・マテリアル(まぁシェーダーも含むが))を用意できればの話だがな
動きについては物理シミュ用のライブラリ(bulletとかPhysX)でもひっぱってきたほうが楽だな
ただアレの爆発エフェクトを真似るためには簡易なCFDのコードが必要だが、ゲーム用のフリーの
ライブラリでそういう機能を提供してるものがあるのかどうかは知らん
なければ適当に2D格子用意して格子気体法とかCIP法の劣化版みたいなコードを組めばいい
どうせシミュったって何かを厳密に再現する必要はないし、支配方程式が導出できる必要も無い
それっぽい流れ場のアニメーションができればなんでもいい
>で具体的にどうやればあんなクオリティのCGが作れるのか知りたい
つ>>103
データを作る部分の話はCG板で聞いたほうがいいんじゃね
ティーポットとかトーラスとかシリンダに毛とか生やすだけでおkならD3DXでいけるけどな
つ>>96
表示だけならDirectXでもできるぞ。他の人間も指摘してるとおり
データ(モデル・モーション・マテリアル(まぁシェーダーも含むが))を用意できればの話だがな
動きについては物理シミュ用のライブラリ(bulletとかPhysX)でもひっぱってきたほうが楽だな
ただアレの爆発エフェクトを真似るためには簡易なCFDのコードが必要だが、ゲーム用のフリーの
ライブラリでそういう機能を提供してるものがあるのかどうかは知らん
なければ適当に2D格子用意して格子気体法とかCIP法の劣化版みたいなコードを組めばいい
どうせシミュったって何かを厳密に再現する必要はないし、支配方程式が導出できる必要も無い
それっぽい流れ場のアニメーションができればなんでもいい
>で具体的にどうやればあんなクオリティのCGが作れるのか知りたい
つ>>103
データを作る部分の話はCG板で聞いたほうがいいんじゃね
ティーポットとかトーラスとかシリンダに毛とか生やすだけでおkならD3DXでいけるけどな
105名前は開発中のものです。
2009/01/09(金) 03:03:09ID:xgPo70G1 いやだからリアルフォトマティックレイとレーシングでしょ?
モデルとかそういう問題なの?
ただの無地の球体でもレイトレーシングのアルゴリズムで全然違うでしょ
レイトレーシングの仕方なんて聞いてないんだよ
同じ効果をDirectXで高速に描画出来る方法があるのかって話をしてるの
モデルとかそういう問題なの?
ただの無地の球体でもレイトレーシングのアルゴリズムで全然違うでしょ
レイトレーシングの仕方なんて聞いてないんだよ
同じ効果をDirectXで高速に描画出来る方法があるのかって話をしてるの
106名前は開発中のものです。
2009/01/09(金) 03:06:00ID:xgPo70G1 あと物理演算の領域はこっちの分野だから君らに教わることはないよ
107名前は開発中のものです。
2009/01/09(金) 03:22:44ID:2uf5nwF0 >あと物理演算の領域はこっちの分野だから君らに教わることはないよ
おかしいな。分かるならCUDAとか使ってるだろうし
GLSLやHLSLでサクサクと俺シェーダー組めてもいいはずだが・・・
リアルタイムなCFDをやる場合って差分スキームはいつもナニ使ってるの?
後学のために教えてください
おかしいな。分かるならCUDAとか使ってるだろうし
GLSLやHLSLでサクサクと俺シェーダー組めてもいいはずだが・・・
リアルタイムなCFDをやる場合って差分スキームはいつもナニ使ってるの?
後学のために教えてください
108名前は開発中のものです。
2009/01/09(金) 08:06:03ID:xgPo70G1 CUDAとシェーダーは別次元の話だな
物理演算をリアルタイム処理する人しかこの世にいないと思ってんの?
物理演算をリアルタイム処理する人しかこの世にいないと思ってんの?
109名前は開発中のものです。
2009/01/09(金) 08:10:48ID:xgPo70G1 高速化技法をいくら語られても根幹のアルゴリズムが分からないって話をしてんの
シェーダー分かったらなんなんだ
超リアルなCGが書けるのか?書けないだろ?
シェーダー分かったらなんなんだ
超リアルなCGが書けるのか?書けないだろ?
110名前は開発中のものです。
2009/01/09(金) 08:22:52ID:xgPo70G1 リトルビックプラネットのCGはフォトリアルスティックレイトレーシングの結果のようなリアルな画像なの
PS3でもさすがにフルHDをレイトレーシングするような能力は無い
君の大好きなCUDAやGLSLを使ってもPCでは到底無理なの
PS3はDirectXベースに作られてるんだから当然同じことがPCでも出来るだろうと思ってるわけ
レイトレーシングはあり得ないのでどうやってんのかを知りたいの
物理演算とか誰も聞いてないから
PS3でもさすがにフルHDをレイトレーシングするような能力は無い
君の大好きなCUDAやGLSLを使ってもPCでは到底無理なの
PS3はDirectXベースに作られてるんだから当然同じことがPCでも出来るだろうと思ってるわけ
レイトレーシングはあり得ないのでどうやってんのかを知りたいの
物理演算とか誰も聞いてないから
111名前は開発中のものです。
2009/01/09(金) 08:49:59ID:9nYZuqdQ 自分で解答言ってないか?
112名前は開発中のものです。
2009/01/09(金) 12:20:56ID:FD9CF3VW なんでコイツ上目線で質問してんの?人格障害でもあんの?
113名前は開発中のものです。
2009/01/09(金) 13:18:37ID:i9tzRBGb114名前は開発中のものです。
2009/01/09(金) 18:15:29ID:xgPo70G1 明らかに知識が下の人が的外れな回答して偉ぶってるからw
115名前は開発中のものです。
2009/01/09(金) 20:40:58ID:GzTmK6ph つ鏡
116名前は開発中のものです。
2009/01/10(土) 03:00:31ID:1Stepbtb (;・∀・)
117名前は開発中のものです。
2009/01/10(土) 17:35:41ID:mQJ59Fn9 ほう、PS3がDirectXとな
で、リアルタイムレイトレーシングが無理だと判ってるなら
工夫して俺シェーダー積み上げるしかないのも判ってるんでしょ
リアルに見せるフェイク処理の引き出しを地道に増やすしかあるまいて
で、リアルタイムレイトレーシングが無理だと判ってるなら
工夫して俺シェーダー積み上げるしかないのも判ってるんでしょ
リアルに見せるフェイク処理の引き出しを地道に増やすしかあるまいて
118名前は開発中のものです。
2009/01/10(土) 20:43:58ID:BBJn1kSx PS3のグラフィックチップはGeForce7800ベースだそうだから、
ハード的にDirectXベースというのは間違いでもないよ。
LBPに関しては、何か特別なレンダリング技術を使ってるわけじゃなく、
単にアートディレクションと、質感の設定が秀逸なだけだと思うけど、
「この部分の質感が」とか「この部分のエフェクトが」とか、
具体的に言わないと誰もわかんないんでは?
ハード的にDirectXベースというのは間違いでもないよ。
LBPに関しては、何か特別なレンダリング技術を使ってるわけじゃなく、
単にアートディレクションと、質感の設定が秀逸なだけだと思うけど、
「この部分の質感が」とか「この部分のエフェクトが」とか、
具体的に言わないと誰もわかんないんでは?
119名前は開発中のものです。
2009/01/10(土) 21:37:42ID:VXNtlD0N >PS3のグラフィックチップはGeForce7800ベースだそうだから、
>ハード的にDirectXベースというのは間違いでもないよ。
間違いを認めず、こういう恥の上塗りをする奴って、
いったい何を考えて生きてるんだろう?
ハッキリ言うが間違い以外の何ものでもない。
>ハード的にDirectXベースというのは間違いでもないよ。
間違いを認めず、こういう恥の上塗りをする奴って、
いったい何を考えて生きてるんだろう?
ハッキリ言うが間違い以外の何ものでもない。
120名前は開発中のものです。
2009/01/10(土) 21:47:52ID:cb8O919u 同感。
121名前は開発中のものです。
2009/01/10(土) 21:59:30ID:6nsF3ORJ さあ詭弁のガイドラインでもみてみよう
122名前は開発中のものです。
2009/01/10(土) 22:06:42ID:t9/hm2L8 なんつうんだろう。
あまり人付き合いがなさそうな人に送る、座右の銘。
「土下座する、勇気」。
退く勇気は、がむしゃらに突撃する勇気よりも、大切なんだよ。
あまり人付き合いがなさそうな人に送る、座右の銘。
「土下座する、勇気」。
退く勇気は、がむしゃらに突撃する勇気よりも、大切なんだよ。
123名前は開発中のものです。
2009/01/10(土) 22:10:51ID:6nsF3ORJ てか、>>113が貼られてんだから少し落ち着けとw
124名前は開発中のものです。
2009/01/11(日) 20:03:10ID:X63+5W++ PS2はopenGLだったと思ったけど、PS3もOpenGLなん?
125名前は開発中のものです。
2009/01/11(日) 20:09:11ID:HfT5qRpC GLES1.0+RSX拡張
RSX叩くにはPSGLやlibgcmってライブラリを使う
シェーダ言語はCg
RSX叩くにはPSGLやlibgcmってライブラリを使う
シェーダ言語はCg
126名前は開発中のものです。
2009/01/12(月) 01:15:34ID:wGDVqFsB ググってみたのですが、見つからなかったので教えて下さい。
linuxについてるGlineというゲームを、
勉強がてら.netのC#で作ろうと思っているのですが、
できれば得点などのロジックをオリジナルに忠実に再現したいと思っています。
オリジナルのソースもしくは得点ロジックが出ているところってありますでしょうか。
linuxについてるGlineというゲームを、
勉強がてら.netのC#で作ろうと思っているのですが、
できれば得点などのロジックをオリジナルに忠実に再現したいと思っています。
オリジナルのソースもしくは得点ロジックが出ているところってありますでしょうか。
127名前は開発中のものです。
2009/01/12(月) 02:32:32ID:St/Xi0CE128名前は開発中のものです。
2009/01/12(月) 20:19:41ID:Ucs8+CZO129名前は開発中のものです。
2009/01/12(月) 20:52:24ID:XiJ3otEj130名前は開発中のものです。
2009/01/12(月) 21:16:19ID:bD3J7wUJ さすがにネタっぽいな
ファーレンハイトが懐かしいぜ
ファーレンハイトが懐かしいぜ
131名前は開発中のものです。
2009/01/12(月) 21:18:31ID:sqS0O25/ 家庭用ゲーム機は全部ファミコンで、携帯音楽プレイヤーは
全部ウォークマンですね。
全部ウォークマンですね。
132名前は開発中のものです。
2009/01/12(月) 21:34:42ID:tFvWI/5z まぁ、おれの中学時代のあだ名はウォーズマンだけどな。
133名前は開発中のものです。
2009/01/12(月) 21:40:02ID:17ZETQ9S はて・・・?
PS3の開発環境は既にDirectX対応してなかったけか、PhyreEngineで。
DirectXのAPIも実装済みで、OpenGLとDirectX、どちらでも好きな方を選べるとか。
PS3の開発環境は既にDirectX対応してなかったけか、PhyreEngineで。
DirectXのAPIも実装済みで、OpenGLとDirectX、どちらでも好きな方を選べるとか。
134名前は開発中のものです。
2009/01/12(月) 22:38:10ID:bD3J7wUJ 組み合わせの選択幅が広過ぎるってんで鳴り物入りで紹介された奴だな
ローレベルライブラリじゃなく、フレームワークにあたるエンジンだ
PC/XBOX版で下層エンジンにDirectXも選べるという構成のようだね
ローレベルライブラリじゃなく、フレームワークにあたるエンジンだ
PC/XBOX版で下層エンジンにDirectXも選べるという構成のようだね
135名前は開発中のものです。
2009/01/12(月) 22:59:42ID:r1loPmTT GKはどうしてもPS3にDirectXが入っててほしくないようだな
136名前は開発中のものです。
2009/01/13(火) 23:52:00ID:31cKUcOq フレーワークレベルでDirectXも選べるのと、ハードウェアの公式ライブラリでDirectXが動くのとは相当の違いがw
137名前は開発中のものです。
2009/01/13(火) 23:55:09ID:IjMcH/Ql そもそもPS3ではDirectXを選択すること自体不可能だから、違い云々以前の問題。
138名前は開発中のものです。
2009/01/13(火) 23:55:48ID:UVAnUSa6 しょうがないから俺も今日からDirectXで動くよ。
ああ、髪が表示されないのは、レンダリングが遅いだけだから。
ああ、髪が表示されないのは、レンダリングが遅いだけだから。
139名前は開発中のものです。
2009/01/14(水) 00:26:48ID:Xhrp9vz4 東京証券取引所はDirectX
大阪証券取引所はOpenGLで動いているという事実
大阪証券取引所はOpenGLで動いているという事実
140名前は開発中のものです。
2009/01/14(水) 09:51:30ID:ffiL9vPn 「WOLF RPGエディター」とは?
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・製作者はなんと「モノリスフィア」やツクール2000で「シルフェイド幻想譚」などを製作した
SmokingWOLF氏だよ。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
慣れた人や、RPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
一度サイトにお越しくださいませ。
・このツールで作ったゲームをサイトで紹介してるから、ダウンロードしてどういう
ゲームが作れるのか見てみてね。
2ちゃん本スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1229261856/l100
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・製作者はなんと「モノリスフィア」やツクール2000で「シルフェイド幻想譚」などを製作した
SmokingWOLF氏だよ。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
慣れた人や、RPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
一度サイトにお越しくださいませ。
・このツールで作ったゲームをサイトで紹介してるから、ダウンロードしてどういう
ゲームが作れるのか見てみてね。
2ちゃん本スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1229261856/l100
141名前は開発中のものです。
2009/01/16(金) 20:27:23ID:2P1JjUIA 半年ROMれ
142名前は開発中のものです。
2009/01/26(月) 11:18:31ID:fNy7USfU C + WinAPIでのオフスクリーンの使い方がわからんのだが。。。
HDC off,hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);//hWndは描画先のウィンドウはんどら
off = CreateCompatibleDC(hdc);
<offに対してBitBltやらなんたらかんたら>
BitBlt(hdc, -----, off, 0, 0, SRCCOPY);
EndPaint(hWnd, &ps);
でできると思ったのにうまくいかない。。
どこが悪いか指摘求む|・`)
HDC off,hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);//hWndは描画先のウィンドウはんどら
off = CreateCompatibleDC(hdc);
<offに対してBitBltやらなんたらかんたら>
BitBlt(hdc, -----, off, 0, 0, SRCCOPY);
EndPaint(hWnd, &ps);
でできると思ったのにうまくいかない。。
どこが悪いか指摘求む|・`)
143名前は開発中のものです。
2009/01/26(月) 11:23:21ID:jYriVdyp そのoffに対して適切な大きさのbitmapはSelectしてるか?
もししてないならば、1x1ドットのモノクロビットマップになってるんじゃないか。
もししてないならば、1x1ドットのモノクロビットマップになってるんじゃないか。
144142
2009/01/26(月) 14:32:33ID:fNy7USfU >>143
ありがとう。
BitBltとかする前にCreateCompatibleBitmap(hdc, X, Y)したHBITMAPを
offにSelectObjectしたらできた。
HBITMAPは使用後Deleteしないと危ないってことも身をもって理解した。
ありがとう。
BitBltとかする前にCreateCompatibleBitmap(hdc, X, Y)したHBITMAPを
offにSelectObjectしたらできた。
HBITMAPは使用後Deleteしないと危ないってことも身をもって理解した。
145名前は開発中のものです。
2009/01/26(月) 15:12:42ID:jYriVdyp WM_PAINTごとに作りっぱなしにしたのかw
大きさ変わらないなら、ウィンドウができた時に1つ作っておいて使いまわせる。
ウィンドウサイズが変わったら作り直して、ウィンドウ破棄の時に消す、とかね。
大きさ変わらないなら、ウィンドウができた時に1つ作っておいて使いまわせる。
ウィンドウサイズが変わったら作り直して、ウィンドウ破棄の時に消す、とかね。
146142
2009/01/27(火) 11:20:58ID:63/MDkS6 >>145
WM_PAINTは無効にして、好きなときに再描画するようにしてるんだが、、まぁいいか)
再描画する関数が呼ばれるたびに作ってDeleteしなかったな。
タスクマネージャー開くとメモリ使用量のグラフがぐーんとのびてた)
1つを再利用する案、使ってみます(`・ω・´)
WM_PAINTは無効にして、好きなときに再描画するようにしてるんだが、、まぁいいか)
再描画する関数が呼ばれるたびに作ってDeleteしなかったな。
タスクマネージャー開くとメモリ使用量のグラフがぐーんとのびてた)
1つを再利用する案、使ってみます(`・ω・´)
147名前は開発中のものです。
2009/01/27(火) 11:46:12ID:g6Z0rQ8m なんでWM_PAINTだと思ったか。
BeginPaintがあったからだよ〜ん
BeginPaintがあったからだよ〜ん
148名前は開発中のものです。
2009/02/06(金) 09:00:05ID:SU1u5PRJ えっと
複数のエンジンを搭載した宇宙船をエンジンの出力調整で移動させたいのですが
物理に不自由な人間なもんでまったくどうすればよいのやらこまっております
下の図の矢印のようにエンジンがついてると仮定して
←△→
□
←△□△→
↓
左上のエンジンと右下のエンジンの出力を上げると機体が回転するだろうなとはわかりますが
プログラムまでもってけないわけです
一応2Dでの運用を想定しております
複数の速度ベクトルを合成?するのかな
でも回転するとしたらどうすれば…
よくわかりません…orz
複数のエンジンを搭載した宇宙船をエンジンの出力調整で移動させたいのですが
物理に不自由な人間なもんでまったくどうすればよいのやらこまっております
下の図の矢印のようにエンジンがついてると仮定して
←△→
□
←△□△→
↓
左上のエンジンと右下のエンジンの出力を上げると機体が回転するだろうなとはわかりますが
プログラムまでもってけないわけです
一応2Dでの運用を想定しております
複数の速度ベクトルを合成?するのかな
でも回転するとしたらどうすれば…
よくわかりません…orz
149名前は開発中のものです。
2009/02/06(金) 09:32:08ID:IDvsYi6Y スラスターの再現をすることに何かこだわりがあるなら物理の教科書を読むんだ。
つ Amazon.co.jp: ファインマン物理学 (1): ファインマン: 本
http://www.amazon.co.jp/dp/4000077112
つ Amazon.co.jp: ファインマン物理学 (1): ファインマン: 本
http://www.amazon.co.jp/dp/4000077112
150名前は開発中のものです。
2009/02/06(金) 12:07:05ID:f9/yfsRC それぞれ回転する中心点の軸をずらして回転行列掛けりゃいいじゃん
151名前は開発中のものです。
2009/02/06(金) 14:12:04ID:2FMS0uiB こんなの嘘物理でよくね?
中心軸を1点にしておいて、そこを中心に
右上か左下に出力があるときは反時計まわり
左上か右下に出力があるときは時計まわり
移動はすべての出力のベクトルの和
これだけでそれっぽく動きそうな気ガス
中心軸を1点にしておいて、そこを中心に
右上か左下に出力があるときは反時計まわり
左上か右下に出力があるときは時計まわり
移動はすべての出力のベクトルの和
これだけでそれっぽく動きそうな気ガス
152名前は開発中のものです。
2009/02/06(金) 16:59:07ID:R0I8WLM/ 中心軸は上の出力で下にずらす
下の出力で上にずらす
両方の出力だと相殺されてずれない
でどう
下の出力で上にずらす
両方の出力だと相殺されてずれない
でどう
153名前は開発中のものです。
2009/02/06(金) 19:21:57ID:IDvsYi6Y お前らそうやってゲームにニセ物理組み込んでるんだな……。俺も俺も
154名前は開発中のものです。
2009/02/06(金) 22:01:45ID:aGsbwcTW 148じゃないけど
静止状態から真空無重力だと148の左上だけ出力した場合回転するんだっけ?w
静止状態から真空無重力だと148の左上だけ出力した場合回転するんだっけ?w
155名前は開発中のものです。
2009/02/06(金) 22:13:48ID:d5elOzBE だから、そういう物理を気にしだすと
操作が直感的じゃなくなってプレイヤーのストレスになりかねないから
嘘物理でいいんじゃねって話
操作が直感的じゃなくなってプレイヤーのストレスになりかねないから
嘘物理でいいんじゃねって話
156名前は開発中のものです。
2009/02/06(金) 22:52:53ID:aGsbwcTW157148
2009/02/06(金) 23:19:27ID:SU1u5PRJ158名前は開発中のものです。
2009/02/06(金) 23:48:02ID:T8ShVnXb >>157
それで合ってるよ。もっと正確に言えば、中心点ではなく重心。
あと、そこについてるのがロケットエンジンなら、普通は矢印は逆向きだな。
そこから真面目に回転速度を求めるには、「慣性モーメント」という知識が必要になる。
値は適当にでっちあげでいい。
それで合ってるよ。もっと正確に言えば、中心点ではなく重心。
あと、そこについてるのがロケットエンジンなら、普通は矢印は逆向きだな。
そこから真面目に回転速度を求めるには、「慣性モーメント」という知識が必要になる。
値は適当にでっちあげでいい。
159名前は開発中のものです。
2009/02/10(火) 15:41:10ID:eV8ZtmO6 .NETかMFCを勉強しようと思うのですが,
ゲーム開発だとどちらが役に立ちますか?
ゲーム開発だとどちらが役に立ちますか?
160名前は開発中のものです。
2009/02/10(火) 15:52:39ID:Xj3fFujS どっちも微妙
言語はC++のみ?
言語はC++のみ?
161159
2009/02/10(火) 16:05:56ID:eV8ZtmO6 >>160
微妙ですか;
どの言語で学びたいというのは,特に無いですが,
C++がコード書いてる量多いです.
VBは入門書通して読んだので簡単なアプリケーションなら作れる程度で,
C#はJavaに似てるから読めるってくらいで,書いたことはないです.
微妙ですか;
どの言語で学びたいというのは,特に無いですが,
C++がコード書いてる量多いです.
VBは入門書通して読んだので簡単なアプリケーションなら作れる程度で,
C#はJavaに似てるから読めるってくらいで,書いたことはないです.
162名前は開発中のものです。
2009/02/10(火) 16:12:06ID:Xj3fFujS C++やってるなら、.NETはC#前提で考えたほうがいいかも。
MFCでゲーム部分で役に立つところは少ないと思うよ。素でAPI呼ぶのとかわらない。
どっちもウィンドウ作ったりイベントハンドラ使ったりするところは楽できるけど
そういうのを生かすゲームを作るのかどうかってとこだね。
言語とライブラリやフレームワークで選んで、それが.NETやMFCを使ってたら
それも覚えるって感じでいいんじゃないかな。
MFCでゲーム部分で役に立つところは少ないと思うよ。素でAPI呼ぶのとかわらない。
どっちもウィンドウ作ったりイベントハンドラ使ったりするところは楽できるけど
そういうのを生かすゲームを作るのかどうかってとこだね。
言語とライブラリやフレームワークで選んで、それが.NETやMFCを使ってたら
それも覚えるって感じでいいんじゃないかな。
163159
2009/02/10(火) 18:33:00ID:eV8ZtmO6 了解しました.ゲーム開発で使うといっても,
深い部分の機能まで扱う訳じゃないんですね.
一冊買って読もうと思ってましたが,
Webで調べて動かしてみる程度にしようと思います.
ありがとうございました.
深い部分の機能まで扱う訳じゃないんですね.
一冊買って読もうと思ってましたが,
Webで調べて動かしてみる程度にしようと思います.
ありがとうございました.
164名前は開発中のものです。
2009/02/10(火) 21:26:47ID:jpQUb+L2165名前は開発中のものです。
2009/02/11(水) 12:06:33ID:4NJho4Vs166名前は開発中のものです。
2009/02/12(木) 20:13:23ID:GF7pXsC2 3Dゲームには垂直同期とか異方性フィルタといったフィルタ機能が多く存在しますが、
こういったものの具体的なアルゴリズムが書かれてある書籍を教えて下さい。
よろしくお願い致します。
こういったものの具体的なアルゴリズムが書かれてある書籍を教えて下さい。
よろしくお願い致します。
167名前は開発中のものです。
2009/02/12(木) 21:16:01ID:qYzhx+29 君の「アルゴリズム」の定義は、おそらく一般的なそれとは異なっている。
168名前は開発中のものです。
2009/02/13(金) 03:30:08ID:YfvPS2XS 異方性フィルタとか言い出す前に、
普通に素のモデルを画面に表示できるようになれって話だな。
普通に素のモデルを画面に表示できるようになれって話だな。
169名前は開発中のものです。
2009/02/13(金) 10:16:54ID:XaGVfN4Q170名前は開発中のものです。
2009/02/13(金) 14:18:20ID:n2spZu5F171名前は開発中のものです。
2009/02/14(土) 17:18:16ID:sx6BcV1l C++/DirectX でアクションゲームを作ってるのですが、色んなPCで同期をとるために経過時間を計測するのって、
一般的にどの関数使うんでしょうか?
あと、昔、DOSで作ってたころはVシンク割り込みでどうたらこうたら、ってやってたきがするんだけど、
これって今の液晶画面で計測できるもんなんでしょうか?
一般的にどの関数使うんでしょうか?
あと、昔、DOSで作ってたころはVシンク割り込みでどうたらこうたら、ってやってたきがするんだけど、
これって今の液晶画面で計測できるもんなんでしょうか?
172名前は開発中のものです。
2009/02/14(土) 17:43:59ID:9hSEub+0 時間の計測は QueryPerformanceCounter とか。
Windowsでは垂直同期の周期は環境によって全然違うので、
基本的には垂直同期に依存しないように作る。
Windowsでは垂直同期の周期は環境によって全然違うので、
基本的には垂直同期に依存しないように作る。
173名前は開発中のものです。
2009/02/15(日) 00:36:23ID:FJmkH997174名前は開発中のものです。
2009/02/15(日) 00:41:57ID:brCH5Anb175名前は開発中のものです。
2009/02/15(日) 19:09:59ID:MYSF9VWq 垂直同期は
D3DRASTER_STATUS rs;
do{
pd3dDevice->GetRasterStatus(0, &rs);
・・・
}while(!rs.InVBlank);
とかやるといいらしい。
ループ内でスリープ入れないとCPU使用率が100%になっちゃうかな?
D3DRASTER_STATUS rs;
do{
pd3dDevice->GetRasterStatus(0, &rs);
・・・
}while(!rs.InVBlank);
とかやるといいらしい。
ループ内でスリープ入れないとCPU使用率が100%になっちゃうかな?
176名前は開発中のものです。
2009/02/15(日) 21:23:34ID:A1rRuMYU メモ代わり。
MessageBoxがなぜか表示されない。グーグル先生曰く
WM_PAINTでBeginPaintとEndPaint処理をしてないからだと。
言われたとおりにしたら見事に解決した。
描画処理を別スレッドでやっててもWM_PAINTの処理は必要らしい。
windowsの中の人はよく分からんなぁ。
MessageBoxがなぜか表示されない。グーグル先生曰く
WM_PAINTでBeginPaintとEndPaint処理をしてないからだと。
言われたとおりにしたら見事に解決した。
描画処理を別スレッドでやっててもWM_PAINTの処理は必要らしい。
windowsの中の人はよく分からんなぁ。
177名前は開発中のものです。
2009/02/16(月) 00:29:54ID:7z4LXD+E WM_PAINTはDefWindowProcに流せば、中でBeginPaint/EndPaintを呼んでくれるはずだが。
178名前は開発中のものです。
2009/02/16(月) 08:35:55ID:bKMsn7yg そこら辺はカスタムウインドウだかしない限りは自動で出来るはずだから、参考書でも眺めたら?と3年ほどプログラミングしてない学生が入ってみる
179名前は開発中のものです。
2009/02/16(月) 11:54:02ID:0xRjldBE BeginPaint呼ばないと無効領域のクリアができないからだよ
クリアできないといつまでたってもWM_PAINT送り続けられる。
ValidateRectで消してしまうのも手だが。
クリアできないといつまでたってもWM_PAINT送り続けられる。
ValidateRectで消してしまうのも手だが。
181名前は開発中のものです。
2009/02/22(日) 10:56:36ID:JmJl5yfs オンラインで10×10マスのビンゴゲームをイメージして下さい。
参加者は、月1回オンラインで100個の数字を記入したシートをUPし、
毎日5個の数の発表を待ちます。
こんな感じのプログラムを創って貰うとき、何に注意して、どこに商談すればいいですか?
お願いします。
参加者は、月1回オンラインで100個の数字を記入したシートをUPし、
毎日5個の数の発表を待ちます。
こんな感じのプログラムを創って貰うとき、何に注意して、どこに商談すればいいですか?
お願いします。
182名前は開発中のものです。
2009/02/22(日) 13:07:55ID:9a/tyRQO なんだかすごい釣り針が…
183名前は開発中のものです。
2009/02/22(日) 15:53:56ID:uv0okrQ5184名前は開発中のものです。
2009/02/22(日) 17:14:10ID:9a/tyRQO185名前は開発中のものです。
2009/02/25(水) 15:43:56ID:W/hwiF8T 仕様書をまとめたほうがいい
技術的には低の低
技術的には低の低
186名前は開発中のものです。
2009/02/26(木) 04:43:10ID:EST0UxDP187名前は開発中のものです。
2009/03/25(水) 20:42:40ID:iHO/uHhQ ウィンドウを表示するプログラムを作っているのですがウィンドウが表示されず、
visual C++の挙動が変になります。(ずっと プログラム名(実行中)と表示され画面の配置も変になる)
どうすればよいのでしょうか?
コードは以下に晒します
#include <windows.h>
#define APP_NAME TEXT("Sample_MainWindow")
/* ウィンドウプロシージャ */
LRESULT CALLBACK WindowProc(
HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
){
switch(uMsg){
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
つづく
visual C++の挙動が変になります。(ずっと プログラム名(実行中)と表示され画面の配置も変になる)
どうすればよいのでしょうか?
コードは以下に晒します
#include <windows.h>
#define APP_NAME TEXT("Sample_MainWindow")
/* ウィンドウプロシージャ */
LRESULT CALLBACK WindowProc(
HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
){
switch(uMsg){
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
つづく
188つづき
2009/03/25(水) 20:43:23ID:iHO/uHhQ int WINAPI WinMain(
HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR lpCmdLine, int nCmdShow
){
HWND hWnd;
WNDCLASS wc;
MSG msg;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_BACKGROUND + 1;
wc.lpszMenuName = NULL;
wc.lpszClassName = APP_NAME;
hWnd = CreateWindow(
APP_NAME, TEXT("Window Title"),
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
100, 100, 400, 300,
NULL, NULL, hInstance, NULL);
/* メッセージループ */
while(GetMessage(&msg, NULL, 0, 0) > 0){
DispatchMessage(&msg);
}
return msg.wParam;
}
HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR lpCmdLine, int nCmdShow
){
HWND hWnd;
WNDCLASS wc;
MSG msg;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_BACKGROUND + 1;
wc.lpszMenuName = NULL;
wc.lpszClassName = APP_NAME;
hWnd = CreateWindow(
APP_NAME, TEXT("Window Title"),
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
100, 100, 400, 300,
NULL, NULL, hInstance, NULL);
/* メッセージループ */
while(GetMessage(&msg, NULL, 0, 0) > 0){
DispatchMessage(&msg);
}
return msg.wParam;
}
189名前は開発中のものです。
2009/03/25(水) 20:58:00ID:cPG1Bp4Z showwindowが抜けてる、かも
190名前は開発中のものです。
2009/03/26(木) 03:35:13ID:Q1jkMb06 WS_VISIBLEがあるからShowWindowは必要ないかな
WNDCLASS構造体に値を設定しただけでRegisterClassで登録してないのが原因だと思う
WNDCLASS構造体に値を設定しただけでRegisterClassで登録してないのが原因だと思う
191名前は開発中のものです。
2009/03/26(木) 10:22:58ID:uoZMP3+M192名前は開発中のものです。
2009/04/05(日) 21:54:31ID:Ul2Xl6r0 あんまりWindowsと関係無いのですが、C++でのメモリ確保方法について質問です。
ゲームでnewとdelを繰り返し使いまくると、やってられないから、
存在フラグを持って制御するように。
と、どこかで見た覚えがあります。
それならば、もうnewでメモリを動的確保ぜずに、
普通に静的宣言でいいのではないかと思ったのですが、
動的確保のメリットって何なのでしょうか?
私は仕事がハード畑一色の人なので、頭が固いです。
どなたか教えてくださいorz
ゲームでnewとdelを繰り返し使いまくると、やってられないから、
存在フラグを持って制御するように。
と、どこかで見た覚えがあります。
それならば、もうnewでメモリを動的確保ぜずに、
普通に静的宣言でいいのではないかと思ったのですが、
動的確保のメリットって何なのでしょうか?
私は仕事がハード畑一色の人なので、頭が固いです。
どなたか教えてくださいorz
193名前は開発中のものです。
2009/04/05(日) 22:34:27ID:V3UuquCs ×ハード畑なので、頭が固い
○高卒なので、頭が悪い
○高卒なので、頭が悪い
194名前は開発中のものです。
2009/04/05(日) 22:38:51ID:bmURRfR1 >>192
例えばメモ帳を作るとき、読み込んだデータの長さは分からない。
こういうとき静的な確保だと、何メガバイト確保すればいいのかわからないし、
もし確保した量よりデータが大きければ扱えないし、小さければ、無駄になる
そこで、new/malocなどで動的に確保してやれば、必要な分だけ確保できる。
例えばメモ帳を作るとき、読み込んだデータの長さは分からない。
こういうとき静的な確保だと、何メガバイト確保すればいいのかわからないし、
もし確保した量よりデータが大きければ扱えないし、小さければ、無駄になる
そこで、new/malocなどで動的に確保してやれば、必要な分だけ確保できる。
195名前は開発中のものです。
2009/04/05(日) 22:48:17ID:8bGUAz8h196名前は開発中のものです。
2009/04/06(月) 20:32:34ID:wZso2H2m197名前は開発中のものです。
2009/04/10(金) 05:55:47ID:q4HGwHB4 ゲームプログラミングの経験はあまりないのですが、
3DのMOを開発しようと思っています。
そこで開発環境についてお聞きしたいのですが、
簡単に調べて以下のようなものがあるのが分かりました。
・XNA
・Unrealなどのゲームエンジン
XNAはXbox360対応を無視して単にPC向け開発環境として見た場合、良い選択肢でしょうか?
またそういう用途で広く使われているのでしょうか?
Unrealなどのゲームエンジンは、やはりXNAに比べるとすばやく開発出来るのでしょうか?
どの程度自由度が制限されますか?
分かる方よろしくお願いします。
3DのMOを開発しようと思っています。
そこで開発環境についてお聞きしたいのですが、
簡単に調べて以下のようなものがあるのが分かりました。
・XNA
・Unrealなどのゲームエンジン
XNAはXbox360対応を無視して単にPC向け開発環境として見た場合、良い選択肢でしょうか?
またそういう用途で広く使われているのでしょうか?
Unrealなどのゲームエンジンは、やはりXNAに比べるとすばやく開発出来るのでしょうか?
どの程度自由度が制限されますか?
分かる方よろしくお願いします。
198名前は開発中のものです。
2009/04/10(金) 06:01:34ID:q4HGwHB4 あと、フリーのゲームエンジンでメジャーなものがあれば教えてください。
199名前は開発中のものです。
2009/04/10(金) 07:56:06ID:xaOVHUcG RPGツクールでも使っとけ。
求めてるのはそういうお手軽にゲームつくれるツールだろ?
求めてるのはそういうお手軽にゲームつくれるツールだろ?
200名前は開発中のものです。
2009/04/10(金) 08:01:59ID:q4HGwHB4 そんなものを求めているとは一言も書いていません。
プログラミングの知識としては、OSアーキテクチャからアプリ・サーバ・WEB開発までいけます。
メジャーな開発環境はなんなのか、どんなものがあるのか
そういったトレンドを知りたいと思っています。
プログラミングの知識としては、OSアーキテクチャからアプリ・サーバ・WEB開発までいけます。
メジャーな開発環境はなんなのか、どんなものがあるのか
そういったトレンドを知りたいと思っています。
201名前は開発中のものです。
2009/04/10(金) 08:44:23ID:3LDySn8E 生意気だから教えてあげないぷー
202名前は開発中のものです。
2009/04/10(金) 10:02:25ID:o/eQJnMQ 俺ならXNA以外のエンジンを進める。XNAの欠点にXBOX用コントローラーしか
利用できない。XNA用のランタイムがほとんどのPCには入っていないので、
利用者に別途インストールをお願いしなければならない。XBOXゲーム機では
なんら問題ではないが。PCでは使いたくない欠点だ。
利用できない。XNA用のランタイムがほとんどのPCには入っていないので、
利用者に別途インストールをお願いしなければならない。XBOXゲーム機では
なんら問題ではないが。PCでは使いたくない欠点だ。
203名前は開発中のものです。
2009/04/10(金) 19:34:54ID:ESPzFswh Ogreでも使ってろよクズが
204名前は開発中のものです。
2009/04/10(金) 19:48:05ID:WdqvyJ6f >>197
Windowsの3Dゲーム開発で何が主流か?といわれたら、主流はない。
あえていうなら、DirectX。
XNAはありえない。
Ogreとかもないな。
UnrealやHalflifeのMODみたいな感じでゲーム開発使うのは海外では流行っているし、
情報あるから(ただし英語)いいかもしれない。
敷居も低い。
ただ、ゲーム開発の主流ではないと思うが。
Windowsの3Dゲーム開発で何が主流か?といわれたら、主流はない。
あえていうなら、DirectX。
XNAはありえない。
Ogreとかもないな。
UnrealやHalflifeのMODみたいな感じでゲーム開発使うのは海外では流行っているし、
情報あるから(ただし英語)いいかもしれない。
敷居も低い。
ただ、ゲーム開発の主流ではないと思うが。
205名前は開発中のものです。
2009/04/10(金) 19:48:54ID:WdqvyJ6f > 敷居も低い。
1から3Dエンジンを作るよりも、って話ね。
1から3Dエンジンを作るよりも、って話ね。
206名前は開発中のものです。
2009/04/12(日) 10:37:36ID:O+0G4WiN 別にPC前提ならXNAでもXBOXコントローラー以外も使えるけどな。
C#でやりたいというわけでもないなら、XNAじゃないほうがいいだろうな。
C#でやりたいというわけでもないなら、XNAじゃないほうがいいだろうな。
207197
2009/04/12(日) 11:22:43ID:2pX9j9Yn208名前は開発中のものです。
2009/04/12(日) 17:48:24ID:uJhs7hdp まて、XNAはフレームワークだろうけど、エンジンというほどじゃない気がw
OgreってのPython バインデイングもあるのね…。
せっかくだから、Panda 3DってのもPython+3Dエンジンだぜ
C#に拒否反応ないなら、(デプロイにユーザー開発者双方で手間かけてもいいなら)
Pythonとかでもいいよな。
OgreってのPython バインデイングもあるのね…。
せっかくだから、Panda 3DってのもPython+3Dエンジンだぜ
C#に拒否反応ないなら、(デプロイにユーザー開発者双方で手間かけてもいいなら)
Pythonとかでもいいよな。
209名前は開発中のものです。
2009/04/12(日) 22:03:27ID:vkgd6Htu 質問です。2Dのゲームの場合絵を描くことについてですが
gifじゃないといけない理由ってありますか?
gifだと256色しかないんで別の拡張子で素材作りたいのですが。
pngとかjpgとかgifとか拡張子ありますがgif以外でもつくれるならば
別の拡張子で綺麗な絵柄で作りたいと思っています。
可能ならばメリットとデメリットってありますか?
gifじゃないといけない理由ってありますか?
gifだと256色しかないんで別の拡張子で素材作りたいのですが。
pngとかjpgとかgifとか拡張子ありますがgif以外でもつくれるならば
別の拡張子で綺麗な絵柄で作りたいと思っています。
可能ならばメリットとデメリットってありますか?
210名前は開発中のものです。
2009/04/12(日) 22:28:24ID:LCOFWzsh プログラム的な話で言えば別に色情報さえ読み取れるなら
どの形式だろうが或いは独自形式であっても問題ない
しかし、なにかのツクール系みたいなツールで作っていて
対応フォーマットがgifにしか対応してないっていうなら従うしかないんじゃない?
むしろgifのほうがライセンスの問題で使うべきではないんだが
DirectXであればbmp、png、jpg、tga、dds、あたりが標準で読める
どの形式だろうが或いは独自形式であっても問題ない
しかし、なにかのツクール系みたいなツールで作っていて
対応フォーマットがgifにしか対応してないっていうなら従うしかないんじゃない?
むしろgifのほうがライセンスの問題で使うべきではないんだが
DirectXであればbmp、png、jpg、tga、dds、あたりが標準で読める
211名前は開発中のものです。
2009/04/12(日) 22:44:13ID:ZQ7DXobT DirectX != D3DX
212名前は開発中のものです。
2009/04/12(日) 22:45:13ID:vkgd6Htu >>210
ありがとうございます、ツクール系ではなく普通に本勝って付録でついてる
サンプルプログラムを改造してゲーム作る予定です。
で、素材の絵を描いていたのですがドット打ちできないんで普通にフォトショップで
描いていたのですが不安になったんで質問させてもらいました。
アクションゲームを作ろうと思うのですがキャラクターのモーションとかも
pngやjpgでいけますか?gifアニメみたいにアニメーションにはできないと
聞いたのですが
ありがとうございます、ツクール系ではなく普通に本勝って付録でついてる
サンプルプログラムを改造してゲーム作る予定です。
で、素材の絵を描いていたのですがドット打ちできないんで普通にフォトショップで
描いていたのですが不安になったんで質問させてもらいました。
アクションゲームを作ろうと思うのですがキャラクターのモーションとかも
pngやjpgでいけますか?gifアニメみたいにアニメーションにはできないと
聞いたのですが
213名前は開発中のものです。
2009/04/12(日) 23:35:32ID:LCOFWzsh >>212
そもそもアニメーション情報を含めることのできる画像フォーマットを使ったとしても
ゲーム上でアニメーションさせるにはそのための機能を自分で実装しなくてはいけません
gifアニメーションで作ったとしても勝手に再生してくれるわけではないのですよ
一般的な方法でいうと
1枚の画像にアニメーションのパターンを全て含めて
画像のどの部分をどのタイミングで表示するのかを
プログラム側から指定してやることでアニメーションをさせます
プリーのツールでそういったアニメーションデータを作成してくれるものもありますが
それはあくまで画像の区切りやタイムテーブルのデータの作成を簡易にしてくれるものであって
それらを読み取ってアニメーションをさせる部分は自分で実装する必要があるのです
そもそもアニメーション情報を含めることのできる画像フォーマットを使ったとしても
ゲーム上でアニメーションさせるにはそのための機能を自分で実装しなくてはいけません
gifアニメーションで作ったとしても勝手に再生してくれるわけではないのですよ
一般的な方法でいうと
1枚の画像にアニメーションのパターンを全て含めて
画像のどの部分をどのタイミングで表示するのかを
プログラム側から指定してやることでアニメーションをさせます
プリーのツールでそういったアニメーションデータを作成してくれるものもありますが
それはあくまで画像の区切りやタイムテーブルのデータの作成を簡易にしてくれるものであって
それらを読み取ってアニメーションをさせる部分は自分で実装する必要があるのです
214名前は開発中のものです。
2009/04/12(日) 23:43:13ID:vkgd6Htu >>213
ありがとうございます、それに関してはなんとなくわかります。(アニメーションは自分で実装)
でも描いてるうちに参考の画像見ると全部gifなんでgifじゃないといけない理由が
あるのかなあと気になっていたのです。
自分ドット打ちはできなかったんで・・・
ありがとうございます、それに関してはなんとなくわかります。(アニメーションは自分で実装)
でも描いてるうちに参考の画像見ると全部gifなんでgifじゃないといけない理由が
あるのかなあと気になっていたのです。
自分ドット打ちはできなかったんで・・・
215名前は開発中のものです。
2009/04/13(月) 00:03:20ID:qsxqoxw3 gifでないといけない理由はなにもない
単純にインデックスカラー対応で圧縮されてて
ファイルサイズが小さいからとかそんな理由と思われる
まさか、web上の素材サイトを参考にしてそう言ってるわけじゃないよね?
単純にインデックスカラー対応で圧縮されてて
ファイルサイズが小さいからとかそんな理由と思われる
まさか、web上の素材サイトを参考にしてそう言ってるわけじゃないよね?
216名前は開発中のものです。
2009/04/13(月) 00:19:55ID:bYodFX/G217名前は開発中のものです。
2009/04/13(月) 05:22:32ID:DrRdSLAX 時代背景もあるんじゃないのか?
10年くらい前は256以下なら、pngよかgifくらいな時代だったはずだし(まあ、同時にgifライセンスうぜーって時期でもあったが)
俺はよくわからんので。
mugen詳しい人よろ
10年くらい前は256以下なら、pngよかgifくらいな時代だったはずだし(まあ、同時にgifライセンスうぜーって時期でもあったが)
俺はよくわからんので。
mugen詳しい人よろ
218名前は開発中のものです。
2009/04/13(月) 07:03:54ID:kKYIuKnL おれは盲目的にbmpとpng(^-^;
さて
>サンプルプログラムを改造してゲーム作る予定です。
一応PGなら改造って言葉は使わずあくまで「参考にして」ってしとけ
たぶんそんな機会は訪れないと思うが足元すくわれるぞ
さて
>サンプルプログラムを改造してゲーム作る予定です。
一応PGなら改造って言葉は使わずあくまで「参考にして」ってしとけ
たぶんそんな機会は訪れないと思うが足元すくわれるぞ
219名前は開発中のものです。
2009/04/13(月) 08:23:11ID:GN8f0M0n どうせ出来ないんだからいいんじゃないの
220名前は開発中のものです。
2009/04/13(月) 15:20:22ID:yYZDsjyV それを言っちゃあおしめえよ
221名前は開発中のものです。
2009/04/30(木) 14:07:29ID:XSOMXuai XNAでインベーダーゲームを作ってるんだけど
敵キャラを下にゆっくり移動させるのにはどうしたらいいんだ?
ちなみに右に行って下
左にいってしたってかんじ
敵キャラを下にゆっくり移動させるのにはどうしたらいいんだ?
ちなみに右に行って下
左にいってしたってかんじ
222名前は開発中のものです。
2009/04/30(木) 16:14:51ID:Szb967NA if (mode == 右に動かす)
{
(敵を右に動かす処理)
if (一定量右に行ったか) mode = 下に動かす;
}
else if (mode == 下に動かす)
{
(敵を下に動かす処理)
if (一定量下に行ったか) mode = 左に動かす;
}
else if (mode == 左に動かす)
{
(敵を左に動かす処理)
if (一定量左に行ったか) mode = 下に動かすpart2;
}
else if (mode == 下に動かすpart2) // ←これは else でもいい
{
(敵を下に動かす処理)
if (一定量下に行ったか) mode = 右に動かす;
}
これじゃあかんの?
{
(敵を右に動かす処理)
if (一定量右に行ったか) mode = 下に動かす;
}
else if (mode == 下に動かす)
{
(敵を下に動かす処理)
if (一定量下に行ったか) mode = 左に動かす;
}
else if (mode == 左に動かす)
{
(敵を左に動かす処理)
if (一定量左に行ったか) mode = 下に動かすpart2;
}
else if (mode == 下に動かすpart2) // ←これは else でもいい
{
(敵を下に動かす処理)
if (一定量下に行ったか) mode = 右に動かす;
}
これじゃあかんの?
223名前は開発中のものです。
2009/04/30(木) 17:45:01ID:6x5SV4ES Dictionaryを使えと何度いえb(ry
224名前は開発中のものです。
2009/05/02(土) 11:18:09ID:1icd8u4m 指定RECTの領域を別RECT(複数)を見てその領域を除いた
複数のRECTに分割したいんだけど複雑すぎてどうすればいいのか
たとえば、指定が{0,0,100,100}で見るのが{21,21,79,79}だけなら
分割後は{0,0,100,20}{0,21,20,79}{80,21,100,79}{0,80,100,100}
の4つになるみたいにしたいんだけど、うーん
複数のRECTに分割したいんだけど複雑すぎてどうすればいいのか
たとえば、指定が{0,0,100,100}で見るのが{21,21,79,79}だけなら
分割後は{0,0,100,20}{0,21,20,79}{80,21,100,79}{0,80,100,100}
の4つになるみたいにしたいんだけど、うーん
225名前は開発中のものです。
2009/05/02(土) 11:44:19ID:3Ey8sJwq 分割するという発想じゃなくて
「指定のRECTを含まないRECTを一つ除外する」という処理を
再帰的に指定のRECTと同じサイズになるまで繰り返せばいいんじゃね?
「指定のRECTを含まないRECTを一つ除外する」という処理を
再帰的に指定のRECTと同じサイズになるまで繰り返せばいいんじゃね?
226名前は開発中のものです。
2009/05/02(土) 12:21:12ID:hJ68J4gV 面白い問題だと思ったが、メンヘラが出てきてしまった。
こういう奴は自分のネタ書き込みが実装できなくても、
他人のアイデアに延々ケチを付け続けるので、書き込むのが既にウザイ
こういう奴は自分のネタ書き込みが実装できなくても、
他人のアイデアに延々ケチを付け続けるので、書き込むのが既にウザイ
227名前は開発中のものです。
2009/05/02(土) 12:28:05ID:1icd8u4m なんだかよくわからない人がいますが
>>225さんありがとう、何とかなりそうです
>>225さんありがとう、何とかなりそうです
228名前は開発中のものです。
2009/05/02(土) 13:38:05ID:3Ey8sJwq ですよねー
実装もできないひとにアイデアだけ出されてもムカッとしますよね
すでに質問主さんも解決されてるようですが
念の為、簡単なソースを上げておきますね
http://www5b.biglobe.ne.jp/~mya_a/DirectX/main.html
実装もできないひとにアイデアだけ出されてもムカッとしますよね
すでに質問主さんも解決されてるようですが
念の為、簡単なソースを上げておきますね
http://www5b.biglobe.ne.jp/~mya_a/DirectX/main.html
229名前は開発中のものです。
2009/05/02(土) 14:23:04ID:n7KvWJCZ すげー 前提無視すればお前の妄想でも
コード書けるだろうよw
本物のキチガイ歪みねーな
コード書けるだろうよw
本物のキチガイ歪みねーな
230名前は開発中のものです。
2009/05/02(土) 15:17:44ID:AaWksVDK >224
指定RECTを複数RECTの座標軸で分断する
(例題の組なら9つに別れる)
分断されたそれぞれのRECTと複数RECTを判定して取り除く
残ったRECT同士で辺の共有を調べ、長さが揃えば結合する
こんな感じでどうよ
指定RECTを複数RECTの座標軸で分断する
(例題の組なら9つに別れる)
分断されたそれぞれのRECTと複数RECTを判定して取り除く
残ったRECT同士で辺の共有を調べ、長さが揃えば結合する
こんな感じでどうよ
231名前は開発中のものです。
2009/05/02(土) 15:58:10ID:1icd8u4m232名前は開発中のものです。
2009/05/03(日) 01:41:43ID:DXIo6YRI スルースキルの高さに感心した
233名前は開発中のものです。
2009/05/03(日) 22:48:03ID:MdPMSTHC 考えられる最小構成でウインドウ作って画面描画とかは何もしないプログラムで
フレームレートを調べたらSleep(0)で2000前後、Sleep(1)で500前後でした
スペックは CoreDuo1.6Ghz GeForce7400go です
こんなもんでしょうか?
もっと凄まじい数値がでるかとwktkしていたのですが…
そして実際に2Dや3D描画をしてしまうと50以下の数値になってしまいます。
フレームスキップ無しではこんな程度なのでしょうか?
フレームレートを調べたらSleep(0)で2000前後、Sleep(1)で500前後でした
スペックは CoreDuo1.6Ghz GeForce7400go です
こんなもんでしょうか?
もっと凄まじい数値がでるかとwktkしていたのですが…
そして実際に2Dや3D描画をしてしまうと50以下の数値になってしまいます。
フレームスキップ無しではこんな程度なのでしょうか?
234名前は開発中のものです。
2009/05/03(日) 23:54:24ID:fxWPMoUR みた感じノートのスペックだしそんなものでは?
235名前は開発中のものです。
2009/05/03(日) 23:56:09ID:Xp9/OEVA はーどうぇああくせられーしょんできてないんじゃ
236名前は開発中のものです。
2009/05/04(月) 00:10:43ID:y/3FOMzs237名前は開発中のものです。
2009/05/04(月) 00:12:46ID:SSrJcNUp ちっぷせっとどらいばをさいしんにしてみるとか
238名前は開発中のものです。
2009/05/04(月) 00:57:21ID:zCXNz15P 最近のモバイル版ゲフォには省電機能っぽい何かが無かったっけ
239名前は開発中のものです。
2009/05/04(月) 06:49:48ID:ivjAH+EW >>そして実際に2Dや3D描画をしてしまうと50以下の数値になってしまいます。
どれくらいの量の描画だか分からないけど、常駐ソフトを数本起動してる気がしる。
CoreDuo1.6Ghz GeForce7400goでちょっと描画したら60切るとか普通ないでしょう。
どれくらいの量の描画だか分からないけど、常駐ソフトを数本起動してる気がしる。
CoreDuo1.6Ghz GeForce7400goでちょっと描画したら60切るとか普通ないでしょう。
240名前は開発中のものです。
2009/05/04(月) 11:13:52ID:g3YbI5fi 電源プランを省電力とかにしてるとガツンと速度落ちたりするし
そもそもモバイル用GeFoってnVidiaとかPCショップが謳ってるほど性能高くないよ
メモリがDDR2だったりすることもあるしバス幅も64とか32とか
7400GoだったらCPUパワーでカバーできるFFベンチならある程度のスコア出せるけど
純粋にGPUパワーを図る3DMarkなら
ハイエンドノートの1/10とかデスクトップに比べたら1/15程度のスコアしか出ない
市販のソフトでもちょっとオブジェクトが増えたらすぐカクカクする
そもそもモバイル用GeFoってnVidiaとかPCショップが謳ってるほど性能高くないよ
メモリがDDR2だったりすることもあるしバス幅も64とか32とか
7400GoだったらCPUパワーでカバーできるFFベンチならある程度のスコア出せるけど
純粋にGPUパワーを図る3DMarkなら
ハイエンドノートの1/10とかデスクトップに比べたら1/15程度のスコアしか出ない
市販のソフトでもちょっとオブジェクトが増えたらすぐカクカクする
241名前は開発中のものです。
2009/05/04(月) 13:51:13ID:+gA/YHQh [test]test
242名前は開発中のものです。
2009/05/04(月) 13:54:28ID:st/gePPw やってみたやつを公開してスレの暇人にも試してもらえばいいじゃない
243名前は開発中のものです。
2009/05/04(月) 14:16:05ID:kjiUunSo >>233
うちは、Core2DuoT7200no2GHz & GeForce7400goだが、
OpenGLでテクスチャ付ポリゴンを500枚くらい描画しても、
Sleep(0)で1000FPS超えるぞ。
60FPSに固定した場合は、一秒間に990msくらいはSleepしてられるよ。
うちは、Core2DuoT7200no2GHz & GeForce7400goだが、
OpenGLでテクスチャ付ポリゴンを500枚くらい描画しても、
Sleep(0)で1000FPS超えるぞ。
60FPSに固定した場合は、一秒間に990msくらいはSleepしてられるよ。
244名前は開発中のものです。
2009/05/04(月) 17:48:30ID:NkdQPUap CPUの拡張命令とかGPUの制御言語使えばよくね
もちろんハードの制約を意識しなければいけないが
もちろんハードの制約を意識しなければいけないが
245233
2009/05/04(月) 20:31:34ID:VkgPC6sB http://down11.ddo.jp/uploader/download/1241436560.zip/attatch
こちらが実行ファイルとそのソースファイルです
みなさんのPCでの数値とかも知りたいです
こちらが実行ファイルとそのソースファイルです
みなさんのPCでの数値とかも知りたいです
246233
2009/05/04(月) 20:32:46ID:VkgPC6sB パスワードは fps です
247名前は開発中のものです。
2009/05/04(月) 20:48:30ID:+gA/YHQh 3D描画は
248名前は開発中のものです。
2009/05/04(月) 21:03:12ID:/bA/nhvO249233
2009/05/04(月) 21:28:13ID:VkgPC6sB http://down11.ddo.jp/uploader/download/1241439738.zip/attatch
パスワードは fps です
画面消去と裏画面フリップのみですが60fpsまで下がります
ちなみにDirectX SDKのサンプルSkinnedMeshは550fps近く出ているのが謎です
プログラムの組み方で変わるのでしょうか?
パスワードは fps です
画面消去と裏画面フリップのみですが60fpsまで下がります
ちなみにDirectX SDKのサンプルSkinnedMeshは550fps近く出ているのが謎です
プログラムの組み方で変わるのでしょうか?
250名前は開発中のものです。
2009/05/04(月) 21:32:35ID:kjiUunSo251名前は開発中のものです。
2009/05/04(月) 21:35:17ID:kjiUunSo252名前は開発中のものです。
2009/05/04(月) 21:46:32ID:ivjAH+EW253233
2009/05/04(月) 22:09:47ID:kwNCoBb+ なる程、試してみます
皆さんの数値も参考になりました
ありがとうございます
皆さんの数値も参考になりました
ありがとうございます
254名前は開発中のものです。
2009/05/04(月) 23:27:39ID:NUebcNJ2 質問してもいいですか?
プログラムを勉強しようと思うのですが、最初は何から始めた方が良いんでしょうか。
本当に何も知らないので、できれば参考図書なんかをあげてもらえませんか?
お願いします。
プログラムを勉強しようと思うのですが、最初は何から始めた方が良いんでしょうか。
本当に何も知らないので、できれば参考図書なんかをあげてもらえませんか?
お願いします。
255名前は開発中のものです。
2009/05/04(月) 23:33:39ID:kjiUunSo256名前は開発中のものです。
2009/05/04(月) 23:53:33ID:v8MyF9Tp 初心者はC++は非常に難しいのでは
とりあえずはCを大分理解できないと厳しいんじゃね
と思うんだが俺が馬鹿すぎるのかなあ
とりあえずはCを大分理解できないと厳しいんじゃね
と思うんだが俺が馬鹿すぎるのかなあ
257名前は開発中のものです。
2009/05/05(火) 00:18:25ID:2Wnl8Pwh 俺も初心者だけど、C++でクラスやテンプレートを読めるおかげで
ライブラリやネット上の公開コードとかの恩恵を受けられるのは大きいよ
ライブラリやネット上の公開コードとかの恩恵を受けられるのは大きいよ
258名前は開発中のものです。
2009/05/05(火) 00:31:54ID:0zW0QhP9 >本当に何も知らないので、
BASIC言語を学んでみなさい。
いちばん簡単だから 一生懸命にやれば出来る。
http://www.seiai.ed.jp/t2000/basic/index.html
ゲームを作れるようになった後に、
C言語に進むのも良いだろう。
プログラミングの経験があればC言語収得も容易になる。
BASIC言語を学んでみなさい。
いちばん簡単だから 一生懸命にやれば出来る。
http://www.seiai.ed.jp/t2000/basic/index.html
ゲームを作れるようになった後に、
C言語に進むのも良いだろう。
プログラミングの経験があればC言語収得も容易になる。
259名前は開発中のものです。
2009/05/05(火) 10:17:25ID:g+u8xL7p BASIC→C→C++→ってのが無理なく進める気がする
ふと気になったが、プログラムを勉強って何だ?
ふと気になったが、プログラムを勉強って何だ?
260名前は開発中のものです。
2009/05/05(火) 11:25:19ID:Wgvx6E2M C++が出来ればCは出来たも同然じゃん?
JavaとC#とも親和性が高いし
JavaとC#とも親和性が高いし
261名前は開発中のものです。
2009/05/05(火) 11:50:36ID:RCDRu7ea C++やってるつもりが、中はCだった、というのでいいんじゃない?
262名前は開発中のものです。
2009/05/05(火) 12:34:11ID:KNtrpfTu まあベターC的にC++やるのはいいと思うけど分かりやすいところからやっていけばいいかな
263名前は開発中のものです。
2009/05/05(火) 14:12:53ID:a5WwpTFu BASICやHSPを勧める奴が絶対に出てくると思ってたが、やめとけよ
変な癖がついて、後から苦労するぞ
Click & Createが超オススメ
変な癖がついて、後から苦労するぞ
Click & Createが超オススメ
264名前は開発中のものです。
2009/05/05(火) 14:42:12ID:TfjtoxKy 俺もC++でBASICみたいな使い方してないし
普通にC++から初めていいんじゃないかな。
勉強のための資料も一番豊富じゃだろうし。
普通にC++から初めていいんじゃないかな。
勉強のための資料も一番豊富じゃだろうし。
265名前は開発中のものです。
2009/05/05(火) 16:05:04ID:RCDRu7ea 言語もそうだが、グラフィック関連はOpenGLだけは辞めておいたほうがいい。
vista用のintelドライババグで五回は死ねる。
vista用のintelドライババグで五回は死ねる。
266名前は開発中のものです。
2009/05/05(火) 16:30:26ID:KNtrpfTu 初心者からクラスの概念とか始めても大丈夫か
それにポインタとか絡んでくると混乱しないか
それにポインタとか絡んでくると混乱しないか
267名前は開発中のものです。
2009/05/05(火) 16:35:38ID:u1F14pk8 皆さん、レスありがとうございます。
>>258を読んで頑張ってみます!
>>258を読んで頑張ってみます!
268名前は開発中のものです。
2009/05/05(火) 17:05:27ID:2Wnl8Pwh >>258を見て馬鹿にされてると思わないなら、何の問題も無い。
269名前は開発中のものです。
2009/05/05(火) 17:43:52ID:Pt0wvz3P270名前は開発中のものです。
2009/05/05(火) 22:27:41ID:8gC2H/EA RPGをVB6で作ろうと思っているのですが、C++を学習したほうがいいんでしょうか?
あとキャラクターのステータスですが、配列にして、
配列(0)がHP、配列(1)がMP…と言った感じでいいんでしょうか
30人ぐらいをストーリーにより入れ替わり立ち代わりの予定なのです
あとキャラクターのステータスですが、配列にして、
配列(0)がHP、配列(1)がMP…と言った感じでいいんでしょうか
30人ぐらいをストーリーにより入れ替わり立ち代わりの予定なのです
271名前は開発中のものです。
2009/05/05(火) 22:29:20ID:8gC2H/EA すいません、配列は二次元配列の予定です
セーブ等はとりあえずCSVに書き起こしています
セーブ等はとりあえずCSVに書き起こしています
272名前は開発中のものです。
2009/05/05(火) 22:53:50ID:qQRAGi2L Sleep(0)のメインループとメインループ部を別スレッドにして回した場合、
どちらも似たようなCPU使用率になります
CPU使用率を下げつつ、Sleep(0)と同等の速度を出す方法ってありますか?
どちらも似たようなCPU使用率になります
CPU使用率を下げつつ、Sleep(0)と同等の速度を出す方法ってありますか?
273名前は開発中のものです。
2009/05/06(水) 02:13:24ID:Q/fdNOmi メインループを適当な間隔のタイムイベントでコールバックすれば良い
274名前は開発中のものです。
2009/05/06(水) 02:38:15ID:9tyyI+jx >>270
VB6は、たしかに当時は流行ったけど、後継VB.NETで構文がまるっきり変わっちゃったので、
いまから勉強するのはお勧めしない。
この板にもC++でRPG作ってる人居るだろうから参考にしてみ。
VB6は、たしかに当時は流行ったけど、後継VB.NETで構文がまるっきり変わっちゃったので、
いまから勉強するのはお勧めしない。
この板にもC++でRPG作ってる人居るだろうから参考にしてみ。
275名前は開発中のものです。
2009/05/06(水) 02:40:58ID:36dZu90f >>270
あくまで俺の個人的意見になるけど
>RPGをVB6で作ろうと思っているのですが、C++を学習したほうがいいんでしょうか?
VBでもゲーム作る人はいるし、VBが悪いってわけじゃないけど
C++と既存のライブラリでやった方が色んな意味で楽だと思う。
>あとキャラクターのステータスですが、配列にして、
>配列(0)がHP、配列(1)がMP…と言った感じでいいんでしょうか
基本的な考え方は間違ってない。
今後、自分で管理のしやすさ、変更のしやすさを試行錯誤していく事になると思うけど。
あくまで俺の個人的意見になるけど
>RPGをVB6で作ろうと思っているのですが、C++を学習したほうがいいんでしょうか?
VBでもゲーム作る人はいるし、VBが悪いってわけじゃないけど
C++と既存のライブラリでやった方が色んな意味で楽だと思う。
>あとキャラクターのステータスですが、配列にして、
>配列(0)がHP、配列(1)がMP…と言った感じでいいんでしょうか
基本的な考え方は間違ってない。
今後、自分で管理のしやすさ、変更のしやすさを試行錯誤していく事になると思うけど。
276名前は開発中のものです。
2009/05/06(水) 02:41:17ID:9tyyI+jx >>272
メインループを別スレッドにして、尚且つ、そのスレッドの中でSleep(1以上)する。
固定FPSのゲームならSleep(0)で何か(timeGetTimeとか)を監視し続ける必要ないでしょ。
ゲームじゃなくて演算速度を出したいだけなら、CPU使用率最大にしてぶん回すべき。
メインループを別スレッドにして、尚且つ、そのスレッドの中でSleep(1以上)する。
固定FPSのゲームならSleep(0)で何か(timeGetTimeとか)を監視し続ける必要ないでしょ。
ゲームじゃなくて演算速度を出したいだけなら、CPU使用率最大にしてぶん回すべき。
277名前は開発中のものです。
2009/05/06(水) 03:33:19ID:AA8cKT/J いきなりC++から初めてできるものなのかね
言語の習得に時間が懸かって挫折しなきゃいいがね
言語の習得に時間が懸かって挫折しなきゃいいがね
278名前は開発中のものです。
2009/05/06(水) 03:50:17ID:0TC6ScVO 出来ない奴は何やっても出来ない奴だよ
ゆとり教育の弊害とか誰もがしってるだろ?
挫折したら言語の所為、DirectXの所為、OpenGLの所為、
自分は非が無い完璧超人w
ゆとり教育の弊害とか誰もがしってるだろ?
挫折したら言語の所為、DirectXの所為、OpenGLの所為、
自分は非が無い完璧超人w
279名前は開発中のものです。
2009/05/06(水) 04:32:44ID:9tyyI+jx280名前は開発中のものです。
2009/05/06(水) 05:31:19ID:AA8cKT/J ならまずはC+DXライブラリ辺りなんじゃね
HSPならもっと簡単かもしれん
もっと手っ取り早く作るんだったらツールでいいんじゃね
HSPならもっと簡単かもしれん
もっと手っ取り早く作るんだったらツールでいいんじゃね
281名前は開発中のものです。
2009/05/06(水) 07:25:56ID:8ey4uMo7 初心者にC++勧めるってのは、Perlを勧めるのと同義に等しい(頭痛が痛い)
今時はPerl使うには、いわゆる"モダンPerl"(笑)が普通でその手の書籍とか何冊も読まないまともに使えない。
同様に、C++も"Modern C++ Design"、"C++ Template Metaprogramming"、"Effective C++"とかよまないと
スタート地点にも立てない。
こんな言語、俺は絶対初心者に勧めないw
入門なら昔のBASICに相当するLL系のスクリプト言語でいいだろ
例えば、PythonやRuby
今時はPerl使うには、いわゆる"モダンPerl"(笑)が普通でその手の書籍とか何冊も読まないまともに使えない。
同様に、C++も"Modern C++ Design"、"C++ Template Metaprogramming"、"Effective C++"とかよまないと
スタート地点にも立てない。
こんな言語、俺は絶対初心者に勧めないw
入門なら昔のBASICに相当するLL系のスクリプト言語でいいだろ
例えば、PythonやRuby
282名前は開発中のものです。
2009/05/06(水) 08:40:20ID:TlNG4nJg そこでなぜPythonやRuby がでるんだよ!
ゲームならHSPのほうがゲーム向きで情報豊富で簡単だろ。
PythonやRuby 信者なら理解できるがw
俺はC++に入信してるけどね
ゲームならHSPのほうがゲーム向きで情報豊富で簡単だろ。
PythonやRuby 信者なら理解できるがw
俺はC++に入信してるけどね
283名前は開発中のものです。
2009/05/06(水) 08:53:02ID:8ey4uMo7 >>282
ゲームだけやるんなら、HSPでもいいと思う。あくまでBASICの代わりだけど。
まあ、個人的には、ゲーム特化するならHSP勧めるくらいなら、ActionScriptを勧めるな。
今時の流れなら、Flashアプリで公開ってのはよいしな。
HSPはちょっとマイナーすぎなのと、応用性がなさすぎる
しかし、情報豊富って、マイナーすぎてユーザー数が他の言語と違いすぎるだろHSPはw
ゲームだけやるんなら、HSPでもいいと思う。あくまでBASICの代わりだけど。
まあ、個人的には、ゲーム特化するならHSP勧めるくらいなら、ActionScriptを勧めるな。
今時の流れなら、Flashアプリで公開ってのはよいしな。
HSPはちょっとマイナーすぎなのと、応用性がなさすぎる
しかし、情報豊富って、マイナーすぎてユーザー数が他の言語と違いすぎるだろHSPはw
284名前は開発中のものです。
2009/05/06(水) 08:56:09ID:8ey4uMo7 こんなところで言語論争してもしゃーないけど、
google trendsの結果でも貼ってみる。
さすがにHSPはなあ…
しかし、C++はさすがだ
Google Trends: C++,HSP,Ruby,Python
http://www.google.co.jp/trends?q=C%2B%2B%2CHSP%2CRuby%2CPython
google trendsの結果でも貼ってみる。
さすがにHSPはなあ…
しかし、C++はさすがだ
Google Trends: C++,HSP,Ruby,Python
http://www.google.co.jp/trends?q=C%2B%2B%2CHSP%2CRuby%2CPython
285名前は開発中のものです。
2009/05/06(水) 08:58:42ID:8ey4uMo7 (言語名) + gameにしてみた。
Google Trends: C++ game,HSP game,Ruby game,Python game
http://www.google.co.jp/trends?q=C%2B%2B+game%2CHSP+game%2CRuby+game%2CPython+game&ctab=0&geo=all&date=all&sort=0
(言語名) + ゲームだと計測不能…
Google Trends: C++ game,HSP game,Ruby game,Python game
http://www.google.co.jp/trends?q=C%2B%2B+game%2CHSP+game%2CRuby+game%2CPython+game&ctab=0&geo=all&date=all&sort=0
(言語名) + ゲームだと計測不能…
286名前は開発中のものです。
2009/05/06(水) 08:58:52ID:TlNG4nJg 初心者が始める言語は何でもいいと思ってる。出来るやつ何でも出来る。
PythonやRuby が外れたのを確認したから宗教論争はここで終わるw
PythonやRuby が外れたのを確認したから宗教論争はここで終わるw
287名前は開発中のものです。
2009/05/06(水) 09:03:50ID:TlNG4nJg >>284
言語が全体的に下がり気味なのがさびしい・・・
言語が全体的に下がり気味なのがさびしい・・・
288名前は開発中のものです。
2009/05/06(水) 10:35:24ID:S6pkCKb4 なんだかんだ言っても使う道具が違うだけで使う人間は替わらないからな
書きたい言語で書かせればいい
書きたい言語で書かせればいい
289名前は開発中のものです。
2009/05/06(水) 10:47:05ID:wX7ojKK3 HSPなんて日本以外じゃ当然ゼロと思ったら
ドイツ語関係でちょっと出てるな、別の何か?
ドイツ語関係でちょっと出てるな、別の何か?
290名前は開発中のものです。
2009/05/06(水) 13:02:01ID:UbZvhOTa HSPちらっと見たけど結局憶えること多そうだし
最初からCとかやったほうがいいじゃんと思った
最初からCとかやったほうがいいじゃんと思った
291名前は開発中のものです。
2009/05/06(水) 13:08:21ID:1MHMMcy8 ifやループの基本的なところまでならVBでもHSPで覚えてもいいと思うけどね
HSPは非常にとっかかり易い、画面が非常にシンプルで分かりやすい
C辺りインストールして起動してみたが、何していいのか分からない人はHSPで一度なんでもいいから作ってみるといいと思う
HSPは非常にとっかかり易い、画面が非常にシンプルで分かりやすい
C辺りインストールして起動してみたが、何していいのか分からない人はHSPで一度なんでもいいから作ってみるといいと思う
292233
2009/05/06(水) 19:46:25ID:K9az0PAH http://down11.ddo.jp/uploader/download/1241606473.zip/attatch
パスワードは fps です。
描画部分を別スレッドで60fps固定にした所、メインループ部はSleep(1)で600万ループ
Sleep(13)で40万ループさせる事に成功しました。
CPU使用率はSleep(13)で10以下に抑える事にも成功しました。
パスワードは fps です。
描画部分を別スレッドで60fps固定にした所、メインループ部はSleep(1)で600万ループ
Sleep(13)で40万ループさせる事に成功しました。
CPU使用率はSleep(13)で10以下に抑える事にも成功しました。
293名前は開発中のものです。
2009/05/06(水) 21:10:26ID:9tyyI+jx294名前は開発中のものです。
2009/05/06(水) 22:22:00ID:31BsjZ7x 私は経験0のプログラミング初心者です。
一昨日から友達と2D格ゲーを作ろう!という話になって少し勉強しました。
HSPで簡単なシューティングを作ることには成功したのですが、このまま
HSPを勉強すれば2Dの格闘ゲームを作るようになれるのでしょうか。
普通のゲームはC++というのを使っているのですよね?
今から同じ時間を費やすとしてHSPとC++だったらどっちが先に2D格ゲーを作ることができるでしょうか。
期間は2、3年でメルティブラッドくらいのゲームが作れたらなあ、と思っています。
一昨日から友達と2D格ゲーを作ろう!という話になって少し勉強しました。
HSPで簡単なシューティングを作ることには成功したのですが、このまま
HSPを勉強すれば2Dの格闘ゲームを作るようになれるのでしょうか。
普通のゲームはC++というのを使っているのですよね?
今から同じ時間を費やすとしてHSPとC++だったらどっちが先に2D格ゲーを作ることができるでしょうか。
期間は2、3年でメルティブラッドくらいのゲームが作れたらなあ、と思っています。
295名前は開発中のものです。
2009/05/06(水) 22:29:35ID:S6pkCKb4 ゲームにおいては過程が考えられるかどうかじゃないか?
296名前は開発中のものです。
2009/05/06(水) 22:44:47ID:31BsjZ7x297名前は開発中のものです。
2009/05/06(水) 22:47:21ID:JPAy5CO1 格ゲーは当たり判定と状態の塊だ。
まぁHSPで状態管理するのは大変だろうね。
まぁCやC++を使ったからといって楽になるというものでもないが。
しかしそれよりも、余計なことを考えて手を止めるのが一番よくない。
せっかくHSPを使い始めたんだから、とにかく猪突猛進に雛形を作ってみるんだ。
まぁHSPで状態管理するのは大変だろうね。
まぁCやC++を使ったからといって楽になるというものでもないが。
しかしそれよりも、余計なことを考えて手を止めるのが一番よくない。
せっかくHSPを使い始めたんだから、とにかく猪突猛進に雛形を作ってみるんだ。
298名前は開発中のものです。
2009/05/06(水) 22:51:20ID:JuuuPdEY299名前は開発中のものです。
2009/05/06(水) 22:53:45ID:31BsjZ7x300名前は開発中のものです。
2009/05/06(水) 22:58:53ID:S6pkCKb4 個人なら書けるので書きゃいいのに○○のほうがいいですかとか
そもそも解らなけりゃ違いも判らんだろうよ。
まず作れ。話はそれからだ
そもそも解らなけりゃ違いも判らんだろうよ。
まず作れ。話はそれからだ
301名前は開発中のものです。
2009/05/07(木) 22:22:40ID:xXXFn8bD >>294
経験ゼロから2日で簡単なシューティング作るって何気にスゲーな
メルティブラッドってYoutubeくらいでしか見たことないが、
あの辺まで目指すんならC++にしといた方がいいと思う。
もしくはHSPでもっと簡素なゲームを作ってみるか。
経験ゼロから2日で簡単なシューティング作るって何気にスゲーな
メルティブラッドってYoutubeくらいでしか見たことないが、
あの辺まで目指すんならC++にしといた方がいいと思う。
もしくはHSPでもっと簡素なゲームを作ってみるか。
302名前は開発中のものです。
2009/05/10(日) 18:30:54ID:dU5vID34 RPGの戦闘部分を作ってるんですが、ターン制(ドラクエ)のようなものはどういう風に順番が決まるんでしょうか?
すばやさに乱数を加算除算して順番を決めるのは分かるのですが、同じ数値の人が来たときにはどういう処理が良いでしょう?
動的配列を作り、配列[3]等として順番を決めよう・・と思ってたらなんだか頭の中が混乱してきましたorz
同じものに対して順番を決める、という処理はどうするのが一般的でしょうか?
すばやさに乱数を加算除算して順番を決めるのは分かるのですが、同じ数値の人が来たときにはどういう処理が良いでしょう?
動的配列を作り、配列[3]等として順番を決めよう・・と思ってたらなんだか頭の中が混乱してきましたorz
同じものに対して順番を決める、という処理はどうするのが一般的でしょうか?
303名前は開発中のものです。
2009/05/10(日) 18:36:29ID:FZlRfxit 見つかった順番か、もう一度乱数を引く
304名前は開発中のものです。
2009/05/10(日) 18:39:25ID:dU5vID34305名前は開発中のものです。
2009/05/27(水) 17:17:29ID:seiL/yBx 実際ゲーム作ってみるといかに市販のゲームが細かいところまで作られてるかわかるよな・・・
306名前は開発中のものです。
2009/05/27(水) 17:37:40ID:ooeFDaTf しかしあのスタッフロールの長さは異常
307名前は開発中のものです。
2009/06/07(日) 02:22:52ID:iHKxpSHX308名前は開発中のものです。
2009/06/07(日) 02:40:26ID:XgZ1BVy+ 常識で考えろ
309名前は開発中のものです。
2009/06/07(日) 03:08:08ID:iHKxpSHX 貴方の常識なんてどうでもいいんです
事実が知りたいんです
事実が知りたいんです
310名前は開発中のものです。
2009/06/07(日) 05:28:36ID:XgZ1BVy+ 俺の常識は持ち出してないつもりだが
311名前は開発中のものです。
2009/06/07(日) 09:37:33ID:830nrNph ここで誰かが答えたとして、それが事実だと信じるのか。
結局自分で調べない事には事実かどうかなんてわからんぞ。
結局自分で調べない事には事実かどうかなんてわからんぞ。
312名前は開発中のものです。
2009/06/07(日) 15:25:03ID:iHKxpSHX それじゃこのスレいらねーじゃん
くだらね
くだらね
313名前は開発中のものです。
2009/06/07(日) 15:31:33ID:iHKxpSHX つか、使える意見を言えない奴が分かったような顔して偉そうにしてると社会では痛い目みるぞ
314名前は開発中のものです。
2009/06/07(日) 17:03:36ID:oeT3VEAp 社会(笑)
315名前は開発中のものです。
2009/06/07(日) 18:07:55ID:M6h6jWTy そりゃクレクレ厨は痛い目に遭うだろうねw
316名前は開発中のものです。
2009/06/08(月) 17:05:24ID:mawEHegr 社会があまねく有益な意見で満たされて居たら、さぞかし過ごしやすかろうなあ
317名前は開発中のものです。
2009/06/09(火) 09:47:49ID:ruRVuuZj 有益な意見には耳を塞ぐくせに
何言ってんだ
何言ってんだ
318名前は開発中のものです。
2009/06/26(金) 22:36:27ID:x76xIHaA マイケルの夢は空へ消えた
つまり
◎マイネル
○ドリジャ
▲デスカ
だなw
つまり
◎マイネル
○ドリジャ
▲デスカ
だなw
319名前は開発中のものです。
2009/06/28(日) 22:39:34ID:3N82CdXt C++でブロック崩しを作っているのですが、玉の種類を増やそうと思っています
玉の制御はスクリプトで書こうと思っているのですが、
pythonかluaのどちらかだとしたら、どちらがいいと思いますか?
参考にしたいので意見をおしえてください
玉の制御はスクリプトで書こうと思っているのですが、
pythonかluaのどちらかだとしたら、どちらがいいと思いますか?
参考にしたいので意見をおしえてください
320名前は開発中のものです。
2009/06/28(日) 23:36:19ID:hGHmXBpJ どちらもだめ
制御はC++が向いている
制御はC++が向いている
321名前は開発中のものです。
2009/07/10(金) 16:03:53ID:GcVAWp8q http://www.dotup.org/uploda/www.dotup.org221278.7z.html
スクリーン全体を書き換えるやり方だと無駄が大きいので、キャラクターが前にいた場所だけ書き換えるやり方に変更した。なぜか、知らないが、時々残像ができる。治す方法があったら教えてほしい。
プラットフォーム:XNA 3.0
・drawの処理
if (is_scrolled)
{
m.drawAll(g, view_point.X, view_point.Y, 0, 0, m.WidthOnScreen(g), m.HeightOnScreen(g));
is_scrolled = false;
}
else
{
//スクリーン上の座標を求める
Point p = m.getPointOnScreenAsMap(g, new Point(player.oldx, player.oldy));
//24*32dotのキャラクターに対応するため
m.drawAll(g, player.oldx, player.oldy, p.X, p.Y, player.width + 1, player.height);
}
スクリーン全体を書き換えるやり方だと無駄が大きいので、キャラクターが前にいた場所だけ書き換えるやり方に変更した。なぜか、知らないが、時々残像ができる。治す方法があったら教えてほしい。
プラットフォーム:XNA 3.0
・drawの処理
if (is_scrolled)
{
m.drawAll(g, view_point.X, view_point.Y, 0, 0, m.WidthOnScreen(g), m.HeightOnScreen(g));
is_scrolled = false;
}
else
{
//スクリーン上の座標を求める
Point p = m.getPointOnScreenAsMap(g, new Point(player.oldx, player.oldy));
//24*32dotのキャラクターに対応するため
m.drawAll(g, player.oldx, player.oldy, p.X, p.Y, player.width + 1, player.height);
}
322toya
2009/07/12(日) 01:04:32ID:+auraSRZ seisho53pe-ji
323名前は開発中のものです。
2009/07/12(日) 10:59:23ID:yE1osiWd ファイル無いと言われたわ
324名前は開発中のものです。
2009/07/12(日) 23:06:56ID:Pm94PkQG325名前は開発中のものです。
2009/07/13(月) 18:38:14ID:IC1GLBGZ うーん、突っ込むところ多いけど、、、
とりあえずぶつかった時のundoがx,yを戻してるけど
移動時はxだけ、yだけ保存だから戻すときずれて残像になってるね
ほかにもあるみたいだけど、、、これから帰宅なのでまた・・・
関数のコメントは // じゃなくて /// がお勧め
とりあえずぶつかった時のundoがx,yを戻してるけど
移動時はxだけ、yだけ保存だから戻すときずれて残像になってるね
ほかにもあるみたいだけど、、、これから帰宅なのでまた・・・
関数のコメントは // じゃなくて /// がお勧め
326名前は開発中のものです。
2009/07/13(月) 20:38:23ID:rYbn9Phm >>325
理由はなに? > //->///
理由はなに? > //->///
327名前は開発中のものです。
2009/07/13(月) 20:54:40ID:r/cCOFUb //より///の方が気恥ずかしさと健気さがより際立つ
328名前は開発中のものです。
2009/07/13(月) 20:59:01ID:rjiSz6yn (//ω//)→(/*/ω/*/)
329名前は開発中のものです。
2009/07/13(月) 23:04:03ID:m7y/L96o てか、最強のプログラム言語ってぶっちゃけどれよ
330名前は開発中のものです。
2009/07/13(月) 23:19:08ID:NIAmNvGo 最強とか聞いちゃう人は黙ってC#使うのが最強なんじゃないかな
331名前は開発中のものです。
2009/07/13(月) 23:59:24ID:E7cdGbOK 最強論に対極は付き物、高級言語の対極にあるハンドアセンブルを極めてはどうか
332名前は開発中のものです。
2009/07/14(火) 00:11:31ID:pOq3rm7P それは確かに最強だ。
333名前は開発中のものです。
2009/07/14(火) 09:16:51ID:4Xpi43sp いっそハードを極めてはどうか
334名前は開発中のものです。
2009/07/14(火) 10:11:20ID:n67BwWQX335名前は開発中のものです。
2009/07/14(火) 19:29:22ID:A7Jso/3Q IDE
336名前は開発中のものです。
2009/07/14(火) 19:30:39ID:A7Jso/3Q IDEなら何でも自動に追加されると思うなよ
337名前は開発中のものです。
2009/07/14(火) 20:20:15ID:7qnK4jbf VisualStudioと書くと突っ込まれそうだったから
無難な言葉を使ったが
結局何言っても同じなんだよな
ただ口はさみたいだけ
無難な言葉を使ったが
結局何言っても同じなんだよな
ただ口はさみたいだけ
338名前は開発中のものです。
2009/07/14(火) 20:24:08ID:7qnK4jbf 一応言っておくけど質問した人が
何使っているかは把握した上での
レスだからね
何使っているかは把握した上での
レスだからね
339名前は開発中のものです。
2009/07/14(火) 20:29:42ID:p3cJHfZl340名前は開発中のものです。
2009/07/14(火) 23:16:39ID:msfsUkAz341名前は開発中のものです。
2009/07/15(水) 03:33:48ID:oAaV9htY >>340
lisp嫌いじゃないけど、最強というには、人によってコードがバラバラすぎてなぁ・・・・。
やっぱし、今時はTeam開発をしっかりと前提にできるものが良いと思う。
よって、C++
C++もテンプレ入り乱れまくりやなんやすると、途端に霧の中に為ってしまうけど・・・・。
lisp嫌いじゃないけど、最強というには、人によってコードがバラバラすぎてなぁ・・・・。
やっぱし、今時はTeam開発をしっかりと前提にできるものが良いと思う。
よって、C++
C++もテンプレ入り乱れまくりやなんやすると、途端に霧の中に為ってしまうけど・・・・。
342名前は開発中のものです。
2009/07/15(水) 08:49:05ID:wvQDgYgC 最強はマシン語だろ。
343名前は開発中のものです。
2009/07/15(水) 12:29:04ID:ozTsOauR 「最強のプログラム言語」とか言っちゃってる奴はまず日本語を勉強してこいよ
344名前は開発中のものです。
2009/07/15(水) 20:47:11ID:vgHuQMIa C++なんて無思想ごちゃまぜ言語じゃないか
言語にコーディング規約的なものまで求めるなら
JavaやC#が最強
言語にコーディング規約的なものまで求めるなら
JavaやC#が最強
345名前は開発中のものです。
2009/07/17(金) 10:39:57ID:WnY7CWjL qwertyuioasdfghzxcvb
346名前は開発中のものです。
2009/08/16(日) 09:50:39ID:mUJcX4L/ HelloWorldのソースこんぱいるするだけでとまどったな
347名前は開発中のものです。
2009/08/16(日) 19:14:24ID:55Gu4o4r 初めはそんなもんでしょ
コンパイラの使い方も併せて学ぶ段階だし
コンパイラの使い方も併せて学ぶ段階だし
348名前は開発中のものです。
2009/08/18(火) 19:55:07ID:GrHz78T5 95時代に作った自作ゲームをVista対応化させようとしているのですが、
たとえばゲーム成績のランキングをそのPCの全アカウントで共有するためには
ゲームを管理者実行させるほかに手はないのでしょうか?
たとえばゲーム成績のランキングをそのPCの全アカウントで共有するためには
ゲームを管理者実行させるほかに手はないのでしょうか?
349名前は開発中のものです。
2009/08/18(火) 20:49:11ID:Jhv90Vd4 >>348
ランキングデータの属性を誰でも読み書き可にすればいいんじゃないの?
ランキングデータの属性を誰でも読み書き可にすればいいんじゃないの?
350名前は開発中のものです。
2009/08/18(火) 21:03:05ID:CP6QXV5y C:\Users\Public\
に作ればいいんじゃね
やったことないので推測だけど
に作ればいいんじゃね
やったことないので推測だけど
351名前は開発中のものです。
2009/08/18(火) 21:55:10ID:lURobZwZ サービスプログラムを作れ
352名前は開発中のものです。
2009/08/18(火) 22:09:00ID:GrHz78T5353名前は開発中のものです。
2009/08/19(水) 02:30:02ID:y+Txo86j 放物線を描こうとしてるんだが、斜め上にうまく打ち出せない。詳しい人がいたら教えてほしい。
public struct NextpointParam
{
public double vx, vy, x, y, dx, dy, sx, sy,e, m;
}
const double g = 9.8,rotSpeed = 3;
double dt;
//ループ前に実行する
public NextpointParam calcArrivalTime(NextpointParam cmd, int rot)
{
dt = cmd.vx / 120.0;
double rad = rot * Math.PI / 180;
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
if (cmd.dx != cmd.sx)
{
double t = -(2 * subx * Math.Sin(rad)) / (Math.Cos(rad) * g * dt) + (2 * suby / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = subx / t;
cmd.vy = cmd.vx / Math.Cos(rad) * Math.Sin(rad);
}
return cmd;
}
//ループごとに実行する
public NextpointParam calcElliptical(NextpointParam cmd)
{
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
cmd.vy += g * dt;
cmd.x += vx;
cmd.y += cmd.vy;
return cmd;
}
public struct NextpointParam
{
public double vx, vy, x, y, dx, dy, sx, sy,e, m;
}
const double g = 9.8,rotSpeed = 3;
double dt;
//ループ前に実行する
public NextpointParam calcArrivalTime(NextpointParam cmd, int rot)
{
dt = cmd.vx / 120.0;
double rad = rot * Math.PI / 180;
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
if (cmd.dx != cmd.sx)
{
double t = -(2 * subx * Math.Sin(rad)) / (Math.Cos(rad) * g * dt) + (2 * suby / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = subx / t;
cmd.vy = cmd.vx / Math.Cos(rad) * Math.Sin(rad);
}
return cmd;
}
//ループごとに実行する
public NextpointParam calcElliptical(NextpointParam cmd)
{
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
cmd.vy += g * dt;
cmd.x += vx;
cmd.y += cmd.vy;
return cmd;
}
354353
2009/08/19(水) 02:31:20ID:y+Txo86j 実行環境:C#3.0
355名前は開発中のものです。
2009/08/19(水) 10:25:19ID:zkIhyE9m >>353
vx,vyは速度だと思うが、dt = cmd.vx / 120.0;ってのは何?
120ってどこから出てきた数字?
sx,syからdx,dyに向かって放物線を描く弾をrotの角度で撃ちたいってことでいいんだよね?
それって解無しの場合があるが、その処理が全く入ってないんじゃないか?
sx,syから見てdx,dyがa度の位置にある場合、発射角がa度以下では絶対に届かない。
発射角がちょうどa度だと初速は∞になる。
初期条件の与え方に問題があるかと。
着弾点を指定したいなら、普通は角度は初期条件で与えない。
vx,vyは速度だと思うが、dt = cmd.vx / 120.0;ってのは何?
120ってどこから出てきた数字?
sx,syからdx,dyに向かって放物線を描く弾をrotの角度で撃ちたいってことでいいんだよね?
それって解無しの場合があるが、その処理が全く入ってないんじゃないか?
sx,syから見てdx,dyがa度の位置にある場合、発射角がa度以下では絶対に届かない。
発射角がちょうどa度だと初速は∞になる。
初期条件の与え方に問題があるかと。
着弾点を指定したいなら、普通は角度は初期条件で与えない。
356名前は開発中のものです。
2009/08/19(水) 19:57:30ID:y+Txo86j http://hakuhin.hp.infoseek.co.jp/main/as/shot.html#SHOT_02_01
こちらのソースではうまく動いてたのですが、C#に移植するとうまく動かないとは・・・、
>>355
dtは微分です。
>初期条件の与え方に問題があるかと。
>着弾点を指定したいなら、普通は角度は初期条件で与えない。
どういう風にすればいいのでしょうか?
こっちの方面には疎いので教えてほしいです。
こちらのソースではうまく動いてたのですが、C#に移植するとうまく動かないとは・・・、
>>355
dtは微分です。
>初期条件の与え方に問題があるかと。
>着弾点を指定したいなら、普通は角度は初期条件で与えない。
どういう風にすればいいのでしょうか?
こっちの方面には疎いので教えてほしいです。
357名前は開発中のものです。
2009/08/20(木) 00:34:17ID:hfiYF6j1 単純にURLの奴と比較すると
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
⇒double subx = cmd.dx - cmd.sx ,suby = cmd.dy - cmd.sy;
あと
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
が要るのか謎
まぁ普通は>>355が言うように角度は与えないな。
普通は速度一定で角度をatan使って計算する。
double subx = Math.Abs(cmd.dx - cmd.sx),suby = Math.Abs(cmd.dy - cmd.sy);
⇒double subx = cmd.dx - cmd.sx ,suby = cmd.dy - cmd.sy;
あと
double vx = cmd.dx - cmd.sx > 0 ? cmd.vx : -cmd.vx;
が要るのか謎
まぁ普通は>>355が言うように角度は与えないな。
普通は速度一定で角度をatan使って計算する。
358356
2009/08/20(木) 21:23:01ID:IHNCk0SU359名前は開発中のものです。
2009/08/21(金) 10:48:09ID:DvszpD1q t = (dx-sx)/cosα*(初速) を
(dy-sy)=sinα*(初速)t - gt^2 に代入してαを求める
(dy-sy)=sinα*(初速)t - gt^2 に代入してαを求める
360名前は開発中のものです。
2009/08/21(金) 12:52:07ID:hppXED8L (dy-sy)=sinα*(初速)t - gt^2/2だった
361名前は開発中のものです。
2009/08/21(金) 19:22:48ID:7MXGbqnZ >>359
αということはsinαとcosαを求めればいいの?
式を変形してみたんだが、左辺のコサインが消えない・・・
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/cosα^2/2
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/2cos^2α
2cos^2α * (dy-dy) = cosα * sinα* (dx-sx) - g * (dx-sx)^2
αということはsinαとcosαを求めればいいの?
式を変形してみたんだが、左辺のコサインが消えない・・・
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/cosα^2/2
(dy-dy) = sinα*((dx-sx)/cosα) - g * (dx-sx)^2/2cos^2α
2cos^2α * (dy-dy) = cosα * sinα* (dx-sx) - g * (dx-sx)^2
362名前は開発中のものです。
2009/08/21(金) 23:49:07ID:e3g3OiNI 一発で出ないでしょ
逐次計算で初期角度をatn((dy-sy)/(dx-sx))にして
x方向とy方向の到着時間を比較して、それが近くなるまで繰り返し
逐次計算で初期角度をatn((dy-sy)/(dx-sx))にして
x方向とy方向の到着時間を比較して、それが近くなるまで繰り返し
363名前は開発中のものです。
2009/08/22(土) 02:49:05ID:RxygmHfQ やってみたがうまくいかない・・・。
public NextpointParam calcArrivalTime(NextpointParam cmd)
{
dt = cmd.vx / 120.0;
double rot = Math.Atan(cmd.dy - cmd.sy/cmd.dx - cmd.sx);
if (cmd.dy == cmd.sy)
return cmd;
double tx, ty;
do
{
rot++;
tx = (cmd.dx - cmd.sx) / Math.Cos(rot);
ty = 4 * Math.Pow(Math.Sin(rot), 2) - 4 * g * -2 * (cmd.dy - cmd.sy);
ty = Math.Sqrt(ty) * 2 * Math.Sin(10) / 2 / g;
} while (Math.Abs(tx - ty) > 0.01);
double t = -(2 * (cmd.dx - cmd.sx) * Math.Sin(rot)) / (Math.Cos(rot) * g * dt) + (2 * (cmd.dy - cmd.sy) / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = (cmd.dx - cmd.sx) / t;
cmd.vy = (cmd.dy - cmd.sy) / Math.Cos(rot) * Math.Sin(rot);
return cmd;
}
public NextpointParam calcArrivalTime(NextpointParam cmd)
{
dt = cmd.vx / 120.0;
double rot = Math.Atan(cmd.dy - cmd.sy/cmd.dx - cmd.sx);
if (cmd.dy == cmd.sy)
return cmd;
double tx, ty;
do
{
rot++;
tx = (cmd.dx - cmd.sx) / Math.Cos(rot);
ty = 4 * Math.Pow(Math.Sin(rot), 2) - 4 * g * -2 * (cmd.dy - cmd.sy);
ty = Math.Sqrt(ty) * 2 * Math.Sin(10) / 2 / g;
} while (Math.Abs(tx - ty) > 0.01);
double t = -(2 * (cmd.dx - cmd.sx) * Math.Sin(rot)) / (Math.Cos(rot) * g * dt) + (2 * (cmd.dy - cmd.sy) / (g * dt));
t = Math.Sqrt(Math.Abs(t));
cmd.vx = (cmd.dx - cmd.sx) / t;
cmd.vy = (cmd.dy - cmd.sy) / Math.Cos(rot) * Math.Sin(rot);
return cmd;
}
364名前は開発中のものです。
2009/08/22(土) 02:51:09ID:RxygmHfQ 訂正
× rot++
○ rot += 1 * Math.PI / 180
× rot++
○ rot += 1 * Math.PI / 180
365名前は開発中のものです。
2009/08/22(土) 05:25:00ID:JiYVKMm8 1 * は意味あるのか
366名前は開発中のものです。
2009/08/22(土) 07:28:00ID:v9eiapHS そういう年頃なのさ
367名前は開発中のものです。
2009/08/22(土) 19:32:58ID:UJPlGrDF 必ず1が係数となっていることに気づかなければlogXの部分積分はできないんだよ!!!
368名前は開発中のものです。
2009/08/22(土) 19:34:43ID:p3yP0Up8 発射位置(x0,y0)と目標位置(x1,y1)が同じ高さ(つまりy0==y1)の場合なら
仰角rは
r = asin((x1 - x0) * g / (v * v)) / 2
だから
t = 0;
r = asin((x1 - x0) * g / (v * v)) / 2;
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
みたいな感じで現在位置(x,y)が求められる
tは時間、dtは進んだ時間、vは初速度、gは重力加速度
asinの定義域は-1から1だから、それ以外は解なし(初速が足りない)
仰角rは
r = asin((x1 - x0) * g / (v * v)) / 2
だから
t = 0;
r = asin((x1 - x0) * g / (v * v)) / 2;
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
みたいな感じで現在位置(x,y)が求められる
tは時間、dtは進んだ時間、vは初速度、gは重力加速度
asinの定義域は-1から1だから、それ以外は解なし(初速が足りない)
369名前は開発中のものです。
2009/08/22(土) 21:04:38ID:RxygmHfQ370名前は開発中のものです。
2009/08/22(土) 23:07:35ID:p3yP0Up8 それじゃあ面倒だが>>359方式で…途中の式は省く
1 / cos(r)^2 = 1 + tan(r)^2
を使えばtan(r)の2次式に変形できる
a * tan(r)^2 + b * tan(r) + c = 0
とすると
b = x1 - x0;
a = -g * b * b / (2 * v * v);
c = y0 - y1 + a;
/* d は判別式。d < 0 なら解なし */
d = b * b - 4 * a * c;
/* 解の公式でtan(r)を求める */
tan_r = (-b + sqrt(d)) / (2 * a);
//tan_r = (-b - sqrt(d)) / (2 * a); どちらの解も目標位置を通る
r = atan(tan_r);
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
一応動いたけど左向きに発射するときは初速度をマイナスにしないとダメっぽい
1 / cos(r)^2 = 1 + tan(r)^2
を使えばtan(r)の2次式に変形できる
a * tan(r)^2 + b * tan(r) + c = 0
とすると
b = x1 - x0;
a = -g * b * b / (2 * v * v);
c = y0 - y1 + a;
/* d は判別式。d < 0 なら解なし */
d = b * b - 4 * a * c;
/* 解の公式でtan(r)を求める */
tan_r = (-b + sqrt(d)) / (2 * a);
//tan_r = (-b - sqrt(d)) / (2 * a); どちらの解も目標位置を通る
r = atan(tan_r);
loop:
t += dt;
x = x0 + v * cos(r) * t;
y = y0 + v * sin(r) * t - g * t * t / 2;
goto loop;
一応動いたけど左向きに発射するときは初速度をマイナスにしないとダメっぽい
371名前は開発中のものです。
2009/08/24(月) 19:01:06ID:IPXhfjSk372名前は開発中のものです。
2009/08/24(月) 19:09:58ID:711xndDg 何の脈略もなく宣伝行為に及ぶのはいったい何なの?
373名前は開発中のものです。
2009/08/24(月) 21:39:10ID:ir6nHlVB 素朴な宣伝がまだ有効だと思っている、頭の硬直化したおっさん。
つか、この板が軽く馬鹿にされてて吹いた。
http://slashdot.jp/askslashdot/comments.pl?sid=463936&threshold=0&commentsort=3&mode=thread&pid=1627366#1627603
最近の奴にとっては、この板は「作ろうスレを立てる板」って認識なのかね。
つか、この板が軽く馬鹿にされてて吹いた。
http://slashdot.jp/askslashdot/comments.pl?sid=463936&threshold=0&commentsort=3&mode=thread&pid=1627366#1627603
最近の奴にとっては、この板は「作ろうスレを立てる板」って認識なのかね。
374名前は開発中のものです。
2009/08/24(月) 21:39:27ID:ir6nHlVB すまん、スレ間違えた。
375名前は開発中のものです。
2009/08/25(火) 19:10:21ID:UObdHxkO ドラクエ8-9だとキャラクタのポリゴンに黒い輪郭線が付いているじゃん
あれどうやってるかわかる人いる?
あれどうやってるかわかる人いる?
376名前は開発中のものです。
2009/08/25(火) 22:41:10ID:AOgNxinP 同じモデルを黒く塗りつぶしてちょっと大きくして面カリングを逆にする
377名前は開発中のものです。
2009/08/27(木) 00:10:49ID:4dHRqDCZ 深度バッファを描画して隣接するピクセルとの深度値の差が一定以上なら黒く塗りつぶす
法線を描画して隣接するピクセルとの法線の向きが一定以上の角度で黒く塗りつぶす
オブジェクトをそれぞれ別の色で塗りつぶして描画して隣接するピクセルの色が異なっていたら黒く塗りつぶす
これらを組み合わせるのが一番きれい
法線を描画して隣接するピクセルとの法線の向きが一定以上の角度で黒く塗りつぶす
オブジェクトをそれぞれ別の色で塗りつぶして描画して隣接するピクセルの色が異なっていたら黒く塗りつぶす
これらを組み合わせるのが一番きれい
378名前は開発中のものです。
2009/08/27(木) 16:45:06ID:TkpNRAkw379名前は開発中のものです。
2009/08/27(木) 23:51:51ID:+fcJCniV >>375
色んな手段があるけど、描画結果から想像するとこれだと思う。
モデル読み込み時にメッシュが他のメッシュに接続しているかどうかを求めておいて、
次の条件が1つでも当てはまったときメッシュ辺を描画する。
・接続するメッシュが無い ※接続が裏表になっている、接続するメッシュが複数ある場合もこの扱い
・接続するメッシュが視点から見ての裏表になっている
描画例(Javaアプレット)
ttp://www5b.biglobe.ne.jp/~clap/applet3/MagicAction/AppletMotion7Viewer.html
色んな手段があるけど、描画結果から想像するとこれだと思う。
モデル読み込み時にメッシュが他のメッシュに接続しているかどうかを求めておいて、
次の条件が1つでも当てはまったときメッシュ辺を描画する。
・接続するメッシュが無い ※接続が裏表になっている、接続するメッシュが複数ある場合もこの扱い
・接続するメッシュが視点から見ての裏表になっている
描画例(Javaアプレット)
ttp://www5b.biglobe.ne.jp/~clap/applet3/MagicAction/AppletMotion7Viewer.html
380名前は開発中のものです。
2009/08/28(金) 03:33:06ID:HsGKMciu >>370
実装してみたのですが、放物線を描かないみたいです。
vx = 100;
dt = cmd.vx / 120.0;
b = cmd.dx - cmd.sx;
a = -g * b * b / (2 * cmd.vx * cmd.vx);
c = sy - dy + a;
double d = b * b - 4 * a * c; //判別式
double tan_r = (-b + Math.Sqrt(d)) / (2 * a);
r = Math.Atan(tan_r);
:loop
t += dt;
x += sx + vx * Math.Cos(r) * t;
y += sy + vx * Math.Sin(r) * t - g * t * cmd.t / 2;
goto loop
実装してみたのですが、放物線を描かないみたいです。
vx = 100;
dt = cmd.vx / 120.0;
b = cmd.dx - cmd.sx;
a = -g * b * b / (2 * cmd.vx * cmd.vx);
c = sy - dy + a;
double d = b * b - 4 * a * c; //判別式
double tan_r = (-b + Math.Sqrt(d)) / (2 * a);
r = Math.Atan(tan_r);
:loop
t += dt;
x += sx + vx * Math.Cos(r) * t;
y += sy + vx * Math.Sin(r) * t - g * t * cmd.t / 2;
goto loop
381名前は開発中のものです。
2009/08/28(金) 15:02:48ID:DmqjfMSC C言語のindex関数、rindex関数に相当するWin32APIは何でしょうか?
382名前は開発中のものです。
2009/08/28(金) 16:10:33ID:dkA1HT2S >>381
strchr、strrchrではだめなのか
strchr、strrchrではだめなのか
383名前は開発中のものです。
2009/08/28(金) 16:13:07ID:DmqjfMSC384名前は開発中のものです。
2009/08/28(金) 16:18:49ID:fGO+3/fF >>381
StrChr、StrRChr
StrChr、StrRChr
385名前は開発中のものです。
2009/08/28(金) 16:22:17ID:fGO+3/fF TCHARなら_tcs系使えばいいだけだろwww
_tcschr、_tcsrchr
_tcschr、_tcsrchr
386名前は開発中のものです。
2009/08/28(金) 23:23:03ID:DvI+Lg5w >>380
どういう軌道になったの
直線にみえるなら正しい可能性がある
(銃の弾道のように初速度が十分に速いとほぼ直線になる)
この場合、2次方程式のもう1つの解を使えば、
銃で空を撃って落ちてきた弾があたるような軌道になるはず
ゲームなので適当にパラメータをいじってイメージにあった軌道にすればいい
それでも動かないなら、すまんが原因はわからん
どういう軌道になったの
直線にみえるなら正しい可能性がある
(銃の弾道のように初速度が十分に速いとほぼ直線になる)
この場合、2次方程式のもう1つの解を使えば、
銃で空を撃って落ちてきた弾があたるような軌道になるはず
ゲームなので適当にパラメータをいじってイメージにあった軌道にすればいい
それでも動かないなら、すまんが原因はわからん
387名前は開発中のものです。
2009/08/29(土) 00:10:27ID:kY5tJbv2 Windows7
Directx SDK November2008
の環境でDirectX SDKのDirectX9のサンプルを試しているのですが
サンプルブラウザでインストールしたEXEでは起動しますが、
Visual Studio2008EE SP1でリビルドすると
Debugランタイムでは
コンピューターに d3dx9d.dll がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてみてください。
のエラーが出ます。
Releaseランタイムでは
The Direct3D device has a non-zero reference count, meaning
some objects were not released.
のエラーが出ます。
これを解決するにはどうするのですか?
Directx SDK November2008
の環境でDirectX SDKのDirectX9のサンプルを試しているのですが
サンプルブラウザでインストールしたEXEでは起動しますが、
Visual Studio2008EE SP1でリビルドすると
Debugランタイムでは
コンピューターに d3dx9d.dll がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてみてください。
のエラーが出ます。
Releaseランタイムでは
The Direct3D device has a non-zero reference count, meaning
some objects were not released.
のエラーが出ます。
これを解決するにはどうするのですか?
388名前は開発中のものです。
2009/08/29(土) 00:41:26ID:ekhY5LT7 VisualStudioの「ツール」-「オプション」-「プロジェクトおよびソリューション」-「VC++ディレクトリ」で
「ディレクトリを表示するプロジェクト」に「ライブラリファイル」を選択してd3dx9d.dllのあるディレクトリを追加する
(例、C:\Program Files\Microsoft DirectX SDK (November 2008)\Lib\x86)
「プロジェクト」-「プロパティ」-「構成プロパティ」-「リンカ」-「入力」で
「追加の依存ファイル」にd3dx9d.dllを追加する
「ディレクトリを表示するプロジェクト」に「ライブラリファイル」を選択してd3dx9d.dllのあるディレクトリを追加する
(例、C:\Program Files\Microsoft DirectX SDK (November 2008)\Lib\x86)
「プロジェクト」-「プロパティ」-「構成プロパティ」-「リンカ」-「入力」で
「追加の依存ファイル」にd3dx9d.dllを追加する
389名前は開発中のものです。
2009/08/29(土) 00:44:38ID:im1B0JiC 7でもd3dx9d.dllのエラーは残ったままか。
390名前は開発中のものです。
2009/08/29(土) 00:46:04ID:ekhY5LT7 ごめん、libじゃなくてdllなのか
dllがある場所が分かってるならパスを通せば動くと思うよ
dllがある場所が分かってるならパスを通せば動くと思うよ
391名前は開発中のものです。
2009/08/29(土) 00:53:25ID:kY5tJbv2392名前は開発中のものです。
2009/08/29(土) 01:06:36ID:kY5tJbv2 directx sdkのフォルダにありました。
そしてそれをsystem32のフォルダに突っ込んだら解決しました。
そしてそれをsystem32のフォルダに突っ込んだら解決しました。
393名前は開発中のものです。
2009/08/29(土) 02:16:55ID:ihAb3rV7394名前は開発中のものです。
2009/08/29(土) 16:07:12ID:dF9sCpgQ 初歩的質問なんですが
プレイヤーの位置やミサイル座標などの変数は普通グローバル変数にするもんなんですか?
関数をかいてるとうまくいかないので悩んでいます。
プレイヤーの位置やミサイル座標などの変数は普通グローバル変数にするもんなんですか?
関数をかいてるとうまくいかないので悩んでいます。
395名前は開発中のものです。
2009/08/29(土) 16:11:20ID:KWkdqwG6 書き方なんてどうでもいい。
余計なことを考えている暇があったら完成させることを優先しろ。
余計なことを考えている暇があったら完成させることを優先しろ。
396名前は開発中のものです。
2009/08/29(土) 16:39:21ID:J4wr3SeP >>395が正しいよ。
本当はそれは設計が拙いんだけど、
設計だけ上手くなっても屁の突っ張りにもならない。
アマチュアゲームプログラミングの世界は、
面白いものを作れる奴が一番偉く、
とりあえず完成まで持って行けるやつが次に偉く、
遊べるレベルまで作れる奴が三番目に偉い。
そういう世界。
そんな歪んだ状況になるくらい、ちょっとサンプル動かして作れるつもりの奴、
作れるつもりで参加して途中で投げ出す奴、そういう奴が多すぎるんだ。
だからこそ、プログラミングの上手さよりも、まずは一通りの完成を心がけるべき。
技術は後から付いてくる。
本当はそれは設計が拙いんだけど、
設計だけ上手くなっても屁の突っ張りにもならない。
アマチュアゲームプログラミングの世界は、
面白いものを作れる奴が一番偉く、
とりあえず完成まで持って行けるやつが次に偉く、
遊べるレベルまで作れる奴が三番目に偉い。
そういう世界。
そんな歪んだ状況になるくらい、ちょっとサンプル動かして作れるつもりの奴、
作れるつもりで参加して途中で投げ出す奴、そういう奴が多すぎるんだ。
だからこそ、プログラミングの上手さよりも、まずは一通りの完成を心がけるべき。
技術は後から付いてくる。
397名前は開発中のものです。
2009/08/29(土) 18:52:48ID:z18fO2ms 完成が見えたら後は無駄な作業が待っているだけなんだから、切り上げて次の事に
手を出した方が効率がいいじゃないか。
手を出した方が効率がいいじゃないか。
398名前は開発中のものです。
2009/08/29(土) 22:13:10ID:vrpydYWV399名前は開発中のものです。
2009/08/29(土) 23:44:52ID:z18fO2ms まて、嘘を教えるな。
グローバル変数にしてバグ発生を減らすべきだろ。
グローバル変数にしてバグ発生を減らすべきだろ。
400名前は開発中のものです。
2009/08/30(日) 00:12:41ID:Vp+tSpyX グローバル変数にしてバグ発生を減らす。 とは、はじめて聞いたな
401名前は開発中のものです。
2009/08/30(日) 00:43:29ID:Ipqtkf/M いや、馬鹿に取っては正しいと思うよ。
変に複雑化させるよりも、自分の能力で制御できる範囲に
複雑性を抑えておく必要があるから。
変に複雑化させるよりも、自分の能力で制御できる範囲に
複雑性を抑えておく必要があるから。
2009/08/30(日) 08:19:54ID:sFh4aBMU
一人で作っているのなら、作りたいように作ればいい。
こうしなければいけないなんて方法はないし、
お互いの開発技法を論じても、毎度発生する、
ただの押し付け合いにしかならない。
こうしなければいけないなんて方法はないし、
お互いの開発技法を論じても、毎度発生する、
ただの押し付け合いにしかならない。
2009/08/30(日) 08:31:44ID:Vp+tSpyX
2009/08/30(日) 10:32:50ID:sTPPAqK6
他人の不幸がどうでもよくないというなら
君が「グローバル変数のどこがどう悪くて他にどういう方法がいいのか」を
懇切丁寧に教えてあげればいいんじゃないかな。
君が「グローバル変数のどこがどう悪くて他にどういう方法がいいのか」を
懇切丁寧に教えてあげればいいんじゃないかな。
2009/08/30(日) 12:10:52ID:Ljdw77HH
>394
そういう時は、とりあえずグローバル変数で組んでみて、問題点が出てきたりしたら変えればいい。
そうやって、一つ一つ九州で豚骨ラーメンを食べる。
そういう時は、とりあえずグローバル変数で組んでみて、問題点が出てきたりしたら変えればいい。
そうやって、一つ一つ九州で豚骨ラーメンを食べる。
2009/08/30(日) 13:07:04ID:4N+M4wcS
自分は関数にstatic宣言した変数(構造体)を
ポインタで返して使うかな。
どこからでもアクセスできるのは変わらないけど、
各関数で前もってその関数を呼び出す必要があるので、
その変数はグローバルアクセス可能であり
書き換えに注意するという心構えを持てる。
ポインタで返して使うかな。
どこからでもアクセスできるのは変わらないけど、
各関数で前もってその関数を呼び出す必要があるので、
その変数はグローバルアクセス可能であり
書き換えに注意するという心構えを持てる。
407名前は開発中のものです。
2009/09/03(木) 23:49:56ID:T5vV7TnQ グローバル変数を使わないにしてもmain関数で変数宣言して使い回ししてたら似たようなもんだしな
クラス使えないなら何でもいいから一つ作って、その先にあるものを勉強していくべきだと思う
グローバル変数は使うべきじゃないなんて誰でも気づくし、
ムリに使い続けほどセンスない奴はさっさとリタイヤしていくから心配しなくてもいいと思う
まぁ職場にセンスない奴がいて焦る気持ちは分からんでもない。俺も現役の頃はそうだった
クラス使えないなら何でもいいから一つ作って、その先にあるものを勉強していくべきだと思う
グローバル変数は使うべきじゃないなんて誰でも気づくし、
ムリに使い続けほどセンスない奴はさっさとリタイヤしていくから心配しなくてもいいと思う
まぁ職場にセンスない奴がいて焦る気持ちは分からんでもない。俺も現役の頃はそうだった
408名前は開発中のものです。
2009/09/04(金) 08:08:36ID:9GRbyIPY ベルレ法を使って物体を移動させたいんですが直線運動でなく回転運動をさせたい場合どのようなプログラムになるんでしょうか?
409名前は開発中のものです。
2009/09/11(金) 19:32:49ID:tdiXH7FQ var px:int = player.x / 40;
var py:int = player.y / 40;
//playerの移動
if (left == true) {
if (map[px - 1][py] == 0) {
player.x -= 4;
}
}else>右上下に続く
1マス40ピクセル、15x15の二次元配列でマップを書いているんですが
上のプログラムだと壁からひとつ右のマスに4ピクセル入っただけで壁があることになるのですが
どうすれば上手いこと壁にぶつかれるでしょうか?教えてください。
var py:int = player.y / 40;
//playerの移動
if (left == true) {
if (map[px - 1][py] == 0) {
player.x -= 4;
}
}else>右上下に続く
1マス40ピクセル、15x15の二次元配列でマップを書いているんですが
上のプログラムだと壁からひとつ右のマスに4ピクセル入っただけで壁があることになるのですが
どうすれば上手いこと壁にぶつかれるでしょうか?教えてください。
410名前は開発中のものです。
2009/09/11(金) 20:08:12ID:82Pb8qAz 40ピクセルの大きさのマスを4ピクセルずつ移動するって事は
壁の判定は、ちょうどマスに合っている位置から動き出そうとする瞬間のみにするとかどうよ。
つまり player.x % 40 == 0 の時のみ左右の壁チェックをするとか。
具体的には……
if ( player.x % 40 != 0 ||
map[px - 1][py] == 0 ) {
player.x -= 4;
}
かな?
壁の判定は、ちょうどマスに合っている位置から動き出そうとする瞬間のみにするとかどうよ。
つまり player.x % 40 == 0 の時のみ左右の壁チェックをするとか。
具体的には……
if ( player.x % 40 != 0 ||
map[px - 1][py] == 0 ) {
player.x -= 4;
}
かな?
411名前は開発中のものです。
2009/09/11(金) 20:23:15ID:c5vNUe99var px:int = player.x / 40;
var py:int = player.y / 40;
//playerの移動
if (left == true) {
player.x -= 4;
if (map[px][py] != 0) {
player.x=(px+1)*40;
}
}else>右上下に続く
こんな感じでどうかしら
412名前は開発中のものです。
2009/09/11(金) 20:25:24ID:c5vNUe99//playerの移動
if (left == true) {
player.x -= 4;
if (map[(int)(player.x/40)][(int)(player.y/40)] != 0) {
player.x=(px+1)*40;
}
}else>右上下に続く
すまん訂正
413409
2009/09/11(金) 21:54:54ID:tdiXH7FQ >>410-412
ご回答ありがとうございます。
両方のプログラムで当たるのを確認しました。
412さんのpx+1だと一マス文右に戻ってしまうのでpxのみで済ませてみました。
ありがとうございました。
ご回答ありがとうございます。
両方のプログラムで当たるのを確認しました。
412さんのpx+1だと一マス文右に戻ってしまうのでpxのみで済ませてみました。
ありがとうございました。
414名前は開発中のものです。
2009/09/12(土) 05:22:29ID:z98JJXec RPGのイベント処理で質問です
イベントが起こるとイベント処理専用の関数に飛ばすと思うのですが、
そのときは座標を引数に渡すのでしょうか?
それともイベントマスにあらかじめ通し番号のようなものを振っておき、
イベント関数にはその番号を渡し、select caseで対応できるようにするものでしょうか?
イベントが起こるとイベント処理専用の関数に飛ばすと思うのですが、
そのときは座標を引数に渡すのでしょうか?
それともイベントマスにあらかじめ通し番号のようなものを振っておき、
イベント関数にはその番号を渡し、select caseで対応できるようにするものでしょうか?
415名前は開発中のものです。
2009/09/12(土) 07:01:33ID:O3gITtWc 自分がやりやすい方法で実装しろとしか言いようがない。
416名前は開発中のものです。
2009/09/13(日) 00:08:12ID:AGUGCw1Z var px:int = player.x / 40;
var py:int = player.y / 40;
//playerの移動
if (left == true) {
player.x -= psp;
if ((map[(int)(player.x / 40)][(int)(player.y / 40)] != 0) ||
((map[(int)(player.x / 40)][(int)(player.y / 40+1)] != 0)&&(player.y%40!=0))) {
player.x=(px+0)*40;
}
}else
if (right == true) {
player.x += psp;
if ((map[(int)(player.x / 40 + 1)][(int)(player.y / 40)] != 0)||
((map[(int)(player.x / 40+1)][(int)(player.y / 40+1)] != 0)&&(player.y%40!=0))) {
var xx1:int = player.x;
player.x = (px + 1) * 40;
var xx2:int = player.x;
if ((xx2 - xx1) > 35) {
player.x = (px) * 40;
}
}
}else上下に続く
先日のものです。ボンバーマンのような動きを目指したいのですが。
これだときっちりx40の座標にいないとと曲がれなくて非常に動きにくいものになってしまいます。
移動速度が変わると壁も越えてしまいます。あと左右でプログラムの量がだいぶ違ってしまうんですが
もっと簡略化などできないものでしょうか・・・、実際のボンバーマンのソースなどが気になります。。
どなたがご指導お願い致します。
var py:int = player.y / 40;
//playerの移動
if (left == true) {
player.x -= psp;
if ((map[(int)(player.x / 40)][(int)(player.y / 40)] != 0) ||
((map[(int)(player.x / 40)][(int)(player.y / 40+1)] != 0)&&(player.y%40!=0))) {
player.x=(px+0)*40;
}
}else
if (right == true) {
player.x += psp;
if ((map[(int)(player.x / 40 + 1)][(int)(player.y / 40)] != 0)||
((map[(int)(player.x / 40+1)][(int)(player.y / 40+1)] != 0)&&(player.y%40!=0))) {
var xx1:int = player.x;
player.x = (px + 1) * 40;
var xx2:int = player.x;
if ((xx2 - xx1) > 35) {
player.x = (px) * 40;
}
}
}else上下に続く
先日のものです。ボンバーマンのような動きを目指したいのですが。
これだときっちりx40の座標にいないとと曲がれなくて非常に動きにくいものになってしまいます。
移動速度が変わると壁も越えてしまいます。あと左右でプログラムの量がだいぶ違ってしまうんですが
もっと簡略化などできないものでしょうか・・・、実際のボンバーマンのソースなどが気になります。。
どなたがご指導お願い致します。
417名前は開発中のものです。
2009/09/13(日) 00:16:39ID:eXPdHMCQ 座標じゃなくて、チップ単位だな>ボンバーマン。
418名前は開発中のものです。
2009/09/13(日) 00:19:33ID:ufmFSA1d アドバイスもらうだけならともかく、プログラムを作り直してくれというのはさすがに感心しないな。
原因と結果と、自分の目標がはっきりしてるのなら自分で試行錯誤できるはずだよ。
原因と結果と、自分の目標がはっきりしてるのなら自分で試行錯誤できるはずだよ。
419名前は開発中のものです。
2009/09/13(日) 00:32:47ID:QM+uLV1D なんかもうプログラムごちゃごちゃに見える
移動に関する部分、一度全部まっさらにして書き直したほうが良い気がする…
移動に関する部分、一度全部まっさらにして書き直したほうが良い気がする…
420名前は開発中のものです。
2009/09/13(日) 00:50:42ID:2/1HGZrm >>414
自分は座標を引数に渡す。
その座標と、設置してある全イベントを比べて、
位置が同じのを実行していく。
もちろん、マップに入った時に始まるとか、
位置の関係ない開始方法のイベントでは渡さない。
(いろんな開始方法を同じように扱うため、
範囲外である-1を渡している)
自分は座標を引数に渡す。
その座標と、設置してある全イベントを比べて、
位置が同じのを実行していく。
もちろん、マップに入った時に始まるとか、
位置の関係ない開始方法のイベントでは渡さない。
(いろんな開始方法を同じように扱うため、
範囲外である-1を渡している)
421名前は開発中のものです。
2009/09/13(日) 07:39:20ID:dEvmTtL8422名前は開発中のものです。
2009/09/13(日) 17:50:18ID:PX8WBuTn 俺は一定時間記憶してるキーヒストリー作って曲がらせた
423名前は開発中のものです。
2009/09/13(日) 18:31:41ID:AGUGCw1Z 軽々しく質問をして申し訳ありませんでした。
一度白紙から自分で頑張ってみます。回答ありがとうございました。
一度白紙から自分で頑張ってみます。回答ありがとうございました。
424名前は開発中のものです。
2009/09/16(水) 20:45:32ID:9Gk9YNxC ゲームループについて質問があるのですが
@とAの形式、どちらの方が一般的でしょうか?
@
while(1)
{
入力(キーボード、パッド)
ゲーム処理
出力(描画、音)
}
A
while(1)
{
if( イベントあれば)
{
入力(キーボード、パッド)
}
else
{
ゲーム処理
出力(描画、音)
}
}
@とAの形式、どちらの方が一般的でしょうか?
@
while(1)
{
入力(キーボード、パッド)
ゲーム処理
出力(描画、音)
}
A
while(1)
{
if( イベントあれば)
{
入力(キーボード、パッド)
}
else
{
ゲーム処理
出力(描画、音)
}
}
425名前は開発中のものです。
2009/09/16(水) 21:12:41ID:Acu1/qMJ いや、2だとおかしいだろ。入力と出力を同時に行えない。
1の場合はタイトル画面やメニュー画面で入力や処理や出力を変えたいときに不便。
書くと長くなるので、http://dixq.net/g/#34
こんな感じでいいと思う。正直、動けばなんでもいいし。
1の場合はタイトル画面やメニュー画面で入力や処理や出力を変えたいときに不便。
書くと長くなるので、http://dixq.net/g/#34
こんな感じでいいと思う。正直、動けばなんでもいいし。
426名前は開発中のものです。
2009/09/16(水) 21:45:12ID:TMi/1sDM elseが無ければ2はまぁあるな
でも意味的には1と変わらなくなるけどね
でも意味的には1と変わらなくなるけどね
427名前は開発中のものです。
2009/09/16(水) 22:06:47ID:MfrYy8zd 入力処理でイベント解消してるかもしれんじゃん。
428名前は開発中のものです。
2009/09/17(木) 00:55:45ID:1euYuxFh 2ch初心者です。
現在、学校の課題でX-Window Systemとかいうものでゲームを開発するというのが出されているのですが、
学校の開発環境はLinuxでviエディタで開発しています。
自宅で開発したいと思ったのですが、C++でX-Window Systemを開発することはできますか?
当方、あまり知識がなく困っています。
Cの場合、コンパイルするときに
gcc abc.c -lX11 -L/usr/X11R6/lib
この記述が必要らしいのですが、C++の場合は
ライブラリを追加するんですかね?
そのライブラリは標準とかじゃなくてインストしないとないんですかね?
もうなんか分からなさ過ぎて意味不明ですみません。
現在、学校の課題でX-Window Systemとかいうものでゲームを開発するというのが出されているのですが、
学校の開発環境はLinuxでviエディタで開発しています。
自宅で開発したいと思ったのですが、C++でX-Window Systemを開発することはできますか?
当方、あまり知識がなく困っています。
Cの場合、コンパイルするときに
gcc abc.c -lX11 -L/usr/X11R6/lib
この記述が必要らしいのですが、C++の場合は
ライブラリを追加するんですかね?
そのライブラリは標準とかじゃなくてインストしないとないんですかね?
もうなんか分からなさ過ぎて意味不明ですみません。
429名前は開発中のものです。
2009/09/17(木) 01:12:44ID:WBKCHyYB430名前は開発中のものです。
2009/09/17(木) 01:22:42ID:cp1RSSKv 誰もレスしないと思うからおれがしてやるよ
まずスレ違いだし、そこまでキーワード知ってるんなら
linux C++ コンパイルとかでググればg++とか出んだろカス
そんなんじゃ開発なんて到底無理
お前は向いてない
消えろカス
まずスレ違いだし、そこまでキーワード知ってるんなら
linux C++ コンパイルとかでググればg++とか出んだろカス
そんなんじゃ開発なんて到底無理
お前は向いてない
消えろカス
431名前は開発中のものです。
2009/09/17(木) 01:35:47ID:1euYuxFh432名前は開発中のものです。
2009/09/17(木) 01:48:25ID:ssx4Df8S433名前は開発中のものです。
2009/09/17(木) 01:49:18ID:ssx4Df8S なんか間違えた。
C++に関してはのくだりは、gccじゃなくて、g++使えって意味ね。
C++に関してはのくだりは、gccじゃなくて、g++使えって意味ね。
434名前は開発中のものです。
2009/09/17(木) 01:51:31ID:cp1RSSKv 先生に聞けよ
gccが入ってる環境ならg++も大抵入ってる
g++ってのはC++用のコンパイラ
標準ライブラリは勝手にコンパイラがリンクしてくれるから
指定の必要なし
つまりgccをg++に変えればよろし
再度言う
お前は向いてない
消えろカス
gccが入ってる環境ならg++も大抵入ってる
g++ってのはC++用のコンパイラ
標準ライブラリは勝手にコンパイラがリンクしてくれるから
指定の必要なし
つまりgccをg++に変えればよろし
再度言う
お前は向いてない
消えろカス
435名前は開発中のものです。
2009/09/17(木) 02:13:03ID:1euYuxFh えっと、質問の仕方が悪かったようです。
ほんと申し訳ないです。
C++で、
#include <X11/Xlib.h>
#include <X11/Xutil.h>
を記述してサーバ接続だったり、ウィンドウ表示だったりの記述を書いて、
C++でデバッグしたいんです。
けれど、
fatal error C1083: include ファイルを開けません。'X11/Xlib.h': No such file or directory
こういったエラーが出されるのは、Xlib.hが無いから、だというのは分かるんです。
それをLinuxのCでは
gcc abc.c -lX11 -L/usr/X11R6/lib
こういう風にリンク?を書いてるから出来るんだと思うんです。
結論として、C++で実行するには
・C++でコードを書いてLinuxでg++で実行する(C++では実行できない)
・ライブラリをインストールする必要がある
とかいうことなんですか?
向いてないのは分かります。
むしろしたくないのですが、課題なので仕方ないのです。
ほんとうに申し訳ありませんです。
ほんと申し訳ないです。
C++で、
#include <X11/Xlib.h>
#include <X11/Xutil.h>
を記述してサーバ接続だったり、ウィンドウ表示だったりの記述を書いて、
C++でデバッグしたいんです。
けれど、
fatal error C1083: include ファイルを開けません。'X11/Xlib.h': No such file or directory
こういったエラーが出されるのは、Xlib.hが無いから、だというのは分かるんです。
それをLinuxのCでは
gcc abc.c -lX11 -L/usr/X11R6/lib
こういう風にリンク?を書いてるから出来るんだと思うんです。
結論として、C++で実行するには
・C++でコードを書いてLinuxでg++で実行する(C++では実行できない)
・ライブラリをインストールする必要がある
とかいうことなんですか?
向いてないのは分かります。
むしろしたくないのですが、課題なので仕方ないのです。
ほんとうに申し訳ありませんです。
436名前は開発中のものです。
2009/09/17(木) 02:19:15ID:ikGHLMwf インクルードパスが通ってないだけだろ。
スレ違いだと分かっててここで続けるなよクズが。とっとと失せろ。
スレ違いだと分かっててここで続けるなよクズが。とっとと失せろ。
437名前は開発中のものです。
2009/09/17(木) 03:51:18ID:XYjt8Ojw >435
とりあえずこっちに戻れ
C++でX Window System の開発
http://pc11.2ch.net/test/read.cgi/gamedev/1253115361/
g++ -Wall -o foo foo.cxx -lX11 -L/usr/X11R6/lib
ってかMakefile作れ、あと今さらXを直叩きとかないわぁ
とりあえずこっちに戻れ
C++でX Window System の開発
http://pc11.2ch.net/test/read.cgi/gamedev/1253115361/
g++ -Wall -o foo foo.cxx -lX11 -L/usr/X11R6/lib
ってかMakefile作れ、あと今さらXを直叩きとかないわぁ
438名前は開発中のものです。
2009/09/17(木) 07:08:56ID:ySq31WPj439名前は開発中のものです。
2009/09/17(木) 07:17:26ID:4nOkpMzw >>435
早く消えろよ
早く消えろよ
440名前は開発中のものです。
2009/09/17(木) 10:40:02ID:xzC51KWx441名前は開発中のものです。
2009/09/17(木) 10:48:41ID:ssx4Df8S >>435の人気に嫉妬
442名前は開発中のものです。
2009/09/26(土) 09:22:03ID:E2IXiY4A 確定しました。やっぱり来るみたい。今回は10月1日までは警戒が必要。
千葉神奈川静岡東京茨城や他の関東が危険
(重要事項につき会員同時公開) 2009/09/25
(5) なお、HAARPに誘引されて、関東地方ではM5前後の中規模地震が発生するだろう。
(3) HAARPの影響は大気イオンのみならず、気象現象や通信、動物の狂乱状況をも生み出し、
疑似宏観異常現象を発現させる。いわば環境テロである。
(2) HAARPは電磁波を宇宙に向けて放出、電離層を刺激し、反射して地表付近の大気イオンに影響を与えるものと聞いている。
HAARPの運用状況と大気イオン濃度変動を見比べると、明らかに同期しているとの指摘を多数頂戴した
大気イオン地震予測研究会e-PISCO
理事長 弘原海 清 大阪市立大学名誉教授
http://www.e-★pi★sco.jp/r_i★on/at★tention/090925weekly_z.html
http://s01.megalodon.jp/2009-0925-1414-33/www.e-★pisco.jp/r_i★on/attention/090925weekly_z.html
http://s02.megalodon.jp/2009-0926-0102-46/www.e-★pisco.jp/r_i★on/attention/090924weekly_e.html
HAARPの動きを四川地震のパターンに今回に当てはめると9月27日が危険
http://gol★den★tamat★ama.bl★og8★4.fc2.com/blo★g-date-20090922.html
http://s03.megalodon.jp/2009-0926-0114-47/goldentamatama.bl★og8★4.fc2.com/bl★og-date-20090922.html
世界的科学者がハープは地球の気候や人の脳を損傷させる兵器の疑いがあると
http://www.yo★utube.com/wat★ch?v=8A★MlqRsHUXI&feature=player_embe★dded#t=51★1
2ちゃんねる地震情報
http://li★ve2★4.2ch.net/eq/
9.11事件、破壊されたWTCで働くユダヤ人は1名も死んでいませんでした。
http://da★mhantaikanuma.we★b.infoseek.co.jp/Sonota/91★1dead.html
地震来たら権力者達が犯人。・・・ユダヤ人は大量に人を殺しています。
千葉神奈川静岡東京茨城や他の関東が危険
(重要事項につき会員同時公開) 2009/09/25
(5) なお、HAARPに誘引されて、関東地方ではM5前後の中規模地震が発生するだろう。
(3) HAARPの影響は大気イオンのみならず、気象現象や通信、動物の狂乱状況をも生み出し、
疑似宏観異常現象を発現させる。いわば環境テロである。
(2) HAARPは電磁波を宇宙に向けて放出、電離層を刺激し、反射して地表付近の大気イオンに影響を与えるものと聞いている。
HAARPの運用状況と大気イオン濃度変動を見比べると、明らかに同期しているとの指摘を多数頂戴した
大気イオン地震予測研究会e-PISCO
理事長 弘原海 清 大阪市立大学名誉教授
http://www.e-★pi★sco.jp/r_i★on/at★tention/090925weekly_z.html
http://s01.megalodon.jp/2009-0925-1414-33/www.e-★pisco.jp/r_i★on/attention/090925weekly_z.html
http://s02.megalodon.jp/2009-0926-0102-46/www.e-★pisco.jp/r_i★on/attention/090924weekly_e.html
HAARPの動きを四川地震のパターンに今回に当てはめると9月27日が危険
http://gol★den★tamat★ama.bl★og8★4.fc2.com/blo★g-date-20090922.html
http://s03.megalodon.jp/2009-0926-0114-47/goldentamatama.bl★og8★4.fc2.com/bl★og-date-20090922.html
世界的科学者がハープは地球の気候や人の脳を損傷させる兵器の疑いがあると
http://www.yo★utube.com/wat★ch?v=8A★MlqRsHUXI&feature=player_embe★dded#t=51★1
2ちゃんねる地震情報
http://li★ve2★4.2ch.net/eq/
9.11事件、破壊されたWTCで働くユダヤ人は1名も死んでいませんでした。
http://da★mhantaikanuma.we★b.infoseek.co.jp/Sonota/91★1dead.html
地震来たら権力者達が犯人。・・・ユダヤ人は大量に人を殺しています。
443名前は開発中のものです。
2009/10/12(月) 23:04:42ID:Smf+4Qbv ゲームで使う画像の種類で悩んでいます。
tgaやdds,png等アルファチャンネルが使えるもので何を使うのが
いいでしょうか…
tgaやdds,png等アルファチャンネルが使えるもので何を使うのが
いいでしょうか…
444名前は開発中のものです。
2009/10/12(月) 23:29:52ID:AQICrxba445みけ
2009/11/21(土) 14:09:05ID:K1cRQZx9 はじめまして。
actionscriptでボンバーマンを作っています。
爆弾の火炎がブロックを突き抜けないようにするにはどうしたらよいですか?
actionscriptでボンバーマンを作っています。
爆弾の火炎がブロックを突き抜けないようにするにはどうしたらよいですか?
446みけ
2009/11/21(土) 14:10:44ID:K1cRQZx9 はじめまして。
actionscriptでボンバーマンを作っています。
爆弾の火炎がブロックを突き抜けないようにするにはどうしたらよいですか?
actionscriptでボンバーマンを作っています。
爆弾の火炎がブロックを突き抜けないようにするにはどうしたらよいですか?
447名前は開発中のものです。
2009/11/21(土) 15:26:28ID:ooIk2Hg8 ボンバーマンが壁を突き抜けないようにできているのなら
自ずと解るんじゃないかな。
自ずと解るんじゃないかな。
448みけ
2009/11/21(土) 15:57:19ID:K1cRQZx9 確かに、ボンバーマンは壁を突き抜けませんが、爆弾の火炎は十字に爆発するので、
ブロックがあるところで部分的に突き抜けないようにしないとならないんです。
その方法が知りたいです。
ブロックがあるところで部分的に突き抜けないようにしないとならないんです。
その方法が知りたいです。
449みけ
2009/11/21(土) 16:10:29ID:K1cRQZx9 爆弾の火炎の件、解決しました。回答者の方ありがとうございました。
450みけ
2009/11/21(土) 18:13:06ID:K1cRQZx9 火炎の件、やはり解決しませんでした。ボンバーマンと
一緒のことをすると、火炎の十字のかたまりが、突き抜けず
手前で止まるだけです。言葉足らずですみませんが、正式には
ブロックは突き抜けますが、その突き抜けた部分を見えなくしたいんです。
どなたかわかる方がいらっしゃたら教えて下さい。
一緒のことをすると、火炎の十字のかたまりが、突き抜けず
手前で止まるだけです。言葉足らずですみませんが、正式には
ブロックは突き抜けますが、その突き抜けた部分を見えなくしたいんです。
どなたかわかる方がいらっしゃたら教えて下さい。
451名前は開発中のものです。
2009/11/21(土) 18:50:00ID:B/+Ptzyr プログラミング言語の前に日本語の勉強からはじめよう
452名前は開発中のものです。
2009/11/21(土) 22:48:11ID:5gUZ2QdM 日本語なんか日常会話ができれば適当でいいよ。
それより英語を勉強しれ、マジで。
それより英語を勉強しれ、マジで。
453名前は開発中のものです。
2009/11/22(日) 00:09:44ID:NM+RZ4x0454名前は開発中のものです。
2009/11/22(日) 00:43:44ID:o94KfNkS >>450
俺のスーパー適当解釈によると
火炎が伸びる処理→ブロックと重なったか判定 true→ブロック破壊&火炎非表示の処理
という流れなのにプレイヤーの移動判定をそのまま使ったせいで
障害物の手前で火炎が伸びずに止まってしまい
ブロックと火炎が重ならないから破壊処理が呼ばれなくて困った!
・・・だとしたら伸びる予定の座標にブロックがアル/ナシ判定を追加すりゃいい
なににせよ、もうちょっと詳しく具体的に日本語でおk
俺のスーパー適当解釈によると
火炎が伸びる処理→ブロックと重なったか判定 true→ブロック破壊&火炎非表示の処理
という流れなのにプレイヤーの移動判定をそのまま使ったせいで
障害物の手前で火炎が伸びずに止まってしまい
ブロックと火炎が重ならないから破壊処理が呼ばれなくて困った!
・・・だとしたら伸びる予定の座標にブロックがアル/ナシ判定を追加すりゃいい
なににせよ、もうちょっと詳しく具体的に日本語でおk
455名前は開発中のものです。
2009/11/22(日) 01:10:15ID:RhhD+ORz たぶん描画する画像の問題だろ。
●〓〓〓□■■ こうしたいのが
●〓〓⊃□■■ こうなっちまう
とか。
●〓〓〓□■■ こうしたいのが
●〓〓⊃□■■ こうなっちまう
とか。
456名前は開発中のものです。
2009/11/22(日) 04:14:45ID:k4wHqViJ >>450
そんなこと聞かなきゃ分からないようじゃ、やめた方がいい。
ブロックを手前から描けばいいとか。
そんなこと聞かなきゃ分からないようじゃ、やめた方がいい。
ブロックを手前から描けばいいとか。
457名前は開発中のものです。
2009/11/22(日) 05:10:12ID:d0fpruD0 ttp://www.plustarnet.com/aspil/Programming/
ここのプログラムエラーばっかで動かない・・・
ttp://www.plustarnet.com/aspil/Programming/console01.htm
たとえばこれとか動きますか?始めたばっかでかれこれ三時間ほど格闘してパソコンぶちこわしそう
ここのプログラムエラーばっかで動かない・・・
ttp://www.plustarnet.com/aspil/Programming/console01.htm
たとえばこれとか動きますか?始めたばっかでかれこれ三時間ほど格闘してパソコンぶちこわしそう
458名前は開発中のものです。
2009/11/22(日) 07:09:53ID:8hLrf9nE 一応動くけど
・インクルードしてる Console.h も用意する http://www.plustarnet.com/aspil/Programming/CConsole.htm
・void main( void ) → 修正がいる場合もある
標準的なのは int main( int argc, char **argv ) あたりですか
うちは VC2008 IDE なので int _tmain( int argc, _TCHAR *argv[] )
・static s_nTime; → int が抜けてるから static int s_nTime; にする
始めたばかりならCや開発環境の使い方を学ぶ必要があるよ
・インクルードしてる Console.h も用意する http://www.plustarnet.com/aspil/Programming/CConsole.htm
・void main( void ) → 修正がいる場合もある
標準的なのは int main( int argc, char **argv ) あたりですか
うちは VC2008 IDE なので int _tmain( int argc, _TCHAR *argv[] )
・static s_nTime; → int が抜けてるから static int s_nTime; にする
始めたばかりならCや開発環境の使い方を学ぶ必要があるよ
459みけ
2009/11/22(日) 09:37:26ID:YNG3oyS5 いろいろありがとうございます。日本語勉強しないとだめですね。爆弾の件、
図解すると、
■ ■
■ ■
■○■■ こうなるのを ◇○◇ こうしたいです。
■ ■
■ ■
○は爆弾、■は火炎、◇は固ブロック。
図解すると、
■ ■
■ ■
■○■■ こうなるのを ◇○◇ こうしたいです。
■ ■
■ ■
○は爆弾、■は火炎、◇は固ブロック。
460みけ
2009/11/22(日) 09:39:28ID:YNG3oyS5 いろいろありがとうございます。日本語勉強しないとだめですね。爆弾の件、
図解すると、
■ ■
■ ■
■○■■ こうなるのを ◇○◇ こうしたいです。
■ ■
■ ■
○は爆弾、■は火炎、◇は固ブロック。
図解すると、
■ ■
■ ■
■○■■ こうなるのを ◇○◇ こうしたいです。
■ ■
■ ■
○は爆弾、■は火炎、◇は固ブロック。
461みけ
2009/11/22(日) 09:41:48ID:YNG3oyS5 図がうまくいかないので何度もすみません。
図解すると、
■ ■
■ ■
■○■■ こうなるのを ◇○◇ こうしたいです。
■ ■
■ ■
○は爆弾、■は火炎、◇は固ブロック。
図解すると、
■ ■
■ ■
■○■■ こうなるのを ◇○◇ こうしたいです。
■ ■
■ ■
○は爆弾、■は火炎、◇は固ブロック。
462名前は開発中のものです。
2009/11/22(日) 10:34:00ID:kGsksMh7 その図だと>>450で言ってる
>火炎の十字のかたまりが、突き抜けず手前で止まるだけです。
で、問題ないように思うのだが?
……ひょっとして、十字の火炎ってブロックごとに分割されてない、一塊のキャラなの?
>火炎の十字のかたまりが、突き抜けず手前で止まるだけです。
で、問題ないように思うのだが?
……ひょっとして、十字の火炎ってブロックごとに分割されてない、一塊のキャラなの?
463名前は開発中のものです。
2009/11/22(日) 11:38:02ID:k4wHqViJ >>日本語勉強しないとだめですね。
皮肉言われてるのにまるばかだな。
火炎を描こうとしている所にブロックがありますか?
あるなら、描かない。それ以降、火炎は描かない。
皮肉言われてるのにまるばかだな。
火炎を描こうとしている所にブロックがありますか?
あるなら、描かない。それ以降、火炎は描かない。
464名前は開発中のものです。
2009/11/22(日) 14:01:31ID:bVDBV8jf 仮想マップを2つ使って解決すればいいよ
壁(障害物)がある場所とない場所の情報を扱う地形マップと
爆弾が置かれている場所と置かれていない場所の情報を扱うマップ
(爆弾配置マップとでも呼称すればいい)
炎は2つの仮想マップを参照して再帰で解決
はいお終い、簡単だろ?
壁(障害物)がある場所とない場所の情報を扱う地形マップと
爆弾が置かれている場所と置かれていない場所の情報を扱うマップ
(爆弾配置マップとでも呼称すればいい)
炎は2つの仮想マップを参照して再帰で解決
はいお終い、簡単だろ?
465名前は開発中のものです。
2009/11/23(月) 16:17:25ID:H/bHlmfN actionscriptで、キャラクターを一区間歩かせる方法を教えてください。
466名前は開発中のものです。
2009/11/23(月) 16:27:32ID:DESnmY0U actionscriptとやらは知らないが
キャラクタを一区間移動させたい時は
例えば一区間の幅がnドットの場合は、キャラのXorY座標が
nで割り切れるまで移動させるアルゴリズムを用意すればよい
キャラクタを一区間移動させたい時は
例えば一区間の幅がnドットの場合は、キャラのXorY座標が
nで割り切れるまで移動させるアルゴリズムを用意すればよい
467名前は開発中のものです。
2009/11/23(月) 16:50:25ID:DKN6YdUZ ここは「Windowsゲームプログラミング」スレだから
どう見てもスレ違いだがな・・・
どう見てもスレ違いだがな・・・
468名前は開発中のものです。
2009/11/24(火) 03:33:12ID:wxINmZRU469名前は開発中のものです。
2009/11/24(火) 04:38:39ID:Yv5cTTds ああフラッシュがWindowsじゃないって意味かと思ってたが
フラッシュもWindowsに入るっちゃあ入るのか
フラッシュもWindowsに入るっちゃあ入るのか
470名前は開発中のものです。
2009/11/24(火) 20:00:33ID:kNRV2VR9 んなこと言い出したらたいがいのものはwindowsの内に入っちまうジャン
471名前は開発中のものです。
2009/11/25(水) 07:17:26ID:ggn3dqwd MacでもFlash作れるしね
FLASHでゲームをツクール
http://pc11.2ch.net/test/read.cgi/gamedev/1005050054/
こちらは1年前でレス終わってる
FLASHでゲームをツクール
http://pc11.2ch.net/test/read.cgi/gamedev/1005050054/
こちらは1年前でレス終わってる
472名前は開発中のものです。
2009/11/26(木) 00:58:53ID:mKVhhsnM それ以前にゲ製作技術の真上にFLASHの板が
473名前は開発中のものです。
2009/12/10(木) 13:24:31ID:mMLW3axY (´・ω・`)ねことあひるが力を合わせてみんなの幸せをーーーー♪
招き猫ダック♪
招き猫ダック♪
474名前は開発中のものです。
2009/12/10(木) 19:11:48ID:dpejkqOL まぁ、ニートと低学歴が力を合わせても何にも出来ないのが
この板の現実だったりするんだけどね。
この板の現実だったりするんだけどね。
475名前は開発中のものです。
2009/12/13(日) 11:03:07ID:m1TWMvid やる気が足りないんだよ
476名前は開発中のものです。
2009/12/19(土) 15:17:11ID:SrqWqwLz やる気&&時間&&将来==完成品
477名前は開発中のものです。
2009/12/20(日) 01:25:15ID:YJnDqFE2 やる気と経験はあるけど、時間がないですわ。
478名前は開発中のものです。
2009/12/20(日) 01:34:57ID:in60m6r4 やる気は時間に反比例しますお
479名前は開発中のものです。
2009/12/20(日) 07:22:57ID:cqN+UuPk 時間が0の時は、やっる気無限大
480名前は開発中のものです。
2009/12/20(日) 08:01:42ID:WnHpA5qg やる気がビックバン
481名前は開発中のものです。
2009/12/20(日) 18:24:19ID:YGQ+ppzg >>479
大掃除しなきゃいけないのに古いアルバムを見つけてしまった状態
大掃除しなきゃいけないのに古いアルバムを見つけてしまった状態
482マサヒロ
2009/12/21(月) 18:41:32ID:wXL8lMBU 悪 鬼
マ サ ヒ ロ様
参 上
マ サ ヒ ロ様
参 上
483名前は開発中のものです。
2009/12/31(木) 04:34:32ID:FmcWQtTy ゲーム修正パッチの作り方を説明しているサイトとかご存知ないですか?
EXEを差し替えるとかではなく中にあるデータファイルとかも
追加したりし差し替えたいのですが
EXEを差し替えるとかではなく中にあるデータファイルとかも
追加したりし差し替えたいのですが
484名前は開発中のものです。
2009/12/31(木) 07:05:16ID:zxA2fJ4G >>483
単に上書きコピーするだけじゃないの?
アーカイブ内のファイルを置き換えたいというなら、バラしてコピーして作り直す。
1ファイルのバイナリ差分でアップデートしたいというなら、XsDFみたいなツールを
使うか、同等のものを自分でつくればOK。
単に上書きコピーするだけじゃないの?
アーカイブ内のファイルを置き換えたいというなら、バラしてコピーして作り直す。
1ファイルのバイナリ差分でアップデートしたいというなら、XsDFみたいなツールを
使うか、同等のものを自分でつくればOK。
485名前は開発中のものです。
2009/12/31(木) 17:15:48ID:RQA0U+Bj 失礼します。質問よろしいでしょうか?
たとえば画面内において、それぞれ異なるIDを有したボールかなにかが飛び交っているものとします。
その状況でいずれかのボールをクリックした場合、それを識別するにはどのような方法があるでしょうか?
またボールが静止しているとした場合には、どのような手段を用いるのが賢いでしょうか?
いまだコーディングは開始しておらず、自分で組めるだろう範囲を考えながら仕様を確定している段階です。
当初クリック判定は座標から判別すればいいだろうと考えていましたが、上述のような状況に直面して考え直しています。
GUIプログラミングは初心者なのでサイトを見てノウハウを学ばせていただこうと思いましたが、
調べ方が悪いのでしょうか、基礎的な部分を解説してくださるサイトが見つからず、質問させていただいた次第です。
言語はC#を想定していますが、可能ならば言語依存の少ない方法を教示していただけると嬉しいです。
お忙しい時期でしょうが、よろしくお願い致します。
たとえば画面内において、それぞれ異なるIDを有したボールかなにかが飛び交っているものとします。
その状況でいずれかのボールをクリックした場合、それを識別するにはどのような方法があるでしょうか?
またボールが静止しているとした場合には、どのような手段を用いるのが賢いでしょうか?
いまだコーディングは開始しておらず、自分で組めるだろう範囲を考えながら仕様を確定している段階です。
当初クリック判定は座標から判別すればいいだろうと考えていましたが、上述のような状況に直面して考え直しています。
GUIプログラミングは初心者なのでサイトを見てノウハウを学ばせていただこうと思いましたが、
調べ方が悪いのでしょうか、基礎的な部分を解説してくださるサイトが見つからず、質問させていただいた次第です。
言語はC#を想定していますが、可能ならば言語依存の少ない方法を教示していただけると嬉しいです。
お忙しい時期でしょうが、よろしくお願い致します。
486名前は開発中のものです。
2009/12/31(木) 17:21:12ID:XywEK1j8 座標で判断すればいいだろ。
なにが問題だと言うんだ?
なにが問題だと言うんだ?
487名前は開発中のものです。
2009/12/31(木) 17:52:22ID:RQA0U+Bj >>486
ボールにカーソルを合わせると変色するなどといった場合も、
foreach 全オブジェクト if X座標判定 and Y座標判定
のような処理を行っているのでしょうか?
だいぶ前に別スレにて「普通はそんな非効率的なことはしない」と聞いていたので、
何かしら別の方法があるかと思っていて、しかしながら他の方法が想像つかなかったので質問したのですが、
上記発言の解釈が間違ってたんでしょうか……。それでしたら申し訳ないです。
素早いお返事ありがとうございました。
ボールにカーソルを合わせると変色するなどといった場合も、
foreach 全オブジェクト if X座標判定 and Y座標判定
のような処理を行っているのでしょうか?
だいぶ前に別スレにて「普通はそんな非効率的なことはしない」と聞いていたので、
何かしら別の方法があるかと思っていて、しかしながら他の方法が想像つかなかったので質問したのですが、
上記発言の解釈が間違ってたんでしょうか……。それでしたら申し訳ないです。
素早いお返事ありがとうございました。
488名前は開発中のものです。
2009/12/31(木) 22:29:14ID:g+v1XGwf 初心者すぎて基礎から勉強しないと話にならないお
489名前は開発中のものです。
2010/01/01(金) 01:28:27ID:+rsZCvF1 >>487
全オブジェクトっていう言い方が気になるが、概念的にはそれでいいんでないの?
何らかのイベントでマウスの座標を取得、その後その座標をつかって、オブジェクト毎でヒットテストするってことでしょ。
それ以外にやり方あるのかな?
全オブジェクトっていう言い方が気になるが、概念的にはそれでいいんでないの?
何らかのイベントでマウスの座標を取得、その後その座標をつかって、オブジェクト毎でヒットテストするってことでしょ。
それ以外にやり方あるのかな?
490名前は開発中のものです。
2010/01/01(金) 19:30:22ID:iY6VPf2L491名前は開発中のものです。
2010/01/01(金) 19:48:54ID:+HYk+utg いや、GUIはというがそれ以外も初心者なんだろう?
どうでもいいから手を動かそうぜ
どうでもいいから手を動かそうぜ
492名前は開発中のものです。
2010/01/07(木) 23:25:49ID:dh68R4A/ 画像の表示って大抵はファイル名で指定するよね?
でも、独自のファイル形式にしたい(BMPに付加情報をつけたもの)
すると、ファイル名の指定の関数が使えない、たすけて
でも、独自のファイル形式にしたい(BMPに付加情報をつけたもの)
すると、ファイル名の指定の関数が使えない、たすけて
493名前は開発中のものです。
2010/01/07(木) 23:27:49ID:ds4UNTST ファイルを読み込んで自分でメモリー上で展開しろ。
494名前は開発中のものです。
2010/01/07(木) 23:37:33ID:dh68R4A/495名前は開発中のものです。
2010/01/07(木) 23:46:35ID:TMdG719d SetPixel()遅い
496名前は開発中のものです。
2010/01/08(金) 00:13:08ID:l0tohAlf >>495
ありがとうございます
ピクセルを後から操作する気はないのですが、おかげさまで道が開けてきました
ImageFromStreamとかなんとかで配列をデータにできるとかなんとか。
いい感じで脳が限界です
ありがとうございます
ピクセルを後から操作する気はないのですが、おかげさまで道が開けてきました
ImageFromStreamとかなんとかで配列をデータにできるとかなんとか。
いい感じで脳が限界です
497名前は開発中のものです。
2010/01/15(金) 14:16:35ID:fJ32mWjV WDDM のバージョンを調べたいのですが、
DXDIAG の szDriverModelLocalized を見る以外に方法はないでしょうか?
レジストリや WMI で探してみたのですが見つからなくて…。
DXDIAG の szDriverModelLocalized を見る以外に方法はないでしょうか?
レジストリや WMI で探してみたのですが見つからなくて…。
498名前は開発中のものです。
2010/02/04(木) 23:22:36ID:tPmHG2jz 合計5000ポリゴンある地面の上に複数のキャラクターを立たせたいのですが
そうなるとどのポリゴンの上に乗っているかの情報が必要になるんですが
全てのキャラクターが毎フレーム5000ポリゴンとの当たり判定を取るとプログラムが非常に遅くなります
処理を劇的に軽くする何かいい方法はないでしょうか?
そうなるとどのポリゴンの上に乗っているかの情報が必要になるんですが
全てのキャラクターが毎フレーム5000ポリゴンとの当たり判定を取るとプログラムが非常に遅くなります
処理を劇的に軽くする何かいい方法はないでしょうか?
499名前は開発中のものです。
2010/02/05(金) 00:50:33ID:CKGSeD5Z >>498
区画分けするとか、判定用にもっと粗い地面情報で判定するとか。
500ポリゴンごと10区画にわけたら、判定回数は5000回から510回になるし、
判定用の地面として500ポリゴンにしたら、500回になるし。後者の方が実装は楽だな。
前者だと、準備とか修正とかめんどくさそう。でも、前者の方が効果は高いな。100区画にわければ、
150回だもんな。
区画分けするとか、判定用にもっと粗い地面情報で判定するとか。
500ポリゴンごと10区画にわけたら、判定回数は5000回から510回になるし、
判定用の地面として500ポリゴンにしたら、500回になるし。後者の方が実装は楽だな。
前者だと、準備とか修正とかめんどくさそう。でも、前者の方が効果は高いな。100区画にわければ、
150回だもんな。
500名前は開発中のものです。
2010/02/05(金) 02:03:11ID:EsUZ2cV5501名前は開発中のものです。
2010/02/05(金) 07:09:32ID:Rnn3z8ra >>全てのキャラクターが毎フレーム5000ポリゴンとの当たり判定を取るとプログラムが非常に遅くなります
これは今どうやってるの?
これは今どうやってるの?
502名前は開発中のものです。
2010/02/05(金) 09:51:06ID:p/uDgxLQ503名前は開発中のものです。
2010/02/05(金) 15:53:15ID:HPolpgOh >>500
例えば5mごとの区画に区切って、その5mの立方体に少しでも入る地形のポリゴンを
その区画のリストに追加する。
判定するときは座標を5mで割るだけで区画は求まるので、その区画のリスト中の
ポリゴンと判定する。
ただし、キャラクタが区画を跨いでいる場合もあるので、隣接する8区画を調べる必要がある。
例えば5mごとの区画に区切って、その5mの立方体に少しでも入る地形のポリゴンを
その区画のリストに追加する。
判定するときは座標を5mで割るだけで区画は求まるので、その区画のリスト中の
ポリゴンと判定する。
ただし、キャラクタが区画を跨いでいる場合もあるので、隣接する8区画を調べる必要がある。
504名前は開発中のものです。
2010/02/05(金) 23:36:57ID:Rnn3z8ra 5000個に番号付けて、XZ平面で区画判定して、十分な数だけ当たり判定しる。
十分な数はあらかじめデータ作らないとな。
十分な数はあらかじめデータ作らないとな。
505名前は開発中のものです。
2010/02/06(土) 04:48:59ID:vgWfgHJE ついでにモートン順序についても知っておこう
506名前は開発中のものです。
2010/02/06(土) 12:38:36ID:4uNGm9uD 横からだがトン
久々に感動したわ
久々に感動したわ
507名前は開発中のものです。
2010/02/08(月) 19:45:10ID:I67IEebw 判定対象のX軸があり得ないぐらい離れていたら判定しない、っていう方法は楽。
でもまあ、結果として総当たりにはなるか。
普通にやるよりちょっとだけ軽い程度。
でもまあ、結果として総当たりにはなるか。
普通にやるよりちょっとだけ軽い程度。
508名前は開発中のものです。
2010/02/08(月) 20:12:23ID:HSg0yq3Q けっきょく総当りだしちっとも軽くなんねえよ?
ただまぁその話を汲むとして(>>498の話とは全く関係なくなるけど)
2次元のAABB判定を考えるとき、フィールドが縦横のどちらに広いかで
XとYの判定順序を変えると、判定回数は減らせるわな
ただまぁその話を汲むとして(>>498の話とは全く関係なくなるけど)
2次元のAABB判定を考えるとき、フィールドが縦横のどちらに広いかで
XとYの判定順序を変えると、判定回数は減らせるわな
509名前は開発中のものです。
2010/02/08(月) 20:29:52ID:AbjdKSeP バカな507に騙されてやらかすと、全部が近くにあるという状況で酷い目に遭うな。
510名前は開発中のものです。
2010/02/08(月) 21:17:35ID:TFUWga5H >5000ポリゴンとの当たり判定を取るとプログラムが非常に遅くなります
5000位で遅くなるわけがない、コードにミスがあるだろ
5000位で遅くなるわけがない、コードにミスがあるだろ
511名前は開発中のものです。
2010/02/08(月) 22:42:47ID:yaKOf+tK >>510
レミングみたいなのが何百匹もいたら重くなるんじゃない?
レミングみたいなのが何百匹もいたら重くなるんじゃない?
512名前は開発中のものです。
2010/02/08(月) 23:45:29ID:TFUWga5H 三十匹くらいかな
513名前は開発中のものです。
2010/02/15(月) 05:51:28ID:iDG/RoSA 超、初心者なんだけども練習がてら
数当てゲーム
15パズル
リバーシ(オセロ風)
テトリス
ブロック崩し
「パックマン」
補講:敵のアルゴリズム(AI)?
横スクロールアクション
STGを作れ
SLGを作れ
FF風RPG/DQ風RPG
簡単な3Dゲーム
を、python,c,c++,c#と段階的に練習してみようと思うんだがどうだろうか
数当てゲーム
15パズル
リバーシ(オセロ風)
テトリス
ブロック崩し
「パックマン」
補講:敵のアルゴリズム(AI)?
横スクロールアクション
STGを作れ
SLGを作れ
FF風RPG/DQ風RPG
簡単な3Dゲーム
を、python,c,c++,c#と段階的に練習してみようと思うんだがどうだろうか
514名前は開発中のものです。
2010/02/15(月) 06:25:39ID:7pi/323z >>513
横スクロールアクションの方が、地形の扱いや重力の扱い等の要素が多い分
STGよりはやることが多い。
SLGというのが非リアルタイムの大戦略的な物なら、かなり簡単な部類。
FF風RPG/DQ風RPGなんてSTGとかより簡単。
この辺はバランスを取りつつ膨大なデータを作るのが大変なだけ。
3Dに行く前に、回転有りの2Dを経験した方がいい。
ナムコのアサルトやキャメルトライ等。
パックマンのあたりで、スクロール無しのアクション系でもやった方がいいかも。
横スクロールアクションの方が、地形の扱いや重力の扱い等の要素が多い分
STGよりはやることが多い。
SLGというのが非リアルタイムの大戦略的な物なら、かなり簡単な部類。
FF風RPG/DQ風RPGなんてSTGとかより簡単。
この辺はバランスを取りつつ膨大なデータを作るのが大変なだけ。
3Dに行く前に、回転有りの2Dを経験した方がいい。
ナムコのアサルトやキャメルトライ等。
パックマンのあたりで、スクロール無しのアクション系でもやった方がいいかも。
515名前は開発中のものです。
2010/02/15(月) 06:26:05ID:RFVAWStO >>513
「どうだろうか」とはどういう意味?
やってみたら良いんじゃないでしょうか。としか答えられないけど・・・
まあ、初心者なのに12ジャンル×4言語=48個は多すぎじゃないか?
とりあえず言語は一つに絞った方がいいよ。
「どうだろうか」とはどういう意味?
やってみたら良いんじゃないでしょうか。としか答えられないけど・・・
まあ、初心者なのに12ジャンル×4言語=48個は多すぎじゃないか?
とりあえず言語は一つに絞った方がいいよ。
516名前は開発中のものです。
2010/02/15(月) 07:17:04ID:cbly0qco 初心者にC++はないわ
517えいいち ◆GRGSIBERIA
2010/02/15(月) 07:45:05ID:4ZhNq4Tf518名前は開発中のものです。
2010/02/15(月) 08:21:29ID:cbly0qco 言語1つ覚えるだけでも大変で各言語1個ずつやるなんて考える余裕なんてないでしょましてや超初心者に
519名前は開発中のものです。
2010/02/15(月) 17:16:13ID:Cd1wbsad C++を使えるようになれる自信があるならC++でやっとけ
もしプログラマになる可能性があるならC++は必須
趣味で考えたゲームが実現できればいいだけなら、
その目標のゲームを作ることができる一番簡単な言語を選ぶ
もしプログラマになる可能性があるならC++は必須
趣味で考えたゲームが実現できればいいだけなら、
その目標のゲームを作ることができる一番簡単な言語を選ぶ
520名前は開発中のものです。
2010/02/15(月) 17:36:44ID:cbly0qco 超初心者がC++に手を出すのはやめといた方が・・・
やるんなら取りあえずCまともに使えるようになってからでも遅くはないと思うがなあ
やるんなら取りあえずCまともに使えるようになってからでも遅くはないと思うがなあ
521名前は開発中のものです。
2010/02/15(月) 17:43:22ID:Nxk5kWkJ 段階的にやるって言ってるんだし、まずはスクリプト言語で作って
移植していくのでいいかと
移植していくのでいいかと
522名前は開発中のものです。
2010/02/15(月) 17:57:52ID:n4qXt3PM 言語外の部分に伏兵が多い品。
523名前は開発中のものです。
2010/02/17(水) 23:06:07ID:B+oI5OUV 今仕事でJavaやっててこの後、C++かC#でDirectX使ってゲーム作成してみたいけど
C++とC#で実行速度に違いは顕著に出るんですか
C++とC#で実行速度に違いは顕著に出るんですか
524名前は開発中のものです。
2010/02/18(木) 03:59:59ID:S5tbEoCa >>523
C++でもある程度のスペックが必要だし、ボトルネックになるのは描画部分なのであまり気にしなくていいと思いますよ。
ベンチマーク結果もあるみたいなので参考までに。
ttp://www.shudo.net/jit/perf/
ttp://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html
C++でもある程度のスペックが必要だし、ボトルネックになるのは描画部分なのであまり気にしなくていいと思いますよ。
ベンチマーク結果もあるみたいなので参考までに。
ttp://www.shudo.net/jit/perf/
ttp://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html
525名前は開発中のものです。
2010/02/18(木) 22:03:52ID:w01VKSPN526名前は開発中のものです。
2010/02/21(日) 04:38:17ID:2l2wvu6L ロード画面のことで質問があります。
「Now Loading」とだけ表示し、ロードが終わったらタイトル画面などに切り替える場合だと
Draw("NowLoading");
image1 = LoadFile("image1.bmp"); //ファイル読み込み
....
bgm5 = LoadFile("bgm5.ogg"); //ここまで
state = new Title; //状態遷移
といった具合になると思うのですが
ファイルを読み込みながら、読み込んだ割合を表示するというのはどういう風に書かれているのですか?
思いついたのはファイル一覧をテーブルにして
i = 0;
while(i < FILE_MAX){
for(; i < FILE_MAX; i++){
file[i] = LoadFile(filename[i]);
if(3秒経過した) break;
}
Draw("Loading %dパーセント", i*100/FILE_MAX);
}
みたいなのだけど、まさかこんな事やってないだろうと思っているのですが…
「Now Loading」とだけ表示し、ロードが終わったらタイトル画面などに切り替える場合だと
Draw("NowLoading");
image1 = LoadFile("image1.bmp"); //ファイル読み込み
....
bgm5 = LoadFile("bgm5.ogg"); //ここまで
state = new Title; //状態遷移
といった具合になると思うのですが
ファイルを読み込みながら、読み込んだ割合を表示するというのはどういう風に書かれているのですか?
思いついたのはファイル一覧をテーブルにして
i = 0;
while(i < FILE_MAX){
for(; i < FILE_MAX; i++){
file[i] = LoadFile(filename[i]);
if(3秒経過した) break;
}
Draw("Loading %dパーセント", i*100/FILE_MAX);
}
みたいなのだけど、まさかこんな事やってないだろうと思っているのですが…
527名前は開発中のものです。
2010/02/21(日) 07:28:08ID:i9ENpozX >>526
その方法で問題無いよ。
ただし、1ファイルの読み込みに3秒以上時間がかかったときに処理落ちしてしまう。
この場合はマルチスレッドにして読み込みと表示を別スレッドにするのが一般的じゃないかな。
それ以前に読み込みを高速化させるべきだとは思うけど・・・
その方法で問題無いよ。
ただし、1ファイルの読み込みに3秒以上時間がかかったときに処理落ちしてしまう。
この場合はマルチスレッドにして読み込みと表示を別スレッドにするのが一般的じゃないかな。
それ以前に読み込みを高速化させるべきだとは思うけど・・・
528名前は開発中のものです。
2010/02/21(日) 20:28:55ID:2l2wvu6L >>527
有難うございました
有難うございました
529名前は開発中のものです。
2010/02/22(月) 12:37:06ID:dzJGwHVS メッセージボックスを使わずに(新しいウインドウを出さない)テキストフィールド
を作成するのって可能なんでしょうか?画面にそのままキーボード入力できる箇所を作りたいのですが
を作成するのって可能なんでしょうか?画面にそのままキーボード入力できる箇所を作りたいのですが
530名前は開発中のものです。
2010/02/22(月) 14:47:05ID:GzvshjVK 環境による
通常のWindowsアプリならウィンドウに直接テキストボックス貼り付ければいいけど
Directなんとかでやってるなら、SDKのサンプル見てみるといいかも
通常のWindowsアプリならウィンドウに直接テキストボックス貼り付ければいいけど
Directなんとかでやってるなら、SDKのサンプル見てみるといいかも
531名前は開発中のものです。
2010/02/22(月) 15:07:58ID:FbIcwD45 ウインドウメッセージからテキストの追加削除を行い描画する。
キーやクリックにあわせてカーソルを移動させる。
大して難しい処理じゃない。
キーやクリックにあわせてカーソルを移動させる。
大して難しい処理じゃない。
532名前は開発中のものです。
2010/02/22(月) 17:25:48ID:dzJGwHVS533名前は開発中のものです。
2010/02/23(火) 12:09:49ID:IDzEfXiX WSAAsyncSelectのFD_ACCEPTは最初のクライアントからの接続要求のみ呼び出されて、
それ以降の他のクライアントからの接続では呼び出されないのですか?
2人目以降のクライアントはクライアント側のFD_CONNECTしか呼び出されていませんでした。
それ以降の他のクライアントからの接続では呼び出されないのですか?
2人目以降のクライアントはクライアント側のFD_CONNECTしか呼び出されていませんでした。
534名前は開発中のものです。
2010/02/23(火) 12:36:31ID:IDzEfXiX すみません。
2人目以降もFD_ACCEPTが呼ばれるようでした。
お手数おかけしました
2人目以降もFD_ACCEPTが呼ばれるようでした。
お手数おかけしました
535名前は開発中のものです。
2010/02/26(金) 16:14:12ID:vSXVLwvV ゲームでよくあるデータの保存と読み込みってどういう仕組みになってるんですかね?
保存
保存したい変数を文字列で格納→何らかのアルゴリズムで暗号化→ファイル出力
読み込み
保存したファイル読み込み→暗号データから文字列に復元→変数に代入
というかんじでしょうか・・
テキストファイルをそのまま出力してもプレイヤーに読み取られてしまうと思うので
保存
保存したい変数を文字列で格納→何らかのアルゴリズムで暗号化→ファイル出力
読み込み
保存したファイル読み込み→暗号データから文字列に復元→変数に代入
というかんじでしょうか・・
テキストファイルをそのまま出力してもプレイヤーに読み取られてしまうと思うので
536名前は開発中のものです。
2010/02/26(金) 18:10:11ID:k8Nclp+o >>535
そんな感じです。
そんな感じです。
537名前は開発中のものです。
2010/02/26(金) 19:45:39ID:lcr+uN2q >>535
文字列にする必要はないけどね。
バイト列の方が扱いやすいし、人間にも読まれにくい。
まぁ、バイト列でもそのまま出力すると、簡単に解析されてしまうが。
XORかけて、チェックサムでも入れとけば十分。
文字列にする必要はないけどね。
バイト列の方が扱いやすいし、人間にも読まれにくい。
まぁ、バイト列でもそのまま出力すると、簡単に解析されてしまうが。
XORかけて、チェックサムでも入れとけば十分。
538名前は開発中のものです。
2010/02/27(土) 04:37:55ID:pMMukQvt バージョンうpによるセーブデータの互換性も考慮したいなら少しまんこい
539名前は開発中のものです。
2010/02/27(土) 11:03:05ID:lavVPI3c どうも有難うございます
参考にさせて頂きます
参考にさせて頂きます
540名前は開発中のものです。
2010/03/03(水) 00:33:50ID:wPHsfoXn てst
541名前は開発中のものです。
2010/03/06(土) 21:44:25ID:cKzvkmmp プログラムというよりかはアルゴリズムの質問になってしまうと思うんですが、
パネポンみたいなパズルゲームのせり上がりの処理って
どういう風に考えればよいのでしょうか?
パネポンみたいなパズルゲームのせり上がりの処理って
どういう風に考えればよいのでしょうか?
542名前は開発中のものです。
2010/03/06(土) 22:05:07ID:oMl4iNGE 普通に考えて、2次元配列のブロックを
描画では端数だけ上げて、1ブロック分上がったら
配列を前段繰り上げるようにすればいいと思うけど。
反問するけど、仮にせり上がりがなかったとして
どんな風に実装するつもりなんだ?
描画では端数だけ上げて、1ブロック分上がったら
配列を前段繰り上げるようにすればいいと思うけど。
反問するけど、仮にせり上がりがなかったとして
どんな風に実装するつもりなんだ?
543名前は開発中のものです。
2010/03/06(土) 22:21:04ID:cKzvkmmp ありがとうございます、かなり単純なことみたいですね…
何に対しての実装かちょっとわからないんですが、
ゲームの仕様ってことだったらパネポンと大して変わらないもの
を試しに作ってみたい思った次第です。
何に対しての実装かちょっとわからないんですが、
ゲームの仕様ってことだったらパネポンと大して変わらないもの
を試しに作ってみたい思った次第です。
544名前は開発中のものです。
2010/03/06(土) 22:32:15ID:JczPuVwf >かなり単純なこと
逆だバカ
やりたい事を難しく考え杉
逆だバカ
やりたい事を難しく考え杉
545名前は開発中のものです。
2010/03/07(日) 03:26:35ID:uh/knnrz VisualC++2008ExpressEditionについて質問です
出力したEXEでは画像が読み込まれるのですが、
F5やデバッグ開始ボタンだと画像の読み込みに失敗してしまいます。
これってビルドしたEXEを出力してるディレクトリに使いたい画像とかおくだけじゃだめなんですね
何を設定すればいいんでしょうか
一昨日からプログラムを始めたのでコンパイラそのものの仕様がよーわからんとです。
関連付け?カレントディレクトリ設定?と考えたのですがいまいちヒットしないので助力願います
出力したEXEでは画像が読み込まれるのですが、
F5やデバッグ開始ボタンだと画像の読み込みに失敗してしまいます。
これってビルドしたEXEを出力してるディレクトリに使いたい画像とかおくだけじゃだめなんですね
何を設定すればいいんでしょうか
一昨日からプログラムを始めたのでコンパイラそのものの仕様がよーわからんとです。
関連付け?カレントディレクトリ設定?と考えたのですがいまいちヒットしないので助力願います
546名前は開発中のものです。
2010/03/07(日) 03:34:34ID:uh/knnrz 書き込んだら冷静になって、自己解決しました
なぜかEXEを基準にかんがえてたのでDebugフォルダに画像などを用意してたとです・・・
プロジェクトやソースそのもの位置でいいのですね
お騒がせしましたorzスレ汚しごめんなさい
なぜかEXEを基準にかんがえてたのでDebugフォルダに画像などを用意してたとです・・・
プロジェクトやソースそのもの位置でいいのですね
お騒がせしましたorzスレ汚しごめんなさい
547名前は開発中のものです。
2010/03/08(月) 12:39:39ID:0nKKs+l0 カレントディレクトリは実行する人の都合で好きに変えられるから
どうしてもEXEの場所がいいなら、APIでEXEの場所調べてそこ使った方がいいぞ
どうしてもEXEの場所がいいなら、APIでEXEの場所調べてそこ使った方がいいぞ
548名前は開発中のものです。
2010/03/08(月) 15:10:42ID:OwcKYY2B549名前は開発中のものです。
2010/03/10(水) 22:52:00ID:fado/aIt プログラムを組んだ事の無い人間なんですが、
SLGを作ろうと考えてます。
2Dで3D処理は無しで考えてるのですが、
C++とHSPで作るとしたら、どちらが良いでしょうか?
長所と短所が有ったら教えて下さい。
SLGを作ろうと考えてます。
2Dで3D処理は無しで考えてるのですが、
C++とHSPで作るとしたら、どちらが良いでしょうか?
長所と短所が有ったら教えて下さい。
550名前は開発中のものです。
2010/03/10(水) 23:06:19ID:cS7N9VCd C++はかなり難しいと思うので初心者が手を出すとかなり時間が掛かるんじゃないかなあ
これやる位ならCから始めた方がいいかも
HSPは初心者向きの言語って言われてるからC++よりはこっちの方がいいんじゃないか
これやる位ならCから始めた方がいいかも
HSPは初心者向きの言語って言われてるからC++よりはこっちの方がいいんじゃないか
551名前は開発中のものです。
2010/03/11(木) 09:51:57ID:ar5ZJEPB なぜHSPを挙げたのでしょうか。教えてください
552名前は開発中のものです。
2010/03/11(木) 13:24:30ID:I816Pm6U 車の運転免許取るときに、エンジンの構造の勉強からはじまったら嫌だろ。
最初は興味もあるだろうが、ブレーキ、ギア、クラッチ・・・とか延々と続くとやってられない。
目的が運転なら、オートマ車で
アクセル踏んだら進む、ハンドル切ったら曲がる、ブレーキ踏んだら止まる、
とか必要な部分だけをさくっと覚えて、
運転をしたくないか?
つーことで、ゲームを作るのに必要な最低限の機能が備わっている
HSPを覚えた方が良いから進めてるんだと思うぞ。
C++は何でも出来るけど、なぜ何でも出来るかを理解しないと、
何でも出来ないという所があるからお勧めしないんだと思うぞ。
最初は興味もあるだろうが、ブレーキ、ギア、クラッチ・・・とか延々と続くとやってられない。
目的が運転なら、オートマ車で
アクセル踏んだら進む、ハンドル切ったら曲がる、ブレーキ踏んだら止まる、
とか必要な部分だけをさくっと覚えて、
運転をしたくないか?
つーことで、ゲームを作るのに必要な最低限の機能が備わっている
HSPを覚えた方が良いから進めてるんだと思うぞ。
C++は何でも出来るけど、なぜ何でも出来るかを理解しないと、
何でも出来ないという所があるからお勧めしないんだと思うぞ。
553名前は開発中のものです。
2010/03/11(木) 14:38:37ID:ar5ZJEPB それならツクール薦めりゃいんじゃん
554名前は開発中のものです。
2010/03/11(木) 14:42:19ID:VLD8tp4g SLGツクールってどんなのがあるよ?
555名前は開発中のものです。
2010/03/11(木) 16:22:38ID:0Tgz6gC5 ていうかC++とHSPのどちらかと聞かれたからHSP挙げたまでで
より簡単だというんならそりゃツクールとかあるだろうよ
ただツクール金掛かるのが嫌だな
より簡単だというんならそりゃツクールとかあるだろうよ
ただツクール金掛かるのが嫌だな
556549
2010/03/11(木) 21:57:21ID:UxZwAiXZ557名前は開発中のものです。
2010/03/15(月) 21:07:36ID:q4e6j4OO558名前は開発中のものです。
2010/03/30(火) 23:55:58ID:i144vM1o 個人でFFTみたいなゲームを作ろうとおもうのですが
どんなソフトがあれば作れるでしょうか。
当方ズブの素人です。visual studio2008は持っています。
趣味で何年かかけて作ろうとおもっています。
後、初心者でゲーム作るならこの本読んどけってのもあれば
教えていただけるとありがたいです。
ご助力お願いします。
どんなソフトがあれば作れるでしょうか。
当方ズブの素人です。visual studio2008は持っています。
趣味で何年かかけて作ろうとおもっています。
後、初心者でゲーム作るならこの本読んどけってのもあれば
教えていただけるとありがたいです。
ご助力お願いします。
559名前は開発中のものです。
2010/03/31(水) 00:34:25ID:/1s1VCU/ 逆に聞きたいんだけど、それ以外に何が必要だと思うの?
560名前は開発中のものです。
2010/04/03(土) 01:35:28ID:6drkN7Tj 再描画と安定したFPSについての質問です。
C#でGDIのゲームを作っているのですが、
Vista (32bit) まではヌルヌルだったのに、
7 (64bit) に変えたら微妙にコマ落ちするようになりました。
重くなったわけではなく、0.5秒ごとに割り込みが掛かっている感じでカクつくんです。
スレッドやプロセスの優先度を上げても変わらないし、
そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
Vista -> 7 で、なにかGDI周りの挙動に変更が入ったりしたのでしょうか?
C#でGDIのゲームを作っているのですが、
Vista (32bit) まではヌルヌルだったのに、
7 (64bit) に変えたら微妙にコマ落ちするようになりました。
重くなったわけではなく、0.5秒ごとに割り込みが掛かっている感じでカクつくんです。
スレッドやプロセスの優先度を上げても変わらないし、
そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
Vista -> 7 で、なにかGDI周りの挙動に変更が入ったりしたのでしょうか?
561名前は開発中のものです。
2010/04/03(土) 07:11:45ID:ML07Lysw 分解能
562名前は開発中のものです。
2010/04/11(日) 21:47:05ID:Ko/6dSa+ ようやく規制が切れた
>>560
Windows7は全く使ったことのない俺だが、
>そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
ってことは描画に遅延が入っているか、GDIの描画先がオフスクリーンバッファで
それが表面に更新されていないかだろうね
1フレームの描画が終わったらGdiFlushを呼んでるか、HDCを開放しているか
くらいしか思い浮かばん
>>560
Windows7は全く使ったことのない俺だが、
>そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
ってことは描画に遅延が入っているか、GDIの描画先がオフスクリーンバッファで
それが表面に更新されていないかだろうね
1フレームの描画が終わったらGdiFlushを呼んでるか、HDCを開放しているか
くらいしか思い浮かばん
563560
2010/04/12(月) 10:16:43ID:6QZI5wHp564名前は開発中のものです。
2010/04/12(月) 16:29:39ID:Ub/aw0v4 7からはgdiはレガシーになった云々、ハードウェアアクセラレーションが云々。
565名前は開発中のものです。
2010/04/12(月) 22:16:40ID:ohJzuPYP566560
2010/04/12(月) 22:49:05ID:6QZI5wHp >>564
Direct2Dでごり押ししてみないと真相は不明でしょうか・・・。
GDIが全体的に遅くなるのなら理解できるんですが、
0.5秒という長すぎる間隔でカクつくのが腑に落ちないっす。
DWMがアンチティアリングをしているせいかとも思うんですが、確認するすべも思いつきません。。
Direct2Dでごり押ししてみないと真相は不明でしょうか・・・。
GDIが全体的に遅くなるのなら理解できるんですが、
0.5秒という長すぎる間隔でカクつくのが腑に落ちないっす。
DWMがアンチティアリングをしているせいかとも思うんですが、確認するすべも思いつきません。。
568名前は開発中のものです。
2010/04/13(火) 00:32:26ID:mniTafWA >>560
#これで、結局バックグラウンドでインデクシングが
#発生しているだけだったら笑える。ディスクアクセスしてない?
ところでそのループは描画しているウィンドウを生成したスレッドで動作してるの?
#これで、結局バックグラウンドでインデクシングが
#発生しているだけだったら笑える。ディスクアクセスしてない?
ところでそのループは描画しているウィンドウを生成したスレッドで動作してるの?
569560
2010/04/13(火) 01:43:29ID:nmFp0o6d >>568
ウインドウを生成したスレッドでしています。
何もしていない状態でもかくつきます。
いろいろ試してみたら、やはりDWMのアンチティアリングが影響しているようです。
0.5秒間隔のカクつきはV-sync待ちとのタイミングが最悪な時なのかも?
Aeroを切ったり、CreateWindowのスタイルパラメタを変更しても挙動が変わることが分かりました。
一番安定したのはAero状態のD2DでV-sync待ちで描画したとき。
正直大混乱中。よくわかんねーっす。。。
ウインドウを生成したスレッドでしています。
何もしていない状態でもかくつきます。
いろいろ試してみたら、やはりDWMのアンチティアリングが影響しているようです。
0.5秒間隔のカクつきはV-sync待ちとのタイミングが最悪な時なのかも?
Aeroを切ったり、CreateWindowのスタイルパラメタを変更しても挙動が変わることが分かりました。
一番安定したのはAero状態のD2DでV-sync待ちで描画したとき。
正直大混乱中。よくわかんねーっす。。。
570名前は開発中のものです。
2010/04/13(火) 11:00:59ID:mniTafWA >>569
Aero off と on で動作が違うと言えば、例えば::InvalidateRect()で、第3引数のbEraseをFALSEにすると
Aero off の時クライアント領域が更新されないことがあったりしたな。
ただこれはVISTAも同じだから、7だけおかしいと言うことだと関係ないかも知れないが。
GDIを利用して作成していると言うことだけど、どっかで更新をOSに任せてたりしないか?
一度全部明示的にアップデートしてみるといいよ。
Aero off と on で動作が違うと言えば、例えば::InvalidateRect()で、第3引数のbEraseをFALSEにすると
Aero off の時クライアント領域が更新されないことがあったりしたな。
ただこれはVISTAも同じだから、7だけおかしいと言うことだと関係ないかも知れないが。
GDIを利用して作成していると言うことだけど、どっかで更新をOSに任せてたりしないか?
一度全部明示的にアップデートしてみるといいよ。
571名前は開発中のものです。
2010/04/15(木) 22:39:37ID:oS8V8JHF 3Dのゲームを開発しています。
キャラクターが毎フレーム移動するんですが
その際に前回いた座標と今回いた座標を結んだベクトルを計算し、
壁などのポリゴンを通過したら押し戻すという処理をしています。
しかしポリゴンに対して直角(90度)に進めば押し戻されるのですが
10度くらいの角度で進むといずれはめり込み、
計算の誤差のようなもので通り抜けてしまいます。
こういう場合はどうしたら意図した動きになるでしょうか?
普通壁にめり込まない処理というものはベクトルで処理をするものではないのでしょうか?
キャラクターが毎フレーム移動するんですが
その際に前回いた座標と今回いた座標を結んだベクトルを計算し、
壁などのポリゴンを通過したら押し戻すという処理をしています。
しかしポリゴンに対して直角(90度)に進めば押し戻されるのですが
10度くらいの角度で進むといずれはめり込み、
計算の誤差のようなもので通り抜けてしまいます。
こういう場合はどうしたら意図した動きになるでしょうか?
普通壁にめり込まない処理というものはベクトルで処理をするものではないのでしょうか?
572名前は開発中のものです。
2010/04/15(木) 22:56:32ID:oS8V8JHF age
573名前は開発中のものです。
2010/04/16(金) 08:49:10ID:E7soBA+n スレタイも読めない池沼さんはお帰りくださいね
574名前は開発中のものです。
2010/04/16(金) 15:39:17ID:tfuXF2uQ575名前は開発中のものです。
2010/04/17(土) 18:34:27ID:YPPhHYQE576名前は開発中のものです。
2010/04/17(土) 20:49:33ID:g85Nq5+3 DL版のMSDNが2GBもあるってどういうことだよ
おとす気が失せるな・・・
おとす気が失せるな・・・
577名前は開発中のものです。
2010/05/02(日) 13:48:47ID:qwH1pwxC _CrtSetDbgFlagがメモリリーク検出してくれないんだけど
心当たりある?
WinMainの最初で呼んでんだけど.
心当たりある?
WinMainの最初で呼んでんだけど.
578名前は開発中のものです。
2010/05/02(日) 21:18:23ID:Fty9ttWn >>577
デバッガで起動してないとか
デバッガで起動してないとか
579名前は開発中のものです。
2010/05/03(月) 00:13:29ID:G8fNhcut してます...
別に仕様変更で,最近機能がなくなったとかじゃないですよね...?
別に仕様変更で,最近機能がなくなったとかじゃないですよね...?
580名前は開発中のものです。
2010/05/03(月) 00:24:48ID:G8fNhcut #define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
int main()
{
_CrtSetDbgFlag(
_CRTDBG_ALLOC_MEM_DF //メモリリークチェック用のヒープ使用
| _CRTDBG_LEAK_CHECK_DF //プログラム終了時にメモリリークチェック
);
int* p_int = new int();
return 0;
}
このプログラムでエラーメッセージがでません.
ちなみに,当方VCですが,メッセージは
出力ウィンドウでの確認で間違いないでしょうか?
#include <crtdbg.h>
int main()
{
_CrtSetDbgFlag(
_CRTDBG_ALLOC_MEM_DF //メモリリークチェック用のヒープ使用
| _CRTDBG_LEAK_CHECK_DF //プログラム終了時にメモリリークチェック
);
int* p_int = new int();
return 0;
}
このプログラムでエラーメッセージがでません.
ちなみに,当方VCですが,メッセージは
出力ウィンドウでの確認で間違いないでしょうか?
581名前は開発中のものです。
2010/05/03(月) 17:53:02ID:F+lE+L/N 試しにやってみたら上のコードでメモリリーク検出されたよ
以下、出たメッセージ >>
Detected memory leaks!
Dumping objects ->
{59} normal block at 0x008F4D40, 4 bytes long.
Data: < > 00 00 00 00
Object dump complete.
<<ここまで
_CrtSetDbgFlag()をコメントアウトすると出なくなるからちゃんと機能してるみたい
環境はwin7 64bit VS2008で、win32コンソールアプリケーション
コンパイルの設定は、プリコンパイル済みヘッダを使用しない、にした以外はデフォルトのまま
以下、出たメッセージ >>
Detected memory leaks!
Dumping objects ->
{59} normal block at 0x008F4D40, 4 bytes long.
Data: < > 00 00 00 00
Object dump complete.
<<ここまで
_CrtSetDbgFlag()をコメントアウトすると出なくなるからちゃんと機能してるみたい
環境はwin7 64bit VS2008で、win32コンソールアプリケーション
コンパイルの設定は、プリコンパイル済みヘッダを使用しない、にした以外はデフォルトのまま
582名前は開発中のものです。
2010/05/04(火) 04:57:17ID:2vXYcehC SFCの奇々怪界〜謎の黒マント〜の丸パクリゲーを作りたいんですけども、
ゲーム製作に関する技術が0の状態です
プログラミングもまったく技術がありません
このゲームを作るのに向いているプログラミング言語がありましたら教えてください
勉強しようと思います
私のPCのOSはwin7です
windows系列で動作するゲームにしたいです
ゲーム製作に関する技術が0の状態です
プログラミングもまったく技術がありません
このゲームを作るのに向いているプログラミング言語がありましたら教えてください
勉強しようと思います
私のPCのOSはwin7です
windows系列で動作するゲームにしたいです
583名前は開発中のものです。
2010/05/04(火) 06:05:40ID:2vXYcehC ちなみにwin7の64bitです
32でも64でも動くものにしたいです
32でも64でも動くものにしたいです
584名前は開発中のものです。
2010/05/04(火) 09:47:00ID:N7bMdxX7585名前は開発中のものです。
2010/05/04(火) 11:18:45ID:ATvQPLh8 >>582
C言語
C言語
586名前は開発中のものです。
2010/05/04(火) 15:19:34ID:3AEGCGVU +DXLIB
587名前は開発中のものです。
2010/05/04(火) 17:08:55ID:2vXYcehC >>585-586
thx
thx
588名前は開発中のものです。
2010/05/04(火) 21:18:06ID:I3BOmytc vsyncがスマートに待てるんならDIBでやりたくなるけど、何かいい方法ないかな
589名前は開発中のものです。
2010/05/05(水) 00:46:35ID:I28q1E30 Vista以降ならIDXGIOutput::WaitForVBlankでできんじゃね
使ったことないから的外してるかもしらんけど
使ったことないから的外してるかもしらんけど
590名前は開発中のものです。
2010/05/30(日) 22:41:11ID:/03sGIqd VRAMに直で書き込むのって、Windows環境だとやっぱり、DirectXを使わないと出来ないもの?
まだ学生だから、車輪の再開発をしまくって勉強したいと思ってるんだけど、なんらかの
コンポーネントを使用しなきゃ出来ないのなら、割り切ってコンポーネントの勉強をしようと思うんだけど
まだ学生だから、車輪の再開発をしまくって勉強したいと思ってるんだけど、なんらかの
コンポーネントを使用しなきゃ出来ないのなら、割り切ってコンポーネントの勉強をしようと思うんだけど
591名前は開発中のものです。
2010/05/30(日) 22:59:33ID:hMrpRgoR DirectXを使わないと出来ない
592名前は開発中のものです。
2010/05/30(日) 23:01:41ID:hMrpRgoR そういや、CreateDIBSectionを使うという手もあったな。
593名前は開発中のものです。
2010/05/31(月) 00:00:56ID:y4dMI0mp newとかで確保したメモリに書いた画像を出力するならSetDIBitsToDeviceが手っ取り早いと思うけど、
VRAM自体のアドレスを取得してロックしようと思ったらDirectXを使うしかないと思う
VRAM自体のアドレスを取得してロックしようと思ったらDirectXを使うしかないと思う
594名前は開発中のものです。
2010/05/31(月) 23:03:43ID:QJNjNz5n アクションゲーム作ってるんだけど、敵の処理どうやってる?
全ての敵の行動をクラスに纏めたEnemyクラスっていうのを作っちゃって、
そこに敵の種類ごとに動作とか設定しちゃおうかなって思ってたんだけど、
それじゃ敵の種類が少ないマップでもロードに時間がかかるとかってなる?
全ての敵の行動をクラスに纏めたEnemyクラスっていうのを作っちゃって、
そこに敵の種類ごとに動作とか設定しちゃおうかなって思ってたんだけど、
それじゃ敵の種類が少ないマップでもロードに時間がかかるとかってなる?
595名前は開発中のものです。
2010/05/31(月) 23:06:46ID:QJNjNz5n あと、敵の残りHPとか座標とか時間管理のデータってどこで管理すればいいんでしょう?
グローバルな変数を作るとか?
グローバルな変数を作るとか?
596名前は開発中のものです。
2010/05/31(月) 23:13:40ID:+7YvNv71 >>595
Enemy クラスに HP、時間、座標を定義して
Enemy を継承した EnemyA、EnemyB … を作ってそこに種類ごとの行動を書けばいい
ロード時間はといより Enemy で全部やろうとすると処理コストが増えるかと
Enemy クラスに HP、時間、座標を定義して
Enemy を継承した EnemyA、EnemyB … を作ってそこに種類ごとの行動を書けばいい
ロード時間はといより Enemy で全部やろうとすると処理コストが増えるかと
597名前は開発中のものです。
2010/05/31(月) 23:30:20ID:SBpXG6MJ 大体それぞれの敵データ管理するためにクラス作ったんじゃなかったのか・・・
598名前は開発中のものです。
2010/05/31(月) 23:31:08ID:QJNjNz5n なるほど継承ですか
そういうのがあるんですね
ありがとうございます
そういうのがあるんですね
ありがとうございます
599名前は開発中のものです。
2010/05/31(月) 23:58:57ID:OsgCe482 OpenALでMIDIを再生したいのですが、どうすれば良いですか?
600名前は開発中のものです。
2010/06/01(火) 00:53:23ID:8zniKIGy 無理です
601名前は開発中のものです。
2010/06/01(火) 11:05:50ID:HlkdJvUb MIDIデータをWavにする部分を全部自分で書けば何とか
602599
2010/06/01(火) 18:31:41ID:zaH3D1aV603名前は開発中のものです。
2010/06/01(火) 19:13:55ID:jI99bfoW そんな事言ってる奴にはまず無理。
604名前は開発中のものです。
2010/06/01(火) 22:07:22ID:02kRTTDw605名前は開発中のものです。
2010/06/02(水) 11:17:16ID:eHTKFESg まず音源データそのものを集めないとね
こればっかりはプログラムだけじゃ無理だろう
こればっかりはプログラムだけじゃ無理だろう
606名前は開発中のものです。
2010/06/02(水) 22:56:16ID:Ggr0fEGO607名前は開発中のものです。
2010/06/03(木) 22:58:45ID:N5aCEzsm608名前は開発中のものです。
2010/06/04(金) 16:44:04ID:Vz1OVRZS ソフトシンセもSMF解析も言うほど難しくは無いだろ
609名前は開発中のものです。
2010/06/04(金) 17:04:27ID:tnAvyTGm この世にそういうソフトが存在している以上不可能ではないな
いずれにしてもまずはGM互換の版権フリーか自前の音源データが必要
いずれにしてもまずはGM互換の版権フリーか自前の音源データが必要
610名前は開発中のものです。
2010/06/04(金) 18:16:01ID:vIQ5MHoj 音をサンプリングしてまともにPCMシンセとして使えるレベルまで
編集するだけでも、どれだけ機材と時間と技術と手間がかかるんだか…
編集するだけでも、どれだけ機材と時間と技術と手間がかかるんだか…
611名前は開発中のものです。
2010/06/04(金) 20:43:58ID:uFMmgqFi 音なんてプログラムで波形データ作ればいいだけだろjk
612名前は開発中のものです。
2010/06/04(金) 20:48:59ID:Q9UNwKBA vistaや7で効果音が複数重なると音量が小さくなることってないですか?
xpだとそんな事なかったのですが
xpだとそんな事なかったのですが
613名前は開発中のものです。
2010/06/05(土) 06:53:33ID:yudDpx9T >>611
実際にやってみるとわかるけど、自分でサイン波とかのオシレータ作って
合成して実際の楽器の音出すのってすごく難しいぞ。
FM音源なんてとても素人がどうにかできるもんじゃない。G
M規格だけでも128種類の音色とドラムセットがあるのに。
実際にやってみるとわかるけど、自分でサイン波とかのオシレータ作って
合成して実際の楽器の音出すのってすごく難しいぞ。
FM音源なんてとても素人がどうにかできるもんじゃない。G
M規格だけでも128種類の音色とドラムセットがあるのに。
614名前は開発中のものです。
2010/06/05(土) 14:15:02ID:D1eyiAx2 結局出せる音がFMレベルなら、FM音源最初から使えばいいじゃん
>>611はVAクラスか打楽器系の音もサンプリング音源レベルの音質をソフトだけで作るって言ってんでしょ
まあ何も知らないただのバカだろうけど
>>611はVAクラスか打楽器系の音もサンプリング音源レベルの音質をソフトだけで作るって言ってんでしょ
まあ何も知らないただのバカだろうけど
615名前は開発中のものです。
2010/06/05(土) 19:21:06ID:1y0Oq8xy >FM音源最初から使えばいいじゃん
どうやって?
今のサウンドカードは標準でFM音源なんて付いてないぞ?
どうやって?
今のサウンドカードは標準でFM音源なんて付いてないぞ?
616名前は開発中のものです。
2010/06/05(土) 21:05:53ID:XfBBOv5P おうおう、やらない理由ばっか述べるねぇ
ま、別にいいんだけど
ま、別にいいんだけど
617名前は開発中のものです。
2010/06/05(土) 22:44:24ID:yudDpx9T 多分、周波数変調かけて結果をPCMで出力しろってことだから、
ハードウェア的にはFM音源ついてなくてもPCM音源があればおk
そんなことも分からないんじゃ自分で音源作るのなんて無理
ハードウェア的にはFM音源ついてなくてもPCM音源があればおk
そんなことも分からないんじゃ自分で音源作るのなんて無理
618名前は開発中のものです。
2010/06/05(土) 22:48:00ID:1y0Oq8xy そんなのエミュでやってるやつ沢山あんじゃん。参考にすれば
619名前は開発中のものです。
2010/06/08(火) 17:58:37ID:++DOtdab FM変調でPCMサンプリング音源レベルのクオリティの音を出してるエミュを教えろよ
620名前は開発中のものです。
2010/06/08(火) 20:08:11ID:SUdoOdZh >>619
話がズレてない?FM音源エミュレート結果の出力先にPCMを使用するってだけだろう
いやもうどれが話の本筋なのか分からんけど
ところでちょっとグレーな話になるけど、スーファミエミュから抽出したSPCファイルって
容量が64KBしかないのに結構綺麗な音がでるよね
再生プラグインも100KBそこそこだから波形データを再生機側に大量に持ってるわけでも
なさそうだし、スゲーなーと思ってた
話がズレてない?FM音源エミュレート結果の出力先にPCMを使用するってだけだろう
いやもうどれが話の本筋なのか分からんけど
ところでちょっとグレーな話になるけど、スーファミエミュから抽出したSPCファイルって
容量が64KBしかないのに結構綺麗な音がでるよね
再生プラグインも100KBそこそこだから波形データを再生機側に大量に持ってるわけでも
なさそうだし、スゲーなーと思ってた
621名前は開発中のものです。
2010/06/08(火) 21:18:46ID:++DOtdab サウンドドライバのプログラマがすごい頑張ってたんじゃない?
FF4は、アクトレイザーのストリングスの音聴いて影響されて、
サウンドドライバ作り直しを命じたらしいし
FF4は、アクトレイザーのストリングスの音聴いて影響されて、
サウンドドライバ作り直しを命じたらしいし
622名前は開発中のものです。
2010/06/09(水) 09:21:16ID:pmTsWhEo すいません、今からゲームを作る上で、質問というか相談というかちょっと1つお聞きしたい事があります。
今の同人というかフリーゲーム開発の中でDirectXを使ってる場合、9.0と10.0どちらが主流なんでしょうか?
よっぽど凝った物でもない限り現状普及率が高い9.0のほうがいいのだろうかと思うのですが、この先の事を
考えると10.0以降の仕様に慣れておいたほうがいいのかもしれないし、もしかしたらそれほど10.0でも影響少ないのかと思って悩んでるのですが。
今の同人というかフリーゲーム開発の中でDirectXを使ってる場合、9.0と10.0どちらが主流なんでしょうか?
よっぽど凝った物でもない限り現状普及率が高い9.0のほうがいいのだろうかと思うのですが、この先の事を
考えると10.0以降の仕様に慣れておいたほうがいいのかもしれないし、もしかしたらそれほど10.0でも影響少ないのかと思って悩んでるのですが。
623名前は開発中のものです。
2010/06/09(水) 10:22:21ID:rHuJZWIL ここでこんな質問してるうちは、10.0で組んでも10.0独自の機能なんて
使いこなせないからどっちでも同じです。10..0だとXP切捨てになるし。
10.0以降の仕様に…ならもう11に行った方がいいんじゃない?
今から10.0を一から勉強すると、10.0独自の機能使う頃には12が出てると思われ
使いこなせないからどっちでも同じです。10..0だとXP切捨てになるし。
10.0以降の仕様に…ならもう11に行った方がいいんじゃない?
今から10.0を一から勉強すると、10.0独自の機能使う頃には12が出てると思われ
624名前は開発中のものです。
2010/06/09(水) 10:40:14ID:IiMYCbgY >>622
9.0と10.0の比較だと今OSとハードの過渡期真っ最中だから
移行するならもう1・2年待った方がいいかもな、まだゲームはXPがメインって奴も多いだろうし
逆に言えばソフトの公開が1年後2年後とかなら10.0に移行してても良いのかもしれん
9.0と10.0の比較だと今OSとハードの過渡期真っ最中だから
移行するならもう1・2年待った方がいいかもな、まだゲームはXPがメインって奴も多いだろうし
逆に言えばソフトの公開が1年後2年後とかなら10.0に移行してても良いのかもしれん
625名前は開発中のものです。
2010/06/09(水) 10:42:22ID:fYI9N/70 9切り捨てられるなら11でいいと思うよ。
626名前は開発中のものです。
2010/06/09(水) 13:45:50ID:pmTsWhEo なるほど・・・レス感謝。
10向けのソフトなんてまだそれ程ないし、自分も知識や技術不足等あるので9を扱いきれるようになってから
様子見て10.1以降のに目を向けるようにします。
10向けのソフトなんてまだそれ程ないし、自分も知識や技術不足等あるので9を扱いきれるようになってから
様子見て10.1以降のに目を向けるようにします。
627名前は開発中のものです。
2010/06/09(水) 16:54:49ID:bi7/yVM/ >>620
SFCの音源部は、
・SPC700それ自体がCPU(6502系)なので、ドライバ書くときに、サウンド処理以外の負荷を考える必要がない。
・当時としては大容量の64KiBのSRAM(実際に音色データを置けたのはもっと少ない領域だったようだが)。
・32KHz/8chのADPCM。なので、容量自体はそんなに食わない(高音域の音が歪むという欠点はあるが)。
・再生波形のガウス補間、ピッチ/モジュレーション変更、エコー/リバーブ、フィルタをハードウェアでサポート。
てな具合で、無論、ドライバの工夫もあるんだろうけど、業務用ゲームも含めて、当時のゲーム用としては、もともと最高クラスのPCM音源だったのが要因。
SFCの音源部は、
・SPC700それ自体がCPU(6502系)なので、ドライバ書くときに、サウンド処理以外の負荷を考える必要がない。
・当時としては大容量の64KiBのSRAM(実際に音色データを置けたのはもっと少ない領域だったようだが)。
・32KHz/8chのADPCM。なので、容量自体はそんなに食わない(高音域の音が歪むという欠点はあるが)。
・再生波形のガウス補間、ピッチ/モジュレーション変更、エコー/リバーブ、フィルタをハードウェアでサポート。
てな具合で、無論、ドライバの工夫もあるんだろうけど、業務用ゲームも含めて、当時のゲーム用としては、もともと最高クラスのPCM音源だったのが要因。
628名前は開発中のものです。
2010/06/09(水) 20:44:25ID:yKxBirAe midi→PCMってムズいの?
629名前は開発中のものです。
2010/06/09(水) 21:15:34ID:rHuJZWIL ムズイっていうかMIDIは楽譜的な情報なのにPCMは波形だからなあ
自分で一からやるとそりゃあもう死ねます
実装によって仕上がりの音も全然違うし
自分で一からやるとそりゃあもう死ねます
実装によって仕上がりの音も全然違うし
630名前は開発中のものです。
2010/06/09(水) 22:32:28ID:qkJYSXJu 楽譜をCDにするのと似たようなもん、何処まで自分でやるかによる。
演奏者雇って楽器は買ってくれば(Windowsにファイルごと丸投げ)、たいした労力はいらんし。
自分で演奏して楽器も自作する(自分でSMFを解析し、シンセサイザーを自作する)となれば、相当な労力がいる。
演奏者雇って楽器は買ってくれば(Windowsにファイルごと丸投げ)、たいした労力はいらんし。
自分で演奏して楽器も自作する(自分でSMFを解析し、シンセサイザーを自作する)となれば、相当な労力がいる。
631名前は開発中のものです。
2010/06/09(水) 23:59:35ID:eDbPYTsH632名前は開発中のものです。
2010/06/11(金) 12:50:28ID:hBamGraD すいません、少々質問です。
>>622ですが、9.0c用のSDKを探しているのですがどのSDKを使えばいいのでしょうか?
>>622ですが、9.0c用のSDKを探しているのですがどのSDKを使えばいいのでしょうか?
633名前は開発中のものです。
2010/06/11(金) 12:54:06ID:hBamGraD ageるの忘れたのと追記ですが、一応今DLしてあるものは June 10と最新の物なんですが、この中に
ソースとして10ってのと9っての2種類があるのですがもしかしてこのSDKって別に過去の物を使う必要がなく、
9.0cで使える関数等をつかえば9.0c向けのプログラムということになるのでしょうか?
ソースとして10ってのと9っての2種類があるのですがもしかしてこのSDKって別に過去の物を使う必要がなく、
9.0cで使える関数等をつかえば9.0c向けのプログラムということになるのでしょうか?
634名前は開発中のものです。
2010/06/11(金) 12:58:26ID:WclTY3DZ635名前は開発中のものです。
2010/06/11(金) 16:24:22ID:b46tP7Yu DirectSoundとかの古い機能を使わなければ問題ないな
636名前は開発中のものです。
2010/06/11(金) 22:30:53ID:WRoLJZOq C++で実装する場合、敵データって何で管理すべき?vector?list?
shared_ptrは使うべき?
ここらへんの作法的なものがさっぱり分からなくて困る
shared_ptrは使うべき?
ここらへんの作法的なものがさっぱり分からなくて困る
637名前は開発中のものです。
2010/06/12(土) 08:19:34ID:odsGwdrC 私もこの質問に便乗して
私は追加削除は list の方が vector の方が速いと思ってたんですが
どっかで実は vector の方が速いとあったのでやっぱりそうなんでしょうか
しかもそれらSTL自体が遅いと聞いたので自分で作るのも考えたのですが
似たものは作れるのですが、全く同じ使い方のものを作ろうとすると今の自分にはちょっときついので
どこかで自作してるものを探したのですが、見つからなかったのでどこかにありませんでしょうか
自分で参考にもしたいと思ったもので
それとこれらの質問はゲームプログラミングを想定したものです一応念のため
私は追加削除は list の方が vector の方が速いと思ってたんですが
どっかで実は vector の方が速いとあったのでやっぱりそうなんでしょうか
しかもそれらSTL自体が遅いと聞いたので自分で作るのも考えたのですが
似たものは作れるのですが、全く同じ使い方のものを作ろうとすると今の自分にはちょっときついので
どこかで自作してるものを探したのですが、見つからなかったのでどこかにありませんでしょうか
自分で参考にもしたいと思ったもので
それとこれらの質問はゲームプログラミングを想定したものです一応念のため
638名前は開発中のものです。
2010/06/12(土) 09:36:07ID:MfFcNHJl 速さに関しては今のPCの方が優秀なのでよっぽどのことが無い限り気にするだけ無駄。
画面に何百万発の弾幕張るような仕様を実現できるかどうかはPCやグラボの性能次第。
速さの限界チャレンジは開発用PC上で”しか”意味が無い。
画面に何百万発の弾幕張るような仕様を実現できるかどうかはPCやグラボの性能次第。
速さの限界チャレンジは開発用PC上で”しか”意味が無い。
639名前は開発中のものです。
2010/06/12(土) 10:08:18ID:odsGwdrC そうなん?じゃ無難に list でも使っとくか
640名前は開発中のものです。
2010/06/12(土) 10:22:20ID:ISREFi7t 描画が重いからって描画以外の部分の高速化を図るのはお門違いってこと?
641名前は開発中のものです。
2010/06/12(土) 10:31:19ID:IAfNttk3 list<effect>とlist<enemy>があってeffectからenemyにランダムアクセスしたいんだけど、
これって低速なのを承知してイテレータ使って探すしかないの?
それともなんか定石みたいのあるの?
これって低速なのを承知してイテレータ使って探すしかないの?
それともなんか定石みたいのあるの?
642名前は開発中のものです。
2010/06/12(土) 10:49:27ID:Z4c//xCX643名前は開発中のものです。
2010/06/12(土) 11:12:44ID:IAfNttk3644名前は開発中のものです。
2010/06/12(土) 13:20:38ID:nozhbs64 >>640
よほどの数の敵が出てくるとかでなければ、コンテナの違いは
速度的にはあまり意味がない。
コンテナの違いは中身が万単位になってやっと意味が出てくる程度で
数百程度だと優位な差がなかったり、速度の逆転が起こったりする。
要素の挿入や削除でイテレータが無効になるとかの性質の方が重要。
速度に問題があれば、コンテナを変える前にアロケータを変えることを
考えた方がいいかも。
よほどの数の敵が出てくるとかでなければ、コンテナの違いは
速度的にはあまり意味がない。
コンテナの違いは中身が万単位になってやっと意味が出てくる程度で
数百程度だと優位な差がなかったり、速度の逆転が起こったりする。
要素の挿入や削除でイテレータが無効になるとかの性質の方が重要。
速度に問題があれば、コンテナを変える前にアロケータを変えることを
考えた方がいいかも。
645名前は開発中のものです。
2010/06/13(日) 04:37:42ID:B+np0z/d アロケータ調べてみたけど難しかったのでもう最初に new で一旦それぞれ使う分とっといてそれを使いまわすことにするわ
646名前は開発中のものです。
2010/06/14(月) 07:50:15ID:+L/wTpB0 アロケータとかリストとか自分で頑張って作ろうとしてみたけど疲弊しただけだったわw
もっと実力上がってから挑戦してみることにする
当面は大人しく new と STL 使ってるわ
いやね、言い訳になるが単純にリスト作るだけなら出来ると思うけど
汎用化させたりいろいろ絡んでくるとちときついわ今の自分の力では
もっと実力上がってから挑戦してみることにする
当面は大人しく new と STL 使ってるわ
いやね、言い訳になるが単純にリスト作るだけなら出来ると思うけど
汎用化させたりいろいろ絡んでくるとちときついわ今の自分の力では
647名前は開発中のものです。
2010/06/22(火) 16:48:44ID:TOC+2Opi おれは動的配列を自分で作ってしまったよ。
ただ、配列のサイズ変更も自動でやってくれるとか、
自分なりに使い易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。
ただ、配列のサイズ変更も自動でやってくれるとか、
自分なりに使い易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。
648名前は開発中のものです。
2010/07/17(土) 22:15:17ID:84ym2+jv おれは道程だから自分でオナってしまったよ。
ただ、ちむこのサイズ変更が自動でなってしまう朝立ちとか、
自分なりにイキ易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。
ただ、ちむこのサイズ変更が自動でなってしまう朝立ちとか、
自分なりにイキ易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。
649名前は開発中のものです。
2010/07/20(火) 09:31:58ID:9KeZQpZV 動的配列ってパイソンのリストみたいなやつ?
650名前は開発中のものです。
2010/07/20(火) 12:09:38ID:IRMyEe9a std::vectorみたいなものでは?
651名前は開発中のものです。
2010/07/20(火) 13:18:37ID:ka0nTHRg 2D横スクロールアクションを創りたいんだけど、マップとかを作るのが大変すぎる
RPGツクールみたいな感じで創りたいんだけど、それには自分で専用のエディタをプログラミングしなきゃ駄目?
出来れば画面のある場所をクリックするとイベントが配置されて、画像とかイベント内容とかを
プログラムに書き加えてくれるような仕組みにしたいんだけど・・・
そういうのは難しいんだろうか
(モンスターAをどの位置に配置する、という地図をテキストデータにまとめて保存ということ
なら今の俺の技術でもできると思うんだけど、エディタの設定をもとにプログラムを自動生成して
書き加えてくれるようなのって可能?って質問です)
RPGツクールみたいな感じで創りたいんだけど、それには自分で専用のエディタをプログラミングしなきゃ駄目?
出来れば画面のある場所をクリックするとイベントが配置されて、画像とかイベント内容とかを
プログラムに書き加えてくれるような仕組みにしたいんだけど・・・
そういうのは難しいんだろうか
(モンスターAをどの位置に配置する、という地図をテキストデータにまとめて保存ということ
なら今の俺の技術でもできると思うんだけど、エディタの設定をもとにプログラムを自動生成して
書き加えてくれるようなのって可能?って質問です)
652名前は開発中のものです。
2010/07/20(火) 13:43:17ID:4zAYS/8u >>651
普通にレイヤー編集が出来るマップエディタでだいじょうぶでしょ
マップチップをモンスターやらイベントやらに割り当てればいい
地形レイヤー(あれば便利な当たり判定レイヤーを分けるといい)
イベント配置レイヤー(アイテム・モンスターレイヤーで分けてもいい)
好きなだけ必要なレイヤー作ればいいと思うよ
普通にレイヤー編集が出来るマップエディタでだいじょうぶでしょ
マップチップをモンスターやらイベントやらに割り当てればいい
地形レイヤー(あれば便利な当たり判定レイヤーを分けるといい)
イベント配置レイヤー(アイテム・モンスターレイヤーで分けてもいい)
好きなだけ必要なレイヤー作ればいいと思うよ
653名前は開発中のものです。
2010/07/20(火) 13:48:33ID:ka0nTHRg >>652
レイヤを作ってモンスターの配置・上層マップチップ・下層マップチップに分けて、
それの位置と内容をテキスト化何かに保存、というのは俺も考えてるんだけど、
問題はイベントの内容をエディタの中で決められないかな、ということ
RPGツクールだと「文章の表示」だの「画面を暗くする」だの「場所移動」だのの
コマンドを組み合わせるだけでいいでしょ
それと同じことをオリジナルエディタでやろうと思ったらどういう技術を使えば可能かってこと
レイヤを作ってモンスターの配置・上層マップチップ・下層マップチップに分けて、
それの位置と内容をテキスト化何かに保存、というのは俺も考えてるんだけど、
問題はイベントの内容をエディタの中で決められないかな、ということ
RPGツクールだと「文章の表示」だの「画面を暗くする」だの「場所移動」だのの
コマンドを組み合わせるだけでいいでしょ
それと同じことをオリジナルエディタでやろうと思ったらどういう技術を使えば可能かってこと
654名前は開発中のものです。
2010/07/20(火) 13:51:20ID:9KeZQpZV ツクールなんて普通知らねえよw
655名前は開発中のものです。
2010/07/20(火) 14:20:13ID:4zAYS/8u >>653
オリジナルなら聞くまでも無くどうとでもなるじゃん。
フリーのマップエディタでどうにかならんかってことじゃないわけ?
イベントレイヤにマップチップ1を貼り付けて、
別ファイルたとえば"ev_1.txt"にメモ帳で内容を書くとすると、
簡単にマップチップとイベントを繋げられる。
・・・・ということじゃなく、そういうエディタを作りたいなら
最低WindowsGUIに関するプログラム(C#あたりなら楽)、
ツクール並みのイベント内容を解析したいならLuaあたりの知識、
1からスクリプト作りたいなら、構文解析に関する技術が必要だけど?
オリジナルなら聞くまでも無くどうとでもなるじゃん。
フリーのマップエディタでどうにかならんかってことじゃないわけ?
イベントレイヤにマップチップ1を貼り付けて、
別ファイルたとえば"ev_1.txt"にメモ帳で内容を書くとすると、
簡単にマップチップとイベントを繋げられる。
・・・・ということじゃなく、そういうエディタを作りたいなら
最低WindowsGUIに関するプログラム(C#あたりなら楽)、
ツクール並みのイベント内容を解析したいならLuaあたりの知識、
1からスクリプト作りたいなら、構文解析に関する技術が必要だけど?
656名前は開発中のものです。
2010/07/20(火) 14:34:33ID:ka0nTHRg >>655
そういうんじゃなくて、プログラムとエディタをいったりきたりする手間を省けないかなってことです
例えばエディタ上でイベントを配置したい場所をクリックするとウインドウが出てきて、
そこにプログラムを書いてOKを押すと、そのプログラムをCファイルに書き足してくれる、
というようなものです
そういうんじゃなくて、プログラムとエディタをいったりきたりする手間を省けないかなってことです
例えばエディタ上でイベントを配置したい場所をクリックするとウインドウが出てきて、
そこにプログラムを書いてOKを押すと、そのプログラムをCファイルに書き足してくれる、
というようなものです
657名前は開発中のものです。
2010/07/20(火) 15:03:14ID:4zAYS/8u うーん、それだったら自分のニーズに合うものを作るしかないね。
プログラムとエディタを行ったり来たりしたくなければ、
スクリプトとしてイベントを外部に追い出すしかないだろうから。
>>651 で考えているのはCに直すんだから一種のトランスレータだろうけど、
その方法は、動かすたびにコンパイルしなおさにゃならんので、
結局エディタとプログラムを行ったり来たりすることになるよ。
しかし、そこから作るよりもあるものを使って作ったほうが最初はいいと思うけどね。
マップエディタと、メモ帳があればいいんだし。
マップチップに対応したイベントファイルにたとえば、
HP=10
移動パターン=1
攻撃力=12
防御力=3
落とす金=10
それをプログラムで読んでパラメータ設定したら、かなりエディタだけでよくなる。
これでも、経験が無いなら四苦八苦するだろうけど。
プログラムとエディタを行ったり来たりしたくなければ、
スクリプトとしてイベントを外部に追い出すしかないだろうから。
>>651 で考えているのはCに直すんだから一種のトランスレータだろうけど、
その方法は、動かすたびにコンパイルしなおさにゃならんので、
結局エディタとプログラムを行ったり来たりすることになるよ。
しかし、そこから作るよりもあるものを使って作ったほうが最初はいいと思うけどね。
マップエディタと、メモ帳があればいいんだし。
マップチップに対応したイベントファイルにたとえば、
HP=10
移動パターン=1
攻撃力=12
防御力=3
落とす金=10
それをプログラムで読んでパラメータ設定したら、かなりエディタだけでよくなる。
これでも、経験が無いなら四苦八苦するだろうけど。
658名前は開発中のものです。
2010/07/20(火) 15:04:48ID:4zAYS/8u ↑
×マップチップに対応したイベントファイルにたとえば、
○モンスターレイヤのマップチップに対応したイベントファイルにたとえば、
×マップチップに対応したイベントファイルにたとえば、
○モンスターレイヤのマップチップに対応したイベントファイルにたとえば、
659名前は開発中のものです。
2010/07/20(火) 15:40:33ID:FFEjXre5 スト2の昇竜拳の軌道計算でつまってます。
下記の画像の逆放物線のような軌道計算は、
どのように行っているのかご存知でしょうか。
もしくは参考サイトなどありますでしょうか。
http://iup.2ch-library.com/i/i0121467-1279607725.jpg
入力情報としては
・頂点座標
・頂点到達時間(フレーム)
・現在再生フレーム(相対)
・横方向の力
出力情報としては
・フレームの進行度に対する前フレームからの相対位置
要するに計算結果を加算するだけにしたい。
を考えています。
下記の画像の逆放物線のような軌道計算は、
どのように行っているのかご存知でしょうか。
もしくは参考サイトなどありますでしょうか。
http://iup.2ch-library.com/i/i0121467-1279607725.jpg
入力情報としては
・頂点座標
・頂点到達時間(フレーム)
・現在再生フレーム(相対)
・横方向の力
出力情報としては
・フレームの進行度に対する前フレームからの相対位置
要するに計算結果を加算するだけにしたい。
を考えています。
660名前は開発中のものです。
2010/07/20(火) 15:55:52ID:4PiPc8U0 1フレームずつ座標をプロットして結果をテーブル化
661659
2010/07/20(火) 15:59:01ID:FFEjXre5 頂点位置や横方向の力は可変にしたいので
固定数値だと都合が悪いですね
固定数値だと都合が悪いですね
662名前は開発中のものです。
2010/07/20(火) 16:13:47ID:SmPxzstR 物理的に考えれば等加速度運動とか等速運動だとかだけど
フレーム毎の計算だから数列の和だとかそんな感じか
高校数学レベルの話かな
フレーム毎の計算だから数列の和だとかそんな感じか
高校数学レベルの話かな
663名前は開発中のものです。
2010/07/20(火) 16:22:41ID:4zAYS/8u vx と vy に必要な初速度計算して
x = x + vx
vx = vx / (適当 * フレーム * 横の力)
y = y + vy
vy = vy / (適当 * フレーム)
みたいなのを毎フレーム呼び出すとかかいな
x = x + vx
vx = vx / (適当 * フレーム * 横の力)
y = y + vy
vy = vy / (適当 * フレーム)
みたいなのを毎フレーム呼び出すとかかいな
664名前は開発中のものです。
2010/07/20(火) 16:38:47ID:ka0nTHRg >>657
遅くなりましたがありがとうございます。
テキストデータをエディタで編集して出力して既存のプログラムをテキスト化したものの中に埋め込み、
それの拡張子をつけかえてCファイルにして、コンパイル、
なんてことが出来ればそれが一番いいのですが・・・
色々調べたけど難しいみたいですね
遅くなりましたがありがとうございます。
テキストデータをエディタで編集して出力して既存のプログラムをテキスト化したものの中に埋め込み、
それの拡張子をつけかえてCファイルにして、コンパイル、
なんてことが出来ればそれが一番いいのですが・・・
色々調べたけど難しいみたいですね
665名前は開発中のものです。
2010/07/20(火) 16:46:15ID:4PiPc8U0 データと処理を完全に分離してテキストデータを書き換えるだけで動作が変わるようにした方が良いと思うが
666名前は開発中のものです。
2010/07/20(火) 16:54:45ID:ka0nTHRg >>665
つまりテキストを引数にした関数を作っておくってこと?
つまりテキストを引数にした関数を作っておくってこと?
667名前は開発中のものです。
2010/07/20(火) 16:59:53ID:4PiPc8U0 引数でもfopenでも何でもいいけど、データを書き換える度に毎回コンパイルするのは面倒臭くない?
668名前は開発中のものです。
2010/07/20(火) 17:07:34ID:ka0nTHRg 確かにそうですね
敵のパラメータもテキストで管理して、
マップにおける敵の位置もテキストで管理して・・・
そしたらエディタだけでだいぶ楽できるようになりますね
ただパラメータとかじゃなしの具体的な動作はプログラムでやらざるをえませんが
敵のパラメータもテキストで管理して、
マップにおける敵の位置もテキストで管理して・・・
そしたらエディタだけでだいぶ楽できるようになりますね
ただパラメータとかじゃなしの具体的な動作はプログラムでやらざるをえませんが
669名前は開発中のものです。
2010/07/20(火) 17:12:43ID:4zAYS/8u 具体的動作もLuaとか使えば外に持てるけどね。
670名前は開発中のものです。
2010/07/20(火) 17:22:14ID:ka0nTHRg LuaでC++のコードを生成できるってことですか?
671名前は開発中のものです。
2010/07/20(火) 17:27:38ID:4zAYS/8u ちがう。
Luaスクリプトを自作のプログラムに組み込める。
これはたとえば、Cで作った自作プログラムの上でさらにCを動かせるようなもの。
コンパイルなしで。
でもまぁ、最初からそうしようとすると今の状態だときついだろうから、
プログラムとデータを分離することに集中したほうがいいよ。
Luaスクリプトを自作のプログラムに組み込める。
これはたとえば、Cで作った自作プログラムの上でさらにCを動かせるようなもの。
コンパイルなしで。
でもまぁ、最初からそうしようとすると今の状態だときついだろうから、
プログラムとデータを分離することに集中したほうがいいよ。
672名前は開発中のものです。
2010/07/20(火) 17:41:41ID:ka0nTHRg673名前は開発中のものです。
2010/07/20(火) 17:53:49ID:4PiPc8U0 具体的動作まで外部に出すべきかなあ。そこはコンパイラにチェックしてもらった方が安全だと思うな。
674名前は開発中のものです。
2010/07/20(火) 18:00:01ID:4zAYS/8u ツクールでも作らない限りは、設定ファイルの延長で十分だし
そこのさじ加減は作る人の好みだねぇ
そこのさじ加減は作る人の好みだねぇ
675名前は開発中のものです。
2010/07/21(水) 00:33:49ID:EY0IZyCn >>673
一度のコンパイルで十分くらいかかる位プロジェクトがでかくなったらそんなこと言えなくなるぞ
一度のコンパイルで十分くらいかかる位プロジェクトがでかくなったらそんなこと言えなくなるぞ
676名前は開発中のものです。
2010/07/21(水) 00:57:10ID:eplgz5cR じゃあC/C++を捨ててスクリプト言語でプログラム作ってろよ
677名前は開発中のものです。
2010/07/21(水) 02:02:55ID:EY0IZyCn 実際そうなる
678名前は開発中のものです。
2010/07/21(水) 06:18:38ID:O18++P2x679名前は開発中のものです。
2010/07/21(水) 07:38:28ID:60wOpc+n いまどきのPCならコンパイルも瞬殺だから、外だしする理由もないよね
680名前は開発中のものです。
2010/07/21(水) 07:39:25ID:60wOpc+n 無駄に色んなクラスが1つのファイルに収まってたり、
無駄にヘッダを読みまくってたりすると、一箇所変更しただけで
大量にコンパイルが発生して遅くなったりはするけど
無駄にヘッダを読みまくってたりすると、一箇所変更しただけで
大量にコンパイルが発生して遅くなったりはするけど
681名前は開発中のものです。
2010/07/21(水) 09:47:27ID:Ef6/96NX 俺の場合1プロジェクトで何個もゲームこさえるスタイルだから無駄に色んなクラスが1つのファイルに収まってるわw
682名前は開発中のものです。
2010/07/21(水) 09:54:22ID:EY0IZyCn 一箇所変更しただけでコンパイルとかしないから。
どのくらいの大きさのプロジェクト作ったことある?ソースファイル1000個超えたことある?
どのくらいの大きさのプロジェクト作ったことある?ソースファイル1000個超えたことある?
683名前は開発中のものです。
2010/07/21(水) 10:08:52ID:DTn2ZgeR つーか、複数のグループで分業とかしないのかな
684名前は開発中のものです。
2010/07/27(火) 02:25:46ID:RZRqKDLL685名前は開発中のものです。
2010/07/27(火) 02:36:14ID:RZRqKDLL >>682
コンパイルの速さはそれこそ言語や処理系によるからな
ソースファイルが1000程度なら、Delphiなら10年くらい前でもフルコンパイルに30秒もかからなかったからな。
部分修正なら一瞬だった。
C++なら工夫しないと部分的修正でもファイル多いと死ねた時代だ。
pimplとか試してたわ
家ゲーの知り合いに聞いたら、今はスペック上がったからC++でもサクサクコンパイルできると言ってたが
実際どうなん?
うちはC++から離れちゃったんで最近C++事情に疎い
コンパイルの速さはそれこそ言語や処理系によるからな
ソースファイルが1000程度なら、Delphiなら10年くらい前でもフルコンパイルに30秒もかからなかったからな。
部分修正なら一瞬だった。
C++なら工夫しないと部分的修正でもファイル多いと死ねた時代だ。
pimplとか試してたわ
家ゲーの知り合いに聞いたら、今はスペック上がったからC++でもサクサクコンパイルできると言ってたが
実際どうなん?
うちはC++から離れちゃったんで最近C++事情に疎い
686名前は開発中のものです。
2010/07/27(火) 07:58:54ID:gQwuLlov そりゃまあ、プリコンパイルなしで、あらゆるソースでテンプレートを使いまくったあげく、
そのファイルを更新した、なんてことしたら大変なことになるよな。
>>685
ソースコードが42MBのライブラリをリビルドすると、数分はかかる > Core2Duo 3GHz/VC++2005
うまく切り分けてあるソースのビルドならほとんどの場合数十秒未満だから、まあ、さくさくっちゃーさくさく。
そのファイルを更新した、なんてことしたら大変なことになるよな。
>>685
ソースコードが42MBのライブラリをリビルドすると、数分はかかる > Core2Duo 3GHz/VC++2005
うまく切り分けてあるソースのビルドならほとんどの場合数十秒未満だから、まあ、さくさくっちゃーさくさく。
687名前は開発中のものです。
2010/07/31(土) 19:12:16ID:odxEQo6u ちんまいファイルを沢山読むせいかRAMDISKとかSSD使うと明らかに速くなるな
688名前は開発中のものです。
2010/10/27(水) 15:38:02ID:PA2n5kiT 横スクアクションゲームについて質問なんだけど
スーファミのドンキーのようなやつはマップチップ使ってるのか?
マップチップ使ってるやつならなんとなく作り方分かるけどあーゆーのはどうやって作るの?
あとマップエディタ使ったときステージ固有のギミックとかどうやって組み込めばいいの?
スーファミのドンキーのようなやつはマップチップ使ってるのか?
マップチップ使ってるやつならなんとなく作り方分かるけどあーゆーのはどうやって作るの?
あとマップエディタ使ったときステージ固有のギミックとかどうやって組み込めばいいの?
689688
2010/10/28(木) 05:05:55ID:BuHTqjnE ごめん別のとこに移る
690名前は開発中のものです。
2010/12/13(月) 01:35:44ID:k+jnh4qf ↓の優先デバイスってプログラム側でどうやって取得するのでしょうか?
ttp://peufrequente.blog41.fc2.com/blog-entry-636.html
VC#2008 Expressで、ManagedDirectXつかってゲーム作っているのですが、
DeviceList list = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);
を実行するとゲームパッドの取得順番が変わるのかと思いきや、変わりません。
もしかして別に取得する手段があるのではと思い、質問させていただきました。
ご存知の方、どうかご教授お願いします。
ttp://peufrequente.blog41.fc2.com/blog-entry-636.html
VC#2008 Expressで、ManagedDirectXつかってゲーム作っているのですが、
DeviceList list = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);
を実行するとゲームパッドの取得順番が変わるのかと思いきや、変わりません。
もしかして別に取得する手段があるのではと思い、質問させていただきました。
ご存知の方、どうかご教授お願いします。
691名前は開発中のものです。
2010/12/16(木) 18:44:40ID:0O6i5tIq はじめの1歩でつまずいたので助けてください。
環境VC++2010Express
DrectXSDK June 2010
やったこと
VC++で新規プロジェクトを作る( Win32の空やつ)
test.cppをソースに追加する
内容
#define STRICT
#include <Windows.h>
#include <d3dx9.h>
LPDIRECT3D9 g_pD3D;
int PASCAL WinMain(HINSTANCE hInst,HINSTANCE hPrev,char *CmdLine,int CmdShow)
{
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
}
プロジェクトのプロパティからVC++ディレクトリをみて
インクルードディレクトリに$(DXSDK_DIR)Include
ライブラリディレクトリに$(DXSDK_DIR)Lib\x86
を追加する。
ビルドする
この作業で
error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 _WinMain@16 で参照されました。
が発生してます。
あと、どのディレクトリを参照させればいいですか?
環境VC++2010Express
DrectXSDK June 2010
やったこと
VC++で新規プロジェクトを作る( Win32の空やつ)
test.cppをソースに追加する
内容
#define STRICT
#include <Windows.h>
#include <d3dx9.h>
LPDIRECT3D9 g_pD3D;
int PASCAL WinMain(HINSTANCE hInst,HINSTANCE hPrev,char *CmdLine,int CmdShow)
{
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
}
プロジェクトのプロパティからVC++ディレクトリをみて
インクルードディレクトリに$(DXSDK_DIR)Include
ライブラリディレクトリに$(DXSDK_DIR)Lib\x86
を追加する。
ビルドする
この作業で
error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 _WinMain@16 で参照されました。
が発生してます。
あと、どのディレクトリを参照させればいいですか?
692名前は開発中のものです。
2010/12/16(木) 20:16:39ID:eb1OKGp3 #includeの下あたりに
#pragma comment(lib, "d3d9.lib")
とでも書いとけ
#pragma comment(lib, "d3d9.lib")
とでも書いとけ
693名前は開発中のものです。
2010/12/16(木) 20:46:19ID:arJifEUh つーかPASCALとかいつの記法だよと
694名前は開発中のものです。
2010/12/16(木) 22:38:10ID:0O6i5tIq695名前は開発中のものです。
2010/12/17(金) 12:23:19ID:NsCCmq8+ PASCALとかWin16時代の遺物だろ。
microsoft.com内を検索してもページによって
WINAPIだったりCALLBACKだったりでわけわからんことになってるな。
どれも最終的に__stdcallになるだろうが。
microsoft.com内を検索してもページによって
WINAPIだったりCALLBACKだったりでわけわからんことになってるな。
どれも最終的に__stdcallになるだろうが。
696名前は開発中のものです。
2010/12/20(月) 12:54:09ID:CPsUR6OJ >>694
お前は10年以上経ってもプログラム技法が変わらないとでも思っているのか
お前は10年以上経ってもプログラム技法が変わらないとでも思っているのか
697名前は開発中のものです。
2010/12/20(月) 15:03:26ID:kH/vSo81 それにしてもCは長いよな。
まぁCといっても色々変遷してはいるが。
まぁCといっても色々変遷してはいるが。
698名前は開発中のものです。
2010/12/20(月) 15:41:17ID:unK/nJml 次は何になるんだろうな?
64bitに切り替わる時か、128bitに切り替わる時に何かあるかな?
64bitに切り替わる時か、128bitに切り替わる時に何かあるかな?
699名前は開発中のものです。
2010/12/26(日) 14:40:10ID:BzGIguKq 質問失礼します
C++でのWindowsプログラミングで、エディトウィンドウAでの文字入力を捕まえてエディトウィンドウBに同じメッセージを飛ばすということをしたいのですが、次のコードだと日本語入力を捕まえてくれません。
(Aをサブクラス化しています)
LRESULT CALLBACK AProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
if(message == WM_KEYDOWN) {
PostMessage(B, WM_KEYDOWN, wParam, lParam);
}
return CallWindowProc(defEditProc, hWnd, message, wParam, lParam);
}
日本語入力も捕まえるようにするにはどうすればいいでしょうか。ご教示お願いします。
C++でのWindowsプログラミングで、エディトウィンドウAでの文字入力を捕まえてエディトウィンドウBに同じメッセージを飛ばすということをしたいのですが、次のコードだと日本語入力を捕まえてくれません。
(Aをサブクラス化しています)
LRESULT CALLBACK AProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
if(message == WM_KEYDOWN) {
PostMessage(B, WM_KEYDOWN, wParam, lParam);
}
return CallWindowProc(defEditProc, hWnd, message, wParam, lParam);
}
日本語入力も捕まえるようにするにはどうすればいいでしょうか。ご教示お願いします。
700名前は開発中のものです。
2010/12/26(日) 19:40:07ID:DlRTWhIN >>699
やりたいことはよくわからんが、WM_CHARの方を使うとか
やりたいことはよくわからんが、WM_CHARの方を使うとか
701名前は開発中のものです。
2010/12/26(日) 21:04:31ID:BaeaVQ+I702名前は開発中のものです。
2010/12/29(水) 05:14:22ID:IFaaeh/8703名前は開発中のものです。
2010/12/30(木) 22:44:31ID:ptpBQcHB WM_IME_COMPOSITIONを捕まえてGCS_ほげほげで判定したらいけました。
ありがとうございました。
ありがとうございました。
704名前は開発中のものです。
2011/02/05(土) 01:46:02ID:oyWwf9Pp ひとこと書いてみた。
705名前は開発中のものです。
2011/02/07(月) 17:55:57ID:jb6HR8rZ MIDIをOpenALで鳴らしたいのですが、どうすれば良いですか?
706名前は開発中のものです。
2011/02/07(月) 20:20:59ID:xF2jTO5N 無理です
707名前は開発中のものです。
2011/02/07(月) 20:44:44ID:9xgbd+uS almixerってどうなの?
708名前は開発中のものです。
2011/04/07(木) 15:30:11.65ID:i/kzJacP フリーのシューティングゲームなどで、カーソルや自機が左上に移動し続ける現象が起こりますが、原因はなんでしょうか。
対処法も教えてください。
対処法も教えてください。
709名前は開発中のものです。
2011/04/07(木) 16:36:53.27ID:Ifq1Rv8t ジョイスティックの調整をしろ。
710名前は開発中のものです。
2011/04/07(木) 16:52:58.06ID:pcoolw30 プログラミングの質問なのにそれはないだろうw
711名前は開発中のものです。
2011/04/07(木) 18:04:54.19ID:hqT2HpYb 708の質問を読む限り、プログラミングの質問に思えないんですが。
「フリーのシューティングゲームなどで」って事はプレイする側の話でしょ?
「フリーのシューティングゲームなどで」って事はプレイする側の話でしょ?
712名前は開発中のものです。
2011/04/07(木) 19:11:17.72ID:WA2sOoJW ニュートラルポジションがおかしくなってる
713名前は開発中のものです。
2011/04/07(木) 19:59:23.79ID:i/kzJacP 誤解を招く書き方をしてすみません;
プログラミングについての質問です。
環境は同じなのに、たまに左上現象が起こるゲームがあるので、気になりました。
プログラミングについての質問です。
環境は同じなのに、たまに左上現象が起こるゲームがあるので、気になりました。
714名前は開発中のものです。
2011/04/07(木) 22:18:20.53ID:hqT2HpYb 「自分が作ってるゲームでそういう現象がおきる」
ではなくて
「そういうフリーゲームが時々あるけど、これはプログラム的に何か問題があるんだろうか?」
って質問なのかな。
いや俺はそういうフリゲの作者じゃないから答えられんけど。
ではなくて
「そういうフリーゲームが時々あるけど、これはプログラム的に何か問題があるんだろうか?」
って質問なのかな。
いや俺はそういうフリゲの作者じゃないから答えられんけど。
715名前は開発中のものです。
2011/04/14(木) 16:24:33.76ID:tNm2yu1M AutodeskMAYAで作成したキャラクタ(.ma)を動かせるプログラムを組みたいのですが、何を勉強すればいいですか?
C言語はライブラリを使わなければだいたいわかります
C言語はライブラリを使わなければだいたいわかります
716名前は開発中のものです。
2011/04/14(木) 18:45:12.64ID:MAAZSs/A ゲームコントローラによってはアナログ/デジタルの切り替えで
同じ軸でも軸の取る数値の範囲が変わったりするからかな?
同じ軸でも軸の取る数値の範囲が変わったりするからかな?
717名前は開発中のものです。
2011/04/14(木) 19:47:26.48ID:CnLBOOeN パッド入力の閾値の問題だね
コントローラ全部が入力無い時に軸の位置に「0」を返すとは限らないからある程度猶予を与えればいい
ハズ。あまり詳しくはない
コントローラ全部が入力無い時に軸の位置に「0」を返すとは限らないからある程度猶予を与えればいい
ハズ。あまり詳しくはない
718名前は開発中のものです。
2011/04/25(月) 17:45:50.18ID:KE1E9nBp 変な質問なんですけど
ゲームに使われるバイナリの値で
0xFFFFD8E7や0xFFFFD8EBといった値は何を表す値であると予測出来ますか?
ゲームに使われるバイナリの値で
0xFFFFD8E7や0xFFFFD8EBといった値は何を表す値であると予測出来ますか?
719名前は開発中のものです。
2011/04/26(火) 01:49:00.44ID:h6WQRFtT ・不透明な薄いピンク色
・固定小数点の座標値(整数部24bit小数部8bitで-39.09765625)
・32bitデプスバッファの任意地点の深度値
・生成される全オブジェクトにデクリメントで振っているシリアル番号
・固定小数点の座標値(整数部24bit小数部8bitで-39.09765625)
・32bitデプスバッファの任意地点の深度値
・生成される全オブジェクトにデクリメントで振っているシリアル番号
720名前は開発中のものです。
2011/04/26(火) 02:46:18.54ID:/x7Dm5hD 1番目と4番目はあるかもしれません
ありがとうございました
ありがとうございました
721名前は開発中のものです。
2011/05/06(金) 14:16:14.28ID:gs4TXQIx using System;
class example
{
static void main()
{
Console.WriteLine("unkounko");
}
}
技術書を見ながら↑を書いたんですが
エラー 〜\Project1.exe' は、エントリ ポイントに適切な静的 'Main' メソッドを含んでいませんProject1
ってエラーがでてデバッグできません
ナニがいけないんでしょう?
class example
{
static void main()
{
Console.WriteLine("unkounko");
}
}
技術書を見ながら↑を書いたんですが
エラー 〜\Project1.exe' は、エントリ ポイントに適切な静的 'Main' メソッドを含んでいませんProject1
ってエラーがでてデバッグできません
ナニがいけないんでしょう?
722名前は開発中のものです。
2011/05/06(金) 20:56:47.66ID:ibiTWqKE 君の頭
723名前は開発中のものです。
2011/05/06(金) 22:52:11.74ID:r/gVAn5n >>721
Mainでなく、mainでいいの?
Mainでなく、mainでいいの?
724名前は開発中のものです。
2011/05/07(土) 19:13:02.95ID:8XRSvEQT プログラミングの本を買ってゲームを作りたいんですが
ノートパソコンでも大丈夫なんでしょうか?
ノートパソコンでも大丈夫なんでしょうか?
725名前は開発中のものです。
2011/05/07(土) 19:22:17.45ID:Q8cgsrDC >>724
ノートだろうとデスクトップだろうと、ツールが要求する動作環境のスペックさえ満たしていれば作れるよ。
ノートだろうとデスクトップだろうと、ツールが要求する動作環境のスペックさえ満たしていれば作れるよ。
726名前は開発中のものです。
2011/05/09(月) 15:08:27.91ID:r3X4NYF6 フリーで使えるお勧めのお絵かきソフトって何かいいの無いですか?
SAIが無料かと思ってたらシェアウェアでした
SAIが無料かと思ってたらシェアウェアでした
727名前は開発中のものです。
2011/05/09(月) 17:37:52.12ID:F60nSaWV どのレベルの絵を描くかで変わってくると思うけど。
Paint.NETとかGIMPとか?
Paint.NETとかGIMPとか?
728名前は開発中のものです。
2011/05/09(月) 17:42:16.40ID:F60nSaWV ちょっとググったが、SAIと並べられてかつフリーだと
GIMP、Pixia、AzPainterの名前が出てきたがどうか?
GIMP、Pixia、AzPainterの名前が出てきたがどうか?
729名前は開発中のものです。
2011/05/09(月) 17:48:38.11ID:r3X4NYF6730名前は開発中のものです。
2011/05/12(木) 21:13:42.01ID:1+y6mWXW 使い慣れて便利なのと、特に新しい技術が必要なゲームは作ってないので
昔書いたDirectXの自作のラッパーライブラリのバージョンアップを
7.0からやってないんですが、たま〜に、DirectX7以前のコードは
VistaやWin7で上手く動作しないという話を聞く事があります。
実際問題として、そこまで動作不良が多いんでしょうか?
出来れば、今のまま暫く、自作ライブラリ使いたいので
無視出来る程度の不具合の事例しかないなら、
バージョンアップしたくないんですけど、みなさんの意見聞かせて下さい。
昔書いたDirectXの自作のラッパーライブラリのバージョンアップを
7.0からやってないんですが、たま〜に、DirectX7以前のコードは
VistaやWin7で上手く動作しないという話を聞く事があります。
実際問題として、そこまで動作不良が多いんでしょうか?
出来れば、今のまま暫く、自作ライブラリ使いたいので
無視出来る程度の不具合の事例しかないなら、
バージョンアップしたくないんですけど、みなさんの意見聞かせて下さい。
731730
2011/05/12(木) 21:18:19.47ID:1+y6mWXW まぁ要はドライバの問題なんですかね。
732名前は開発中のものです。
2011/05/13(金) 19:26:20.67ID:69Ai+1uz 基本はC(や何か言語)でプログラムを書いて
Directxで作ったダンジョンとか画像や音楽をCで読み込ませる、でいいんですよね?
Directxで作ったダンジョンとか画像や音楽をCで読み込ませる、でいいんですよね?
733名前は開発中のものです。
2011/05/14(土) 12:34:06.17ID:9TrYbWlB DirectXすげー
734名前は開発中のものです。
2011/05/14(土) 14:47:18.75ID:0GXIJwN5 ダイレクトセックスとかいうのやってみたいんですが、Cでもできますか?
735名前は開発中のものです。
2011/05/14(土) 16:18:11.67ID:iTcd63B+ >>734
まずは「はじめてのC」を読んでください。
まずは「はじめてのC」を読んでください。
736名前は開発中のものです。
2011/06/02(木) 12:54:15.23ID:1tobcTkH 3DのゲームプログラミングするPCはGeforceよりQuadroの方がいいんですか?
あとできる限りCPUやメモリが良い物の方がいいんですか?
あとできる限りCPUやメモリが良い物の方がいいんですか?
737名前は開発中のものです。
2011/06/02(木) 18:21:37.82ID:oVeJslsB こんなもんでいい。
CPU : Core i3 2105
MEM : 8GB
OS : Windows7 64bit版
素人がプログラミングして遊ぶ程度なら、CPU内蔵のHD3000で十分すぎる性能。
シェーダモデル4.1、DirectX 10.1、OpenGL3.0、OpenCL1.1に対応。
あと、DirectX11世代が必要だというのならグラボ買う必要あるけど、Geforceとか
Quadroとか無視して良いから。グラボ載せるならRadeonで万全。HD6850買っとけ。
搭載メモリ8GBは最低量。できれば16GB欲しい。
いろんな作業を並行してやる時の快適さが違う。
CPU : Core i3 2105
MEM : 8GB
OS : Windows7 64bit版
素人がプログラミングして遊ぶ程度なら、CPU内蔵のHD3000で十分すぎる性能。
シェーダモデル4.1、DirectX 10.1、OpenGL3.0、OpenCL1.1に対応。
あと、DirectX11世代が必要だというのならグラボ買う必要あるけど、Geforceとか
Quadroとか無視して良いから。グラボ載せるならRadeonで万全。HD6850買っとけ。
搭載メモリ8GBは最低量。できれば16GB欲しい。
いろんな作業を並行してやる時の快適さが違う。
738名前は開発中のものです。
2011/06/06(月) 22:20:02.16ID:SmY3HvdC内容:
質問です。現在RPGを作っているのですがマッピングで困っています。
現在テキストファイルを読み込む→書いてある文字(半角)を数値に変換→配列に格納
っていう風にしているのえすが割り当てる文字が無くなってきてしまいました。
数字だけで割り当てる以外に何か他にいい方法はありませんか?
739名前は開発中のものです。
2011/06/06(月) 22:23:02.47ID:3A2O81ns 2バイト文字にして漢字でも使えば?
740名前は開発中のものです。
2011/06/06(月) 22:31:43.14ID:EjPv1nsn ビットマップを使う
ペイントで修正できるし割とよくある手法
ペイントで修正できるし割とよくある手法
741名前は開発中のものです。
2011/06/06(月) 22:47:56.44ID:SmY3HvdC742名前は開発中のものです。
2011/06/06(月) 22:56:56.47ID:EjPv1nsn >>741
ビットマップでマッピングしてるならテキストいらないじゃん
ビットマップでマッピングしてるならテキストいらないじゃん
743名前は開発中のものです。
2011/06/07(火) 00:07:47.06ID:K/eJWqg0 齟齬があるなw
ビットマップで書いた画像をそのまま、マップのデータとして扱うって事だよ。
赤ならどの地形、青ならどの地形、って感じで。
65536色なら65536種類のマップチップを区別できる事になる。
ビットマップは内部データが圧縮されてないそのまんまなのでこういう場合に使いやすい。
ファイルフォーマットはぐぐって調べればいいと思うよ。
ビットマップで書いた画像をそのまま、マップのデータとして扱うって事だよ。
赤ならどの地形、青ならどの地形、って感じで。
65536色なら65536種類のマップチップを区別できる事になる。
ビットマップは内部データが圧縮されてないそのまんまなのでこういう場合に使いやすい。
ファイルフォーマットはぐぐって調べればいいと思うよ。
744名前は開発中のものです。
2011/06/07(火) 01:19:10.03ID:xHDy2WPL マップエディタ作ったほうがはやい。
745名前は開発中のものです。
2011/06/07(火) 22:23:17.06ID:0gZY2NZM ゲ製らしいな。答え出てるのにまだレスとかw
746名前は開発中のものです。
2011/06/20(月) 11:25:41.57ID:IzFJkAaU 今から先、開発言語は何が主流になると思いますか?
考え方によっては、インスコ時に、一回JITで
その環境毎に最適化されたコードを吐くような
言語がシロウト目には良いような気がするんですが。
つまり、C#や、Java?みたいな
(先々同じコードでプラットフォーム跨いで実行出来そうだし)。
ゲームプログラムに詳しい皆さんから見て
何かC++以外の言語が決定的にダメなところってあるんですか?
(ガベージコレクションでのもたつきとか?)
考え方によっては、インスコ時に、一回JITで
その環境毎に最適化されたコードを吐くような
言語がシロウト目には良いような気がするんですが。
つまり、C#や、Java?みたいな
(先々同じコードでプラットフォーム跨いで実行出来そうだし)。
ゲームプログラムに詳しい皆さんから見て
何かC++以外の言語が決定的にダメなところってあるんですか?
(ガベージコレクションでのもたつきとか?)
747名前は開発中のものです。
2011/06/20(月) 11:37:34.06ID:pwkfIEnc これからの主流はJavaScript(HTML5)だろ、情交
748名前は開発中のものです。
2011/06/20(月) 11:41:33.54ID:IzFJkAaU >>747
ゲームプログラムもですか??
ゲームプログラムもですか??
749名前は開発中のものです。
2011/06/21(火) 16:03:47.19ID:qvZTnZcq プログラムの勉強を兼ねてゲーム開発に挑戦してみようと思っています
ゲーム開発の経験が無く、言語選択で迷っています。
ゲーム内容はシンプルに2Dで選択のみで進めるRPG予定です
形になるまでが早く、数ある中で、比較的習得が用意な言語はなんでしょうか?
開発経験: PHP, PythonでのWebアプリ開発
プログラミングから離れていたので、趣味で開発出来るレベルまでスキルアップしたいと考えています
ゲーム開発の経験が無く、言語選択で迷っています。
ゲーム内容はシンプルに2Dで選択のみで進めるRPG予定です
形になるまでが早く、数ある中で、比較的習得が用意な言語はなんでしょうか?
開発経験: PHP, PythonでのWebアプリ開発
プログラミングから離れていたので、趣味で開発出来るレベルまでスキルアップしたいと考えています
750名前は開発中のものです。
2011/06/21(火) 16:44:58.04ID:ET4j6FRl C#でxnaとかどうよ
751名前は開発中のものです。
2011/06/21(火) 16:45:20.26ID:3S8vxGBO752名前は開発中のものです。
2011/06/21(火) 17:57:49.46ID:qvZTnZcq753名前は開発中のものです。
2011/06/21(火) 18:06:00.16ID:3S8vxGBO 学習の為なら、C言語から始める
結局ね、情報が多いものを選ぶ事。やってみ、わかるから
C言語から派生した言語が多い。ひとつを完全マスターすることから広がる。
結局ね、情報が多いものを選ぶ事。やってみ、わかるから
C言語から派生した言語が多い。ひとつを完全マスターすることから広がる。
754名前は開発中のものです。
2011/06/21(火) 18:28:38.03ID:qvZTnZcq755名前は開発中のものです。
2011/06/21(火) 20:32:04.04ID:evQPDRUv757名前は開発中のものです。
2011/06/23(木) 11:01:52.46ID:bPgnTXjY ウィンドウをドラッグしても
メインスレッドが停止しないようにするには
どうしたらいいんでしょうか
通信のアクションゲームを作っているのですが
ホストがこれをするとポーズをかけたようになるので
困っています
メインスレッドが停止しないようにするには
どうしたらいいんでしょうか
通信のアクションゲームを作っているのですが
ホストがこれをするとポーズをかけたようになるので
困っています
758名前は開発中のものです。
2011/06/23(木) 12:05:17.92ID:ZHOr5XNo マルチスレッド
759名前は開発中のものです。
2011/06/25(土) 15:32:52.64ID:av3YTDPA こんな感じのメインループでのウェイト処理じゃダメですか?
もちろん実際はメッセージ処理もしてます。
結構、Sleep()をかませろという話があるんですが
かなり精度が悪くてフレームレートが指定値にならないんです。
while(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60);
}
もちろん実際はメッセージ処理もしてます。
結構、Sleep()をかませろという話があるんですが
かなり精度が悪くてフレームレートが指定値にならないんです。
while(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60);
}
760名前は開発中のものです。
2011/06/25(土) 15:58:51.76ID:av3YTDPA ↓みたいにウェイトかける時にSleep(0)だけでもやった方がいいのかな?
while(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}
while(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}
761名前は開発中のものです。
2011/06/25(土) 17:47:30.73ID:URerxJ8Q >>760
http://bygzam.seesaa.net/article/110314806.html
>timeBeginPeriodでタイマの精度を1msに設定します。この設定はtimeGetTime以外にも、GetTickCountや
>Sleepの精度にも影響します。終了時にはtimeEndPeriodで元に戻しておきましょう。
http://rina.jpn.ph/~rance/directx8/03/01.html
>ここでSleep()関数を実行している理由は、ウィンドウを最小化したときなどにWindowsが固まったようになる現象を防ぐためである。
俺は1ms以上余るならSleepそれ未満はループで調整してる
http://bygzam.seesaa.net/article/110314806.html
>timeBeginPeriodでタイマの精度を1msに設定します。この設定はtimeGetTime以外にも、GetTickCountや
>Sleepの精度にも影響します。終了時にはtimeEndPeriodで元に戻しておきましょう。
http://rina.jpn.ph/~rance/directx8/03/01.html
>ここでSleep()関数を実行している理由は、ウィンドウを最小化したときなどにWindowsが固まったようになる現象を防ぐためである。
俺は1ms以上余るならSleepそれ未満はループで調整してる
762名前は開発中のものです。
2011/06/25(土) 17:49:23.50ID:URerxJ8Q あ、1ms未満でも必ず Sleep(0)は入れてる
763名前は開発中のものです。
2011/06/25(土) 19:01:57.96ID:U+AhBja3 精度が必要な待ちなら、マルチメディアタイマのイベントを待つようにすればいいだけ。
なんでSleepを使うのか全く意味が不明。
なんでSleepを使うのか全く意味が不明。
764名前は開発中のものです。
2011/06/25(土) 21:30:18.22ID:JoYEMJgk >>761
timeBeginPeriodの設定が要るって気付かなくて悩まされたの思い出したわw
timeBeginPeriodの設定が要るって気付かなくて悩まされたの思い出したわw
765760
2011/06/25(土) 23:37:47.57ID:av3YTDPA766名前は開発中のものです。
2011/06/26(日) 00:16:04.63ID:Fm5IE/R1 どういうことも何も書いてある通りだが、いったい何が疑問なんだ?
767名前は開発中のものです。
2011/06/26(日) 00:27:46.94ID:C/6aPfwc768名前は開発中のものです。
2011/06/26(日) 02:36:36.47ID:C/6aPfwc どう監視してもSleep()に0より大きい値入れると
FPSが安定しないので
もうウェイト処理にSleep(0)だけ入れる事にした ヽ(`Д´)ノ
Sleep()の仕様で、引数に与えた値以上、戻ってこない事があるらしいから
それが原因なのかな…
FPSが安定しないので
もうウェイト処理にSleep(0)だけ入れる事にした ヽ(`Д´)ノ
Sleep()の仕様で、引数に与えた値以上、戻ってこない事があるらしいから
それが原因なのかな…
769名前は開発中のものです。
2011/06/26(日) 08:11:41.37ID:Fm5IE/R1 >>767
キーワードを入れて検索する程度のことすら出来ない怠け者にはプログラムは向いてないよ。
キーワードを入れて検索する程度のことすら出来ない怠け者にはプログラムは向いてないよ。
770名前は開発中のものです。
2011/06/26(日) 08:26:23.84ID:C/6aPfwc771名前は開発中のものです。
2011/06/26(日) 09:04:29.33ID:Fm5IE/R1 どれだけ怠け者なら気が済むんだよ。
やった上で、疑問に思ったことを聞くならともかく、
すぐに実験できることをやろうともしない人間にこれ以上答えることはない。
やった上で、疑問に思ったことを聞くならともかく、
すぐに実験できることをやろうともしない人間にこれ以上答えることはない。
772名前は開発中のものです。
2011/06/26(日) 09:35:10.81ID:C/6aPfwc >>771
すんませんす。
timeSetEvent()で指定してコールバックで
処理するという形になるんですね。
なるほど。
ただSleep()も試行錯誤してたら
引数の数値を大きく指定するようにすれば
そこそこの精度で安定するようにはなりました。
すんませんす。
timeSetEvent()で指定してコールバックで
処理するという形になるんですね。
なるほど。
ただSleep()も試行錯誤してたら
引数の数値を大きく指定するようにすれば
そこそこの精度で安定するようにはなりました。
773名前は開発中のものです。
2011/06/26(日) 10:20:15.53ID:h26G+E5Y774名前は開発中のものです。
2011/06/26(日) 10:54:34.44ID:C/6aPfwc >>773
ご紹介ありがとうございます。
ただSleep()さえかけなければ
実際にはパフォーマンスカウンタを使うので
60fpsの誤差は殆どないんです。
ただCPU使用率が100%近くになったりしてたので
なるべく余った時間、CPU負荷をかけたくなく
Sleep()入れて休ませるつもりでいました。
とりあえずSleep()でも、なるべく大きな値を入れるようにしたら
fpsが安定するようになりました。
いくつかのPCで試しましたが、結構安定してます。
(パフォーマンスカウンタで計測すれば、殆ど60ピッタリです)
while(1){
stime = timeGetTime();
game_main();
if((dif = 1000 / 60 - (timeGetTime() - stime)) > 0){
Sleep(floor(dif));
}
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}
ご紹介ありがとうございます。
ただSleep()さえかけなければ
実際にはパフォーマンスカウンタを使うので
60fpsの誤差は殆どないんです。
ただCPU使用率が100%近くになったりしてたので
なるべく余った時間、CPU負荷をかけたくなく
Sleep()入れて休ませるつもりでいました。
とりあえずSleep()でも、なるべく大きな値を入れるようにしたら
fpsが安定するようになりました。
いくつかのPCで試しましたが、結構安定してます。
(パフォーマンスカウンタで計測すれば、殆ど60ピッタリです)
while(1){
stime = timeGetTime();
game_main();
if((dif = 1000 / 60 - (timeGetTime() - stime)) > 0){
Sleep(floor(dif));
}
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}
775名前は開発中のものです。
2011/06/26(日) 10:59:23.35ID:U4EFMTMz sleep()というか、Windowsって10ms以下の値は指定できるけど保障なしじゃなかったか。
今は違うんだっけ。
今は違うんだっけ。
776名前は開発中のものです。
2011/06/26(日) 12:33:06.53ID:B5xxb33H 見たところシングルスレッドでメッセージループにSleepを入れているようだけど、
厳密に言うとメインスレッドでSleepは使ってはダメ。
Sleep中はメッセージ処理が行えないから、ブロードキャストメッセージを使用している
他のアプリケーションのパフォーマンスに影響あったりする。
FPS調整用の短いSleepならほとんど問題ないけど、余裕があればSleepのかわりに
MsgWaitForMultipleObjectsを使った方がいい。
>>775
昔から、明文化はされてないけどSleepの元になるタイマーはtimeBeginPeriodの
影響を受けて精度が変わる。何も設定してないと10ms精度くらい。
厳密に言うとメインスレッドでSleepは使ってはダメ。
Sleep中はメッセージ処理が行えないから、ブロードキャストメッセージを使用している
他のアプリケーションのパフォーマンスに影響あったりする。
FPS調整用の短いSleepならほとんど問題ないけど、余裕があればSleepのかわりに
MsgWaitForMultipleObjectsを使った方がいい。
>>775
昔から、明文化はされてないけどSleepの元になるタイマーはtimeBeginPeriodの
影響を受けて精度が変わる。何も設定してないと10ms精度くらい。
777名前は開発中のものです。
2011/06/26(日) 12:38:17.18ID:C/6aPfwc778名前は開発中のものです。
2011/06/26(日) 13:34:56.21ID:Fm5IE/R1 >>772
コールバックじゃなくてイベントと書いているんだが。
コールバックじゃなくてイベントと書いているんだが。
779名前は開発中のものです。
2011/06/26(日) 13:55:56.88ID:h26G+E5Y >>778
そこまで気にかけるならもう回答教えてあげてもいいんじゃないのw
そこまで気にかけるならもう回答教えてあげてもいいんじゃないのw
780名前は開発中のものです。
2011/06/26(日) 14:04:02.65ID:h26G+E5Y 自分DelphiでSTG作ってるけど、OnIdleイベント内に↓これだけでFPS安定してるけどなあ。
小数点以下の話ならごめん(^_^;)
{
t = timeGetTime();
game_main();
while(timeGetTime() - t < 17)
{ Sleep(0); }
}
小数点以下の話ならごめん(^_^;)
{
t = timeGetTime();
game_main();
while(timeGetTime() - t < 17)
{ Sleep(0); }
}
781名前は開発中のものです。
2011/06/26(日) 19:28:33.67ID:EEDTFaxz >>780
それだとCPU使用率が下がらない。
それだとCPU使用率が下がらない。
782名前は開発中のものです。
2011/06/26(日) 20:31:02.39ID:h26G+E5Y スマソ;
783名前は開発中のものです。
2011/06/26(日) 21:04:13.27ID:C/6aPfwc >>778
ウィンドウズのイベントがコールバックで呼び出されるという話じゃないの??
ウィンドウズのイベントがコールバックで呼び出されるという話じゃないの??
784名前は開発中のものです。
2011/06/26(日) 21:49:54.06ID:Fm5IE/R1785名前は開発中のものです。
2011/06/27(月) 02:04:43.20ID:mjTrT8bw786名前は開発中のものです。
2011/06/27(月) 13:05:38.66ID:5jj8qo/e787名前は開発中のものです。
2011/06/27(月) 15:37:59.15ID:KSejmRDb 1以上10以下は、な
788名前は開発中のものです。
2011/07/27(水) 18:19:20.32ID:rtDjJBOt このスレで語られる言語は何が多いですか?
789名前は開発中のものです。
2011/07/27(水) 20:08:07.17ID:d+vft6M6 日本語かな?
という冗談はおいておいて、見てのとおりC/C++かと。
という冗談はおいておいて、見てのとおりC/C++かと。
790名前は開発中のものです。
2011/08/05(金) 02:02:20.66ID:iQzPAYN5 ファイル操作、パッキングに関する部分について質問です
必要な時にオープンして用が済んだらクローズするのがファイルを扱う基本だと思うのですが
ゲームデータ全て、または画像毎や音声毎などにまとめたパックファイルを利用する場合、
何度も同じファイルにアクセスすることになると思うのですが、例えばゲーム中ずっとオープンしっ放しで利用しても良いものでしょうか?
それともやはりデータにアクセスする度にオープン→クローズするべきなのでしょうか?
必要な時にオープンして用が済んだらクローズするのがファイルを扱う基本だと思うのですが
ゲームデータ全て、または画像毎や音声毎などにまとめたパックファイルを利用する場合、
何度も同じファイルにアクセスすることになると思うのですが、例えばゲーム中ずっとオープンしっ放しで利用しても良いものでしょうか?
それともやはりデータにアクセスする度にオープン→クローズするべきなのでしょうか?
791名前は開発中のものです。
2011/08/05(金) 04:03:33.45ID:LUnU1i9G どっちでもいい。
読み込みアクセスしかしてないなら、クローズなんて気にする必要ない。
読み込みアクセスしかしてないなら、クローズなんて気にする必要ない。
792名前は開発中のものです。
2011/08/05(金) 21:10:30.95ID:2OzNzc7r 【原発問題】汚染水処理システム、パソコンのフリーズで稼働停止 パソコン再起動で完全復旧[08/05]
http://raicho.2ch.net/test/read.cgi/newsplus/1312544716/
http://raicho.2ch.net/test/read.cgi/newsplus/1312544716/
793アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 12:14:45.95ID:pL1hbMOk 60FPSで動くソフトを作るなら、スレッドは必須だよ。
CreateWindowsの後のループは、GetMessageのままのほうがいい。
で、WM_CREATEのイベントのときに、60FPSでループするスレッドを作る。
スレッドのループは、何らかのフラグで抜けるようにして、
WM_DESTROYのイベント時に、そのフラグをセットさせるってとこだな。
キーとマウスのイベントは、フラグのセットなどだけにとどめて
すぐにイベント処理を終わらせること。
あと、Sleepと画面反映の順序を間違えないように。
計算して裏画面に描画して、Sleepで時間を調整してから反映、だぞ。
・・・と、イロイロ書いてみたが、理解してもらえるだろうか・・・
CreateWindowsの後のループは、GetMessageのままのほうがいい。
で、WM_CREATEのイベントのときに、60FPSでループするスレッドを作る。
スレッドのループは、何らかのフラグで抜けるようにして、
WM_DESTROYのイベント時に、そのフラグをセットさせるってとこだな。
キーとマウスのイベントは、フラグのセットなどだけにとどめて
すぐにイベント処理を終わらせること。
あと、Sleepと画面反映の順序を間違えないように。
計算して裏画面に描画して、Sleepで時間を調整してから反映、だぞ。
・・・と、イロイロ書いてみたが、理解してもらえるだろうか・・・
794アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 13:26:29.82ID:pL1hbMOk なにやら、Sleepの制御のループを
ソースレベルでイロイロ書いてるみたいだから、
おれのやり方も書いてみよう。
DWORD StartTick = timeGetTime() ;
DWORD NowTick ;
DWORD NextTick ;
bool SkipFlg = false ;
for( int LoopCnt = 1 ; ExitFlg == false ; LoopCnt++ ) {
// 計算処理
if( SkipFlg == false ) {
// 描画処理
}
SkipFlg = false ;
NextTick = ( LoopCnt * 1000 ) / 60 ;
NowTick = timeGetTime() - StartTick ;
if( NowTick < NextTick ) {
Sleep( NextTick - NowTick ) ;
// 画面反映処理
}
else {
// フレームスキップが必要
SkipFlg = true ;
}
}
こんな感じかな。
ソースレベルでイロイロ書いてるみたいだから、
おれのやり方も書いてみよう。
DWORD StartTick = timeGetTime() ;
DWORD NowTick ;
DWORD NextTick ;
bool SkipFlg = false ;
for( int LoopCnt = 1 ; ExitFlg == false ; LoopCnt++ ) {
// 計算処理
if( SkipFlg == false ) {
// 描画処理
}
SkipFlg = false ;
NextTick = ( LoopCnt * 1000 ) / 60 ;
NowTick = timeGetTime() - StartTick ;
if( NowTick < NextTick ) {
Sleep( NextTick - NowTick ) ;
// 画面反映処理
}
else {
// フレームスキップが必要
SkipFlg = true ;
}
}
こんな感じかな。
795名前は開発中のものです。
2011/08/15(月) 13:40:49.56ID:cTd0dgcs796アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 13:53:07.65ID:pL1hbMOk797名前は開発中のものです。
2011/08/15(月) 15:59:55.34ID:71G/E+75 何この糞コテ
798名前は開発中のものです。
2011/08/15(月) 16:15:04.32ID:cxMX6aDk まぁ、timeGetTimeとかやっちゃってる時点でw
799アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 16:38:36.57ID:pL1hbMOk なんだ、この糞コテを知らんのか。
糞コテみたら、まずはググレカすことを覚えろよ。
糞コテみたら、まずはググレカすことを覚えろよ。
800名前は開発中のものです。
2011/08/15(月) 16:40:46.38ID:726htfBM 無名コテ乙
801アジェグ4倍 ◆4xAJeG.COM
2011/08/15(月) 16:44:14.52ID:pL1hbMOk それはそうと、この板は完全に過疎板だと思ってたが、結構いるもんだな。
悪いことは言わん、今のうちにあぼーん登録しておくがよい。
悪いことは言わん、今のうちにあぼーん登録しておくがよい。
802名前は開発中のものです。
2011/08/15(月) 20:09:42.78ID:WSvdh9Hq 親切でやったつもりがケチつけられて傷ついたのはわかるが
そこで自棄を起こして荒らし行為なんてせずに、おとなしく引き下がる事を望む。
そこで自棄を起こして荒らし行為なんてせずに、おとなしく引き下がる事を望む。
803アジェグ4倍 ◆4xAJeG.COM
2011/08/16(火) 08:37:55.17ID:t616+10I 嵐だと思うなら、返事しちゃダメじゃん。
過疎スレで、おれが来るまで10日も放置してたのに、
おれが来たとたん、タチマチこんなに集まっちゃってさ。
sageりゃいいってもんじゃねーんだぞ。
ほんとはうれしいんだろ?
寂しかったこのスレに、大物コテが現れてくれて。
ちなみにおれは、↓のようなMIDIアプリを開発している糞コテさ。
いまは、イロイロな機能追加を進めててね。
http://www2.ocn.ne.jp/~j3262il6/rds/
このソフト、ソースも公開してるけど、くれぐれもパクったり
参考にしたりしないように。
容赦なく、timeGetTimeとかやっちゃってるからね。
過疎スレで、おれが来るまで10日も放置してたのに、
おれが来たとたん、タチマチこんなに集まっちゃってさ。
sageりゃいいってもんじゃねーんだぞ。
ほんとはうれしいんだろ?
寂しかったこのスレに、大物コテが現れてくれて。
ちなみにおれは、↓のようなMIDIアプリを開発している糞コテさ。
いまは、イロイロな機能追加を進めててね。
http://www2.ocn.ne.jp/~j3262il6/rds/
このソフト、ソースも公開してるけど、くれぐれもパクったり
参考にしたりしないように。
容赦なく、timeGetTimeとかやっちゃってるからね。
804名前は開発中のものです。
2011/08/16(火) 21:09:07.25ID:3+35ODV/ timeGetTime しちゃう奴は、リアルで jobGetJob できない
805名前は開発中のものです。
2011/08/17(水) 00:02:27.51ID:FbzsBwEq 仕事では、通信プログラムのテストで、あんまり厳密でない時間間隔で
パケット投げるのには手軽で便利だよ。
clock()よりは早く投げられるし。
パケット投げるのには手軽で便利だよ。
clock()よりは早く投げられるし。
806名前は開発中のものです。
2011/08/17(水) 02:21:39.99ID:H/5FPjKZ timeGetTimeってなんかまずいのか?
807アジェグ4倍 ◆4xAJeG.COM
2011/08/17(水) 09:06:45.15ID:4BdszuWf >>806
強いて言えば、このクソコテが使ってるからだろう。
ホカの手段としては、QueryPerformanceCounterてのがあるようだが、
おれが試してみた限りでは、timeGetTimeと挙動に大差はなかったねぇ。
そうなるともう、アルゴリズムの問題だな。
上の方では、Sleep(0)などとも言ってるけど、
待ち時間が1ミリ秒を切るようなら、それはすでに処理オーバーだから、
フレームスキップの処理などを考えないと。
強いて言えば、このクソコテが使ってるからだろう。
ホカの手段としては、QueryPerformanceCounterてのがあるようだが、
おれが試してみた限りでは、timeGetTimeと挙動に大差はなかったねぇ。
そうなるともう、アルゴリズムの問題だな。
上の方では、Sleep(0)などとも言ってるけど、
待ち時間が1ミリ秒を切るようなら、それはすでに処理オーバーだから、
フレームスキップの処理などを考えないと。
808名前は開発中のものです。
2011/08/25(木) 21:01:01.31ID:L1verjXw jobGetJob

こんにちは。初めてですがよろしくお願いします。
使用文法はcです。
今回おかしいなと思ったのはキャラクターが動かないというバグです。
使用している構造体は
unit_status[k].unit_member[i].xxx
となっていて、kがグループ(つまり味方か敵かなど)、iはその中での番号です。
kが1の時は敵、0の時は味方というかんじです。
(プレイヤーに割り当てられた構造体はkが0,iが0です。ループ中に遭遇した場合はスキップされます。)
敵はしっかり動きますが、味方がうんともすんとも言いません。どうしたらいいのでしょうか?

void unit_ai_base_main(){
for(int k=0;k<UNIT_STATUS_MAX;k++){//動かすグループ
for(int i=0;i<UNIT_NUMBER_MAX;i++){//そのグループのmemberを動かすためのループ
if(k==0&&i==0)break;//プレイヤーだった場合ブレイク
testtest++;
if(unit_status[k].unit_member[i].life>0){//仲間が死んでたり居なかったりしたときの分岐
// aiの分岐。
}
}
}
}
コードをはっつける良い場所ないですかね・・・
811名前は開発中のものです。
2011/08/30(火) 17:19:22.22ID:84vu7iX6 そりゃbreakで内側のループを抜けたら同グループは動かないだろう

(´・ω・`)あぁ・・
813名前は開発中のものです。
2011/08/30(火) 19:08:06.33ID:NWN85EFf >>812
m9(^Д^)プギャー
m9(^Д^)プギャー
814名前は開発中のものです。
2011/09/08(木) 18:29:05.58ID:Oef4cD8U コードはっつけるのに、http://codepad.org/
とかどうだろう
とかどうだろう
815名前は開発中のものです。
2011/09/23(金) 20:05:36.80ID:8vj2FBxM ゲームプログラマになる前に覚えておきたい技術を読んでいるんですが、さっぱり分かりません。
普通入門書終えたら読めるようになるのでしょうか?ワンクッションおけるような書籍があれば
教えてください。(DXライブラリは使わないものでお願いします)
普通入門書終えたら読めるようになるのでしょうか?ワンクッションおけるような書籍があれば
教えてください。(DXライブラリは使わないものでお願いします)
816名前は開発中のものです。
2011/09/23(金) 20:12:31.42ID:BbPCTDgW 入門書が何をさすかしらないけど。
CとかC++の入門書を終えたレベルじゃあれを理解するのは無理だよ。
あの本はある程度、ゲーム作製の経験のある人間でも難解だったりする。
絶版になってるけど古本なら1000円で買えるし
http://www.amazon.co.jp/dp/4797325453
これでも買っておけば?
Windowsのゲームプログラミングの初歩の初歩が学べるよ?
CとかC++の入門書を終えたレベルじゃあれを理解するのは無理だよ。
あの本はある程度、ゲーム作製の経験のある人間でも難解だったりする。
絶版になってるけど古本なら1000円で買えるし
http://www.amazon.co.jp/dp/4797325453
これでも買っておけば?
Windowsのゲームプログラミングの初歩の初歩が学べるよ?
817名前は開発中のものです。
2011/09/23(金) 20:21:43.07ID:Unh+z/jy 15歳からはじめるDirectX 9 3Dゲームプログラミング教室 大槻 有一郎
サンプル解説の初級本なら、これでいいんじゃね、
サンプル解説の初級本なら、これでいいんじゃね、
818名前は開発中のものです。
2011/11/29(火) 11:00:43.66ID:E9cixHcQ819名前は開発中のものです。
2011/12/17(土) 00:04:37.69ID:0NJ0/sAa >>816
それ2冊持ってるwwwwwwwwwwwマジいい本wwwwwwwwwwwww
それ2冊持ってるwwwwwwwwwwwマジいい本wwwwwwwwwwwww
820名前は開発中のものです。
2011/12/17(土) 09:42:43.79ID:c3HdajPR821名前は開発中のものです。
2011/12/17(土) 14:01:22.27ID:1E01VCpl 情報を欲しがる奴は多いが、
情報を無料で不特定多数に教えてやりたいという奴は少ないからな。
情報を無料で不特定多数に教えてやりたいという奴は少ないからな。
822名前は開発中のものです。
2011/12/17(土) 16:01:52.71ID:sqRAQJO4 需要と供給のバランスが悪い
823名前は開発中のものです。
2011/12/17(土) 16:47:12.43ID:dkE5DINM やっぱ日本語と英語の違いが大きい
824名前は開発中のものです。
2011/12/18(日) 14:30:57.32ID:JUTCKalu 最大の問題は、日本語とC言語の違いが大きいことだな
825名前は開発中のものです。
2011/12/18(日) 16:56:10.66ID:HURe5qFo 日本語Cの登場が待たれるところ。
826名前は開発中のものです。
2011/12/18(日) 17:30:11.16ID:iH+Z1P0Z 誰がそんなものを待ってるんだ?
アホか。
アホか。
827名前は開発中のものです。
2011/12/18(日) 18:52:22.21ID:Zlr1j4cr 日本語の言語っていくつか無かったっけ?
828名前は開発中のものです。
2011/12/19(月) 00:03:33.31ID:HOwC6ICa ぴゅう太とか。
829名前は開発中のものです。
2011/12/19(月) 01:19:40.36ID:GsD7aQhU ひまわりとかなでしことか
830名前は開発中のものです。
2011/12/21(水) 22:11:54.31ID:73BnYAdy ttp://anifileshotcom.blog23.fc2.com/blog-entry-79.html
このエロアニメの作品名おしえてください
このエロアニメの作品名おしえてください
831名前は開発中のものです。
2011/12/30(金) 03:33:29.84ID:BdJ06cjV >>816
作者のサイトもめちゃくちゃ役に立つよ
作者のサイトもめちゃくちゃ役に立つよ
832名前は開発中のものです。
2011/12/30(金) 07:59:09.53ID:fLwUNHJV 英語やれ
833名前は開発中のものです。
2011/12/31(土) 02:34:43.23ID:hnWOUXNQ 初めまして、web上で簡単なゲームを作りたい、又は作ってほしいのですが、どこで聞けばよいのでしょうか?。
趣味でプログラムを作成している方達のサイト又は作り方を説明していただけるサイトをご存じないでしょうか?。
ある程度の詳細はあるのですが、簡単に言うと、
グラフックやキャラクターの動作等は無しで、設定した地域(国?)を支配していくというシナリオで、
任意に選択された地域を、対戦で支配していき、全国制覇を目指すという感じです。
対戦は、最悪○×でもいいと考えています。
趣味でプログラムを作成している方達のサイト又は作り方を説明していただけるサイトをご存じないでしょうか?。
ある程度の詳細はあるのですが、簡単に言うと、
グラフックやキャラクターの動作等は無しで、設定した地域(国?)を支配していくというシナリオで、
任意に選択された地域を、対戦で支配していき、全国制覇を目指すという感じです。
対戦は、最悪○×でもいいと考えています。
834名前は開発中のものです。
2011/12/31(土) 03:32:37.21ID:9xQlokMr やだ
835名前は開発中のものです。
2011/12/31(土) 04:59:52.95ID:j/tqrXod >趣味でプログラムを作成している方達のサイト又は作り方を説明していただけるサイト
探せばゴロゴロ出てくるだろ
つーかスレ違い
探せばゴロゴロ出てくるだろ
つーかスレ違い
836名前は開発中のものです。
2011/12/31(土) 09:12:54.14ID:hnWOUXNQ スレ違いごめんなさい これで消えます
どのスレできけばいいですか? 「板案内・初心者質問」 ってリンクがつながっていなかった
ものですから…。
どのスレできけばいいですか? 「板案内・初心者質問」 ってリンクがつながっていなかった
ものですから…。
837名前は開発中のものです。
2012/01/06(金) 17:47:26.44ID:ceh98EDy ハクスラ系によくあるベースアイテムに攻撃や防御などのオプションとその値がランダムにくっついて生成されるプログラムはどのように作るのでしょうか
「[攻撃Lv1][攻撃Lv2]こん棒」というアイテムだったらそのアイテム詳細に基本攻撃x 攻撃+xx 攻撃+xx と表示させる感じです
また参考になるサイト等無いでしょうか
「[攻撃Lv1][攻撃Lv2]こん棒」というアイテムだったらそのアイテム詳細に基本攻撃x 攻撃+xx 攻撃+xx と表示させる感じです
また参考になるサイト等無いでしょうか
838名前は開発中のものです。
2012/01/07(土) 00:02:39.43ID:58lvIgBV ・オプション種とLVにおける効果、を示す二次元配列的なものを作っておく
([攻撃]の[LV2]は +5 〜 +10 の範囲の中からとるとか)
・アイテムとオプション種の付加可否、を示す二次元配列的なものを作っておく
(剣は[攻撃:○][防御:×][火属性攻撃:○][浮遊:×]とか)
●アイテム生成
・オプション枠に空きがあり、レア確率に当れば、前記情報により付加する
(再帰呼び出しすればオプション枠は埋まっていく)
([攻撃]の[LV2]は +5 〜 +10 の範囲の中からとるとか)
・アイテムとオプション種の付加可否、を示す二次元配列的なものを作っておく
(剣は[攻撃:○][防御:×][火属性攻撃:○][浮遊:×]とか)
●アイテム生成
・オプション枠に空きがあり、レア確率に当れば、前記情報により付加する
(再帰呼び出しすればオプション枠は埋まっていく)
839名前は開発中のものです。
2012/01/07(土) 01:24:54.25ID:DczBoP6Z840名前は開発中のものです。
2012/01/12(木) 16:26:14.39ID:iveuPOLo エースコンバットみたいな3Dフライトゲームを作りたいと思って、色々情報を検索したのですが
良い情報が手に入らなくて、困っています。
3Dフライトゲームの基礎的なものを知るには、どういうキーワードで検索したらいいのですか?
良い情報が手に入らなくて、困っています。
3Dフライトゲームの基礎的なものを知るには、どういうキーワードで検索したらいいのですか?
841名前は開発中のものです。
2012/01/12(木) 20:30:33.03ID:sPWfbocV842名前は開発中のものです。
2012/01/27(金) 10:49:49.66ID:Xg/DxpLS 個人でエースコンバット作れたら天才だと思うwwww
843名前は開発中のものです。
2012/01/27(金) 14:35:42.46ID:KvjS2zXd HSPコンテストにエスコンみたいなものを作ってた人いたね。
844名前は開発中のものです。
2012/01/29(日) 20:44:06.88ID:YvUs+aF4 同人でみたことあるな
当然有料だけど
当然有料だけど
845名前は開発中のものです。
2012/01/30(月) 00:30:36.10ID:r3izPDdu フライト物のシミュレーション性の低いやつは、3D系のゲームの中では
難易度は一番低い方だと思うよ。
車とかの陸上物よりは簡単。
難易度は一番低い方だと思うよ。
車とかの陸上物よりは簡単。
846名前は開発中のものです。
2012/01/31(火) 09:54:28.45ID:hy1DRM+Q 航空力学を考慮しようとしたら、揚力とか抗力とかの計算が難しくてなかなかシミュレーションできない
他にも、機体を少し傾けたらそっちの方に旋回するとかも難しそう
他にも、機体を少し傾けたらそっちの方に旋回するとかも難しそう
847名前は開発中のものです。
2012/01/31(火) 12:20:17.37ID:mH01bj3M 決まりがあるからそれに従うだけではあるけど、資料集めが苦労するかなあ
848名前は開発中のものです。
2012/01/31(火) 20:15:26.43ID:rCvcOxBv 揚力さえ再現できたらそれっぽくなりそうだが、違うもんなのかえ?
849名前は開発中のものです。
2012/02/01(水) 02:07:42.33ID:ALMaHMOB シミュレーション性は無視して、こういう操作をしたらこういう挙動をさせたいって
モデル化するのは、ゲーム作れるなら普通のスキルだと思う。
例えば自動車の場合、ハンドルを切ったら曲がる、同じ舵角なら前進速度が速いほど
速く曲がるという結果から、車が曲がる速さは舵角×前進速度×適当な係数を角速度とする。
係数は自然な感じになるように動かしながら微調整。
これに横滑りの要素も加えれば、クレイジータクシーみたいな感じの挙動は簡単に作れる。
入力(この場合はハンドルを切る)と出力(車が回転する)が決まっていて、その間の関係を
影響がありそうな要素に適当な係数を掛けて、狙った動きを作り出すってのがインチキ挙動の基本。
飛行機でも大して変わらないんだけど、飛行機のことをよく知らなかったらインチキモデルを
考えるのも難しいかもね。
ただ、飛行機で上で書いたみたいな舵角と速度で角速度を直接求めるような計算をすると
昔あったスターウォーズのゲームみたいなフワフワした飛び方になると思うが。
ちなみに>>846の傾けたら旋回するってのも難しい話じゃなくて、翼で発生する揚力と重力を
合成すると横向きのベクトルになるってだけ。
モデル化するのは、ゲーム作れるなら普通のスキルだと思う。
例えば自動車の場合、ハンドルを切ったら曲がる、同じ舵角なら前進速度が速いほど
速く曲がるという結果から、車が曲がる速さは舵角×前進速度×適当な係数を角速度とする。
係数は自然な感じになるように動かしながら微調整。
これに横滑りの要素も加えれば、クレイジータクシーみたいな感じの挙動は簡単に作れる。
入力(この場合はハンドルを切る)と出力(車が回転する)が決まっていて、その間の関係を
影響がありそうな要素に適当な係数を掛けて、狙った動きを作り出すってのがインチキ挙動の基本。
飛行機でも大して変わらないんだけど、飛行機のことをよく知らなかったらインチキモデルを
考えるのも難しいかもね。
ただ、飛行機で上で書いたみたいな舵角と速度で角速度を直接求めるような計算をすると
昔あったスターウォーズのゲームみたいなフワフワした飛び方になると思うが。
ちなみに>>846の傾けたら旋回するってのも難しい話じゃなくて、翼で発生する揚力と重力を
合成すると横向きのベクトルになるってだけ。
850名前は開発中のものです。
2012/02/01(水) 17:49:22.24ID:EhQ4aeNO それらしく飛べるようにするには、最低↓に書いてあるような事を理解しないといけないですか?
http://ja.wikipedia.org/wiki/%E6%8F%9A%E5%8A%9B
http://ja.wikipedia.org/wiki/%E6%8F%9A%E5%8A%9B
851名前は開発中のものです。
2012/02/01(水) 18:13:37.65ID:juCjyfEf ゲームは如何に擬似的に実装するかだと思うけどなぁ
フライトシミュやったことないからアレだけども…
知ってたらよりリアルに作れるって感じじゃないかな
フライトシミュやったことないからアレだけども…
知ってたらよりリアルに作れるって感じじゃないかな
852名前は開発中のものです。
2012/02/01(水) 21:24:40.59ID:ALMaHMOB >>850
そこにある式から揚力は速度の2乗に比例するとか大雑把に読み取れば十分だと思う。
ゲーム的な飛行機ものだと失速はさせないから、揚力係数の部分も
>迎角の絶対値が小さいとき、揚力係数はほぼ迎角に比例する。
だけ考えればよくて、迎角に適当な係数かけとけばいいかと。
そこにある式から揚力は速度の2乗に比例するとか大雑把に読み取れば十分だと思う。
ゲーム的な飛行機ものだと失速はさせないから、揚力係数の部分も
>迎角の絶対値が小さいとき、揚力係数はほぼ迎角に比例する。
だけ考えればよくて、迎角に適当な係数かけとけばいいかと。
853名前は開発中のものです。
2012/02/11(土) 21:25:02.80ID:E0fAwLOP 理解するに越したことはないだろうけど、近い挙動が出来る式があれば
それでいいんでは?
それっぽくて計算が軽い>本当の挙動だけど重い
だと俺は思う。
ニュートン力学を理解してなくても、りんごは木からおちるんです
それでいいんでは?
それっぽくて計算が軽い>本当の挙動だけど重い
だと俺は思う。
ニュートン力学を理解してなくても、りんごは木からおちるんです
854名前は開発中のものです。
2012/02/12(日) 23:34:37.60ID:gjfghICz855名前は開発中のものです。
2012/02/28(火) 11:23:10.89ID:QT80zxay 今からゲームプログラミング勉強するとしたら
C++でDirectXとC#でXNAどっちおすすめですか?
ジャンルはアクションかSRPGです
C++でDirectXとC#でXNAどっちおすすめですか?
ジャンルはアクションかSRPGです
856名前は開発中のものです。
2012/02/28(火) 13:07:37.48ID:DEMYa7pD 初心者ならHSP
計算順序の違いとか方言に注意のこと
計算順序の違いとか方言に注意のこと
857名前は開発中のものです。
2012/02/28(火) 16:02:56.21ID:UDQM/8rw >>855
いまどき実行ファイルをダウンロードしてまで素人が作ったゲームで
遊ぼうとは思わないから、Flashとかのブラウザ上で実行できるやつか
Androidの方がいいかもしれん。
Silverlight5のXNAが、もっとまともだったらよかったのに。
いまどき実行ファイルをダウンロードしてまで素人が作ったゲームで
遊ぼうとは思わないから、Flashとかのブラウザ上で実行できるやつか
Androidの方がいいかもしれん。
Silverlight5のXNAが、もっとまともだったらよかったのに。
858名前は開発中のものです。
2012/03/01(木) 23:09:58.92ID:WMGCGy2B >>855
初心者でないのならC++でDirectXだな。C#はかゆいところに手が届かん。
初心者でないのならC++でDirectXだな。C#はかゆいところに手が届かん。
859名前は開発中のものです。
2012/03/07(水) 22:48:59.98ID:8K9IcX8w >>855
これからの時代はHTML5(JavaScript)
Windows/Linux/Mac OSX/Androidとも、Webブラウザ外でアプリとして実行するためのHTML5系アプリケーション実行環境を持っているし
これからの時代はHTML5(JavaScript)
Windows/Linux/Mac OSX/Androidとも、Webブラウザ外でアプリとして実行するためのHTML5系アプリケーション実行環境を持っているし
860名前は開発中のものです。
2012/03/08(木) 08:42:24.00ID:2BIHW9bv XNAについて質問なんですが
DrawableComponentってメッセージ表示用のウインドウとか専用にポコポコ作って負荷は大丈夫なんでしょうか?
そういうサンプルがあったんですが、あちこちでBegin→Endを繰り返すのが気になります
DrawableComponentってメッセージ表示用のウインドウとか専用にポコポコ作って負荷は大丈夫なんでしょうか?
そういうサンプルがあったんですが、あちこちでBegin→Endを繰り返すのが気になります
861名前は開発中のものです。
2012/03/08(木) 14:05:39.97ID:A2EXIfC2 問題が出るのはよっぽどだな
862名前は開発中のものです。
2012/03/09(金) 23:51:34.39ID:nUYy7QmF 2Dで最大20個くらいなら大丈夫っぽいですね
描画処理ごと部品化するのはアリみたいなのでやってみます
描画処理ごと部品化するのはアリみたいなのでやってみます
863855
2012/03/16(金) 12:25:53.62ID:hdhBGq2r >>856
VBAだったら簡単な業務用システムを作れますが、ゲームプログラミンはど素人です
HSPも考えたのですが、ゲームプログラミングを覚えつつ言語の勉強も兼ねたいので、
ゲーム以外でもつぶしの聞く方向で考えてます
>>C#はかゆいところに手が届かん。
具体的に手が届かないところを教えてもらえますか
>>857 >>859
ゲームプログラミング自体がど素人なので、まずその基礎を習得したいと思ってます
ですがJavaScriptでもゲームが作れるとは思ってなかったので、もうちょっと情報を漁ってみます
現在C#のWindowsアプリ開発とC++ゲームプログラミング(ライブラリ使用)を独学中です
(いまだどっちにするか決めかねてる)
色んなご意見ありがとうございますた
VBAだったら簡単な業務用システムを作れますが、ゲームプログラミンはど素人です
HSPも考えたのですが、ゲームプログラミングを覚えつつ言語の勉強も兼ねたいので、
ゲーム以外でもつぶしの聞く方向で考えてます
>>C#はかゆいところに手が届かん。
具体的に手が届かないところを教えてもらえますか
>>857 >>859
ゲームプログラミング自体がど素人なので、まずその基礎を習得したいと思ってます
ですがJavaScriptでもゲームが作れるとは思ってなかったので、もうちょっと情報を漁ってみます
現在C#のWindowsアプリ開発とC++ゲームプログラミング(ライブラリ使用)を独学中です
(いまだどっちにするか決めかねてる)
色んなご意見ありがとうございますた
864名前は開発中のものです。
2012/03/17(土) 13:13:23.15ID:rrJIgDrF >>863
どの言語もベースとなる考えは同じだから、ある一つの言語でゲームプログラミングを覚えてしまえば
他の言語でもなんとなくで作れるようになる。
なんで、最初は自分が使いやすいと思った言語を勉強すれ。
どの言語もベースとなる考えは同じだから、ある一つの言語でゲームプログラミングを覚えてしまえば
他の言語でもなんとなくで作れるようになる。
なんで、最初は自分が使いやすいと思った言語を勉強すれ。
865名前は開発中のものです。
2012/03/23(金) 16:31:40.61ID:K6vcGusk866名前は開発中のものです。
2012/03/23(金) 19:22:28.11ID:iv6vo6jD C#に組み込めないスクリプト言語って具体的にどれ?
メジャーなのは大抵使えると思うけど。
メジャーなのは大抵使えると思うけど。
867名前は開発中のものです。
2012/03/29(木) 19:13:00.65ID:yUAqqvDU XBOXで動作させる時はSystem.Reflection.Emitが使えないとかそんな話?
868名前は開発中のものです。
2012/03/29(木) 19:59:53.90ID:cz0KTXru LuaとかSquirrelとかRubyとかC#で使える?
あと、CやC++で書かれたソースコードを流用したり、とか出来たっけ?
あと、CやC++で書かれたソースコードを流用したり、とか出来たっけ?
869名前は開発中のものです。
2012/03/29(木) 20:04:28.13ID:cz0KTXru っつーか、自作のスクリプト言語の流用が出来ないのが一番困る
ちなみにC++
ちなみにC++
870名前は開発中のものです。
2012/04/01(日) 08:47:19.00ID:SRc+M44U JavaとCの基礎は大体理解しているんですが実用的なアプリ開発につなげて行くためにはどうしたらいいですか?
871名前は開発中のものです。
2012/04/01(日) 09:03:04.28ID:MCAhNEAs アプリを自分で開発する努力をする。本読むより実装やオープンソースがいい。
872名前は開発中のものです。
2012/04/01(日) 18:54:57.03ID:9URqj6c8 作りたいアプリに似ているものを研究
873名前は開発中のものです。
2012/04/05(木) 12:07:18.83ID:jb0cRcEL VB.NETとSDL.NETで楽々ゲームプログラミング。
LuaもLuaInterface使えば楽勝で使える。
XNAみたいなウンコは必要無いよ。C#でも。
LuaもLuaInterface使えば楽勝で使える。
XNAみたいなウンコは必要無いよ。C#でも。
874名前は開発中のものです。
2012/04/06(金) 16:03:13.16ID:odpm5sds C#プログラミング勉強中なんだけど漠然とした問題にぶち当たったからだれか教えて欲しい。
今「独習C#」を使って勉強中(メソッドとクラスがある程度できるレベル)なんだけど、製品のゲームみたいなGUIはどうやってつくればいの?
自分なりに調べてみたら、windowsformを使うか、XNA環境使うかしか方法が無かったんだけど他にもっと別の作り方ってないのかな。
ボタンとか、メニューも自分で作る方法みたいな。
今「独習C#」を使って勉強中(メソッドとクラスがある程度できるレベル)なんだけど、製品のゲームみたいなGUIはどうやってつくればいの?
自分なりに調べてみたら、windowsformを使うか、XNA環境使うかしか方法が無かったんだけど他にもっと別の作り方ってないのかな。
ボタンとか、メニューも自分で作る方法みたいな。
875名前は開発中のものです。
2012/04/09(月) 20:16:25.33ID:1i005mvJ XNAでも部品なんて用意してくれてないだろ
自分で絵を貼って自分で文字書いて自分でカーソル動かすだけ
自分で絵を貼って自分で文字書いて自分でカーソル動かすだけ
876名前は開発中のものです。
2012/04/09(月) 21:04:28.19ID:GfwlVark877名前は開発中のものです。
2012/04/12(木) 08:57:20.71ID:YyGeijOe 嘘を教えるな嘘を
ボタンならボタンでメニューならメニューでちゃんとしたやり方がある
ボタンならボタンでメニューならメニューでちゃんとしたやり方がある
878名前は開発中のものです。
2012/04/22(日) 19:13:38.74ID:MTwz9k+/ Win32 APIでの質問なんだけど
CALLBACKを関数の前につけると何がどう変わるんだ
呼び出し規約云々があるらしいけど、具体的な動作の変化が分からないから
何時つけるべきで、何時つけるべきでないのかがはっきりしない
CALLBACKを関数の前につけると何がどう変わるんだ
呼び出し規約云々があるらしいけど、具体的な動作の変化が分からないから
何時つけるべきで、何時つけるべきでないのかがはっきりしない
879名前は開発中のものです。
2012/04/22(日) 20:04:34.35ID:V0cL/+4n APIに関数ポインタを渡す(構造体に詰めて渡す場合ももちろん含む)場合で、APIがCALLBACK付きを要求している場合に付ける。
例えば、DialogBox APIを呼ぶときにダイアログプロシージャ渡すわけだけど、
APIの定義ではDLGPROC型を要求してる。
で、DLGPROCはヘッダファイル探すとCALLBACK付いてるので、
結局ダイアログプロシージャ関数はCALLBACKをつける必要がある。
例えば、DialogBox APIを呼ぶときにダイアログプロシージャ渡すわけだけど、
APIの定義ではDLGPROC型を要求してる。
で、DLGPROCはヘッダファイル探すとCALLBACK付いてるので、
結局ダイアログプロシージャ関数はCALLBACKをつける必要がある。
880名前は開発中のものです。
2012/04/23(月) 21:34:00.08ID:oUKRAUBx 返答ありがとうございます
それじゃあ普段プログラマの側(それも不慣れな者)が気に掛けることではないということかな
コールバックするであろう関数にはとりあえずつけといた方がいいのだろうかと不安に思っていてね
それじゃあ普段プログラマの側(それも不慣れな者)が気に掛けることではないということかな
コールバックするであろう関数にはとりあえずつけといた方がいいのだろうかと不安に思っていてね
881名前は開発中のものです。
2012/06/18(月) 23:51:08.10ID:VyyWKTHf 質問です。
アクションゲームを作りたいのですが、
キーボードのキーってずっと押したままにしても、最初の一回の入力以降は
押し続けてても1秒くらい立たないと入力が受け付けられないと思うのですが、
これを判定する方法はありますでしょうか?
アクションゲームを作りたいのですが、
キーボードのキーってずっと押したままにしても、最初の一回の入力以降は
押し続けてても1秒くらい立たないと入力が受け付けられないと思うのですが、
これを判定する方法はありますでしょうか?
882名前は開発中のものです。
2012/06/19(火) 09:05:57.35ID:4lOMDEkq KEYUP、KEYDOWNのメッセージでフラグの上げ下げをする。
883名前は開発中のものです。
2012/06/19(火) 16:13:23.43ID:hVqLfL6z どうやってるかによるけど、通常は
入力通知を受けるのではなく、
その時点でキーが押されたかを調べる。
GetAsyncKeyState()等を使って。
入力通知を受けるのではなく、
その時点でキーが押されたかを調べる。
GetAsyncKeyState()等を使って。
884名前は開発中のものです。
2012/06/23(土) 23:53:57.12ID:8n4rnNdA 私文系の人間で物理学を一切知りません。
高校時代に赤点地獄だったのですが、こんな私でもアクションゲームを作ることが可能ですか?
ジャンプや物体の加速など物理方程式を回避してこれらを実装する手段はありますか?
昔懐かしFCゲームのようなドット絵ゲーなので可能でしょうか…?
高校時代に赤点地獄だったのですが、こんな私でもアクションゲームを作ることが可能ですか?
ジャンプや物体の加速など物理方程式を回避してこれらを実装する手段はありますか?
昔懐かしFCゲームのようなドット絵ゲーなので可能でしょうか…?
885名前は開発中のものです。
2012/06/24(日) 00:16:08.59ID:+0KCpHb8 中学レベルの数学ができれば余裕。
3Dバリバリのを作ろうとしたらそうはいかないけど。
3Dバリバリのを作ろうとしたらそうはいかないけど。
886名前は開発中のものです。
2012/06/24(日) 03:12:07.05ID:S+AGISs0887名前は開発中のものです。
2012/06/24(日) 06:55:52.79ID:F0WQzxPI とはいえ、いろいろ知ってるほうが有利だけどね。
空中から落ちる場合、
前回の落下速度に+1、上限速度アリ、ってやれば自然っぽくない?
とか、普通に考えられるようになるし。
そういうあたりを試行錯誤する手間が省ける。
知っていると有利だが、知らないことは致命傷じゃない。
空中から落ちる場合、
前回の落下速度に+1、上限速度アリ、ってやれば自然っぽくない?
とか、普通に考えられるようになるし。
そういうあたりを試行錯誤する手間が省ける。
知っていると有利だが、知らないことは致命傷じゃない。
888名前は開発中のものです。
2012/06/24(日) 07:14:43.40ID:/bhfsLHX 2Dなんかの場合数学無視した方が面白い場合もたくさんあるよね
マリオの空中での動きとかあれあり得ないし
マリオの空中での動きとかあれあり得ないし
889名前は開発中のものです。
2012/06/24(日) 08:06:46.13ID:S+AGISs0 >>887
自然っぽくしたからと言って面白くなったり
操作性が上がる訳じゃない
マリオなんて想定外の落下距離を落ちるとブロック飛び越えてブロックの間に着地する
これを防ぐ目的で速度制限付けるのは有りだが自然っぽいかどうかでは・・・
自然っぽくしたからと言って面白くなったり
操作性が上がる訳じゃない
マリオなんて想定外の落下距離を落ちるとブロック飛び越えてブロックの間に着地する
これを防ぐ目的で速度制限付けるのは有りだが自然っぽいかどうかでは・・・
890884
2012/06/24(日) 09:45:43.11ID:ucQNFc4u >>885-889
どうもありがとうございますm(_ _)m
中学レベルの数学も微妙に怪しいですが、それなら参考書買って何とかなりそうですよ…
マリオの挙動は独特ですよね。
ジャンプした時と着地に向かう時の落下時とで個別にルーチンを用意してるんじゃないかと思われるような挙動で「癖」がありますよね。
でもああいうのを敢えて実装しようという思いも側らあってですね…
でも結局現代人はあのマリオをプレイしてきているので逆にそのほうが自然になったりしないでしょうか(マリオをプレイした事のない人はこれは嘘になりますが汗
どうもありがとうございますm(_ _)m
中学レベルの数学も微妙に怪しいですが、それなら参考書買って何とかなりそうですよ…
マリオの挙動は独特ですよね。
ジャンプした時と着地に向かう時の落下時とで個別にルーチンを用意してるんじゃないかと思われるような挙動で「癖」がありますよね。
でもああいうのを敢えて実装しようという思いも側らあってですね…
でも結局現代人はあのマリオをプレイしてきているので逆にそのほうが自然になったりしないでしょうか(マリオをプレイした事のない人はこれは嘘になりますが汗
891名前は開発中のものです。
2012/06/24(日) 10:10:57.95ID:f11XiEEl 作ろうとしているゲームに関連する知識を
アホほど収集するのは俺くらいかなぁ?
最終的には取捨選択して半分くらいは無駄になるけど。
アホほど収集するのは俺くらいかなぁ?
最終的には取捨選択して半分くらいは無駄になるけど。
892名前は開発中のものです。
2012/06/24(日) 19:13:16.06ID:4+CNk2h0 大抵のアクションゲームのジャンプに正確な物理演算なんて採用されてないよ
例えばマリオやロックマンなんかでもジャンプは小ジャンプでも大ジャンプでもジャンプの初速は同じ
ただし、ジャンプボタンが離されたらそこに加速度無くして下降させていくっていうふうになってるし
アクトレイザーみたいにジャンプの高さ一定なゲームもあるけどね。
例えばマリオやロックマンなんかでもジャンプは小ジャンプでも大ジャンプでもジャンプの初速は同じ
ただし、ジャンプボタンが離されたらそこに加速度無くして下降させていくっていうふうになってるし
アクトレイザーみたいにジャンプの高さ一定なゲームもあるけどね。
893名前は開発中のものです。
2012/06/25(月) 01:04:32.74ID:N824JVL4 >>887
大事やね
理科系いくと力学で必ず摩擦を考えた雨粒落下みたいな計算やるもんな〜案外馬鹿に出来ん
だけで専門というより教養のレベルだし日頃当たり前に見てることだからイメージから入れば文系だろうと関係ない
むしろイメージが浮かべば式わからなくても調べられる
そういう式だけ知ってても全然右脳使えないやつもいるし
大事やね
理科系いくと力学で必ず摩擦を考えた雨粒落下みたいな計算やるもんな〜案外馬鹿に出来ん
だけで専門というより教養のレベルだし日頃当たり前に見てることだからイメージから入れば文系だろうと関係ない
むしろイメージが浮かべば式わからなくても調べられる
そういう式だけ知ってても全然右脳使えないやつもいるし
894名前は開発中のものです。
2012/06/25(月) 22:17:09.89ID:HpEgaskp まぁ、イメージをコードに落とすイマジネーションが最大の武器で、
理論や数式はその補助だね。
知っていれば確実に有利であることに間違いはない、
だが知らなくても特に大きな問題ではない。
どんな勉強でもしておいて損はないよ、ってことで。
理論や数式はその補助だね。
知っていれば確実に有利であることに間違いはない、
だが知らなくても特に大きな問題ではない。
どんな勉強でもしておいて損はないよ、ってことで。
895884
2012/06/26(火) 00:16:00.96ID:49svXmP5 皆様ありがとうございます。
制作のほう頑張りたいと思います。
制作のほう頑張りたいと思います。
896名前は開発中のものです。
2012/06/28(木) 17:09:25.82ID:KucKXK4H そもそも物理法則に忠実だとジャンプ中に方向変えられないしな
897名前は開発中のものです。
2012/07/01(日) 23:11:10.19ID:iHtFN0Ha そうですね。
ゲームとして違和感がなければ良しということで
ゲームとして違和感がなければ良しということで
898884
2012/07/15(日) 17:38:39.96ID:pX8TH0ip 先生!質問です!
C言語で…
WinMain(){
関数() ;
関数の処理
・
・
・
}
みたいな感じで関数を関数処理以前に書いた場合、正常に動作するのでしょうか?
それとも関数定義だけソース天辺でしておけばどのタイミングでも関数呼び出しOKですか?
C言語で…
WinMain(){
関数() ;
関数の処理
・
・
・
}
みたいな感じで関数を関数処理以前に書いた場合、正常に動作するのでしょうか?
それとも関数定義だけソース天辺でしておけばどのタイミングでも関数呼び出しOKですか?
899884
2012/07/15(日) 17:41:14.76ID:pX8TH0ip すいません…
自己解決しました。。。
コンパイルできないお。と言われたのでコード組みなおします…
スレ汚しスマソ(´・ω・)
自己解決しました。。。
コンパイルできないお。と言われたのでコード組みなおします…
スレ汚しスマソ(´・ω・)
900名前は開発中のものです。
2012/07/15(日) 17:50:37.75ID:k2twrqrP Cの基礎中の基礎だからスレ違い。
本読めばわかる基礎事項。ネットでもいい。
本読めばわかる基礎事項。ネットでもいい。
901名前は開発中のものです。
2012/07/15(日) 18:21:48.90ID:Ssv/RyLk 前に持ってくんじゃ無くてプロトタイプ宣言、な
903名前は開発中のものです。
2012/10/14(日) 15:39:36.82ID:2t+L3/5S まだあるの?
904名前は開発中のものです。
2012/11/29(木) 11:36:58.44ID:TT/6t1IG 2d横スクロールアクションで敵がでる条件をプレイヤーの座標が例えば330以上340未満とかしようとおもってるんですけど、セオリーというか、普通はどう実装してるもんなんですか?
905名前は開発中のものです。
2012/11/29(木) 14:24:08.29ID:Gd8d17gU そのままif文でそれをすればいいんじゃないの
906名前は開発中のものです。
2012/11/29(木) 15:19:33.36ID:JuWNVxeV そういうのは外からパラメタ入れられるようにして可変にしとくといい。
テキストファイルとかでいいよ、難易度調整でコンパイルとかいちいちしてられないし
テキストファイルとかでいいよ、難易度調整でコンパイルとかいちいちしてられないし
907名前は開発中のものです。
2012/11/29(木) 23:36:27.30ID:SnOSuGer 確かに難易度調整とか考えるとファイルから読み取ったほうがよさそうですね。
了解しました。ありがとうございます、
出現条件として座標だけだとうまく行かないかなーとか思ってほかの人は
どういう風にしてるのか気になったので質問させていただきました。
了解しました。ありがとうございます、
出現条件として座標だけだとうまく行かないかなーとか思ってほかの人は
どういう風にしてるのか気になったので質問させていただきました。
908名前は開発中のものです。
2013/01/28(月) 23:05:51.60ID:LkpC3c5z909名前は開発中のものです。
2013/02/06(水) 21:10:56.84ID:1LghX5HE ジョイスティックの状態を取得する処理を作っています。
joyGetPosExでハットスイッチの状態を取ろうと思ったのですが、一番目のハットスイッチしか取れません。
複数のハットスイッチの状態はどうやって取ればいいんでしょうか?
macでは出来るみたいでしたが、APIがわかりません・・
ttp://ysflight.in.coocan.jp/programming/macosx/joystick/j.html
デバイスはハットが4つあるvJoyの状態で練習しようと思ってます。
joyGetPosExでハットスイッチの状態を取ろうと思ったのですが、一番目のハットスイッチしか取れません。
複数のハットスイッチの状態はどうやって取ればいいんでしょうか?
macでは出来るみたいでしたが、APIがわかりません・・
ttp://ysflight.in.coocan.jp/programming/macosx/joystick/j.html
デバイスはハットが4つあるvJoyの状態で練習しようと思ってます。
910名前は開発中のものです。
2013/02/06(水) 22:22:16.08ID:1LghX5HE RegisterRawInputDevices → WM_INPUTで接続されてる全部のデバイスの入力を
捕まえることも考えています。(ハット4つついてる本物が要る)
捕まえることも考えています。(ハット4つついてる本物が要る)
911名前は開発中のものです。
2013/02/08(金) 02:27:37.66ID:aSO51vfl それだけの情報じゃわからんな
フラグはちゃんと設定してんのかね
フラグはちゃんと設定してんのかね
912名前は開発中のものです。
2013/02/08(金) 03:46:41.92ID:E0B8JHeU 変数を使った人数判定について
頭がこんがらがってしまったのでお知恵を拝借したい
Aさん Bさん Cさん
の3人のキャラがいたとします
それぞれのHPは5とします
それぞれに変数を用意して玉を当てると
+1加算するとして、変数が5になったらそれぞれは死にます(消えます)
一体一で戦っている時は、死亡判定は簡単です
それぞれの変数が5になれば死亡判定になります
ですが、3人同時に玉を当てれる技をもっていた時に、
それぞれの死亡判定を考えた時、頭が混乱しそうになります
例えば、
頭がこんがらがってしまったのでお知恵を拝借したい
Aさん Bさん Cさん
の3人のキャラがいたとします
それぞれのHPは5とします
それぞれに変数を用意して玉を当てると
+1加算するとして、変数が5になったらそれぞれは死にます(消えます)
一体一で戦っている時は、死亡判定は簡単です
それぞれの変数が5になれば死亡判定になります
ですが、3人同時に玉を当てれる技をもっていた時に、
それぞれの死亡判定を考えた時、頭が混乱しそうになります
例えば、
913名前は開発中のものです。
2013/02/08(金) 03:54:19.83ID:E0B8JHeU まず、Aさんに玉を1つ当てましたAの変数は1です
この状態では、
A変数1 B変数0 C変数0 です
次に、3人同時に玉を当てれる技を使いました
すると、
A変数2 B変数1 C変数1 になります
次に、Aさんに玉を当てるとAの変数は3になります
A変数3 B変数1 C変数1 になります
次に、3人同時に玉を当ててる技を使った後に、Bさんに玉を1つ当てました
すると
A変数4 B変数3 C変数2 になります
さて、ここからが問題です
それぞれは、変数が5になったら死亡です
この状態で、3人同時に玉を当てれる技を連続で使った時、
Aさん → Bさん →Cさんの順に死んでいきます
この時の各変数(A〜Cさん)の死亡判定をするには
どのように、判定基準を定めればいいでしょうか?
この状態では、
A変数1 B変数0 C変数0 です
次に、3人同時に玉を当てれる技を使いました
すると、
A変数2 B変数1 C変数1 になります
次に、Aさんに玉を当てるとAの変数は3になります
A変数3 B変数1 C変数1 になります
次に、3人同時に玉を当ててる技を使った後に、Bさんに玉を1つ当てました
すると
A変数4 B変数3 C変数2 になります
さて、ここからが問題です
それぞれは、変数が5になったら死亡です
この状態で、3人同時に玉を当てれる技を連続で使った時、
Aさん → Bさん →Cさんの順に死んでいきます
この時の各変数(A〜Cさん)の死亡判定をするには
どのように、判定基準を定めればいいでしょうか?
914名前は開発中のものです。
2013/02/08(金) 04:02:00.39ID:E0B8JHeU 私が考えた案を提示します
まず、Aさんの変数が5になった時に、
A死亡判定変数に1を代入して、全滅変数に+1を加算
Bさんの変数が5になった時に、
B死亡判定変数に1を代入して、全滅変数に+1を加算
これで二人についての死亡判定は可能になりました
A死亡判定変数が1の時は、Aは死にBはまだ生きています
この状態で全員攻撃できる技を使えば、Bにだけに玉が当たります
次に、B死亡判定変数が1の時は、Bは死にAはまだ生きていますので
この状態で全員攻撃できる技を使えば、Aにだけ玉が当たります
そして、全滅変数が2の状態なら
全員攻撃できる技を出すが、誰にも玉は当たりません
この全員攻撃できる技は、画面内に表示している敵全員に
玉を当てれる誘導ミサイルだと思ってください
まず、Aさんの変数が5になった時に、
A死亡判定変数に1を代入して、全滅変数に+1を加算
Bさんの変数が5になった時に、
B死亡判定変数に1を代入して、全滅変数に+1を加算
これで二人についての死亡判定は可能になりました
A死亡判定変数が1の時は、Aは死にBはまだ生きています
この状態で全員攻撃できる技を使えば、Bにだけに玉が当たります
次に、B死亡判定変数が1の時は、Bは死にAはまだ生きていますので
この状態で全員攻撃できる技を使えば、Aにだけ玉が当たります
そして、全滅変数が2の状態なら
全員攻撃できる技を出すが、誰にも玉は当たりません
この全員攻撃できる技は、画面内に表示している敵全員に
玉を当てれる誘導ミサイルだと思ってください
915名前は開発中のものです。
2013/02/08(金) 04:04:34.30ID:E0B8JHeU 2体だけが画面内にいるなら
この方法で、死亡判定が出来ます
ですが、この方法では、敵が3体になった時に無理が生じます
そこで私の質問ですが、
画面内に3体の敵がいて、
画面内に表示している敵全員に玉を当てれる誘導ミサイルのような技があった時
3体以上の死亡判定をさせるにはどうすれば可能でしょうか?
この方法で、死亡判定が出来ます
ですが、この方法では、敵が3体になった時に無理が生じます
そこで私の質問ですが、
画面内に3体の敵がいて、
画面内に表示している敵全員に玉を当てれる誘導ミサイルのような技があった時
3体以上の死亡判定をさせるにはどうすれば可能でしょうか?
916名前は開発中のものです。
2013/02/08(金) 04:29:00.94ID:fc9kQ8/R キャラがABCの3人いるとします。全部で3人です
変数が5になった時、死亡判定変数に1を代入するとします
また、誰かが死ぬと全滅変数に+1するとします
1.まず最初
A変数4 B変数3 C変数2の時→A死亡判定変数0 B死亡判定変数0 C死亡判定変数0 全滅変数0
誰も死んでいない(変数が5でない)から、死亡判定変数は全員0のまま
また、誰も死んでいないから全滅変数は0
2.次に全員に1ダメージずつ
A変数5 B変数4 C変数3の時→A死亡判定変数1 B死亡判定変数0 C死亡判定変数0 全滅変数1
Aが死んだ(変数が5になった)から、Aの死亡判定変数を1にして、全滅変数に+1
BとCは生きている(変数が5でない)から、死亡判定変数は0のまま
2.もう一度全員に1ダメージずつ
ただし、さっき死んでいるAには当たらないとする
A変数5 B変数5 C変数4の時→A死亡判定変数1 B死亡判定変数1 C死亡判定変数0 全滅変数2
Bが死んだ(変数が5になった)から、Bの死亡判定変数を1にして、全滅変数に+1
Cは生きている(変数が5でない)から、死亡判定変数は0のまま
2.もう一度全員に1ダメージずつ
ただし、さっき死んでいるAとBには当たらないとする
A変数5 B変数5 C変数5の時→A死亡判定変数1 B死亡判定変数1 C死亡判定変数1 全滅変数3
Cが死んだ(変数が5になった)から、Cの死亡判定変数を1にして、全滅変数に+1
3.全員死んだか?
全滅変数は3、キャラの数は全部で3
数が同じなので、全員死んだということが確認できます
変数が5になった時、死亡判定変数に1を代入するとします
また、誰かが死ぬと全滅変数に+1するとします
1.まず最初
A変数4 B変数3 C変数2の時→A死亡判定変数0 B死亡判定変数0 C死亡判定変数0 全滅変数0
誰も死んでいない(変数が5でない)から、死亡判定変数は全員0のまま
また、誰も死んでいないから全滅変数は0
2.次に全員に1ダメージずつ
A変数5 B変数4 C変数3の時→A死亡判定変数1 B死亡判定変数0 C死亡判定変数0 全滅変数1
Aが死んだ(変数が5になった)から、Aの死亡判定変数を1にして、全滅変数に+1
BとCは生きている(変数が5でない)から、死亡判定変数は0のまま
2.もう一度全員に1ダメージずつ
ただし、さっき死んでいるAには当たらないとする
A変数5 B変数5 C変数4の時→A死亡判定変数1 B死亡判定変数1 C死亡判定変数0 全滅変数2
Bが死んだ(変数が5になった)から、Bの死亡判定変数を1にして、全滅変数に+1
Cは生きている(変数が5でない)から、死亡判定変数は0のまま
2.もう一度全員に1ダメージずつ
ただし、さっき死んでいるAとBには当たらないとする
A変数5 B変数5 C変数5の時→A死亡判定変数1 B死亡判定変数1 C死亡判定変数1 全滅変数3
Cが死んだ(変数が5になった)から、Cの死亡判定変数を1にして、全滅変数に+1
3.全員死んだか?
全滅変数は3、キャラの数は全部で3
数が同じなので、全員死んだということが確認できます
917名前は開発中のものです。
2013/02/08(金) 07:58:48.68ID:E0B8JHeU >>916
助言ありがとうございます
あれから自分で考えて解くことが出来ました
条件分岐を多用して解決しました
全員の死亡判定変数は、使わないことにして
変数は、各、A,B,Cだけにして、値が5になった時が死亡です
そして、以下のように条件分岐を入れて解決です
A死んでる B死んでる C死んでる
A死んでる B死んでる C生きてる
A死んでる B生きてる C死んでる
A死んでる B生きてる C生きてる
A生きてる B死んでる C死んでる
A生きてる B死んでる C生きてる
A生きてる B生きてる C死んでる
A生きてる B生きてる B生きてる
助言ありがとうございます
あれから自分で考えて解くことが出来ました
条件分岐を多用して解決しました
全員の死亡判定変数は、使わないことにして
変数は、各、A,B,Cだけにして、値が5になった時が死亡です
そして、以下のように条件分岐を入れて解決です
A死んでる B死んでる C死んでる
A死んでる B死んでる C生きてる
A死んでる B生きてる C死んでる
A死んでる B生きてる C生きてる
A生きてる B死んでる C死んでる
A生きてる B死んでる C生きてる
A生きてる B生きてる C死んでる
A生きてる B生きてる B生きてる
918名前は開発中のものです。
2013/02/08(金) 09:50:16.18ID:ywDoLpsd 死んでも当たるようにして
A7 B6 C5 とか変数の上限取っ払えばいいんじゃね?
全滅判定とか死亡判定とかミサイル射撃のルーチンに必要ない
最後に変数5以上で死亡判定、全員変数5以上で全滅判定で終わり
A7 B6 C5 とか変数の上限取っ払えばいいんじゃね?
全滅判定とか死亡判定とかミサイル射撃のルーチンに必要ない
最後に変数5以上で死亡判定、全員変数5以上で全滅判定で終わり
919名前は開発中のものです。
2013/02/08(金) 20:00:08.33ID:y/f0Cgv2 >>911
dwFlagsにはJOY_RETURNALLを入れ、結果としてJOYINFOEX構造体のdwPOVには
中央=-1 上=0 右=9000 下= 18000 左=27000 が格納されており、ハットスイッチ1個めについては動作しています。
dwFlags=JOY_RETURNPOVの場合も変わりありません。
dwFlagsにはJOY_RETURNALLを入れ、結果としてJOYINFOEX構造体のdwPOVには
中央=-1 上=0 右=9000 下= 18000 左=27000 が格納されており、ハットスイッチ1個めについては動作しています。
dwFlags=JOY_RETURNPOVの場合も変わりありません。
920名前は開発中のものです。
2013/02/14(木) 10:58:51.10ID:31/XymZq 質問です。
DirectX9についてです。
fourccフォーマット(D3DFMT_DXT1など)のテクスチャデバイスを
レンダターゲットとして使うことって、普通はやらないものでしょうか?
画質の面以外での不都合などがあれば教えていただけないでしょうか。
VRAM使用量削減のためこういうことをやろうと思っているのですが、
そういった使用例を見たことも聞いたことも無く…
すみませんがお願いいたします。
DirectX9についてです。
fourccフォーマット(D3DFMT_DXT1など)のテクスチャデバイスを
レンダターゲットとして使うことって、普通はやらないものでしょうか?
画質の面以外での不都合などがあれば教えていただけないでしょうか。
VRAM使用量削減のためこういうことをやろうと思っているのですが、
そういった使用例を見たことも聞いたことも無く…
すみませんがお願いいたします。
921名前は開発中のものです。
2013/02/14(木) 12:14:17.91ID:reIQ62Lt そもそもレンダーターゲットとして圧縮フォーマットが
使えるグラボがどれだけあるのか確認した?
使えるグラボがどれだけあるのか確認した?
922名前は開発中のものです。
2013/02/18(月) 12:09:12.56ID:jl25J9BU >>921
お返事遅くなりすみません。
dxinfoというサイトを知り、そちらで確認しましたところ、
圧縮フォーマットをレンダターゲットにできるデバイスは皆無でした。
自分の所有するものでも調べましたが全滅でした。
こういうことだったのですね…無知でした。
一旦32bitテクスチャにレンダリングしたものを変換するという方法にて
正攻法で行きたいと思います。大変ありがとうございました。
お返事遅くなりすみません。
dxinfoというサイトを知り、そちらで確認しましたところ、
圧縮フォーマットをレンダターゲットにできるデバイスは皆無でした。
自分の所有するものでも調べましたが全滅でした。
こういうことだったのですね…無知でした。
一旦32bitテクスチャにレンダリングしたものを変換するという方法にて
正攻法で行きたいと思います。大変ありがとうございました。
923名前は開発中のものです。
2013/03/05(火) 20:13:11.31ID:rD+66rZs 質問です。
エアロのDWMでフォームを透過にしたら、そこに乗ってる画像も透過になってしまうんですが
画像が透過にならない方法を教えてくださいm(__)m
エアロのDWM使って透過にする方法は色々あるようですが、ググってでた「DrawGlassEffect」てコードを使ってフォームを透過させました。
背景色を黒くすると黒い部分が透過になる仕組みなんですが、ラベルやボタンの黒い文字も透過になり、
画像に関しては黒い部分は透明、暗い色ほど透明が強く明るい色ほど不透明、というゴースト状態になります。
矩形なら、透過にしない境界を作ることによって不透明にできるようですが
なにぶん不定型な画像なので・・・マスク画像を作って貼っても、黒い部分が透過になってしまい意味がありませんでした。
アルファチャンネル付きの透過GIF画像でも同じくゴースト状態です。
どうぞご教授願いますm(__)m
エアロのDWMでフォームを透過にしたら、そこに乗ってる画像も透過になってしまうんですが
画像が透過にならない方法を教えてくださいm(__)m
エアロのDWM使って透過にする方法は色々あるようですが、ググってでた「DrawGlassEffect」てコードを使ってフォームを透過させました。
背景色を黒くすると黒い部分が透過になる仕組みなんですが、ラベルやボタンの黒い文字も透過になり、
画像に関しては黒い部分は透明、暗い色ほど透明が強く明るい色ほど不透明、というゴースト状態になります。
矩形なら、透過にしない境界を作ることによって不透明にできるようですが
なにぶん不定型な画像なので・・・マスク画像を作って貼っても、黒い部分が透過になってしまい意味がありませんでした。
アルファチャンネル付きの透過GIF画像でも同じくゴースト状態です。
どうぞご教授願いますm(__)m
924名前は開発中のものです。
2013/03/15(金) 01:23:30.12ID:gQQUpGxz 2Dのクォータービューゲームをつくろうと思ってたのですが
とある3Dゲームで見た事がある、『物陰に隠れたキャラクタをシルエット表示する』方法を考えていたのですが
考えてもまるで実装の仕方がわかりません
そもそもスプライトの表示順でどうにかなるのでしょうか?
とある3Dゲームで見た事がある、『物陰に隠れたキャラクタをシルエット表示する』方法を考えていたのですが
考えてもまるで実装の仕方がわかりません
そもそもスプライトの表示順でどうにかなるのでしょうか?
925名前は開発中のものです。
2013/03/15(金) 01:36:29.65ID:89zaierS シルエットはキャラの上に非表示で重ねておけば?
物陰に隠れた→シルエット表示
出た→非表示
物陰に隠れた→シルエット表示
出た→非表示
926名前は開発中のものです。
2013/03/15(金) 18:42:53.28ID:oQGzchb4 シルエットってどの程度の表現なのかによるんじゃね。
真っ黒にしろ薄暗くするにしろ、キャラのマスク画像の透明度を変えてかぶせる方式。
隠れるオブジェクト側に半透明の影画像を付けておく方式。
影っぽい光彩画像(////みたいな)を作って、それをキャラにかぶせる方式。
真っ黒にしろ薄暗くするにしろ、キャラのマスク画像の透明度を変えてかぶせる方式。
隠れるオブジェクト側に半透明の影画像を付けておく方式。
影っぽい光彩画像(////みたいな)を作って、それをキャラにかぶせる方式。
927名前は開発中のものです。
2013/03/28(木) 13:51:54.93ID:3yAcGHY+ セーブデータの保存場所はどこが標準?
928名前は開発中のものです。
2013/03/28(木) 14:40:11.39ID:vViAZCV3 >>927
そのゲーム作った人が決めた場所
そのゲーム作った人が決めた場所
929名前は開発中のものです。
2013/03/29(金) 01:32:02.27ID:caLU/skX930名前は開発中のものです。
2013/04/08(月) 17:05:33.61ID:E5j8lfly 質問する場所が違っていたらすみません。
DirectShowを使用して動画の速度を変化させたいのですが
変化させるたびに0フレームから動画が再生されてしまいます。
AVI形式ですと、途中からでも速度がシームレスに変わるのですが
映像の容量が大きくなってしまうので悩んでいます。
なにか解決方法はありますでしょうか?
できればDirectShowを使う前提でお願い致します。
DirectShowを使用して動画の速度を変化させたいのですが
変化させるたびに0フレームから動画が再生されてしまいます。
AVI形式ですと、途中からでも速度がシームレスに変わるのですが
映像の容量が大きくなってしまうので悩んでいます。
なにか解決方法はありますでしょうか?
できればDirectShowを使う前提でお願い致します。
931名前は開発中のものです。
2013/04/14(日) 21:50:09.04ID:uAbXx+sS932名前は開発中のものです。
2013/12/01(日) 11:59:05.28ID:SDLB2Fq5 2Dアクションゲームを製作しております。
リフト(動く足場)の実装を試みたのですが、問題に突き当たってしまいました。
まず、下降中のリフト(判定は上下左右 全方向にあるものとする)に対して、キャラクターが下からジャンプをし、リフトの下側(天井)へ衝突したとします。
その後 キャラクターの位置を補正し、縦方向の加速度を0にする。といった処理を行っているのですが、そのまま 天井へくっついてしまう。といった事態が発生してしまいます。
これは、衝突後 キャラクターの縦加速度を0にしたのち、そこから再度重力加算を行っているため、リフトの下降移動量がその数値よりも上回っている場合 再度衝突が起こり、再び キャラクターの縦加速度が0へ。
といったことが繰り返されているために、このような状況に陥っているものかと思われます。
この場合、どういった対処が考えられるでしょうか。
皆様のお知恵をお貸ししていただきたく思います。よろしくお願いします。
リフト(動く足場)の実装を試みたのですが、問題に突き当たってしまいました。
まず、下降中のリフト(判定は上下左右 全方向にあるものとする)に対して、キャラクターが下からジャンプをし、リフトの下側(天井)へ衝突したとします。
その後 キャラクターの位置を補正し、縦方向の加速度を0にする。といった処理を行っているのですが、そのまま 天井へくっついてしまう。といった事態が発生してしまいます。
これは、衝突後 キャラクターの縦加速度を0にしたのち、そこから再度重力加算を行っているため、リフトの下降移動量がその数値よりも上回っている場合 再度衝突が起こり、再び キャラクターの縦加速度が0へ。
といったことが繰り返されているために、このような状況に陥っているものかと思われます。
この場合、どういった対処が考えられるでしょうか。
皆様のお知恵をお貸ししていただきたく思います。よろしくお願いします。
933名前は開発中のものです。
2013/12/01(日) 13:51:45.48ID:5ZkCO8Ug 下降中なら加速度を補正するのを止めれば良いんじゃね。
速度の補正も正確には0にするんじゃなくて、リフトの速度に
合せるべきかも。
速度の補正も正確には0にするんじゃなくて、リフトの速度に
合せるべきかも。
934名前は開発中のものです。
2013/12/01(日) 23:33:12.67ID:mI3qZrzT んー。
頭上の判定は「上昇中」のみ行い、「下降中」は足元の判定だけにするとかダメかな。
頭上の判定は「上昇中」のみ行い、「下降中」は足元の判定だけにするとかダメかな。
935名前は開発中のものです。
2013/12/02(月) 11:45:56.37ID:RBLi15dp 当たり判定を、静止物体、移動物体、そして
可動プラットフォームなどと場合分けする。
エレベーターの場合は、
エレベーターの移動と自分の移動の合成の相対速度になる。
可動プラットフォームなどと場合分けする。
エレベーターの場合は、
エレベーターの移動と自分の移動の合成の相対速度になる。
936名前は開発中のものです。
2013/12/02(月) 16:30:01.06ID:Xw3mpRsD 天井に当たる直前のキャラクターのベクトルは、天井に当たった事で反射すると考えれば、
縦方向のベクトルを符号逆にして、それに重力加えるので良いような気がする
一回、無重力状態での挙動で整理してみて、そこに重力を加える処理でどうかな?
縦方向のベクトルを符号逆にして、それに重力加えるので良いような気がする
一回、無重力状態での挙動で整理してみて、そこに重力を加える処理でどうかな?
937932
2013/12/02(月) 18:26:10.30ID:Wij17DF+ >>933-936
こんなにも沢山の方々の目に留まるとは思っていませんでしたので、大変恐縮です。
皆様、様々なご意見を賜り 本当にありがとうございます。
非常に参考になりますm(_ _)m
ご指摘を受け、可動物への衝突時に 加速度を0へ補正する事への違和感に気が付きました。
今回は、ひとまず 下降中のリフトの速度へと合わせる方法をとることとしました。
『Windowsゲームプログラミング』といった趣旨とは 直接的には関係無いにも関わらず、沢山のご意見 ありがとうございました。
こんなにも沢山の方々の目に留まるとは思っていませんでしたので、大変恐縮です。
皆様、様々なご意見を賜り 本当にありがとうございます。
非常に参考になりますm(_ _)m
ご指摘を受け、可動物への衝突時に 加速度を0へ補正する事への違和感に気が付きました。
今回は、ひとまず 下降中のリフトの速度へと合わせる方法をとることとしました。
『Windowsゲームプログラミング』といった趣旨とは 直接的には関係無いにも関わらず、沢山のご意見 ありがとうございました。
938名前は開発中のものです。
2013/12/20(金) 23:44:33.92ID:G1FVNCnk プログラミングまったく未経験の者です。
対戦ゲームだと難しいAIを組まないといけないでしょうから、一人用のウォー・ボードゲームを電子化し、
本来はサイコロを振ってチャートを参照して結果を実行するのをコンピューターに処理させる
ぐらいのことをしたいのですが、それをやるのに十分かつ適切な初心者向きのプログラミングがあれば教えてください。
対戦ゲームだと難しいAIを組まないといけないでしょうから、一人用のウォー・ボードゲームを電子化し、
本来はサイコロを振ってチャートを参照して結果を実行するのをコンピューターに処理させる
ぐらいのことをしたいのですが、それをやるのに十分かつ適切な初心者向きのプログラミングがあれば教えてください。
939名前は開発中のものです。
2013/12/21(土) 00:33:43.33ID:pghB6HLo >>938
戦略シュミレーションゲーム。
THE FLEET COMMANDER
http://www1.axfc.net/uploader/Sc/so/165961
こんな感じのを作りたいのですか?
戦略シュミレーションゲーム。
THE FLEET COMMANDER
http://www1.axfc.net/uploader/Sc/so/165961
こんな感じのを作りたいのですか?
940938
2013/12/21(土) 04:17:01.14ID:L3dtKLD+ >>939
ぼんやりとイメージしているのはスゴロクに近いかもしれません。
ターン(マス)を進め、そのたびにサイコロを振る。その出目に従ってイベントや戦闘が起きる。
そのイベントや戦闘もサイコロの出目で解決される。イベントや戦闘の結果ごとに特定の効果音や動画が再生されるようにする。
これだけのことを初心者でもわかりやすくプログラミングしようと思えば、何が向いているのでしょうか?
ぼんやりとイメージしているのはスゴロクに近いかもしれません。
ターン(マス)を進め、そのたびにサイコロを振る。その出目に従ってイベントや戦闘が起きる。
そのイベントや戦闘もサイコロの出目で解決される。イベントや戦闘の結果ごとに特定の効果音や動画が再生されるようにする。
これだけのことを初心者でもわかりやすくプログラミングしようと思えば、何が向いているのでしょうか?
941名前は開発中のものです。
2013/12/21(土) 10:51:33.99ID:fuA00Ikt 仕様が複雑なのでどんな言語や開発環境をもってしても複雑なプログラミングにしかならないよ。
とりあえずHSPおすすめ。
とりあえずHSPおすすめ。
942名前は開発中のものです。
2013/12/21(土) 11:09:21.41ID:XhLY4ORi スゴロクですか、
ひとりゲームでも拡張して、
AI追加や、マルチプレー、ネットゲームの可能性も有るでしょう。
わりと単純だからどのプログラム言語でも出来ると思う。
インタプリタ系がかんたんです。
HSP言語やBASIC言語になるだろう。
エクセルVBAはBASIC言語です。
汎用的に使われるのがC言語で、
最近の言語はC言語の発展形になります。
C言語とDXライブラリが初心者向けに推薦できます。
そしてすこし大きいプログラムになっても対応できます。
あなたのプログラム技能次第ですから、
本を買ってプログラムを行ってみてください。
人には、向き不向きがあるので、あなたが
プログラミングに向いているかどうかを試す必要があります。
ひとりゲームでも拡張して、
AI追加や、マルチプレー、ネットゲームの可能性も有るでしょう。
わりと単純だからどのプログラム言語でも出来ると思う。
インタプリタ系がかんたんです。
HSP言語やBASIC言語になるだろう。
エクセルVBAはBASIC言語です。
汎用的に使われるのがC言語で、
最近の言語はC言語の発展形になります。
C言語とDXライブラリが初心者向けに推薦できます。
そしてすこし大きいプログラムになっても対応できます。
あなたのプログラム技能次第ですから、
本を買ってプログラムを行ってみてください。
人には、向き不向きがあるので、あなたが
プログラミングに向いているかどうかを試す必要があります。
943938
2013/12/21(土) 12:26:27.18ID:L3dtKLD+ レスありがとうございます。
とりあえずHSPのゲームプログラミング入門本を見てみます。
アマゾンでプログラミングの本を検索しているとJavaの本があったんですが、
やはりJavaよりHSPの方が初心者には扱いやすいですか?
とりあえずHSPのゲームプログラミング入門本を見てみます。
アマゾンでプログラミングの本を検索しているとJavaの本があったんですが、
やはりJavaよりHSPの方が初心者には扱いやすいですか?
944名前は開発中のものです。
2013/12/21(土) 12:44:30.62ID:jT9p6BYS プログラム言語はひとつだけを使うのではなくて
用途に応じて言語を使い分けるものです。
HSPも小さいプログラムならば悪くないですが、
ちょっと大きいプログラムになると辛くなります。
そこで、最初はHSPで初めて、
ちょっと慣れてきたらJavaを始めるのも良いでしょう。
用途に応じて言語を使い分けるものです。
HSPも小さいプログラムならば悪くないですが、
ちょっと大きいプログラムになると辛くなります。
そこで、最初はHSPで初めて、
ちょっと慣れてきたらJavaを始めるのも良いでしょう。
945938
2013/12/21(土) 13:04:38.53ID:L3dtKLD+ なるほど。
おかげで学習の方向性が定まってきました。
ありがとうございました。
おかげで学習の方向性が定まってきました。
ありがとうございました。
946名前は開発中のものです。
2013/12/23(月) 11:25:45.36ID:v1muKMwi 言語云々よりシステムデザインをはっきりさせたほうがよい
まだボードゲームとして具体化できていないならすぐ頓挫する
まだボードゲームとして具体化できていないならすぐ頓挫する
947938
2013/12/23(月) 12:13:42.21ID:9Ns4UZP8 >>946
その通りだと思います。
今はお気に入りの市販のソリティアボードゲームを
PCに移植・稼働させることを目標に、プログラミングの学習をしたいと思います。
それだけの技術が付いてから、例えば数値だけいじってみたり、
まったく同じシステム・ゲームデザインで新しいゲームを作ってみたり、
自分なりに工夫・発展させたデザインでゲームを作れるようになるのが究極の目標です。
その通りだと思います。
今はお気に入りの市販のソリティアボードゲームを
PCに移植・稼働させることを目標に、プログラミングの学習をしたいと思います。
それだけの技術が付いてから、例えば数値だけいじってみたり、
まったく同じシステム・ゲームデザインで新しいゲームを作ってみたり、
自分なりに工夫・発展させたデザインでゲームを作れるようになるのが究極の目標です。
948名前は開発中のものです。
2013/12/25(水) 10:10:55.40ID:qv/UYG/P ウォーシミュならAIは難しそうだけど、一定のアルゴリズムで動くCP対戦の方が作るの面白そうだ
一定の範囲を索敵して敵の近くに移動
攻撃範囲に敵が居る→攻撃
FEみたいなのならファミコンの時代からあるんだし、何とかなるんじゃね?
一定の範囲を索敵して敵の近くに移動
攻撃範囲に敵が居る→攻撃
FEみたいなのならファミコンの時代からあるんだし、何とかなるんじゃね?
949名前は開発中のものです。
2013/12/25(水) 22:20:20.10ID:j1ogVw80 ウォーシミュの対CPU戦なんて、バカなAIをハメて無双するのが楽しいんだから凝ったAIなんて不要w
950名前は開発中のものです。
2013/12/26(木) 00:30:35.98ID:PmXogz09 ハメて勝った気分になるためには最低でも相手が考えてい動いているように見える必要がある
某市販ゲーをやってたときに「ミスった!後一撃でやられる、オワタ!」という状況で
至近にいる敵が明後日の方に進んだのを見てやる気が失せた
某市販ゲーをやってたときに「ミスった!後一撃でやられる、オワタ!」という状況で
至近にいる敵が明後日の方に進んだのを見てやる気が失せた
951名前は開発中のものです。
2013/12/26(木) 01:21:13.97ID:IL/DzEfa ファイアーエンブレム系で各個撃破されないように行動したり、
孤立して死にかけの敵を確実に削りに来るようなAI持ったゲームある?
孤立して死にかけの敵を確実に削りに来るようなAI持ったゲームある?
952名前は開発中のものです。
2013/12/30(月) 08:55:48.27ID:96TyUHbJ あるだろうけど、基本的にプレイヤーと同じ縛りで動かすから
あまりえげつないことはできないよ
あまりえげつないことはできないよ
953名前は開発中のものです。
2013/12/30(月) 11:58:01.75ID:evW3WY59 死んだら即キャラロストなゲームの場合
敵軍としてはステージ中に主力を一人倒せば目標達成だから
プレイヤー側の方が条件としては圧倒的に不利
軍同士の実力が拮抗していて思考ルーチンが優秀なら
プレイヤーはいくつかステージを進んだところで詰む
敵軍としてはステージ中に主力を一人倒せば目標達成だから
プレイヤー側の方が条件としては圧倒的に不利
軍同士の実力が拮抗していて思考ルーチンが優秀なら
プレイヤーはいくつかステージを進んだところで詰む
954名前は開発中のものです。
2013/12/30(月) 21:40:11.21ID:PUCe57VA そうそう。だから「詰将棋」になっちゃうんだよね。
「ある場所にいったら新キャラをゲットできる」って条件があったとすると
それをできなかった場合ってのはキャラをロストしたのと同じ事になるから
必ず手に入れなくてはいけないわけで、
「キャラを確実に手に入れて」かつ「キャラロストさせない」って手順を追及すると
最適解がしぼられてきちゃって面白くない。
「ある場所にいったら新キャラをゲットできる」って条件があったとすると
それをできなかった場合ってのはキャラをロストしたのと同じ事になるから
必ず手に入れなくてはいけないわけで、
「キャラを確実に手に入れて」かつ「キャラロストさせない」って手順を追及すると
最適解がしぼられてきちゃって面白くない。
955名前は開発中のものです。
2014/02/02(日) 12:52:34.59ID:Q1gdN1n6956名前は開発中のものです。
2014/02/14(金) 12:38:40.56ID:y8xuE92m 死ぬまで戦わせずに士気判定入れてさ、逃亡始めたり恐慌状態で動けなくなったりして戦線の維持ができなくなった時点で
ほぼ負けが確定する、みたいなゲームシステムってないのかな?ゲームバランスが問題なら。
ほぼ負けが確定する、みたいなゲームシステムってないのかな?ゲームバランスが問題なら。
957名前は開発中のものです。
2014/02/17(月) 20:35:43.54ID:XkkD0G38 体力の代わりに士気にすりゃいいだけじゃん?
むかーしPC-98のゲームでそういう「士気」を取り入れたシステムのシミュレーションあったけど
特に普通と変わったところはなかったよ。
むかーしPC-98のゲームでそういう「士気」を取り入れたシステムのシミュレーションあったけど
特に普通と変わったところはなかったよ。
958名前は開発中のものです。
2014/02/23(日) 16:19:12.47ID:FZeL0B+w ユニットが恐慌状態になって
コントロール不能かつ周囲の味方を巻き込んだりすると面白い
だが往々にして"回復"スキルであっさり解消されてつまらなくなる
コントロール不能かつ周囲の味方を巻き込んだりすると面白い
だが往々にして"回復"スキルであっさり解消されてつまらなくなる
959名前は開発中のものです。
2016/05/17(火) 13:51:07.05ID:hrllpx6V 皆さん頑張ってますね、私も頑張らねば
960名前は開発中のものです。
2016/05/17(火) 19:39:30.49ID:XNH4Q6MU961名前は開発中のものです。
2016/06/26(日) 16:25:48.03ID:zBPiB+aF 【Win10】 開示する ここ重要だよ 【スパイウェア】
この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c
【橋下市長】 バスの運転手が年収1000万円 【自民+民進+共産】
「1910」 副島隆彦 2016年6月16日
大阪市や大阪府のバスの運転手が年収1000万円は許せない、600万円まで落とすと。何でバスの運転手が1000万円ももらえるんだと。
これを正面から本気でやったらほんとに橋下はたたき潰されました。安倍晋三たちも、これを言われると日本の民主党や共産党は非常に困るんです。
この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c
【橋下市長】 バスの運転手が年収1000万円 【自民+民進+共産】
「1910」 副島隆彦 2016年6月16日
大阪市や大阪府のバスの運転手が年収1000万円は許せない、600万円まで落とすと。何でバスの運転手が1000万円ももらえるんだと。
これを正面から本気でやったらほんとに橋下はたたき潰されました。安倍晋三たちも、これを言われると日本の民主党や共産党は非常に困るんです。
962名前は開発中のものです。
2016/11/25(金) 21:28:10.12ID:3YCOW6Rq age
963名前は開発中のものです。
2016/11/29(火) 20:12:15.57ID:J1Ekj/Ze 現在、Vector3 から緯度・経度を算出する関数を作成しています。
Vector3 Math::Vector3::TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
Vector3 ret;
ret.x = _fAlt * cosf( _fLong ) * cosf( _fLat );
ret.y = _fAlt * sinf( _fLong ) * cosf( _fLat );
ret.z = _fAlt * sinf( _fLat );
return ret;
}
void Math::Vector3::GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = asinf( v.z / _fAlt );
_fLong = atan2f( v.y, v.x );
}
といった関数をつくりました。
{
F32 lat, long, alt;
Vector3 v = TranslateGeoCoords( -1.57079637, -0.392699003, 1.0f );
GetGeoCoords( lat, long, alt, v );
}
とした際に longの値が 入力した値と違った値が返る時があります(この場合ですと、2.74889374 と言った値がかえってきます) 。
longの計算方法が間違っているのはわかっているのですが、 正しい方法がわかりません。
誰かご教授お願い致します。
Vector3 Math::Vector3::TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
Vector3 ret;
ret.x = _fAlt * cosf( _fLong ) * cosf( _fLat );
ret.y = _fAlt * sinf( _fLong ) * cosf( _fLat );
ret.z = _fAlt * sinf( _fLat );
return ret;
}
void Math::Vector3::GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = asinf( v.z / _fAlt );
_fLong = atan2f( v.y, v.x );
}
といった関数をつくりました。
{
F32 lat, long, alt;
Vector3 v = TranslateGeoCoords( -1.57079637, -0.392699003, 1.0f );
GetGeoCoords( lat, long, alt, v );
}
とした際に longの値が 入力した値と違った値が返る時があります(この場合ですと、2.74889374 と言った値がかえってきます) 。
longの計算方法が間違っているのはわかっているのですが、 正しい方法がわかりません。
誰かご教授お願い致します。
964名前は開発中のものです。
2016/11/30(水) 05:53:16.15ID:weGFa962 ±90°はヤバイ
965名前は開発中のものです。
2016/12/01(木) 01:58:43.88ID:EciSCQ3Q >>963
その座標ってほぼ極点じゃないか
その座標ってほぼ極点じゃないか
966名前は開発中のものです。
2016/12/01(木) 03:47:43.75ID:6pEo0nQM >>963
もう解決してるかもしれないけど、これで出せる
公式への当てはめがおかしかっただけだな
void TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
Vector3 ret;
ret.x = _fAlt * cosf( _fLong ) * cosf( _fLat );
ret.y = _fAlt * cosf( _fLong ) * sinf( _fLat );
ret.z = _fAlt * sinf( _fLong );
return ret;
}
void GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = atan2f( v.y, v.x );
_fLong = asinf( v.z / _fAlt );
}
もう解決してるかもしれないけど、これで出せる
公式への当てはめがおかしかっただけだな
void TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
Vector3 ret;
ret.x = _fAlt * cosf( _fLong ) * cosf( _fLat );
ret.y = _fAlt * cosf( _fLong ) * sinf( _fLat );
ret.z = _fAlt * sinf( _fLong );
return ret;
}
void GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = atan2f( v.y, v.x );
_fLong = asinf( v.z / _fAlt );
}
967名前は開発中のものです。
2016/12/05(月) 10:56:05.09ID:IU19FSHR 963です。
情報ありがとうございました!
Vector3 Math::Vector3::TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
_fLat = CLAMP( _fLat, -PI * 0.5f + sc_fThreshold, PI * 0.5f - sc_fThreshold );
_fLong = CLAMP( _fLong, -PI * 1.0f + sc_fThreshold, PI * 1.0f - sc_fThreshold );
if( fabs( _fLat ) > PI / 2 - sc_fThreshold )_fLong = 0.0f; // 極点付近だと Long は正常な値が出せない
return Vector3( _fAlt * cosf( _fLong ) * cosf( _fLat ), _fAlt * sinf( _fLong ) * cosf( _fLat ), _fAlt * sinf( _fLat ) );
}
void Math::Vector3::GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = asinf( v.z / _fAlt );
_fLong = atanf( v.y / v.x );
if( fabs( _fLat ) > PI / 2 - sc_fThreshold )_fLong = 0; // 極点付近だと Long は正常な値が出せない
else if( v.x < 0 )
{
if( v.y < 0 ) _fLong = -PI + _fLong;
else _fLong = PI + _fLong;
}
else if( v.y < 0 ) _fLong = PI + _fLong;
}
このような形でできあがりました。
何か間違っている所等が御座いましたらご指摘お願い致します!
情報ありがとうございました!
Vector3 Math::Vector3::TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
_fLat = CLAMP( _fLat, -PI * 0.5f + sc_fThreshold, PI * 0.5f - sc_fThreshold );
_fLong = CLAMP( _fLong, -PI * 1.0f + sc_fThreshold, PI * 1.0f - sc_fThreshold );
if( fabs( _fLat ) > PI / 2 - sc_fThreshold )_fLong = 0.0f; // 極点付近だと Long は正常な値が出せない
return Vector3( _fAlt * cosf( _fLong ) * cosf( _fLat ), _fAlt * sinf( _fLong ) * cosf( _fLat ), _fAlt * sinf( _fLat ) );
}
void Math::Vector3::GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = asinf( v.z / _fAlt );
_fLong = atanf( v.y / v.x );
if( fabs( _fLat ) > PI / 2 - sc_fThreshold )_fLong = 0; // 極点付近だと Long は正常な値が出せない
else if( v.x < 0 )
{
if( v.y < 0 ) _fLong = -PI + _fLong;
else _fLong = PI + _fLong;
}
else if( v.y < 0 ) _fLong = PI + _fLong;
}
このような形でできあがりました。
何か間違っている所等が御座いましたらご指摘お願い致します!
968名前は開発中のものです。
2017/01/31(火) 20:49:50.24ID:/uuuWXAW はぁ
969名前は開発中のものです。 転載ダメ©2ch.net
2017/02/06(月) 23:29:46.03ID:HTgetRF5板復帰(OK!:Gather .dat file OK:moving DAT 701 -> 695:Get subject.txt OK:Check subject.txt 701 -> 701:Overwrite OK)1.43, 1.75, 1.82
age subject:701 dat:695 rebuild OK!
970名前は開発中のものです。
2017/02/07(火) 10:54:09.62ID:DUjb6E6x971名前は開発中のものです。
2017/03/14(火) 22:31:17.39ID:uWtM+u6B プログラミングまったく未経験の者です。
簡単に言えばPSの初代デジモンワールドの2Dドット版のようなゲームを作りたいのですが、それをやるのに適切な初心者向きのプログラミングの参考書やサイトがあれば教えてください。
簡単に言えばPSの初代デジモンワールドの2Dドット版のようなゲームを作りたいのですが、それをやるのに適切な初心者向きのプログラミングの参考書やサイトがあれば教えてください。
972名前は開発中のものです。
2017/06/11(日) 21:09:55.01ID:TCJX3Ivg いままでゲームデータの管理をxmlでやってたんだけど、いい加減量が多くなってきたしテキストエディタでの編集大変だしデザイナーに任せられないし、excelに移行しようかと思うんだが、
手持ちのデータをどういうふうにexcel化というかデータベース化したらいいのか謎すぎる。
アニメパラメータとか、キャラクター毎、レベル毎の能力値とか。
キャラクターごとにファイル分けてるのか、1シート1キャラクターみたいにやってるのか、はたまた1シートに全部のデータをつっこんでるのか、表は縦軸に何をおいて横軸にどんな項目を置いてるのか、他のexcel使ってるゲームがどんな風に管理してるのか見てみたい。
どこかに実例ない??
うちのゲームはこんなexcel表でやってます、みたいな。参考にしたい
手持ちのデータをどういうふうにexcel化というかデータベース化したらいいのか謎すぎる。
アニメパラメータとか、キャラクター毎、レベル毎の能力値とか。
キャラクターごとにファイル分けてるのか、1シート1キャラクターみたいにやってるのか、はたまた1シートに全部のデータをつっこんでるのか、表は縦軸に何をおいて横軸にどんな項目を置いてるのか、他のexcel使ってるゲームがどんな風に管理してるのか見てみたい。
どこかに実例ない??
うちのゲームはこんなexcel表でやってます、みたいな。参考にしたい
973名前は開発中のものです。
2017/12/31(日) 19:45:40.04ID:/rN76OKL 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
LUP4Q9V496
グーグル検索⇒『来島のモノノリウエ』
LUP4Q9V496
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 「タトゥーで料理不潔」「海なし県なのに海鮮やるな」…25歳女将が語る誹謗中傷への本音「じゃあ日本でフランス料理食べられませんね」 [muffin★]
- 【音楽】チケットが「売れない」三浦大知、いきものがかりが異例の“懇願”「音楽にお金を払う文化」の衰退 [muffin★]
- 【池田信夫氏】「男系天皇」が古代からの伝統だという話は明治時代の創作 ★4 [樽悶★]
- 【小泉農相】コメ生産縮小の転換に意欲示す 「農政を抜本改革」 [蚤の市★]
- 【兵庫】「斎藤知事に愛想尽きた」兵庫県庁離れ加速 17年ぶり自主退職4割増、他自治体に転職も [煮卵★]
- トランプ、アップルに「iPhone」国内製造しない場合「少なくとも25%の関税課す」と表明…海外で製造するほかのスマホメーカーにも適用 [煮卵★]
- 【実況】博衣こよりのえちえち鬼武者2🧪
- 女、裸で踊ってしまうwwwwwwwwwwwwwwww [346571192]
- お🏡どこなの😭
- トランプおやびん、ソーラーパネルに関税3521% [838847604]
- 「豚丼と煽ってた本人が豚だった…」 という日本人の悲しいお話wwwwwwwwwwwwww [271912485]
- 【日本の真実】日本の国会議員、実は帰化した元外国人がめちゃ多かったことがXのポストで発覚。1.8万いいねを集める [268718286]