ゲームプログラムなら俺に聞け24

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
エロゲしか作ったことないけど
なんでも聞いてちょ


【前スレ】
ゲームプログラムなら俺に聞け23
http://toro.2ch.net/test/read.cgi/tech/1325246820/


このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
2デフォルトの名無しさん:2012/05/23(水) 04:36:43.32
2DRPGのマップを伝統的なマップチップ式で作っているのですが、
画面からはみだす部分は厳密にクリッピングしなければなりませんか?
3デフォルトの名無しさん:2012/05/23(水) 06:45:58.93
誰がそう言ったの?
4デフォルトの名無しさん:2012/05/23(水) 07:17:05.09
>>2
DirectDraw を使ってた頃は、大抵のビデオカードで
厳密にクリッピング処理しないと望んだ結果にならなかった。
(落ちたりもした)

今 Direct3D や OpenGL で作ってるのなら、
クリッピング処理は GPU に任せておけば問題ないし楽だ。

ただ、完全に画面外に出たポリゴンは早い内にさっさと消しておけ。
5デフォルトの名無しさん:2012/05/23(水) 14:44:45.21
遠景は一枚絵にするけど海岸から水平線まで海が続いてるとき、近くのリアルな海面から一枚絵に切り替える境界はどうやって滑らかにすればいいんだろう
6デフォルトの名無しさん:2012/05/23(水) 16:52:06.45
100キロくらい先なら境界もあまり気にならないだろ。
後は普通に色の問題。
7デフォルトの名無しさん:2012/05/23(水) 18:47:17.68
>>5
クロスフェードじゃダメかな
8デフォルトの名無しさん:2012/05/23(水) 22:09:45.74
100キロとか描画範囲にしたら激重じゃね
9デフォルトの名無しさん:2012/05/23(水) 22:15:25.72
適当でいいだろ
どうせ敵とか出すんだろ?
みんな敵をひっぱたくのが忙しくてそこまで見ないって
10デフォルトの名無しさん:2012/05/23(水) 22:32:39.25
>>9
そういうのが日本人ゲーム関係者の良いところでもあり、
同時に悪いところでもあるんだよな。

影の話も似たようなもので、適当でいい、
何故ならプレイ中そこまで見ない、と。

海外のゲーム関係者はそういう所をぬかるのをとても嫌う。
リアルな画ならリアルに見えるように境界を真面目に考えるし、
コミカルな画ならコミカルに見うるように境界を真面目に考える。
あっちはプレイヤー以外の視線「も」気にするから、適当でいいとは考えない。

だから、>>5 は本気で考えたいなら、
海外のゲーム製作関係の掲示板で訊いた方が良いよ。
俺も含めて、ここの連中には荷が重すぎる課題だ。
適当で、そこそこで良いならここが適切だけどね。
11デフォルトの名無しさん:2012/05/24(木) 00:04:37.08
製品ならともかく、ここで聞いてる連中は趣味でやってるだろうから
そこまで頑張らなくて良いと思うぞ
つーか趣味でそこまで考えてたら時間がいくらあっても足りない
12デフォルトの名無しさん:2012/05/24(木) 02:33:47.74
>>7,>>10
ありがとう

クロスフェードで検索しても音関係しか出てこないけど、なんとなく雰囲気は分かった。透過か合成でグラデーションかけてポリゴンから一枚絵になめらかに繋げる感じだよな。ちょっとやってみる
13デフォルトの名無しさん:2012/05/24(木) 02:35:37.80
そうだね
14デフォルトの名無しさん:2012/05/24(木) 04:29:22.01
Direct3Dのテクスチャロード関数とかって
ビデオメモリにロードしてんの?
15デフォルトの名無しさん:2012/05/24(木) 07:14:13.89
どこに読み込むか指定できるようになっているだろ。
なんでヘルプに目を通すぐらいの最低レベルのことができなんだ?
16デフォルトの名無しさん:2012/05/24(木) 15:53:09.76
オンボードVGAならメインメモリ
グラボさしてるならグラボのメモリ
だと思ってたけど。
17デフォルトの名無しさん:2012/05/24(木) 16:30:07.73
知らんけど指定できないと思ってる
18デフォルトの名無しさん:2012/05/24(木) 20:01:33.35
とりあえずできないに1票
19デフォルトの名無しさん:2012/05/24(木) 20:54:11.52
ヘルプが読めないヤツはプログラムなんて組めないんだから、
そもそも気にする必要が無い。
20デフォルトの名無しさん:2012/05/25(金) 00:11:43.73
そう思いたいならそう思ってていいんじゃね?
21デフォルトの名無しさん:2012/05/25(金) 00:39:46.49
ヘルプ読んでるとストレス溜まるから読んだことないけど
データのロード先なんて選択できると思うぞ
PC上のデータ処理で不可能なことなんてないし
22デフォルトの名無しさん:2012/05/25(金) 01:43:52.92
> PC上のデータ処理で不可能なことなんてないし
史上最強のハッカー発見
23デフォルトの名無しさん:2012/05/25(金) 10:40:44.23
なんでアイちゃんがテンプレ入ってるの?
24デフォルトの名無しさん:2012/05/26(土) 09:31:53.10
二つ聞きたいことがあります。プログラムは大学の授業ですこしやった程度です。

一つは、トラビアンというネトゲのTSUというのがあって、それは、ネトゲ上で
人口と、人口の伸びを、随時記録して一覧にして、ネット上で誰でも閲覧できる
ようにしたサイトです。

これをやるのは、人力では不可能なので、ソースからロボットを走らせて
表をつくったと思うのですが、こういうのを作るのはソースにロボットを
走らせるにはどうすればいいんでしょうか?

二つ目は、ネトゲにおいて、プログラムを直接みたり、あるいは、ネトゲの
値を変更するということはプロのハッカーなら可能なんでしょうか?

ハッカーはそうとうすごいことができそうなので、プロならネトゲのプログラム
をいじることくらいはできそうな気がするんですが、どうなんでしょうか?

25デフォルトの名無しさん:2012/05/26(土) 10:39:31.31
そもそもロボットはいらない。
26デフォルトの名無しさん:2012/05/26(土) 13:23:49.28
>>24
値の変更はネトゲにもよる
鯖で計算が行われているものに関してはほとんど無理
27デフォルトの名無しさん:2012/05/26(土) 15:08:48.71
ここでゲーム作ってる奴らって最先端のゲームを作ろうとする割にはパイオニアにはなろうとしないよね。
ネトゲが最先端だからそれを作ろうとする割には
それより先のジャンルを開拓していこうとしないよね。
何で?
28デフォルトの名無しさん:2012/05/26(土) 15:14:26.83
>>27
そういうの趣味じゃないから
29デフォルトの名無しさん:2012/05/26(土) 15:28:07.92
>>27
やりたければ他人にとやかく言う前に自分でやればいい。
自分で出来ないのなら、胸に手を当てれば理由が分かるだろう。
30デフォルトの名無しさん:2012/05/26(土) 15:31:43.37
ある程度形になって発表するならともかく、メシの種になりそうな事をタダでバラまいてなんの特になるの
ここはプログラム板だし、企画房はよそでやってくれって話になる
31uy:2012/05/26(土) 23:59:13.25
>ここでゲーム作ってる奴ら

いや、作ってないち
このスレは所詮、同人ノウハウ板や、
ゲ製作板についていけない落ちこぼれの集まり
ム板にこういうスレ1個くらいあってもいいんじゃね?的な感じでスレおいてるだけで雑魚しかいないだろ
32uy:2012/05/26(土) 23:59:32.47
>いや、作ってないち
何語wwwwww


作ってないだろ
33デフォルトの名無しさん:2012/05/27(日) 03:16:47.79
>>32
作ってないっちゃって言いたかったんじゃないか?
34デフォルトの名無しさん:2012/05/27(日) 09:56:37.65
ヒットエフェクトっぽいのが作れたぜ

http://www42.atwiki.jp/syugyou?cmd=upload&act=open&pageid=250&file=ana.html
35uy:2012/05/27(日) 22:09:58.59
俺の中に15歳の女子中学生3年生、もうすぐ高校1年中学生最後の今春休み中みたいな人格もあるから時々おかしくなる
36デフォルトの名無しさん:2012/05/28(月) 19:18:46.37
-----------まとめ----------
「馬鹿は死なねば治らないのであり、だからこそアナトール・フランスは
『愚かな者は、邪悪な者よりも忌まわしい』と言ったのだ。
 邪悪な者は休むときがあるが、愚かな者はけっして休まないからである。」
(ホセ・オルテガ・イ・ガセット 1883〜1955)
>>247
>ゲームは作らんから知らんが、
224 == 247 == 704 == 717
口癖はコンポジション
>>772
>ゲーム作らなくてもお前よりマトモ
タスクの実行順序を意識しないとゲームが作れない(笑)
>>767
敵機 → プレイヤー の順序でタスクを実行するとタスクがぶっ壊れる
OOを得意げに語っているつもりが、やっている事が20年前のC言語だったという事実
バイナリの書き換えがわからない
コンパイラ言語のことをコンパイル言語とか言っちゃう
タイプミスの数々
http://toro.2ch.net/test/read.cgi/tech/1336122899/190
http://toro.2ch.net/test/read.cgi/tech/1336122899/297
http://toro.2ch.net/test/read.cgi/tech/1325246820/837-839
http://toro.2ch.net/test/read.cgi/tech/1336122899/318-320
http://toro.2ch.net/test/read.cgi/tech/1336122899/332-334
http://toro.2ch.net/test/read.cgi/tech/1336122899/818
37デフォルトの名無しさん:2012/05/29(火) 10:26:35.59
2dRPGのマップについてなんだけどスクロール処理ってみんなどうやってんだ
38デフォルトの名無しさん:2012/05/29(火) 11:09:54.31
カメラを動かせば普通にスクロールすると思うが、何が問題なんだ?
39デフォルトの名無しさん:2012/05/29(火) 15:41:36.65
2Dゲームだとカメラの概念は無いんじゃ?
マップチップの位置を動かせばいいだけだけど。
40デフォルトの名無しさん:2012/05/29(火) 16:47:05.33
「上」から平行投影で描画したほうが楽じゃね?
そういうのができない特殊な環境なら仕方ないけど。
41デフォルトの名無しさん:2012/05/29(火) 19:41:32.45
>>39
今はマップチップでやる意味ないだろ
42デフォルトの名無しさん:2012/05/29(火) 20:21:24.64
えっ?
一枚絵用意すんの?
43デフォルトの名無しさん:2012/05/30(水) 07:57:25.64
そうだよ
ただし処理のために読み込むのは画面+αだけ
44デフォルトの名無しさん:2012/05/30(水) 16:34:15.75
javaでシューティングゲームつくっていて
目標に向かって飛んでいくっていうメソッドをつくったんですけど
どうもうまくいきません。何がおかしいのかもよくわかりません。

目標Bに向かってAが進む

double speedX x座標の速さ
double speedY y座標の速さ
double unitSpeed ユニットの速さ
double theta aとbの角度
double targetX aとbのx座標の距離
double targetY aとbのy座標の距離

public void homing()
{
Point a = aの画像の中心;
Point b = bの画像の中心;
(targetX) = (double)(b.x - a.x);
(targetY) = (double)(b.y - a.y);
theta = Math.atan2(targetY,targetX);
speedX = Math.cos(theta) * unitSpeed;
speedY = Math.sin(theta) * unitSpeed;
}

わかりづらいかもしれませんが
アドバイスをいただけたら幸いです。
45デフォルトの名無しさん:2012/05/30(水) 16:42:43.32
>>44
どこもおかしくありません。

> どうもうまくいきません。
うまくいかないとはどういうことか、うまくいくとはどういうことかを
うまく説明できれば何らかのヒントが得られるかもしれません。
46デフォルトの名無しさん:2012/05/31(木) 12:35:41.75
>>45
Aが進む方向がBではなく別の方向に進み
ある地点まで到達したら、斜めに動くことがなくなり、
左右上下に動くことしかできなくなり
Bまでの動きとしては

A
___/
|
B

上のようになります。わかりますかね??汗
ちゃんとBに向かってまっすぐ動いてくれることもあるんですけど、
このように意味不明な動きをすることもあります
47デフォルトの名無しさん:2012/05/31(木) 12:35:53.71
unitSpeed>=1なんだろ
48デフォルトの名無しさん:2012/05/31(木) 12:54:10.80
>>44
> 何がおかしいのかもよくわかりません。

そういう時は、まず public void homing() の頭にブレークポイントを置いて、
そこを通る度に以下3つを丁寧に検証する。

・意図したデータが入力されているか
・意図した計算がなされているか
・意図したデータが出力されているか

終始意図通りの結果なら、homing 関数の問題ではないということだ。
49uy:2012/05/31(木) 13:59:47.54
>>44
なんでjaverってこういうありえねーメンバ変数の使い方するんだよ死ねキチガイ

http://codepad.org/oSf2nXhA
def RadToDeg x
  x*180/Math::PI
end
def homing_angle x , y, x2, y2
  RadToDeg( Math.atan2( y2 - y , x2 - x ))
end
a = homing_angle x , y , 100 , 100
s = 3
x += (s * Math::cos(a * Math::PI/180 ))
y += (s * Math::sin(a * Math::PI/180 ))
50デフォルトの名無しさん:2012/05/31(木) 14:10:11.69
>>46
考えられることとしては
1.AとBの間に見えない障害物がある
2.Aの位置に速度(speedX, speedY)を加算する式がバグってる
3.○の画像の中心、ってところがバグってる
4.b.x - a.x → 有効桁数が足りてないバグの可能性
51デフォルトの名無しさん:2012/05/31(木) 19:44:08.11
>>46
atanとか使わなくても、普通に三平方の定理で計算できると思うんだが。
52デフォルトの名無しさん:2012/05/31(木) 23:32:56.65
動きのおかしいときの各画像の位置とフレームごとの速度(x,y)はどうだったんだろう
最低そのくらいは調べてるだろうからそのデータもちゃんと載せて欲しい
53uy:2012/06/01(金) 05:46:42.63

http://codepad.org/UVxYyVe7

つーかさあ
俺様もそれほど数学に詳しいわけじゃないけど
DegToRad とか RadToDeg のあるなしの差じゃねーの違うの?
54デフォルトの名無しさん:2012/06/01(金) 06:47:59.83
x += (x2-x) / s
y += (y2-y) / s でいいじゃん

55デフォルトの名無しさん:2012/06/01(金) 10:49:31.83
>>54
sって何?
56デフォルトの名無しさん:2012/06/01(金) 12:41:44.36
>>54
たぶん、現在位置から目的位置へ近づく割合だろ(0.0 < s <= 1.0)
当然、フレーム間経過時間などを元に動的に決定されるものだと思うが
57デフォルトの名無しさん:2012/06/01(金) 20:26:09.69
>>51 で FA だろ。
三平方の定理と相似で解ける。

    現在地
      / |
     / ̄|
   /   |
目標 ̄ ̄ ̄

斜辺の長さが速度になる相似三角形の底辺と高さを求めればよい。

dx = x2-x;
dy = y2-y;
d = sqrt( dx*dx+dy*dy ); //斜辺の長さ
x += dx/d*v; //vは速度
y += dy/d*v;
58デフォルトの名無しさん:2012/06/01(金) 22:13:42.76
ミサイルのスプライトを目標の方に向ける必要があるんじゃ?
その場合は角度求めないと。
59デフォルトの名無しさん:2012/06/01(金) 22:47:32.02
目標に向かって動かすだけなら
比率さえあればx,y方向の1フレごとの移動量は求まるけど
その際に図形の回転を伴うなら確かに角度の算出が要るね
60デフォルトの名無しさん:2012/06/02(土) 01:53:31.87
とりあえず質問者のコードは間違ってないように見える
他の部分にバグあるんじゃね?
61デフォルトの名無しさん:2012/06/02(土) 09:09:45.15
javaがradとdegの混在命令だからだろ
62デフォルトの名無しさん:2012/06/02(土) 12:25:09.79
>>61
それだ!
つか俺も時々ハマるw
63デフォルトの名無しさん:2012/06/02(土) 15:57:00.51
質問者のコードは一応radで統一されてて
それも問題ないように思う
64デフォルトの名無しさん:2012/06/02(土) 17:52:49.74
classリファレンスちゃんと読め
以上
65デフォルトの名無しさん:2012/06/02(土) 19:49:46.35

ネットワーク対戦ゲームの基本概念を教えてください。
たぶんこのような過程があると思うのですがよくわかりません。

@同じゲームを起動してる人を探す。
Aデータを交換する相手のアドレスを取得する。
Bそこにパケットでまとめたものを贈りつける。

RPCってやつでやりとりするのでしょうか?相手のIPアドレスを取得してパケットを贈りつければいいのでしょうか?
66デフォルトの名無しさん:2012/06/02(土) 21:07:07.52
必要なデータを必要なときに送受信すればいいだけ。
送受信に何を使うかも、最適なモノを自分で選んで決めればいいだけ。
まずは思いつく方法を片っ端から試せ。
それで解決する。
67デフォルトの名無しさん:2012/06/02(土) 21:10:10.47
どんなネトゲかによるだろう。

P2Pならだいたいそれで合ってる。
MMOならみんなが1台の鯖に接続する。
だけどP2Pだとルータでポート解放する必要があるから、
最近はP2PでできるようなものもMMOのように鯖を介してやることも多い。
68デフォルトの名無しさん:2012/06/03(日) 15:59:47.45
ネットワーク対戦の難しさは、ネットワークの遅さだよ、
とだけはあらかじめ言っておいてあげる。
69デフォルトの名無しさん:2012/06/03(日) 16:26:28.89
GBのLAN専用にしたって、面倒な手続きが簡単になるわけじゃ無いんだが、
偉そうに語り出す馬鹿が出現したな。
70デフォルトの名無しさん:2012/06/03(日) 18:09:22.83
産業用みたいに
例えばタッチパネルとPLCのネットワークとかって
インターフェイスのアドレスマップだけ設計すれば
PLC側から見て単に内部メモリとしてプログラム出来る

その先のやり取りはハードが勝手に決まった時間内で更新してくれるだけ

こういうような仕組みがPCにも欲しい
71デフォルトの名無しさん:2012/06/03(日) 18:53:23.96
欲しいも何もプログラムで一定の領域を定期的に同期させるように作ればいいだけの話。
72デフォルトの名無しさん:2012/06/03(日) 19:19:22.73
だからプログラムで記述するのが古臭いんだよ
73デフォルトの名無しさん:2012/06/03(日) 19:25:16.98
そういうフレームワークを使えばいい。
74デフォルトの名無しさん:2012/06/03(日) 19:37:12.95
>>72
古臭いと何がマズいのか明確に言ってくれないと、
じゃあこういうのはとか、なるほどそうだね、とか何も言えないだろ
75デフォルトの名無しさん:2012/06/03(日) 21:57:18.77
他人が組んでくれて自分の見えないところなら気にならないのに、
自分が組まないとなると文句をたれるんだよ。
つまりタダの怠け者、クズ。
76デフォルトの名無しさん:2012/06/03(日) 23:45:14.20
>>75
ならお前はDOSからWindows作ってからやれ
77デフォルトの名無しさん:2012/06/04(月) 00:06:27.90
「あれあったで使うが、なければないで文句は言わない」って考え方はないのかね
底辺教育受けてるとないんだろうなあ
78デフォルトの名無しさん:2012/06/04(月) 00:09:56.05
> その先のやり取りはハードが勝手に決まった時間内で更新してくれるだけ
決まった時間内で更新できると思ってるようじゃネットワークを扱うのは無理。
79デフォルトの名無しさん:2012/06/04(月) 00:16:51.68
だとさ。
>>69
ざまぁ
80デフォルトの名無しさん:2012/06/04(月) 00:57:00.90
ちなみにこの世で一番速い光子ですら、一秒間に地球を七週半しか回れない。
つまり、光の速度で地球の裏側に行って返ってくると、それだけで、1/7.5秒かかる。
8FPS弱ってことです。この世最速の情報伝達媒体ですらこんなものです。
もちろんネットワークは光速よりずいぶん遅いです。
間にはいくつものサーバーが挟まりますし。
その辺のことを良く考えて書かないと、文字通り、「ガタガタ」になります。
81デフォルトの名無しさん:2012/06/04(月) 08:23:31.04
>>78
いや実際のネットワークはハードが勝手にやってるし
ソフトが介入してやってるのはホンの先っちょだけ
82デフォルトの名無しさん:2012/06/04(月) 08:30:15.97
>>78
同期専用のハードを作ろうが、信号に異常が出たら再送なりしないといけないんだから、
確実に定期実行できるとは限らない。
それを神の奇跡か何かと勘違い出来る時点で、頭が悪いにもほどがある。
そういう人間はあらゆるモノを扱うのに向いてないよ。
83デフォルトの名無しさん:2012/06/04(月) 08:34:01.98
結局はエラーチェックと再送を誰が担当するのか、
平均的な同期速度がどの程度か、
遅延が発生する確率はどの程度か、
失敗した場合の処理はどの部分で補うのか、
精度と処理をする場所が異なるだけの話。
84デフォルトの名無しさん:2012/06/04(月) 10:16:03.18
>>81
ホンの先っちょだけって言うにはIPスタック作るのは面倒すぎる。
85デフォルトの名無しさん:2012/06/04(月) 15:24:53.76
作る順番としては?

鯖:各クライアントとの入出力配列+ゲーム処理データーベースを常時更新
蔵:鯖との入出力配列により画面表示を常時更新

これが出来たら
あとは入出力配列部分だけ参照更新するネットワークプログラムを作って終わり?
86デフォルトの名無しさん:2012/06/04(月) 19:01:54.49
C言語で9999999ってなんですかね?
87デフォルトの名無しさん:2012/06/04(月) 19:16:21.59
>>80
言いたいことはちゃんと伝わったが、一応指摘しておくと、
FPS の使い方がなんかおかしい
88デフォルトの名無しさん:2012/06/04(月) 19:49:24.55
ファーストパーソンシューター厨は、遅延時間ならなんでもかんでも
フレーム毎秒でしか捉えられんのだろう。
89デフォルトの名無しさん:2012/06/10(日) 09:19:40.14

-----------まとめ----------
「馬鹿は死なねば治らないのであり、だからこそアナトール・フランスは
『愚かな者は、邪悪な者よりも忌まわしい』と言ったのだ。
 邪悪な者は休むときがあるが、愚かな者はけっして休まないからである。」
(ホセ・オルテガ・イ・ガセット 1883〜1955)

http://toro.2ch.net/test/read.cgi/tech/1336122899/247
>ゲームは作らんから知らんが、
224 == 247 == 704 == 717 == http://logsoku.com/thread/toro.2ch.net/tech/1335361193/46
口癖はコンポジション、ミサイルとホーミングミサイルの設計について1ヶ月間も考え続けてる
http://toro.2ch.net/test/read.cgi/tech/1336122899/772
>ゲーム作らなくてもお前よりマトモ
タスクの実行順序を意識しないとゲームが作れない(笑)
http://toro.2ch.net/test/read.cgi/tech/1336122899/767
敵機 → プレイヤー の順序でタスクを実行するとタスクがぶっ壊れる
OOを得意げに語っているつもりが、やっている事が20年前のC言語だったという事実
バイナリの書き換えがわからない
コンパイラ言語のことをコンパイル言語とか言っちゃう
タイプミスの数々、右手の人差し指と中指をケガしてる模様
http://toro.2ch.net/test/read.cgi/tech/1336122899/190
http://toro.2ch.net/test/read.cgi/tech/1336122899/297
http://toro.2ch.net/test/read.cgi/tech/1325246820/837-839
http://toro.2ch.net/test/read.cgi/tech/1336122899/318-320
http://toro.2ch.net/test/read.cgi/tech/1336122899/332-334
http://toro.2ch.net/test/read.cgi/tech/1336122899/818
http://toro.2ch.net/test/read.cgi/tech/1336122899/956
90デフォルトの名無しさん:2012/06/11(月) 20:42:13.55
ネトゲ開発初心者はまずオセロから作れって。
FPSみたいにわずかな遅延がゲームに致命的な欠陥を生まないし、
オンライン対戦ならAIを作る必要もない。
送受信もどこに石を置いたかのデータが中心だから設計も楽。
91デフォルトの名無しさん:2012/06/11(月) 20:48:10.95
その理屈はおかしい。
彼は趣味でやってるんだろうに、
作りたくも無いオセロゲームを作れってのは趣味にならないだろ。
作りたいものを作ってこその趣味だよ。
仮に玉砕したとしても、それでよいんだよ。
暇つぶしなわけだから。
92デフォルトの名無しさん:2012/06/13(水) 01:06:08.01
C++について知識をください!
今シューティング作ってて、
 基底クラス:敵
  敵を継承したクラス:ザコA、B、C・・
みたいなよくある多態性になってるんすけど、
敵の出現タイミングを管理したいなあと思ってます!

最初に出現条件を書いてあるテキストファイルを読み込んだら、
出現タイミング、敵種類(ザコA,B,C・・・)をメンバ変数に持った構造体を確保していって、
ゲーム中にこの構造体の情報から敵を出現させていこうと思ってます。
困ってるのは、敵種類をどう指定したらいいかってことなんですけど、
敵ごとに番号を振っていって、ifで一致を確してなんてダルイことしてないんじゃないかあと思うんです。
出現条件の敵種類メンバ変数に直接ザコA、B、Cとかの型を指定できないかなあと考えていて、
出現させる際には、指定した敵種類オブジェクトのインスタンスをズバっと生成できたらカッコイイです!
なにかいい方法はありませんか!ヒントください!
93デフォルトの名無しさん:2012/06/13(水) 01:40:03.92
94デフォルトの名無しさん:2012/06/13(水) 02:20:59.72
>>93
おおおーなるほどオブジェクトを生成するファクトリーをポリモーフィズム的に作ればいいんだな!
条件構造体を作成する段階で、敵種類に対応したファクトリーをぶち当てればいいのか!
めっちゃくちゃ参考になって大感謝です!しかもこのサイトすごく面白いです!ありがとうございます!!
95uy:2012/06/13(水) 17:23:09.71
マジレスするとその「テキストファイル」をLuaか、適当に好きなスクリプト言語にして
ゲーム内容はC++ではなくそのスクリプトで記述する
そこまでいけると中級+
たまに自作言語にしちゃう奴もいるけど、それはゲーム製作から脱線しすぎ
個人開発なら、全部C++ソース内に内容かいたっていいんだけど
でもやっぱりコンパイルして実行っていう作業よりも
コンパイル時間を削減する為にもスクリプト導入が好ましい
つーかそのURL全然関係ねー気がするけど、何を理解した
96デフォルトの名無しさん:2012/06/25(月) 20:51:41.83
開発ツールの開発がだるい
97デフォルトの名無しさん:2012/06/25(月) 21:56:51.46
開発ツールの開発を支援するツールを作れば、だるさは多少解消するかも知れん
98デフォルトの名無しさん:2012/06/27(水) 14:26:23.28
モルピグ!
99デフォルトの名無しさん:2012/06/27(水) 15:29:07.55
きゃきゃ
100デフォルトの名無しさん:2012/06/27(水) 16:27:14.54
100
101デフォルトの名無しさん:2012/06/27(水) 18:23:19.96
っもるぴぐ
102デフォルトの名無しさん:2012/06/27(水) 18:32:42.08
多少のラグに目をつむればモルピグのシステムなんて素人でも作れるが
素材の準備とラグの解消、複数の鯖に分割することを前提とした設計やチート対策ってことになると難しくなってくる

チート対策は最近のモルピグに利用されてるゲームガードみたいなのがあれば良いんだけど
フリーウェアではないんだよなやっぱり
作ってみるかな
103デフォルトの名無しさん:2012/06/29(金) 05:43:51.62
チート対策なんて鯖で値のチェックすれば十分
104デフォルトの名無しさん:2012/06/29(金) 07:12:25.85
それなのにチートがはびこるのは何故
105デフォルトの名無しさん:2012/06/29(金) 07:55:06.60
プログラマーがRMTやチートツールや対チートツールで副収入得るために
わざとクライアント側からのデータ操作でチート出来るように仕組んでる


106デフォルトの名無しさん:2012/06/29(金) 12:40:50.71
>>105
それは実際のところ割に合うのか?
リスクとリターンがどれくらいなのか、適当な状況を仮定して見積もってくれないか
107デフォルトの名無しさん:2012/06/29(金) 13:11:39.04
俺の作った単語だけど、チートには「データチート」と「PSチート」がある。

データチートはステータスを書き換えて強くしたり、モンスターへ与えるダメージを水増ししたり、位置情報を操作してワープさせたりといったチートだ。
但しこれらはその計算処理をクライアント側で行っている場合のみ有効であり、
ステータスもクライアント側では表示するだけ、ダメージもサーバ側のデータで計算してクライアントには結果を返すだけ、移動も移動速度から計算してありえない移動距離なら切断、
とうようにサーバ側で計算するようにするだけで簡単に対策できるのがデータチートなのである。

一方、PSチートはプレイヤーの技術をサポートするようなツールを使ったチートだ。
例えばFPSのようなゲームで、次々と正確に照準を合わせたり、繁みに隠れていて見つかる確率が限りなく低いはずのに透視したように見えてしまうツールを使うチートだ。
これはプレイヤーの技術や運によって可能だったのか、それともチートなのかを客観的に判定するのが非常に難しい。
限りなくチート臭くても、毎日やってたら照準を合わせられるようになった、と言われたり、
たまたま繁みの隙間から見えた、とか、さっき繁みに入っていくのが見えた、と言われれば水掛け論にしかならないのである。
嫌疑をかけてもこ証明は難しく、プログラムで客観的に判定するとなると尚更難しい。
108デフォルトの名無しさん:2012/06/29(金) 13:22:17.17
TASの定義でも一生議論してたら?
109デフォルトの名無しさん:2012/06/29(金) 19:00:25.31
どうして?
110uy:2012/06/30(土) 13:27:40.54
ただのツーラーだろ
少なくともネトゲで対人やってる奴はほとんどそれだよ
やってない奴もいるが、ギルド単位で情報交換しちゃうから普通の奴でも知識だけはある奴も結構いる

>プログラムで客観的に判定するとなると尚更難しい。
nProtect入ってればメモリ監視されてるから普通にバレてる
バレた上でBANされない程度のラインを見極めることが重要
111デフォルトの名無しさん:2012/07/01(日) 16:38:30.53
プログラムできなくて訳が分からない・・・論理的な思考が出来てないのかな・・・
112デフォルトの名無しさん:2012/07/01(日) 18:20:44.59
>>111
無理
113uy:2012/07/01(日) 18:28:59.04
マジレスすると、プログラミングを会得するには一度バカになる必要がある
なんでかというと、人間が脳から各神経系に伝達する電気信号よりも
はるかに効率の悪い言語で、コンピュータに対し命令をださなければならない

コンピュータにおいて
え?なんでこうなってんの?
という、疑問のほとんどは「設計者がバカだから」で終わり
114デフォルトの名無しさん:2012/07/01(日) 20:48:19.08
バーカ
115uy ◆pdu1UZmweE :2012/07/02(月) 05:30:02.22
俺は今一度といたい

なんでlambdaがあるのに
lambdaの劣化版であるクラス使ってんの・・・バカじゃないの
116デフォルトの名無しさん:2012/07/02(月) 19:52:18.09
何でも内包できる、以外で劣化版と呼ぶ理由がないなら
なんでLispをやらんでRubyにとどまってるんだ?
117デフォルトの名無しさん:2012/07/02(月) 20:52:40.98
ばかばっか
118uy ◆pdu1UZmweE :2012/07/02(月) 22:32:55.95
>>116
質問者はまともな回答欲しいなら敬語使えばいいんじゃね?


>何でも内包できる、以外で劣化版と呼ぶ理由がないなら
はあ?w
頼む、日本人だよな?お前
ここまでコミュ障とはネット越しでもキツイ
119デフォルトの名無しさん:2012/07/05(木) 10:49:21.92
ラムダはラムダクラスだろうし、
ラムダオブジェクトはラムダクラスのオブジェクトだろうから、
何の意味も無い問題提起だな。
120デフォルトの名無しさん:2012/07/05(木) 11:49:48.56
アスペコテに噛み付いても議論にならないからやめとけ
121デフォルトの名無しさん:2012/07/05(木) 12:25:58.20
あんたいいこと言うね
122デフォルトの名無しさん:2012/07/06(金) 16:32:19.06
装備なんかを作ろうと思った時
装備品リストのデータベースを作り、装備品が関わる時にデータベースを検索して該当する効果を付加する

