Windowsゲームプログラミング 質問スレ

レス数が950を超えています。1000を超えると書き込みができなくなります。
2008/11/06(木) 21:28:45ID:lNn2skuQ
※回答する人も、質問する人も必ず読んでください

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

【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
940938
垢版 |
2013/12/21(土) 04:17:01.14ID:L3dtKLD+
>>939
ぼんやりとイメージしているのはスゴロクに近いかもしれません。
ターン(マス)を進め、そのたびにサイコロを振る。その出目に従ってイベントや戦闘が起きる。
そのイベントや戦闘もサイコロの出目で解決される。イベントや戦闘の結果ごとに特定の効果音や動画が再生されるようにする。

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

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

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

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

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

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

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

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

だが往々にして"回復"スキルであっさり解消されてつまらなくなる
959名前は開発中のものです。
垢版 |
2016/05/17(火) 13:51:07.05ID:hrllpx6V
皆さん頑張ってますね、私も頑張らねば
2016/05/17(火) 19:39:30.49ID:XNH4Q6MU
>>957
士気システムだと兵数差をひっくり返しやすい代わりに
撃退した敵がそのままの兵数で何度も襲来してきて苦しい
961名前は開発中のものです。
垢版 |
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万円ももらえるんだと。
これを正面から本気でやったらほんとに橋下はたたき潰されました。安倍晋三たちも、これを言われると日本の民主党や共産党は非常に困るんです。
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の計算方法が間違っているのはわかっているのですが、 正しい方法がわかりません。
誰かご教授お願い致します。
2016/11/30(水) 05:53:16.15ID:weGFa962
±90°はヤバイ
2016/12/01(木) 01:58:43.88ID:EciSCQ3Q
>>963
その座標ってほぼ極点じゃないか
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 );
}
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;
}
このような形でできあがりました。
何か間違っている所等が御座いましたらご指摘お願い致します!
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:DUjb6E6x
https://www.youtube.com/watch?v=quIHgwuF6r4&;sns=em
2017/03/14(火) 22:31:17.39ID:uWtM+u6B
プログラミングまったく未経験の者です。
簡単に言えばPSの初代デジモンワールドの2Dドット版のようなゲームを作りたいのですが、それをやるのに適切な初心者向きのプログラミングの参考書やサイトがあれば教えてください。
2017/06/11(日) 21:09:55.01ID:TCJX3Ivg
いままでゲームデータの管理をxmlでやってたんだけど、いい加減量が多くなってきたしテキストエディタでの編集大変だしデザイナーに任せられないし、excelに移行しようかと思うんだが、
手持ちのデータをどういうふうにexcel化というかデータベース化したらいいのか謎すぎる。

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

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

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

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

LUP4Q9V496
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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