583 :
名前は開発中のものです。:
>>544 丁寧で好感持てた。
プログラムはそれこそ千差万別。
エラーにならない限り、
その時の自分の持てるレベルで説明するのでいいと思う。
特に、見た限り、そのとても丁寧な解説は
一からの初心者を視野に入れたサイトと見た(これも好感持てた)ので
そのプログラムは合理性や高度さよりも、
わかりやすい、基本的な考え方などが重視されていいと思う。
頑張って、初心者がRPGを完成まで導けるような
充実したサイトにしてもらいたい。
コミュ障、僻みに妬み野郎、口先番長などが巣食う2chで宣伝した以上、
たまには罵詈雑言を浴びることも覚悟の上だよね?
だからバカは無視して、
>無言でご覧になって、無言で参考にして、
>無言で立ち去って行くだけのサイトを目指しています
の精神で継続してもらいたい。
がんばれ。今後は無言で応援している。
>>581 DxLibがXPのサポートを切る、って読み違えてしまった。
まあ切ってくれて構わない、いやむしろ切ってくださいお願いしますって感じではあるんだけども
>>583 自画自賛の自演ワロタ
基本から間違ってる上に
複雑なタイトルワーク作るのに無駄プログラム打つバカがいるかってのアホ。
そもそもゲーム講座なのにゲーム部分のプログラムが一つも無いゴミサイト。
さっさと削除しとけ。ネットに間違いだらけのゴミ巻き散らかすなっての。
なんというか惜しいサイトだな。
上手く言えないけど、講座/解説と銘打っちゃってるからかなあ?
自分の製作日記、あるいは技術メモというスタンスなら受け入れられたかもしれん
587 :
名前は開発中のものです。:2013/06/10(月) 12:06:30.30 ID:nUfRfHbk
>>585 自演扱いは聴き捨てならんな。お前の方が迷惑なの気付け。
正義感でも振りかざしてるつもりで、自分に酔ってんのか?w
仮に1000歩譲ってそのサイトの作者より、
お前のほうがオツムのデキが良かっても、
初心者に対し、なにもする気がないお前なんぞより
自分なりに、自分の持てる能力で初心者になにかしら伝えるサイトを
作ろうとしてる
>>544の方が何倍も偉いわ。
どうせお前みたいな心貧しき人間は、普段から
「どうせ別のことに使われるのに募金してる奴はバカだなw)」だの
「目標もって頑張ってても才能が無い奴らは無駄無駄w(自分が諦めたから)」
とか思って生きてんだろ、どーせww
お前のがゴミなんだよ、気付けや。
文句があるなら、そいつより立派で正しいってサイト作ってから言えよ、屑
588 :
名前は開発中のものです。:2013/06/10(月) 12:09:32.69 ID:nUfRfHbk
>>585 お前みたいな人間が世界で一番見苦しくて恥ずかしくて情けない人種だと気付け、ゴミ屑野郎
お前みたいな人間を産んで育てた親も親だろうが、
親のためにさっさと死んどけよ、ゴミ。それがお前に出来る親孝行だぞww
一度の長文でも腹の虫収まらなくて
改めて同じレスに二度目の安価打つって
よっぽど感情高ぶったんだな
また持論の
「単芝を生やすやつは○○」
を裏付ける事例が増えてしまった
わろす
それも完成させることが前提の話ね。
少し前までは別なブログで同じことやってたようで
最後まで完成させることなく一ヶ月周期でブログを作っては消してるみたいだぞ
593 :
名前は開発中のものです。:2013/06/10(月) 12:29:56.26 ID:nUfRfHbk
まあなにをやっても続かない奴は俺も呆れるが、
>>585みたいに努力してる者やこれから努力しようとしてる者を
バカにする屑は許せんな。屑中の屑だからな。
そういう屑共のおかげで現代の日本はダメになってんだよ、とまで
言わせてもらうわ。
kazuki必死だなw
初心相手に自分はスゲーと認めて貰いたい
そんな下を向いたサイトなんぞ役に立つかよw
俺は善意でこれを書いているが
分からんだろうなw
基本的にゲーム製作目的の講座系サイトって、大半が色々と見えてきた初心者が書きたがるよな。
もちろんそうじゃない人も稀にいるが、その場合はもっと淡々としてるか考え方含めて話してたりするので、見てわかるよな。
元々ゲームロジックに関する部分って定型の教科書なんて無いし書きようがないので、
もしも話すことがあるとしたら、それはゲームのビジネスロジック以外の部分について話す事になると思うが、そうなると結局、
「参考にした文献の書き直し」してるだけになっちゃうから、本当に初心者以外の人間だと
「気付きや発見のTips、技術メモ」をブログにまとめる程度になるよな、って感じ。
ちなみに俺もメモ公開してるが、特に宣伝はしてない。
>>586も言っているがこれ解説だとかうたっちゃってるからなぁ
どうみてもプログラム触りたての初心者がドヤ顔で盗んでください^^とか書いてるんだ
色んな事を理解していない上に間違っているようだし敵意を向けられても仕方ないわな
これが小中のガキならまだわからんでもないが、中年のおっさんだし
自演で自画自賛とか…
某サイトが自演臭満々で名前挙げられても、ほぼスルーなのに
別サイトが紹介されると不自然なくらい叩かれる不思議。
上級者がちゃんとした解説・講座サイトを無料で作ってくれればいいのに
現実は初心者サイトの批判するやつしかいない。。。
DXライブラリ置き場があるじゃない
基本掴めばあとは自分で試行錯誤していくもんじゃないの?
601 :
名前は開発中のものです。:2013/06/10(月) 15:17:50.62 ID:nUfRfHbk
>>598 まあ、中途半端な人間ががんばってるの見たら
住人の中の心貧しき人間は僻みと妬みで叩きたいんだろうよw
いやなら見なきゃいいだけなのになw
602 :
名前は開発中のものです。:2013/06/10(月) 15:20:59.17 ID:nUfRfHbk
>>599 そうだよなw自分には必要ないからって叩く。
それこそ、自己中だろっての、アホ丸出しだよな。
>>600 >基本掴めばあとは自分で試行錯誤していくもんじゃないの?
お前の価値観を押し付けんな。
そうじゃ無い奴らだっているんだよ、ボケ
だったら講座という名目でサイト作ってる奴
全員にてめえが「こんなの要らない、削除しろボケ」と言いまわれよ
クソボケが。
どんなサイトでも、ひとりでも喜ぶ奴がいたら
それで需要があるんだよ。
お前が要らないからって否定するな、ゴミ野郎
603 :
名前は開発中のものです。:2013/06/10(月) 15:25:51.62 ID:nUfRfHbk
似たような感じの基地外レベルで噛みついてるバカが
ID:lrzVHnU4、ID:W6r+Z/q6
の単発かよwwww
自演してまで叩きたいんだ?
そんなにあのサイトが気に入らないんだ?w
基地外レベルの嫉妬w
そんな小さい器でな、現実で犯罪犯すなよ?屑w
なにこの必死で自演してる頭のおかしい奴・・・
価値観の押し付けはお互い様に見える現実
しかし、HP紹介してる奴=HPの持ち主なのか?
だったとしたら、愚かすぎるわ
何度も、ここで紹介して叩かれているのに、まだ出すのかよwww
ここには確かに初心者もいるが上級者もいる。
もしかしたら、DXライブラリの開発者もいるかもしれない
そんな所に未完成のゲームの開発日誌乗せても釈迦に説法だろwww
ひょっとして、HP製作者の知り合いが嵐目的のためにやってんじゃないの?
サイト宣伝のために自演して、指摘されたら暴れてスレを荒らすような人間はクズです
608 :
名前は開発中のものです。:2013/06/10(月) 16:48:10.41 ID:nUfRfHbk
>>605 は?こっちのどこが押し付け?
俺は必要な奴がひとりでもいれば、それでいいじゃんって言ってる。
サイトの製作者だって、必要な人が見ればいいってスタンスじゃん。
消せだの、必要ないだの、ほざいてるのは
ただひとりだけだと思うんだが?
お前バカか?
>>606 自演じゃねえつってんじゃん。
サイト製作者をほめたら、バカが自演呼ばわりしたから
個人的に攻撃してるだけ。
ここでは有名なのかしらんが、あのサイト制作者のことは全く知らない。
普通に好感持てたから応援してるってコメントしただけ。
で、俺は個人的に頑張ってる奴を悪く言う屑野郎が嫌いな性質でね、
サイト関係無しに、その屑野郎に付き合ってるだけ。
わ か っ た か ?
>>232で宣伝して叩かれる(ブログは削除済)
>>262で再び自演宣伝(携帯使って自演レス)
>>544で再び宣伝
>>583で再び自演褒め
頭に血が登ると連投が止まらない。
真性のマジキチでしたとさw
いつもの炎上商法だなw
∧_∧
ガラガラ( ^^ ) <これからも僕を応援して下さいね(^^
=〔~∪ ̄ ̄〕
= □――◇ Kazuki
>>606 上級者は未完成の開発日誌見ても生暖かい目で見守るだけでいちいち噛み付かないよ。
レスの内容にボケかゴミかバカしかないんだけど…
小学校高学年でももう少しマシな文章書けるぞ
あかんあかんこの流れはなんや
これならdirect11の話をしてる方がましやんけ
>>608 自演じゃなければ、それはそれで管理者に迷惑かかるぞw
TwitterでDM送るとかにしなされ。
>>608 お前さんがその長文でバカだのなんだの汚い言葉も並べて、自分がいかに悪くないかを押し付けてきてんじゃん
それすらわからないほど興奮してんのか?
スレをレイプすんのもうやめて
つか、お前ら全員うざいから
黙れよ
なんかレスがいっぱい付いているなと思って見てみたら・・・。
619 :
名前は開発中のものです。:2013/06/11(火) 11:26:40.10 ID:El7/2pPV
練習でファミコン版のドラクエもどきを作っているんですが
動く町人たちとプレイヤーの当たり判定で悩んでいます。
最初は町人にめり込んだら元の位置に戻す方法でやっていたんですが
移動先のマスに誰もいないか判定してやる方法に変えたいんです。
ネットを見てるとマップの当たり判定同様に
移動先をif(hairetu[][]==1){進む}といった感じで
2次元配列を覗きながら判定してるケースが多いです。
でも、これって毎時、移動している町人の座標から
2次元配列内に町人の現在値として格納してやるってことですか?
だとすると、マップの当たり判定を格納した2次元配列とは別に、
動くオブジェクトの現在値を格納する2次元配列を用意するということでしょうか?
また、町人の居場所に合わせてリアルタイムに2次元配列の中も変更させて行くはずですが
例えば町人が移動して次の要素に存在を表す1を格納したとして
その町人が移動する前の居場所を表していた要素内の1はどう0(誰もいない)にしてやればいいのでしょう?
町人みんなに座標情報を持たせる
621 :
名前は開発中のものです。:2013/06/11(火) 12:01:50.87 ID:El7/2pPV
座標情報は持たせています。
が、その座標をどう利用すれば
プレイヤーの移動先にその町人がいるか
判断出来ますか?
プレイヤーの座標と町人の座標とを引数とした
判定関数を作ってやる感じですかね?
セルベースなら単純にその座標を参照するだけだと思うけど
前の居場所を表していた要素〜ってのは直前の座標を記憶しておいて
移動できたら直前の座標に0をとかじゃだめなん?
移動ができることを確認した時点で移動先にフラグをたて、移動描画に移る
>動くオブジェクトの現在値を格納する2次元配列を用意するということでしょうか?
そうしておいた方が何かと楽だろうね。
>その町人が移動する前の居場所を表していた要素内の1はどう0(誰もいない)にしてやればいいのでしょう?
難しい事はない。移動処理ルーチンで
(1)現在地に0を代入
(2)村人移動処理
(3)現在地に1を代入
で終わり。あと、1ではなく村人ID値を入れておいたほうがいいと思う。
村人に話しかけたら話す内容違うでしょ?
そのID値によってどのメッセージを表示するか判定するの。
おまえら優しいな。悪いながれを断ち切ろうとしてくれてwww
設計的には、キャラクラスとマップクラスを作って、マップクラスに2キャラと移動方向を引数とした判定メソッドをつくる
アルゴリズム的には、移動した2キャラのxy座標が一致するか判定するだけ
普通キャラクラスの中に町人たちの配列を入れる?
それとも同じクラスの実体を町人の数だけ作る?
>>624 横槍だけど、以前似た方法やってたまたま主人公と村人が交互に入れ替わる動きしてしまったことがあるな。
主→←人で重なった後入れ替わった。
座標の更新のタイミングが悪いと思うから、描画が終わるまで値の更新しないようしたらいいのかな?
普通にアクションゲームの仕組みで作ればいいだけなのでは・・・
座標をマップチップ(キャラ)のサイズで割れば升目に合った当たり判定になるぞ
本家ドラクエもこんな感じの仕組みだと思うぞ
>>626 キャラクラスは1キャラを表す。よって後者
自分が前つくった時は、移動前と移動後のセルを記憶して
キャラ移動中は両方のセルを進入不可にしておくってやっていた
DQ1みたいに1セルづつしか動かない場合じゃないと使えない方法かもだけど
あ、1セルってマップチップ1マス分のことね
もしかしたら自分専用語かもしれないので一応フォロー
632 :
名前は開発中のものです。:2013/06/11(火) 16:55:05.16 ID:El7/2pPV
そうなんです、一応16×16のセル移動させているのですが
なにかのタイミングだかにすり抜けたりします。
それに、移動先を示す場合、
例えば上に進む場合は現在値Y-16、
右に進む場合は現在値X+32といった感じで
示せばいいのでしょうか?
だとすると違和感が。。なぜなら、向こうも変な話、同時に移動しているオブジェクトなので、
移動先の座標をXY座標のピンポイントで調べるのは間違いないが起きる気がします。
違いますか?
描画用の座標とワールド座標は別の変数として扱ってる?
そうしておけばワールド座標に±1すればセル単位で移動させられるし
すでにそのワールド座標が埋まっているなら移動できないようにもできる
何より確認がしやすい
634 :
名前は開発中のものです。:2013/06/11(火) 18:17:19.79 ID:El7/2pPV
ワールド座標?
ってなんですか
とりあえず基本は1キャラずつ動かしていけば貫通は起きないはず。
RPGならそれでいいんじゃないかな、単純なアクションでも基本同じ。
擬似的に物理演算するアクションなら、速度成分イジった後の
移動・当たり判定は全オブジェクト同じタイミングでするんだろうけど
自分も同じようなことをしていて色々悩んでいたんだけど、
ワールド座標はマップ全体のこと
例えば、256*256の大きさのマップならそれら全体で
PCの処理⇒NPCの処理を行って
最終的に描画範囲を切り抜いて表示するようにしたらいいよ
あと、壁とかNPCにめり込む場合
衝突判定だけでミスがあるのではなく、
キー判定でミスがある場合があるよ
例えば、↑だけではめり込まないけど、↑→にしたらめり込むとか
その場合はキー入力の排他処理をかませたらよい
まぁ、自分の経験談だけどねw
がんばって〜
>>634 ピクセルなんかの物理単位を描画用座標だとすると、
自分が管理するマップの論理位置を示す座標を論理座標なんて言うが、
この場合のワールド座標って、多分論理座標の事言うと思う
ワールド座標はゲーム内部での位置座標のことで
DQ1みたいなマップタイル形式の場合で言うなら
map[MAP_WIDTH][MAP_HEIGHT]という2次配列のマップがあったとして
キャラの位置がmap[charaX][charaY]にいる場合には
charaX,charaYがワールド座標になるのかな
これってチップ単位(16dot)で刻む必要ないよねって話なんだが
説明が難しいな…わかりづらかったらすまぬ
>>633 なるほど、ワールド座標か・・・
それはいいことを聞いた
そういうことだったのか
だからRPGは
>>634 まず、マス目の引かれた大きな地図(ジオラマ)の上を住人が歩いている、と仮定しよう。
そこにビデオカメラを持ってきて、その地図の一部を切り取るように映している……という様子を頭に思い浮かべてみてほしい。
この時、地図上の座標と、カメラ(画面)上の座標は別物だよな?
画面の中央が地図上の真ん中とは限らないし、カメラのズームによって縮尺も変わるわけだ。
地図上(全体)の座標を「ワールド座標」、画面上の座標を「スクリーン座標」と呼んだりする。
住人の位置などは、原則としてワールド座標で管理しておいて、
画面表示の時にワールド座標をスクリーン座標に変換(カメラで切り取る)ようにすると、
混乱が少なくなるし、後から色々と応用も効くと良いことずくめ。
つまり>633の言っているのは、住人の移動はワールド座標で±1するだけにして、
表示の際に1マスを16ドット分に拡大して表示すれば良いということ、だと思う。
>>629 なるほど
クラスの配列を作ればいいんですかね
計算で導けるものはどんどん計算して出せばいい
ワールド座標から位置座標(又は描画座標)を計算できるし、
位置座標からワールド座標も計算する事も出来る
これほど自由な手は無い
>>619 私がやるとしたら、マップの1マス分に必要な情報を持った構造体かクラスを二次元配列で用意すると思う。
そいつは
移動可能な地形かどうか
今その地形に何が存在しているか
などの必要な情報を持たせておく。
あとはキャラクターを移動させるときに、それらの変数をチェックして移動可能判定をすればいいんじゃないかと。
あるいは、今その地形に存在しているものがあるかどうかをチェックする関数を持たせてもいい。
この場合は、存在する全町民の座標が自分自身と一致するかどうかをチェックする感じかなぁ。
644 :
名前は開発中のものです。:2013/06/12(水) 10:02:21.57 ID:yXAbaPnF
皆さん、ありがとうございます。
とても勉強になりました。
ひとつだけ質問いいですか?
今回の2次元配列はあくまで、ワールド座標上での各キャラの居場所を保持してる2次元配列で
その利用法はキャラ達の移動先がどうなっていてそれにより進める進めないなどの判定を下す、
ということでした。
これは大変理解出来ました。
では、ここで一部のキャラに大しては重なることが出来、
またそのキャラと重なるとプレイヤーキャラがどうにかなるといったことを考えた場合は
接触判定の処理が必要になると思います。
この接触判定は今回の2次元配列とはまったく別で考えたのでいいですか?
イメージでは、オブジェクト同士が接触したかどうか調べるメソッドを作り、まわす。
そんな感じですよね?
それとも移動先を確認して処理を施すメソッドの中で
それを組み込むこと出来ますか?
向こうも移動してますし、面倒なものになりますよね?
移動先がその特定のキャラならプレイヤーはそのまま重なることができる様に設定してやり、
接触判定は別で作ってた方がいいですよね?
ワールド座標は1マスずつしか変化しないのだから、相手は歩いているというよりも、32座標ずつ瞬間移動しているわけで
アクションゲームのように1ピクセル単位で考える必要性は無いよ
>>644 これまでの経緯を踏まえた上でキャラが重なることを前提とするなら
重なると決めたキャラとかのクラスとか構造体にワールドマップ座標を持たせて、接触判定は別にするべきかな。
そうすると接触判定は2次元マップ配列を使う意味が消えて、
毎回全キャラとの総当たりになってしまうので処理としてはしんどい。
プレイヤーだけ、とかそういう特殊な処理をするキャラが少ないならそれでもいいかも。
重なることがわかっているキャラが多いなら、マップを3次元にして重なるのを表現してもいい。
そうすると接触判定はある2次元座標(たとえば x, y)について重なっている方向(たとえば z)にループしてやればいい。
俺なら、キャラクター構造体(クラス)に、そのキャラが「移動中かどうか」というフラグを付けるかな。
例えば、1マスは32ドットで、1回の移動に16フレームかかるとする。
まず移動状態(キー入力など)になったら、キャラの居るワールド座標を更新。それと同時にこの「移動フラグ」を真にする。
それとは別途に、アニメーション用のカウンタ(あるいは1マス移動にかかるウェイト)を用意しておいて、これに16を代入する。
移動フラグが真なら、このカウンタの値が1につき2ドット分 "表示座標を" ずらす。
カウンタは毎フレーム1ずつ減算して、0になった時点で、移動フラグを偽にする。
こうすることで、内部的には一瞬で隣のマスに移動しているんだけど、
見た目は16フレームかけてゆっくり移動しているようになるはず。
注意点としては、移動フラグが真の間は追加入力を受け付けないようにすること、
表示座標をずらす方向は、キャラクターの向きの逆方向にすること、
当たり判定の類は>630を参考にすること、などがある。
弾幕STG作るときに弾にどのような変数持たせたらだいたいの弾幕は似せられますか?
>>648 前提が曖昧過ぎて答えられないので先にこの質問に答えて
・プログラミング経験はどのくらいか
・絵の動くゲームの処理を具体的にイメージした事はあるか
ちなみになんでこんな確認を返したかと言うと、
単純に考えた時、弾を表す構造体に最低限必要そうに思えるのは座標だけで、
それ以外はどんなロジックでハンドルするかによるから
例えば場合によっては移動方向ベクトルを持つかもしれないし、
場合によっては逆に座標すら持たず、進捗値だけ持たすかもしれない
別の場合にはその弾の動作を管理するクラスインスタンスへのポインタを持つかもしれない
自分の実装次第で答えがいくらでもあるからってこと
昔、BulletMLってあったじゃん。(今もあるのかな?)
あれのパラメータとか参考にできないかな。
>>649 3Dモデル使ったゲームとか作ったことあります
bulletMLを参考にするなら
xy座標 + 向き(角度) + 速度
あたりか
でも肝心なのは状態数より「弾をどう動かすか」の方だと思うぞ
>>587 心配しなくても
そいつがあのサイトを間違いだらけと発言した時点で
こいつが初心者レベル以下であることは
ここの住人たちにはばれてるよ
そのことに気付いていないのは
それを発言したご本人とプログラムに触れて間もない初心者な人だけ
だから誰もそいつの相手はしてない
相手するほどの価値もないという
なので一切相手にしないように
>>647 >俺なら、キャラクター構造体(クラス)に、そのキャラが「移動中かどうか」というフラグを付けるかな。
それではまだ不完全
「どっちの方向に移動中」と「どっちを向いてる」
のフラグを付けた方がいい
1=下方向を向いている
2=右方向を向いている
3=左方向を向いている
4=上方向を向いている
5=下へ移動中
6=右へ移動中
7=左へ移動中
8=上へ移動中
こうすればドラクエのような隊列移動が可能
>>652 それは自分でちゃんと意味わかりながら、自分でロジック考えて書いたか?
であるなら、今上に出てるヒントから察して何がわからないのか具体的に質問してくれ
「まったく経験無いんです」ならみんな前提知識から話すかもしれないが、
そうでないなら具体的に頼む
>>654 忘れた頃に本人乙
生活保護費で食う焼肉は美味かったか?
無職のニートで身体を動かさないでいるから僅かばかりの己の引っ越し程度で
肉体が筋肉痛で悲鳴をあげる羽目になるんだぞ
これに懲りたらくだらんブログ作りなんかやめて
心を入れ換えて少しは働いて税金を納めような
ドラクエ10のような隊列じゃない仲間パーティの移動は少し難しい
(↑こっち方向へ移動するとする)
1
2 3
4
例えば、こういう位置関係に隊列を組んで
先頭の主人公を上方向に移動させた場合、
全員を上方向に移動させればいいのだが、
2と3の目の前が壁だった場合、
2は右に避けたり、3は左に避けないといけない
こういったプログラムを組む場合に
どっち方向に進んでいるのか?というフラグが必要
それがなければ、2と3は、どっちに避ければいいのかの判断が出来ない
まあ実際動いてるのは背景の方で
主人公たちは画面中央で足ふみしているだけなのですがね
>>647 5=下へ移動中
6=右へ移動中
7=左へ移動中
8=上へ移動中
この5〜8のフラグ中にワールド座標をその方向に更新すればいいでしょう
もちろん、移動が完了したら1〜4のフラグに戻す必要がある
>>655 移動中の座標から計算できるので不要
ちなみに隊列の実現はそんなふうにしない
>>648 弾幕に必要な変数は、画像、x座標、y座標、辺り判定の4つ
特殊演出で弾幕を途中で消したり表示せたり、
自機からの弾で撃ち落とせるようにしたいなら
表示とダメージ用の変数も追加して変数は7つで十分でしょう
こんな簡単な質問に即答できずに
質問に質問で返すような
>>649など相手にしなくてよい
ID・タイプ:id, type
位置:posx,posy
速度:vecx,vecy
加速度:accx,accy
発射位置:orix,oriy
スケール:scalex, scaley
スケール速度:dscalex, dscaley
回転:rota
回転速度:drota
画像:imghandle
カウント:cnt
汎用フラグ:flag
判定用半径:hitradius
親:*parent
親弾:*parentbullet
とりあえず簡単なもの作るならこんな所か
664 :
662:2013/06/12(水) 21:03:14.05 ID:SLtOhCog
間違えた
変数は6つだw
説明する前に相手のレベルを知りたいと思う事は普通にあるだろ。
小学生に中学生向けの解説してもしょうがないし
中学生に小学生向けの解説してもしょうがない。
いまどき弾幕つったら加減速や誘導くらいは想定するもんじゃねーの
7つで充分とかインベーダーじゃないんだから
>>662 悪いが足らない
なぜか考えたらすぐわかる
はぁ・・・
ああ、矢印のような弾幕の場合は
回転も必要だな
弾幕と聞いて、思わず円形の弾幕だけを連想してしまった
失礼w
まあ弾幕に使用する変数は自分がやりたい演出によって
いくらでも増えるので、一概に「これだけだ」とは言い切れない
円形の弾幕をただ単に飛ばすだけなら
回転なんて必要ないし、3Dで作るならz座標も必要になってくる
670 :
名前は開発中のものです。:2013/06/12(水) 21:11:57.55 ID:itLeWjGs
二次元配列に、現在値を記録するっていうのを
実装しようとしているのですが
マス目にわけた二次元配列でどうすれば行列を割り出せますか?
例えば、存在している=1、存在していない=0とします。
今自分がいる場所を割り当てた行列に1を刻みたいわけですが
(hairetu[][]=1;をさせたい)、
[][]の中はどういう風に書けばいいでしょうか
hairetu[posY/16][posX/16]=1;でいけますか?
数えてみたらパラメータの数が60を超えていたけど特に問題ない
親子ツリーやるなら親との相対距離x,y、もしくは相対距離と角度r,θの
パラメータ持たせると便利です、触手ウネウネできるよ
>>656 弾を撃つ関数で属性決めながら撃って
コントロールする関数で属性に応じて弾の進行方向とかを弄ればいい感じですか?
個人的には弾データ構造体の中に自分更新用のクラスか関数へのポインタ載せちゃう
>>667 そうか、それは失礼した
弾幕STGは専門外だから
あまり深く考えたことがないんだよ(超無責任w)
じっくり考えれば、もう少し増えるかも知れないな
だが、質問の内容を見れば、これぐらいの回答で十分だと思う
もっと正確な答えが必要なら
>>649のように細かく聞き返せばいいが
>・プログラミング経験はどのくらいか
>・絵の動くゲームの処理を具体的にイメージした事はあるか
この2つの質問は関係ないだろう
こんな情報を聞き出したところで何がどういう判断の答えに繋がるのだ
ただ単に質問者をバカにしているようにしか見えない
どうせ質問をするなら2Dなのか3Dなのか
どんな感じの弾幕演出(東方シリーズのどの作品のどのステージの弾幕なのか)
を考えているのかを聞き出すぐらいでいいだろう
>>670 ACTの探索済みマップかな?
いけるだろ
>>673 ええ、頑張ってください
また何かわからないことがありましたら
遠慮なく質問してきてください
そのために存在しているスレですし…。
あと、次に質問する時は、
もう少し細かい情報が欲しいところです
どんな弾幕STGをDXライブラリで作ろうとしていて、
何が出来なくて困ってるのかなど
応援してます
プレイヤー位置はマップのセル単位を直に持って
描画するときにposX*16,posX*16とやったほうが
わかりやすいと思うんだが、どうだろか
>>678 無理すんな=完成させるな
に聞こえるのだが…。
ここは無理してでも頑張って悩んで悩みぬいて
ブレイクスルーを起こして完成させるべき
本人が望んでいるのは、無理しないで諦めることではなく
「弾幕STGを完成させたい」ではないのかい?
>>675 そもそも
>>648みたいな質問が出てくるってことは、
プログラムに対してまったくの無知ってこと
プログラムがある程度分かる人なら考えることなんて何もない
似せるってことは元があるものを見たままをコードに落とすだけの単純作業
だから
>>649はあえてそういう質問をしたんだろ
そもそもここはゲーム制作に関するくだらない質問をするためのスレじゃない
DXライブラリに関係ない質問、プログラミング入門に関する質問をされても困る
いくらか前に初歩的な算数に関する質問してるやつまでいたが…
>>680 うーん。どうだろうね
そこはもっとじっくり悩みたいところだが、
俺だったら移動用の関数でも作って
キャラを移動させる時は、その関数を引っ張ってきて流用する
例えば、32x32サイズ主人公用であれば
上方向キーが押されたら、
移動フラグに8(上へ移動中)を代入して
32フレーム間、ワールド座標のy座標に+1し続けて
さらに町人全員にワールド座標を関連づけておく
つまり、背景も下に移動するが町人も全員、y座標を+1して同時に下に移動
そして32フレーム後に移動フラグに4(上方向を向いている)をぶち込む
>>683 ワールドの座標だっつってんのに
なんで主人公が動いただけでNPCまで移動に巻き込まれないといかんのだ
あと向きと移動状態は別のロジックなんだから別で管理しなさい
俺ならセル上の座標もワールド座標も両方持つけどなぁ
>>683 移動するだけで全NPCの座標変えるってどういう状況…?
>>682 いえ、だとしても
質問者様には応援をしてあげてください
嫌なら無理に返事を返す必要もありません
一番ダメなパターンは質問者が気に入らないからと言って
>>649のような意地悪な返事を返すことです
質問には回答で返事を返す。それが鉄則でしょう。
質問者の質問内容が理由で答えを返せないなら
黙っておけばいいだけの話です
せっかく、DXライブラリプログラミングに興味を持って頂いて
遠路はるばる当スレにお越しいただいたのですから
俺はそんな若い芽を摘んでしまうのではなく
そんな彼の興味を伸ばしてあげたいor応援してあげたい
場合によっては一緒に悩んで答えを導きだしてあげたい
それは自分自身の成長にもつながるからです
たぶん、専門外なのでは
いや、単純にposX,posYの値が0になったらこわいなーって思っただけなんだ
なんかすまん…
ID:SLtOhCog=JET++=
>>544 こいつプログラムまともに組んだことのないマジキチだからNGにしとけ
相手にするとこいつの駄文レスでスレが流れる。
>>689 どっちも0になっても、hairetu[0][0]=1 は特に問題ない気が。
でも自分も
>>680の方がわかりやすいと思う
>>685 え?マジですか?
本気でそれ言ってるのですか?冗談ですよね?
背景の座標だけ動かしてNPCの座標を動かさないと
NPCの座標だけ置いてけぼりを食らうだろう
例えばNPCがドアの前に立ってるとする
背景がy座標に+100移動したとする
NPCのy座標も同時に+100移動させないと、
NPCだけ壁をすり抜けて、元の位置の座標のままになるだろ
だから、NPCには本来の座標の他に、ワールド座標も関連付けておかないといけない
(x+ix+wx , y+iy+wy )
引数で書いたらこんな感じだ
ixとiyは移動する時に値を入れる変数
wxとwyは、ワールド座標のx座標とy座標
wxとwyは、全てのNPCの座標と、背景の座標にも入っている
ああ、またkazukiが荒らしてるのか
こいつ人間との会話に興味がなくなったとか中二病発症したんじゃなかったのかw
つまり、ジョイパッドからの上下左右ボタンで
主人公を動かし、背景が移動させる場合は、
wx変数とwy変数に値を入れることになる
そのことにより、主人公の座標は画面中央のままだが、
背景とNPCだけが背景と共に画面の中に入ってくることになる
例えば主人公を上へ移動させる時は、
主人公の座標は画面中央のままで
背景とNPCの座標のy座標だけプラスさせて
やがて画面の上側から背景の下スクロールと共に
NPCも画面の上側から下へ移動してくる
こんなの常識だろう
>>685 お前はもうプログラマーを名乗るのを止めたほうがいい
お前のプログラミングスキルは、初心者以下だ
いや、下手すると入門者以下かもしれん
正直、この発言にはビックリしたよ
DrawGraphをフックしてカメラの座標を加算するのがただしい
個々のオブジェクトはdraw回ってきた時点でカメラ範囲でカリング
>>680 アニメーションをかんがえるとあまりよくない
まあ自前で両方もっておくのはかしこい
>>694 えーと、ワールド座標に話だよな?
たとえば、野球中継でバッターが打ったボールをカメラが追いかけると、
ボールはカメラに映ったままだが背景は流れるよな。
背景に映る観客も背景と同様に流れるが、別に観客が動いているわけではない。
動いてるのはあくまで「カメラ」だ。
∧_∧
ガラガラ( ^^ ) <これからも僕を応援して下さいね(^^
=〔~∪ ̄ ̄〕
= □――◇ Kazuki
>>697 それを聞いてお前のスキルが理解できた
お前は2Dゲームにおける座標を理解していない
2Dゲームは、画面内に映ってる領域が整数座標
600x480解像度の場合は、
画面の一番左上は、x座標は0、y座標は0
そこから上はy座標はマイナス、そこから左はx座標はマイナス
そして、画面の一番右下の地点が
x座標は600、y座標は480だ
これが座標の基本。
RPGのように主人公の移動によって画面がスクロールしたり
それと共にNPCが画面内に入ってくるのは、
この(x=0,y=0〜x=600,y=480)の中に入れることなんだよ
そしてワールド座標とは、この(x=0,y=0〜x=600,y=480)の中に
画像を入れることを意味する。
俺は優しいから解説までしてあげたが、もういい。
これ以上は相手にできんわ
>>687 いつからお前がこのスレの主になったんだよ
自分専用のスレでも立ててこい
後コテハン付けろ、みんなNG入れやすいから
カメラの概念知らないようなやつが
無責任な回答投げたら質問者様(笑)に失礼
>>701 いや、むしろお前がコテ付けてくれ
前も関係ない人を自演扱いして
本当に無関係な人を怒らせて場を荒らしたよな。お前は。
後で見たがお前の対応は最悪だったね
あれだったら相手が怒るのも無理ない
無根拠で自演扱いして罵って
自演じゃないと否定されても、一言も謝らないで言い訳ばかりしてるしよ
ああいう場合は、事実はどうであれ勝手に自演だと決めつけて
相手から自演じゃないと言われているんだから、
第一声は「失礼しました」だろ。
その一言を述べてから、本当に自演じゃないかどうかの検証にあたるべき
今からでも遅くないから
お前が勝手に自演だと決めつけて怒らせた
>>587に謝っておきなさい
人として人間として
失礼なことをしたら謝るのは常識です
本当に荒らしだなぁ
こいつはスルーすればいいかというとそうでもないんだよね
自分語り加えて延々長レスし始める
スクリーン座標とワールド座標の違いも理解できない自称上級者(爆笑)
何が間違っているか丁寧に説明してもご覧の通り理解できないからレスするだけ無駄だしなー
706 :
名前は開発中のものです。:2013/06/12(水) 23:19:50.28 ID:AibwtTsS
プログラマってなんでsoftya系多いの?
管理人さん見習えよ
ワールド座標って普通上限も下限も無くないか
ローカル座標(スクリーン座標?モデル座標?)と間違えてね?
キャラの持ってるパラメータに値を代入するって意味の「動かす」とかの言葉も
勘違いされて描画時の座標のこととごっちゃにされてるみたいだし
もう最初から噛み合ってないよね
朝鮮人と話が噛み合うわけないだろ
まあまともにゲーム作ってれば640*480を600*480にまちがえることもないね
こいつのブログ本当にすごいよw
「C++の特性を生かしたプログラミング」って記事で永遠C言語の解説をして
「C++ではグローバル変数を大量に使います」とか書いてたので突っ込んでやったら
DXライブラリのヘッダーファイルで大量の関数のプロトタイプが定義されてるのを見て
「ほら、大量にグローバル変数が大量に使われています。カッコいいとかカッコ悪いとか、
そういう判断で、無理にC++の命令(Classとか)だけを使うのはあまりにも幼稚な考え方です。」
とか言ってるレベルだからなw
しかも1行のプロトタイプを関数本体を勘違いして
LoadGraph(const TCHAR *FileName, int NotUse3DFlag = FALSE ) ;
これが LoadGraph 関数の全てのコードだと思ってやがるからなw
そしてオチがこれ↓
>後ろの「int NotUse3DFlag = FALSE 」という引数は、
>int型の関数としてNotUse3DFlagで、
>画像ファイルからグラフィックハンドルを作成しています。
すごい自信だ…
>>705 じゃあお前をスルーするわw
コテつけろや。はよ
というか、スレをあんまり加熱させるのは良くないから
また引っ込むことにするよ
それに、こういうところ(2ch)で発言するのは
あんまり好きくないからね
あと上の人は本当に自演じゃないからな
>>587の名誉のためにも、それだけは述べておく
俺が本物のJET++だ
あと、俺は自演は死んでもやらん
では、勝手にお開きとさせていただこう
俺抜きで、また楽しんでくれ
↓↓何事もなかったかのようにスレ開始↓↓
>>714 いやあんたがコテつたほうがいいと思うよ
継続的にいるっぽいからそういう人をパッと固有名で呼べる方が円滑
自演しないならしないでコテつけるか、せめて名前書いてくれ
ちょっと噛みつかれて指摘されても、理解しようとしない人に指摘するのは時間とレスの無駄や
もしかして SLtOhCog は、ファミコン黎明期から(直接じゃなくても)開発に携わってたって自称してた人じゃないの?
718 :
名前は開発中のものです。:2013/06/13(木) 00:11:16.64 ID:RfR2r6bs
延々を永遠って言っちゃう人って…
>640>697あたりが全体の一部をカメラで切り取るイメージなら、
>700は、例えば舞台の上で、登場人物や背景、草木のオブジェクトなどが動いているイメージだな。
もちろんどちらも正しいし、どちらが分かりやすいかは人によるのかも。
ソースコードに直すと、大して変わらないことも多いしw
>>715 いや、むしろ逆
俺はたまにしか、このスレには顔を出さない
存在そのものを忘れていたぐらい
あと一度離れると当分戻ってこない
そんなに興味ないんですよ2chそのものが
上で悪態ついている人がこのスレに常に常駐して
初心者をカモにしてバカにしたりして楽しんでいる
ワールド座標について、どこよりも分かり易い解説をして上げてるのに
それを分かろうともせず言い訳ばかり
まあ、ワールド座標については、そのうち解説サイトの方で
もっと詳しく解説するからお楽しみに。
動いているところを見せてあげるよ
一応、宣伝しておく
RPG開発 for Windows8 / 64bit
〜C++ with DXライブラリ ゲームプログラミング〜
http://jetrpg.publog.jp/ じゃあ、もうこれぐらいにしてくれ
もう俺には話しかけないでくれ
このキチガイアク禁にできないのかな。
真に受ける人がいるかもしれないから一応言っておくけど
このブログの解説は基本的なところから結構間違いだらけ
参考にする人がいるなら止めないけど気をつけてねん
724 :
名前は開発中のものです。:2013/06/13(木) 00:29:06.58 ID:11zUjLD+
>>722 因みにこの男は、DXLibはレベル低いDirectX使いこなすって大口叩いていたんだよな
2010年の3Dゲーム開発プロジェクトの時だけど
>>723 >間違いだらけ
だから、そういうことを口にするなら
その根拠を示さないと誰もお前の発言など聞かないのよ
「だらけ」という言葉を持ち出すからには、2つや3つではない
数えきれない間違いがあるという意味になる
で、本当なのかどうかを確かめに行くと
間違いなど1つもないことが判明した時に、
それを間違いと言ってるお前のスキルが低レベルということになる
「こいつ間違いだらけって言ってるけど、何言ってるの?」と、
入門者や初心者は騙せても、それ以上のプログラマーは騙せないよ
だから、お前は相手されないんだよ。誰からも
そして、お前はそのこと(誰にも相手にされていない)を未だに気付いていない
726 :
名前は開発中のものです。:2013/06/13(木) 00:36:53.90 ID:jll58XOC
kazukiおつ
やっぱりこの分だとコテ付けてもらったほうがいいよね
じゃあとりあえず711あたりのやつで
頑なにワールド座標とか既存の用語使わずに独自のJET座標系ですとでも言えば何も言うことないのに
しかも現在までに解説している内容というのは、
初歩の初歩レベル
DXライブラリの簡単な関数を使って
初心者でも理解出来る簡単なC++のC言語の方の命令だけを組んでいる
そんな初歩のプログラムを見て「間違い」との判断を下すお前は、
つまり、初心者以下ということになるわけだ
実際、現在までに使用しているC言語の命令は、
if文とwhileリープ命令ぐらい
あとは、=などの代入命令とか、&& とか == などの比較演算子などの
初歩のC言語命令だけであり、
その命令に、グローバル変数とローカル変数を使って
DXライブラリ関数を扱っているだけ
こんなの間違いようがない
それを「間違い」と言ってしまう理由は、
こいつの理解が追い付いていないか、
見たこともない珍しいソース(ifやwhileを使ったプログラム)に驚いているだけ
ハッキリ言う。ifやwhileを使ったプログラムを見たこともないこいつは
初心者以下であることは間違いない
>>720が叩かれてる理由が分からんのだけど客観的に教えて
他のなんちゃってサイトと違って原因から何故そうなるのかまで解説してて参考になるから困る
>>725 ブログさらっと読んできたけど
この人明らかに解った上で悪意を持って初心者騙すために嘘書いてるだろ
モスバーガーのきれいな食べ方のスレみたいなやつだよ
失礼。
whileリープではなく、whileループだな
ただのタイプミスです
要するに俺から言わせると
こんな初歩レベルのソースを「間違いだ」と断言するこいつのスキルは
相当低いと思う
C言語のプログラムを見たこともないぐらいのレベルではないかと思う
嘘だと思うなら、俺の解説サイトに来て
ソースコードを見て頂戴
初心者でも全然理解できる内容です。
DXライブラリ関数を使っているので、その先は分からないかも知れないが
C言語の命令の使用しているところは、
そんなに難しいソースではないことがわかるだろう
別に俺がコテつけて欲しいってのは
あんたが間違いばら撒いてるか正しいのかとは別問題なんだけどなぁw
737 :
名前は開発中のものです。:2013/06/13(木) 00:53:09.02 ID:11zUjLD+
kazukiって奴、3DRPG挫折した後、素晴らしい経歴を辿っていったよな
・2010年冬に上京してホームレスになって、野垂れ死に寸前になって緊急避難施設に入って食べ物にありつく
・の後生活保護貰いながら、日雇いのバイトするが2,3回で辞める、
・2011年夏にはナマポ生活満喫しながらツクールでの製作に励む、しかも夏休みとるとか言い出す始末
・2012年には漫画家目指すと言いつつニコ生放送し始めるが、ナマポ非難に圧倒されて就活する決意をして職業訓練に行くが一ヶ月でギブアップ
・その後は就活あきらめてエミュと違法ロムでゲーム三昧、しかもそれをニコ生で垂れ流し
・それからは、またツクールにはまったり、OS開発すると言い出したりで、今のC++ゲーム開発に至る
こんな経歴並みの人間には出来ないよな
kazukiって誰よ?
>>733 >嘘書いてるだろ
もう、その発言がお前のレベルを全て物語っている
じゃあ、あのソースコードはお前にとっては嘘だと思ったのですな?
つまり、自分でビルドするまでコンパイルされるかどうかも
見抜けない程度のレベルというわけですな?
ちなみに俺なら
ビルドをして自分で確かめなくても
ソースコードを見るだけで正常に実行されるどうかも分かるよ
つまり嘘を書いてるかどうかの判断も出来る
あの程度のコードならな
>>739 「ブログのコードは動かない」とは誰も言ってないんだがな
「間違い」というのは開発方法とか解説の話だ
あの程度のアニメーションにグローバル変数を多用して
ifで分岐しまくってハードコーディングするとか今時誰がやってるんだよ?
>ifで分岐しまくってハードコーディングするとか今時誰がやってるんだよ?
……あ、ごめん……
>>723 じゃあ具体的に聞こう
光輝きながら画像を表示させる
ttp://jetrpg.publog.jp/archives/29118152.html この記事を見ると
現在までの最新のコードである
「Header.h」「Global.cpp」「kidou.cpp」「Opning.cpp」
の3つのcppファイルと1つのhファイルの内容を見ることが出来る
では、具体的に聞こう
これらのソースのどこが珍しい
どこが理解できない、どこが間違っていると判断した
たくさんのプログラマーが見守る中で
是非とも君の見解を述べて頂きたい
その上でお前が口にした「間違い」という言葉の信ぴょう性を
ここに集まるプロのプログラマーたちに判断してもらおうではないですか
俺も昔はif文いっぱい使ってて見づらかったわ〜
継承の使い方を知ってからはスッキリ
745 :
名前は開発中のものです。:2013/06/13(木) 01:14:12.21 ID:11zUjLD+
>>738 2010に千堂☆和樹と名乗り、3D同人ゲーム開発を目指した男
実力無いくせに盗作行為やハッタリでニコ動リスナーを誤魔化し、協力者を集めゲーム会社設立をもくろんだ
ハラグーロ(げんしけん)みたいに他人の褌で相撲取ろうとする似非同人作家の典型
現在ナマポ生活の有り余る自由時間と創作時間を満喫中
>>741 >「間違い」というのは開発方法とか解説の話だ
>あの程度のアニメーションにグローバル変数を多用して
>ifで分岐しまくってハードコーディングするとか今時誰がやってるんだよ?
もっと具体的にお願いします
つまり、if文ということはOping.cppのことを指しているというわけですな?
では、君ならどう組み替える
あと「今時誰が…」は間違いとは言わない
>>740 このkazukiって奴とこのスレとどんな関係があるの?
自称上級者ID:SLtOhCog ID:VzJlkyjWがアップロードしてたゲームのOP動画晒しておくね
http://youtu.be/zTKY0jCN3zY 曲はフリー素材を「自分で作曲した」と嘘言って作曲者からクレームつけられたが無視。
3Dモデルはメタセコイアに最初から入ってるサンプルモデル
シューティングゲーム作ると豪語して、途中で投げ出してサイトごと削除してトンズラ
笑えるよ
>>741 >開発方法とか解説の話だ
では、それを述べてもらおう
「間違い」の検証なので誤解のないように
750 :
名前は開発中のものです。:2013/06/13(木) 01:19:45.45 ID:11zUjLD+
>>747 鈍いねえ
要は、長文連投しまくりのJET++なる人物(ID SLtOhCog,VzJlkyjW)とkazukiは同一人物ってこと
もうバレバレよ
やれやれ… 指摘しても曲解されてほら俺の方が正しかったとか言って終わりだろうが
しゃーねーなー
まずグローバル変数使いすぎ
グローバル変数使ったらアニメーションが終わってもメモリに残り続けるだろ?
ここはグローバル無しで実装するべきだ
それから変数名に a とか tt とか使いすぎ
命名規則でも、広範囲にわたって a とか tt とか使うコードは禁止されてるはず
あと、インデントがおかしい
while の中は一段下げだろ?
なんでこんな素人の添削をやらんといかんのだ…
>>736 >単純に説明があっちこっち間違ってるし、コードを見てもあっちこっちひどい
>普通なら30行で書けるところを200行ぐらい使って無駄な方法で組んでたり
言葉を述べるなら主語を述べろ
つまり、これは俺の解説サイトのことを指してるんだろう?
だったら、主語を付け加えてくれ、分かり難い
で、「あっちこっち間違ってるし」とはどこを指す
「コードを見てもあっちこっちひどい」これは
具体的にコードを指してるわけだが、
そのコードが「あっちこっちひどい」なのか
ハッキリ述べていただこうか
あと60とか240とかっていう数字は制御に関係ないコードだろ?
制御とムービーのコードが同じところに混在してて読みにくい
そういうの細かいことをKidouなんていうメインコードには普通は入れん
できればプログラムがわからないムービー担当がいじれるように
アニメーションのところだけ外部ファイルにすることが多いけどな
Opningとかrogoとか何とかしようぜ
辞書引くくらいできなかったのか
お前のサイトのコードがあっちこっちひどい、であってるよ
>>744 具体的にどんな感じでやってる?
自分は単純なアニメーション(ループアニメ等)なら配列、それより少し複雑になったらifで条件分岐でやってる。
もっと複雑になったら、そこだけクラスに切り分けることも考えなくはないけど、個人レベルだからかそこまでやったことはないなあ。
大昔に一度、外部ファイル読み込みに対応したアニメーションクラスを造ろうとしたことはあるけど、
あれ結局どうなったんだっけなあ……
757 :
名前は開発中のものです。:2013/06/13(木) 01:28:47.36 ID:11zUjLD+
あと、どうしてもプログラムでアニメーションしたいとしても
ifで大量に分岐してiとaniをいじるのは無駄だらけだ
一対一対応する (i, ani) テーブルを作ってまとめてしまえよ
そうしたら制御部でif分岐しまくらなくても1行で書けるだろ?
>>751 >グローバル変数使ったらアニメーションが終わってもメモリに残り続けるだろ?
DXライブラリには、DeleteGraph関数があります。
ちなみにこれはメモリに入れた画像をデリートする関数
すでに解説済みです
あと「すべき」は間違いとは言わない
>命名規則でも、広範囲にわたって a とか tt とか使うコードは禁止されてるはず
「禁止されてるはず」という曖昧な表現の定義をお願いします
ここは「禁止されています」と断言してください
断言しないと間違いとは言えません
>あと、インデントがおかしい
C言語およびC++では、インデントはプログラムには影響されません
インデントはプログラマーの好みでソースを見やすくするためのものですので
「間違い」とはいいません
C++の特性を生かした開発を提案->特性でもなんでもない
NowLoading演出案->単なる演出と言い切ってるバカ。普通はスレッドを使う
初期化関数を作成->よいこはこういうグローバル変数に頼らないように
40,50,60の間の法則->わかりにくい状態遷移をしてはいけないという見本。ていうかクラス使え
光輝きながら画像を表示させる->上に同じ
C++の型とは->間違いがある
returnとは->そう思うんならそうだろう。お名前の中ではな
DXライブラリの画像の秘密->同上
第一こいつの解説は昔から全部オープニングやらロゴやらそんなんばっかり。
肝心のゲームの核心部分がない。初心者にとって知りたいのはそこじゃないはず。
大量にキャラを動かしたいとか、アイテム管理はどうすんの?あたり判定は?
などなど、そういう部分のはず。
まぁだいたいこいつが理解してない並列処理に行く前に店じまいコースだけどw
ほ〜ら、予想通り屁理屈来た
>では、具体的に聞こう
>これらのソースのどこが珍しい
と聞かれたから普通はしない珍しいところを答えたのに
「プログラムには影響されません」って答えるのは論理のすり替えだぞ
>>758 >ifで大量に分岐してiとaniをいじるのは無駄だらけだ
では、君ならどういうコードを書く?
ちょっと、そのコードを書いてみてくれ
>一対一対応する (i, ani) テーブルを作ってまとめてしまえよ
>そうしたら制御部でif分岐しまくらなくても1行で書けるだろ?
それはあなたの要望であって「間違い」には当たらない
まぁ一人で書き散らす分には十分かもな
764 :
名前は開発中のものです。:2013/06/13(木) 01:34:52.37 ID:11zUjLD+
757の続き
更に詳細を言うとkazuki君は
int a = 1;
a + 1;
で aの値が2に加算されていないprintfで出力してもaの値が1のままだったようで
理由がわからなくて教えて君状態だった
defineもアホな思い込みしてたしなw
幾ら教えても理解せず、あんときは流石にワラタ
>>756 if文の文字だけ見てそういうレスしたけどアニメーションだったら俺もif文でやるかもしれない…
>>760 >C++の特性を生かした開発を提案->特性でもなんでもない
C++の特性を生かした開発を提案したいと言ってるだけであり、
記事の内容自体はC++は関係ない
>初期化関数を作成->よいこはこういうグローバル変数に頼らないように
これは解説のための演出の一つである
グローバル変数を使っているのは
まずはC言語のプログラムに触れるためである。
そして、いかにC言語が不便なのかを理解してもらってから
タイトル画面以降からは、C++に切り替えて解説していく予定
「こういうのを使わなくてもC++では、こういうのがあります」というような
>40,50,60の間の法則->わかりにくい状態遷移をしてはいけないという見本。ていうかクラス使え
40フレーム、50フレーム、60フレームの間は、ゲーム演出の間の取り方の解説であり
これ自体は「間違い」ではない。
人によっては55フレームの間がバッチリだ!と言う人もいるだろう
それを間違いと断言するのはあまりにも乱暴
あと、間とクラスは関係ない
解説サイトが間違いかどうか疑問持った人がいたから
あえてちょっとだけやり取り見てもらったけどちょっとスレチが激しいな
相手するのはそろそろやめといた方がいい?
769 :
697:2013/06/13(木) 01:46:16.38 ID:2LOEAVnI
>>700 えーとな、ワールド座標の話な。
RPGのような2Dマップで、一番左上が(0,0)として、まぁ右下はどうでもいいから無限大だとするよな?
主人公のワールド座標が (x1,y1) で、カメラのワールド座標が(cx,cy)とする。
この時主人公の表示座標は( x1-cx , y1-cy ) であらわす事ができるのは理解できる?
例えば主人公が( 1000 , 1500 ) の位置で、カメラが( 100 , 100 ) だと表示は( 900 , 1400 ) だから画面外になってしまうが
カメラが ( 900 , 1400 ) の位置に移動すれば ( 100 , 100 )になって画面に主人公が出てくる。
NPCも同様の表示方式でやっておけば、主人公の移動にあわせてカメラも移動させるだけで
NPCを個別で移動させる必要はないわけ。
なんだ結局、ブログ宣伝に来てた本人の自演でビンゴだったのか
ちょっと気味悪いな
>>760 >光輝きながら画像を表示させる->上に同じ
「クラス使え」の意味であるなら
クラスを使わないからと言って間違いとは言わない
>C++の型とは->間違いがある
具体的によろしく
>returnとは->そう思うんならそうだろう。お名前の中ではな
具体的にお願いします
>DXライブラリの画像の秘密->同上
意味がわかりませ
>>760 >第一こいつの解説は昔から全部オープニングやらロゴやらそんなんばっかり。
>肝心のゲームの核心部分がない。初心者にとって知りたいのはそこじゃないはず。
記事のタイトルだけに注目してくれ、
そういうことが出来るようになっている
例
・画像の縮小表示アニメーション
・画像にアンチエイリアスを施す
・トランジションとアンチエイリアスと縮小アニメを同時に
・光輝きながら画像を表示させる
これはゲーム本編でも使う技術であり
知らない間に画像を扱うプログラムは、ほぼできるようになっている
よし、俺はとりあえず解説サイト間違いだらけに疑問を持った人へはレスするが
永遠に屁理屈並べられてスレが荒れるだけだからJET++へのレスをやめる
まだサイト間違いだらけというのに疑問を持ってる人がいたら何でも質問どうぞ
C言語かどうかとグローバル変数使うかどうかは関係なくね
じゃあ演出ならプログラム関係ないじゃんw
プログラムの解説サイトと思ってたけど違うんだーへー
状態遷移とクラスは関係あるんだなこれがw
おまえにゃ理解できんだろうがw
>>760 >大量にキャラを動かしたいとか、アイテム管理はどうすんの?あたり判定は?
>などなど、そういう部分のはず。
そこだけ作ってもゲームは完成しない
お前が開発するゲームには、タイトル画面も起動画面もナシか
どういうゲームだ
まずは、起動画面から開発しタイトル画面も開発し
それから本編だろう
あと、それらの開発は、本編を作る段階で開発していくことになる
そういうのは「間違い」とはいわない
28825670.html
>C++プログラムでは、この「WinMain」を必ず書くことになります
→Windowsプログラミングの場合でもエントリポイントがmainであってもいい
WINAPIのところはアプリケーションがWindowsAPIを使うかどうかには関係ない
>ifの引数に「DxLib_Init()」を
→引数と呼ぶのは誤り
28905365.html
>このコードの意味は、まず、int型の容量をメモリに確保することを宣言しています
WinMain関数の定義部であって宣言と呼ばない
他にもたくさん細かな用語間違いがありますので初心者の方が参考にするのは結構マズいかと。
>>774 そうだね、普通はそもそもC言語でもグローバル変数はできるだけ使わない
C言語の講座でもグローバル変数を多用する例を初心者の題材にしてる時点で問題
Kazukiの同人3DRPG制作【第三話】
てっゆうスレがこの人のプロジェクトスレッドなんだろ
なんでそっちでやんないの
細かいところ突っ込んでも本人が理解してないから
屁理屈かえってくるだけだよw
781 :
名前は開発中のものです。:2013/06/13(木) 01:56:19.09 ID:11zUjLD+
>>773 >永遠に屁理屈並べられてスレが荒れるだけだからJET++へのレスをやめる
だからそうしたほうがいいよって、先程から申してる
JET++はプログラミング全然わからない似非作家だから
因みに漫画家目指してたのに絵のスキルも無い
屁理屈だけじゃなくて嘘吐きも激しいから、自分の経歴とか経験とか
実態はナマポで怠け放題で無能な人間です
ゲームを作る時はタイトル画面から作りません。
シーンとしてはろご、タイトル等用意はしておくが、基本的にスルーです。
ゲーム本編に使用する機能を各担当者が作成(クラス等で)し結合していきます!
タイトルなんて正直後半に作ります
>>768 ネットで有名なキチガイ
したらばのツクール板では散々荒して出入り禁止
35才、無職、生活保護不正受給者
人との会話が全く無いから、批判でもレス付ければ本人が喜んで長文レスが続く
>>773 (i, ani)テーブルって作るの面倒じゃないです?
300秒ぐらいあるし
>>781 まぁまぁ、ある程度は触って破綻してるところを見せておかないと
ブログを信用しちゃう人が出ちゃうからさ
これのどこがおかしい?なんて聞かれてこっちが答えなかったら
まるでこっちが間違ってるみたいになっちゃうだろ?
>>771 指摘したら見返りに俺になにしてくれる?w
>>784 きちんと作れば元の行数よりは増えないよ
この場合は、(0, 1) 〜 (395, 1) っていう395個のテーブルを作るんじゃなくて
(0, 0), (60, 0), (61, +1) … みたいなテーブルになる
そうすれば元コードよりは増えないし、データ部と制御部を完全に分けれるから
コードも見やすくなる、メリットあってデメリットなしだね
物凄い細かい話だからほとんど関係ないけど、
CPU には先読みっていう機能があって処理効率を上げてるんだけど
ifが出てくると場合分けでどっちに行くかわからないから先読みに失敗して
性能が下がるなんてこともあるにはある、だから普段から
if分岐しないように作っておく習慣を作った方がいいね
788 :
名前は開発中のものです。:2013/06/13(木) 02:07:38.66 ID:11zUjLD+
>>785 そうやって、優れた才能あるかのように演出して嘘の実力をアピールするのが奴の手口なんだよ
そうして初対面や初見の人を騙して、ブログ内容や自分の実力を信じ込ませるのがJET++(kazuki)の恐ろしい所
3Dゲームの時は、本気で信じて期待したりアドバイスしたりニコ動コミュに入って協力しようという人もいた
延々とこういうこと続けていてマジでどうにもならないんだよね
>>761 論議に値しない
「間違いだらけ」の検証かそれは
>>764 そんな奴が今ではお前の遥か上にいる
もうとっくにお前のレベルをあっさり超えられている
ウサギとカメの競争を知らない?
>>777 >他にもたくさん細かな用語間違いがありますので初心者の方が参考にするのは結構マズいかと。
何がどうまずいのですか?
学校のテストで満点が取れないからですか?
ハッキリ言います。ゲーム開発がメインです
当サイトではゲームを完成させることが出来ないことが問題なのであり
細かな用語の解釈がどうなのかなど
そんなことはゲーム開発には影響されません
int型を「intちゃん」と呼んだとして
「型」を「ちゃん」と呼ぶと間違いになりますが、
だから何?と
>>782 >ゲームを作る時はタイトル画面から作りません。
あなたはそうかも知れませんが、
俺はタイトル画面から作っているのです
それは「間違い」とは言いません
どこから作っていくのかは、プログラマーの自由です
ただ、タイトル画面以降は、ストーリーに沿って作っていくとは限りません。
冒頭のイベントだけ作って(戦闘システムを完成させたいので)
そこから以降は、バラバラに作っていく予定
腹減った
お前ら今日はとっとと寝ろ
寝て頭冷やせ
車のハンドルを右に切ると、空気抵抗がうまれて、右に曲がります。これは間違いとはいいませんよねwwwww
寝ろ
>これはゲーム本編でも使う技術であり
>知らない間に画像を扱うプログラムは、ほぼできるようになっている
ゲームを作りたい初学者がまず知りたいのは、きらびやかなエフェクトとかが使われた
かっこいいタイトル画面とかローディング画面の表示の仕方ですか?
文章で例えると文法とかうまい言い回しとかの小手先を教えてばかりで
内容構成の仕方をほったらかしにしてる状態ですよ。
>>787 ない部分は呼び出せなければ0みたいな扱いなのはわかるけど…
(62,+1)(63,+1)・・・みたいな?なんだか長くなりそう・・・
キリがないので、ここで締めくくらせて頂きます。
ここで言う「間違いだらけ」というのは、
「こうした方がいい」というものであり、
そういうのは間違いとは言わない
C++でグローバル変数を使ったから間違いと言い切るのは
あまりにも乱暴な考え方であり、
使うこと自体は間違いとは言わない
クラスを使っていないからと言って
それは「使っていないだけ」であり
使う使わないはプログラマの自由であり
使わないことを間違いとは言わない
結論:間違いだらけとは、ただの虚言である
多数の用語間違いはプログラミング初心者の学習に影響が出ますね
という意味でマズいかと。752の通り指摘したまで
間違いだらけのところだけ都合よく回避して、
言いたいこと言ってさよなら!予想通り
>>797 違う違う、76まで1ずつ増えるんだよね
だったらテーブルでは (60, +1) の次は (76, 0) として
76 に到達するまで (60, +1) を使うんだよ
まあ、コーディングでまともな能力があればやらない書き方をしてれば
まともな能力がないのだと見なされると言うだけの話だよ
要は人に教えるのはおこがましいんじゃねえかって言われてるんだ
801 :
名前は開発中のものです。:2013/06/13(木) 02:24:44.71 ID:11zUjLD+
>>794 まあまあ、そう言わずにもう少し楽しもうよ
ついにJET++が発狂して虚言自己アピールし始めたところだ
ところで、ここに書いてるプログラマーって時間によゆうある?もしくは学生さんとか
うちはアルバイト生活で昼から稼動だし
誰かさんは永遠の有給休暇でプログラムし放題だけどね
(ここがDXライブラリのスレだと理解しているのだろうか)
>>799 あーなければ0じゃなくてなかったら処理を変えないと
その場合テーブルの設計ってどういう風にするのだろう。関数ポインタを使う?
スクリプトか何かとして外に追い出したほうがいいんじゃね
概念的にはポインタ的なので作れるね
実際にはそれに近い変数を定義してもよくて、それを個人的にはイメージしてた
つまり、int phase みたいなのを定義して、table[phase][1] で +1 とかの数字を参照
60 とか 76 とかに到達したら phase++ で一個ずつテーブルを進める感じ
>>804 実際にはそうだよねw
プログラム中でアニメーションをハードコーディングなんて普通しないし
そんなことしたらムービー担当がいた場合一切後で調整できなくなるからね
もっとも、講座にあるような固定アニメーションをプログラムに組み込む場合は
動画編集ソフトで作って、プログラムで読み込む場合がほとんどだろう
>>801 ここをDXライブラリスレだということを忘れるな
本来、このような議論そのものが
当スレには無用のレス
俺も出来れば、DXライブラリに関する話題だけを読みたい
C言語やC++だけの話題は、どこか別の場所でやってほしい
もう終わろうか。こんな無駄な会話など。
続ける意味がない
>>805 なるほどどうも
DXライブラリ関係ない話だったね。すまそ
>>806 俺も簡単なデータはcsvでもってるなぁ
分業するとき単なる座標指定すら、面倒なことになるし
>>807 おまえは宣伝すんな。違反だ
JET++ ?@JET_JAPAN 3時間
ふう・・・。久しぶりに2chでくだらないひと時を過ごしてしまった。
2013年6月12日 - 23:56
そう言ってから三時間ほどくだらない時間をすごし続けるナマポくん
812 :
名前は開発中のものです。:2013/06/13(木) 02:59:35.79 ID:11zUjLD+
>>807 散々騒いでおいて何言ってるの?
DXライブラリか、他のプログラマースレを違って初心者や素人が多いからな
どうせ嘘八百並べて、初心者騙して、自分のブログサイトに誘致したかったんでしょう、
もしくは出来る振りしながらわからないこと教えて貰いたかったとか
自力じゃゲーム完成すること出来ないから、他人を利用したいんだよなこの詐欺師君は
コードをクソ呼ばわりするのはいいが人間をクソ呼ばわりするのはやめとけ
おまいう
ここまで暴れた自演君は普通にクソだと思うがw
僕は第三者ですけど、あのサイト制作は悪くないと思います。
参考にさせてもらいたいですね。
ムキになって煽ってる人の方が不思議ですね。
とてもサイトの管理人さんに詳しいみたいだし
執拗につきまとっている方なんでしょうかね。
個人的にデザインとかは好感持てるんだけどねぇ
一応(ゲームではないが)プロのプログラマーの俺から見て
本当に書いてることは間違い多いよ
間違いに対してもうちょっと聞く耳持って改良すれば
かなりいいサイトになると思うんだけどなぁ
まぁ、管理者を擁護して間違った知識を身に着けるのも自業自得ですし
こっちは間違いを証明する証拠もきちんと書いたわけで
その上でそれでも管理人が正しいと思うのなら信じればいいんじゃないでしょうか
お好きにどうぞ
・・・
>>736 ありがと
コード無視して解説しか読んでなかったけどコードが問題なんだな
もし参考にするとしても、ある程度勉強したけど〜〜のやり方(組み方)が分からない!ってやつ向けだな
コード書かずに解説だけ書いてれば良いサイトだと思ったのに…
もう、お前ら別なところでやれw
ここは言い争うところじゃないw
ところで、話は変わるけど、洋ゲーとかでMODとかよくあるけど
見た目・アイテム等の追加などはデータの追加や改変ってことはわかるけど
コアのシステムなどの変更なども行うMODとかあるけど
元のプログラム本体ってどういう作りにしてるんだろ?
詳しい人教えてください
それもそうだな…w
色調変更ってどう実装してる?
フェードインアウトは画面サイズの黒画像を透明度弄ればいいというのは分かるが
まさか黒画像を赤にしたり青にしたりするの?
直接画面にSetDrawBrightかけるやり方はどうもダメだったよ
なんか物凄い勢いでスレ伸びてると思ったら
>>822 DrawBoxとαブレンドを使えば単色画像を用意する必要はないです
最近おもしろいのが湧いててちょっと楽しかったけど、飽きてきた
kazuki = jet++は自分は上級者で他の人間は全て素人、自分が絶対的な正義であるって
信じ込んでいるからレスしても無駄だってば、理解しようとしなかったでしょ?
>>821 市販ゲームというかエンジンにはスクリプトにC#とかC++採用してる奴もあるんだよね
どうやって連携してるのやら、そういう奴のコア部分ってどうなっているのかほんと気になるわー
こういう話題はC++ゲーム製作スレの方が適してるかもしれないけど
まぁ奴のサイトの間違っている部分を全て添削したサイト作ったら
ダメな例と良い例の比較で結構まともな解説サイトができるかもしれんが…w
>>818 >個人的にデザインとかは好感持てるんだけどねぇ
心にもない発言をしておき
油断させようとする作戦
では具体的にどこのどの部分が
好感を持てたのか具体的によろしく
>一応(ゲームではないが)プロのプログラマーの俺から見て
俺は○○だが
俺は△△だが
最初にこういう切り口で語る癖は直したほうがいい
お前は今まで何回色んなものになってきたんだ
>本当に書いてることは間違い多いよ
でも、どこが間違っているのかは言わないというわけだな
じゃあ俺もお前のマネをしよう
お前の顔は間違ってる鼻も口も
>お好きにどうぞ
捨て台詞を吐く癖も直した方がいい
正体バレバレです
>>826 ところでPS3のゲームプログラマーをしているという
架空のお友達は、その後どうした?
ハードワイヤードも知らないとか言ってた
ありえないPS3の架空プログラマーことな
あと、俺のブログで「なお」という名前名乗って発言したのはいいが、
発言する度にIPアドレスが変わっていたが
あれはどういう意味だ
ちなみに2chでそれをやるとIDが変わって一人二役ということが簡単に出来る
更に携帯電話から書き込みをすれば、
IDを維持しながら自演も出来る
こいつは名無しが特定の人物に見えているようだ、病気か?
ワールド座標とスクリーン座標の間違いだらけの解説楽しみにしてますよwwwww
>>817 ありがとうございます
>執拗につきまとっている方なんでしょうかね。
まさにその通り
グダグダと何やら御託を並べていますが
要するにコイツの目的は
ただ嫌がらせがしたいだけでしょう
標的は別に俺でなくてもいい
とにかく人に嫌がらせが出来ればいいらしい
俺、たまたまコイツが別のところで別の人を叩いてところを
いくつか見かけたが本当に酷いものだったよ
>>583に対する
>>544の返事がいい例
ちなみに
>>583は本当に俺の自演ではない
本当に無関係な他人の発言です
ちょっと応援メッセージ送っただけで
何が憎いのか知らんが
俺が応援されるのが許せないらしく
>>585とのこと
で
>>587で「自演扱いは聴き捨てならんな。お前の方が迷惑なの気付け。」
と反論
他人に間違われて自分が叩かれたら
誰だってこういう反応になる
>>594←だが、こいつはこんな返事を返す
で、本人はそれが「俺は善意でこれを書いているが」とのこと
「分からんだろうなw」
はい、全く理解できません
どこが善意ですか、最悪です完全な悪意だろ
スレチ
お前ら消えろや
834 :
名前は開発中のものです。:2013/06/13(木) 10:47:08.44 ID:11zUjLD+
JET++は昨晩3:00までいて、今日も朝早くから頑張ってるな
流石は生活保護だ、裕福でいいねえ遊び放題の生活って
>>818 間違いだらけで当然だよ、全くスキル無しのペテン師だから
正しい部分は他人の文章写した所のみ
で、
>>596では、この人は俺を応援してますとコメントしただけで
それ以上もそれ以下の意味もないのに、
自演ではないと否定までしているのに、
キチガイ認定されてしまう
//
>>587 // はい、粘着キチガイjet++の自演確定。
// 何必死に他人のフリしてんだよキチガイ
//
>>262>>263 //
>>544>>545 // でもやらかしてる連投癖でバレバレ
// つか、以前宣伝してたサイトと違うんだけど
// リセットしたの?キチガイ
こんなことしたら誰だって怒るわ
この人のどこがキチガイなんですか?
そしてコイツは何やら持論で推理ゴッコみたいなことをしているが
残念ながら完全に外れている
こんな見当はずれな頭を持った奴が
何勝手に人のサイトにケチつけてんだって話
「間違いだらけ」と言ったからそれを検証してみたが
その結果、妄言という結論に達しました
>何必死に他人のフリしてんだよキチガイ
この発言は特に酷いわ…
酷過ぎるわ
本人じゃないから自演じゃないと言ってだけなのに
>何必死に他人のフリしてんだよキチガイ
だぜ?普通ここまで言うかよ
捨てセリフに「キチガイ」だってよ
自分が言われたと思って考えてみてくれ
コイツに人間の心はあるのか
>>833 お前が自演扱いした人間が本当に赤の他人だったとして
自分のこの発言を読み直してくれ
酷いのか酷くないのかどっちだ?
で、未だに謝らないのはどうしてだ?
お前は謝ったことがない人間なのか?
それがお前の親の教育か?
ひどいほど粘着してんな。
精神的な病気でもかかっているんかねぇ。
あーもーうるさいなぁ
どっちも初心者のために言い合ってるんだろ?
なら、場違いな議論をここでするな
839 :
名前は開発中のものです。:2013/06/13(木) 11:04:39.28 ID:11zUjLD+
>>837 東京に来て2年以上無職の生活保護で時間有り余ってるのに
未だ作品を完成させられずに僻み根性が炸裂してるんだよ
五体満足なのにニコ生ではうつ病だと必死に主張
間違った
>>583に対する返事が
>>585 >>585に対する反論が
>>587 >>588では、こんなことを言ってる
>お前みたいな人間が世界で一番見苦しくて恥ずかしくて情けない人種だと気付け、ゴミ屑野郎
>お前みたいな人間を産んで育てた親も親だろうが、
>親のためにさっさと死んどけよ、ゴミ。それがお前に出来る親孝行だぞww
「ゴミ屑野郎」は言い過ぎ…
コレがまとな頭を持った人間の発言なのか?
自分を生んだ親まで否定して、
親のために死ね?(意味が分からんのだが)だってよ
酷過ぎて思わず笑ってしまったわw
こんなこと言ったら誰だってブチ切れる
しかも、本当に赤の他人なのに、本人も否定してるのに…
この人はただ、俺のサイトを応援してますと言っただけで
ここまで罵られてしまった
こんな奴の発言などまともに聞く必要ナシ!
人間のクズだわ…。いや、ホント。
>>839 >五体満足なのにニコ生ではうつ病だと必死に主張
これも
>>583にしたことと同じぐらい酷い発言だ
俺がうつ病を発症したのは本当の話
精神科医に通院して薬による治療をしたのも事実
事実を語っただけなのに「必死に主張」と罵る
お前はうつ病で苦しんだ人間の気持ちは分かるのか
どれほど辛い目に合ってるのか少しは考えたことはあるか
本当にうつ病で苦しんだ人に対して
>五体満足なのにニコ生ではうつ病だと必死に主張
この発言は、どれほど酷い意味を持つ言葉であることが分かるのか
>>583にしたことと同じじゃないかよ
>>583は自演じゃないと言っただけで、キチガイ認定
俺がうつ病で苦しんだのことも事実なのに「必死に主張」と締めくくる
>>839 それを何年間もやってるんだよな。
彼は人に認められたくてサイト開いたり掲示板で挑発的な発言をしたりやったりしてるんかね。
アスペルガー症候群とかその類の病気とか。
自己愛性人格障害じゃなかった?こういう奴って結構いる
名無しを誰か特定の人物に決め付けてるようだし統合失調もやってるかもめ
IT業界では特にそうなのかもしれないが、鬱病が云々と他人を非難するのだけは
洒落にならないからやめとけ。割とまじで。
とにかく、お前以外のこのスレのまともな人間には、
お前がどこまで超最低な人間なのかが
今回のことで十分伝わったことだろう
以上のことをハッキリさせた上で
このスレの住人たちには、
この最低人間がここに何年も常駐して
ここにやってきた多くのプログラム初心者たちをカモにして
助言?(小馬鹿にして喜んでいるだけだが)を
「これまでやってきていた」という事実を知ってほしい
そして、それはこれからも同じことが繰り返えされるだろう
それだけを言い残して俺はここを去る
846 :
名前は開発中のものです。:2013/06/13(木) 11:41:12.04 ID:11zUjLD+
>>841 本当はうつ病じゃなくて怠け病と甘え病
何年も無職で好き放題な時間があってストレスとは無縁のなずなのにうつ病になる理由はない
無能で作品が完成しないから八つ当たりしたり、他人の協力とか物乞いしてるだけでしょ
落ち着け
いいから一旦落ち着け
こんな奴がこのスレに常駐する限り
まともなDXライブラリ論が展開できるとはとても思えん
自分の意見と反対するような人間が現れたら
キチガイ認定したりするのだろうな
場合によっては、また無関係な人間を
俺の自演に仕立て上げられてしまい
次なる被害者が生まれるのだろうな
なので次スレは必要かどうかも
真剣に議論するべきだと思う
去ると言いながら、もどってくんなw
女の腐ったようなやつだな
お前、内容が正しいかどうかという技術的な議論なんかすでにどうでもよくて
自分が言い負かされるかどうか、にしか興味なくなってるだろ
スレチ
ちょっとDX関係ない技術的なレス拾ってみるか
>>821 あまりMODは詳しくないけど、Minecraftの場合はJavaで出来てるから
逆コンパイルでソースコードにまで戻るんよね
それを読んでそれに手を加えて差分を取るみたいな感じだった
ワンクリックで元に戻すのを全部やってくれるキットが出てるから、それを使うみたい
あとSkyrimとかもだっけ、公式でMOD作成キットが出てる場合はそれが使えるし
後はチートに近いけど、バイナリ解析的なのをすれば作れるには作れると思う
あ、MODの作り方じゃなくてMOD対応した本体の作り方の話だったかw
MODがどうとか言う話だったら、
俺はMMORPGとかでパッチと称する新ファイルを追加していくだけで
仕様ががらりと変わっていくのが不思議でしょうがない。
いいかげんにしろ
荒らしとして運営に通報するぞ
で、次スレは必要。
>>826 C++またはC#上でC++・C#がスクリプトとして動くエンジンをつくってるのかな?
基本的なグラフィックの描画部分とか各種データの読み書きとか
そういう部分を本体プログラムにして、あとの部分はスクリプトで走らせるとか
そんなんかな?
>>852 おっと、すまない飯食べながら書き込んでいる間にレスしてくれてありがと
逆コンパイルしてメモリー上の元プログラムを書き換えているって感じで
いいのかな?
なんかすごいことしてるんだな〜
>>855 luaとか連携めんどくせー、C++とかそのまま使えればとか思ってたけど
ゲームエンジンだったらコンパイラそのものつんでる可能性があると書いたあとで気づいた
おとなしくluaかテキストベースで頑張る
>>856 いや、メモリ上じゃなくて本当に逆コンパイルしてるんだよ
作者:元コード→ソースコード→改変→差分を集めてMODファイル作成→配布
使用者:MODファイルを受け取る→ゲームにあてて作者のコードと同じプログラムに変更→実行
>>858 丁寧にありがとう〜俺には無理そうだw
>>857 前にスクリプト走らせるのに自作するかpythonかluaか迷っていたけど
素直にluaにするか・・・
まだまだ、先の話だけど
あとゲームに限らず良くある良くするのは、
基本的に処理のインタフェース決めた後、その実際の処理は外部DLL(Windowsの場合)にまとめておいて、
それらを置き換えるって形でのアップデートパッチって流れが普通。
C++やCなんかでのネイティブの場合。
>MOD
スクリプトやリソースがアーカイブになってて、
その中身にアクセスできれば交換可能なゲームもあるよね。
確かに管理人の言う通り、煽ってる人らが悪の権化
エラーを吐くわけじゃ無いんだし、jet++をそこまで否定する必要性あるの?
ネットにある講座の技術、知識の量にケチつけてたらキリがないはず
いちいち目くじら立てて叩き伏せることかな?
結局彼がなにしようが気に入らないんでしょう、つまるところ
MODっていっても色々あるからなぁ。
データ・画像の置き換えで済むやつなら難しくはない。
MAPジェネレータ的なものなら外部DLL化して
仕様やヘッダファイル公開すればなんとかなりそう。
コアを弄るような奴だとかなり難しいだろうなぁw
civ4はpythonでごにょごにょやってるようだが。
あれ、c++のソースまで公開してるし。
どんなMODを想定するかによるし、個別に対応してくしかなさそうだなぁ。
或いは完全にオープンソースにして全裸待機。
>>862 事実だからこれだけは言うが、俺はJET++っていう個人を攻撃してるわけではなく
記事の質はネット「講座」の中でも極端にレベルが低く、間違いが多いのは確かだよ
細かいところが間違ってるとかじゃなく、色々根本的におかしいんだよ
俺からはまともにコードを組んだことが無い人間が解説を書いているようにさえ見える
マナー違反の宣伝とかスレチ連投である程度叩かれるのは仕方ないにしても
少なくとも俺は何をしようが気に入らないなんてことないけどな
強いて言えば、間違った知識を身に付ける人間を増やしたくないぐらいは思ってるけど
この話題そろそろ蒸し返すのやめた方がいいね
C#だったら、むしろ中間コードと仮想マシン使ってるから
C++よりはるかに組み込み安い気がするなぁ
その分 .NET Framework が必要なので重くなるけどね
>>862 本人以外が見ればどう見ても自演宣伝しようとしたアホの自業自得なんだがw
>>824 へぇそんな使い方が…
図形描画とか使うことないだろうなって思ってたから意外
何故SetDrawBrightじゃダメだったのかを聞かせておくれよ
元の色が黒いと使えないこととか、あるいは
青ならデフォルトからRGを下げるわけだから、全体として暗くなってしまうデメリットが、目的に合わなかったのかしら?
2次元でいいんだけど、傾いた矩形同士の当たり判定ってどうしてる?
諦めてキャラクタは円、攻撃判定を矩形にしようか悩んでるわ
正確な当たり判定は複雑で重い割にあんまりゲームの面白さとかに貢献しないんだよね
という考えのもとに俺は基本的に軸固定の矩形とか球とかばっかり使ってるな・・・
最近は物理エンジンに丸投げで楽してる……
俺も
>>873と同じ考えでやってるし、
今までプレイしてくれた人から「当たり判定が理不尽だ!」なんてクレームもついてないな。
ただやり方を知っていてやらないのと、知らないからやらないのとでは大違いだと思う。
もちろん俺は後者w
実に良心的だがグラディウス3の超詐欺判定に痺れた俺にはそんな気配りなど無用!
傾きの有無で処理変わったりするかな
そもそも傾きって何だ
空の軌跡やってるんだけど、これキャラグラは2Dだよね?
やけに立体的だが…影のおかげか?
e?
プリレンダだから見た目は3Dっぽく見える
何気なくまたJET++のブログ見に行ったら、
「C++は大量にグローバル変数を使う」っていう一文とか
俺らに突っ込まれたところをさり気なく修正して
元から間違いがなかったことになってる
散々ブログには間違いないって主張してた癖に、こいつ汚いわー
どうしても言いたくて、スレチ蒸し返しすまそ
ネヲチに池
ほい、すまそ
馬鹿は死ななきゃ治らない
バーロー
>>885 間違っています。
以上。
↓次の方どうぞ
JET++のことだから時間が経ってほとぼりが冷めたら、また何食わぬ顔で連投してくるだろうけどな
奴の性格はそんなもん
荒らしやスレチは嫌だろうけど、覚悟して構えておいたほうがいいぞ
みなさんよく覚えておきましょう
これが
「荒らしに反応する奴も荒らし」
という意味です
「縮退炉に勝てるのは縮退炉だけ」、つまり、荒らしに勝てるのは荒らしだけだ!
なあなあ大した話題じゃないけどさ
毎秒60フレーム、毎フレーム4次元ベクトル×8つ×10万回
これぐらいの代入って処理落ち意識しないといけないレベルだと思う?
>>893 ビミョーなラインだな
PCが低スペなら問題あると思う
実際にプロファイルしてみないと分からんが
つかプロファイルしろ
そして報告してくれ
できればシェーダーで実装するか、boostやOpenMPで並列処理すべき
何故 boost を boostって大雑把な括りで名前出したのか
boost::thread の事言いたいんだろうけども
一応2500Kだけど
3Dでパーティクル作ってるんだけどシェーダで描画する際に
DrawPolygonIndexed3DToShaderに使うstruct VERTEX3Dにiが0〜1万まで値を渡し、描画、ってのを10回繰り返す
こんな処理があるんだけど、ディフューズとスペキュラにGetColorU8(Particle[i].r , 略.g, b, a)で代入する って処理をコメントアウトする前と後とで
fpsが10以上変わるんだよね
.posとかのための演算はそこまで重くなかったっぽいんだけど
あとGetColorU8使わずに.x.y.z.wと各成分に直接代入しても大差なかった
これについてはコーディングの問題じゃなくて純粋に代入速度っぽくて不安になったんで意見を聞かせてほしい
前に教授がフォートラン77の物理演算プログラムでノートパソコンをハングアップさせたことがあってな
それがちょうど
>>893くらいの計算量だった
8つって言うのはどういう意味? 行列ってこと?
AviUtlのフィルタとか画像処理ではもっと計算量多いんだから
プログラムかノートパソコンへぼ過ぎだろ
>896
DrawPolygonIndexed3DToShader自体によるGPUのバッファの転送速度が遅いだけなんじゃないか
あの関数あんまり早くない印象がある
1パーティクルにつき2ポリゴン4頂点だから4頂点×ディフューズとスペキュラこれで8つ
どう考えてももっと大量の情報扱ってるプログラム多いしMMEでも50万パーティクルぐらいまで60fps維持できたから
何か問題あるんだろうけどちょっとわからない
これの値は毎フレーム変わるから計算で出すしかないし
MMEはインスタンスドバッファとか使ってんじゃね?
インスタンスドバッファは大量のメッシュの描画にかなり威力を発揮するから調べてみたらいいぞ
とは言うもののDXライブラリで使えるか知らんが
使えないなら作者に土下座してでも頼みたい機能なんだがな
>>900 VERTEX3Dに一度データ入れた後DrawPolygonIndexed3DToShaderを10回呼んだらどれくらい速くなる?
要はVERTEX3Dにデータを代入する負荷無しでどれくらいの負荷かということだけど
DrawPolygonIndexed3DToShaderを10回呼ぶだけで重いんならライブラリ側で何かしないとどうしようもない
>>902 今出先だから確実なことは言えないけど
昔、DrawPolygonIndexed3DToShader一回の呼び出しで1パーティクルの描画
なんて恥ずかしい実装をしてたことがあって、その時でも6000パーティクルぐらいは60fps維持できたから
たかだか10回程度の呼び出しならほとんど関数自体の負荷はないと思う
あ、上で書き忘れてるけど10万パーティクルなら全部代入して30fps程度、カラーをコメントアウトして40〜45fps程度だった
>>901 軽くググったけどそれっぽいのが見当たらない……
ああ、訂正。
DrawPolygonIndexed3DToShaderで毎パーティクル呼び出しのときは2000〜3000パーティクルが限界だったわ
DrawPolygonIndexed3Dのときに6000パーティクルぐらいだった
今は運動とか展開の計算含めて大体3万〜4万ぐらい描画できるようにはなったんだけどね
最適化したとしてどこまで増やせるかと思って運動とか切ってfps低下の原因を探してたら代入が他より圧倒的に重かったみたいで
「instanced directx9」でぐぐったら結構見つかる
でも「パーティクル dxライブラリ」で3D関連のはないなー
もしかしたらDXライブラリで3Dパーティクル使う前例がないんじゃね?
こりゃ自分が人柱になるか山田さんに土下座だな
>>904 代入を一切しなかったらどう?つまり代入は最初の一回だけにして、あとはDrawPolygonIndexed3DToShaderを呼ぶだけ
当然それだとまともな描画はされないけどあくまで負荷テストとして
あとDrawPolygonIndexed3DToShaderもCPUメモリからGPUメモリへの転送が入るから負荷0ではないよ
そもそも3Dエフェクトの作り方全く分からん
作ったのを用意するのかそれともプログラムで組み合わせるのか…
どっちでもいいと思うけど、一度Bishamonやeffecsearでぐぐってみるといいかも
XNAってまた別のライブラリのことだったのか
なんかデータに属性でも設定できるのかしらんが特有の書き方がわからんな
えーとこれは従来の頂点バッファ6つの値を毎回計算して2つのポリゴンを描画するんじゃなくて
基準になる頂点バッファ6つの値を一度だけ渡したら後は各インスタンスごとに変換行列で差を与えるってこと?
これの変換行列ってどこから求めるんだ?SetDataを呼び出してとか言われてもな
これはGPUが圧倒的に行列演算速いからGPU依存にして速度を稼いでんのかな
余計に重たくなりそうに見えるけど
あと誤解のないように言っとくけど
いつかは3Dモデルのパーティクルにも手を出したくなるかもしれんが
今のところ2ポリゴンの四角いビルボード使ったパーティクルしか扱ってないんだけどそれでもこれって効果あるのかな
>>907 ん、これは何回も呼び出して60fps切るときの回数をテストすればいいのかな
2000回は呼び出しても60fpsを切らないってだけじゃダメ?
家の回線は規制されてるから返事は明日になるけど
値を変更しないで連続呼び出しはデータも命令もキャッシュに収まっちゃうから負荷にならないかも
一旦書き換えてキャッシュから追い出すようにすると変化したり
>>911 ならなおさら
>>903の毎フレーム、1パーティクルごとに描画命令で2000回っていうデータが役に立つんじゃない?
>>908 以下の応用
・普通にポリゴンモデル表示
・あるいはカメラに平行な板ポリのみ
・自分の望む描画内容を計算、シェーダ(など)で適用
・それらの時間による変化・テクスチャアニメーションや、頂点アニメーション
・ポイントスプライト/パーティクル
つまり何か特別な専用の命令や関数があるわけでなく、普通の三次元処理の応用
ゲーム作りがなぜできないのかわかった
自分で絵が描けないからだった
>>910 >2000回は呼び出しても60fpsを切らないってだけじゃダメ?
て、ことは10万パーティクル60fpsできないのはCPUの頂点データ代入負荷が原因ってこと?
だとしたらDXライブラリの改良では解決しないだろうな
>>913 へぇー楽出来ないのか辛いな
ちょろっと描いた3Dモデル重ねて発光させるだけでもビームっぽくなるらしいけど…
DXライブラリにモデル発光関数なんてあったっけ
モデル発光させたいなら公式のブルームエフェクトあたり参考にすれば
>>915 そう だからライブラリの不備ではないはず
現状じゃあDrawBillboard3Dの方が速い印象だからまだDrawPolygonIndexed3DToShaderを使いこなせてないんだと思う
次レスみたいな感じでコーディングしてるんだけどMAX_PARTICLE_NUMBERが10万とか行ったらParticle[ i ].Valid == 1の走査10万回だけ(?)で(アイドル時でも毎フレーム行う)1コアの使用率が8割ぐらいまで上がってる
パーティクルの運動とか描画切っても有効なパーティクル数が増えたら描画の有無以上にfpsに影響する
こんな単純なところでたかだか10万の走査にアイドル時で1コア8割も使ってたら話にならない
なんかコーディングでおかしいところないかな
#define MAX_PARTICLE_NUMBER 40000
#define PARTICLE_ONCE_DRAWING_NUMBER 10000
void Common_Particle_Draw_Process( void )
{
SetUseZBuffer3D( TRUE ) ; // Zバッファを有効にする
SetUseTextureToShader( 0, ptg.test ) ; // 使用するテクスチャを0番にセット
SetDrawBlendMode(DX_BLENDMODE_ADD_X4 , 255 ); //合成方式
SetUseVertexShader( Shader.Vsfor_Particle1 ) ; // 使用する頂点シェーダーのセット
SetUsePixelShader( Shader.Psfor_Particle1 ) ; // 使用するピクセルシェーダーをセット
inti,j;
for( j = 0 ; j < MAX_PARTICLE_NUMBER ; j +=PARTICLE_ONCE_DRAWING_NUMBER )
{
//VertexとIndexの初期化
ZeroMemory( Vertex, sizeof(Vertex) );
ZeroMemory( Index, sizeof(Index) );
for( i = 0 ; i < PARTICLE_ONCE_DRAWING_NUMBER ; i ++ )
{
//描画のためにステータスを計算
Particle_Draw_Process( i+j , i );
}
// 2ポリゴンのシェーダ使った描画
DrawPolygonIndexed3DToShader( Vertex, 4*PARTICLE_ONCE_DRAWING_NUMBER, Index, 2*PARTICLE_ONCE_DRAWING_NUMBER ) ;
}
}
void Particle_Draw_Process( int i , int j ) //文字入れ替わって分かりにくいけどi=上でのi+j,j=上でのi
{
// パーティクルデータが有効なもののみ描画準備を行う
if( Particle[ i ].Valid == 1 )
{
Vertex[ 4*j+0 ].pos = 略
Vertex[ 4*j+0 ].〜 = 〜
各セマンティクスが続く
Vertex[ 4*i+1 ].pos = 〜
(ry
Index[ 6*j+0 ] = 4*j+0 ;
インデックスに[4*j+0〜4]を割り当てる
}
}
格闘ゲームつくるときキャラクターの座標はどの部分にするの?
1箇所じゃなくて
Left Top Right Bottom
か
Left Top Width Hight
みたいにするの?
俺の場合、格ゲーじゃなくてアクションだけど、
足元(床の判定をする重心部分)基準で、攻撃判定とか食らい判定を複数持つようにしてる
足元の絶対座標と他の相対座標みたいな感じですか
ありがとうございます
そういえばMMEのパーティクルって完全なGPGPUだったような
CPUで計算や代入はしてないから、そりゃあ高速なわけだ
MMEと同じようにすればDXライブラリでも50万パーティクルいけるんじゃない?
俺もいろいろ作ってきたが、やっぱ足元がいいと思う。
でないとキャラの身長によって、接地する位置(足元)が変わるから
接地判定のたびに、いちいち計算しなくてはいけなくなる。
927 :
名前は開発中のものです。:2013/06/19(水) 16:10:59.10 ID:TAYU7NnF
頂点テクスチャ使えるんかな
使えればパーティクル表現の幅が広がるんだけど
無い頭じゃcannot map expression to vertex shader instruction setに阻まれる…
すまん癖でageてもた
tex2Dlod(Texture, float4(VSInput.Tex,0,1));でいけた
だがどうやって値を格納してインスタンシングするか思いつかん
>>925 やっぱGPGPUになってくるか
MMEでいくら負荷かけてもCPUほとんど負荷かからないしな
GPGPUって言ったらCUDAぐらいしか知らんってか開発環境引き継げそうなのなさそうだけど
ラデでもあったりするの?
MMEなんてゲフォかラデかも選ばないしどんなの使ってるんだろうか
いやいや、MME用のファイルみれば分かるよ、というか分かった
Zにインデックスを代入した頂点で形成されたポリゴンが30000個あるxファイルを用意して
それらのポリゴンの頂点を何処に配置するかはZに代入したインデックスと経過時間を代入した定数を利用して頂点シェーダで決めてた
929はMMEで50万パーティクル出したんでしょ?
それに使ったfxファイルやら何やらを見ればやり方は分かるよ
>>929 GPGPUつっても単なるジェーダーだからな
DirectXSDKとかMMEのfxファイルを見てDXライブラリに適用できないか試行錯誤するしかないな
しったか多いな。GPGPUの本来の意味くらい勉強しておけよw
>>932 俺もよく知らないから詳しく教えて下さい
934 :
名前は開発中のものです。:2013/06/22(土) 01:56:21.28 ID:yr7OmFcb
不正なソフト検出、934のリンク開いちゃ駄目だぞ
youtubeなのにそんな事あるのか。
たしかに934の書き込みは「どうとでもとれる内容」で「age」てると言う点でヤバイ感じがびんびんするが。
構うなマルチだ
ああ、ヤバいぜww
のぞいてしまったら、後戻りはできないさww
939 :
929:2013/06/22(土) 13:33:28.64 ID:c+7nT2Dg
確かにほとんどシェーダで処理してるみたいだったけど値をどうやって管理してるか未熟なのもあってわからんわ
値をシェーダに渡せてもシェーダでの計算結果を返すのにはHLSLの出力のセマンティクスしか現状無理だよね?それもDXライブラリだと自動的に描画処理に回されるしかないし
運動まで記述してしかもfx内で完結してて同じエフェクトを大量に並列処理しても代入のし直しとかを回避できてるのがちょっと分からない
俺だと運動をCPUでやって座標等のパラメータを決定して、GPU使った描画処理で、決定したパラメータを基に6頂点を決定(回転、スケーリングなど)してるから
GPUに任せられるのは後半だけ、かつ値渡しの代入が待っててそれがボトルネックになってる
あとほとんど別件だけど配列に別の要素へのポインタを持たせてリストを作ってるとき、
端から端まで走査するときに要素[i]をforでiを0からMAXまで回すのとポインタを順にすべて辿っていくのでどれぐらいの速度差があるかな
ポインタの方が遅くとも「forでiを0からMAXまで回す」をnセット(nは1〜5程度)するのと比べるとポインタの方がいいだろうか
とりあえず50万だしたときのMMEのfxを見たい、そこに答えがあるはずだから
ポインタの話は具体的なコードを示してくれないと細かいところが分からない
>確かにほとんどシェーダで処理してるみたいだったけど値をどうやって管理してるか未熟なのもあってわからんわ
調べたMME用fxでは値は管理してなかった
初期値+経過時間だけで各パーティクルの座標、回転値、スケールを決定してた
初期値は頂点データに、経過時間は定数に入れる
2要素だけで決定されるから時間経過に伴う座標や回転値の推移を保持しておく必要がない
だからGPUで計算した結果をCPU側に戻す必要がないってわけ
942 :
名前は開発中のものです。:2013/06/23(日) 16:44:02.17 ID:c1txBwZ+
構造体を配列に入れていくのと
クラスを配列に入れていくのとでは
それぞれどういうメリット、デメリットがあるか教えてくれませんか?
要は、インスタンス化させなきゃならない情報と
そうする必要の無い情報の違い?かな、、
全部クラス使っとけ
くらすぞボケ
と言っても答えになってなかったから補足。
カプセル化するかしないか。外側で構造体の面倒を見るのかそうでないか。
設計思想による。
厳密には確保のされ方が若干違うが、クラスも構造体も同じもの。public:とか書かないだけ。
>>944 ああ? じゃっかぁしゃい! こうぞう(小僧)が!
わざわざ連投してまで乗る流れではないと思うんです
>>942 C++だとstructもclassもメンバがprivateかpublicか程度で
ほとんど同じものだぞ、という指摘は多分的外れだろうから
勝手に「インスタンスの配列」と「ポインタの配列」の違いのことを
言っていると解釈して答えるけど
・ポインタだとポリモーフィズムが効く
・ポインタだとNULLを代入しておけば「データがない」ことを明示できる
・ポインタだと、必要になるまでインスタンスは作成されない
・インスタンスだとほんの少しメモリ効率がいい(ポインタ変数の分)
・インスタンスだとほんの少し処理速度が上がる(間接参照が減る)
・インスタンスだと配列を宣言した時点でメモリが確保される
948 :
名前は開発中のものです。:2013/06/23(日) 23:54:02.18 ID:loBJMC5T
深夜に質問すいません。
現在DXライブラリでゲームを作っているのですが、
visual C++ 2010 Express でReleaseビルドをしたときのみ発生するバグがあります。
Debugビルドをしているときは正常にゲームが起動し、動作するのですが。
こういった場合の解決策って何かありますか?
未初期化の変数を見ているとか範囲外アクセスしているとか
>>949 回答ありがとうございます。
さっそくその点は検証してみます。
クラス使い始めたら構造体忘れるくらいだな
まぁ同じようなもんだしね
でもPOD型として使いたい時って、意味を明示するのに構造体として定義したいから忘れる事は無いよな
やっぱそういうのって、ロマンティックだかセマンティックだか的に重要だよね
954 :
名前は開発中のものです。:2013/06/24(月) 14:14:32.48 ID:w4EsdBi7
3Dでカメラのズームってどうやるんだろ?
カメラを近づける→間にある壁とか通り越しちゃう
全モデル拡大→カメラが壁に埋まりそう
DrawExtendGraph→画面粗くなる
FPS作りたかったのに基本的な部分でもう詰んだ
カメラの視野角を狭くする
>>954 間にある壁とか通り越さないように近づけるだけじゃね
>>954 >DrawExtendGraph→画面粗くなる
これを回避する関数がDXライブラリにはある
>>954 2Dでも3Dでもムービーでも拡大表示すると荒くなってしまう
つまり、「DrawExtendGraph→画面粗くなる」を使う方法なのだが
これを使っても画面が粗くならないようにすればいい
ヒントは、どんなゲームでもズームをすると
画面全体が少し「ぼやけた感じ」になる
これがヒント
961 :
名前は開発中のものです。:2013/06/24(月) 21:54:49.67 ID:w4EsdBi7
>>956>>957>>958 なんとFOV変えるだけで拡大になるんですね
原理とか全然知りませんでした。ありがとうございました
>>956 目の前にフェンスがある場合とかだとカメラ近づけるわけにはいきませんよね
>>959 FPSだとズームしてぼけては困りますので
ズームでぼけるFPSを私が知らないだけかもですが。被写界深度除いて
そっか、カメラを近づけるって事は見える角度が変わるって事だからズームと同じじゃないんだな。
横からだけど勉強になりました。
視野角広げながら近づく、とかちょっと前のドラマで流行ってた演出もあるよね
cameraに距離変数作って数字弄るだけでカメラ距離は簡単に動かせる
数学やで
965 :
名前は開発中のものです。:2013/06/27(木) 00:19:12.56 ID:4uTUBgp+
クォータニオンの掛け算を使った回転を実装しようと思っています。
しかし、書いてくのはいいのですが、なんかこう、
36行目~41行目をもうちょっと綺麗にかけないかと思うのと、
クォータニオンの掛け算になりきれていない関数をうまくリファクタリングできません。
これ以上スマートにかけないでしょうか?
http://codepad.org/i1yXApwF
>>951 初心者の頃バンバン構造体使ってたけどやっぱりクラス覚えてから使わなくなるよなw
いまだにクラスの有効的な使い方が解らない俺。
968 :
965:2013/06/27(木) 11:06:07.38 ID:4uTUBgp+
質問板で効いてきたほうがいいですね、失礼しました
969 :
939:2013/06/27(木) 17:30:05.89 ID:FeY2Pa5S
>>941 遅くなってすまん
50万以上出たのはParticleEXってやつ。もしかしたら同じfxファイル見てるんじゃないかな
やっぱりそういう形で管理してたんだな
こうやって時間だけで位置を指定するのは革新的な方法だと感じたけど
こうすると初期値をシェーダに渡す量が増えると思うんだよな
ただでさえそんな大量のパラメーターを渡せないしどうしたものかと悩んでるのに
float3がpos、norm、tan、binorm、float4がsposだから16個のfloatしか渡せないんだよな
DrawPolygonIndexed3DToShader使うよりMMEみたいにシェーダ使ってモデル描画って形式のほうが軽かったりするのかな
それともMMDの自由度の低さを補うためにこんなことをしてるだけで特に利点はないのか
ポインタについては
typedef struct tagLIST
{
LIST *next;
LIST *prev;
} LIST ;
LIST list[ 10000 ];
list* head;
list* tail;
で、先頭のprevをNULL、末尾のnextがNULL、headに先頭、tailに末尾を代入してるリストを
if(i=0;i<10000;i++)
{〜}
で回すのと
list*j;
if(j=head; j->next != NULL; j = j->next)
{〜}
で回すのとじゃああんまり速度差気にしなくていいかなって話
どっちが速いとかわかる?
革新的てw
MMEは元々MMDに存在しないエフェクトファイルの読み込み機能をDLLをフックして実現してるんだから
>それともMMDの自由度の低さを補うためにこんなことをしてるだけで特に利点はないのか
これ以外に何があるんだよw
シェーダだけで書いてるパーティクルエフェクトが存在しなかったとでも言いたいの?
もっと勉強した方がいいよ。
GPU PROかShaderXお勧め。最新刊から読むべし。
なんでそんな皮肉った言い方しかできないの。
じゃあ、お前がやさしく答えてあげればいいよ。
プログラムスレってだいたいこんなんばっかよ
2chに何期待してるんだか。
>>970は皮肉交じりにちゃんと答えてるけど
>>971 は文句だけで何もしない学級委員だしな
>>975 そのオチって、基本的に本人が何もしないで口開けて待ってるだけの人が陥るパターン
ITに限らないけど、自分個人が常に自学自習かスキルアップしないとそうなって当たり前だと思う
単芝生やして言う事じゃないと思う
触るな触るな
その手の話題は雑談スレ(というかプログラマ板向けだな)
スキル磨くならフリーランス最強
979 :
969:2013/06/28(金) 18:59:53.88 ID:AYnm5c/2
そういえばdxlibには
頂点バッファに相当する機能が無いね
>>980 VertexBufferをラップした物って話?
あんま意味無いような
スキル磨けば評価されて生き残れるようになってるんだったら日本の労働生産性が米国の6割にはならねえよ
結局既得権益を持ってる組織に入り込めるかどうかだけが全て能力は関係ないそういう国でした
一応、「VertexBufferハンドル」というものはあるっぽい
CreateVertexBuffer で作って、Draw〜_UseVertexBufferで描画できる
(シェーダ使うならDrawPolygon3DToShader_UseVertexBuffer)
984 :
979:2013/06/29(土) 14:02:39.67 ID:K6rcYNWm
おお、シェーダ使った関数もあったのか
あと実装に向けての問題は、
1.フレームまたいだパーティクルの生成にどうやって対応するか(すでにVRAM上に存在するデータを送りなおしていたら遅くなる)
2.GPUで処理するために初期値とパーティクルの運動記述するための変数の渡し方(数が多すぎてHLSLのセマンティクスでは足りない)
3.バッファのサイズはunsigned short(65535)が上限なのか
これぐらいかな
1は出来るだけ渡す回数を減らしてシステムメモリのアクセスを無くしてGPUが独立に処理できる状態を維持しないといけないし
でもパーティクルの生成なんてほとんど毎フレーム呼び出されるしどうしたものか
2はMMEみたいに時間からすべて計算で出すにしても途中のデータを保持するにしても、
最低でもfloat3だけで座標、速度、加速度、自転初期角、自転速度、サイズ程度の情報量は必要になる
欲を言えばローカル軸のために指向軸やサイズ、色の展開のための値や公転の速度や初期状態、基準軸も渡さないと
毎フレームシステムメモリからのアクセスは無くせないしなんかいい方法ないかな
3はVertexやIndexを使う以上、DXライブラリの改造が必要なのかな6万上限だとインデックスに6個ずつ、1万パーティクルしか置いとけないし
それともバッファハンドルは個別に持つことが出来たりなんかするのか
これ実装は現実的じゃないかな
ここじゃなくて管理人さんのほうに聞くべきだろうか
おじさん古い人間なんで、話半分に聞いてね
1を避けることは無理だべ
実際データが更新される以上、更新されたデータは渡さなきゃならない
2は別のセマンティクスを無理やり利用するとか?
ttp://msdn.microsoft.com/ja-jp/library/cc324493.aspx ブレンディングウェイトとか法線ベクトルとか
2つ目以降のテクスチャ座標とか・・・
DxLibがこの辺予約してたらダメだけどさ
# DirectX9は自由にセマンティクス定義できないからなぁ・・・
ってか、
>座標、速度、加速度、自転初期角、自転速度、サイズ
ここまでいくと「パーティクル」と呼ぶにはちと重すぎやしないか?
まるで弾幕ゲーの弾みたいだ
毎フレーム更新するなら速度と加速度と自転速度は渡す必要なくなるね
>>970 ShaderXは翻訳本がないのがなぁ
この業界、新しい技術を勉強しようとすると英語必須だな。
プレイステーションくらいまではむしろ日本語が標準語だったのだが。
最近じゃ韓国語のマニュアルはあるけど日本語はないとか
そんなんばっか。
そろそろ次スレ
テンプレなんだが、【関連スレ】を
【公式】と【前スレ】の間に置くのはどうだろうかと提案してみる
あっち過疎ってるから少し分散させた方がいいかなと
効果があるとも思えないけど、それくらいの変更ならいいんじゃないかな。
消極的賛成。
990 :
名前は開発中のものです。:2013/06/30(日) 16:50:24.29 ID:AaytdumH
3Dライン引いたときに カメラの近くのラインが消えちゃうのは
どうにもならぬのですか
Projection行列(perspective/ortho)のznearの値を小さくする
992 :
名前は開発中のものです。:2013/06/30(日) 17:45:43.50 ID:AaytdumH
ありがとござまーす
モデルのフレーム位置ってどうやって設定するんですか?
MV1SetMatrixで設定しても足元の位置を取得してるみたいです
モデルが悪いのかモーションが悪いのか…
>>989のスレと「スレ立てる前に〜」スレを追加して
スレ立て行ってきます
ごめん、無理だった・・・
誰か頼むorz
次スレ立てたよ