みたいなことって効率悪いですかね。
一般的にはどんな感じでやってるんでしょうか?
123デフォルトの名無しさん:2012/07/06(金) 20:35:17.20
そりゃあプログラム埋め込みだぜ、ワイ(ry
124デフォルトの名無しさん:2012/07/06(金) 21:02:01.64
>>122
一般的にはどうか知らんけど、俺は装備品は構造体の配列で管理してて
IDから参照してるから効率はそんなに悪くない気がする

//3番目のキャラにID=14の武器を装備
charactor[2].equip.weapon = 14;

//攻撃力を参照
at = weapondata[charactor[2].equip.weapon].attack;
125デフォルトの名無しさん:2012/07/07(土) 20:37:15.52
作ろうとしてる物の規模によりけりなんじゃねえの
ここで質問してるようなレベルならガチガチのハードコーディングでも別にいいと思う
126デフォルトの名無しさん:2012/07/08(日) 05:21:21.39
>>122
キャッシュしとけばいいじゃん
127デフォルトの名無しさん:2012/07/11(水) 14:36:20.17
FPSのようにマウスで旋回かせたいんですが
今の実装だと正しく動かない。どこが間違ってますか?

次フレームの回転行列 = 儿軸回転行列 * 兀軸回転行列 * 前フレームの回転行列
128デフォルトの名無しさん:2012/07/11(水) 15:35:20.37
エスパーだが、とりあえず、
 次フレームの回転行列 = 兀軸回転行列 * 儿軸回転行列 * 前フレームの回転行列
 (↑XとYの順を逆)
としてみ。DirectXは行列を前から修飾するスタイルだから。
129デフォルトの名無しさん:2012/07/11(水) 20:49:46.29
そもそも行列の累積で計算するな。
誤差だらけになろうだろう。
行列を使いたければ、方向と位置を決定してから変換すればいいだけの話だ。
130デフォルトの名無しさん:2012/07/11(水) 20:55:34.51
話だね
131デフォルトの名無しさん:2012/07/11(水) 23:04:20.20
確かにD3Dのサンプルも、方向と位置を更新してから
View行列を作り、その逆行列を求める方法を取っており
行列積は使っていない。
ただ、考え方は間違っていない(と思う)のに
結果がついてこないので質問させてもらった。
132デフォルトの名無しさん:2012/07/11(水) 23:46:11.89
2重に軸の違う回転行列を使った時点で、xとyの順番次第でどちらかの回転が引っ張られてしまうだけ。
つまり考え方が間違っている。
行列は魔法じゃない。
133デフォルトの名無しさん:2012/07/11(水) 23:50:37.09
>>131
もらったね
134デフォルトの名無しさん:2012/07/12(木) 11:14:59.51
>xとyの順番次第でどちらかの回転が引っ張られてしまうだけ。

今回に限れば、FPS風のマウスによるカメラ操作がネタだから問題ない。
135デフォルトの名無しさん:2012/07/12(木) 11:24:47.24
というか、FPS風のマウス操作の視点を実装するとき、
視線の角度変数 rotX rotY から、
行列やクオンタニオンの乗算を使わずに、
直接一発でView行列を生成する方法って有るの?

>xとyの順番次第でどちらかの回転が引っ張られてしまう

って言うけど、まさにX軸回転をY軸回転で引っ張りたいわけだけど。
人間の首がそういう構造だし。
横回転の上に上下回転が乗っかってるっていう。
136uy ◆pdu1UZmweE :2012/07/12(木) 11:36:56.46
>>119
バカか・・・・・・・
オブジェクト指向でラムダを実装しているから
統一性のためにラムダクラスやラムダオブジェクト()になってるだけなわけで
数学の世界でのラムダがクラスやオブジェクトって概念の上に存在してるとでも思ってんの?バカか

ラムダでクラスを実装すれば、主従関係が逆になることすらわからないわけですか?初心者は謝れ
137デフォルトの名無しさん:2012/07/12(木) 12:38:14.80
そんなに数学が好きなら、数学をすればよい。
今すぐ数学板に行って、もう帰ってくるなよ。
最も君の頭じゃ無理だろうが。
138デフォルトの名無しさん:2012/07/12(木) 23:06:01.30
>xとyの順番次第でどちらかの回転が引っ張られてしまうだけ。
確かに x * y と y * x では結果が違う。
FPSの場合欲しいのは、y * x の方だ。

>次フレームの回転行列 = 兀軸回転行列 * 儿軸回転行列 * 前フレームの回転行列
これを分解すると以下になり、xとyを交互に掛ける形で正しくない。
rotNext = rotY1 * rotX1 * rotY0 * rotX0

正しくはこう
rotNext = rotY1 * rotY0 * rotX1 * rotX0
139デフォルトの名無しさん:2012/07/13(金) 03:22:35.72
rotX0やrotX1の添え字違いみたいなのが、何を表しているのか全く不明だし。

FPSのマウスによるカメラ操作なら、単純に、
rotX += マウスの移動量X;
rotY += マウスの移動量Y;
rotMatrix = toMatrix( rotY ) * toMatrix( rotX );
これでOK。

DirectXなら、D3DXQuaternionRotationYawPitchRoll使うのが確実だけどなー。
140uy:2012/07/14(土) 13:57:34.10
>>137
初心者ですか?
>ラムダはラムダクラスだろうし、
>ラムダオブジェクトはラムダクラスのオブジェクトだろうから、

初心者は謝れ

つーか「だろうし」ってなんだよ
しらねーなら黙れカス
141デフォルトの名無しさん:2012/07/14(土) 23:08:29.78
モルピグ!
142デフォルトの名無しさん:2012/07/14(土) 23:14:37.03
し〜プラプラってもう存在価値なくなってきてりな
速度欲しいとこだけネイティヴは仕方ないけど他の部分はシーシャープとか使った方がはるかに生産性高いし
iPhoneへの移植も楽々
143デフォルトの名無しさん:2012/07/14(土) 23:32:40.16
iPhoneとか使ってるのはごく一部の情弱だけだし移植の必要なくね?
144デフォルトの名無しさん:2012/07/14(土) 23:34:32.25
わろた
iPhoneの需要は八割ぐらいだろ
電車でいじってるやつ大杉
145デフォルトの名無しさん:2012/07/15(日) 03:23:00.26
狭い世界で生きてんな
146デフォルトの名無しさん:2012/07/15(日) 11:53:04.92
首都圏の通勤電車に毎日乗ってる人なら実感してると思うよ
147デフォルトの名無しさん:2012/07/15(日) 11:56:02.63
首都圏の通勤電車でiPhoneいじってる奴らの総数次第だな。
148デフォルトの名無しさん:2012/07/15(日) 12:55:05.34
>>145
生きる世界をむやみに広げても、あんまり意味無いからなぁ
149デフォルトの名無しさん:2012/07/15(日) 13:00:04.02
経済も生活も変数もローカルなほど良い
世界はこの真理に逆行している
我々プログラマだけが神の意思に到達しているのだ
150デフォルトの名無しさん:2012/07/15(日) 16:07:09.10
気持ち悪い
151デフォルトの名無しさん:2012/07/15(日) 18:03:17.84
必要なインターフェースは公開してもらわないと何も出来ないし、
世の中どんどん機能的かつコミュニティー重視になってきてるから、
むしろ寄り添ってる。
152デフォルトの名無しさん:2012/07/16(月) 02:25:14.32
TNTNと変数は丸出しじゃ困る
153デフォルトの名無しさん:2012/07/16(月) 12:03:15.62
でもMNMNと関数は公開してた方がいいんだろ?
154デフォルトの名無しさん:2012/07/16(月) 12:21:55.56
privateのmnmnをあの手この手でpublicにするのが楽しいんだろ
#defineとかでよー
155uy:2012/07/22(日) 22:29:16.93
さっさと死ねよ気持ち悪い
156デフォルトの名無しさん:2012/07/22(日) 23:00:44.52
わざわざ書かんでよろしい
157デフォルトの名無しさん:2012/07/22(日) 23:25:34.55
モルピグ鯖ってかなりメモリ積んだほうがいいよな?
仮想メモリとか使いだしたら突然ラグりまくりになりそう
158デフォルトの名無しさん:2012/07/23(月) 23:22:23.46
必要なメモリは最初に確保するなりして、動作中にメモリを確保しないような設計にした方がいい
長期間動かすから、断片化とか怖いし

ま、メンテナンスなんていう名目で定期的に再起動かけたんでもいいんだけど
159デフォルトの名無しさん:2012/07/24(火) 00:09:45.65
>>157
メモリ云々は何にどの程度の容量が必要か計算してからにしろ。
どこにスワップするほどメモリを使うんだよ?
本当にアホだな。
160デフォルトの名無しさん:2012/07/24(火) 01:29:31.59
かなりとか言ってる時点で相当な低脳だな
お前にモルピグは無理、RPGツクールで劣化FFでも作ってろ
161デフォルトの名無しさん:2012/07/24(火) 06:46:58.92
MMUついてるし、断片化は気にする必要ないだろ。
162デフォルトの名無しさん:2012/07/24(火) 11:14:16.11
仮想アドレスを食い散らかすと断片化する
でも64bitOS使えば解決の気がしてきた
163デフォルトの名無しさん:2012/07/24(火) 11:44:01.00
毎フレーム数百のメモリの確保と、
残す個数を決めてランダムに解放を繰り返すコードを入れてみろ。
誤差程度の影響しか出ないから。
馬鹿の考え休みに似たりなんだよ。

なんで頭の悪い奴って、どうでもいいところに気を回すんだろう?
その割に容量の計算もしなければ、実測もしない。
164デフォルトの名無しさん:2012/07/24(火) 13:06:22.23
実際やらかしたことがあるから
何も考えずに食い散らかして最終的に1GBくらいメモリ保持してると
プロセスで使える2GBが断片化して数MBの確保が難しくなってくる
モルピグのサーバじゃないけど
165デフォルトの名無しさん:2012/07/24(火) 13:19:46.08
そもそも仮想メモリの管理の仕方が全く分かってないだろう?
メモリの確保に領域が連続している必要性なんて無いんだよ。
だから確保できないのは断片化とは全く関係ない。

救いようが無いくらい頭が悪いな。
166デフォルトの名無しさん:2012/07/24(火) 13:26:17.53
いや物理メモリは連続してる必要がないけど
仮想アドレスは連続してないとマズイんじゃ?
167デフォルトの名無しさん:2012/07/24(火) 13:48:43.77
確保した大容量のメモリをマッピングしっぱなしにしているとか言う落ちか。
結局、作り方が阿呆なだけ。
168デフォルトの名無しさん:2012/07/24(火) 13:55:41.76
マッピングは物理メモリを仮想アドレスに割り当てることでしょ?
仮想アドレスを食い散らかすこととは何も関係ないような

まぁ食い散らかさなければいいんだけど
169デフォルトの名無しさん:2012/07/24(火) 13:56:08.14
そもそもマッピングに失敗することはあっても、確保できない状態にはならない。
170デフォルトの名無しさん:2012/07/24(火) 14:04:20.11
仮想アドレスを使い切っても確保ってできんの?
171デフォルトの名無しさん:2012/07/24(火) 14:08:37.22
それは断片かとは関係なくメモリが足りないという。
172デフォルトの名無しさん:2012/07/24(火) 14:14:56.45
いやだから仮想メモリが断片化して足りなく… >>164みたいに
173デフォルトの名無しさん:2012/07/24(火) 14:16:09.83
OS管理下の仮想アドレスは、連続している必要がないから足りなくなることはない。
仮想アドレスが足りないというのはメモリを使い切ったと言うこと。
プロセス管理下のアドレスは、連続しているアドレスがなければマッピングは出来ないが確保は可能。
で、マッピングできないレベルで大きなメモリを扱うときは、VirtualAllocなどで必要な領域にアクセスする。断片化で確保できなくなるというのがあり得ない。
174デフォルトの名無しさん:2012/07/24(火) 14:22:29.97
まさかとは思うがOSが管理している仮想アドレスを、
プロセスがアクセスするアドレスにそのまま落とすと思っているのか?
そんな馬鹿な構造なら足りなくなるが、どこにそんなOSがあるんだ?
175デフォルトの名無しさん:2012/07/24(火) 14:30:14.63
プロセスに割り当てられるのは仮想メモリって言わないのかな?それならスマン
プロセスに割り当てられる分(最大2GBとか)が断片化するって話ね
176デフォルトの名無しさん:2012/07/24(火) 17:14:04.25
なんとなく分かった気がする。

あっちこっちのプロセスが、メモリをろくに必要としてないのにまばらにメモリ空間を確保して
使ってるから、ページが足りなくなる、ということか?
177デフォルトの名無しさん:2012/07/24(火) 18:00:22.27
ページングを前提にしてる人としてない人で話が食い違ってるような。
178デフォルトの名無しさん:2012/07/24(火) 18:00:52.79
いや1プロセス内の話
仮想アドレス側がページ、物理メモリ側をフレームとすると
連続したページが足りなくなる感じ
179デフォルトの名無しさん:2012/07/24(火) 19:19:53.83
連続したページが足りなくなるとどうなるんだ?
180デフォルトの名無しさん:2012/07/24(火) 19:49:41.24
大きなメモリの確保(連続したページの確保)が出来なくなる
ページより小さなサイズしか確保しないなら断片化は発生しないけど
181デフォルトの名無しさん:2012/07/24(火) 19:51:36.26
連続したアドレスでメモリを割り当てられなくなる。
182デフォルトの名無しさん:2012/07/24(火) 19:53:21.41
>ページより小さなサイズしか確保しないなら断片化は発生しないけど
ちょっとこれは大雑把過ぎるような・・・
VirtualAlloc使うならそうだけど、
HeapAllocは内部で以下略
183デフォルトの名無しさん:2012/07/24(火) 20:11:07.98
>>180
メモリの確保に連続したページは必要ない。
マッピングが出来なくなるだけ。
これだけ説明して理解できないってどれだけ頭が悪いんだよ。
184デフォルトの名無しさん:2012/07/24(火) 20:11:10.54
>>182
あースマソ、細かいところは面倒になった
185デフォルトの名無しさん:2012/07/24(火) 20:31:59.87
メモリの確保 
 仮想メモリ上のブロックを予約
番号管理なのでアドレスを必要としない
マッピング
 仮想メモリ上のブロックをプロセス空間上のアドレスに対応付け
アクセス
 プロセス空間上のアドレスに対するアクセスを、物理メモリのアドレスに変換(利用者には見えない)
 スワップしているのなら物理メモリに書き戻す(マッピングした時点で書き戻されている場合もあるがOS次第)
186デフォルトの名無しさん:2012/07/24(火) 22:11:19.58
でもモルピグって最初にドカッとメモリ確保したりしないだろ
一番変動があるのは同時接続してるユーザーの管理だけど、
1人当たり40KB程度必要だとして同時接続数の最大を10000人とすると約400MB
最初にいきなり400MBも確保すんの?
512MBしか積んでない鯖で理論上これでいけると思っても管理ソフト起動したら512MB超えちゃったとかあったらどうする気だよ
187デフォルトの名無しさん:2012/07/24(火) 22:30:43.59
物理メモリが足りなければスワップするだけの話だろう。
いったい何を言っているんだ?
188デフォルトの名無しさん:2012/07/24(火) 22:47:42.11
>>186
同時接続数の最大を小さくするか、
メモリを増やす
189デフォルトの名無しさん:2012/07/25(水) 04:13:05.85
いくら趣味でも今時モルピグ鯖で512MBとかありえない。
趣味でも最低32GBは積んでおくべき。
16GBは普通に使って16GBはRAMDISCにするのが玄人。
仕事でやるなら最低128GBは必要。
190デフォルトの名無しさん:2012/07/25(水) 06:46:44.20
>>178
なんのためのページングだよ。
物理メモリを連続して確保しなくてもいいように、論理アドレスと物理アドレスを
ページ単位で対応付けるわけだろ?

OSとユーザランド(物理アドレスと論理アドレス)の話じゃなくて、
ユーザランド内でのmallocに閉じた話をしたいのか?
191デフォルトの名無しさん:2012/07/25(水) 07:25:55.43
そもそも同時接続数10000なんてメモリ云々以前に無理な話。
ソケットの管理と通信データの仕分けだけでCPUが持って行かれて、まともに動かない。
複数台の受付用のサーバと、管理用のサーバに分けないと話にならない。
192デフォルトの名無しさん:2012/07/25(水) 07:58:46.25
C10Kか
193デフォルトの名無しさん:2012/07/25(水) 08:35:34.14
>>190
連続した物理メモリじゃなくて、連続した論理アドレスが足りなくなるって話だったんだけど
194デフォルトの名無しさん:2012/07/25(水) 10:00:59.08
>>193
もうちょっとコンピューターのことお勉強してから参加した方がいいよ
195デフォルトの名無しさん:2012/07/25(水) 10:26:13.84
>>194
これで飯食っててゴメンね
196デフォルトの名無しさん:2012/07/25(水) 10:39:30.18
よっぽどだなw
アビバかなんかの講師かw
197デフォルトの名無しさん:2012/07/25(水) 10:40:23.74
結論として、モルピグ鯖でメモリ領域の確保は基本的に最初に全部やってしまう
それに合わせて鯖のメモリを決定する
でいいだろ

アドレスがどうとかページがどうとか低水準な話はこの際どうでもいい
198デフォルトの名無しさん:2012/07/25(水) 10:46:34.37
ログインも上限設けてそれ以上は入れなくするだろうしな。
199デフォルトの名無しさん:2012/07/25(水) 10:51:55.29
>>196
ゲーム作ってる
200デフォルトの名無しさん:2012/07/25(水) 10:59:51.42
>>191
回線の帯域が十分だったとして、家庭用PCをモルピグ鯖にした場合、同時接続数はどのくらいいけるものなの?
かなりざっくりでいいんだけど
201デフォルトの名無しさん:2012/07/25(水) 12:19:28.74
32bitプロセスで大きなメモリブロックを扱うときは、
メモリマップドファイルを使う。
メモリマップドファイルは、物理メモリがあまっていれば物理メモリの上に載る。
かつ、使うときだけ論理アドレスにマップできる。
だから、普通に書いてれば、論理アドレスが枯渇することなど無い。
202デフォルトの名無しさん:2012/07/25(水) 14:28:36.94
食い散らかしたらって書いたのに
203デフォルトの名無しさん:2012/07/25(水) 14:42:56.11
食い散らかしてもちゃんとアンマップするから大丈夫。
アンマップせずに論理アドレスにマップしたままにして置いて、
それのせいで断片化してメモリの確保に失敗したっていうんなら、
アプリのつくりがまずいのは置いておいたとしても、
それは単純にメモリ空間が足りてないから失敗したと見るべき。
たとえ断片化の影響がなかったとしても、
もう少し負荷が上がったところで、そのうち止まる。
止まるのが早いか遅いかだけの違いで、
どちらにせよ、アプリのつくりがまずい。
204デフォルトの名無しさん:2012/07/25(水) 14:59:09.68
仮に整理すれば確保できるって状況なら、
メモリ空間が足りないから失敗したのではなく、
断片化で確保できないってことだよね

アプリの作りがマズイのは分かっててちゃんと書いてる
負荷ってのはよく分からん
205デフォルトの名無しさん:2012/07/25(水) 15:10:53.39
違うよ、整理しても確保でき無い状況。
206デフォルトの名無しさん:2012/07/25(水) 15:15:46.74
整理してやっと確保できるほどメモリが圧迫しているのなら、
次の確保か、その次の確保かぐらいで、
本当にメモリが足りなくなってとまる。
メモリの断片化によるメモリ確保の失敗なんか出してしまった時点で、
既に見積もりを誤ってる。
断片化しても動く範囲に、
論理アドレス使用量を控えるべきで、
断片化そのものを気にする必要はない。
×断片化の対策をする
○論理アドレス使用量を抑える
207デフォルトの名無しさん:2012/07/25(水) 15:54:51.14
コンパクションは普通のデータ構造使ってたら困難なんだが
208デフォルトの名無しさん:2012/07/25(水) 16:47:55.08
嫌がらせのように綺麗に断片化してた部分を
修正したら結構容量空いたよ

論理アドレスの使用量を減らすってのもそこそこ大変だよね
ギリギリまで使いたいなら断片化も気にする必要があるってことで
まぁ64bitOS使えば(ry
209デフォルトの名無しさん:2012/07/25(水) 18:31:35.85
仮想メモリと仮想アドレスがごっちゃになってるやついるだろW
210デフォルトの名無しさん:2012/07/25(水) 18:46:43.83
>>194がバカすぎるな。

>>208
64bitOSのメリットって、実質的に断片化しない、大量のファイルのmemmap可、
あたりだと思ってる。
211デフォルトの名無しさん:2012/07/25(水) 18:48:09.33
>>209
もしかして仮想メモリって補助記憶装置(HDD)上に確保されるやつ限定の用語だった?
ちょっと混同してたかも
212デフォルトの名無しさん:2012/07/25(水) 18:52:15.29
>>210
連続した論理アドレスが足りなくなるってどういうことか説明してみろよw
213デフォルトの名無しさん:2012/07/25(水) 18:56:31.09
もう許してやれよ。
214デフォルトの名無しさん:2012/07/25(水) 18:59:41.74
>>212
32bitのシステムで、5GB確保できるならやってみろよ。
215デフォルトの名無しさん:2012/07/25(水) 19:25:02.68
お前ら普段そんなところまで考えながらゲーム作ってんの?
216デフォルトの名無しさん:2012/07/25(水) 19:45:47.22
>>214
それ、メモリが足りなくて確保出来ないって言われるだけじゃ…
217デフォルトの名無しさん:2012/07/25(水) 19:48:51.61
そもそも32ビットのシステムだと、そんなでかい値をmallocに渡す方法がないw
218デフォルトの名無しさん:2012/07/25(水) 21:13:19.63
でも、PAEで物理的には5GBのメモリだってつめるわけで、
これって仮想アドレスが足りないってことだろ。
219デフォルトの名無しさん:2012/07/25(水) 21:22:05.42
お前ら、そろそろ一旦話をまとめてくれ

結局なんなんなんだ
220デフォルトの名無しさん:2012/07/25(水) 21:31:41.25
まるで発散した会議のようだ
221デフォルトの名無しさん:2012/07/25(水) 21:36:44.81
ダイバージェンス
222デフォルトの名無しさん:2012/07/25(水) 22:52:57.89
>>218
そういうのを語りたければAWEの使い方を確認してからにしろよ。
必要な領域をスイッチさせて利用するから足りなくなんてならないんだよ。

仮想メモリに関して思い込みで間違っているのが分かっているんだから、
最低限のことを調べるなりしろよ。
だからいつまでたっても間違ったままなんだよ。
223デフォルトの名無しさん:2012/07/25(水) 23:08:26.20
まとめ

・メモリの断片化が原因でメモリが確保できなくなることは無い
 また、メモリの確保とアドレスの残量は関係ない、
 なぜなら、メモリの確保はブロック単位必要な部分をつなぎ合わせて作るから
 もちろん仮想メモリの容量自体が足りなければ確保は出来ない

・連続した仮想メモリがとれない場合に問題になるのは、
 メモリの確保では無く、確保したメモリをマッピング出来なくなること

・大規模なメモリを扱う場合は、必要な領域をマッピングするように作るのが常道

・PAEを有効にしても必要な部分を下ろしてくるだけなので、馬鹿な組み方をしない限りアドレス不足は関係ない
224デフォルトの名無しさん:2012/07/25(水) 23:09:42.43
>・連続した仮想メモリがとれない場合に問題になるのは、
・連続した仮想メモリのアドレスがとれない場合に問題になるのは、
225デフォルトの名無しさん:2012/07/25(水) 23:21:07.02
・MMOでサーバ側が大量メモリ確保しなければならないとするなら、そのアホな設計から見直せ
226デフォルトの名無しさん:2012/07/25(水) 23:21:36.74
ちなみにPAEが推奨されない理由は、
4GBを超えるメモリ空間にアクセスする時に、
いったん4GB以内の空間へデータを転送して、
別の場所が必要になったら元も場所へ書き戻すという処理が、
切り替える場合に発生するから。

単純な仮想メモリのようにCPUがアドレスだけ切り替えてという訳にはいかない。
227デフォルトの名無しさん:2012/07/25(水) 23:28:36.85
仮想メモリのアドレスが断片化して、
マッピングが出来なくなることがあるってので通じるのかな?
228デフォルトの名無しさん:2012/07/25(水) 23:34:35.30
アドレスはプロセスごとなので、マッピング出来なくなる理由は、
結局そのプログラムを作っている奴が馬鹿なだけなんだよね。
229デフォルトの名無しさん:2012/07/25(水) 23:47:42.27
つまり>>168は読まれてなかったってことか
つかマッピングじゃなくてコミットじゃ?
230 [―{}@{}@{}-] デフォルトの名無しさん:2012/07/25(水) 23:50:30.36
読み直したら物理メモリって限定してるのがいけないのか
231デフォルトの名無しさん:2012/07/25(水) 23:56:37.51
確保されたメモリは、ブロック番号の寄せ集めで連続している必要は無い。
また、マッピングされるまではハンドルが識別子になって管理されている。
そしてマッピングされた時点でアドレスが確定するが、再度マッピングし直すと、
当然アドレスは変わる可能性がある。
232デフォルトの名無しさん:2012/07/25(水) 23:59:03.08
無駄にマッピングしてアドレスを断片化させると、
連続したアドレスがとれなくなるので、大きな領域のマッピングが出来なくなることがある。
もちろんメモリの確保とは全く無関係。
233デフォルトの名無しさん:2012/07/26(木) 00:02:35.94
というか仮想アドレス空間にはマッピングファイル以外もいろいろ入ってるんだけど
234デフォルトの名無しさん:2012/07/26(木) 00:05:45.79
マッピングファイルって何だよ?
235デフォルトの名無しさん:2012/07/26(木) 00:08:49.58
メモリマップドファイルか
236デフォルトの名無しさん:2012/07/26(木) 00:14:01.38
マッピングをメモリマップドファイルと混同しているのなら、
もういい加減、馬鹿の巣へ帰ってと言うしか無い。
237デフォルトの名無しさん:2012/07/26(木) 00:17:37.10
いやそっちが混同してるのかと思って
というかやっぱりコミットのことだよね?
238デフォルトの名無しさん:2012/07/26(木) 00:23:53.83
結局マッピングファイルって何だったの?
239デフォルトの名無しさん:2012/07/26(木) 00:30:38.77
3レス前に遡って見てください
240デフォルトの名無しさん:2012/07/26(木) 00:38:51.48
コミットは物理メモリに確実に割り当てられている状態。
マッピングでアドレスが割り当てられたとしてもコミットされているとは限らない。
なぜならマッピングによってアドレスが割り当てられた場所がコミットされっぱなしになったら、
他のプロセスがメモリを必要としたときにスワップできなくなる。

この説明で理解できた?
241デフォルトの名無しさん:2012/07/26(木) 00:41:35.64
>>239
変な俺俺用語を使うはやめろ。
242デフォルトの名無しさん:2012/07/26(木) 00:55:41.12
>>240
コミットしててもスワップは発生するでしょ?

つか予約とコミットの2段階あるからコミットは不適切だった…
ページ領域の割り当てあたりかな
243デフォルトの名無しさん:2012/07/26(木) 05:05:36.34
仮想アドレス断片化対策は必要。
DMAやるときは物理アドレスで連続している方が望ましい。
なんでこれがわからん奴がいるの?
244デフォルトの名無しさん:2012/07/26(木) 07:23:33.84
>>242
スワップされたらコミットは解除される。
で、コミット自体はアドレスの割り振りとは何の関係も無い。
知識が滅茶苦茶で七転八倒するぐらいなら、きちんと調べてからにしろ。

それから何度も言っているが、メモリ確保のため予約された時点では、
プロセス上のアドレスは決定されていないので、
アドレスの断片化とは関係しない。
245デフォルトの名無しさん:2012/07/26(木) 07:24:43.49
>>243
> DMAやるときは物理アドレスで連続している方が望ましい。

物理アドレスで連続するようにプログラマが行うべきことって愚弟的に何なの?
そんなことできるの?
246デフォルトの名無しさん:2012/07/26(木) 07:29:27.46
>>243
仮想アドレスの断片化していても物理アドレスが断片化しているとは限らない。
逆もしかり。
物理アドレスなんて、スワップが発生したら頻繁に入れ替わるから、
単独プロセスがユーザーモードでどうこう出来る問題じゃ無い。
247デフォルトの名無しさん:2012/07/26(木) 08:20:40.28
仮想メモリとか物理アドレスとか、OSのメモリ管理のレイヤの言葉を必死に使ってるから、
話がおかしくなっている。

ユーザランドの話しかしてないのに。

単にmallocで確保するメモリのフラグメンテーションの話、で終了。
248デフォルトの名無しさん:2012/07/26(木) 08:25:22.21
>>244
他のプロセスがメモリ使ってコミット解除されたら非常にマズいだろ…
スワップ発生したらプロセス上のアドレスが未定になるのか?
スワップアウトって、物理メモリから補助記憶装置にコピーされて、
コミット先(この言い方が正しいかどうか分からない)が切り替わることだろ?
249デフォルトの名無しさん:2012/07/26(木) 08:29:21.77
ごめんなさいちょっと寝ぼけてました
ページイン・ページアウトをコミットとコミット解除って言ってただけか
250デフォルトの名無しさん:2012/07/26(木) 08:33:52.79
>>248
コミットが解除されても、
対象アドレスにアクセスがあった時点で切り替わるんだよ。
物理アドレスとの対応関係が外れるだけで、
プロセス空間上のアドレス自体は未定義にならない。
だからプログラム側から見たら、何が起こっているのか知ることはないし知る必要も無い。

で、これが大量発生することをスラッシングという。
251デフォルトの名無しさん:2012/07/26(木) 08:42:03.51
>>250
うんごめん、寝ぼけてた
スラッシングってページインとページアウトが頻発する状態のことだよね

というか冷静に読み返してみると仮想アドレスの断片化を説明してたつもりだけどあんまりそうは見えないし
相手はずっと物理アドレスの断片化の話しかしてないな…
252デフォルトの名無しさん:2012/07/26(木) 08:45:25.56
数スレッド前の変な奴を除くと、
物理アドレスの断片化の話ってどれ?
253デフォルトの名無しさん:2012/07/26(木) 08:47:02.79
今は論理アドレスの断片化の話をしているので、
論理アドレスの予約と、そこへ物理領域を宛がうコミットの、
二段階確保の話は関係ないです。

メモリマップドファイルで物理領域確保。
使うときだけ仮想アドレスにマッピングする。
今はこっちの話です。
メモリマップドファイルを使うと、たとえプロセスが32bitであっても、
OSが64bitならば、搭載しているメモリを目いっぱい使うことが出来ます。
仮想アドレスの枯渇を気にするほどメモリを使う32bitアプリには必須の技術です。

論理アドレスの断片化が気になるほどメモリを使い込むアプリであれば、
メモリマップドファイルを使うのが普通です。
その意味でメモリの断片化は気にする必要ありません。
そのようなアプリはメモリマップドファイルを使うのが常識ですから。
254デフォルトの名無しさん:2012/07/26(木) 08:49:06.51
物理アドレスという言葉を使ってはいるけど、実際のところ全然物理アドレスじゃない
主張をしていた奴が一人いる、という感じ。
255デフォルトの名無しさん:2012/07/26(木) 08:51:34.65
>>254
だから具体的にどれ?
256デフォルトの名無しさん:2012/07/26(木) 08:53:31.13
> メモリマップドファイルを使うと、たとえプロセスが32bitであっても、
> OSが64bitならば、搭載しているメモリを目いっぱい使うことが出来ます。

OSが32bitだったら、搭載しているメモリを目いっぱい使うことが、なぜできないの?

> 仮想アドレスの枯渇を気にするほどメモリを使う32bitアプリには必須

よくわかんないんだけど。メモリマップドファイルは一義的には、ファイルIOを
最適化するというか、そういう技術だよね?

> 論理アドレスの断片化が気になるほどメモリを使い込むアプリであれば、
> メモリマップドファイルを使うのが普通です。

因果関係が全く意味不明。
257デフォルトの名無しさん:2012/07/26(木) 08:56:37.20
>>250
なにのOSの話かは知りませんが、Win32であれば、
論理アドレスに対して物理領域をコミットしたなら、
それが勝手に解除されたりすることはありません。
ページアウトしてもコミットされたままです。

http://msdn.microsoft.com/ja-jp/library/cc430204.aspx
>MEM_COMMIT
>メモリ内またはディスクのページングファイル内に、
>指定されたページ領域に相当する物理的な記憶域を割り当てます。

上記にあるようにコミット先は、ディスクのページングファイルでもかまいません。
つまり、ページアウト中もコミット状態です。

そして今の流れは論理アドレスの枯渇の話題なので、これらの話は関係ありません。
論理アドレスの枯渇対策には、メモリマップドファイルを使うことが有効です。
258デフォルトの名無しさん:2012/07/26(木) 09:11:58.16
>>252
>>164は仮想アドレスの断片化の話してて
>>165は物理アドレスの断片化の話をしてる
物理アドレスって言い方が正しいかどうか分からない

つか>>158が仮想アドレス側の話だったのに、「メモリ」って書いたのが
そもそも間違いだったのか。物理メモリの話に見えるよね
259デフォルトの名無しさん:2012/07/26(木) 09:20:25.04
>>164 の書き込みは、
元々「MMUがあるから断片化対策は要らない」という主張に対する反論だし、
「プロセスで使える2GB」というキーワードも盛り込んであるので、
普通に読めば、仮想アドレスの断片化の話をしていると直ぐ分かる。
読み落とすのは余程のバカ。
260デフォルトの名無しさん:2012/07/26(木) 09:29:44.77
Aさんが書いてるのかAさんの立場のつもりでBさんCさんetcが書いたレスなのか判別できん。
「○レス目と○レス目がこういう主張だったから」といってもどれが誰の主張やら。
261デフォルトの名無しさん:2012/07/26(木) 09:33:08.73
>>259
いや>>168で「マッピング」の意味を確認してるのに
>>169の「確保」の意味を読み違えてここまで引っ張った私がバカです…
改めて読み返してみるとひどいな

>>260
IDが出ない板だからしょうがない
262デフォルトの名無しさん:2012/07/26(木) 09:34:20.47
こんなにだらだら続けるなら、途中からトリップ付けとけよ
263デフォルトの名無しさん:2012/07/26(木) 12:42:40.69
じゃあ、一度なかったことにして、初めから議論しようか
264デフォルトの名無しさん:2012/07/26(木) 13:52:54.29
ゲームベースで議論しろよ
こういうシステムを実装しようとしたときにメモリの大量確保が必要になってどうかとか
265デフォルトの名無しさん:2012/07/26(木) 13:57:32.73
だってそうだろ?
実際ゲーム作ってて大量にメモリ確保しようとしてそこで問題が発生したなら
大量にメモリを確保する以外のやり方も議論するのが筋だろ
要はそのシステムを実装できればいいんだからさ

だいたいゲームでそんなに何GBも連続したメモリ領域を確保することなんてないし
266デフォルトの名無しさん:2012/07/26(木) 14:12:02.85
話題を変えようか。
ある程度のラグがある状態でのネット対戦のFPSでの、弾の当たり判定の話でもする?

それとも、ロジックフレームレート固定で、表示フレームレートを現在の
ディスプレイの更新周波数に合わせて垂直同期をとるときの話にする?
ロジックフレームレート60Hzで表示フレームレート72Hzの場合とか困るでしょ。
最近は液晶が普及したので60Hzなことが多くてあまり問題にならないけどね。

それともグローバルイルミネーションの話が良いかね。

マップ状況に合わせたリアルタイム残響音とかも面白そうだね。

Zソート無しで半透明処理を実現するA-Bufferの話題とかも。
結局DX11に盛り込まれなかったんだっけか。
267デフォルトの名無しさん:2012/07/26(木) 14:20:54.70
またフレームレート厨か
それ何レスか前に散々議論されたけど
結局どっちも非固定が良いって話になったんじゃなかったっけ?
再現性を必要とするときだけロジックfpsを固定するって話だったような

それより浮動小数か固定小数かの話のほうがいい
モルピグで浮動小数で管理してて、そのデータを蔵から鯖に送ったら微妙に数値が変わってしまう現象とか
268デフォルトの名無しさん:2012/07/26(木) 14:45:47.37
単にインテルFPUの80ビット型だったとかじゃねーの?
269デフォルトの名無しさん:2012/07/26(木) 15:27:11.91
>>268
鯖蔵ともAMDのCPU
開発言語はC++
270デフォルトの名無しさん:2012/07/26(木) 15:36:33.96
>>267
誤差がでるとマズい場所は整数で、
大丈夫な場所はちょっとくらい数値が変わっても気にしない
271デフォルトの名無しさん:2012/07/26(木) 17:23:41.98
3Dキャラの空間での位置情報はどうすんだ?
整数にするわけにもいかないし誤差が出ると困るだろ出る
272デフォルトの名無しさん:2012/07/26(木) 17:36:19.07
>>271
どうせ他のユーザの移動補完とかクライアントでやらなきゃいけないんだから
誤差なんか気にしない
サーバ側の位置情報もタイルごとの大雑把な整数とかでいいんじゃないかな
273デフォルトの名無しさん:2012/07/26(木) 19:39:25.24
モルピグにもよるけど陣形で効果が変わるものだと誤差はやばいんじゃないか?
274デフォルトの名無しさん:2012/07/26(木) 20:43:30.40
それぞれのクライアントで判定するなら誤差があるとマズいけど、
陣形の判定はリーダーのクライアントで判定して結果をサーバに送るなり
サーバで計算するなりでいいんじゃ
275デフォルトの名無しさん:2012/07/26(木) 20:59:52.14
ところでモルピグって呼び方はどこ発祥なの?
276デフォルトの名無しさん:2012/07/26(木) 21:22:35.46
>>275
どこって・・・このスレ。
海外(英語圏)では「ッモルピグ」って読むのが普通なんだけど、
最初の「ッ」の発音が日本人には難しいということで
このスレでは「ッ」を省略して「モルピグ」って言うようになった。
だからモルピグはこのスレ発祥だけど、もとのッモルピグとあまり変わらないといえば変わらない。
277デフォルトの名無しさん:2012/07/27(金) 00:45:23.35
なんでここってモルピグの話題がお気に入りなんだろ
モルピグ自体ほぼ終了してるのに
278デフォルトの名無しさん:2012/07/27(金) 00:48:09.57
PCモルピグは終わりだけど
もう数年後はスマホの性能も上がってるから
スマホモルピグの時代がくるよ
279デフォルトの名無しさん:2012/07/27(金) 01:03:23.23
モルピグが動くくらいの性能はすでにあるし、一部でモルピグも出てる気がするけど
スマホに関しては開発予算が少ないからあまり流行らないと思うよ
280デフォルトの名無しさん:2012/07/27(金) 03:10:28.37
開発の予算が少ないのは今だけじゃないかなあ
ファイナルファンタジーだって最初から億単位で金かけて作ってたわけじゃないし

スマホでモルピグって出てたっけ?
調べてないからアレなんだが、まだMORPGしか出てなかった気がする
281デフォルトの名無しさん:2012/07/27(金) 07:17:11.29
MMORPG と MORPG の発音の違いが分らん
282デフォルトの名無しさん:2012/07/27(金) 08:50:58.73
>>280
ファイナルファンタジーは最初から6000円とかしてたけど
スマホは高くても2000円くらいまでだからなかなか比べられないような
所持数が多いっていっても、ゲームを遊びたくて持ってるユーザばかりじゃないし

http://app.famitsu.com/20120522_65777/
これなんかはMMOっぽい
283デフォルトの名無しさん:2012/07/27(金) 12:18:21.17
> 鯖蔵ともAMDのCPU

FPUの仕様がAMDでは違うという話は初耳です
284デフォルトの名無しさん:2012/07/28(土) 01:08:55.14
たまにあるけどBIOSとかが頑張ってる場合もある
285デフォルトの名無しさん:2012/07/28(土) 01:15:40.49
拡張命令を使えば計算結果は変わるが、FPUは同一の動作だよ。
違っていたら使い物にならない。
それからBIOSががんばるとか意味不明な知ったかはやめろ。
286デフォルトの名無しさん:2012/07/28(土) 01:26:50.39
横レスですが...
ieeeの仕様上は確か、内部計算時の精度は上げてokだから
同一の値は同一の値として扱えるけど、同一の値を使った計算結果自体の誤差はありえるよね?
287デフォルトの名無しさん:2012/07/28(土) 01:36:01.72
あとvcとgccってだけで変わるよね?

ぶっちゃけある程度ファジーな扱いでいいと思うけど
288デフォルトの名無しさん:2012/07/28(土) 02:06:25.72
>>285
CPUのバグとかはマイクロコード、ファーム、バイオスでカバーするんだよ。
289デフォルトの名無しさん:2012/07/28(土) 03:53:34.68
え?お前らゲーム作るときBIOSのことまで考えながら作ってんの?
290デフォルトの名無しさん:2012/07/28(土) 05:44:13.82
>>288
意味不明な知ったかはやめろ。

>>286
たとえばgccだと-ffloat-storeというオプションだけど、全ての途中経過を強制的に
倍精度(64ビット浮動小数点)にする、というのがあったりするが、途中の計算が
80ビットでおこなわれたものとで違いが出る、ということはありうる。
291デフォルトの名無しさん:2012/07/28(土) 09:04:55.07
292デフォルトの名無しさん:2012/07/28(土) 09:12:21.33
そもそもメーカーごとでFPUの仕様は違わないという話をしているときに、
なんでCPUのバグの話をし出すんだよ。
これだらアスペは手に負えない。
293デフォルトの名無しさん:2012/07/28(土) 09:33:47.84
浮動小数の数値が変わってしまう話題にレスしてたんだろうね
意味不明な知ったかじゃなくてKYだったってことだね
294デフォルトの名無しさん:2012/07/28(土) 22:05:13.86
はぁ…
295uy:2012/07/30(月) 12:36:05.14
ハードコーディング以外をやってる奴に聞きたいんだけど

メニューとか、選択式のテキストの表示ってどういう風に処理まとめてる?
縦メニュー、横メニュー、
ブロック式メニューとか色々あるけど、正直そんなものをtypeで分けてたらとても、まとめられているとは言えない
フォーカス変数作らずに当たり判定で選択式に作ればある程度はまとまる事はわかってるが
それでやってる奴とかいるの?
296デフォルトの名無しさん:2012/07/31(火) 03:01:35.39
VSとかについてるダイアログエディタみたいなのをいちいち作ってる素人はほとんど存在しないだろうな。

ゲーム屋でも結構老舗のでかいとこじゃないとそういうのはない。
297デフォルトの名無しさん:2012/07/31(火) 06:10:04.59
uyが言ってるメニューってOSが提供してるやつじゃなくて
ゲーム内のGUIの話だろ
298デフォルトの名無しさん:2012/07/31(火) 10:50:09.86
DirectXは標準でUIを提供していたはずだから、それを使えばよい。
http://msdn.microsoft.com/ja-jp/library/bb204884%28v=vs.85%29.aspx
299uy:2012/07/31(火) 10:58:38.41
>>297
そう

OSっぽいUIのメニューじゃなくてこういうののこと
http://stat001.ameba.jp/user_images/1f/96/10105752346.jpg

こういうのを作る時のソースコードがいつになっても俺はコピペになって困ってます
で、フォーカスじゃなくて裏方で当たり判定みたいな処理やって選択をするなら↓ こういう形のメニューでも多少作りやすくなんのかなって話
http://cdn-ak.f.st-hatena.com/images/fotolife/B/BBBold/20090222/20090222134041.jpg
300デフォルトの名無しさん:2012/07/31(火) 18:18:53.77
>>299
カーソルなのかマウスなのかそれとも両方なのか
マウスなら当たり判定周りは共通化するな
301u:2012/07/31(火) 23:05:58.45
カーソルを裏方であたり判定オブジェクト

もういいや
302デフォルトの名無しさん:2012/08/01(水) 00:15:28.94
なにがどう提供してもUIはUIだが。

ツールで作成したいのか、たんに作成する手法を聞きたいのか。
303デフォルトの名無しさん:2012/08/01(水) 01:14:46.34
ぶひ
304デフォルトの名無しさん:2012/08/01(水) 01:39:29.38
〜なのか、〜なのか、
って2つにわけて喋る奴は大抵アホ
305デフォルトの名無しさん:2012/08/01(水) 12:48:51.60
じゃあ、どう言えばいいの?
306デフォルトの名無しさん:2012/08/01(水) 14:44:44.02
>>304は釣りなのか、それとも真性のバカなのか
307デフォルトの名無しさん:2012/08/01(水) 16:44:38.28
2つに分けて喋る奴は大抵アホ。
纏めて釣りバカと言え。
308デフォルトの名無しさん:2012/08/02(木) 13:17:43.50
だれうま
309デフォルトの名無しさん:2012/08/02(木) 23:08:22.28
最新のゲームループ論で秀逸なドキュメント教えて
310デフォルトの名無しさん:2012/08/03(金) 00:27:27.42
2DのゼルダみたいなX座標Y座標駆けまわるタイプのゲームのジャンプ処理解る猛者おるかー?
311デフォルトの名無しさん:2012/08/03(金) 05:16:23.82
ジャンプしてるって状態をステータスで持たせればいいだけじゃねーの
312デフォルトの名無しさん:2012/08/03(金) 06:29:00.60
>>310
ゼルダがどうやってるかは知らないけど、
高さ情報を持たせるのが一番楽なんじゃないか
313デフォルトの名無しさん:2012/08/03(金) 16:18:36.21
着地地点が上手くいかない。
2D横スクロールアクションみたいにX座標のみ移動って場合は問題ないけど、そこにY座標が絡んだ場合の着地地点の描画で悩んでるわ。
今考えてるのが、飛ぶ直前のY座標を別に保存しておいて、ジャンプ中移動した分を別のY座標カウントとして取って、
それを以前に保存したY表に・・

ってここまで書きながらプログラム作ってたら出来たわw
>>311-312
ありがとやでw
314デフォルトの名無しさん:2012/08/03(金) 17:10:04.38
頭の良い人たちは、ゲームを作らなくなってしまったんだ。
315デフォルトの名無しさん:2012/08/03(金) 19:08:02.69
頭の良い人たちはゲームを作らせる
316uy:2012/08/03(金) 20:45:24.65
アクションゲーは作らないけど
カクゲーはいずれ作らなければならない
つうかカクゲーって一番時間かかるのが絶対デバッグだよな
無限コンボ探し、バランス調整
一人で作れるのかこれ
俺様は忙しい
317デフォルトの名無しさん:2012/08/03(金) 22:21:38.48
好きで作るのであって、頭の善し悪しで作ろうとか思い立ったわけじゃないし。
318デフォルトの名無しさん:2012/08/03(金) 22:34:14.90
他人に作らせてもいいものができるんならそいつは頭いい
319デフォルトの名無しさん:2012/08/03(金) 23:35:05.09
頭の良い人は、無駄なことに時間を費やさないから頭が良い。
320デフォルトの名無しさん:2012/08/03(金) 23:41:40.55
>>318
たとえば L5 の日野は頭がよかったんだな
321デフォルトの名無しさん:2012/08/05(日) 01:43:47.57
>>316
無限コンボ探しはExcel使ってフレーム単位でチェックかけるようにすると確実だぞ
その表作るのがかなりしんどいけど
322デフォルトの名無しさん:2012/08/05(日) 03:17:11.39
プログラムスレでなにいってんだか。
323デフォルトの名無しさん:2012/08/05(日) 18:50:44.37
ああいうのってファジングツールとか使うんじゃないの?
人間がひたすら時間をかけるのは、なんていうか労力がかかりすぎだろう
324デフォルトの名無しさん:2012/08/05(日) 21:05:42.07
そこまでやってたら、最近の格闘ゲーで無限コンボでまくりとかあるわけねぇw
325デフォルトの名無しさん:2012/08/05(日) 21:39:43.19
無限コンボがあり得ない仕様にするのが一番楽なんだろうけど
それじゃゲームとして面白くないんだろうな
326デフォルトの名無しさん:2012/08/06(月) 04:40:20.35
無限コンボ対策か知らないけど、ダメージ補正と浮き分量の減少は多くの格闘ゲームで採用されてるね
それに加えてフレームで制御

でもフレーム重視だとバーチャファイターみたいなフレームゲーになるからな
327デフォルトの名無しさん:2012/08/06(月) 17:12:43.79
バーチャファイターは全技のフレーム知らないと戦えない。
初心者が適当に技出しても運ですら勝てない。
鉄拳は暴れてれば運で勝てる。
馬鹿でも勝てるクソゲー。
328デフォルトの名無しさん:2012/08/07(火) 04:06:22.66
そういえば昔、格ゲーのコマンド処理の話で
コマンド入力はどう処理するのが一番って結論になったんだっけ?
329デフォルトの名無しさん:2012/08/07(火) 08:19:06.34
状態機械、もっと言うと正規表現みたいに
コマンド入力を受けるオートマトンを作るって話があったような
330デフォルトの名無しさん:2012/08/07(火) 22:39:06.32
いまなら処理が早いから判りやすくて誤動作置きにくく、任意の組み合わせを設定できるようなのがいいんじゃね。
1フレームに100パターンもチェックしないんだろ?
331デフォルトの名無しさん:2012/08/07(火) 23:29:19.86
>>330
> いまなら処理が早いから判りやすくて誤動作置きにくく、任意の組み合わせを設定できるようなの

それがまさに状態機械だと思うが。

君の言う3つの条件をすべて満たす他の実装方法があるなら知りたい。
332デフォルトの名無しさん:2012/08/07(火) 23:39:12.86
入力履歴にたいして全パターンマッチングするだけでいいんじゃね。
入力状態とその状態が継続したフレーム数が規定値範囲かどうかをテーブルにしとく。

いまじゃ0.1%の負荷にもならんと思う。
333デフォルトの名無しさん:2012/08/08(水) 12:35:17.53
[下]-[右]-[A] というコマンド技が登録されているとして、
プレーヤーが [下]-[右]-[B]-[A] と入力したときに、
最後の [A] でちゃんと技を発動させるには、
単純に入力履歴に対して全パターンマッチングするだけでは駄目だと思うんだ。
334デフォルトの名無しさん:2012/08/08(水) 21:04:57.93
入力猶予フレームを決めてその間の入力を取り出して
正規表現風に書けば /下.*右.*A/ がそれとマッチしたら発動、ではダメなのかな
335デフォルトの名無しさん:2012/08/08(水) 21:41:01.79
/下.*右.*A/ がそれとマッチするかどうかを
状態機械を使わずに調べるにはどうする?
336デフォルトの名無しさん:2012/08/09(木) 00:56:25.56
下]-[右]-[B]-[A]

これってマッチしちゃっていいもんなのか?

両方を同じワザに登録しとけば。
337デフォルトの名無しさん:2012/08/09(木) 07:12:46.93
>>336
B攻撃キャンセルA技を出したいときに、
[B]-[下]-[右]-[A] と入力するプレーヤーもいれば、
[下]-[右]-[B]-[A] と入力するプレーヤーもいる。

最後の技発動ボタンまでの方向キー入力シーケンスが比較的長い技の場合は、
なおさら技コマンドの入力途中に別の攻撃ボタンを混ぜることはよくある。
338デフォルトの名無しさん:2012/08/09(木) 10:10:17.57
>>337
バグじゃね?
339デフォルトの名無しさん:2012/08/09(木) 10:31:26.24
>>338
最初はバグだったのかも知れんが、今はもう「仕込み」と呼ばれて
格ゲープレイヤーの間ではテクニックとして認識されちゃってる

格ゲープレイヤーの間で掲示板のような文字ベースの会話をする場合
ナナメ入力を書きやすいように方向キーをテンキーに見立てて書くことが多いのだが
例えば…

6Bキャンセル236236C

この場合、6Bのキャンセル可能なフレームが短く
236236Cの入力が間に合わないことが予想されるので

236B236C

と入力することで成立させるとか普通に行われるよ
340デフォルトの名無しさん:2012/08/09(木) 11:34:39.18
なるほど、これではマニアだけのものになるわ。
341デフォルトの名無しさん:2012/08/09(木) 15:48:42.96
矢印とそれ以外を別々にキューかスタックに積んでますって感じだな
342デフォルトの名無しさん:2012/08/09(木) 15:56:38.70
何言ってるんだろう
343uy:2012/08/09(木) 20:12:08.03
ボタンと矢印を別々に保持とか!!!
すげーな、ROMってたけど、はじめてこのスレが役に立ったと思った

ちなみに俺様はキーボードでもカクゲーが出来る
どちらかといえばそれでもやっぱりコントローラーのほうが戦闘力+1くらいだけど
相手によってはキーボードの方が良いケースもある
344uy:2012/08/09(木) 22:20:10.43
ちょっと夕飯食いながら適当に作ってみた
http://www1.axfc.net/uploader/He/so/370247

適当に作ったら↓↓Xのとかのこと考えてなかったわ
345デフォルトの名無しさん:2012/08/09(木) 22:22:11.09
格ゲーの十字キーの入力を数字で表したもの

7 8 9
4 (5) 6
1 2 3

(5)はニュートラルに戻す意味で使われることがある
はどうけんなら236P

ちなみに下段蹴りからのはどうけんは2K36Pのように入力しても出る
346デフォルトの名無しさん:2012/08/09(木) 23:56:13.29
>>339

だからマッチングして「良い」ものと「ダメ」なものと「無視」していいものを組み合わせたテーブル作って
総当りでいいじゃん。

まあ、実際の処理はどうでもいいけどな。 全部if文で組んだって作れるよ。
347デフォルトの名無しさん:2012/08/10(金) 01:03:44.84
そんなことが出来るとは知らんかったわ〜
明日ゲーセン行ってみようかなw
348デフォルトの名無しさん:2012/08/10(金) 02:46:59.56
>>347
最近はどうか知らんがストZERO3の頃はそれで波動拳→キャンセル→真空波動拳とかできたぞ
236P236Pでできた
最初の波動拳が当たったら被ダメモーションが切れる前に真空波動拳が当たる
当然、波動拳連発しようとしてこれに化けてしまうこともある
化けるってことはシステムに問題あるのかプログラムに問題があるのか
349デフォルトの名無しさん:2012/08/10(金) 07:20:29.90
>>346
言っていることがまだよく分からんな。
そのマッチングして「良い」ものと「ダメ」なものと「無視」していいものは、
今どんなコマンドを入力中かという文脈によって変わるのではないのか?
同じ入力が文脈によって解釈が変わるという時点で「状態機械=オートマトン」だと思うが。

たとえば、スト2のリュウはどんなテーブルを作ればいい?
350デフォルトの名無しさん:2012/08/10(金) 07:24:21.76
>>349
状態機械=オートマトンじゃなかったな。

同じ入力が文脈によって解釈が変わることをテーブルで判断してるだけのことで、
やっていることは本質的には有限状態機械=有限オートマトンだと思う。
351uy:2012/08/10(金) 08:39:53.51
つうかちょっと作ってみてわかったけど
万能に作るのは難しいよこれ
カクゲーごとに最低限の実装でいい気がしてきた
↓→A
↓↓A
↓(ゲージ貯め)→A
とかを
特にゲージ貯めとかを同一スタックで表現するのはむずいような


←↓→A という技と
 ↓→A  という技がある場合とか

←↓→A→AAA でさらにコンボになる場合とか どうするのって感じ

つうか俺がやってきたカクゲーは

→A→AAA ってコンボがあったときに
→A→AABA とかって、間違ってBを入力しちゃってても、A連打でごまかせたような気がする
352デフォルトの名無しさん:2012/08/10(金) 09:09:57.61
レベル低過ぎて吹いたw
353uy:2012/08/10(金) 09:44:00.07
>>352
まだ昨日飯くいながら30分しか思考していないからレベル低いとか言われてもなんとも思わない
じゃあ今日中にレベルの低くないソースあげといてくれ
出来ればrubyで
354uy:2012/08/10(金) 09:47:25.96
そもそもゲームアルゴリズムなんて時間かければ誰でも実装可
どれだけ完璧に組むかどうかって話だろ
1作しかそのジャンルのゲームを作らないならこだわったシステムを作るよりも
ハードコーディングが全体効率でみれば一番速い
355デフォルトの名無しさん:2012/08/10(金) 09:55:49.96
入力の履歴をとっておいて、
毎フレーム技の数だけ正規検索するだけだろ。
バカすぎ。
356デフォルトの名無しさん:2012/08/10(金) 10:01:39.38
実装は時間をかければできるけど、アルゴリズムを考えるのは行き詰まることもある
まぁ趣味ならハードコーディングしといて2作目作るときにリファクタリングが賢いと思うけど

ところでゲームにrubyってどうなの
ツールにしか使ったこと無い
357デフォルトの名無しさん:2012/08/10(金) 10:07:04.01
      入力2   入力3   入力6    入力P
状態1  状態2へ
状態2         状態3へ
状態3                状態4へ
状態4                        波動拳

有限オートマトンを教科書どおりにやろうとすると上の表をif文とかで実装することになるが
なんかめんどくさそう。
358デフォルトの名無しさん:2012/08/10(金) 10:19:28.85
正規表現のライブラリ使えば?
359uy:2012/08/10(金) 10:23:42.97
>>355
「だけ」で済むわけがないからきいてんのにアホなの?
最低でも5手くらい先は読んでからレスしてもらえませんか?

>>356
速度遅い rubyで作るのはまだ趣味の領域
ボードゲー・パズルゲーとかならいい選択肢だと思うけど
オブジェクトいっぱいばら撒くゲームは作ろうとすると速度問題で死ねる
360デフォルトの名無しさん:2012/08/10(金) 10:32:14.48
フレームの開始シグナルと、キーの押し下げと、キーの押上と、その他条件シグナルを、
順にバッファにためといて、正規表現でマッチングとるだけ。基本これだけでいける。
361uy:2012/08/10(金) 10:44:50.36
押されたキーのみ保存するならこんな感じだろうけど
"22222222222333333333333666666666PPPPPPPPP" =~ /2.*3.*6.*P/

キーごとに押し下げ、押し上げを保存って、
どういうデータになっているのか想像つかない

ていうか実際は、立ち上がり中とか、座り途中とか、キー押された長さが一定未満、一定以上とかのデータも
必要になって、>>339 , とか「→A→AAA」「→A→AABA」 のあたりも仕様に入れるなら
この正規表現の中にゲーム仕様がはいることになって
後々どえらい事になりそうな気配があるんだけど?
362デフォルトの名無しさん:2012/08/10(金) 10:52:50.66
格ゲーは詳しくないんだけど、(ガイルみたいな溜め技以外で)キーの押された長さが一定未満だと技がでないとかってあんの?
363デフォルトの名無しさん:2012/08/10(金) 10:58:25.35
ボタンのゴムやバネの反応が悪いと→→を入力したつもりがボタンを離す動作が反映されずに→になることはあるかもね。
364uy:2012/08/10(金) 10:59:37.74
ソウルキャリバーだと防御不能技とかがある
押されたのが2秒くらいだと最大威力で、防御不可能
貯めが足らない状況でボタン離して発動すると威力弱い + 防御可能 とか

てか正規表現でよさそうだった
仕様固めて、定数から正規表現リテラルの自動生成でいけるか
365デフォルトの名無しさん:2012/08/10(金) 11:04:34.72
>>364
特定の技の最中だけ一定未満の入力を無かったことにするとかは面倒そうだけど、
押した長さで威力が変わるとかは組み込みやすそう
(発動後に長さを計測するだけだよね)
366デフォルトの名無しさん:2012/08/10(金) 11:15:23.44
>>361
>キー押された長さが一定未満、一定以上とかのデータも
フレーム開始シグナルを入力バッファに入れておけば、
それを数えることで何フレームキーが押されていたか判断できる。

>>>339 , とか「→A→AAA」「→A→AABA」 のあたりも仕様に入れるなら
それは勝手にそうなる。

>この正規表現の中にゲーム仕様がはいることになって
if文とかでごちゃごちゃやるよりマシ。はるかに調節しやすい。
367デフォルトの名無しさん:2012/08/10(金) 11:18:18.37
>押されたキーのみ保存するならこんな感じだろうけど
>"22222222222333333333333666666666PPPPPPPPP" =~ /2.*3.*6.*P/

>キーごとに押し下げ、押し上げを保存って、
>どういうデータになっているのか想像つかない

そんなカスみたいな方式だと、連打しているのか押しっぱなしにしているのか判断できないから駄目。
キーの押し下げとキーの押し上げは別々のイベントとして記録すること。
Win32もDirectXもそうなってる。
368uy:2012/08/10(金) 11:44:22.22
で、どういうデータ構造で保存してどんな正規表現かくつもりでいるわけ?

流石に1キーごとに保存してったら正規表現がかなりやばいことになるけど

369uy:2012/08/10(金) 11:46:13.57
>>366
は?
勝手にそうなるわけねーだろ

正規表現 だろ?

なんで正規表現が任意のデータ以外にマッチするんだよ
370デフォルトの名無しさん:2012/08/10(金) 11:54:19.67
むしろ正規表現だからそうなる。
間にコマンドのパターンに関係ないゴミが入っていても読み飛ばしてくれる。
371uy:2012/08/10(金) 11:55:50.75
はあ、、、


初心者死ね
372デフォルトの名無しさん:2012/08/10(金) 12:03:57.26
出来るんだから仕方ない。
373uy:2012/08/10(金) 12:22:11.63
おまえがやろうとしてるデータ構造と正規表現かけ
374デフォルトの名無しさん:2012/08/10(金) 12:35:33.80
正規表現だと、設定時に「間にゴミが入っていても読み飛す指示」が必要で、非直感的。
375uy:2012/08/10(金) 12:51:29.42
正規表現のみがありえないんだろ

正規表現でまず第一条件大ざっぱに判定してからifでいい気がする

理解してれば一行で一瞬でかけるはずのコードすらかけないゴミカス知ったか初心者に話しかけられてモチベが下がった
帰る
376デフォルトの名無しさん:2012/08/10(金) 12:58:18.84
>>374
コードで書くよりマシだろ。
377uy:2012/08/10(金) 13:26:27.20
入力データ追加時に無作為に追加しまくって
あとから正規表現頼りで解読しましょうみたいな設計が
完璧なわけはないからね
もっと良い手段はあるだろう
378uy:2012/08/10(金) 13:30:02.14
入力データというよりキャラの状態推移させていくほうがよくないかね
ゴミも含まれるデータを生成しちゃってそれを正規表現でなんとかするっていうのはちょっと力押しすぎる
379デフォルトの名無しさん:2012/08/10(金) 13:58:21.41
>>357
みんなif文でしのいでる
380デフォルトの名無しさん:2012/08/10(金) 14:17:10.88
入力の方向と次のボタン入力受付までの情報をデータベースとしてメモリ上に持っておけば良いのではないか

@↓→P
A←↓→K
B↓→←K

ってコマンドがあって、各キーの入力の間の許容時間を今回は単純のために一律12フレームとする
データベースに入れておくデータとしてはこんな感じ

@↓12→12P
A←12↓12→12K
B↓12→12←12K

↓が押された瞬間に@とBに絞りこまれ、次に12フレ以内に→が押されたら@とBの絞りこみを維持し、
次の12フレ以内に・・・

と思ったらだめだわこれ
381デフォルトの名無しさん:2012/08/10(金) 15:21:01.57
>>357
格ゲーはよく分からんが、正規表現ならDFAになるはず
オートマトンのテーブルを手書きするのは作業効率も保守性も悪い

たぶん入力許容時間とかの扱いも必要なのだろうから、
単純なDFAにはならないだろう、と考えると
専用のステートマシンコンパイラを用意するのが王道なんだろうね
382デフォルトの名無しさん:2012/08/10(金) 15:28:13.11
だろうね
383uy:2012/08/10(金) 15:52:10.91
試しに正規表現で書いてみたら全然うごかなすぎてワロタ
書けるっていった奴出てきてコード見せろと

「↓」「→」「P」 を入力したとしても
実際のデータは無作為に保存していけば
22222222626262626266666666p6p6p6p6p

になるよ
ここから解読するのは、なかなか至難の業だろ
2626262626はゴミデータとして捨てるとしても、それと同じ規則で捨てていったら
6p6p6p6p6p6も捨てられてしまう
やっぱボタンと矢印は別スタックか?
384uy:2012/08/10(金) 16:05:44.21
だめだこれ
正規表現はやるべきじゃない
もう最初の方法でいいや
30分で思いついた方法が正義だと分かった
385uy:2012/08/10(金) 17:45:14.14
やっぱり正規表現でいった、大体作れたけど、
お前らには不可能だと分かった
自分でまずフォーマット決めないとお話にならない
そしてただスタックにデータを何も考えずに詰んでいくだけだと、
正規表現では機能足らなくてマッチしきれないので
正規表現でもマッチ可能なデータを、スタックに詰み込む時点で意識して作らないといけない
発想がないと詰む
これは複雑だ
お前らには無理
386デフォルトの名無しさん:2012/08/10(金) 18:10:52.41
ちょっと数学寄りの話になるが、
楕円体と平面の接触点(最近傍点)を求めたい。

そこで、楕円体を1/半径でスケーリングして、半径1の球に変換し、
接触点を求める関数を作った。

void get_closest_point_plane_ellipsoid(
const plane_t& plane0,
const cvector3_t& ellipsoid1_position,
const rmatrix3x3_t& ellipsoid1_axis,
const cvector3_t& ellipsoid1_radius,
cvector3_t& closest_p,
float_t& depth){
const rmatrix3x3_t to_cube_scale = scaling< 3 >( rcp( ellipsoid1_radius ) );
const rmatrix3x3_t to_world_scale = scaling< 3 >( ellipsoid1_radius );
const rmatrix3x3_t to_cube_space = mul( to_cube_scale, ellipsoid1_axis ); // ローカル座標空間に変換→立方体スケールに変換
const rmatrix3x3_t to_world_space = mul( transpose( ellipsoid1_axis ), to_world_scale ); // 非立方体スケールに変換→ワールド座標空間に変換

const cvector3_t plane_noraml_l = mul( to_cube_space, plane0.normal );
const cvector3_t closest_p_l = normalize( -plane_noraml_l );

closest_p = mul( to_world_space, closest_p_l ) + ellipsoid1_position;
depth = dot_coord( plane0, closest_p );}

でもこれがちゃんと動かない。コーディングミスではなくて考え方が間違っているんだと思うが、把握出来ない。
誰か俺でもわかるように、何が間違いか教えてくれないか?
387デフォルトの名無しさん:2012/08/10(金) 18:20:36.75
お前がバカなだけだろw
388デフォルトの名無しさん:2012/08/10(金) 18:27:31.84
>>387
なぜ>>386では正しい答えが導き出せないの?
389デフォルトの名無しさん:2012/08/10(金) 20:17:48.37
やはり3Dゲームはモデリングが必須なんでしょうか。
うまく二次絵を使って作る方法等はあるのですか?
390デフォルトの名無しさん:2012/08/10(金) 20:21:51.63
パッパラパッパーでも作ってろ
391デフォルトの名無しさん:2012/08/10(金) 20:31:42.61
>>383
むしろどんな正規表現書いたんだよ
392デフォルトの名無しさん:2012/08/10(金) 20:44:14.83
上,下,右,左,パンチ,キック の 押し下げ がそれぞれ U,D,R,L,P,K
上,下,右,左,パンチ,キック の 押し上げ がそれぞれ u,d,r,l,p,k

std::tr1::regex g_hadouken( ".*D.*R.*d.*P.*" );
std::tr1::regex g_syouryuken( ".*R.*r.*D.*R.*P.*" );
std::tr1::regex g_tatumakisenpuukyaku( ".*D.*L.*d.*K.*" );

こんな感じで出来たよ。これは右側向いているときだけだけどね。
393392:2012/08/10(金) 20:45:50.38
あ、もちろん、技の間に別の技を挟んだりもできるよ。
394デフォルトの名無しさん:2012/08/10(金) 20:58:23.75
>>392
連射コマンドや溜めコマンドは?
395デフォルトの名無しさん:2012/08/10(金) 21:26:38.93
タメだけはね、別でやったほうが良いね。
というのも、タメは無限の時間タメることが有りえるから、
過去の全ての入力に対してマッチングする必要でてくる。
別でカウントして、溜まったら、マッチング用のバッファに「溜まったよイベント」をプッシュして、
それ以降は上記と同じようにマッチングかけてもよいんだけど。
396デフォルトの名無しさん:2012/08/10(金) 21:26:46.90
>>389
ゲームにもよる

・ファイナルファンタジータクティクス
・サガフロンティア2

なんかだとキャラクターは全部二次絵だぞ
3Dの板に二次絵を貼りつけてそれっぽくしてる
マップは3Dだけどそんなに緻密なモデルじゃない
FFTもSF2もカメラアングルが変わるからマップが3Dで作ってあるけど
カメラアングルが変わらないならマップも二次絵で可能
最初はパラッパラッパーみたいなのから作るのが妥当だろうね
あとスレ違い
397デフォルトの名無しさん:2012/08/10(金) 21:33:13.06
>>395
たとえば三角タメの場合は、コマンド シーケンス全てを別にするのか、
それともタメ部分だけ別にして残りのシーケンスを正規表現に切り替えるのか?
398397:2012/08/10(金) 21:34:58.01
>>395
すまん、タメだけ別にしても良いんだけど、と言ってるな。
読みこぼしてた。
399デフォルトの名無しさん:2012/08/10(金) 21:39:52.91
>>392
ところで、入力バッファにはどれくらい過去の入力から残しておくの?
400デフォルトの名無しさん:2012/08/10(金) 21:44:58.37
さぁどうだろうね、コマンドの長さによるからね。
401デフォルトの名無しさん:2012/08/10(金) 21:45:00.60
>>396
ありがとうございます。
調べてみます。
402デフォルトの名無しさん:2012/08/10(金) 21:56:54.26
>>400
例えば >>392 の3つのコマンド技しかなかったら、
どれくらいのサイズのバッファを用意する?
403デフォルトの名無しさん:2012/08/10(金) 22:08:50.15
同時押しとかめんどくさそう
2F以内にズラシ押しなら同時にみなされて
しかも技によっては1F目の判定を出しつつキャンセルとかしないといけない
404uy:2012/08/10(金) 22:20:36.10
>>392
それって、入力データはちゃんと整形してあんの?
たとえば
↓→A って技の場合に
プレイヤーが必ずしも
↓↓↓↓「下ボタン押しあがり」→→→→「右ボタン押しあがり」A
と入力するとは限らず

もし整形してないなら↓のデータは動かないんじゃないの?

↓↓↓↓↓→→「下ボタン押しあがり」→→→A
↓↓↓↓↓→→→→→「下ボタン押しあがり」「右ボタン押しあがり」A

これは普通のカクゲーならこれでも普通に動くけど?

やっぱり2chだとこのくらいが限界かな?
405uy:2012/08/10(金) 22:23:22.49
ていうか
↓→Pの技は普通に入力したらさ

↓↓↓↓↓↓↓↓→↓→↓→↓→↓→↓→↓→→→→→→→Pになるんだよ

意味わかる?
君の正規表現にはゴミデータ削除がはいってません やり直しです


>>391
ソースを晒さない奴には教えない
406デフォルトの名無しさん:2012/08/10(金) 22:30:13.60
>>404
正規表現読めないの?
>>392を良く見てみ。全ての押し上がりを拾っては無いでしょ。

>↓↓↓↓↓↓↓↓→↓→↓→↓→↓→↓→↓→→→→→→→Pになるんだよ
俺のやり方だと押し下がりと押し上がりを拾ってるのでこんな無様なことにならないんだけど。
407uy:2012/08/10(金) 22:32:43.81
>>406
ああ
>↓↓↓↓↓→→「下ボタン押しあがり」→→→A
これだけが動くケースかwww

どちらにしろ君の正規表現だと

↓↓↓↓↓→→→→→「下ボタン押しあがり」「右ボタン押しあがり」A
↓↓↓↓「下ボタン押しあがり」→→→→「右ボタン押しあがり」A

この2パターンは動かないんだろ?

ゴミじゃん

あと
>↓↓↓↓↓↓↓↓→↓→↓→↓→↓→↓→↓→→→→→→→P
これは別にwwwwこういうデータをそのまま入れるって意味ではなくプレイヤーのキー投下の様子のことだぞ?
408デフォルトの名無しさん:2012/08/10(金) 22:36:47.63
>↓↓↓↓↓→→→→→「下ボタン押しあがり」「右ボタン押しあがり」A
>↓↓↓↓「下ボタン押しあがり」→→→→「右ボタン押しあがり」A

これは待ったく別のコマンドじゃねーか。
例えば昇竜拳は 623P だけど、これを6323Pとすると、出ないよ。
右を入力した後、一度ニュートラルに戻す必要がある。
409uy:2012/08/10(金) 22:38:16.07
ゴミ!!!!!!!!!!!!!!
つくりましたー(キリッ)! とかいって
1パターンしか入力うごかねーのかよ!!!!! はーまじで携帯でスレチェックしてわざわざpc起動した意味ありませんでしたね!!
がっかりしたわ!!
正規表現で作るなら
元々カクゲーの入力用なんてものを作るには想定されていないゆえに機能の足りていない正規表現を
ある程度は使いこなせないとお話にならないって覚えておいたほうがいいよ
あとで詰むよ?
ちなみ俺は、貯めも↓↓Pとかも一通り作れて
あとは正規表現は半自動生成して簡易コマンド化しちゃえば完成ってところ

もうやだこのスレこの板
410uy:2012/08/10(金) 22:41:47.42
>>408
今時バーチャファイターでかたられても困る・・・・しかも、別のコマンドじゃないから
同じコマンドだよそれ
そんな事も分からないの?
カクゲーやった事ある?

これだけは言っておくけど正規表現で描くなら数パターンにマッチさせるように書かなきゃ意味ねーわ
".*D.*R.*d.*P.*" ← これしかかけないならIFで書いたほうがマシ

あとさww
「d.*」 ← これ何?wwww

「キーDownボタンあがりましたー!」って情報って1回だけの発行じゃないの?wwww 何度も発行しちゃってんの?Wwww
意味不明なんだけどwww
411デフォルトの名無しさん:2012/08/10(金) 22:42:08.84
昇竜拳もまともに再現できないような実装でこの先やっていきたいなら勝手にどうぞ。
412デフォルトの名無しさん:2012/08/10(金) 22:42:34.04
>>408
(SF4Wikiから)
しゃがみ昇龍

今作では昇龍コマンドの6(1P側右)が3(1P側右下)で代用できるため、しゃがみ状態から昇龍が出せます。
入力方法は 「323+P」 。
このため、中足から昇龍にコンボしやすくなっている。
33(353)のバーチャ式入力でも出せる?ようだ。
123212321・・・と入力してパンチボタンを押して出すことも可能
対空や、ブランカのローリングを落とすときなどに非常に使える
レバーだけ入力しておいて、上記の技が見えたときや、相手が飛び込んできたらパンチボタンを押す。
見た目は、ただしゃがんでるだけなのがポイント
413uy:2012/08/10(金) 22:43:26.55
>>411
正規表現で厳しいものが今後出てくるのは把握してるよ

でも別にそういうコマンドに関してだけはIFに分解してかけばいい
かけるように設計すればいいだけ
414uy:2012/08/10(金) 22:45:39.90
また俺の勝ち、圧勝

もうやだこのスレこの板
415デフォルトの名無しさん:2012/08/10(金) 22:45:44.24
>>413
こういう問題にIFなんか使うなよダサいな
416デフォルトの名無しさん:2012/08/10(金) 22:46:22.54
>あとさww
>「d.*」 ← これ何?wwww

正規表現読めないの?それとも「 . 」を見落とした?
417uy:2012/08/10(金) 22:46:54.65
まさかswitch(笑)とかいう気じゃないよな

418uy:2012/08/10(金) 22:48:48.54
>>416
俺が聞いてるのはそこじゃないよ
君の設計では

「キーDownボタンあがりましたー!」って情報を何度も発行してんのか?って話だ

俺は、ヒントになってしまうけど、1回しか発行してないから・・・さ
d.*

じゃなくてこれは
d? になってるよ

?にしておけば、キーのアップがこのタイミングでされてもいいしされなくてもよくなって
>>412
このあたりもちゃんと動く
419デフォルトの名無しさん:2012/08/10(金) 22:53:24.35
それだと 23P でも発動してしまうから駄目だろ。
420デフォルトの名無しさん:2012/08/10(金) 22:53:49.87
>>412
これどういう正規表現になるんだ
(3|6|9).*(1|2|4|5|7|8).*(3).*P
か?
421uy:2012/08/10(金) 22:58:36.79
>>419

「キーDownボタンあがりましたー!」って情報を何度も発行してんの?
それを聴きたい 間違ってそうだから 答えられない?
そうだよ、それ間違ってるよ

>>420
ゴミデータの読み飛ばしだろ
.*ばっかりやってないでこの辺の正規表現使えと
{0,2}
422デフォルトの名無しさん:2012/08/10(金) 22:59:03.74
>>392
> std::tr1::regex g_hadouken( ".*D.*R.*d.*P.*" );

これって、23214P でも技が発動してしまわないか?
(これと左右逆のg_tatumakisenpuukyaku もだけど)

あと、どれもコマンド全体の最後に ".*" を拾ってるのは何故?
毎フレームでマッチングテストをするのなら、
ある時点の入力から、現時点の最終入力までテストすればいいのだから、
その後の未来に何が入力されるかは、技発動には関係ないような気がする。
423デフォルトの名無しさん:2012/08/10(金) 22:59:38.22
格ゲーのコマンド処理が意外と面倒だということだけはわかった
424uy:2012/08/10(金) 23:00:09.70
つうか別に1個の正規表現でやらずに
複数個のRegexpあってもいいのに、もう白旗かな?

また勝ってしまった・・・

もうやだこのスレこの板
425uy:2012/08/10(金) 23:01:53.54
とりあえず

1 正規表現はこんな事に使う道具ではない事
2 作っていく途中に正規表現じゃ判定しきれない状況が来ることの想定
3 詳しくない子はあきらめろ


426デフォルトの名無しさん:2012/08/10(金) 23:02:53.15
やーだお
427デフォルトの名無しさん:2012/08/10(金) 23:04:05.58
>>422
リバーサルの入力猶予があるゲームは余韻も受け入れる
KOFとかは押しっぱなしでも受け入れるからリバーサルが簡単
ギルティギアみたいなシビアなゲームだと余韻はカットするから押し離しの2Fしか猶予がなくてリバーサルが難しい
428デフォルトの名無しさん:2012/08/10(金) 23:09:45.65
>>427
あ、なるほどね。
最後に ".*" を拾ってる理由は納得した。

429デフォルトの名無しさん:2012/08/10(金) 23:09:55.23
>これって、23214P でも技が発動してしまわないか?
それは確かに不味い。

>あと、どれもコマンド全体の最後に ".*" を拾ってるのは何故?
>毎フレームでマッチングテストをするのなら、
>ある時点の入力から、現時点の最終入力までテストすればいいのだから、
>その後の未来に何が入力されるかは、技発動には関係ないような気がする。

1フレーム中に素早く複数キーが入力されることがあるので、
入力フレームの最後がパンチになっているとは限らない。
430デフォルトの名無しさん:2012/08/10(金) 23:12:10.53
自演乙
431デフォルトの名無しさん:2012/08/10(金) 23:13:02.37
>>249
それって前方一致でテストすればいいだけでは?

まぁ最後に ".*" を拾っては駄目な理由は何も無いけど
432デフォルトの名無しさん:2012/08/10(金) 23:14:26.43
>これって、23214P でも技が発動してしまわないか?

std::tr1::regex g_hadouken( ".*D.*R[^r]*d.*Z.*" );

改良しといた。
433デフォルトの名無しさん:2012/08/10(金) 23:19:53.40
>>432
それって、235P でも発動してしまわないか?
434デフォルトの名無しさん:2012/08/10(金) 23:22:32.38
そのまえにめちゃくちゃすぎる
Rの直後に

rて
1フレーム後かよと
435uy:2012/08/10(金) 23:27:31.41
すいませんでした
ごめんなさい
もうきません
436デフォルトの名無しさん:2012/08/10(金) 23:30:54.50
>>392
> std::tr1::regex g_syouryuken( ".*R.*r.*D.*R.*P.*" );

「R.*r.*D」は右に入れたレバーを下に倒した時の
キーシーケンスを意図しているのだと思うけど、
実行環境が r を D よりも先に拾うとは限らないと思う。

同フレーム内で押し上げよりも押し下げを先に拾う環境で
RDrRP と入力されるとマッチングしない。
437デフォルトの名無しさん:2012/08/10(金) 23:32:41.12
>>433
無理。3から5に至るためには、下と右の二つのキーを押し上げる必要があるが、
このとき、右より下を、ほんの少しでも早く押し上げないとマッチングしない。
だから、どうやっても6状態が一瞬入る。

>>434
正規表現が読めない人ですか?
438デフォルトの名無しさん:2012/08/10(金) 23:39:29.72
タッチパネルやモーションセンサーの時代なのに
そんな縄文時代の入力デバイスでのやり方を議論する必要があるのか
439デフォルトの名無しさん:2012/08/10(金) 23:40:08.66
>>436
>同フレーム内で押し上げよりも押し下げを先に拾う環境で
どこの糞環境のことか知らんが、
WindowsでDirectInputを使っている限り、そんなことはありえない。
ハードウェア割り込みで人間の分解能を超えた無茶苦茶高い精度で入ってくる。
しょぼい環境で自前でポーリングでもしていたらその限りではないが。
440デフォルトの名無しさん:2012/08/10(金) 23:47:08.66
>>437
じゃあ 2325P なら?

2 で D
3 で R
2 で [^r]
5 で d

マッチするんじゃないか?
441440:2012/08/10(金) 23:50:41.31
>>437
あぁ、すまんかった

>>440 はマッチしないな
442デフォルトの名無しさん:2012/08/10(金) 23:51:58.97
>>440
君は正規表現が読めないなら、黙っていればよい。

> 2 で [^r]
これはおかしい。[^r]は「r以外」って意味だ。not r。Rの押し上げ以外。
つまり、Rを放すなって意味だ。だから、「2」にはならない。
443デフォルトの名無しさん:2012/08/10(金) 23:52:11.06
>>439
それもそうか
444442:2012/08/10(金) 23:52:53.36
かぶった
445デフォルトの名無しさん:2012/08/10(金) 23:57:31.52
俺的にはdが連続してデータ入るのがよくわからないけどどうなってんのそこ?
押されてないキーのデータも全部ごちゃ混ぜな中から判定してんの?
正規表現リテラルじゃなくてデータのほうがみたいわ
446デフォルトの名無しさん:2012/08/10(金) 23:59:59.53
>>443
ゲームパッドの内部処理によっては内部でそういうことが起こりうるだろうけど、
どちらにしても人間の分解能をはるかに超えた世界での出来事なので問題ないわな。
もし人間の認知できるレベルで入力順序がひっくり返る糞ゲームパッドがあったとしても、
どう考えてもそのコントローラが悪いしな。
447デフォルトの名無しさん:2012/08/11(土) 00:03:19.04
>>445
糞フォントのせいで「 . 」が潰れて見えて無いんじゃないの?
あえて全角で書くと、d.* だよ。dは連続しない。
448デフォルトの名無しさん:2012/08/11(土) 00:12:39.90
しかし、正規表現でコマンドを登録するのも、
このレベルになってくると簡単・直感的とはやや言いがたくなるね。

もう少し長いコマンドや複雑なコマンドだと、
"236P" から ".*D.*R[^r]*d.*Z.*" に変換するような
トランスレーターが必要にならないかな。

コマンドを考えるプランナーは、たぶん [^r]* の必要性には気づかないよ。
449デフォルトの名無しさん:2012/08/11(土) 00:21:57.16
それなら入力のほうを揃えたほうが早いな。
つまり、斜め入力を検出したら、上下左右の入力はUPされるようにする。
そんで、斜めがDOWNする。
450デフォルトの名無しさん:2012/08/11(土) 00:25:20.67
トランスレータくらいいいだろ
ほとんどのデータはGUIで作ってバイナリ変換してファイルにするし
451デフォルトの名無しさん:2012/08/11(土) 01:58:40.91
ステートマシン以外の実装方法が判らないから、ずいぶんハッテンしたなww

正規表現じゃなくても判りやすいパターンマッチングの処理を自作するのもアリだよ。
ゲーム用の表現がどうしても欲しくなるだろうからね。
正規表現も便利だから勉強するのはアリ。


入力が1フレーム16bitとして5分間続いたとして2バイト*60フレーム*60(秒)*5 で36000バイト。36KB。

いまじゃ大した量じゃない。
溜め対策含めても1分も履歴とりゃ十分だな。
452デフォルトの名無しさん:2012/08/11(土) 02:00:21.73
いや、正規表現、結構重たいから。
453デフォルトの名無しさん:2012/08/11(土) 02:24:12.28
もしかしてワンダースワンで開発されてらっしゃる?
454デフォルトの名無しさん:2012/08/11(土) 03:34:50.21
正規表現って結局オートマンだろ
最近のPCならほとんど問題ないと思うが
455デフォルトの名無しさん:2012/08/11(土) 08:14:51.68
>>438
http://japanese.engadget.com/2012/08/10/ouya-859/
これから先どうなるかは分からないけど、今はまだコントローラの需要はあるよ
出資者だけで7万台ってことは少なくともピピンアットマークは超えたなw
456uy:2012/08/11(土) 08:31:59.91
フレーム単位で技磨いてる格ゲプレイヤーがタッパネルは想像つかない
USBポートじゃ遅いとか言い始める連中

コントローラーでプレイしたがる層は残ると思う
それにこの部分は格ゲーだけじゃなくキャラがコマンド技受け付けるゲームなら全てで使えるはず
457デフォルトの名無しさん:2012/08/11(土) 08:54:48.23
タッチパネルをなぞるように操作する格ゲが(新規ユーザに)流行るかもしれないし、
先のことは分からんなぁ。しばらくはコントローラが主流だと思うけど。
一部を浮き上がらせるとか、タッチパネルの操作性を改善する技術も出てきてるしそっちにも期待したい
458デフォルトの名無しさん:2012/08/11(土) 10:35:40.85
オートマン
459デフォルトの名無しさん:2012/08/11(土) 13:11:16.31
>>451
1分の履歴を取る理由が分からない。

コマンド入力を調べるためなら多すぎるし、
リプレイのための履歴なら少なすぎる。

コマンド受付時間が最長の時間内に入力可能な最大入力数分だけで十分だと思う。
それを超えるバッファを用意しても、仕様的に発動できないんだから
コマンドのマッチングには不要。


あと、別人だろうけどリバース時の猶予とか言ってるレスもあるが、
コマンド完成から実際に発動可能体勢となるまでの猶予時間を設定しておけば良いだけの話。
その猶予時間中の(どうせ捨てる)入力まで正規表現で表現する必要性が見当たらない。
460デフォルトの名無しさん:2012/08/11(土) 13:12:46.57
リバースじゃなかった、リバーサルね
461デフォルトの名無しさん:2012/08/11(土) 13:47:46.43
正規表現はこんなことに使う道具ではないから
「とりあえず動く実装」ってレベルだろ
ifをかかずこれだけで仕様満たせたんならそれは運が良かっただけ
462デフォルトの名無しさん:2012/08/11(土) 14:02:11.87
こんなところに使う道具いではないwwwwwwwwwwwわろすwwwwwwwwwwwwwww
そうやって可能性自分で潰していく雑魚PGに未来はないよwwwwwwwwwwww
使えるところで使うのが訓練されたPGだからwwwwwwwwwwww
463デフォルトの名無しさん:2012/08/11(土) 14:22:40.94
>>462
カッターで野菜を切る、みたいな感じだな
464デフォルトの名無しさん:2012/08/11(土) 14:27:26.00
>>463
それでいいんだよ
包丁がないから新しく買いに行くのが駄目なPG
とりあえず切れればそれでいいのがよいPG
465デフォルトの名無しさん:2012/08/11(土) 14:32:37.94
買いに行くならまだ良いが、新しく包丁を作り始めたらたちが悪い
466デフォルトの名無しさん:2012/08/11(土) 14:36:56.92
うんこ
467デフォルトの名無しさん:2012/08/11(土) 14:41:01.52
正規表現は記号列の集合を指定するための記法だから
そういう意味では今回のようなケースに向いていてもおかしくない
ただ、入力に時間制限とかの実現が必要だから、
ちょっと変種みたいなものになっちゃう
468デフォルトの名無しさん:2012/08/11(土) 14:44:23.52
時間制限も正規表現で表現可能だが?

469デフォルトの名無しさん:2012/08/11(土) 14:48:05.65
ばぶー
470デフォルトの名無しさん:2012/08/11(土) 14:53:09.60
>>468
時間制限も正規表現で表現可能だとしても、
その実装例をこのスレに誰もレスしていない。

だから、適切なのか、もっと良い方法があるのか、議論できない。

俺自身は、時間制限付きのコマンドを正規表現で表現するのは、
普通のコマンド以上に複雑になると思ってる。

どうやって表現するんだろ。
ある同じ入力が来ても、直近の入力からの経過時間によって、
それぞれ別の記号とするのだろうか。

それとも正規表現自体を拡張するのだろうか。
471デフォルトの名無しさん:2012/08/11(土) 15:11:20.11
フレーム開始イベントをFとして、
P([^F]*F){0,10}[^F]*K とかすればよいだろ。頭悪すぎ。
472uy:2012/08/11(土) 15:25:39.67
>>462
可能性とかそういう問題じゃない
俺が言いたい事は

1 正規表現はこれを行う事を想定しては作られていない
2 限界が来るから
3 インタプリタ入れることも覚悟しろよ

ってだけ


既に貯め技については正規表現で実装できなくなっちゃってるんだろ?

ゴミじゃん
473デフォルトの名無しさん:2012/08/11(土) 15:26:44.39
>>471
すまん、俺の頭がうまく回らず、よく分からない。

>>392 の例にある

std::tr1::regex g_syouryuken( ".*R.*r.*D.*R.*P.*" );

これが 12 フレーム以内に入力しなければ発動しないとして、
この元の表現を >>471 式に変えるとどうなるのか示してくれないか。
474デフォルトの名無しさん:2012/08/11(土) 15:27:48.25
>>472
溜めも正規表現できるが?
少し上のレスみても理解できないならお前は全くセンスないからこの道は諦めたほうがいい
475デフォルトの名無しさん:2012/08/11(土) 15:41:05.78
>>473
コマンド全体で12フレームということなら、後から別でハジけばよいだろ。
そこは別に複雑にならないんだから。
476デフォルトの名無しさん:2012/08/11(土) 16:13:21.01
>>475

>>467>>468 の時間制限というのが、
コマンド全体を受けつれる制限時間のことだと思ってた。

477デフォルトの名無しさん:2012/08/11(土) 16:14:56.69
だから、全体の制限時間をどうやって正規表現で表現するのか分からなかった。

コマンド入力のマッチング テストで必要となる制限時間って、他に何があるの?
478デフォルトの名無しさん:2012/08/11(土) 16:18:21.07
↓ > 3Fいないに\ > 3Fいないに→ > 3FいないにP
合計で9Fみたいな感じ
479デフォルトの名無しさん:2012/08/11(土) 16:31:39.58
コマンド全体ではなく、コマンド中のそれぞれの入力に対して、
そのコマンドの一部として認識する制限時間を設ける意図が分からない。

>>478 だと、永井愛だしゃがんでいて、それから波動拳コマンドを入力しても、
技が発動しないことになってしまう。
480479:2012/08/11(土) 16:33:43.06
あぁ、でもコマンド全体で制限時間を設けても、
コマンドの最初の入力と次の入力の間はその制限時間から外さないとマズいか
481デフォルトの名無しさん:2012/08/11(土) 16:34:36.86
>>479
するだろカス
22222222222222222222222222222233666P
なら最後には同県入ってるから問題ない
482uy:2012/08/11(土) 16:39:44.00
>>472
まさか正規表現の他にカウンター用意するとかいう話?

いやいやいや。。

それで実装できる気になられてもこまる
もう少し考えろ

俺は昨日の時点で終わってるから高みの見物にきてるだけだよ
483デフォルトの名無しさん:2012/08/11(土) 16:41:40.62
自演乙
484uy:2012/08/11(土) 16:44:49.02
つか時間制限ってなんだよw
ばか?
FILOバッファ作れカス

5000くらいあれば十分だろ
ゲーム仕様で一番長い貯め技にあわせろカス
485479:2012/08/11(土) 16:45:31.07
>>481
そういうことか。
話がかみ合わない原因が分かった。

君は、レバーを下に入れ続ければ 2 がバッファにたまり続けるシステムを意図している。

俺は、レバーを下に入れ続けても、1個しか 2 がバッファに入らないシステムを意図していた。

昨日から今までずっとそのつもりでレスしてきて、
途中でどうもよく分からない箇所があったが、このせいか・・・
486uy:2012/08/11(土) 16:47:25.92
コマンド同士の接点についての時間制限をいってるなら
キーがなにも押されていない状態が20フレームくらい連続したらバッファクリアでいいだろカスが
そんなこともわからないの?
487uy:2012/08/11(土) 16:49:55.29
まだ作れないの?
もう土曜日おわりだよ?
488デフォルトの名無しさん:2012/08/11(土) 17:19:52.22
正規表現使わなくても技対応入力テーブルから全パターンマッチングで作れるでFAでいいな?
489uy:2012/08/11(土) 17:28:28.71
だろうね
正規表現にしてみても全パターンかくことになる
その部分は多分未来永劫変わらないだろう(まともに作っていればね)
正規表現でやればコード短く簡易コマンド入力解読機構が作れるだけで
そのかわり複雑
別になんでもいい
490デフォルトの名無しさん:2012/08/11(土) 17:29:26.00
>>488
キャンセル技やタメなども含める場合、
1. 技対応入力テーブルはどのような表現で作るか
2. パターンマッチングはどのようにやるか
という問題があって、それを解決する一例が正規表現だと思う。

だから、正規表現使わなくてもと言うからには、
1 と 2 のそれぞれの問題について正規表現以外でどう対処するかを示し、
それが正規表現に比べて有利な点がいくつか無ければ、
とてもじゃないが FA にはならないと思う。
491uy:2012/08/11(土) 17:31:50.67
ああ違うな
自作言語作ってコマンドから技正規表現リテラルを自動生成
結局
236Pにマッチさせたいなら
何らかのメソッドに236Pと引数を渡す

別にその中身とか正規表現だろうが違おうが知ったことじゃない
早く作れるものが正義
492uy:2012/08/11(土) 17:36:52.56
たとえば
P
PP
PPP

で先行入力を受け取って
それぞれ初動から違う技として発動するなら
IFじゃないとかけない
493デフォルトの名無しさん:2012/08/11(土) 17:37:16.66
。。
494uy:2012/08/11(土) 17:44:01.21

おれはかけるけど
上がってるソースみるとおまえ等には無理だよね
495デフォルトの名無しさん:2012/08/11(土) 17:49:58.00
ソウルキャリバーで実際にそういう感じの技ある
AbAAAA
っみたいな入力で
Aは通常攻撃
Bはキック(bというのはかなり短い入力という意味)

これで
素早くAb押した後に AAAAで
AやBの攻撃は動作せずに別の技になる


さあ正規表現でやろうとすると最初からやり直しだ

大丈夫?
496uy:2012/08/11(土) 17:51:59.55
俺はこれも全部想定して最初からやってるから回避策もわかってるけどおまえ等には無理
497デフォルトの名無しさん:2012/08/11(土) 18:37:58.26
>>490

68000の12Mhzとかで動いてたスト2とかがそんなクソ重い処理してると思ってんのか。
498デフォルトの名無しさん:2012/08/11(土) 18:40:10.16
>>497
そういう事を言ってるのではなくて、今回の件に限らず一般的に
例示も無く検証も無いままで FA というのはおかしくないか、という事。
499デフォルトの名無しさん:2012/08/11(土) 19:05:56.93
おかしくないよ
みんな好き勝手言ってるだけなんだから
500デフォルトの名無しさん:2012/08/11(土) 19:46:31.36
>君は、レバーを下に入れ続ければ 2 がバッファにたまり続けるシステムを意図している。

>俺は、レバーを下に入れ続けても、1個しか 2 がバッファに入らないシステムを意図していた。

前者はありえないでしょう。
一フレーム内で複数の操作を素早くすると拾えなさそう。
501uy:2012/08/11(土) 19:54:41.41
だから何度もいってるけど正規表現はこういうことに使う道具じゃないからね

もしまともに動くシステム作れたらそれはハッキングといって差し支えない
これからも問題や仕様追加のたびに正規表現とにらめっことかさ
詰むからな?
作った奴しかメンテできない

正規表現で作るのはあくまで趣味レベルのはりぼて入力機構
502デフォルトの名無しさん:2012/08/11(土) 20:09:46.66
でもさ、if文とかで入力バッファをコマンド解析するとするでしょ。
そしたらまず、コマンドの最初に該当するものをバッファの中から探すわけじゃない。
擬似コードで書けば、find( input_buffer, "A" ); とかになるでしょ。
だったら別に、find( input_buffer, "AB" ); とか2文字になっても良いし、
findが正規表現を受け付けるなら、正規表現で検索しても良いじゃない。
君は何か正規表現を特別なものと考えているようだけど、
要はただの検索なわけだし。検索はありふれた操作だし、
そこに正規表現を使ったからといって、べつに特別なことじゃないよ。
503uy:2012/08/11(土) 20:31:20.91
違うよ
IFでやる場合はバッファそのものを加工しながらためていく

何も考えずにpushしていかない

最初に→が押されたら

→から派生する次の技のボタンが押された時にのみpushする

ボタン上下左右ABCDとあるとすれば、8個のツリー構造があるイメージ
コマンドを入力していくにしたがってそのツリー構造を辿っていく
504デフォルトの名無しさん:2012/08/11(土) 20:38:43.25
そんなバカなやり方はねーなw
505デフォルトの名無しさん:2012/08/11(土) 20:41:37.06
正規表現をどう使おうと使う人間の自由。
使い方が決まっていてそれ以外しちゃダメってのはあまりにも視野が狭すぎる。

アホな使い方しているならともかく、目的を達成するために手元にある道具を使うのは普通。


なんでもかんでも否定するケツの青いガキは、口じゃなくて手を動かせ。
506uy:2012/08/11(土) 20:42:09.47
本当のところいまレスみて1分で適当に考えて書いただけだけど
よく考えてみるとそっちのほうが完璧だな

正規表現()
507デフォルトの名無しさん:2012/08/11(土) 20:43:42.79
>>504
それほど馬鹿げた方法とは思えない。

状態A --> 状態B --> 状態C --> ・・・

とあって、最初に→が押されたら状態Aになって、
その状態Aの時に次の「正しい入力」があれば状態Bに遷移して、
正しくない入力なら状態Aのまま。
次に状態Bの時に・・・

で、制限時間内にゴール状態にたどり着けば技発動。
たどり着けなければ最初の状態Aに戻る。

というのを、IF 文で実現する方法もあるし、
グラフのノードをクラスで表す方法もあるし、
他の方法もある、という事だと思う。

技毎に独立した別々のグラフを構築しても良いし、
全技を合成して共通のグラフを構築しても良いが、
アッパーキャンセル真空波動拳のつもりが普通の波動拳になってしまわないためには、
後者の方が対処が楽だな。
508デフォルトの名無しさん:2012/08/11(土) 21:10:59.81
>>507
>で、制限時間内にゴール状態にたどり着けば技発動。
>たどり着けなければ最初の状態Aに戻る。

それだとABACってコマンドがあったとして、
ABABACって入力がきても受け付けなくなるからこまる。

そういうのが面倒だから正規表現を使おうって話になったのさ。
509デフォルトの名無しさん:2012/08/11(土) 21:13:46.42
>>507
それはおかしい

46K
236P

て技があったときに
後ろに一瞬下がろうと思って4押したけど相手の隙に気付いて236P出そうとしたときに不発になる
なぜなら最初に4が押されたときに状態Aとやらになってしまうから

それで格ゲー作ったなら途中でそういう現象に気付くと思うんだけど
実際気づかなかった?
510デフォルトの名無しさん:2012/08/11(土) 21:15:14.62
>>509
さすがに技ごとに状態は持つんでしょうけど、
それでも>>508の理由で却下だな。
511デフォルトの名無しさん:2012/08/11(土) 21:21:17.33
なるほど

俺の勘違いだった。
>>507 は無かったことにして、話を進めてくれ。
512uy:2012/08/11(土) 21:29:21.22
どう考えても正規表現よりいいのにな
そもそも他のカクゲーと入力の癖を同じにする意味はない
俺はソースが綺麗ならいいや

お前らが2日間正規表現に費やした時間 <<越えられない壁<< 俺が飯食いながら1分で考えたレス
513デフォルトの名無しさん:2012/08/11(土) 21:38:39.84
>>507の方法でも、コマンド解析を開始する位置を一つずつずらしながら
何回もマッチングすれば出来なくも無いけど、
でもそれって正規表現検索ライブラリが内部でやってることと同じだよな。
514デフォルトの名無しさん:2012/08/11(土) 22:19:18.67
形式的定義から離れて拡張された現代の正規表現は、
強力すぎて対応するDFAに変形できないので
NFAに近いマッチングを試みるしか無いw
515デフォルトの名無しさん:2012/08/11(土) 22:33:11.66
昔の非力なCPUでも問題なく動いてたコマンド入力方法をいまさら変える意味はないよな
516デフォルトの名無しさん:2012/08/11(土) 22:37:28.08
昔の非力なCPUではどうやって実現してた?
517デフォルトの名無しさん:2012/08/11(土) 23:06:34.49
条件分岐とフラグで。って見てきたように書いても実は見てないがw
518デフォルトの名無しさん:2012/08/11(土) 23:22:52.29
元々は、条件分岐をずらーっと並べるよりも
良さそうな方法がないのか、という話じゃないの
519デフォルトの名無しさん:2012/08/11(土) 23:25:37.99
>>507
それ正規表現のアイデアと何が違うの?
520デフォルトの名無しさん:2012/08/11(土) 23:27:37.90
古代人はコマンドハードコートしてたんかよ
521デフォルトの名無しさん:2012/08/11(土) 23:33:58.42
最初はな。 数が増えてきたら、正規表現みたいな感じのマッチングができるようなのを書いてただろうけど。

テーブルとチェック関数で毎フレーム総当り。


キャラはせいぜい6人もでてこないからその程度だろう。
522デフォルトの名無しさん:2012/08/11(土) 23:39:12.60
キャラの数なんてたかが知れてるから
何とかif文でも頑張れるという辺りが実情なのかな
523デフォルトの名無しさん:2012/08/12(日) 21:58:10.01
>>507の案も技ごとに状態を持つならありだと思うけどね
それなら直感でも分かりやすい

技い:236P
技ろ:63214P
技は:214K
技に:236236P

ってあったときに、まず2が押されたら
技い、は、に、が状態Aになる。
次に3が押されたら、技い、に、が状態Bになって、
技は、の状態はニュートラルに戻る
次に6が押されたら、技い、に、は状態Cになるが
技ろ、が状態Aになる
次にPが押されたら、技い、が発動

という具合だ
実装ではキャラごとに技データをコマンドのまま保存
プログラムではそれを構造体配列に突っ込んで毎フレームforとかで回して入力と状態をチェック
524デフォルトの名無しさん:2012/08/12(日) 22:01:32.73
>>523
だからその状態機械方式は正規表現の劣化実装と何が違うんだよ
525デフォルトの名無しさん:2012/08/12(日) 22:50:36.91
正規表現の実装を知らないから仕方ない
526デフォルトの名無しさん:2012/08/12(日) 22:53:08.10
たんなるパターンマッチングを正規表現というならもはやif分ですら正規表現
527デフォルトの名無しさん:2012/08/13(月) 00:05:10.52
それは違う
528デフォルトの名無しさん:2012/08/13(月) 00:07:50.09
>>525,526
基本情報からやり直してこい
529デフォルトの名無しさん:2012/08/13(月) 01:16:12.93
>>528
(>>523は)正規表現の実装を知らないから仕方ない
530デフォルトの名無しさん:2012/08/13(月) 01:44:16.00
実装を知らないってのは実装方法ってことか? それとも実装されていることを知らないってことか?
なにいってんのかよく判らない。
531デフォルトの名無しさん:2012/08/13(月) 01:57:25.00
>>530
話の流れわかってないってことはアレだろうな
532デフォルトの名無しさん:2012/08/13(月) 05:56:56.05
モルピグの次は格ゲーかよ
お前らが作ろうとしてるゲームってなんでことごとく主流から外れてんの
533デフォルトの名無しさん:2012/08/13(月) 07:31:14.57
主流から外れたゲームは、どうしても数が少なくて自分に合うゲームがなかなか見つからないからじゃ
あと主流から外れたのに生き残るゲームってこだわりの強いユーザが多いよね
534甘酒:2012/08/13(月) 08:06:27.37
こういうスレを待っていた。

ところで>>1は何の言語使ってる?
535デフォルトの名無しさん:2012/08/13(月) 08:34:42.99
HSPだよ
536デフォルトの名無しさん:2012/08/13(月) 09:03:48.77
>>531
アホ
537デフォルトの名無しさん:2012/08/13(月) 09:07:55.73
>>536
あ、ごめん解らないアレなひとだった?君の心を傷つけちゃったねすまない
大丈夫だよ君みたいなカスも日本では受け入れてくれるからね
競争激しい国だったら路頭に迷って野垂れ死にだけどな
538デフォルトの名無しさん:2012/08/13(月) 10:35:46.97
>>523
>>508を読め。
539uy:2012/08/13(月) 11:25:30.99
どうせ俺が出したアイデアだから必死に否定してるだけだろ
あんまり>>503の設計叩いてる奴の事を真に受けない方がいい
ゴミデータの中から正しいものを見つけ出そうとする
正規表現で作る方が""異質""なのは言うまでもないから
だからお前らは2日間もバグ取りやなんやで時間くってるんだろww気づけww


俺は無茶な方法でもコード量少ないほうを選ぶから散々否定した挙句に正規表現でいくだろうけど
ツリー + IFでやる形のも後で実装したい
お前らは今回のネタを何の言語で作ってたの?

なんかstd・・・とかいう文字を見た気がするからC++でやってたのかもしれないけど
こういうプロトタイプ作成にはLL使ったほうが10倍幸せになれるよ
540デフォルトの名無しさん:2012/08/13(月) 11:37:27.01
>>503が言うトライを作る方法?
トライは一種のDFAだから、記述上は特殊な正規表現にあたるわけで
正規表現を否定するのにトライを肯定する意味はあるのかと
541デフォルトの名無しさん:2012/08/13(月) 11:46:09.18
>>539

>>501 と価値観が180度変わるに至った経緯が知りたい
542デフォルトの名無しさん:2012/08/13(月) 12:13:00.02
なんでこんなにギスギスするんだろう…
543uy:2012/08/13(月) 12:13:36.75
>>541

>>385
いや、この時点で既に


そんで処理をまとめるなら正規表現を直で書くんじゃなくて
自言語か何かでラップして、正規表現をメタする形になるところまで分かったから
別にツリー+IFで書いたとしても、自言語からメタするデータが変わるだけで
ゲームロジック自体を記述していく部分にそこの内部実装は関係ない

で、そもそもメタするなら正規表現ではなく
後からデバッグしやすくする為に分解されていたほうが良いという考えがある
544デフォルトの名無しさん:2012/08/13(月) 12:52:35.26
しかし、>>508の問題が残るので、
結局正規表現を使うuyであった。
545uy:2012/08/13(月) 13:13:36.48
この程度のロジックも一瞬で思いつかないとかもうね
546デフォルトの名無しさん:2012/08/13(月) 13:21:15.69
ABCDってコマンドがあったとき、
ABCBCDって入力を受理するのは、
if文ではしんどい。非決定性有限オートマトンだからね。
547デフォルトの名無しさん:2012/08/13(月) 13:38:12.40
>>542
へんなコテがわいてるからしゃーない
548uy:2012/08/13(月) 13:54:05.52
ABCD っていう技があっても

ABCBCD ← こういう技はないんだろ?

だったら

ABC の後の 「B」「C」の入力はスルーするんだよ
で、Dが入力されたらバッファに詰む

無駄なデータはバッファに入れません
549デフォルトの名無しさん:2012/08/13(月) 14:00:14.49
>>548
アホやな
ABCBCDで必殺技が出なくても
タイミング次第でABCのあとにBかCを通常攻撃で出す可能性があるだろ
それなのにスルーして入力バッファから除外したらバグじゃねーか
お前みたいなバグ生産機は迷惑だから業界から足洗ってくれ
550uy:2012/08/13(月) 14:03:15.51
はぁ・・・
知能低いな

ABC
まで入力したあとに 次の入力待ちうけフレーム数を
考えられないバカか

お前の実装だと
ABCまで入力した後で5秒くらい待機した後にDおすと技が出るのかよ

しねヴぁ?
551デフォルトの名無しさん:2012/08/13(月) 14:05:12.18
>>550
お前がしね
有効フレーム数なんざ調整でいくらでも変わる
お前のやり方だとまず間違いなくどこかにバグを仕込むことになるから早くチンコ切ってゲイバーに就職しろ
552デフォルトの名無しさん:2012/08/13(月) 14:06:17.58
>>508 の問題が出てくるね。
本来、(AB)ABAC と解釈されるべきところが、
君のやり方だと、AB(AB)AC と解釈されるので、
コマンド入力の時間制限がおかしくなる。
ちゃんと入力したはずなのに、時間切れで発動しなくなる。
553552:2012/08/13(月) 14:09:47.01
御免間違った。結論は変わらないけどね。

>>508 の問題が出てくるね。
本来、(AB)ABAC と解釈されるべきところが、
君のやり方だと、ABA(BA)C と解釈されるので、
コマンド入力の時間制限がおかしくなる。
ちゃんと入力したはずなのに、時間切れで発動しなくなる。
554uy:2012/08/13(月) 14:13:27.96
>>551
なんで1歩ずつ1歩ずつしか教えないと前に議論すすまねーんだよ
さっさと歩け
ハードコーディング前提でお話しちゃってる時点でありえない
初心者はさっさと「S」「I」「N」「E」

>>552
その括弧は何
AB って技と ABACって技か?
Aが矢印ではなく、攻撃ボタンだとするなら
まず「A」だけでひとつの分岐が終わって次の状態へ変化だよ?


555デフォルトの名無しさん:2012/08/13(月) 14:15:17.64
>>550
カスやなぁ
uyのおっさんっていい年こいてそうだから、たぶんやったことあると思うんだけどストリートファイターってゲームのシリーズあるやろ?
あのゲームのゴウキはシュンゴクサツの間に通常技はさむぐらい余裕でできるぐらい入力猶予長いって常識なのよこの業界では
弱P弱P前弱Kの後に通常攻撃して強制キャンセルでシュンゴクサツぶっ放すぐらいは楽勝でできんのよこれが正しい入力システムな
だけどお前の腐った脳みそで必死に考えたごみ入力システムだとシュンゴクサツ入力中にほかの行動一切取れなくなるわけ
まじでゲーム業界やめてくれないかなおっさんあんた頭堅すぎるんだよ
そんなんでゲームリリースしたら稼働1日目でバグ発覚でコミュニティーサイトは大炎上して最悪基盤回収して大赤字になるんだけど?
おっさんそんときどうやって責任取るつもり?
556デフォルトの名無しさん:2012/08/13(月) 14:18:32.07
ちなみにこんな複雑なコマンドでなくても、>>508の方式だと問題が起きる。
例えば、AB っていうとてつもなく簡単なコマンドがあったとしよう。
プレイヤーがAAB って入力する。
本来なら、(A)AB と解釈して欲しいところ。
ところが>>508のやり方だと、A(A)B と解釈されるので、
タイミングによっては時間切れになって発動しなかったりする。
557デフォルトの名無しさん:2012/08/13(月) 14:19:18.74
結論 uyは痴呆症
558uy:2012/08/13(月) 14:19:55.73
>>555
なんだこいつキメェな
老害は死ね

少し譲歩してABACだかにも対応させること前提で喋ってるけど
その辺りの入力の癖もゲーム仕様だからな?

はっきりいって俺は、しょうりゅうけんコマンドが
いつまでたってもコントーラーでは出せないからキーボードを練習してキーボードでもいけるようになった
普通(?)のの入力ロジックでは正しく技を出せない奴がいるのも事実

もし俺がカクゲー作る事があってもしょうりゅうけんコマンドはゲーム仕様に入れないか、だしやすいように調節する
559デフォルトの名無しさん:2012/08/13(月) 14:20:53.21
>>558
いきなり話そらすなよコミュ障www
560uy:2012/08/13(月) 14:22:35.38
>>556
状態変化の意味すら分かっていないなら初心者死ね

ボタンが8個あるなら8個のツリー構造を書け
すべてのcase分岐を手書きで書け
いっとくけどこれは正規表現以上に細かいことをするためのツリー構造だからな?

何のためにソースコードをわざと冗長させて正規表現分解しようとしてるか
意味が分かってなさ杉
561デフォルトの名無しさん:2012/08/13(月) 14:24:26.12
>>560
お前はそれ以前にスレの流れ理解してないんだが?
562uy:2012/08/13(月) 14:24:38.07
リプリザルエンジェルくらって初心者死ね
563デフォルトの名無しさん:2012/08/13(月) 14:26:52.19
>>554
頭が悪すぎて分からないか。
ABってコマンドがあったとするでしょ。
プレイヤーがAABって入力するでしょ。
君の方式だと、最初のAを読み取ったあと、状態が変わって、B待ちになる。
二回目のAは読み飛ばされる。
でもこの読み飛ばした二回目のAこそ、
本来プレイヤーがABコマンドとして意図して入力したAなんだよ。
AABを(A)ABと解釈するのと、A(A)Bと解釈するのでは、
コマンド受理までの時間が変わってくるので、マズい。
564uy:2012/08/13(月) 14:36:30.74
>>563
おまえさぁひとつ聴きたいんだけど、
正規表現でそっこうで作るのと
ソースコードをわざと冗長させて正規表現分解して作るのでどっちが柔軟性高いと思ってるんだ?

面倒くさいという意見はいらない
565デフォルトの名無しさん:2012/08/13(月) 14:42:23.72
返答になって無い件
566デフォルトの名無しさん:2012/08/13(月) 14:43:56.54
コミュ力そうとう低いよなuy
ぜんぜん話が通じない
567デフォルトの名無しさん:2012/08/13(月) 14:44:18.53
まず、
AAという技と
ABという技があるとする

AABという入力があって、指定フレーム内なら
A「A」B この真ん中の「A」は「B]に書き換えられて
ABという技が発動する
または
書きかえは行わずにAAという技を発動して「B」は読み捨てる
どちらをだすようにも作れる

