- 1 名前:名前は開発中のものです。 mailto:sage [2013/02/16(土) 17:44:57.12 ID:uBbl/dgS]
- 疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。 pc11.2ch.net/gamedev/ ※ >>980 を踏んだ人は次スレ立てをお願いします。 【アップローダ・避難所・Wiki】 ゲーム製作技術板公式Wiki hibari.2ch.net/gamedev/ ゲーム製作技術板公式アップローダ gmdev.xrea.jp/ gamdev.orgが落ちるたびにあげてみるスレ hibari.2ch.net/test/read.cgi/gamedev/1107022166
- 67 名前:名前は開発中のものです。 mailto:sage [2013/03/26(火) 16:56:31.14 ID:UjkIRigf]
- >>66
例えばspeedが3とかだとするじゃん。 cos, sinは-1〜1までの値だから、 dx, dyは-3〜3までの7つの整数になる。組み合わせは7 x 7 = 49通り。これだと360度表現できるわけないな。 dx,dyの組み合わせが360通り以上になるようにするにはspeedが30以上必要なわけ。 だからspeedを常に30以上にしておけば割と正確なんじゃないの。 ……という冗談はさておき、座標は常にdoubleで持っておいて、描画メソッドに渡すときだけintにすれば 多少マシになると思う。 それ以上の精度が欲しければ毎ターン決められたdx, dyを加算するような方式をあきらめる必要があるのでは。
- 68 名前:名前は開発中のものです。 mailto:sage [2013/03/26(火) 17:13:06.96 ID:v4H8VZ9G]
- >>67
やっぱ精度を保つにはspeedを高くするしかないんですね。 言われたことを参考にしながら頑張ってみます。 ありがとうございました!
- 69 名前:名前は開発中のものです。 mailto:sage [2013/03/26(火) 17:27:20.92 ID:v4H8VZ9G]
- >>67
確かに別にx,y座標をdoubleで保持して メソッドに渡す時だけintにキャストするようにしたら かなり精度アップしました! これで十分です。ありがとうございました! 考えてみたら常にintへのキャストで情報失われるから当然 別途高精度な値を保持してないとマズイですよね… なんというバカなミス…
- 70 名前:名前は開発中のものです。 mailto:sage [2013/03/26(火) 23:38:16.94 ID:Yf/rjF2h]
- 次に似たようなケースに遭遇しても対応できるようになったと考えればいい
いい勉強になったじゃないの
- 71 名前:名前は開発中のものです。 mailto:sage [2013/03/26(火) 23:58:52.30 ID:v4H8VZ9G]
- >>70
そうですね。ありがとうございました!
- 72 名前:名前は開発中のものです。 mailto:sage [2013/03/27(水) 10:47:03.06 ID:fhzmRlaT]
- 同じミスを経験したことがある人は多いだろうしなw
- 73 名前:名前は開発中のものです。 mailto:sage [2013/03/27(水) 19:57:08.62 ID:kG3k8H23]
- さらに一年後忘れて同じミスするんだぜ
- 74 名前:名前は開発中のものです。 mailto:sage [2013/03/27(水) 22:04:18.17 ID:nnltvN69]
- せめて座標を画面に吐かせるだけの頭があれば
- 75 名前:名前は開発中のものです。 mailto:sage [2013/03/28(木) 00:01:48.65 ID:vqI4L1bO]
- SpriteStudioは高いので他探しているのですが、
無料または1万円未満の範囲だとSpriterくらいですか?
- 76 名前:名前は開発中のものです。 mailto:sage [2013/04/04(木) 14:05:50.41 ID:yr6X5Zto]
- Spriter
brashmonkey.com/ DragonBones dragonbones.github.com/ Xprite studioyu.net/xpr/index.html Spine esotericsoftware.com/ Umotion 2D www.nuoxygen.com/tools/umotion2d/umotion2d.php
- 77 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 03:18:02.31 ID:eEBDefyj]
- Wizardryや、かまいたちの夜1のような絵が動かない、
個人製作でも手が届くゲームを一人で作りたいんだけどまったくの素人です。しかも童貞 音楽は自作してるので、それを活かせる自作ゲームを作りたいと思いました。人に聴いてもらえる+自分の脳内を描いたゲームの世界に引き込める・知ってもらえるなんて最高じゃんと ゲーム製作の際、何から学べばいいですか?何か製作に必要なソフトとかあるのでしょうか?(数万円程度なら出せます まじでプログラム言語とかも知らないです
- 78 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 09:18:16.08 ID:H9ykFMIS]
- Dungeon Craft
uaf.sourceforge.net/screenshots.html LiveMaker www.livemaker.net/ Yuuki! Novel page.freett.com/yuukiex/yuukinovel.html
- 79 名前:名前は開発中のものです。 [2013/04/05(金) 23:46:41.19 ID:uyvIOZAj]
- 素人が出来るものといえば、 「RPGツクール」
このツールを使って、RPGじゃなくてアドベンチャーゲームに仕立てる。 戦闘が無くて、物語を主人公が進めてゆく。 各種メディアは、フリーのものが入手できる 操作は、設定値を変えるだけ 必要な物は、シナリオ(物語のストーリー)、これはあなたが考える。 これなら容易であり、挫折も少ないだろう。 いったん完成したならば、改良するのです。 メディアをオリジナルに変更したり、サブストーリーを追加したり。
- 80 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 01:33:15.11 ID:NpDKI+fK]
- >>79
なるほど。ありがとう
- 81 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 17:49:31.35 ID:FWQugemc]
- 放物線で狙撃する動き(角度固定)
ttp://hakuhin.jp/as/shot.html#SHOT_02_01 このサンプルの dx, dy を求める式を使って射撃ゲームに使おうと思うんですが、 どうも遠いと飛びすぎて、近いと届かない状況です。 どう調整したらいいでしょうか。 落下最初の1秒が 200ドットなので g=200 としたりしてますが問題ないですよね?
- 82 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 17:54:02.86 ID:Hq9k7jEj]
- 計算式理解してるか?
- 83 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 18:04:28.45 ID:6lNbvVrl]
- というか当たり前だよね?
現実世界で速く投げれば遠くへ飛ぶし、遅く投げれば近くに落ちる。 もちろん角度とか(あるいは重力とか)を変えれば別だけども。
- 84 名前:83 mailto:sage [2013/04/06(土) 18:05:38.97 ID:6lNbvVrl]
- あ、いや、そういうことじゃないのか。なんかこっちが混乱してきた。
- 85 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 18:51:37.42 ID:6lNbvVrl]
- あとリンク先読み直してて気付いたが、
地球上だと最初の1秒で落ちる距離って確か5mくらいだから、200ドットでg=200はおかしいと思う
- 86 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 19:11:05.14 ID:VF99w73i]
- g(重力加速度)って、画面下に行けば行くほどgが加算されるってことでないの?
g=200なら最初の1Fは200px、2F目は400px
- 87 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 19:34:37.61 ID:oDGG2jP0]
- そりゃあ、>>81の書いたコード中の計算式が何かおかしいんでしょ。
力学の方程式解いたら発射速度がバシッとでる筈なんだし。
- 88 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 21:00:14.69 ID:K2JIAZDb]
- コンピュータは計算通りに結果を出します。
ですから、あなたのプログラムコードに間違いがあると思われる 現実の大砲などは、空気抵抗や風の影響も必要でしょうけど 物理の方程式などは、 弾道計算や斜方投射で検索してください。
- 89 名前:81 mailto:sage [2013/04/06(土) 21:44:44.26 ID:FWQugemc]
- 最初に1/2する意味が分からなかったけど、平均を取ってるんですね。
だから重力加速度は400ドットか。 だけど、dtを調整するから変わらず。 砲台の設定がマップの縮小で、単純なベクトルになってると思ったんですが どうやら設定が大きければ大きいほどパワーが大きくなるようで、 それで飛びすぎていたようでした。 dy が MAX-10 のときに3秒で落下 dy が MAX-37 のときに200ドット上がって2秒で落下 dy を上記で固定したときにdは単純な比例ではなく、次のような関係でした。 subx = x1 - x0 dx = (0.09 * abs(subx) - 0.00003 * subx^2 ) dx = (0.085 * abs(subx) - 0.000036 * subx^2 ) * 3 / 2 ちなみにゲームはこれです。 ttp://www.badeggsonline.com/
- 90 名前:名前は開発中のものです。 mailto:sage [2013/04/06(土) 22:45:53.80 ID:oDGG2jP0]
- なんていうか、落下運動(等加速度運動)の方程式分かってる?
落下位置は時間の二乗に比例するのは分かる? その類は付け焼刃だと直ぐ詰むから、ちゃんと基礎固めた方が良いよ。
- 91 名前:名前は開発中のものです。 mailto:sage [2013/04/07(日) 00:02:24.64 ID:475c5HvW]
- >落下位置は時間の二乗に比例するのは分かる?
比例しねえよ。 アホか。
- 92 名前:名前は開発中のものです。 mailto:sage [2013/04/07(日) 00:45:46.82 ID:D+q7gFUe]
- えっ
- 93 名前:名前は開発中のものです。 mailto:sage [2013/04/07(日) 03:34:43.12 ID:2SdTxfZy]
- 質問者が小学生か中学生かもしれんだろ
- 94 名前:81 mailto:sage [2013/04/07(日) 07:00:02.03 ID:CtpA13/I]
- いちおう理系プログラマ経験ありの無職ひきこもりなんですがね
助言ありがとうございました。 現状 X軸上の目標にほぼ当たるように調整しました。 しかし、高さが変わるとさっぱり。 たぶん、方向×パワーでの調整をしないとだめなんでしょう。 ゲームツールとしては実用になりそうなんで十分です。 ・・・ t の計算前に調整したのは失敗かな。
- 95 名前:名前は開発中のものです。 mailto:sage [2013/04/07(日) 07:01:31.52 ID:CtpA13/I]
- rot = 45 // 仰角 左下原点
xn, yn // 砲台、目標の画面座標 dx, dy // 砲台の向きとパワー 左下原点 ←これが砲弾の初期ベクトルと一致すると思ったのがそもそもの間違いでした。 引数(rot, x0, y0, x1, y1, var dx, var dy) // 初期値 g = 400 dt = 0.05 // 画面座標を g * dt するとほぼ砲台ベクトルになる PI = 3.14159 // 計算 rot = (-1) * signum(x1 - x0) * (90 - rot) - 90 rad = rot * PI / 180 // 角度からラジアンに変換 subx = x1 - x0 // x方向のターゲットとの距離 suby = y1 - y0 // y方向のターゲットとの距離 suby = (-1) * suby // 座標変換 // 画面座標を砲台比率に調整 subx2 = 80 + subx * 1.3 - sqrt(subx * subx * 0.4) // x軸上でほぼ当たる suby = suby * (subx2 / subx) subx = subx2 // 到着時間(フレーム数)を求める (サンプルのまま) t = (-1) * (2 * subx * sin(rad)) / (cos(rad) * g * dt) + (2 * suby / (g * dt)) t = sqrt(abs(t)) dx = subx / t // x方向の移動量を求める dy = dx / cos(rad) * sin(rad) // y方向の移動量を求める
- 96 名前:名前は開発中のものです。 mailto:sage [2013/04/07(日) 10:14:55.06 ID:vg5SabRs]
- >>95
画面座標を砲台比率に調整、ってのが何をやりたいのかさっぱりわからん。 >>81のサンプルじゃないよね。 こっちで一からエクセルで計算式作ったら、 ターゲットがy<xの座標である限り、確実にヒットしたぞ? >>91 x=(-1/2)gt^2 は「xはtの二乗に比例する」って表現するんだ。 こんな下らん事で興奮してると禿げるぞw
|

|