X



Windowsゲームプログラミング 質問スレ
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001うゆ ◆vvvK3Fcqdg
垢版 |
2008/11/06(木) 21:28:45ID:lNn2skuQ
※回答する人も、質問する人も必ず読んでください

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
0923名前は開発中のものです。
垢版 |
2013/03/05(火) 20:13:11.31ID:rD+66rZs
質問です。
エアロのDWMでフォームを透過にしたら、そこに乗ってる画像も透過になってしまうんですが
画像が透過にならない方法を教えてくださいm(__)m

エアロのDWM使って透過にする方法は色々あるようですが、ググってでた「DrawGlassEffect」てコードを使ってフォームを透過させました。
背景色を黒くすると黒い部分が透過になる仕組みなんですが、ラベルやボタンの黒い文字も透過になり、
画像に関しては黒い部分は透明、暗い色ほど透明が強く明るい色ほど不透明、というゴースト状態になります。

矩形なら、透過にしない境界を作ることによって不透明にできるようですが
なにぶん不定型な画像なので・・・マスク画像を作って貼っても、黒い部分が透過になってしまい意味がありませんでした。
アルファチャンネル付きの透過GIF画像でも同じくゴースト状態です。

どうぞご教授願いますm(__)m
0924名前は開発中のものです。
垢版 |
2013/03/15(金) 01:23:30.12ID:gQQUpGxz
2Dのクォータービューゲームをつくろうと思ってたのですが
とある3Dゲームで見た事がある、『物陰に隠れたキャラクタをシルエット表示する』方法を考えていたのですが
考えてもまるで実装の仕方がわかりません