この程度は自由自在に組めて当然だろ?


正規表現で、これらの優先順位をいじるのは並大抵の苦労ではない
568uy:2012/08/13(月) 14:47:11.66
お前らの「そんなゲーム仕様にしない、そんなゲーム作らない」


プランナ「いいから言われたとおりに作れバカ」


お前ら「正規表現わけわかんね・・・」


こうなる
569デフォルトの名無しさん:2012/08/13(月) 14:50:47.17
優先順位は正規表現の仕事じゃないでしょwww
それはコマンド解析した後の話。
AA技中にAB技を禁止すれば、後者の動作になるし、
特に何もしなければ、AA技は即効でキャンセルされてAB技に移る。
570デフォルトの名無しさん:2012/08/13(月) 14:53:30.67
昔の格ゲーで使われてたコマンド入力のソースを持ってる俺が勝ち組だな
571デフォルトの名無しさん:2012/08/13(月) 14:53:50.63
ふう
572uy:2012/08/13(月) 14:55:24.05
えええええええええええええええええぇぇぇぇぇぇぇ??
> 優先順位は正規表現の仕事じゃないでしょwww
ぇぇぇぇぇぇええええええええええええええええええ??

コマンド解析 って正規表現のことだよねえwwwww??????

それじゃ こういう事になるの?
switch(技) {
 case /正規表現/
   if 優先順位 { 技A }
   else { 技B }
}


ゴミッカスじゃん・・・
573デフォルトの名無しさん:2012/08/13(月) 14:56:39.02
>>523だと>>508のような問題が起こる。

>技は、の状態がニュートラルに戻る

ここが問題。
違うボタンが押されたからといってニュートラルに戻すのではなく、
前の入力から次の入力までの時間制限をもうけて、
その時間内に次の入力が来なかった場合にニュートラルに戻せばよい。
この実装を>>523の例で説明すると、
技は、はニュートラルには戻らず3の次に1がくればそれが時間内であれば、技は、も状態Bに移行する。
574デフォルトの名無しさん:2012/08/13(月) 15:04:35.04
いいから >>563 の問題に答えろ。
コマンドは入力時間に制限があるんだから、最短一致でマッチングするのは当たり前。
プログラミング以前に、カクゲーの常識なわけ。
同じコマンドを入力に対して二通りに解釈できるなら、より時間が短くなるほうで判定する。
でなければ時間制限に対してフェアじゃない。
プレイヤーは、AABを、A(A)Bでなくて、(A)ABと解釈して欲しいわけ。そっちのが時間が短いから。
ところがお前の提案した>>548は、最長一致風。頭がおかしいとしか。
コマンドを出来るだけ長く解釈してどうする。コマンド入力に時間制限があるカクゲーなのに。
折角素早く入力したのに、わざわざ長いほうで取ってきて、タイムオーバーです、では、誰も納得しない。
クソゲー。わかる?
575デフォルトの名無しさん:2012/08/13(月) 15:06:21.33
>>572
ある技の発動中に、別の技を発動してよいかどうかは、
コマンド解析とは別の話だろ。そんなことも分からないのかよ。
576デフォルトの名無しさん:2012/08/13(月) 15:06:46.55
格ゲーなんだしそれぞれで作って対戦するとかw
577デフォルトの名無しさん:2012/08/13(月) 15:14:23.56
脳の発育障害持ってる素人いじめんなって
578デフォルトの名無しさん:2012/08/13(月) 15:26:26.89
ひひーん
579デフォルトの名無しさん:2012/08/13(月) 15:26:29.02
uy…
(´・ω・`)
580デフォルトの名無しさん:2012/08/13(月) 15:36:02.40
お前らスト2式のコマンド一式入力後に技が発動する話ばかりしてるけど
バーチャ式のコマンド入力はどうするの?
特に正規表現厨
ディレイやコマンド入力後の溜め技とかどうするの?
581デフォルトの名無しさん:2012/08/13(月) 15:39:16.73
>>580
正規表現でなにが問題なんだ?
具体的に述べよ
582デフォルトの名無しさん:2012/08/13(月) 15:42:56.71
>>581
正規表現はマッチしたら技が発動するだろ
ディレイも含めてマッチかけるの?
でもディレイがくるかどうかなんて分からないよね
583デフォルトの名無しさん:2012/08/13(月) 15:46:41.52
ぶひひ
(´・ω・`)
584デフォルトの名無しさん:2012/08/13(月) 15:48:38.31
>>582
ディレイバージョンとそうでないバージョンでコマンドを二つに分ければいい
なんでこんな簡単なこともわからないのかな
585uy:2012/08/13(月) 15:51:27.85
世界にこんだけカクゲーあって
実装方法などいくらでもあるのに
正規表現しか認めない子が必死必死
ちょっと書いてみてるけどいまこんな感じ