そもそもスプライトの表示順でどうにかなるのでしょうか?
0925名前は開発中のものです。
垢版 |
2013/03/15(金) 01:36:29.65ID:89zaierS
シルエットはキャラの上に非表示で重ねておけば?
物陰に隠れた→シルエット表示
出た→非表示
0926名前は開発中のものです。
垢版 |
2013/03/15(金) 18:42:53.28ID:oQGzchb4
シルエットってどの程度の表現なのかによるんじゃね。
真っ黒にしろ薄暗くするにしろ、キャラのマスク画像の透明度を変えてかぶせる方式。
隠れるオブジェクト側に半透明の影画像を付けておく方式。
影っぽい光彩画像(////みたいな)を作って、それをキャラにかぶせる方式。
0929名前は開発中のものです。
垢版 |
2013/03/29(金) 01:32:02.27ID:caLU/skX
>>927
まぁ、>>928が正解なんだがw

ユーザごとのドキュメントフォルダを取得し、
その下に配置するのが現代的と思われる。
マルチユーザを意識しないとね。
0930名前は開発中のものです。
垢版 |
2013/04/08(月) 17:05:33.61ID:E5j8lfly
質問する場所が違っていたらすみません。

DirectShowを使用して動画の速度を変化させたいのですが
変化させるたびに0フレームから動画が再生されてしまいます。
AVI形式ですと、途中からでも速度がシームレスに変わるのですが
映像の容量が大きくなってしまうので悩んでいます。
なにか解決方法はありますでしょうか?
できればDirectShowを使う前提でお願い致します。
0931名前は開発中のものです。
垢版 |
2013/04/14(日) 21:50:09.04ID:uAbXx+sS
 
0932名前は開発中のものです。
垢版 |
2013/12/01(日) 11:59:05.28ID:SDLB2Fq5
2Dアクションゲームを製作しております。

リフト(動く足場)の実装を試みたのですが、問題に突き当たってしまいました。
まず、下降中のリフト(判定は上下左右 全方向にあるものとする)に対して、キャラクターが下からジャンプをし、リフトの下側(天井)へ衝突したとします。
その後 キャラクターの位置を補正し、縦方向の加速度を0にする。といった処理を行っているのですが、そのまま 天井へくっついてしまう。といった事態が発生してしまいます。
これは、衝突後 キャラクターの縦加速度を0にしたのち、そこから再度重力加算を行っているため、リフトの下降移動量がその数値よりも上回っている場合 再度衝突が起こり、再び キャラクターの縦加速度が0へ。
といったことが繰り返されているために、このような状況に陥っているものかと思われます。
この場合、どういった対処が考えられるでしょうか。

皆様のお知恵をお貸ししていただきたく思います。よろしくお願いします。
0933名前は開発中のものです。
垢版 |
2013/12/01(日) 13:51:45.48ID:5ZkCO8Ug
下降中なら加速度を補正するのを止めれば良いんじゃね。
速度の補正も正確には0にするんじゃなくて、リフトの速度に
合せるべきかも。
0934名前は開発中のものです。
垢版 |
2013/12/01(日) 23:33:12.67ID:mI3qZrzT
んー。
頭上の判定は「上昇中」のみ行い、「下降中」は足元の判定だけにするとかダメかな。
0935名前は開発中のものです。
垢版 |
2013/12/02(月) 11:45:56.37ID:RBLi15dp
当たり判定を、静止物体、移動物体、そして
可動プラットフォームなどと場合分けする。
エレベーターの場合は、
エレベーターの移動と自分の移動の合成の相対速度になる。
0936名前は開発中のものです。
垢版 |
2013/12/02(月) 16:30:01.06ID:Xw3mpRsD
天井に当たる直前のキャラクターのベクトルは、天井に当たった事で反射すると考えれば、
縦方向のベクトルを符号逆にして、それに重力加えるので良いような気がする

一回、無重力状態での挙動で整理してみて、そこに重力を加える処理でどうかな?
0937932
垢版 |
2013/12/02(月) 18:26:10.30ID:Wij17DF+
>>933-936
こんなにも沢山の方々の目に留まるとは思っていませんでしたので、大変恐縮です。
皆様、様々なご意見を賜り 本当にありがとうございます。
非常に参考になりますm(_ _)m

ご指摘を受け、可動物への衝突時に 加速度を0へ補正する事への違和感に気が付きました。
今回は、ひとまず 下降中のリフトの速度へと合わせる方法をとることとしました。

『Windowsゲームプログラミング』といった趣旨とは 直接的には関係無いにも関わらず、沢山のご意見 ありがとうございました。
0938名前は開発中のものです。
垢版 |
2013/12/20(金) 23:44:33.92ID:G1FVNCnk
プログラミングまったく未経験の者です。
対戦ゲームだと難しいAIを組まないといけないでしょうから、一人用のウォー・ボードゲームを電子化し、
本来はサイコロを振ってチャートを参照して結果を実行するのをコンピューターに処理させる
ぐらいのことをしたいのですが、それをやるのに十分かつ適切な初心者向きのプログラミングがあれば教えてください。
0939名前は開発中のものです。
垢版 |
2013/12/21(土) 00:33:43.33ID:pghB6HLo
>>938
戦略シュミレーションゲーム。
THE FLEET COMMANDER
http://www1.axfc.net/uploader/Sc/so/165961

こんな感じのを作りたいのですか?
0940938
垢版 |
2013/12/21(土) 04:17:01.14ID:L3dtKLD+
>>939
ぼんやりとイメージしているのはスゴロクに近いかもしれません。
ターン(マス)を進め、そのたびにサイコロを振る。その出目に従ってイベントや戦闘が起きる。
そのイベントや戦闘もサイコロの出目で解決される。イベントや戦闘の結果ごとに特定の効果音や動画が再生されるようにする。

これだけのことを初心者でもわかりやすくプログラミングしようと思えば、何が向いているのでしょうか?
0941名前は開発中のものです。
垢版 |
2013/12/21(土) 10:51:33.99ID:fuA00Ikt
仕様が複雑なのでどんな言語や開発環境をもってしても複雑なプログラミングにしかならないよ。
とりあえずHSPおすすめ。
0942名前は開発中のものです。
垢版 |
2013/12/21(土) 11:09:21.41ID:XhLY4ORi
スゴロクですか、
ひとりゲームでも拡張して、
AI追加や、マルチプレー、ネットゲームの可能性も有るでしょう。
わりと単純だからどのプログラム言語でも出来ると思う。

インタプリタ系がかんたんです。
HSP言語やBASIC言語になるだろう。
エクセルVBAはBASIC言語です。

汎用的に使われるのがC言語で、
最近の言語はC言語の発展形になります。
C言語とDXライブラリが初心者向けに推薦できます。
そしてすこし大きいプログラムになっても対応できます。

あなたのプログラム技能次第ですから、
本を買ってプログラムを行ってみてください。
人には、向き不向きがあるので、あなたが
プログラミングに向いているかどうかを試す必要があります。
0943938
垢版 |
2013/12/21(土) 12:26:27.18ID:L3dtKLD+
レスありがとうございます。
とりあえずHSPのゲームプログラミング入門本を見てみます。
アマゾンでプログラミングの本を検索しているとJavaの本があったんですが、
やはりJavaよりHSPの方が初心者には扱いやすいですか?
0944名前は開発中のものです。
垢版 |
2013/12/21(土) 12:44:30.62ID:jT9p6BYS
プログラム言語はひとつだけを使うのではなくて
用途に応じて言語を使い分けるものです。
HSPも小さいプログラムならば悪くないですが、
ちょっと大きいプログラムになると辛くなります。
そこで、最初はHSPで初めて、
ちょっと慣れてきたらJavaを始めるのも良いでしょう。
0945938
垢版 |
2013/12/21(土) 13:04:38.53ID:L3dtKLD+
なるほど。
おかげで学習の方向性が定まってきました。
ありがとうございました。
0946名前は開発中のものです。
垢版 |
2013/12/23(月) 11:25:45.36ID:v1muKMwi
言語云々よりシステムデザインをはっきりさせたほうがよい
まだボードゲームとして具体化できていないならすぐ頓挫する
0947938
垢版 |
2013/12/23(月) 12:13:42.21ID:9Ns4UZP8
>>946
その通りだと思います。
今はお気に入りの市販のソリティアボードゲームを
PCに移植・稼働させることを目標に、プログラミングの学習をしたいと思います。

それだけの技術が付いてから、例えば数値だけいじってみたり、
まったく同じシステム・ゲームデザインで新しいゲームを作ってみたり、
自分なりに工夫・発展させたデザインでゲームを作れるようになるのが究極の目標です。
0948名前は開発中のものです。
垢版 |
2013/12/25(水) 10:10:55.40ID:qv/UYG/P
ウォーシミュならAIは難しそうだけど、一定のアルゴリズムで動くCP対戦の方が作るの面白そうだ
一定の範囲を索敵して敵の近くに移動
攻撃範囲に敵が居る→攻撃
FEみたいなのならファミコンの時代からあるんだし、何とかなるんじゃね?
0949名前は開発中のものです。
垢版 |
2013/12/25(水) 22:20:20.10ID:j1ogVw80
ウォーシミュの対CPU戦なんて、バカなAIをハメて無双するのが楽しいんだから凝ったAIなんて不要w
0950名前は開発中のものです。
垢版 |
2013/12/26(木) 00:30:35.98ID:PmXogz09
ハメて勝った気分になるためには最低でも相手が考えてい動いているように見える必要がある
某市販ゲーをやってたときに「ミスった!後一撃でやられる、オワタ!」という状況で
至近にいる敵が明後日の方に進んだのを見てやる気が失せた
0951名前は開発中のものです。
垢版 |
2013/12/26(木) 01:21:13.97ID:IL/DzEfa
ファイアーエンブレム系で各個撃破されないように行動したり、
孤立して死にかけの敵を確実に削りに来るようなAI持ったゲームある?
0952名前は開発中のものです。
垢版 |
2013/12/30(月) 08:55:48.27ID:96TyUHbJ
あるだろうけど、基本的にプレイヤーと同じ縛りで動かすから
あまりえげつないことはできないよ
0953名前は開発中のものです。
垢版 |
2013/12/30(月) 11:58:01.75ID:evW3WY59
死んだら即キャラロストなゲームの場合
敵軍としてはステージ中に主力を一人倒せば目標達成だから
プレイヤー側の方が条件としては圧倒的に不利
軍同士の実力が拮抗していて思考ルーチンが優秀なら
プレイヤーはいくつかステージを進んだところで詰む
0954名前は開発中のものです。
垢版 |
2013/12/30(月) 21:40:11.21ID:PUCe57VA
そうそう。だから「詰将棋」になっちゃうんだよね。

「ある場所にいったら新キャラをゲットできる」って条件があったとすると
それをできなかった場合ってのはキャラをロストしたのと同じ事になるから
必ず手に入れなくてはいけないわけで、
「キャラを確実に手に入れて」かつ「キャラロストさせない」って手順を追及すると
最適解がしぼられてきちゃって面白くない。
0955名前は開発中のものです。
垢版 |
2014/02/02(日) 12:52:34.59ID:Q1gdN1n6
>>951
FE系じゃないけど、AoEはその傾向があったね
FE系だと固まって射程距離ぎりぎりでチクチクが一番効率いいんじゃね
大戦略みたいに都市占領や生産の要素があると
将棋より囲碁のような大局観のほうが大事

>>954
ロストしても楽しめるバランスならいいと思うけどね
全キャラ生還なんて縛りプレイはやりたい奴が勝手にやればいいと思う
FEは今のAIやゲームバランスの上で成り立ってる特別な例
0956名前は開発中のものです。
垢版 |
2014/02/14(金) 12:38:40.56ID:y8xuE92m
死ぬまで戦わせずに士気判定入れてさ、逃亡始めたり恐慌状態で動けなくなったりして戦線の維持ができなくなった時点で
ほぼ負けが確定する、みたいなゲームシステムってないのかな?ゲームバランスが問題なら。
0957名前は開発中のものです。
垢版 |
2014/02/17(月) 20:35:43.54ID:XkkD0G38
体力の代わりに士気にすりゃいいだけじゃん?

むかーしPC-98のゲームでそういう「士気」を取り入れたシステムのシミュレーションあったけど
特に普通と変わったところはなかったよ。
0958名前は開発中のものです。
垢版 |
2014/02/23(日) 16:19:12.47ID:FZeL0B+w
ユニットが恐慌状態になって
コントロール不能かつ周囲の味方を巻き込んだりすると面白い

だが往々にして"回復"スキルであっさり解消されてつまらなくなる
0959名前は開発中のものです。
垢版 |
2016/05/17(火) 13:51:07.05ID:hrllpx6V
皆さん頑張ってますね、私も頑張らねば
0960名前は開発中のものです。
垢版 |
2016/05/17(火) 19:39:30.49ID:XNH4Q6MU
>>957
士気システムだと兵数差をひっくり返しやすい代わりに
撃退した敵がそのままの兵数で何度も襲来してきて苦しい
0961名前は開発中のものです。
垢版 |
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万円ももらえるんだと。
これを正面から本気でやったらほんとに橋下はたたき潰されました。安倍晋三たちも、これを言われると日本の民主党や共産党は非常に困るんです。
0962名前は開発中のものです。
垢版 |
2016/11/25(金) 21:28:10.12ID:3YCOW6Rq
age
0963名前は開発中のものです。
垢版 |
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の計算方法が間違っているのはわかっているのですが、 正しい方法がわかりません。
誰かご教授お願い致します。
0966名前は開発中のものです。
垢版 |
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 );
}
0967名前は開発中のものです。
垢版 |
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;
}
このような形でできあがりました。
何か間違っている所等が御座いましたらご指摘お願い致します!
0968名前は開発中のものです。
垢版 |
2017/01/31(火) 20:49:50.24ID:/uuuWXAW
はぁ
0969名前は開発中のものです。 転載ダメ©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!
0971名前は開発中のものです。
垢版 |
2017/03/14(火) 22:31:17.39ID:uWtM+u6B
プログラミングまったく未経験の者です。
簡単に言えばPSの初代デジモンワールドの2Dドット版のようなゲームを作りたいのですが、それをやるのに適切な初心者向きのプログラミングの参考書やサイトがあれば教えてください。
0972名前は開発中のものです。
垢版 |
2017/06/11(日) 21:09:55.01ID:TCJX3Ivg
いままでゲームデータの管理をxmlでやってたんだけど、いい加減量が多くなってきたしテキストエディタでの編集大変だしデザイナーに任せられないし、excelに移行しようかと思うんだが、
手持ちのデータをどういうふうにexcel化というかデータベース化したらいいのか謎すぎる。

アニメパラメータとか、キャラクター毎、レベル毎の能力値とか。

キャラクターごとにファイル分けてるのか、1シート1キャラクターみたいにやってるのか、はたまた1シートに全部のデータをつっこんでるのか、表は縦軸に何をおいて横軸にどんな項目を置いてるのか、他のexcel使ってるゲームがどんな風に管理してるのか見てみたい。

どこかに実例ない??
うちのゲームはこんなexcel表でやってます、みたいな。参考にしたい
0973名前は開発中のものです。
垢版 |
2017/12/31(日) 19:45:40.04ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

LUP4Q9V496
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況