# 第零 初動
if stack.empty?
 if key_down RIGHT
  stack << "6"
  joutai = 1
#
switch joutai
 # 第一 状態
 case 1
  if key_down DOWN
   stack << "2"
   joutai = 2
 # 第二 状態
 case 2
  if key_down A
   stack << "A"
   joutai = 3

# 技解読
if stack == "6A"
   技6A発動
stack.clear
586uy:2012/08/13(月) 15:53:09.55
分かった事は、

ちょっとしたカクゲーでも
状態の数は1キャラにつき数十個〜100くらいになるだろうってこと

そしてそのすべての状態において、すべてのキーをチェックする為のIF文を書かなければならない事

メタしないと死ぬ
587uy:2012/08/13(月) 15:56:29.37
正規表現でのため技の実装は
分岐1 /A{50,999}/
分岐2 /A.*/
こんなのを2個用意して、分岐1のほうを先に判定すればためてるかそうでないかは分かる
588デフォルトの名無しさん:2012/08/13(月) 16:04:54.95
>>585
で、>>563の問題はどうするつもり?
589デフォルトの名無しさん:2012/08/13(月) 16:05:04.54
>>584
2つ?
PKなら2つでいいんだろうけどPPPKは?
590uy:2012/08/13(月) 16:08:37.17
>>588
なんでスルーされてるかわかってないようだな
AA という技がある前提で話しているのか
AA という技は存在しない前提で話してるのか曖昧なんだよお前の文章は コミュ障が
で、どっち

とりあえず
A
AA
AB
↓→A
↓↓A

この辺りの技の実装から考えたらよい
591デフォルトの名無しさん:2012/08/13(月) 16:15:59.81
┐('〜`;)┌
592デフォルトの名無しさん:2012/08/13(月) 16:16:25.77
>>584
ディレイ無しとディレイありを分けるってことは正規表現で一つにまとめるのが現実的でないってことだよな?
ディレイ記号を~とすると
PPKの場合

ディレイ無し:PPK
ディレイあり:PP~K、P~PK
の3種類あるけど、ディレイありの2つを1つにまとめて書けるならそもそもディレイ無しともまとめて書ける
言ってることが矛盾してる
矛盾がないのは>>584がPKのようなディレイが一ヶ所しか入らないような非常に限定された条件でしか考えられない精神構造だということになるが
そのディレイあるなしで分けるという考え方をPPPKにまで適用すると8パターンも正規表現を書かなければならない
これも現実的でないと思うんだけどこんな簡単なこと分からないほどヴァカなの?
593デフォルトの名無しさん:2012/08/13(月) 16:18:15.93
ディレイだけならまだしもディレイに寸止めキャンセルとかどうする気だろう。
594デフォルトの名無しさん:2012/08/13(月) 16:28:47.04
>>590
AAというコマンドがあろうがなかろうが、ABというコマンド解析には何の関係も無い。
なにせ、AAとAB、それぞれのコマンドは別々に解析されるのだから。
業AA発動中に業ABを発動して良いかどうかは、コマンド解析の後の話。

まだ問題が良くわかっていないようだな。
単純に、お前のやり方だと、AABという入力に対してABというコマンド解析をすると、
二回目のAを読み飛ばして、A(A)Bと解釈する。
しかし、実際にプレイヤーが期待しているのは、最初のAを読み飛ばした(A)ABという解釈だ。
A(A)B と (A)AB では、コマンド先頭から終了までの入力時間が変わる。
コマンド入力に制限時間がある、カクゲーでは致命的。
595uy:2012/08/13(月) 16:29:35.96
>>591
結局質問の中身がなさ過ぎてそれすら答えられないのか?
初心者は死ね
596uy:2012/08/13(月) 16:32:15.52
>>594
>AAというコマンドがあろうがなかろうが、ABというコマンド解析には何の関係も無い。

え、つまりお前、 AA っていう技さえない状態の
ただのABという技の実装方法を聞いてる段階かよ
マジでありえない

>しかし、実際にプレイヤーが期待しているのは、最初のAを読み飛ばした(A)ABという解釈だ。
お前がバカなんじゃないかな

ABという技の 最初のAを入力した時点でキャラは動いている

もう少し良く考えてから質問しろよバカ
597デフォルトの名無しさん:2012/08/13(月) 16:37:28.29
何でこんなにバカなの?

コマンドABの解析において、最初のAを読み飛ばすって意味って、分かるだろ、普通。
598デフォルトの名無しさん:2012/08/13(月) 16:41:18.11
>え、つまりお前、 AA っていう技さえない状態の
>ただのABという技の実装方法を聞いてる段階かよ
>マジでありえない

そのありえない状態で躓いているのがお前だ。残念だったな。
AABという入力に対して、ABというコマンドを解析するとき、
(A)ABと解釈するのと、A(A)Bと解釈するのでは、
コマンド先頭から後尾までの入力時間が変わってしまう。
プレイヤーが求めているのは前者の解釈。
お前のコードは後者の解釈。
599デフォルトの名無しさん:2012/08/13(月) 16:42:23.87
そろそろ双方コード出して議論しような
その方法を押してるってことは実際の実装で問題なかったんだろうし
600uy:2012/08/13(月) 16:43:39.35
{n}の数字を、フレーム数だとしよう

A{5}A{5}B という入力があったとき
>>594このバカは、最初のAを読み捨てて
A{5}「A{5}」「B」 これが欲しいといっている

しかし実際は
「A{5}」 A{5}B この最初のAが押された時点でキャラは動き始め Bを待っている状態である為

AAという技がなければ
A{5} 「A{5}」 B  この2番目のAは呼び飛ばさなければならない

しかし? >> 594 このヴァカは 一度めの A{5} で既にキャラは動いているにもかかわらず
なぜか一度目のA{5}を読み捨てようとか言い始めている
その実装方法では
A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}B  という入力があったら
「 A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5} 」 A{5}B   これだけのデータを読み捨てる気なのだろうか? どんなゲームだよ

一体キャラはどんな動きをしてるんだよ

完全に>>594はバカであることが証明された
601uy:2012/08/13(月) 16:45:34.59
>>597
ちょっとさぁ・・・

過去ログ読んでからレスしないか?

バッファには無駄データ入れないって言ってるのに
もしかして>>594このヴァカもバッファにまだ無駄データ入れるような設計で話すすめてんの?
正規表現じゃないっつってんのにバカだな
602デフォルトの名無しさん:2012/08/13(月) 16:52:18.69
>>600
あまりにもお粗末なんで横から突っ込みいれとく

>A{5} 「A{5}」 B  この2番目のAは呼び飛ばさなければならない

2番目読み飛ばしてどうするよ
AAが無いなら2番目来た時点でフレームカウンタクリアして
「A{5}」キャンセル 「A{5} B」コマンド成立
すべきだろうって話
物事の本質を理解してますか?
603デフォルトの名無しさん:2012/08/13(月) 16:56:28.78
>>601
入力AABに対する、ABコマンドの解析において、
君の言うところの無駄なデータって、二回目のAだろ。
最初のAを読み取った段階でB待ちになるから、二回目のAはプッシュしないんだろ?
でも、そのお前の捨てた二回目のAこそ、
プレイヤーがABコマンドを実現するために意図的に入力した「A」だろ。
仮にABコマンドがAを入力してから5フレーム以内にBを入力しなければならないとして、
今、入力が A{1}A{5}B であったとき、
君の方法だと、二回目のAを捨てるので、AとBの間が6フレームになって、
本来発動するはずのコマンドABが発動しない。
604デフォルトの名無しさん:2012/08/13(月) 16:57:01.53
>>601
そしてこれ

>A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}

タイムアウトして普通に入力確定されるから読み捨てにはならない
脳足りないのに脳内だけで完結して実際にコード組めないやつの典型例
605デフォルトの名無しさん:2012/08/13(月) 16:57:03.94
いいからコード出して議論しろ
606デフォルトの名無しさん:2012/08/13(月) 17:01:44.01
一度たりとも書いたことないコードなんか出せるわけないだろ
607デフォルトの名無しさん:2012/08/13(月) 17:06:02.14
正規表現でこと足りるからコードなんか不要
608デフォルトの名無しさん:2012/08/13(月) 17:09:50.75
uyはコード出てくるのを必死に待ってるんだよwww
自分で書けないからコピーして使うんだろwwww
609uy:2012/08/13(月) 17:42:37.67
>最初のAを読み取った段階でB待ちになるから、二回目のAはプッシュしないんだろ?
>でも、そのお前の捨てた二回目のAこそ、
>プレイヤーがABコマンドを実現するために意図的に入力した「A」だろ。

wwwww
本当に頭悪そうだな

お前絶対プログラマになったことが間違ってる
お前の文章は、まず矛盾して間違っている
が、自信満々にレスするって事はお前の中ではつじつまがあっているんだろう
つまり説明がドヘタなゴミPG
そういう奴の相手は悪いけどしないことにしている


>>A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}A{5}
>タイムアウトして普通に入力確定されるから読み捨てにはならない

だからキャラはどういう動きするんだよ
610uy:2012/08/13(月) 17:50:21.18
ツリー+IF + 状態推移 で書いてたけど

ちょっとこれは状態数が増えすぎる
コードジェネレータから作らないとやっていけない

正規表現で書いていても、
技の発動ロジックとは別に、キャラのグラフィックを変更していくために
状態推移は行うだろう
ただし正規表現内にそれは容易に組み込めないから、まったくの別の場所に書く事になる妥協した設計になる

ツリーで書けば、1箇所にかけるはずだけど、流石に面倒くさくなって飽きた
正規表現でいいよもう
正規表現で作れない仕様のゲームは作らないでいいじゃん


擬似コードは出した
>>585
これ

状態用の変数、フラグ用の変数、フレームカウント用の変数、とか色々必要になってくる、フレームカウント用の変数に関しては
全ボタン用必要になる可能性さえある
はい、正規表現でいいよー
611デフォルトの名無しさん:2012/08/13(月) 17:51:23.24
Aがパンチならキャラはパンチ出すだろ
パンチの入力確定後ディレイが30ならパンチ2発
そんなことも考えられないとはちょっと信じられないほどやばいよ
612デフォルトの名無しさん:2012/08/13(月) 17:54:07.09
>>610
>>585仕事したこと無いだろお前
仕様変更が常の業界でそんなの誰がメンテすんだよ
さすがは言語仕様が変わっただけでぶーたれるrubyユーザーだけある
613uy:2012/08/13(月) 17:55:37.76
話しかけんな
しかもディレイの話なんて誰もしてないのに
ディレイの実装とかもっと後だろ
お前が説明下手なのは数レスで分かった
もういい

お前らC++でプロトタイプ作っていたんですか?
流石にC++でプロトタイプ作成はありえないよ
それともコードかかずに脳内設計ですか?
マジでこういうのrubyの専売特許だからrubyやったほうがいいよ
614デフォルトの名無しさん:2012/08/13(月) 17:58:07.90
この段階でディレイ考えていないとか設計なめてるだろ

>お前らC++でプロトタイプ作っていたんですか?
Yes
615デフォルトの名無しさん:2012/08/13(月) 18:15:24.02
uy (´・ω・`)
616uy:2012/08/13(月) 18:36:34.01
入力の話してると思ったらいきなりディレイの会話にシフトしてやがる
コミュ障に話しかけられて最悪
ネットやンナ
617デフォルトの名無しさん:2012/08/13(月) 18:39:49.76
ディレイは入力だろ
618デフォルトの名無しさん:2012/08/13(月) 18:51:40.61
 (´・ε・`) uyがいぷしろんなんて知るわけねー
619デフォルトの名無しさん:2012/08/13(月) 18:53:04.13
つうかディレイをコマンド解析プロセスで考える時点で終わってる
それはキャラクタの状態機械の仕事であってコマンド解析システムの仕事じゃない
620デフォルトの名無しさん:2012/08/13(月) 18:57:52.42
>>612

>>510 のように言っていた uy が >>539 のように
自分は結局は正規表現でやると言っているのだから、
仕事ではなく趣味レベルのはりぼて入力機構を想定してるのだろう

プログラムとは全く関係ない仕事についてると思うぞ

仕事でプログラマやってて、この一連のレスはない
621デフォルトの名無しさん:2012/08/13(月) 18:58:39.81
こんなに自信満々にアホなこと言ってるuy君の作ったゲームに興味あるわ
自信満々なら当然だけどなんらかの成功経験があるってことだからゲームの一つや二つは作ってるはずだよね
アホなことしか言わないのにちゃんとした形で成果物を出してるという謎に純粋に興味がある
uy君、ちょっと君の代表作のタイトルさらしてみないか?
622デフォルトの名無しさん:2012/08/13(月) 18:58:59.94
訂正
>>501 のように言っていた uy が >>539 のように
623デフォルトの名無しさん:2012/08/13(月) 18:59:58.27
コマンド解析終わってから各入力間の入力間隔チェックするとか終わってるよね
コマンドバッファには「入力が無かった」という入力情報も当然積むよ
こうすることでボタン押下とディレイが同時に判定できる
624デフォルトの名無しさん:2012/08/13(月) 19:13:39.39
>>623
ディレイはコマンド解析には含めないよ

「強パンチのモーション中に素早く強パンチ」で強パンチ>技Aのコンボが
「強パンチのモーション中にディレイをかけて強パンチ」で強パンチ>技Bのコンボが出るとする

コマンド解析機は入力を解析してただ単純に2回の強パンチコマンド(キーバッファではなく整数化されたコマンド)を送るだけ

一回目の強パンチコマンドを受け取ったキャラクタは強パンチのモーションを出す
@強パンチの途中あるフレームより前に再度強パンチのコマンドを受け取った場合キャラクタは技Aを出す
A強パンチの途中あるフレームより後に再度強パンチのコマンドを受け取った場合キャラクタは技Bを出す

こういうことね

ありがちな間違え方なんだが
「強パンチ→すぐ強パンチ」と
「強パンチ→ディレイして強パンチ」という二種類のコマンドが存在するとして作るとうまくいかない

コマンド解析はあくまでパターンマッチングだけが仕事であり
技をどのように派生させるかはすべてすべて整数変換済みコマンドを受け取ったキャラクタが担当する

いまどきの格ゲーはもれなくこういう作りになってる
低レベルの入力の正規化、コマンド解析、コマンド解釈はすべて別のレイヤが担当しています
625デフォルトの名無しさん:2012/08/13(月) 19:39:05.94
φ(`>ω<´)メモルノダ
626uy:2012/08/13(月) 19:52:41.78
>>621
上げる意味が見出せない
それに俺はそれほど複雑なものを書いてプログラム的に面白いゲームは作ろうとしていない
しかしそれではあまりにつまらないから根幹部分については、無駄に本気で設計してる
最高の設計の上にしょぼいゲームを作るのが趣味
自分の絵を見せる額縁がゲーム製作だと認識してる
おまえらとはちがう
627デフォルトの名無しさん:2012/08/13(月) 20:12:17.65
628uy:2012/08/13(月) 20:29:38.42
どうせお前らそんなに俺が上げるソースを望んでない
実際>>344
にアップしたけど、24時間で1人しかDLしてないから消したわ
理解できるように、わざわざrubyの中の簡単な構文だけ選んで書いてやったのに
どうせお前らは技術的な会話をしてるフリがしたいだけ
技術そのものの本質に触れはじめると頭疲れるからかすぐに消えていくのを知ってる
じゃあ俺もフリだけしてるよ 本当は作れるけどね はーもういい
629デフォルトの名無しさん:2012/08/13(月) 20:31:25.51
>>609
早く>>603に答えろよ。
こんな簡単なコマンドすらまともに解析できない解析エンジンに
何の意味があるよ。
630デフォルトの名無しさん:2012/08/13(月) 20:38:55.45
入力AABに対する、コマンドABの解析において、
プレイヤーの意図する(A)ABと解釈せず、A(A)Bと解釈する、合理的な説明はまだですか?
631デフォルトの名無しさん:2012/08/13(月) 20:39:09.69
うんこ
632デフォルトの名無しさん:2012/08/13(月) 20:46:34.15
>>627
くっそワロタwwwww
633デフォルトの名無しさん:2012/08/13(月) 20:48:08.62
さっさとコード書くかバイナリでいいからうpしろよ
入力バッファぶち込んで解析できてたらそいつの主張が正解でいいだろ
まさかここまで白熱しててだれもコード書いてないなんてこたないだろ?
634デフォルトの名無しさん:2012/08/13(月) 21:11:09.92
そんなことよりはやりのソーシャルゲーについて語ろうぜ
635デフォルトの名無しさん:2012/08/13(月) 21:21:47.90
>>628
それ、お前がテストでDLした分じゃね
636デフォルトの名無しさん:2012/08/13(月) 22:05:51.99
629
二度と話しかけないでよね
637デフォルトの名無しさん:2012/08/13(月) 22:09:04.73
>>634
ソーシャルゲーはプログラムレベルで論じるところはほとんどないだろ
あれはゲームのルール的な面がほとんど
638デフォルトの名無しさん:2012/08/13(月) 22:26:42.86
ソーシャルゲー程度のプログラムを書けるSEって、実際にはどの程度居るんだ
639デフォルトの名無しさん:2012/08/13(月) 22:42:50.76
俺はネットワークの基礎からわからん
標準C++と描画ライブラリがあれば作れるものしか作ったことないし
640デフォルトの名無しさん:2012/08/13(月) 22:53:27.02
ただのケータイソーシャルゲーだったらCGI作れるくらいのレベルで作れる
モルピグはそうはいかんが
641デフォルトの名無しさん:2012/08/13(月) 23:06:48.25
MMORPGはまだ簡単な方で、FPSとかのリアルタイム性の高いもの方が難しい。
642デフォルトの名無しさん:2012/08/13(月) 23:09:13.08
ソーシャルゲーで難しいのは、ゲーム部分というより
ユーザーが増えた時のスケールアウトじゃないの
(ネットワークゲーム全般に言える話ではあるだろうけど)
643デフォルトの名無しさん:2012/08/13(月) 23:10:32.44
>リアルタイム性の高いもの方
高いもの方って何?
644デフォルトの名無しさん:2012/08/13(月) 23:12:12.54
FPS>モルピグ>>>>>>ソーシャルゲー

アメ公に日本人にSPF開発は無理だって言われたらしいな
645デフォルトの名無しさん:2012/08/13(月) 23:12:17.72
FPSって書いてあるだろ。
646デフォルトの名無しさん:2012/08/13(月) 23:13:40.23
書いてあるね。



647デフォルトの名無しさん:2012/08/13(月) 23:22:54.87
SPF50+
648デフォルトの名無しさん:2012/08/13(月) 23:23:46.64
1コしかワザないとしてそれをどう解決するかを考えれば、あとは応用で解決するよ。

溜めと方向入力がある超必殺技の判定を1個考えるんだ。
649デフォルトの名無しさん:2012/08/14(火) 00:29:47.78
はぁーー

>167 名前:uy 投稿日:2012/08/10(金) 18:07
>rubyの正規表現の質問です
>連続して10回以上...無限にマッチさせる構文ってないですか?
>/6{9}6+/
>いまはこんな事をやっていますがもう少しスマートな書き方あれば教えて欲しいんですけど
650uy:2012/08/14(火) 00:36:54.49
本当は、俺はゲームなんて
数年前に1個作ったのが唯一のゲーム、他は小さすぎるのでカウントしない
それはC++かいた、だけどあんまり嬉しくないんだよね
俺はゲーム()を作る事なんて楽しくない、世界を作りたいだけ
それを考えると世界を作れるのは絵と音とストーリーであり、プログラムなんてお飾りに見えてくる

プログラムで何を作っても嬉しくない
ゲームを作るのではなく、どう世界を作るかしか、今は考えてない
4,5年もプログラミングやってて、ゲーム1個しか作れていないことに別に後悔などない
世界を作れなかった練習作のゲームなんて、俺にとっては無いものと同じ
1位になるか、ドベになるかしか 俺にはないんだなって 夜の月夜にふとおもふ
651デフォルトの名無しさん:2012/08/14(火) 00:42:36.36
口だけか
652デフォルトの名無しさん:2012/08/14(火) 00:45:51.89
>>650
ならうにてぃ使えば?
653デフォルトの名無しさん:2012/08/14(火) 01:07:59.88
俺も久々になんか作ってみっかな
ローグライクとか興味あったんだが意外と面倒で投げたんだよな
リアルタイム3Dのが簡単だわ
654デフォルトの名無しさん:2012/08/14(火) 01:11:08.19
絵も音楽もストーリーもプログラミングより難しいからuyには無理。
この中でストーリーは割りとどうにでもなる。最近は王道の方が好まれるので、むしろ王道で。
絵は今は3DCGがあるのでまだ何とか。
3DCGをトレースするなどすれば少なくともデッサンは壊れない。
難しいのは音楽。音楽理論そのものも難しいが、
まず耳がよくないとダメ。それからリズム感も必要。
どちらも天性のものなので、どうしようもない。
作るのにも大変時間がかかる。
楽器が演奏できるのなら良いが、打ち込みとなると、10倍手間がかかる。
ミキシングも非常に難しい。各パートのバランスは常に変化するから。
しかし、一番やってて楽しいのも音楽だったり。でも一番飯の種になりにくい。
655デフォルトの名無しさん:2012/08/14(火) 01:13:51.09
音楽は著作権切れたクラシックでおk
656uy:2012/08/14(火) 01:25:32.75
言いたい事は、ゲームのロジックやアルゴリズムに関しては
別に知ったかで喋ってないよって事
安心して鵜呑みにするがよい

俺様のゲ製作は順調に進んでいる
結局クオリティの高い作品を作るなら複数人での開発の方がいい
でも複数人での開発になったら俺は間違いなくプログラム担当になる、
は? って感じじゃん
だから俺は自分で絵を描くし音を作るしストーリーを作る

あえて一人で作る理由は、ただやりたいからってだけ
俺はもう人間が嫌いになってしまった、嫌いな人間共からの評価などあまり考えない
自分が満足できるものが作っていけるかどうかがすべて
俺様はプログラミングの神
657デフォルトの名無しさん:2012/08/14(火) 01:30:20.42
プログラミングに達成感が得られないタイプか。 向いてないよ。
仕事にはしないほうがいいな。
658デフォルトの名無しさん:2012/08/14(火) 01:33:44.38
それでも世界を表現したいっていうなら、まず音楽をやることを俺は薦めるけどね。
人気シューティングゲームの東方も、音楽ありきで作成したらしいし。
絵やストーリーやゲーム性が狂っていても、笑って許せるが、
黒板を引っかく音は、誰しもが眉をひそめ、耐えられない。
それぐらい音楽は本能に根付いていて、その洗脳効果は高い。
だから、逆に、音楽さえ素晴らしければ、後がどうでも許されたりする。
不協和音は誰が聞いても不協和音だし、変なコード進行は誰が聞いても変なコード進行と、
正解不正解がハッキリしているにもかかわらず、
聞き分けられるだけの耳が無いことには修正不能だったりする、ある種のマジカルさもある。
一般に、人間が同時に聞き分けられる音は2音までだけど、和音は3音以上だからね。
659デフォルトの名無しさん:2012/08/14(火) 01:49:44.31
世界なんて簡単に作れる
printf("Hello World!");
660uy:2012/08/14(火) 02:10:27.32
素材から作るっていうのは基本だろうけど
俺は気が触れている
ソースコードは完璧にしないと落ち着かない
落ち着かないのでコーディング作業キリがつかないと絵の1枚すら描けない
だから俺はゲームは自分が完璧に作れる範囲で設計し、ソースコードを完璧にした上での創作を選んだ
俺様の真の目的は厨2過ぎると自覚している、気持ちは既に決まっていた
661デフォルトの名無しさん:2012/08/14(火) 02:43:36.17
当たり前だけど、何か作るとき、まずは一番の難所から挑戦する。それで無理だったら諦める。
かつての君にとって一番の難所はプログラミングだったんだろう。
絵やシナリオや音楽は、義務教育で結構な範囲をカバーするし、
少なくとも、それがどういうものなのか想像できるけど、
プログラミングはやったことなければ、それがどういうものなのか全く想像できない。
だから恐怖するし、ゲーム作るならまずプログラミングから片付けたくなるのは分かる。
しかし、実際にはプログラミングが一番簡単。難所の読みを誤ってるわけ。
軽視されがちだけど、一番難しいのは音楽。同人ゲー作成の最大の難所。
考えてみれば名作といわれるゲームは音楽も良いのが常だろ。
市販ゲームに限らず、洞窟物語にしろ東方にしろ、音楽へのこだわりがはんぱ無い。
洞窟物語なんか、自前の波形エディタとシーケンサまで用意して作りこんでる。
音楽はえてして後に回しがちなんだけど、それは誤り。
一番の難所だし、成功している同人ゲーは音楽から片付けてるのが多い。
同人ゲーは音楽がしょぼいから、ショボケーになるといっても良い。
絵やシナリオのしょぼさは音楽でカバーできるけど、逆は無理。
今のまま突き進んでも必ず音楽でつまずくよ。
662デフォルトの名無しさん:2012/08/14(火) 03:00:42.57
>>655
だよな
あと自動でランダム作曲してくれるソフトも便利だな
確かベクター辺りにもあった気がする
663デフォルトの名無しさん:2012/08/14(火) 03:01:25.32
プログラミングは簡単だから一人でも間に合う。エロゲーなんかだと、プログラマ一人なのは割と普通。
だからuyがいくらアホで作業が遅くても、ニートとしてのありったけの時間を投入すれば間に合う。
絵とシナリオは作業量が多いから、だいたい複数人でやってるのが普通。
一人でやるのはきついけど、ゲームのボリュームを落とすことで、なんとか減らせる。
出来上がったところまでで完成でよい。
音楽は一人でやってることが多いけど、それは才能があっての話。
プログラミングと違って耳のよさとリズム感という天性の才が必要だけど、
それは後から簡単に手に入るようなものでもない。
音楽理論そのものも、複雑怪奇でプログラミングより遥かに難しく、習得に時間がかかる。
しかも、音楽はシナリオを短くしたところで、シチュエーションに合わせて一通り必要になるので、
作業量を減らすのが難しい。最低でも喜怒哀楽+OP+EDで6曲は必要。
普通に曲を作るだけでも難しいのに、喜怒哀楽やOP感ED感を出すとなるとさらに難しい。
耳のよさとリズム感と、どこをどういじればどうなるのかという音楽理論を総動員しなければどうにもなら無い。
同人ゲー作りで音楽は本当に難所だよ。
664デフォルトの名無しさん:2012/08/14(火) 03:06:01.15
>>662
試してみれば分かるが、自動作曲ソフトの吐き出す曲は聞いていられないクオリティー。
特にゲームの場合は、何回もループするので、余計に耐えられない。
自動作曲ソフトが吐き出したものを手直しするにしても、
どこがおかしいのか判断できるだけの耳と、
どう直せばよいのか分かるだけの音楽理論が必要。
絵のように練習したからといって上手にならないのが作曲の怖いところ。
665デフォルトの名無しさん:2012/08/14(火) 03:10:37.67
絵は外注にだしてもある程度やり取りが発生するが、
音楽は割と丸投げしやすい。難所は放り投げるが吉。
666デフォルトの名無しさん:2012/08/14(火) 03:50:10.45
>>664
試してみたから言ってるんだが30〜40吐き出せば使える曲の1つくらいある
完璧ではないが聴くに耐える曲は1つくらいできる
30〜40吐き出すのは面倒だか音楽理論も知らないフリーの音源はないという状態だとそれだけの作業で作れるのはありがたい

確かに良い曲ではないから最近は環境音でもいいかなと思ってる
街中の雑踏のシーン用なら雑踏をレコーダー持って歩けばいいし
森の中のシーン用なら近所の山でとってこれる

それでもボス戦ではやっぱり音楽欲しいから音楽理論なしでも作れるらしいACIDを検討中
667uy:2012/08/14(火) 04:45:36.76
長文多すぎだろ
俺が個人でゲ製作はじめたのは何年も前
お前らとはちがう

そして今後死ぬまでやっていく覚悟がある
お前らとは覚悟がちがう
668uy:2012/08/14(火) 05:02:50.46
俺は1日中ゲ製作する時もあれば
ネトゲをし続ける1日もある
お前らとは経験値も違う

お前らとは目標の高さも違うしスキルレベルも違う
つうか俺はゲームなんて作ってない
俺が作ってるのは1つのソースコードと世界だ

俺様の最終目標は、ゲームを大勢にプレイしてもらうことではない
ある目標を達成するためのひとつが、ゲ製作であるだけで

毎日それだけをやっていられるほど暇でもない

お前らとは格が違う
669uy:2012/08/14(火) 05:12:16.84
お前らにこの背の荷は分からない
お前らとはこの身に背負っているものが違う

ガチでほとんどすべてのものを再利用できる設計と、
"そのつもり"なので、1年2年で終わる活動ではない
俺様はゲ製作とは別にプログラミングの神になろうともしている
これは目標とはズレた、ただの自己満足
ソースコードに一切の妥協は入れない
ゲームプログラミングを軽視するお前らとは違う
670デフォルトの名無しさん:2012/08/14(火) 05:22:50.55
  実を言うとuyはもうだめです。
突然こんなこと言ってごめんね。
でも本当です。

2、3日後にものすごく
激しい荒らしをやります。

それが終わりの合図です。
程なく長文の連投が来るので
気をつけて。
それがやんだら、少しだけ間をおいて
終わりがきます。
671uy:2012/08/14(火) 05:35:24.75
おまえらとはちがう
672デフォルトの名無しさん:2012/08/14(火) 05:42:34.11
ふっふっ
673uy:2012/08/14(火) 06:13:14.79
うんこちんちん
674デフォルトの名無しさん:2012/08/14(火) 11:18:08.12
10代20代テレビ離れ 30%減少 インターネットの方が面白い 総務省
http://engawa.2ch.net/test/read.cgi/poverty/1344886835/


Twitter Facebook YouTube mixi ニコニコ動画

総務省が発表した「情報通信白書」には、
世代別の「テレビを見る」時間を過去と比較したデータがある。
若い世代のテレビ離れは一目瞭然。
10代では、2005年に1日平均106分だった視聴時間が、2010年には70分と、
わずか5年で3割以上も減少している。
同様に20代では、2005年に104分だったのが2010年には76分に激減。

10代 106分 → 70分
20代 104分 → 76分

http://zasshi.news.yahoo.co.jp/article?a=20111104-00000005-pseven-pol

テレビよりインターネット

メディア環境研究所は2010年6月23日、毎年2月に実施している
「メディア定点調査」の最新版「メディア定点調査・2010」の抜粋編を発表した。
「20代男性はテレビ以上にパソコンでネットに接続している」
「男性は10代から30代でテレビよりも、パソコンと携帯電話を合わせた
インターネットへの接続時間が長い」

グラフ
http://www.garbagenews.com/img10/gn-20100624-17l.gif
http://www.garbagenews.net/archives/1443170.html

675デフォルトの名無しさん:2012/08/14(火) 11:30:50.95
TVはオワコン
676デフォルトの名無しさん:2012/08/14(火) 11:45:35.48
なんでもいいから完成させるのです。それを繰り返せば
いろんなモノが作れるようになるよ。
677uy:2012/08/14(火) 12:17:41.91
時間があればrubyの実装ソースをすべて理解し
mazhよりもrubyを理解し、その技術でruby界隈に対し全面戦争を行いたい
プログラミングに達成感はないでも妥協するとはいってない
OSも作るし言語も作るしゲーム、世界もつくる
俺様に妥協はない
この調子で世界でもっとも優秀な技術者であり続けたい
678uy:2012/08/14(火) 12:22:35.94
なんちゃってな
679デフォルトの名無しさん:2012/08/14(火) 12:22:40.38
こんなスレで昼間っからくだ巻いてる時点で妥協だらけの人生だろwww
680uy:2012/08/14(火) 12:26:10.18
>>676
完成はない
681uy:2012/08/14(火) 12:32:35.59
今日も俺様の手によってひとりの二次元キャラクターが誕生しそう
俺様はすべての二次元キャラクターを大事にする
ぼくの考えたら最萌えキャラ()で何かをモデルにしたわけでもなく自分そのものをアウトプットしてしまったときに
そのキャラクターのエロ絵を描いた時のどうしていいかわからなさをおまえ等は絶対知らない
682デフォルトの名無しさん:2012/08/14(火) 12:33:31.68
それは正直に言うとすごい気持ち悪いレスだと思う
683uy:2012/08/14(火) 12:46:30.30
音楽が重要だとかいうけど気のせいだからな
重要なものなど作り手によってかわる
俺様にとって重要なのはソースコード
そしてキャラデザ
無名作家のただ一冊の同人誌で東方界隈を騒がしたさなえ21をおまえ等は知らない
絵だけでもこんな世界は作れる
おまえ等にあれかける?
684uy:2012/08/14(火) 12:47:17.25
集中する
685デフォルトの名無しさん:2012/08/14(火) 12:47:58.20
ゆとり東方厨だったのかどうりで……ある意味納得したわ
686デフォルトの名無しさん:2012/08/14(火) 14:06:14.21
俺も絵も音楽もプログラムも一人で作ってるけど
ぐだぐだ言わずに作品どんどん作ったほうがいいよ
口だけじゃ何も始まらないから
687デフォルトの名無しさん:2012/08/14(火) 14:08:29.31
(´・ω・`)
688デフォルトの名無しさん:2012/08/14(火) 14:28:48.63
(´・ω・`)…
689uy:2012/08/14(火) 14:56:12.31
えらそうな奴が多いな
どうせ数年で飽きて創作やめる癖に上から目線キリッキリッだな
創作なんて別に特別なことではなく
普通に遊ぶし2CHネトゲもする
それで時間が足りなくなるならそもそも才能がない
690uy:2012/08/14(火) 15:02:14.72
背負っているもののサイズがFlote::INFINITY

おまえ等ではこの荷を持てない
691デフォルトの名無しさん:2012/08/14(火) 15:08:58.50
一番偉そうな上から目線だれかなぁ??
692デフォルトの名無しさん:2012/08/14(火) 15:24:07.66
>それで時間が足りなくなるならそもそも才能がない

おまえちゃんとした作品作れたこと無いって言ってたじゃねえか
自分で言っといて全然時間足りてねえだろwwwwwwwww
693デフォルトの名無しさん:2012/08/14(火) 17:15:26.59
カッコつけたセリフが間違ってるとか恥ずかしすぎる
694デフォルトの名無しさん:2012/08/14(火) 17:25:48.28
uy って何人いるの?
695デフォルトの名無しさん:2012/08/14(火) 17:33:58.64
恥ずかしくて人に公開できないようなゴミしか作っていないuyがいっちょ前に語るスレですか?wwwwww
上から目線で語るならそれに見合う実績を示してくれないとwwwwwwwwww
696デフォルトの名無しさん:2012/08/14(火) 17:48:39.00
>>694
ばか、一人に決まってんだろ
そんなこというと、「おれの名前を勝手に使ってる馬鹿がいる」とか
ぬかして、自分じゃない演技し始めるからやめれ
697uy:2012/08/14(火) 17:50:16.01
どうせ数年で飽きて創作やめちゃうおまえ等には関係のない話
そんな覚悟で音楽がどうとか難易度とかゲ製作技術を語るなよ
創作してきた時間もおまえ等よりは長い
そもそもゲーム以外をしばらく作ってただけ

おまえ等は人間

俺は人知を超えた存在
698デフォルトの名無しさん:2012/08/14(火) 17:51:31.93
(´・ω・`)
699uy:2012/08/14(火) 17:53:47.42
超一級のアルゴリズムで書いて
ゲームロジックに条件分岐やループが存在しないパズルゲープログラムもあるが
おまえ等には見せない

創作意欲の「色」が違う
700デフォルトの名無しさん:2012/08/14(火) 17:55:37.81
アルゴリズムに超一級も何もない
701uy:2012/08/14(火) 17:57:13.57

結論

おまえ等には無理
そこで座って休んでて良いよ
702デフォルトの名無しさん:2012/08/14(火) 17:57:54.92
さくさく動いて落ちなくて面白けりゃゲームなんて何でもいいのよ
中身のアルゴリズム何て一般利用者はどーでもいいわ
703デフォルトの名無しさん:2012/08/14(火) 18:00:20.81
まあ確かにある意味では人知を超えてるがw
704デフォルトの名無しさん:2012/08/14(火) 18:03:11.32
ゲームのCMで

「独自のアルゴリズムを搭載」
「マルチスレッドによるゲームエンジン」
「デバイス入力とコマンド解析を分離したシステム」
「ゲームデータは階層化されたフォーマットで保存」

とか打てば訴求力があると思ってる種類の人間だろ
705デフォルトの名無しさん:2012/08/14(火) 18:12:47.62
>>667
なんだ、たった数年か
706デフォルトの名無しさん:2012/08/14(火) 18:28:14.04
>>704
それ、お金を出してくれるお偉方をだ説得するために言ったのが
後でないがしろにできずCMに使われちゃってるだけだと思うよ
707デフォルトの名無しさん:2012/08/14(火) 18:34:07.85
ここの連中より自分の方が注いでる時間も少ないし密度も低いのになんで語るなって言えるんだろう
ゆとりが悪いんじゃなくて政治と親が悪いんだけどさ、かわいそうだよ
708uy:2012/08/14(火) 18:34:58.35
>>704
ずれてるな
ただのgolfの延長だよ
709uy:2012/08/14(火) 18:47:57.70
俺がやりたかったことを誰かがやってくれるならもう少し気楽に創作できた気がする
おまえ等が誰もやってくれないから俺ばかり最高に忙しい

俺はひとり前に進む
はりぼての覚悟しかないおまえ等なんてもう休んでいたらいい
以上
710デフォルトの名無しさん:2012/08/14(火) 19:47:07.41
何か知らんが乙
711デフォルトの名無しさん:2012/08/14(火) 19:54:48.33
>>709
uyのタイプの人間は出来合いのものがあってもプライドが許さず受け入れない
また使い方も調べもせず自分で一から作ろうとして何も成せずに終わるんだよ
人生無駄にしたくないならノベル系がいいならきりきりとかそういう選択肢もあるし調べた方がいい
気に入らないところはプラグインを作って拡張できるから開発欲も満たせるよ
712デフォルトの名無しさん:2012/08/14(火) 20:02:56.23
オブジェクト指向に合わないとか損しすぎかわいそす
713uy:2012/08/14(火) 20:34:27.39
効率的すぎてプログラミングの作業とかもうほとんどない

プログラミング作業はあくまでプログラミング意欲を発散したいからゲーム内部に無駄な機構作ってるだけで
整理されまくって再利用性が完璧だから
コードをかくのは楽しいよ
どんどん資産が貯まっていく感覚
714デフォルトの名無しさん:2012/08/14(火) 20:43:16.62
そんなに優秀でなぜ糞げー一本しか作れないのか疑問だ
普通こういう俺は優秀みたいなセリフって相当出来のいい作品リリースして世間も評価してから言うよな
715デフォルトの名無しさん:2012/08/14(火) 20:46:39.66
いいんだよ言わせておけば
716デフォルトの名無しさん:2012/08/14(火) 21:38:24.76
ゲーム用の GI や表面下散乱、影や陰、水や炎、煙や霧などの
グラフィックス系のエフェクトの質問もここで良いいですか?
717uy:2012/08/14(火) 21:41:18.36
はい
718デフォルトの名無しさん:2012/08/14(火) 21:48:24.23
てめえには聞いてねえよ死ね
719デフォルトの名無しさん:2012/08/14(火) 21:55:15.56
>>716
プログラムレベルの話ならここでいいと思うよ
>>1の1行目読んであなたが良ければどうぞ
720uy:2012/08/14(火) 22:01:40.70
そもそもお前らって職業的にゲームPGで、
ゲーム製作の担当はプログラミングなんだよね? で、それだけなんだよね?
なんか、何年間も自分創作活動してますみたいな雰囲気漂わしてる奴いるけど、
同人作家はこの板にそれほどいないと思うんだけど

>>718
はい次の方どうぞ
721デフォルトの名無しさん:2012/08/14(火) 22:02:23.26
粘度の非常に高い半固体みたいな液体をゲーム内で表現したいのですが、
参考になりそうな論文や記事がなかなか見当たりません。

納豆のように糸を引く表現です。
といっても、納豆ほど水っぽくはなく、もっと固い感じですが。

キャラが光線銃で当てた壁などの性質を様々に変化させ、
その変化を利用して面をクリアするタイプの3Dアクションゲームです。
ネバネバしたものが流れる様子や、張力を使って天井からぶら下がる様子を
ちょっとキモい程度にはリアルにしたいです。

流体力学を使って粘性のある流体をシミュレートする資料は多くあるのですが、
どれもその流体の剪断応力を考慮して渦を表現したり、
他の物体に流れの力を与えるという表現をするための粘性であって、
糸を引くようなネバさを表現した資料は見つけられませんでした。

試しにネバネバした天井から糸が引いている姿だけ作ってみようとしましたが、
天井から細長い「つらら」が垂れ下がっているようにしか見えませんでした。

物理演算とグラフィックスの両方をもっと磨く必要があるのですが、
資料のなさに嘆いています。
722デフォルトの名無しさん:2012/08/14(火) 22:06:03.29
>>721
ちなみに、流体力学をバカ正直に粒子法で表現したところ、
1フレームの絵を作るのにかなり時間はかかりましたが、
ネバッこい液体を表現することはできました。

ただ、ゲームとしては全く使えません。

リアルタイムを考慮した方法で参考になりそうな資料を探しています。
723デフォルトの名無しさん:2012/08/14(火) 22:19:14.13
調べてみたがよく分からん
そもそもゲームで物理シミュってあまり使わないから疑似的にそう見える方法を見つけなきゃだめかなと
液体のりみたいなのを表現したいんだと思うけど、それだったら飛び散ったり垂れ下がったりするのを
直径いくらの球体とみなして垂れ下がったときに引く糸は球体の大きさに応じて根元を太くしたり
ほかの粘液に引っ付くときは直径に応じて接触面を馴染ませて広げていくとかじゃないかな
724デフォルトの名無しさん:2012/08/14(火) 22:23:06.36
ビルボードみたいに考えるといいですよ
二次元上での粘性流体を計算すれば次元が一つ減るので超早くなります
演算結果から三次元のスライムのように見えるような描画の工夫は自分で考えてください
725デフォルトの名無しさん:2012/08/14(火) 22:24:16.27
>>720
基本的にオタク業界だから職業ゲームPGが趣味で絵描いたり音楽制作やるとかザラだよ
PGだけやってるわけじゃないよ
726デフォルトの名無しさん:2012/08/14(火) 22:32:05.49
右渡は全部できるんだよなしかも結構高いレベルで
おじさんあこがれちゃうわぁ〜

727デフォルトの名無しさん:2012/08/15(水) 01:16:54.23
ネット通信は、Winsock か ASIO のどっちがいいんだろ?
728デフォルトの名無しさん:2012/08/15(水) 01:32:28.07
>>727
どっちでもいいよ、好みの問題。
俺はずっとWinsock使ってるな。
モルピグまで作ったけど問題なかった(鯖はLinuxだからLinuxについてるsocket)。
729デフォルトの名無しさん:2012/08/15(水) 07:23:05.88
韓国大統領発言:「悪影響、数年続く」日本側懸念

韓国の李明博(イ・ミョンバク)大統領が14日、独立運動家への謝罪を天皇訪韓の条件だとする発言をしたことで、
日韓関係の展望はまったく見通せなくなった。日本側の外交関係者は
「信じられない発言だ。悪影響は数年単位に及ぶのではないか」と述べ、来年2月に発足する韓国の次期政権下でも
日韓関係の修復は簡単ではないとの見方を示した。

発言は、地方視察での教育関係者との会合でのもの。10日の竹島上陸について話してほしいと参加者に言われ、
「思いつきではない。深い配慮と(日本からの反発という)副作用がありうると(検討した)」などと述べた上で、
天皇訪韓に自ら話題を移した。李大統領の真意は不明だが、
予期せぬ質問に不用意な答えをしてしまったということではなさそうだ。

韓国政府は、李大統領の竹島上陸後、竹島周辺に整備する予定だった「総合海洋科学基地」の建設を
当面見合わせることにするなど、日本側の反発を意識したかのような動きを見せていた。
それだけに今回の発言は唐突感があり、与党セヌリ党の議員からも「日本にとっては敏感な問題なのに……」と
今後の展開を危ぶむ声が出ている。

日本政府当局者は「竹島上陸への対抗措置の検討が行われている状況で、こんな発言をされたら感情的反発が強くなる。
決していい結果にはならないだろう」と話す。
一方、韓国外交通商省当局者は取材に対し「何もコメントできない」と言葉少なに答えた。

http://mainichi.jp/select/news/20120815k0000m030047000c.html
730デフォルトの名無しさん:2012/08/15(水) 07:41:16.69
各所で話題になってるスレ違いニュースなんぞわざわざ貼らなくていいよ
731デフォルトの名無しさん:2012/08/15(水) 13:39:04.43
俺の作るゲームに完成は無いキリッでもなんでもいいからとにかく一旦
遊べるところまでつくり上げるのです。経験年数なんて何年でもいいから。
自分のわかる範囲内までしか作らないでやめちゃうと勉強にならない。
車輪の再発明だっていくらでもしていい。アルゴリズムや考え方の勉強に
なるから。

あ、再発明に関してはあくまで趣味で作る場合の話だけどね。
時間がいくらでも使える趣味での制作だったら何の問題もないよ。

でも音楽も絵も出来るってのはいいね。俺はプログラムしか書けないからなぁ。
732デフォルトの名無しさん:2012/08/15(水) 13:49:08.30
解像度の低いドット絵なら素人でも描ける
32*32くらいならいける
RPGならそれでバックバッファのサイズを320*240にして
フロントを640*480にすればそれなりになる

DirectXってグラボの対応してる解像度一覧取得できるけど
取得できない解像度のバックバッファも作成できるよね
あれって問題ないの?
733デフォルトの名無しさん:2012/08/15(水) 13:57:12.17
あれはフルスクリーン表示する時の画面解像度一覧じゃないの?
バックバッファのサイズは、1〜MAXの間なら何でもいいはずだよ。
変なサイズ指定しても、内部的には条件を満たす最小のバッファに丸め込まれてる。
734デフォルトの名無しさん:2012/08/15(水) 14:03:49.74
ドット絵ってたった1ドットの色を変えただけで、
たった1ドットずらしただけで、雰囲気が変わってくるからな。

どうせ俺プログラマだし、絵下手だし、時間もないし、この辺りで良いだろと
作業を終えようとしたところで、ちょっと色を変えてみると、
あら不思議すごく良い感じになった。
もうちょっと描いてみよう・・・

なかなか終わらない。

なんてことがよくあった。
735デフォルトの名無しさん:2012/08/15(水) 14:09:02.18
で?
736デフォルトの名無しさん:2012/08/15(水) 14:15:33.47
ドット絵下手なら豆腐でいいじゃん
737デフォルトの名無しさん:2012/08/15(水) 15:23:18.57
それ、ドット絵じゃなくてもいいじゃん
738デフォルトの名無しさん:2012/08/15(水) 16:41:16.34
いまどき2Dかよ!モデリングしろよ!
739デフォルトの名無しさん:2012/08/15(水) 16:52:12.73
約40万ポリゴンのリアルな豆腐が主人公のゲーム
740デフォルトの名無しさん:2012/08/15(水) 16:53:28.43
3Dはみんな同じように見えて個性が出ない2Dのが魅力的
技術的にも3Dのが楽だしやるなら2Dのがやりがいある
741デフォルトの名無しさん:2012/08/15(水) 16:57:44.66
3Dはリアリティにこだわっていくと全部一緒になるよな
そらそうだわな、目指してるものが一緒だもんなw
742デフォルトの名無しさん:2012/08/15(水) 17:01:25.19
やっと気づいたか
743デフォルトの名無しさん:2012/08/15(水) 17:11:04.43
みんないつかはゲームからリアルに回帰していくもんな
目指すところは一緒なんだよ
744デフォルトの名無しさん:2012/08/15(水) 19:35:50.63
3D=リアリティ追求とか本気でいってるのか想像力の欠如はプログラマとしてもだめだろ
自由度が一軸分増えてるんだよデフォルメ等の表現の幅もどれだけ増すか分かるだろ
個性が出せてないのは能力の限界を自分で決めてしまっているだけ
745デフォルトの名無しさん:2012/08/15(水) 19:42:17.74
一次元増えたお陰で、リアリティーが出て、ごまかしが効きにくくなって、
デフォルメの表現の幅は減ったわけだが。
ミッキーマウスの耳やジョーの前髪が立体的にどうなっているかって話。
746デフォルトの名無しさん:2012/08/15(水) 19:42:43.30
非常に滑らかに有機的に動く2Dは、それはそれであり
ゲームには、非現実感という軸も十分おもしろい
747デフォルトの名無しさん:2012/08/15(水) 19:59:02.59
>>743の言いたいことはなかなか伝わらないものだな
748デフォルトの名無しさん:2012/08/15(水) 20:00:36.09

749デフォルトの名無しさん:2012/08/15(水) 20:07:27.54
>>745
任天堂辺りは今でもデフォルメ沢山やってるけどな
リアル志向に移行したシリーズもあるけど
ゼルダみたく両方やってるシリーズもあるし…

デフォルメ表現の幅が狭くなったんでなく
昔はデフォルメ表現を止むを得ずやってたトコが沢山あって
そこがデフォルメをやめたってだけじゃね
750デフォルトの名無しさん:2012/08/15(水) 20:56:33.29
どちらにせよ、3Dになってからデフォルメは難しくなってる。
2Dみたいに適当にかいとけばよいってわけには行かない。
どんな角度から見ても破綻なくデフォルメするのは難しい。
751デフォルトの名無しさん:2012/08/15(水) 21:21:14.72
>>745 >>750
カメラとの角度でモーフィングしたり表現の仕方はいくらでもあるだろ・・・
それが自分で限界作ってるってこと
ハードと違ってソフトウェアってそういうものでしょ?
日本人はそういう風に頭が固すぎるから3D分野で遅れとってるんだよ
752デフォルトの名無しさん:2012/08/15(水) 21:22:29.18
ミッキーマウスの耳がモーフィングするんですか。怖
753デフォルトの名無しさん:2012/08/15(水) 21:24:32.51
>>752
言いたいことはそれだけ?がんばれよ
754デフォルトの名無しさん:2012/08/15(水) 21:46:28.11
>>751
そのモーフィングはデザイナにとってもプログラマにとっても、
一筋縄ではいかない、けっこう難しい事じゃないか?

デフォルメが難しいから、じゃあモーフィングで、
と簡単に言えるものではないと思うが。
755デフォルトの名無しさん:2012/08/15(水) 22:24:03.13
デフォルメ?
トイストーリーみたいなもん作れってか?
バカじゃね?

そもそも映画と同じでリアルな人間みたいなキャラ出して作りたかったクリエイターが多いんだよ
それで似たようなものができるのはデフォルメ等の3D技術の足りなさが原因ではなく
システムやストーリーに関する発想が貧困だからだよ
分析が間違ってたらどうしようもないよ
756デフォルトの名無しさん:2012/08/15(水) 22:37:26.68
アニメの技法知ってるととてもじゃないけど3D計算で真似したり超えたりできるとは思えない
757uy:2012/08/15(水) 23:23:28.31
質問なんだけど

 ■ ■
 
 ■ ■   こういう4つのオブジェクトがあって ↓へ向かってて
ある地点までいったら


 ■ ■
  X
 ■ ■

クロスさせたいんだけど どう実装したらいいか分かりません><
758デフォルトの名無しさん:2012/08/15(水) 23:25:19.71
技術不足すぎる
759デフォルトの名無しさん:2012/08/15(水) 23:25:50.12
コルーチンで書くと楽だよ
760デフォルトの名無しさん:2012/08/15(水) 23:26:12.96
>>757
モーフィングしろ
761デフォルトの名無しさん:2012/08/15(水) 23:29:29.05
>>757
それでプログラムが書けるわけないだろ

仕様書を書くくらいに詳細に質問してこい

まぁそれができるなら、大半はここに質問する前に自己解決すると思うが
762デフォルトの名無しさん:2012/08/15(水) 23:36:04.38
>>754
いくつかカメラに対しての角度毎のモデルデータ用意しておくだけだよ
用意してない角度は補完する
モデルデータ作るほうも限定した方向からみて破綻してないか意識するだけでいい
パターンが数倍になるだけで難しいとこないからやってみ
763デフォルトの名無しさん:2012/08/15(水) 23:36:20.49
>>757
質問を理解しかねます
764uy:2012/08/15(水) 23:39:21.02
あ、出来たし、もういいです
つかえねースレ。

でも出来れば4つじゃなくて、
任意の左右上下対象のオブジェクトでこういう事やりたいんですけど
アルゴリズムが思いつきません><
765デフォルトの名無しさん:2012/08/15(水) 23:40:24.78
お前ならできる

考えろ
766デフォルトの名無しさん:2012/08/15(水) 23:42:11.62
そのくらいuy製根幹部分でなんとかなるだろ
767デフォルトの名無しさん:2012/08/15(水) 23:42:46.28
>>764
日記はブログかツイッターでどうぞ

質問するなら、回答者にわかるように考慮してください
768デフォルトの名無しさん:2012/08/15(水) 23:48:08.34
この程度で迷うカス脳でよく自画自賛できるよなこいつ
769デフォルトの名無しさん:2012/08/15(水) 23:51:10.97
次スレは、
uyを生暖かく見守りつつも、時にはイジリ、時にはアメを与えてその抑揚を楽しむスレ
に改名な
770デフォルトの名無しさん:2012/08/16(木) 00:30:30.57
次スレで思い出したけど
最初に立てた奴はまさか24スレまでいくと思ってなかっただろうなw
771デフォルトの名無しさん:2012/08/16(木) 00:31:26.12
みたいです
772デフォルトの名無しさん:2012/08/16(木) 09:11:45.95
8月15日に攻撃対象へ指定されていた、日本のコミュニティサイト 「 2ch 」 は現在スムーズに稼動している。

インターネットカフェ ネトテロデウンヨンハプ は14日、光復節当日(8/15)、日本のコミュニティサイト 「 2ch 」 を対象とした
集団サイバー攻撃の計画を立てた。 計画が出ると、このカフェでは、(2ちゃんねるへの)攻撃に参加するというネチズンたちが列をなした。

しかし、このカフェは、15日早朝、突然の計画を取り消した。
カフェは、 『攻撃予定日は9月ですが、光復節(8/15)に日本サイトの攻撃はない』と公示した。

詳細 2012/8/15 ソース韓国語 inews24
http://news.inews24.com/php/news_view.php?g_serial=682052&g_menu=020310
773uy:2012/08/16(木) 15:47:19.25
質問です
弾幕とかのパターンの作り方についてなんですけど
基本的に、こうやって呼び出して
Danmaku.pattern0( obj )
↑これの内部で複数個のオブジェクトを発生させたりとかやってるんですけど、

angleや速度や、生成個数の
引数をちょっと与えるだけで、まったく別の弾幕になるものもあるじゃないですか?

だから、そういうものに対しては
Danmaku.pattern0( obj , { :angle => 40 , :n => 10 } )  とかってハッシュ引数渡したりするんですけど、
これだとハッシュ引数の存在するパターンとハッシュ引数の存在しないパターンが作られてしまい
実装ソース見ないと、ハッシュ引数にangleを指定したからといって、
パターンの様子が変わるかどうかが分からないメソッドだらけになるんですけど
どうやってまとめたらいいんですか? 引数は渡さないべきなんですか??
774デフォルトの名無しさん:2012/08/16(木) 16:02:49.84
そういうのは抽象ファクトリでいいよ
775デフォルトの名無しさん:2012/08/16(木) 16:10:47.87
いいよね
776uy:2012/08/16(木) 16:16:24.46
>>774
は?
インスタンスの作り方についてじゃないんですけど
777デフォルトの名無しさん:2012/08/16(木) 16:18:49.44
>>776
あたま大丈夫?
自分のレス見直してこいよ
778uy:2012/08/16(木) 16:22:46.30
やくたたず
779デフォルトの名無しさん:2012/08/16(木) 17:45:14.94
マジレスするとそういうのはハードコーディングするものじゃない
普通のプログラマはスクリプトor設定ファイルで持っとく

他の人が作った弾幕を利用できることを考えるとBulletMLとかの導入を検討してみては
780デフォルトの名無しさん:2012/08/16(木) 17:48:15.55
>実装ソース見ないと、ハッシュ引数にangleを指定したからといって、
>パターンの様子が変わるかどうかが分からないメソッドだらけになるんですけど

なんだその言語、捨てたほうがいいぞ
不正な引数が指定されたら例外投げてプログラム落とせよ
781uy:2012/08/16(木) 18:01:35.75
>>779
C++で書いてたころはスクリプト化してたこともある
けど根本的な解決にはなってない、スクリプトはスクリプトでハードコーディングだから

例えばこんな弾幕があったとして


  def pattern o
    x , y , img = player_center_get( img.new )
    ang = homing_target x , y
    [40,20,-20,-40].uy_map.+(ang) { | m |
      create( :enemy_shot , x , y , img , { angle: m , speed: 3 } )
    }
  end

↓ これの動作イメージ

           ○ ← てき
      / /  \ \
    / /     \ \  ← 弾幕


         ▲  ← プレイヤー


ちょっと配列の部分 [60,50,10,-10,-50,-60]  こうすれば、まったく違ったパターンになる
これはパターンとしての記述量が少ないものだからコピペは許されるけど、
行数の多いパターンをコピペして新しいパターン作ろうとすると行数が膨らみすぎるから
782デフォルトの名無しさん:2012/08/16(木) 18:07:14.41
それスクリプトで根本的な解決になってるじゃん
783uy:2012/08/16(木) 18:08:14.39
  def pattern o , hs = Hash.new
    a     = hs[:aaa] || [40,20,-20,-40]
    speed = hs[:speed] || 2

    x , y , img = player_center_get( img.new )
    ang = homing_target x , y
    a.uy_map.+(ang) { | m |
      create( :enemy_shot , x , y , img , { angle: m , speed: speed } )
    }
  end 

こうやって引数とって、コピペを回避するんだけど、
パターンごとにこれやられると、分けがわからなくなる
上手いまとめ方が分からない
引数を受け取るメソッドと受け取らないメソッドで区分分けとか、弾幕パターンの仕様を、どこかにメモっていくしかないのかな?

>>780
デフォルト引数も知らないの?
基本的にはっしゅ引数の解凍は
def func o , hs = Hash.new
 n = hs[:n] || 0 # この 0 はデフォルトの値  つまり、呼び出し時に func(o,{}) でハッシュが何も指定されなければ0
end
意味わかる?


784uy:2012/08/16(木) 18:09:39.71
>>782
そのスクリプトって、コピペ & ハードコーディングしまくりの再利用不可データでしょ?
それは結局ソースコード中の一部にハードコーディングしていい領域を作ってしまうのとあまり大差ない
俺はそこも妥協したくはない
785デフォルトの名無しさん:2012/08/16(木) 18:15:08.55
>>784
お前がスクリプトを全く理解してないから変なイメージを持って駄目だと決めつけてるだけ
こういう場面では普通はスクリプトで鮮やかに解決する
プロジェクトの事情でスクリプトが使えなければデータファイルから構成できるようにコードを書く
786uy:2012/08/16(木) 18:24:05.07
>>785
スクリプト導入もデータファイル導入もやったことはある

C++開発においてのスクリプトの導入は
・コンパイル→実行までの待ち時間の削減
・C++よりも簡潔な記述
この2点くらいじゃね?

仮にC++でなんらかのスクリプトを導入したとしても
色々とC++側の情報にアクセスできないと厳しいから
>>757
こういうのは作れないよ?

そしていまはC++からスクリプトを触っているんじゃなくて
スクリプトからC++触ってる感じだから、
スクリプトに、スクリプトを導入する意味はないだろ・・・ファイルわければいいだけ
787デフォルトの名無しさん:2012/08/16(木) 18:31:17.85
>>786
> >>757
> こういうのは作れないよ?

余裕で作れるし
つかむしろスクリプトが最も有効な場面だろ
ホントにお前はさっきから何を言ってるんだ
788uy:2012/08/16(木) 18:40:00.01
BulletMLとかその他の弾幕スクリプト見てきたら思ったよりもずっとハードコーディングだった

俺はが言ってるのはそのスクリプト内部で
似たような弾幕を作る時に
コピペをなくすために
どうやってアルゴリズムパターンをまとめてるかなんだ
無理なの?
789デフォルトの名無しさん:2012/08/16(木) 18:42:01.24
シンプルなBulletMLでいいだろ
790デフォルトの名無しさん:2012/08/16(木) 18:43:19.95
>>783
デフォルト引数は関係ないだろ
その関数が受け付ける名称以外の引数が渡されたらプログラム異常終了させろよ
791uy:2012/08/16(木) 18:51:59.07
C++しか経験ないんですか?
動的言語は引数のチェックとかそういう事をやる言語じゃない
792uy:2012/08/16(木) 18:53:04.48
確かに出来た方がいいけどな、キーワード引数とは違うから、言語自体が対応していない事を
自分のコードで書いてもソース冗長していくだけ
そこはあまり問題になってない
もういい
793デフォルトの名無しさん:2012/08/16(木) 18:54:28.02
794uy:2012/08/16(木) 18:59:05.65
もう少し調べてからしゃべろ
パラダイムが違うのでそれはやらない
そしてそんな部分は問題じゃない
ちょっと自分で思いついたからおまえ思考のじゃまちょいはなしかけないで
しね。
795デフォルトの名無しさん:2012/08/16(木) 19:02:18.55
ブロントと同じ空気を感じる
だがブロントとは違って邪悪だ
796デフォルトの名無しさん:2012/08/16(木) 19:04:04.93
おまえはあほか
パラダイムとか関係ないんだよただの設計方針だっつの
自分で引数が本当に適用されるのか不明とか泣き言言っておいてそれだ
今一瞬のことしか考えられないのかよ
797デフォルトの名無しさん:2012/08/16(木) 19:06:52.37
伸びてると思ったらまたかご丁寧にuyって名前使ってくれてんだから素直にNGしとけよはかどるぞ?
798デフォルトの名無しさん:2012/08/16(木) 19:18:23.80
uyをNGにしない理由を聞きたい

そんなに構いたいのか、それとも構ってほしいのか
799デフォルトの名無しさん:2012/08/16(木) 19:18:45.62
動的言語使いは細かい思考ができないからしゃあなし
800デフォルトの名無しさん:2012/08/16(木) 19:27:24.19
>>798
・専ブラは使ってない
・uyのためだけに専ブラ導入するつもりは無い
801デフォルトの名無しさん:2012/08/16(木) 19:31:33.26
ぷよぷよ作りたいんですが、どうしてもます単位の移動しかできなくて困っています。
回転したら、軌道に沿った中間を表示するようなアニメーションしたり、着地モーションさせたり、製品版みたいな操作性のものを作るにはどうしたらいいでしょうか
802uy:2012/08/16(木) 19:42:50.21
それ裏方で二次元配列のマップでも作ってんだろ

それを捨てろ
あたり判定でやれ

ブロックの一個一個をオブジェクトにする
で着地したとかはオブジェクトにたいしメッセージをとばしエフェクトの生成
803デフォルトの名無しさん:2012/08/16(木) 19:46:22.84
>>801
今はぷよを左へ移動する場合

 1."←"入力
 2.ぷよを隣のマスへ移動

ってやってると思うけどそれを

 1."←"入力
 2.ぷよを左へ移動させるアニメーションを再生(ぷよがピクセル単位で左へ移動するアニメーション)
 3.アニメーション完了後ぷよを隣のマスへ移動

に変えれば行けるよ
アニメーションするならタスクシステムって呼ばれる仕組みが便利だからその辺調べてみて

それとおそらく今の描画方法は構造体かint型かの2次元配列に入れてるぷよの色情報から
ぷよを描画してると思うけど、そこにぷよのピクセル単位のオフセット座標も入れてやって
ずらして描画できるようにする
タスクからそのオフセット座標を操作してやればアニメーションになるよ
これはあくまで一例だから自分にあったやり方探してみるのもいいかも
804デフォルトの名無しさん:2012/08/16(木) 20:08:13.84
>>802
そんな嘘には惑わされないですよ!アクションゲームじゃないんですから・・・

>>803
超ありがとうございます!
すごいです、タスクシステムだといけそうです!
805デフォルトの名無しさん:2012/08/16(木) 20:10:16.58
ごった煮リストはやめた方がよいのに。まぁ好きにすればよいさ。
806uy:2012/08/16(木) 20:13:21.17
スクリプト化しろ
807デフォルトの名無しさん:2012/08/16(木) 21:09:16.56
離散的な時間軸のゲームの時間軸上の点と点の間を補完するのって結構面倒なんだよな
普通にリアルタイムゲームのほうが解りやすい
808デフォルトの名無しさん:2012/08/16(木) 21:18:13.49
くそuy、一人キャップつけろっつってんだろぉぉぉぉぉぉぉぉぉ!!!
809uy:2012/08/16(木) 21:47:24.06
ダミーというか
画像を持たせずにタスクとxy座標だけを持たせた親オブジェクトつくって
それの子に画像を標準させる実体オブジェクトをつくって
親オブジェクトは入力受けたらすぐ移動
子オブジェクトに動けとのメッセージと自身の以前いたxy座標を送って指定座標までゆっくりmove
できた
810デフォルトの名無しさん:2012/08/16(木) 21:48:48.65
日記はブログかツイッターでやりやがれくそやろーーーー
811デフォルトの名無しさん:2012/08/16(木) 22:09:31.43
残念ながら朝鮮人がまともになるには、一度、徹底的な敗戦をさせることが必要。
日本は一切の支援を打ち切り、朝鮮半島を中国に占領させなければならない。
そうして初めて、朝鮮人は自分たちのキチガイぶりと愚かさを知るのだ。

そういう意味で、アキヒロは最後に2つ重要なことをした。

ひとつは日本の愚かな親韓派というエセ右翼やパチンコ保守の立場を完全に崩壊させたこと。
もうひとつは朝鮮半島を日本や世界から孤立させ、徹底的な敗戦に向かう用意をさせたこと。

アキヒロの置き土産は、やがて焦土と化した朝鮮半島で朝鮮人の細い目をようやく、わずかながらに
広げることだろう。それは遠い未来への大きな財産へとつながる、小さな礎といえる。

例の小林ナントカとかいうお下劣漫画家や産廃王子も、アキヒロの英断のおかげで
立場が完全に崩壊し、支離滅裂な発言を繰り返し逃げに転じている。

従来のパチンコ朝鮮人とつるんだエセ右翼の立場を堅持すれば、例の教育委員会と同じく、
国民の怒りを買って襲撃にあうとビビリはじめたということだろう。
812デフォルトの名無しさん:2012/08/16(木) 22:13:57.98
なんかもう、どこに向かってるかわからんよね
どこぞの一国のドンは。。
813uy:2012/08/16(木) 22:36:56.26
咲のことじゃなかろうな
日本をわかっていないなそいつ
814uy:2012/08/16(木) 23:44:32.63
BulletML ってこれだよね
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletml2swf/daiou_r1_boss_1.html

本当にこれが良いと思うの?
これABAの人がゲーム沢山作ってるからこのスクリプトも少し有名になっただけで
スクリプトの完成度としては底辺だろ
どう見ても機能が少なすぎ
テンプレにそったものしか作れない
815デフォルトの名無しさん:2012/08/16(木) 23:56:37.66
ひとりキャップ、略してトリップをつけろって何回言ったらわかるんだいuyは
816デフォルトの名無しさん:2012/08/16(木) 23:58:59.97
数学できないuyにとってはな
817デフォルトの名無しさん:2012/08/17(金) 00:03:43.55
>>814
これをテンプレっていうuyは相当すごいの作ってるんだろうなあ..
http://shinh.skr.jp/sdmkun/sdmkun.gif
818uY ◆gXFLM6waxs :2012/08/17(金) 00:30:21.60
それの何が凄いのか分からない
ほとんど直線にしか動いてないじゃん
弾幕生成時の角度とスピードが違うだけの組み合わせ
819デフォルトの名無しさん:2012/08/17(金) 00:34:42.06
途中曲がったり加速したりしてる弾もあるような
つか弾幕ゲーってあーゆー弾もありなんだ、よく避けられるな
820uY ◆gXFLM6waxs :2012/08/17(金) 00:37:27.53
ちょっとそのページのURL紛失してわからんけど
http://dixq.net/g/

ここの人が絵の線画を弾幕にするようなツール作ってたけど
そういうのはスクリプト化したら作れないから
821デフォルトの名無しさん:2012/08/17(金) 00:37:32.50
おいおまえちゃんとみたのか
少なくとも東方とか市販STGとかのレベルの弾幕なら余裕で記述できる程度のテンプレだけど
何作る気だよ また負け惜しみか
822デフォルトの名無しさん:2012/08/17(金) 00:41:55.07
>>818
とりあえず、トリをつけたことを評価する
823uY ◆gXFLM6waxs :2012/08/17(金) 00:43:28.02
バラバラに生成されたオブジェクトが読み込んだ絵の線の上に集合して、
そこからまた散らばるような弾幕を作りたいんですけどBulletML (笑)程度でかけますか?


824デフォルトの名無しさん:2012/08/17(金) 00:47:38.87
じゃあかけると言っておく
825デフォルトの名無しさん:2012/08/17(金) 00:50:46.31
>>814
オープンなのがいいんじゃね。 別に自作してもいいと思う。
826uY ◆gXFLM6waxs :2012/08/17(金) 00:59:39.17
http://shinh.skr.jp/sdmkun/sdmkun.gif
ここにあるような弾幕だったら

弾幕1個1個に対しての状態変数みたいなものがほとんどいらないじゃん
弾幕を生成してからNフレーム後に当たり判定を有効にさせるとか
画像の回転や透明度を、制御( 加速的な加算で )とか
そういう細かいことやりたくならないの?

ただ単純にスピード、アングルを指定するだけなら
>>781 にかいたように俺なら5行もかからない

俺はいま根幹部分の作成に入ってるけど、
ただの加算じゃなくて加速的な加算の出来る機構を作ろうとしてる
お前らには無理
827デフォルトの名無しさん:2012/08/17(金) 01:00:40.35
>>823
BulletMLはプログラムからのパラメータが指定できるから
次の手順で実現できるよ

1.Bulletとして次を定義しておく
 ・初期位置はランダム
 ・プログラムからパラメータとして目標値を指定できるようにする
 ・Bulletの挙動としてn秒で目標値に到着し、m秒停止後ランダムな方向に進む
2.プログラム側で画像解析して目標点の座標リストを作成する
3.2のリスト数分Bulletを生成し、各Bulletへパラメータとして目標点の座標を渡す
828デフォルトの名無しさん:2012/08/17(金) 01:17:59.40
>>826
す、凄まじいなこの弾幕
到底よけられん
829uY ◆gXFLM6waxs :2012/08/17(金) 01:18:48.99
> ・Bulletの挙動としてn秒で目標値に到着し、m秒停止後ランダムな方向に進む
これってさ、全弾が目標座標に到着してからのm秒カウントだけど、大丈夫なの?


それに「やろうとすれば出来る」とかはどうでもいい
Bulletを介さずに素で書いたほうがはるかに楽だって事
少なくとも既にBullet(笑)よりは簡潔に弾幕表現できてるから一生使わないよ
どうみてもXMLは冗長だろ
アルゴリズムに関係のない記述が、あのソースの中に何行あることか
830デフォルトの名無しさん:2012/08/17(金) 01:19:00.38
>>826
uyの作った弾幕のgifってあげられないの?
831uY ◆gXFLM6waxs :2012/08/17(金) 01:20:28.98
あげられないよ
忙しい
832デフォルトの名無しさん:2012/08/17(金) 01:24:08.40
>689 :uy:2012/08/14(火) 14:56:12.31
>えらそうな奴が多いな
>どうせ数年で飽きて創作やめる癖に上から目線キリッキリッだな
>創作なんて別に特別なことではなく
>普通に遊ぶし2CHネトゲもする
>それで時間が足りなくなるならそもそも才能がない

忙しい→才能ない
833uY ◆gXFLM6waxs :2012/08/17(金) 01:25:52.52
それに弾幕って見た目的な綺麗さならプログラミングの知識たいして要らずに作れる
俺はいま設計を本気でやってる
ゲーム中で動きのあるオブジェクト、プレイヤー、敵、ショット、エフェクト、アイテム関連の
動作パターンをすべて流用できる(事を目標にした)設計にしてる
だから一部をスクリプトで書くとかはありえない
弾幕だけ作ってるわけじゃないし
834uY ◆gXFLM6waxs :2012/08/17(金) 01:26:54.20
いまははなしかけないで
>>832
はなしかけんな
835デフォルトの名無しさん:2012/08/17(金) 01:27:52.10
でそれはいつ完成するんだ
うp
836デフォルトの名無しさん:2012/08/17(金) 04:23:46.85
シューティング程度のプログラムでそんなに高飛車になられても(笑)
837デフォルトの名無しさん:2012/08/17(金) 06:37:05.90
なんだ、弾幕シューティングツクールを作ってるのか
838uY:2012/08/17(金) 08:08:30.71
シューティング限定じゃないけどな
俺様はカクゲも作らなければならないので
あらゆるゲームを想定しながら設計してる
あちこちevalでメタプログラミングが入り始めてヤバイ
これrails超えた
839デフォルトの名無しさん:2012/08/17(金) 08:10:34.30
トリ
840uY ◆gXFLM6waxs :2012/08/17(金) 08:11:21.62
書き込んで2分後にレスとかどんだけF5押してんの?
841デフォルトの名無しさん:2012/08/17(金) 08:19:42.78
ワロタw
842デフォルトの名無しさん:2012/08/17(金) 08:27:32.32
1分後にレスしてるのはF5押しまくってるからなのか…
843デフォルトの名無しさん:2012/08/17(金) 08:36:52.91
ふう
844デフォルトの名無しさん:2012/08/17(金) 15:57:26.83
>>820
アホすぎだろ
スクリプトでできるしwww
845デフォルトの名無しさん:2012/08/17(金) 15:59:32.19
>>830
作ってないし作れないものをうpできるわけねーだろwww
846デフォルトの名無しさん:2012/08/17(金) 16:07:39.08
>>826
それ全部スクリプトでできますけど?
つかスピードと角度指定なら1行で十分ですよねwww
847uy:2012/08/17(金) 16:19:18.72
C++しかできないのかと思えば今度はスクリプトの連呼だよ
スキルレベルゴミカスと俺からみての一般レベルがいるようだ
何かレスほしい?いらないよね
848デフォルトの名無しさん:2012/08/17(金) 16:27:24.89
ゴミカススキルはuy君だろ
常にしょぼい発言ばかりでしかもコミュ障
かわいそうwww
849uy:2012/08/17(金) 16:48:18.27
加速ってのはちゃんと考えたらそれほど単純な処理じゃないんだよリアリティのでる加速が当加速だったり単純な加速になってるか?
別に今は乗り物の発進とか作っているわけじゃないけどさ

1フレーム目には001加速
2フレーム目にも001加速
3フレーム目には002加速
複数指定可の指定した速度に到達したら加速を今後100フレームさせないとか
など細かい指定がほしいんだよようは
初期速度
加速速度
加速率(加速速度を加速する処理)
wait(数種類ある)もっと機能あるしこれからも増えるけど
これがを簡潔にやれるようにかいてんだよ
毎フレーム001ずつ加速なんていう単純なものは作ってない
その処理を提供するクラスはめちゃ複雑な実装だし使うのも複雑
俺はこれを加速カウンタと名付けてゲーム内のオブジェクトの角度や透明度などあらゆる場所でつかってる
もちろん加速させないカウンタもあるよ
こっちもそれなりに複雑だけどな
俺様のソースの中でインクリメントやそれに該当する処理はほぼなくしてる
一部分だけ別実装しても仕方がない
弾幕についても同じ

弾幕に使ういくつかの基礎的パターンは敵の動きやエフェクトとおなじだろ?
わかりやすいのならまる段幕とか、得点オブジェクトが自きにホーミングしていく動作とか、おなじなんだよ
そこら辺をマジでマジなくらい流用するソースかいてんの
邪魔すんな
850デフォルトの名無しさん:2012/08/17(金) 16:50:43.46
>>849
それなんかのギャグか?
そんな糞簡単な処理で四苦八苦してるとか笑えるんですけどwww
今の仕事やめて芸人にでもなったほうがいいよ君wwwww
851デフォルトの名無しさん:2012/08/17(金) 16:54:43.32
>>849
それ1個の数式で書けるんだけどもしかしてuy算数苦手なの?
852デフォルトの名無しさん:2012/08/17(金) 16:56:53.64
それでいつも忙しそうなのか
数学できない底辺は大変だな
853uy:2012/08/17(金) 16:57:05.68
そのXMLのしょっっぼい初心者作品のスクリプトでなにができるってんだよ
使わねーて

初心者作品は初心者が使うには周波数あってお似合いなんだろうな

しかもよくみたらそれJAVAかよW
スクリプトの冗長性に納得したああああwww
あれでもJAVAよりは簡潔だからwwwあれでいいと思っちゃうんだろうな


JAVAは隔離しろよwww
JAVAで作られたスクリプトすすめてくるのがあり得ない
ちゃんと実装言語みてからいってほしい
854デフォルトの名無しさん:2012/08/17(金) 17:00:05.92
元はC++用でみんな使うからいろいろな言語に移植されてるんだよ
頭悪いuyにはまだちょっと早いな
http://code.google.com/p/rubybulletml/downloads/list
855uy:2012/08/17(金) 17:02:07.24
>>851
ごめんそのクラス状態変数が15個くらい内部で存在する
仮に1行でかかれても
例えば現在の速度や加速度やWAIT情報が外部から取得できないだろが
てつられちゃいけないよね
およそ200行及ぶクラス
これからも機能増えていくことが確定してるクラスが一行とかどんなまぬけだ
856uy:2012/08/17(金) 17:04:02.08
>>854
いやそいつJAVERだよ
過去日記読めばわかる
速読術みにつけてないやつって大変だね
857デフォルトの名無しさん:2012/08/17(金) 17:04:17.76
1行でかけるコードを無い知恵絞って200行で書くまぬけなら知ってる
858デフォルトの名無しさん:2012/08/17(金) 17:05:30.94
>>857
uyさんのことを悪く言うやつはゆるさねぇぞてめぇ
859uy:2012/08/17(金) 17:05:50.90
>>852
数学的に処理できる範囲の話なんていましてたか?
それに俺は数学は最低限はできる
860デフォルトの名無しさん:2012/08/17(金) 17:07:37.87
uyさんかわいそう
861デフォルトの名無しさん:2012/08/17(金) 17:09:25.74
>>858
お、俺そこまで言ってねえよ!名前だすなって!
862uy:2012/08/17(金) 17:09:54.16
純粋に加速していくだけならまだしもカウンタにWAIT入るとマジめに複雑だからな
実装も初期化も複雑
ちゃんと自分のコード覚えれる頭がないと作れても使えない
四則演算やインクリメントのほとんどないゲームプログラムなんておまえ等の知らない世界
863デフォルトの名無しさん:2012/08/17(金) 17:10:41.01
最低限て四則演算レベルってことでしょ?
864デフォルトの名無しさん:2012/08/17(金) 17:12:31.31
>>862
俺の根幹部分はBulletMLより冗長であるという虚勢を張っているのですね?
865uY ◆gXFLM6waxs :2012/08/17(金) 17:18:56.21
<?xml version="1.0" ?>   ← ゴミ
<!DOCTYPE bulletml SYSTEM "http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletml.dtd">  ← ゴミ
ゴミ
<bulletml xmlns="http://www.asahi-net.or.jp/~cs8k-cyu/bulletml">  ← ゴミ
ゴミ
<action label="top">   ← ゴミ
<repeat>  必要
<times>100</times> 必要
<action>  ← ゴミ
<fire>  ← ゴミ
<direction type="sequence">23</direction> 必要
<bullet/>  ← ゴミ
</fire>  ← ゴミ
<wait>1</wait> 必要
</action>  ← ゴミ
</repeat>  ← ゴミ
</action>  ← ゴミ
ゴミ
</bulletml>  ← ゴミ
866uY ◆gXFLM6waxs :2012/08/17(金) 17:19:50.76
100.my_times do
 sequence 23
 wait 1
end

rubyならこれだけで表現できるのになぁ・・・アホだろ
867デフォルトの名無しさん:2012/08/17(金) 17:21:39.57
いまさらxmlは無駄が多い(ドヤッ
って、何年前で時間止まってんの?亡霊?
868uY ◆gXFLM6waxs :2012/08/17(金) 17:22:00.45
もっといえば
100.my_times  sequence: 23 ,  wait: 1 do
end
じゃないか?

一行ワロタwwwwww


作品名: bulletml
評価 : 0点
効率 : ×
発想 : ありきたり
完成度: ひどすぎ
感想 : 作り直せ
869uY ◆gXFLM6waxs :2012/08/17(金) 17:23:03.03
>>867
そwwwwwれwwwwwをwwwwwww
つかえとwwwwwwいってるwwwwwおまえらがwwwwwwwwwwwwwwwwwwwwwwwwwww

wwwwwwwwwwwwwwwwww


別に、XMLが無駄が多いんじゃなくて・・・・
用途がちがうよね、 うん
これはXMLの間違った使用例
870デフォルトの名無しさん:2012/08/17(金) 17:26:02.74
そうかuyはぼっちだから作業分担したり出来合いのデータ利用したりするためのI/Fは要らないんだ
理解できないはずだ

そのコードは他言語でそのまま動くの?
871uY ◆gXFLM6waxs :2012/08/17(金) 17:29:30.27
この程度でいいならLispでいいじゃん・・・っていうね
XMLはLisp以下
通りでABAはゲーム数多くても長年活動してても雑魚臭が消えないわけだよね?
D言語とか新しいものにすぐくいつく奴は2種類いて
珍しいことを気まぐれでやって俺SUGEEEしたがってるだけの奴と、
極自然に情報が拾えちゃう奴がいる
こいつは前者

>>870
> そうかuyはぼっちだから作業分担したり出来合いのデータ利用したりするためのI/Fは要らないんだ

いや、 その通りだけど、 「必要」ないんだけど
872デフォルトの名無しさん:2012/08/17(金) 17:29:42.91
>>869
"xmlを使え"とは言ってないよ。
無駄だろうけど、実バイナリ編集用データそのまま使う必要ないでしょ。
で、その上bulletmlを超えられないことは火を見るより明らかなわけで。
見苦しいなあ、追い詰められて草生やして
873デフォルトの名無しさん:2012/08/17(金) 17:31:03.27
uy ← ゴミ
874uY ◆gXFLM6waxs :2012/08/17(金) 17:31:50.06
俺bulletmlみたいなの作ったことあるわ
C++で初めてSTG作ったとき確かそんなかんじ

で、それは効率悪いと気づいてすぐにやめたんだよね
プログラミング始めて1年もたたずに気づいちゃった・・・

この人何年やっているのかな
875デフォルトの名無しさん:2012/08/17(金) 17:32:31.08
(´-`)oO(なんでこの子使ってもいないライブラリの作者の悪口言うんだろう)
876デフォルトの名無しさん:2012/08/17(金) 17:33:20.47
妄想癖まで発症したか
真剣に通院をお勧めする
877uY ◆gXFLM6waxs :2012/08/17(金) 17:33:42.27
>>870
> そのコードは他言語でそのまま動くの?

これに対しパーフェクトな反論をしてやるとさ
bulletmlでかいた弾幕はbulletml以外で動くのか???? だよ

ほかのスクリプト使いたくなったら
いままで作ったものを全部書き写すのかよ効率わりーー
878デフォルトの名無しさん:2012/08/17(金) 17:34:43.29
>>877
頭大丈夫?
879デフォルトの名無しさん:2012/08/17(金) 17:37:26.54
[股間部分作ってる俺SUGEEE]
[自分のより汎用的なライブラリが既にあった]
[それ効率悪い]
[似たようなの作ったことある] ←Now

負け惜しみがすぎるなuyは
880uY ◆gXFLM6waxs :2012/08/17(金) 17:38:17.76
>>879

867 :デフォルトの名無しさん:2012/08/17(金) 17:21:39.57
いまさらxmlは無駄が多い(ドヤッ
って、何年前で時間止まってんの?亡霊?
881デフォルトの名無しさん:2012/08/17(金) 17:39:54.11
>bulletmlでかいた弾幕はbulletml以外で動くのか???? だよ

BulletML使って書けばスクリプト差し替えだけで動く
そのためにいろんな言語向けに移植されている


>ほかのスクリプト使いたくなったら
>いままで作ったものを全部書き写すのかよ効率わりーー

スクリプト使わずにハードコーディングしてる奴のセリフwwwwwwwwwwwww
882デフォルトの名無しさん:2012/08/17(金) 17:40:59.86
>>880
uy「xmlは無駄が多い(ドヤッ」

日本語もできなかったとは
883uY ◆gXFLM6waxs :2012/08/17(金) 17:49:22.50
ぇええー?よく分からないけど
お前らは根幹システムに使っている言語が
C++だかJAVAだかC#だか知らないけど

そんなに頻繁にコロコロ変えてるのかね?
まずはそんな状況にいることを危ぶめ
884デフォルトの名無しさん:2012/08/17(金) 17:56:32.02
想像力が欠如してますね 脳の病気です

1.非PGに「このボス用の弾幕作っといて」と丸投げできる
2.他の人が公開している弾幕をファイル差し替えだけで利用できる
  過去のアーケードSTGの弾幕がBulletML公開されているものもあるため利用できる
885デフォルトの名無しさん:2012/08/17(金) 18:04:27.29
よってたかってuyさんをいじめるのは良くないことだと思うの
886uY ◆gXFLM6waxs :2012/08/17(金) 18:09:48.45
あーもうほらいつの間にか移植性とか社畜の話だよ
個人ゲ製作で移植性気にしながら作ってる奴とかいる?

これだからム板は


>>870
> そうかuyはぼっちだから作業分担したり出来合いのデータ利用したりするためのI/Fは要らないんだ

>いや、 その通りだけど、 「必要」ないんだけど
887uY ◆gXFLM6waxs :2012/08/17(金) 18:10:40.94
>>884
> 2.他の人が公開している弾幕をファイル差し替えだけで利用できる

ポトペタでパクり作品作りたいならツクールでやってれば?
888デフォルトの名無しさん:2012/08/17(金) 18:14:42.14
移植性普通に気にするだろネトゲとか作ったことないの?クライアント環境は千差万別だよ
まあドマイナーな糞げーなら移植性無視してハードコートで済ませちゃってもいいのかもしらんがね
そんな多彩な環境でプレイされる事なんてないだろうしな
889uY ◆gXFLM6waxs :2012/08/17(金) 18:15:52.35

883 :uY ◆gXFLM6waxs :2012/08/17(金) 17:49:22.50
ぇええー?よく分からないけど
お前らは根幹システムに使っている言語が
C++だかJAVAだかC#だか知らないけど

そんなに頻繁にコロコロ変えてるのかね?
まずはそんな状況にいることを危ぶめ




論破。
890デフォルトの名無しさん:2012/08/17(金) 18:20:00.06
>>889
プロジェクト中で何種類かの言語を目的別に使いまわすのが当たり前ですけど
一つの言語に絞って他をないがしろにしてるほうがやばいからそんな状況を危ぶめ
891デフォルトの名無しさん:2012/08/17(金) 18:20:11.67
892デフォルトの名無しさん:2012/08/17(金) 18:22:51.21
>>890
言語によって強い分野、弱い分野があるから普通は目的別に使い分けるけど
rubyじゃないとプログラム組めない子なんだ、勘弁してやってくれ・・・
893デフォルトの名無しさん:2012/08/17(金) 18:33:04.44
rubyがなくなれば平和になるんだろうな
894デフォルトの名無しさん:2012/08/17(金) 18:35:10.59
uy鬼君でrubyお肉不味
895uY ◆gXFLM6waxs :2012/08/17(金) 18:48:43.56
こうして相手との力量差を認めないから差が開いていくんだろうな
896デフォルトの名無しさん:2012/08/17(金) 18:50:23.76
897デフォルトの名無しさん:2012/08/17(金) 19:06:34.53
>>895
うん。みとめろw
898uY ◆gXFLM6waxs :2012/08/17(金) 19:14:36.07
お前らがいままで書いた一番規模の大きいプログラムって
言語と規模どんくらいですか?

動的言語は、静的言語の10倍の情報量があるとして、
俺はもうすぐ1万行行くから、およそC++換算で10万行ってところかな
メタしまくりだから実際はそれ以上だよ
899デフォルトの名無しさん:2012/08/17(金) 19:16:58.66
1行でできることをわざわざ200行使って書いてるんだから50行の間違いだろ
900uY ◆gXFLM6waxs :2012/08/17(金) 19:27:30.51
>>899
お前程度でこれ何やってるかわかる?
俺のいってた加速カウンタはこんな感じのメソッドがずっと続いていく

    def count_function
      if @loop_wait > 1
        @loop_wait -= 1
        return @c
      end
      @c += @add
      @add += @plus
      @add *= -1 if @c >= @rrrr || @c <= @nnn
      @c = @rrrr if @c >= @rrrr
      @c = @nnn if @c <= @nnn
      if (@c >= @rrrr) or (@c <= @nnn)
         @loop_wait = @loop_wait_wait 
      end
      if @loop_wait_ex.include? @c
        @loop_wait = @wait_ary
      end
      return @c
    end
901デフォルトの名無しさん:2012/08/17(金) 19:30:44.46
ずっと続くとかセンスなさすぎる…
902uY ◆gXFLM6waxs :2012/08/17(金) 19:33:31.74
はやく一行でかけよ
903デフォルトの名無しさん:2012/08/17(金) 19:38:17.98
ガウスの足し算て知ってるか
904デフォルトの名無しさん:2012/08/17(金) 19:41:53.68
変数名wwwwwwwwwwwwwwwwwwwwwwwwwwwww
905デフォルトの名無しさん:2012/08/17(金) 19:51:11.50
なにこれ振動さすの?
906デフォルトの名無しさん:2012/08/17(金) 19:51:23.75
>>900
本当はphp厨だろw
907uY ◆gXFLM6waxs :2012/08/17(金) 20:02:16.57
>>905
加速やwaitを抜きにして考えれば
メソッドの戻り値が呼び出す度にこうやって変化していくもの

1 2 3 4 3 2 1 0 1 2 3 4

でこの間にwaitとか、加速を入れられるわけ
何にでも使えるカウンタだよ
プログラミングにおいてのアルゴリズムのほとんどは
1 , 2 , 3 と 1 , 2 , 3 , 1 , 2 , 3 と 1 , 2 , 3 , 2 , 1 のカウンタで表現できる
これは俺様が見つけたパターンであり、どこの教科書にも書かれていないと思うけどこんなに基礎的なものは他にない
908デフォルトの名無しさん:2012/08/17(金) 20:04:33.50
>こんなに基地外なものは他にない
909デフォルトの名無しさん:2012/08/17(金) 20:44:58.10
ふひ
910デフォルトの名無しさん:2012/08/17(金) 20:54:17.53
釣りなんだろ?
俺様が見つけたとか言っちゃてる辺り
911デフォルトの名無しさん:2012/08/17(金) 21:14:38.90
>カウンタで表現
専門学校1年生がこんな感じ
912デフォルトの名無しさん:2012/08/17(金) 21:24:04.55
初心者は簡単にシンプルにやりゃ良い事をなぜか無意味にへんなやり方で無駄したがるよね
913デフォルトの名無しさん:2012/08/17(金) 21:25:07.72
いいんだよ、若いんだもの
914uY ◆gXFLM6waxs :2012/08/17(金) 22:09:24.98
そんなに教える気ないですし
915デフォルトの名無しさん:2012/08/17(金) 22:44:35.46
アスペか
916デフォルトの名無しさん:2012/08/18(土) 00:40:22.48
韓国最大手の釜山貯蓄銀行が破産。自己資本比率は驚異の-50.29%
http://engawa.2ch.net/test/read.cgi/poverty/1345217353/


釜山(プサン)地方裁判所は16日、債務超過に陥った釜山貯蓄銀行に対し、破産を宣告しました。

釜山貯蓄銀行は去年2月17日に営業停止処分を受けたのに続き、去年4月29日には、BIS=国際決済銀行による
自己資本比率がマイナス50.29%と、健全性を示す基準の1%を大幅に下回っていたため、
不健全金融機関に指定されました。

当時、釜山貯蓄銀行の資産総額は1兆3000億ウォン、借金は3兆5000億ウォンで、
資本金の増額や第三者による買収など経営改善の可能性も低いことから、
管財人が清算に向けて破産を申請していました。
5000万ウォン以下の預金資産や優良資産などはすでにブリッジバンクのイェソル貯蓄銀行に引き継がれており、
破産宣告により、釜山貯蓄銀行に5000万ウォンを超える預金を預けている
預金者と後順位の債権者は、破産手続きによる配当を受けることになりますが、
残った資産を処分しても、配当として受け取る資金はほとんどないものとみられます。
ただ、5000万ウォン未満の預金者は、今後もイェソル貯蓄銀行の管理のもとで、金融取り引きを続けることができます。
これに先立ち、今月14日には第一(チェイル)、第一2、プライム相互貯蓄銀行が
ソウル中央地方裁判所に破産申請を行っており、
トマト貯蓄銀行とパランセ貯蓄銀行もすでに先月、裁判所に破産を申請しています。
http://world.kbs.co.kr/japanese/news/news_Dm_detail.htm?No=44906
917デフォルトの名無しさん:2012/08/18(土) 00:41:09.54
918デフォルトの名無しさん:2012/08/18(土) 01:00:37.74
なんでこんなに暑いのにみんな元気なんだろうと思ったら夏休みなのか
919デフォルトの名無しさん:2012/08/18(土) 01:09:45.54
夏休みってなーにー?
920デフォルトの名無しさん:2012/08/18(土) 01:13:46.63
移植性は考えないけど、すべて流用できる設計にしてるのか
なかなか新しいな
921デフォルトの名無しさん:2012/08/18(土) 02:21:00.28
 韓国経済が急激に失速している。一番の原因は、これまで韓国経済を引っ張ってきた原動力である輸出に陰りが見え始めたためだ。

 輸出に次いで内需の鈍化も懸念されている。住宅価格の下落とそれに伴う消費や投資の抑制がみられ、バブル崩壊以降日本が苦しんだ
「日本型長期デフレ」の兆候が現れている、との指摘も少なくない。

■好調に見えたのはヒュンダイやサムスンだけ

 韓国の輸出は、2012年7月の通関ベースで前年同月に比べて8.8%減と大きく減った。マイナス幅は3年ぶりの高い数値だという。

 これまで韓国の輸出をけん引してきた自動車の輸出が頭打ちになったのをはじめ、船舶や石油化学製品、携帯電話など主力製品の輸出が急速に落ち込んだ。

 韓国の輸出額は国内総生産(GDP)対比で50%を超える。「輸出国」といわれる日本でもGDP対比では10%半ばだから、輸出依存度の高さは圧倒的だ。
そのため、輸出の不振は即韓国経済の失速に直結する。

 なかでも韓国経済を支えてきたのが欧州連合(EU)向けの輸出。EUとは自由貿易協定(FTA)を結んでいる。そのEU向けが12年1〜6月期には前年同期に
比べて16.0%も減った。EU諸国の債務危機から発した景気低迷が影響した。

 さらには中国向けも1.2%減った。第一生命経済研究所経済調査部の主任エコノミスト、西?徹氏は、「中国向け輸出の減少はボディブローのように効いています」と話す
。韓国の素材や部品メーカーは中国を介して、間接的にEU向け輸出を増やしてきたからだ。

http://headlines.yahoo.co.jp/hl?a=20120817-00000006-jct-bus_all

922デフォルトの名無しさん:2012/08/18(土) 03:13:49.12
_
923uY:2012/08/18(土) 03:48:46.28
最高な気分ですよ
すべての辻褄がリンクした
お前らがバカにしている設計
大規模なのに小さな設計だ
さてオブジェクト指向とはなんだったのだろうか
静的言語とはなんだったのだろうか
このソースとともに世界に問いをかけたい
924デフォルトの名無しさん:2012/08/18(土) 03:51:57.67
そーすうp
925デフォルトの名無しさん:2012/08/18(土) 03:52:47.46
そしてトリ
926デフォルトの名無しさん:2012/08/18(土) 03:58:09.18
○○とはなんだったのだろうか
927デフォルトの名無しさん:2012/08/18(土) 04:46:15.50
928デフォルトの名無しさん:2012/08/18(土) 05:43:25.02
釣りかガチかは知らんがガチで言ってるなら
この手の仕事に就くことも趣味範囲で徒党を組むことにも向いて無さそうだな
実に多いのだがプログラマーと言う人種は傲慢な奴だらけなんだよな
でも現場なら対人能力も求められる職であったりする
929uy:2012/08/18(土) 06:13:58.46
だからなに
日記はミクシィにでもかいてろ

俺様のさっきあげたソースがすべてだよ
理解できないんだろ
そういうこと
930デフォルトの名無しさん:2012/08/18(土) 08:19:49.33
>>929

@c = 10
@add = 5
@plus = 1
@rrrr = 15

例えばこの状態のとき変な動きするけど
もしかして使う側もものすごい繊細なパラメータ設定が必要になるんですか?
931デフォルトの名無しさん:2012/08/18(土) 08:57:54.52
野田の支持率回復策「丸紅の韓国ソーラーパネル購入廃止」「スワップ全廃」「韓国国債全売り」あと何?
http://engawa.2ch.net/test/read.cgi/poverty/1345247029/


李明博大統領の“嘘”に韓国ネットユーザーから非難相次ぐ

韓国のニュースサイト「ビューズ・アンド・ニュース」は、14日に李明博大統領が「天皇が韓国訪問を望んでいるようだが、独立運動中に亡くなった人々を訪ね、心から謝罪するならば」
と発言したことについて、じつは訪韓を要請していたのは李明博大統領の方であったことを報じた。
(中略)
同記事のコメント欄には「稀代の詐欺師、李明博の仕業がまたバレたな」「李明博はいったい何がしたいのか」「李明博より日本の新聞の方が信用できるなんて…」
「2009年共同通信、聯合ニュース、大統領府の共同インタビューで李明博が公式に天皇訪韓を提案したが、謝罪云々は当時から一言も言っていなかった」など、李大統領を非難するコメントが相次いで寄せられる事態となった。
http://news.livedoor.com/article/detail/6861303/
関連
韓国:李明博が『天皇の足を縛り、土下座させてやる!』発言をどうおもいますか?
http://note.chiebukuro.yahoo.co.jp/detail/n103471

首相、李大統領に親書…竹島共同提訴案を明記
http://www.yomiuri.co.jp/politics/news/20120817-OYT1T01361.htm
「足をしばって、ひざまづいて謝罪するなら」韓国大統領・天皇を侮辱
http://koku.iza.ne.jp/blog/entry/2797970/alltb/
税金補助で高額購入のメガソーラー由来電力、鳩山由紀夫の仲介で野田が丸紅会長と韓国との提携協議
http://japanese.yonhapnews.co.kr/headline/2012/08/02/0200000000AJP20120802003300882.HTML
スワップ破棄発表後、円安株高の展開へ
http://www.jiji.com/jc/c?g=eco_30&k=2012081700144


932デフォルトの名無しさん:2012/08/18(土) 09:19:53.07
韓国国内からも非難されてるのか…
韓国の大統領って辞めた後消されちゃうんでしょ?
ちょっと同情するわ… 日本も挑発に乗って国交断絶してあげようよ…
933デフォルトの名無しさん:2012/08/18(土) 09:46:23.02
>>930
使うほうも難しいとかuy本人が言ってただろ
自分でも扱いに困る糞ライブラリしか作れないんだからあんましいじめちゃ可哀そうだぞ
934デフォルトの名無しさん:2012/08/18(土) 10:03:12.76
>10 :uy:2012/05/06(日) 05:18:10.42
>Ruby以上の言語は無いよ
>あとは別言語の資産をどのようにしてRubyで扱う為のパイプラインを作るかだよ
>
>俺も今あることをやっているが
>手間がかかる上に上手くいく保障が無い


>883 :uY ◆gXFLM6waxs :2012/08/17(金) 17:49:22.50
>ぇええー?よく分からないけど
>お前らは根幹システムに使っている言語が
>C++だかJAVAだかC#だか知らないけど
>
>そんなに頻繁にコロコロ変えてるのかね?
>まずはそんな状況にいることを危ぶめ


あの、、言ってる事が矛盾してるんですけど、、
935デフォルトの名無しさん:2012/08/18(土) 12:02:50.90
>>929
uyなのるならトリつけろや
つけねーなら名無しで書き込んどけタコ
936デフォルトの名無しさん:2012/08/18(土) 12:55:10.66
ばぶー!
937デフォルトの名無しさん:2012/08/18(土) 14:43:48.06
uyはさすがに恥ずかしくなってこなくなったな
938uY:2012/08/18(土) 14:44:20.55

>>930
>@c = 10
>@add = 5
>@plus = 1
>@rrrr = 15
この場合の動作は、
まぁnnn も引数ないとダメだから それを 0だとすると、
1フレーム目に @c+@add(+5) → 15
2フレーム目にaddされて @c+@add(-6) → 9
3フレーム目に @c+@add(-7) → 2
4 @c+@add(-8) → 0
5 @c+@add(+9) → 9
6 @c+@add(+10) → 15
7 @c+@add(-11) → 4

...
と、こんな感じでそのうちaddがplusのせいで15を超えるから最終的には
1フレごとに0と15を行き来するだけの処理になるだけ


使う側も詳細パラメータ渡さないとだめだよ
元々IFでかいたら、20行とか30行いく上に状態変数も
必要になるような処理を、メソッド内部でやってるに過ぎない
939デフォルトの名無しさん:2012/08/18(土) 14:46:15.89
uY ◆gXFLM6waxs
940デフォルトの名無しさん:2012/08/18(土) 14:56:42.53
やってることが因数分解の再発明レベル。
世の中にまったく役に立たない。
941デフォルトの名無しさん:2012/08/18(土) 14:58:08.51
いつからYが大文字になったのかと思ったら新しいトリつけてからか
uy ◆pdu1UZmweEはどうした?
942uY ◆gXFLM6waxs :2012/08/18(土) 15:00:44.59
お前らとはちがう
俺もこれ最初に作ったとき自分が使いこなせるか分からなかったけど
思っていたよりも使う場面が多く
いつの間にか手に馴染んだ

ここら辺がおまえらとの開発効率の違い
俺様の自信の裏づけ
943uY ◆/uuWdTQ106 :2012/08/18(土) 15:01:47.12
uy ◆pdu1UZmweEさんはトリを忘れて死にました
944デフォルトの名無しさん:2012/08/18(土) 15:01:58.77
成果もださずに自信持つw
945デフォルトの名無しさん:2012/08/18(土) 15:04:42.14
>>938
@nnn=1000いれた
946uY:2012/08/18(土) 15:08:38.59
>>945

@nnn > @rrrr の場合に @add がマイナス値なら許される
この場合はカウンタが逆計算になるようにinitializeでやってる


@nnn > @rrrr && @add > 1  の動作は保証してない
947デフォルトの名無しさん:2012/08/18(土) 15:08:39.82
nyが何をしたいのか
それが一体どうしてすごいと主張しているのか
真剣に理解不能なんだけど
みんなわかってて話してるわけ?
948デフォルトの名無しさん:2012/08/18(土) 15:10:03.16
動作は保証してない(キリッ
949uY:2012/08/18(土) 15:11:41.85
じゃあお前らの言葉で言うなら「例外をだす」 だよ

俺はソースが冗長する & 後から変更もするからエラーチェックや例外処理は全然入れない
950デフォルトの名無しさん:2012/08/18(土) 15:12:08.00
>>949
で、おまえ誰だよ
951uY ◆gXFLM6waxs :2012/08/18(土) 15:13:13.86
ほか板での誤爆が怖いんだよ
分かるかな?

お前の好きなキャラクターの
AA全レスとかやってるキャラの中身がuYだったらどうする?
952デフォルトの名無しさん:2012/08/18(土) 15:13:36.61
rubyはデバッグモードでのみ実行される処理とかできないんかい
だとしたら終わってるな
953デフォルトの名無しさん:2012/08/18(土) 15:14:46.49
ひどすぎるなwww
入力データをいちいち手作業で調べて除外しないといけない
インストールするとサポートとしてuy本人がついてくるのか
954デフォルトの名無しさん:2012/08/18(土) 15:14:49.64
>>951
そうなのかよw
955デフォルトの名無しさん:2012/08/18(土) 15:15:47.76
uyはわざわざ複雑に書いて俺すげーしてる厨だからなあ…
956デフォルトの名無しさん:2012/08/18(土) 15:16:34.41
>>953
保守契約は年更新です
957uY ◆gXFLM6waxs :2012/08/18(土) 15:18:41.38
>>955
それは認めるけどしょうがない
少しでも効率いい方法思いついたら書き直すから
今の設計なんてオブジェクトの生成にmethod_missing使ってる

ゲーム起動時にはメソッドがまだ宣言されてない
こうりつてきでたのしいれす
958デフォルトの名無しさん:2012/08/18(土) 15:26:01.32
次スレ立てておきました

ゲームプログラムなら俺に聞け25
http://toro.2ch.net/test/read.cgi/tech/1345271079/
959uY ◆gXFLM6waxs :2012/08/18(土) 15:26:46.33
時々この板の連中はプログラミング能力に個人差があることを忘れていると思う
自分がありえないと思うからって、
世界にそれを出来る奴がいないことのほうがありえない
960デフォルトの名無しさん:2012/08/18(土) 15:27:01.35
>>955
複雑に書いて効率上がるならまだしも
生産性も実行効率も悪くなるのがuyの特徴
961デフォルトの名無しさん:2012/08/18(土) 15:28:06.68
>>958
gj
962デフォルトの名無しさん:2012/08/18(土) 15:29:35.88
>>959
誰から見てもありえない
ノウハウがない奴がやりがちな再発明とかいろいろ無駄なことしすぎ
963デフォルトの名無しさん:2012/08/18(土) 15:30:30.68
uY ◆gXFLM6waxsはなんだかんだいって人気者だなおい。。
964uY ◆gXFLM6waxs :2012/08/18(土) 15:37:14.91
じゃあ質問するけど、
敵A が x座標 200からスピード1ずつ右へ移動しx座標400へ到達し、
そこで100フレーム待機、その後左へ移動しx座標200へ戻り、到達したら100フレーム待機
この動作をループさせたい

これをどうやってかきますか?
俺はこれを一行出かけるようになったけど、君の方法にも純粋に興味があるよ
965デフォルトの名無しさん:2012/08/18(土) 15:41:57.95
1行書くと内部でオブジェクトが呼ばれたりいろいろ処理が走るのは1行とは言わない
966デフォルトの名無しさん:2012/08/18(土) 15:44:13.89
昔、モルピグのアイテム取得に関して質問した者だ。
アイテムを拾うボタンを押してからアイテムが入るまでに全くタイムラグがないから
誰が拾うか分からないはずのモルピグでどうやって取得処理しているか気になってたけど、
普通に鯖に問い合わせて処理していてその通信が高速だからタイムラグがないように見えていただけだった。
そりゃそうだよな、鯖に問い合わせる前に取得させといて一番最初に拾った人にだけアイテムが入るとか手品でもない限りありえないよな。

最近そのモルピグが会社の経営難の関係で低スペのボロ鯖に変更されたという噂を聞いたんだが
やってみたらアイテム拾うボタン押してから取得までに0.5秒くらいタイムラグがあった。
967デフォルトの名無しさん:2012/08/18(土) 15:51:52.66
taskSystem.AddTask(Loop(Move(tekiA, Vec(200, tekiA.y, tekiA.z), Vec(400, tekiA.y, tekiA.z), 1).AddNext(Wait(100).AddNext(Move(tekiA, Vec(400, tekiA.y, tekiA.z), Vec(200, tekiA.y, tekiA.z), tekiA.speed).AddNext(Wait(100))))));

C++にそのまま書くならクライアントコードはだいたいこんな感じかな
WaitとかMoveは単一のタスクで
AddNextで追加されたタスクはそのタスクの終了後に実行されるタスク
Loopは与えられたタスクを繰り返す
それだけ
968uY ◆gXFLM6waxs :2012/08/18(土) 16:00:53.92
c = func( 200 , 400 , 1 )
task_add { |o| o.x = c.call }
969デフォルトの名無しさん:2012/08/18(土) 16:04:36.49
>>964
座標がとりたいだけなら
・初期値200、ステップ幅 1で200個数値を生成するジェネレータ
・初期値400、ステップ幅 0で100個数値を生成するをジェネレータ
・初期値400、ステップ幅-1で200個数値を生成するをジェネレータ
を連結させたジェネレータを使えばいい
こうすればuyのような馬鹿げた仕組みを使う必要もないし拡張も簡単

CombGen* c = new CombGen()
c += Gen(200, 200, 1); // 200〜400の数値を順番に生成する
c += Gen(100, 0); // 初期値は使用しないため省略. CombGenが現在の値を初期値としてセットする
c += Gen(200, -1); // 400〜200の数値を順番に生成する

CombGenはすべてのGenを使用しきったら再度1つ目のGenから繰り返す
970uY ◆gXFLM6waxs :2012/08/18(土) 16:09:06.48
>>969
あっ、カウンタを作ればいって考えには到達したみたいだねすごい
でも
>CombGen は
>>907 ここに3種類のカウンタを提示してあるだろ
971デフォルトの名無しさん:2012/08/18(土) 16:11:03.22
>>970

・1 , 2 , 3
c += Gen(1, 3, 1);

・1 , 2 , 3 , 1 , 2 , 3
c += Gen(1, 3, 1);

・1 , 2 , 3 , 2 , 1
c += Gen(1, 3, 1);
c += Gen(2, -1);
972デフォルトの名無しさん:2012/08/18(土) 16:12:42.14
>>970
すごいことだと思ってるようだけどこんなの中学生でも思いつく
973uY ◆gXFLM6waxs :2012/08/18(土) 16:14:50.19
967氏のコード
taskSystem.AddTask(Loop(Move(tekiA, Vec(200, tekiA.y, tekiA.z), Vec(400, tekiA.y, tekiA.z), 1).AddNext(Wait(100).AddNext(Move(tekiA, Vec(400, tekiA.y, tekiA.z), Vec(200, tekiA.y, tekiA.z), tekiA.speed).AddNext(Wait(100))))));



uY ◆gXFLM6waxs のコード
c = func( 200 , 400 , 1 )
task_add { |o| o.x = c.call }
974デフォルトの名無しさん:2012/08/18(土) 16:17:24.79
>>973
uyには>>967がxyz座標考慮してしかもキャラの動作まで記述できてるのわからないだろうね
975uY ◆gXFLM6waxs :2012/08/18(土) 16:23:48.47
xx = func( 200 , 400 , 1 )
yy = func( 200 , 400 , 1 )
zz = func( 200 , 400 , 1 )
tt = func( 200 , 400 , 1 )
task_add { |o|
  o.x , o.y , o.z , o.t = xx.call , yy.call , zz.call , tt.call
  chara_no_move o
}
976デフォルトの名無しさん:2012/08/18(土) 16:24:45.30
>>968>>975が1行には見えないんだけどなんでだろう
あ、「1行で書ける」じゃなくて「1行出かける」なのか
977デフォルトの名無しさん:2012/08/18(土) 16:24:56.99
位置座標を示す数列ジェネレーターだけで解決しようとしてる人は地形やほかのオブジェクトの影響どうすんの?
978uY ◆gXFLM6waxs :2012/08/18(土) 16:25:42.99
>>977
同意だよ
rubyみたいにlambdaというか、yieldのブロック空間がないと簡単にそれは解決できない
979デフォルトの名無しさん:2012/08/18(土) 16:25:44.47
>>977
>座標がとりたいだけなら
980デフォルトの名無しさん:2012/08/18(土) 16:28:05.13
>>978
いや違うんで貴方の話はいいです
981デフォルトの名無しさん:2012/08/18(土) 16:28:28.72
977 位置座標を示す数列ジェネレーターだけで解決しようとしてる人は地形やほかのオブジェクトの影響どうすんの?
uy rubyみたいにlambdaというか、yieldのブロック空間がないと簡単にそれは解決できない

uyわかってないみたいですよ
982デフォルトの名無しさん:2012/08/18(土) 16:30:44.70
>>977
実際のゲームで使用するのが目的じゃなくてuyの>>900のコードを噛み砕いただけのコードだから
そういう他からの影響はまったく考えていないいよ
983デフォルトの名無しさん:2012/08/18(土) 16:34:05.74
uyは「短いコードはわかりやすい ← これは間違いだった」スレにいるのに
自分が行き過ぎた共通化に走ってることに気が付かないんだよなあ
984デフォルトの名無しさん:2012/08/18(土) 16:37:03.05
行動目標だけを設定して具体的な操作はキャラオブジェクトに丸投げする
行動目標を受け取ったオブジェクトはビークルとAIに従って目標を達成する
これを数列で表現するのはまず無理だしやる意味もない
985デフォルトの名無しさん:2012/08/18(土) 16:37:06.09
>>983
そっちにいるuyは>>978と同じである証拠はないのでいないと思っている
986デフォルトの名無しさん:2012/08/18(土) 16:38:06.74
ごめん、いたことあったわ
忘れて
987デフォルトの名無しさん:2012/08/18(土) 16:39:44.26
>>984
残念だけど手詰まりだって >uy
988uY ◆gXFLM6waxs :2012/08/18(土) 16:42:15.86
ruby読めないのか
キャラオブジェクトは
task_add { |o|
 〜ここの空間〜
}

> これを数列で表現するのはまず無理だしやる意味もない
数列で表現しきれるものはそっちで簡単に書く
細かい動作は普通に書いてるよ
989uY ◆gXFLM6waxs :2012/08/18(土) 16:45:15.40
task_add { |o|
 case 状態
 when 0
  o.x = c.all
 when 1
  o.x += 1
  o.y += 1
 end
}


こんな感じ
990デフォルトの名無しさん:2012/08/18(土) 16:45:31.26
>>988
あれれ〜おっかしいぞ〜?表現『できる』ものは?
君、昨日だかおとといだか、全部これでおっけ〜みたいなこと言ってなかった?
991デフォルトの名無しさん:2012/08/18(土) 16:46:38.88
uyに文句言うやつは対等にトリつけろ
992uY ◆gXFLM6waxs :2012/08/18(土) 16:47:33.34
>>990
そこまで勘違いしてた?


"""""""""""""""""""""""理論的には"""""""""""""""""""""""
       ↑( ょめる?)

ってだけで、全部をかくわけないじゃん
993デフォルトの名無しさん:2012/08/18(土) 16:49:12.05
理論的にも書けない
994デフォルトの名無しさん:2012/08/18(土) 16:53:39.72
簡潔に1行で書けるとか言ってたのは何だったんだ
数列で表現しきれるものなんてほとんどないし
ということはほとんどほかの方法で書いてるんだよな
995デフォルトの名無しさん:2012/08/18(土) 16:56:48.23
時間とフレーム数変換するロジックと、使う側には時間で見える処理くらい組もうよ
996uY ◆gXFLM6waxs :2012/08/18(土) 16:57:01.31
>>994
だから「wait」と「加速値」を実装したんだよ

ただのカウンタだったらお前らにも扱えるけど、加速カウンタはお前らには扱えない
997uY ◆gXFLM6waxs :2012/08/18(土) 16:58:52.41
>>994
ほとんどカウンタで書いてるよ
俺が考えきれずに加速カウンタの引数が難しくなる場合は直接書くってだけ
998デフォルトの名無しさん:2012/08/18(土) 17:00:32.45
理路ん天気にはlambdaですべてかける
999uY:2012/08/18(土) 17:02:17.21

                /|    ト、
             ト、./ //| / |
              | |ア"´|\/  ,!/|.    イ┬┬┬
           __|∠::::::::::|::::::\/ /      ┼┼┼┼ ー┼-、\.     ┼ 
         _lr ==‐-::、:|:;;_:::::::\`ア    ┴┴┴┴   |  |  ー‐、  |  ̄ソ
      ., '"´ |::[l::[l::r--、::r、::`"7ー‐'ァ    ノ ヽ ヽ ヽ   ノ 、ノ    _ノ ノ 、_
     / ./   7`ヽ‐..、__::::|」:::::/:::::::/ヽ、
   /  /    / |:::::::::::::;!   ̄ ̄ヾ ̄   ':,     ー┼─  
    '、 .!   /|、|:::::::::::/|  /|   |:::!   ',.    l二|二l  l __
     ヽ|  ,:'|イlハヘ::::::∧-‐ァ''7   ,ハ::|     |    ー三l三l‐  |  ノ
     |/7 jり \| ァテ‐r'、 イ::::::ハ   |     、」     .レ 、_
      .|:/"  r    |ノ  リY/:::::/ |.  ,'                           ┌‐-、
      八        ゝ‐゚'ノ/::::/ソ /   /     |.    ー┼‐ _|__|__   /  ー┼-、\    }
     /::::/\ ` ー   ι゙゙/::::/´|/   {    |     ‐┼‐   | 、」  /┐   .|  |   r‐'´
    ,'::::;'   |ヽ、___  , イ'::::/ /|   '、     '、__.ノ  (_ノ`ヽ  '、_  / (__.ノ ノ 、ノ   o
     |:::::|   , '"/{アr'」/ /|:::;:'\' '、     ヽ.
    '、:::! ./|:::r:'| |/  rノレ'r':::/`ヽ \    ':,
     ヽ| r' /:::{l::/rヘ、   ノ ノ:::/\,ハ    |
       Y::::::ヽム ノ \ r' r'::::/     Y   ノ
1000デフォルトの名無しさん:2012/08/18(土) 17:02:22.94
本気で何言ってるのかわからない
だれかuyのロジック解説してくれ
ついでにスレの流れも意味不明だから翻訳頼む
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。