1 :
デフォルトの名無しさん:
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
3 :
デフォルトの名無しさん:2012/12/28(金) 03:58:23.83
ッモルピグ!
モルピグ厨死ね
年末年始もゲームのコーディング?
降ってきたペニスをマンコで受け止めるゲームとかどう?
>>8 それ、ペニスとマンコがゲーム性に反映されてない。
とりあえず格好いいグラから入る馬鹿と同じだよ。
ゲームじゃない
それは愛だ
男と女を合体させるテトリスが思い浮かんだ
カッコいいグラビアよりも
怪しげなグラビアのほうがいい
>>11 昔、洋ゲーで実際にあった
しかし、糞つまらんかった
このスレでちゃんとゲームを作りきった人っているの?
>>14 そんなこと訊いてどうする
応えられても本当かどうか判断できんだろ
>>15 あ、気に触ったんならごめんね
ただのネタスレだったかw
> 1000 :デフォルトの名無しさん:2012/12/31(月) 09:11:02.00
>
>>998はチープなゲームしか作ったことなさそうだな
だからお前はだめなんだよ
アイテムの基本情報と付加情報がごっちゃになってる
チープなゲームすら作ったことない口だけのニートなんだろ?
>>18 負け惜しみに下手な煽りしてないで手を動かさないと一生そのままニートだぞ
>>20 図星突かれて辛いのか
お前両親に見捨てられてるだろ
>>19 あらら、馬鹿に馬鹿って言ったらファビョちゃったwww
>>21 だから自己紹介はいらねーよw
急に親に見捨てられたとか突拍子もない事言ってくるって事は
本当に自分が見捨てられてそうだなw
普通そんな事思いもしないからなw
ここまで煽りだけで技術レスなし
お前ら不毛な事でスレ消費するなよ
分かったことといえば
>>17がニートで両親に見捨てられてるって
ことだけじゃないか
>>26 相当効いてるようだけど
マジでゲーム作れないお前がこのスレにいる価値あるのか?
>>23 自分に自覚がない限り急にこんな事言いださないよな普通w
まあ
>>17がニートで両親見捨てられてるって言うコンプレックス持ちって
事だけは理解したわw
>>28 ずいぶんその部分に粘着してるようだけど、
DBの話題に触れないのは何故だ?
付加情報でアイテム管理っていつの時代の話なんだか
多分この人ゲーム作った事無いか40前後のおっさんだよね
>>17のスペック
・ニート
・両親に見捨てられている
他にある?
>>30 ファミコン世代で勉強するのやめちまった人間の
知識なんてこんなもんだよ
種別毎じゃなくて、最近はバグや不正をトレースできるように個々にID振ったりするよ
64bitあれば余裕
個々に振らないとデュープ対策もできないしね
>>17は思考が古過ぎる
IDを二重三重にすればオーバーフローしないだろ。
それでも不安な奴は十重にでもしとけ。
煩雑になるけど確実だ。
struct ITEM{
long id[4];
long type;
long val[64];//タイプによって変わる、武器なら攻撃力やオプション、回復薬なら回復量
};
struct HAVING{
long hid;//所持品のカバンの中での位置を表すid
long id[4];
long num;//所持個数
};
IDが複数になった分多少面倒な気もするがまあいいだろ。
だがこれで莫大な数のIDを割り振れるし、PostgreSQLとか既存のデータベースを使う場合でもカラムを増やすだけで対応できる。
今まで if ( id == 124 ) 〜処理〜
複数版 if ( ( id[0] == 44 )&&( id[1] == 200 )&&( id[2] == 18 )&&( id[3] == 2 ) ) 〜処理〜
あれだったら判定用関数を作ればよい。
なんだこのスレ
暇人達のじゃれあい場
>>36 荒らしってお前の事じゃんw
お前本当に自己紹介好きだなw
>>35 考え方が全然駄目
何重にしてもそのやり方じゃいつか破綻する
破綻までの時間を延命してるだけ
代替案も無しに否定するやついるよな。
で、自分は何も出来ない。
いつかっていつだよ、設計時にゲームの規模を見積もれないとかアホか。
>>35 それ結局IDNo.を保持できる数を増やしてるだけで
何も解決していないような
アマチュアゲームならいいだろうけど実際の運営では許されないような
天文学的な数字にしとけばまず大丈夫だろうという考えは危険かと
何かの穴があってチートツールで馬鹿みたいにアイテム増やされた時に
想像以上にカウンタが進む危険もあるし
>>41 代替えも何も数を増やすなんて案は馬鹿でも考え付くんだがw
何でその恥ずかしい考えを恥ずかしげもなくさらしちゃったの?w
結局
>>17みたいなやつって昔の制限キツイゲームしか知らんから
どこで問題が起こるかも予想出来ないんだろうね
粘着厨が熱いな きもい
>>41 MMOなんて何年運営するかも分からんのに
どうやって見積もるんだよ
まずはその制限に達したらどうにもならなくなる
クソ仕様に疑問を持てよ
>>42 上限チェックもしないのな
プログラム組んだことバレバレ
>>46 アイテムに振るIDが増え続ける糞設計に疑問を持てよ
サーバ全体のアイテムに上限数があるゲームなど
見たことがないのだが、やはり
>>17は相当頭が古いようだ
50 :
デフォルトの名無しさん:2012/12/31(月) 15:26:41.85
ところでこの子はひとつのゲーム何万年アップデートし続けるつもりなんだ?
>>48 アイテムが生成され続けりゃIDだって増え続けるだろ
個別に認識できなけりゃどうやって複製対策するんだ?
やっぱりこいつ基本的に馬鹿なんだよな
馬鹿な癖にプライドだけは高いから絶対に自分の間違いを
認められないという
>>50 まあ最近のゲームやった事無いおっさんはそう思ってなよ
あんたの知識だとどれだけアイテムが生成されるのかも
想像できないんだね
>>53 内容に反論できなくなるとすぐにニートとか話をそらすw
55 :
デフォルトの名無しさん:2012/12/31(月) 15:34:02.28
========================
このスレに荒らしが興味を持ったようです。
しばらく書き込みを控えることをおすすめします。
========================
>>52 生産職やってると個人で数万とかすぐだからねぇ
それがサーバ全体で何年ともなるとかなりの数だしね
多分MMOとかやってない人だとその辺分からないんでしょ
そろそろまとめろ
結局のところ、提起された問題は何で、提示された解決案は何だ
俺の見たところ、はっきりとした解決案は
まだ一つしか提示されていないような気がするが
アイテムとかカードにIDを振らなきゃいけないのは最近のJOGAとかルールだな。
まあ、普通にSERIAL型(64bit uint)で足りるよ。
怖いのなら、SERIALテーブルとか作って{サーバ番号}-{ユーザ番号下3桁}-{アイテム種別}-{シリアル}とかにしておけばおk。
64bitの数(1800京)があふれることは無いから気にしなくて大丈夫だと思うけどね。
DAU100万のゲームがあったとして、全ユーザが一日に1000レコード作ったとしても文明が終わるまではなんとかなる。
どってことないぜ。
まとめ
>>57は散々荒らしたあと、こうやって情報だけ聞き出そうとしてる。
>>53 技術的に反論できなくなるとすぐにファビョるその性格直そうな!
>>58 天文学的な数値に対応できないならNGだろw
>>56 一人で数万生産したところで64bitは埋められねーよ。安心しろ。
レコード数増大に関しては、所持アイテム数限界があるから
結局大丈夫なように設計されてる。角度とか。
それでもだめなケースはあまり無いけど、水平分割とかやり方はいろいろある。
>>61 天文学的な数値?何言ってるんだ?
シーケンス番号が天文学的な数値になる条件が揃う可能性があるってことか?
どうやって?
64 :
デフォルトの名無しさん:2012/12/31(月) 15:43:21.45
反論しろよニート
>>63 >チートツールで馬鹿みたいにアイテム増やされた時に
>想像以上にカウンタが進む危険もあるし
どうやらこれを気にしてるらしい。
どこにも制限かけない主義なのかな・・・
>>62 アイテムがかならず個人に所持されてるとは限らないけど
地面に落ちてたり
だから結局二重にして
>>35みたいに個人の持つデータでさらに
ID数増やしてもユニーク識別するにはさらに上のIDを参照するしかないから
多重にID管理しても意味ないんだよね
>>65 チートツールでサーバのrootとって生SQL文でも実行されなきゃ、
64bitのシーケンス全部埋まるなんてことはまあありえないぞ。
その前に他がいろいろおかしくなる。
普通に通信してゲームしている(チート行動だったとしても)レベルなら、
64bitが埋まる速度よりも圧倒的に通信および処理速度がボトルネックになるから心配する必要ない。
そもそも、想像以上に対するバッファだぞ>64bit
>>65 穴があってって書いてあるから個人の持てる上限を
突破できる方法があったり改造出来たりって場合って事だろ多分
個人に上限があってもサーバに上限は無いからな
サーバが保持できるアイテムの上限を超えたためこれ以上
アイテムを増やせませんなんて警告の出るMMOやった事無いだろ
素人考えだけど、IDより先にそのIDが示しているアイテムのデータの方で
メモリが埋まりそうな気がする。
>>66 だから、ユーザーにひもづいていないグローバルなIDをアイテムに振ったとしても、
64bitあればびっくりする程余裕なんだよ。いろいろ計算してみろよ。
>>67 昔UOで一ヵ所に想像を絶する多量のアイテムを
生成してサーバが重くなる事件があってな
そういった穴は結構あるもんだ
73 :
デフォルトの名無しさん:2012/12/31(月) 15:52:28.23
>>サーバに上限は無いからな
>>68 分かっているとは思うが、そういう状況で枯渇するのはIDではなく
ストレージとメモリ。IDはそういう場合全力で余ってる。
もちろん、そういうチートが存在するMMOなんて無いけどな。
>>72 馬鹿か? 想像を絶する量のアイテムを生成した場合、
そのデータをクライアントに持ってこようとするとするときに
全件データをフェッチしようとしてるんだろ?
記録側の問題じゃなくて引き出し側の問題だ。
サーバ-クライアントで輻輳が起こってるだけじゃねえかそれ。
IDと何の関係があんだよ。
>>75 え?アイテムが多重複製されるチートがあたっていう事を
言ってるだけなのになんできれてんの?
IDとか意味分からんし
ところで基本的な事聞きたいんだけどUOとかって
サーバが出来た頃から今までに作られたアイテムって
全部固有値持ってるの?
まあ持ってなけりゃ判別できないから持ってるんだろうけど
どのくらいの数になってんだろ
>>77 多分UOの時代だとまだ全部のアイテムに固有IDは振ってないと思う。
俺の知る限りは、固有IDを振るようにしたのはFF11時代からだな。
ついでに言うと、GUIDレギュレーションは今年から始まったレベル。
ゲームによっては固有ID無いのもあるかもな。
>>78 固有値が無い場合どうやってアイテムの判別は行ってるの?
自分の手元から離れて相手が拾ってもそのアイテムの性能は
同じ事が保障されてるから少なくともサーバは固有にデータを
持ってると思うんだけど
80 :
デフォルトの名無しさん:2012/12/31(月) 16:10:36.87
>>78 最近のゲームでも某FPSは期間限定の課金アイテムとかはID使い回ししてたよ。
開封せずにスロットに入れっぱなしにしてたら別の新しいアイテムに変わってたことあった。
量産可能なアイテムに関しては常識的な範囲内で所持数を
制限するのが現実的な解だと思うけどね。
消費アイテムを数万所持するのもどうかと思うし、インベントリ
の所持数や重量で制限しているのもそういう理由でしょ。
>>79 そんなのゲーム作った人に聞けよ。
固有IDを振ってないケースってのは、知っての通りアイテムを生成した段階から既にユーザIDを持っていること前提にしているようなのだな。
そういうのだと
UID-アイテム1-アイテムの性能
UID-アイテム2-アイテムの性能
みたいな感じでデータが作成されてる。
んで、アイテムの性能はデータとして持ってるから、手放した時とかには所有者が変わったりテンポラリに移動して新たなID振り直したりする。
まあ、そういう設計のゲームはまだ結構あるかもだがな…
そして枯渇しないって話は無視して振り出しに戻るわけか
無限ループとかバグってるな
>>83
87 :
デフォルトの名無しさん:2012/12/31(月) 16:19:28.06
反論して差し上げろ、ニート様
>>77 UOは多分最低一度はデータ形式変わってると思う
1Hitterとかが生まれた時が一度目かな
そこで複製対策されたと思いきやその後もチートあったからな
あと多分秘薬とかは固有ID無いと思うわ
あったとしたらつまらない事でID増えすぎるし
消費アイテムとその他でデータ形式違うかもね
>>84 なるほど、分かった。所持個数をどうやって表現するかについて悩んでたのだな。
所持個数テーブルについては、その種別のアイテムの増減があった場合に更新かけるとかすればいいんじゃないかしら。
性能が変わらないのだから、消費する際はとりあえずIDが若い順から消滅していくようにすればおk。
とりあえず理解できたことが
>>17がニートで両親から見捨てられてるって事だけなんだけど
会話する気なしだなこりゃ
>>86は相当頭が悪そうだ
一人だけ話が理解できてない
少なくとも、これから作成されるMMOについては全てのアイテムにGUID振られることは約束されてる。
消費系のアイテムも、ゲーム内マネーとかの通貨でさえも。(FF11はそうらしい)
ゲーム内通貨をどうやってGUIDで管理してんのかは知らんけどな。
94 :
デフォルトの名無しさん:2012/12/31(月) 16:25:13.57
ニート様の反論はまだか
>>93 それって金を1万G持ってたら最低価値の1G毎に
IDが一つ振り分けられてるって事?
複数まとめられるものでもIDが別となると大変だな
>>97 難しい会話になると入れなくて悔しいんだな
>>96 流石にplay onlineの中の人じゃないから詳細までは分からんけど、
どっかでロンダリングじゃないけどID振り直し(細かいGは大きなGとしてしまう)はやってると思われ…
メンテのタイミングとかで。
>>86って本当に馬鹿だな
枯渇とかの話してないのに何が無限ループだか
>>100 例えば10個にまとまったポーションを
分けたりまとめたするたびに別のIDが振られる?
>>102 10個のポーションは多分永遠に振り直しは行われない。
多分、数値が万以上になるような要素、そのものゴールドだったり経験値だったりだけだろう、振り直しを行うとすれば。
実際に振り直しを行ってるのかどうかすら謎だけど。
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
>>106 自己紹介言われまくったのがそんなにも悔しかったんだねw
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
>>107のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
オウム返しかできなくなったwww
典型的負け犬の例w
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
>>107のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
114 :
デフォルトの名無しさん:2012/12/31(月) 17:13:54.34
落ち物系のパズルゲームを作成しようとしています。
良いBGM、SE、画像のフリーの素材サイト(出来れば商業利用可)ご存知の方情報お願いします。
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
・技術的な会話に入れない
・顔真っ赤
・我慢が出来ないアスペ
>>107のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
・技術的な会話に入れない
・顔真っ赤
・我慢が出来ないアスペ
>>107のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・コピペ厨
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
・技術的な会話に入れない
・顔真っ赤
・我慢が出来ないアスペ
121 :
デフォルトの名無しさん:2012/12/31(月) 17:36:36.27
122 :
デフォルトの名無しさん:2012/12/31(月) 17:41:38.02
ゲームプログラマってこんなのばっかなの?
そもそも板違いスレだしゲ製にお帰りください。
125 :
デフォルトの名無しさん:2012/12/31(月) 18:04:02.98
>>1 最終的には画の問題なんだよ
そのゲームの内容やそういうのを考えられる力があるかどうか
作らせるのは、そこらへんのプログラマーにさせたらいいんだから
全てを自分で作る必要などない
127 :
デフォルトの名無しさん:2012/12/31(月) 18:05:50.11
そのプログラムを作れるかどうかが
プログラマーの技術であって、どういうのを作れるかという
提案にはまた別の頭が必要になる。
野球ゲームにしてもそうでしょ?
こういうゲームをというのを提案できる頭と
それを実際にプログラムとして表現する頭が同一である必要などない。
128 :
デフォルトの名無しさん:2012/12/31(月) 18:06:36.67
今の時代なら、
絶対にプログラマーを1人
おさえておくべきだろうね。
その人とは直接繋がっていないようにみせかけた上で
しっかりと繋がってないと
>>17のファビョりかたすげーなw
馬鹿を怒らせるとこうなっちゃうのか
>>114 DLsite.comってサイトがお勧め。素材で検索すると結構引っかかるよ!(お望みのは無いと思うけど)
結局アイテム管理のコードはどうなった?
初心者がC++でDXライブラリ使ってるんだけどScene遷移がイマイチわからないぜ
初期化や毎フレームごとの処理を実装するSceneの基底クラスと
SceneクラスのUpdate()を呼び出したりシーン遷移を司るSceneManagerクラスを作ろうとしたんだけど
「あれ?SceneManagerもSceneの一種じゃね??」とか思い始めたらわけがわからなくなってきた。
例えばSRPGは大きく分けて タイトル・インターミッション・ノベルパート・ステージがあるけど、
それぞれのシーンの中でも細かい遷移があると思うんだよね(タイトル中のロード画面など)
そういったシーンの大分類か小分類かを区別せずに同一の規模のものとして認めると
それぞれのシーン内でどこまでも分岐を許してしまって、シーン遷移が再帰的な構造に
なってしまうと思うんだけど、これがいわゆるシーンのスタック管理ってことですか?
でもそうやって再起を意識するとSceneクラスがさらにわけわからなくなりそう
133 :
デフォルトの名無しさん:2012/12/31(月) 19:18:03.35
>>100 たぶんHDDみたいな構造じゃないのかね
HDDを詳しく知らんけど、セクタ単位で管理されてるんだろ?
そこへ任意の長さのデータを書き込んでいくと。
あんな感じじゃないのか。
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
・技術的な会話に入れない
・顔真っ赤
・我慢が出来ないアスペ
136 :
デフォルトの名無しさん:2012/12/31(月) 20:00:18.52
>>133 セクタ?レコードって言いたい?
なんか言ってることずれてない?
137 :
デフォルトの名無しさん:2012/12/31(月) 20:03:38.70
>>136 ごめん、HDDの構造を詳しく知らないからずれてるかも
HDDやめてメモリにするわ
メモリのアドレスみたいな形で管理するんじゃないかね
139 :
134:2012/12/31(月) 20:07:50.59
え、俺関係ない…
何か巻き込まれた
触れると感染る系すか…
だからID表示が必要なんだよここ
エミュ鯖で書類送検ってまじか怖いな
UOはユニークアイテム多すぎて大変
>>132 マネージャって名前にするから混乱してるだけで、管理する機能自体は存在していても良い。
突き詰めると管理用のシーンと動作しているシーンは同じでも良くなる場合もありえる。
オレが作ってる仕組みも、空のシーンの子としていろんなシーンを作ったり消したりしてる。
シーンっつーかアレなんだけど。アレシステム。
もうさ、人によってまちまちなんだから「俺システム」で統一していい気がする。
145 :
デフォルトの名無しさん:2013/01/01(火) 02:22:46.92
そもそも鯖全体のアイテムの個数が10億20億になることってまずないんだよな
一般的なネトゲだと上限は自然と決まってくる
個数=(インベントリ内に持てる数+倉庫に持てる数)×プレイヤー数×1プレイヤーの持てるキャラクターの数
フィールドに落ちてるアイテムは消えるのが一般的な仕様だし
上式のインベントリに持てる数を150、倉庫に持てる数を350、プレイヤーの最大数を1000、プレイヤーが持てるキャラクターの数を10とすると500万個にしかならない
プレイヤーの最大数を一桁上げても5000万個
フィールドに落ちてるアイテム用にこれと同数確保してもやっと1億
万が一それを超えたらどうするの?って話だけど、フィールド上に5000万個を超えるアイテムが発生した場合には古いものから削除してしまえばいい
>>145 それ同時期にどれだけ同時にアイテムが存在するかって話で
ユニークIDが必ず生成されるならいつかは10億程度だと突破するよ
うん、ごめん、投稿したあと読み返したら個数と種類数もごっちゃになってるしなんかごめん
だよな普通に考えればそうなるわな
オーバーフローとか飛躍した考えも実際の運用を考えれば出ないはずなんだけどね
そんなとこ気にしてたら絶対に物は完成しないと断言できる
むしろ色々考えないと、ということをいつまでも完成できない理由にしてる感すらある
まずは稚拙でもいいから完成させてそれをプロトタイプに問題点を洗い出してく工程の方がどんなに大切か
>>149 それでも10億程度だと駄目みたいだね
32ビット(40億)でID再利用でも駄目だった例もあるよ
151 :
デフォルトの名無しさん:2013/01/01(火) 02:51:55.54
>>150 具体的にはどのゲーム?どんな規模だとそうなるのか知りたい。
>>151 リンク貼ろうと思ったら駄目だった
普段2ちゃんねるには書き込みしたことがないので忍法帳?とかの
レベルが足りないみたい
community.eveonline.com/devblog.asp?a=blog&bid=813
このEVE Onlineってゲームで上記のリンク先に
64ビットに拡張する旨が書いてあるよ
多分この開発者たちも当初は40億でID再利用なら
大丈夫だろうと思っていたんだろうけれどね
しかもこう言っちゃ失礼だけどそれほど有名で
多人数がプレーしてたゲームじゃないし
>>152 運営開始が2003年だから7年で破綻したわけか。
やはり大丈夫だろうという根拠の無い思い込みで
市販ゲームを作るのは怖いな。
最近は何年も運営続けることを前提に作ったゲームだと
一定期間ログインしてないユーザーのアカウント削除して
>>152の対策してるよ。
>>152 その会社なんだか行き当たりばったりだなw
今度こそ大丈夫だろとか書いてあるけど
お前最初の見積もりがすでに破綻してるじゃねーかと
突っ込みたくなるw
>>155 64bitなら1000万人が同時に毎秒60個アイテムを生成したとしても
900年以上もつ計算だからな
使い捨てにしても破綻させる方が難しいんじゃないだろうか
>>156 でも最初の設計でもまさにそう思っていたのに
破綻したんじゃないの?
ここで考えてるのと実際に運営するのじゃ違うからね。
例えば、もし64ビットのデータで処理できる範囲を超えて
障害が起こった場合すべてのあらゆる責任を負いますって書類に
サインさせられるとしたらそれでも大丈夫だと言えるかな?
>>157 最初の設計は比較的現実的な見積もりとって、それの想定を超えた人気があったって話だけど
>>156は荒唐無稽な見積もりだから、これを超えるってのはバグ以外の何者でもない
隕石に当たる心配しながら外を歩くようなもん
>>152 なんだ40億程度だと駄目じゃん
上の方で散々40億なんて常識的に考えて
あり得ないって言ってたやつ出てこいよw
>>159 >>17先生の名言を噛みしめろ
> アイテム種別が40億超えるネトゲがあると思ってるのか
> アイテム種別が40億超えるネトゲがあると思ってるのか
> アイテム種別が40億超えるネトゲがあると思ってるのか
粘着荒らしのキチガイには自分の敵は全部同一人物に見えてるようだな
まさにアスペ
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
・技術的な会話に入れない
・顔真っ赤
・我慢が出来ないアスペ
正月なのに飽きないんだなぁ
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
・技術的な会話に入れない
・顔真っ赤
・我慢が出来ないアスペ
まあ
>>152のゲーム調べてみたら宇宙が舞台で世界中から接続、フィールド数5000、ギルド人数Max1000人越え、同時接続6万ユーザー
宇宙船爆破しても即座にIDを回収しない、非アクティブユーザー放置てゆーめちゃくちゃなスペックを引っさげてやってたんだから自滅して当然だわな
黎明期だからノウハウの蓄積がなくて仕方ないってのもあるけど
>>161 ユニークIDの話してるのに種別とかとんちんかんな事言ってる
>>17って相当頭悪いな
まだやってんのか
>>170 アイテムテーブルの他に付加情報として別テーブル持って
そっちにアイテムの付加情報として生産者等の情報をくくりつける話してたときに出た
アイテム種別の話をユニークIDを話しをしてるときに自分から持ち出して
>ユニークIDの話してるのに種別とかとんちんかんな事言ってる
可哀想に捏造しないと攻撃できないヤツだお前は。
苦し紛れに捻じ曲げているから破綻していることにも気付かない。
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・オウム返しが唯一の能力
・技術的な会話に入れない
・顔真っ赤
・我慢が出来ないアスペ
>>171 うわあ、これは酷いwww
頭が悪いと思っていたら、技術が理解できないだけじゃなくて
日本語そのものが理解出来てなかったwww
> 種別というより、同じ名前のアイテムでも内容は違うから
> 全部別アイテムとして管理されてるはずだけど
最初にちゃんと種別じゃなくて見た目は同じでも全部別として管理
つまり固有値を持ってるって説明してくれてるのに
それでも種別の話してるのお前だけだぞwww
そしてまた自己紹介w 捏造してるのはまさにお前自身w
やっぱり自分がやってるからすぐに相手もやってると思い込みたいんだなw
正月早々大爆笑させてもらったわw
で、何時間悩んでそれ捻り出したんだ
100%大丈夫であるという論理的説明がなりたたないものは全部ダメです。
>>173 種別じゃないと言ってるにもかかわらず種別の話をしちゃう
>>17は
ほんと頭が悪いんだな
同じこと何度も書いて気を紛らわせようとしてるみたいだけど大丈夫?
話の最初が前スレ995だと思ってるのか、997だと思ってるのかで捉え方が違ってきそうだな
>995 :デフォルトの名無しさん:sage:2012/12/31(月) 04:11:01.47
>RPGのアイテムって、
>全種類のアイテムについてID付きのデータベース作って、
>キャラの持ち物はそのIDと個数をセットにしたデータベース作る感じでいい?
>997 :デフォルトの名無しさん:sage:2012/12/31(月) 08:47:36.57
>いや俺も興味あるな
>MMORPGとかってアイテムがほぼ無限に生成される可能性があるのに
>どうやって管理してるの?
>ID付けるって言っても、いつかオーバーフローするよね?
997の内容が995と違ってんのね
全てのアイテムにユニークなIDを割り振るのか、
種類ごとにIDを割り振るのか、
そのあたり混乱してないか?
アイテムそのものの情報が入ったDBは種類ごとにIDを割り振っておけばいいだろ。
ここでの種類というのは、個体を識別できるレベルでの種類ではなく、常に他から参照するための抽象的な種類のことだ。
つまりこのDBに「雷神の剣:オプション…会心の一撃率2%↑」がID45で登録されていた場合、
これだけではこのアイテムを誰が所有しているか分からない。
次にユーザーの所有物の中にID45×3とあれば、そのユーザーが実体として当該アイテムを3個持っていることになる。
他のユーザーが10個持っていればそのユーザーの所有物の中にはID45×10が存在する。
こうして参照する形にすれば容量は食わない。
また、このアイテムの所有者(ここでいう所有者とはプレイヤーのみならず、ドロップアイテムを仮想的に所有しているマップ等も含む)が1人もいなくなった場合、
ID45は空になり、また次に新しいアイテムが生まれたときに再利用される。
こうすれば上記計算の1億を超えることはまずない。
40億超えたのはどういう設計なのか気になる。
前スレ997が話の最初と考えて読むと、ずっと全てのアイテムにユニークなIDを割り振る話をしてるっぽいから
ごっちゃにはしてないと思うよ
>前スレ997が話の最初と考えて読むと
また言い訳が始まった
>>180 それについてはアイテムID再利用の仕組みにバグがあったようなこと
>>150のリンク先に書いてあったよ。
may not be handled properly ってあいまいな表現使ってる。
>>185が息してない
コピペする気力ももうないのな
>>178 それについては
>>17以外は誰も種別の話をしていないから
捉え方もなにも無いだろ
前スレ
>>995に対してレスしてるのは前スレ
>>996のみ
996 名前:デフォルトの名無しさん[sage] 投稿日:2012/12/31(月) 08:39:28.10
そんなことまできかんとあかんの?もうしらん。
発端の前スレ
>>995を無視してどうしてもそういうことにしたいんだね?
そうしないと悔しいもんね?
191 :
デフォルトの名無しさん:2013/01/02(水) 09:26:14.37
>>189 苦し紛れに饒舌になってどんどん穴掘ってるな
言い訳などしていない(キリッ
↑アーッ
193 :
191:2013/01/02(水) 09:31:30.87
>お前がいくらそう主張しても無駄
鏡に話しかけるのが上手なのはわかった
このスレ読めば誰でも分かる嘘をそこまで必死につくなんて
>>17も相当追い詰められてるなw
>>196 >相当追い詰められてるなw
鏡に話しかけるのが上手なのはわかった
ここまでさむい人間も珍しいな
珍獣臭がする
もう
>>17は論理的に反論するのが無理だから
適当に荒らすしか手段が無いんだなw
前スレ
>>997が種別の話じゃないと言っている限り
お前が何を言おうと勘違いしてるのは
>>17のみ
全てのアイテムにユニークID振るメリットって何よ?
トレースしやすくなるとか?
>>198 話題の1レス目を無視して完全に破綻 後に引けなくなってる
無様だな
ここに居場所なくなったら死ぬしかないもんなお前そりゃ必死になるよな
>>199 チート対策とかその辺
>>200 お前が何を言おうと種別じゃないと言ってるレスに対して
お前が種別の話をレスしてる事実は変わらんよw
誰から見ても100%揺るがない事実
それに対して俺もレスは何ひとつ論理的でないw
997 自分:デフォルトの名無しさん[sage] 投稿日:2012/12/31(月) 08:47:36.57
いや俺も興味あるな
MMORPGとかってアイテムがほぼ無限に生成される可能性があるのに
どうやって管理してるの?
ID付けるって言っても、いつかオーバーフローするよね?
998 名前:デフォルトの名無しさん[sage] 投稿日:2012/12/31(月) 08:56:55.10
アイテム種別が40億超えるネトゲがあると思ってるのか
Max決めて配列使えばいいとこを動的確保しちゃうタイプか
>>201 根拠にならないことを根拠として同じことをオウムのように繰り返すだけの
駄々っ子のお前には理論的な会話は成立しないから
レスをピックアップして自分の願望通りの流れにしようとしてるようだけど
やればやるほど無様さが増してるぞ?
>それに対して俺もレスは何ひとつ論理的でないw
自滅吹いた
>>152 それ実際問題アイテム数が40億越えたのかね?
再利用できてない死にIDが半分以上あるんじゃないかと思うけど
207 :
デフォルトの名無しさん:2013/01/02(水) 11:08:24.01
>>205 リンク先に再利用ミスってたことが書いてある。
馬鹿が二人集まるとどうしようもないな
ゲ製でやれ
じゃあやっぱり再利用でいけるっぽいじゃん
アンカレスが来ないから顔真っ赤君は今頃ホッとしてるんだろうな
>>173 まーた
>>17がファビョって嘘付いちゃったかw
ここまで明らかな事実に嘘を突き通すってことは
もう後にひけなくなっちゃったんだなw
MMOのログってどの程度とっとくものなの?
アイテムの受け渡しは当然とるとして、倒したMOBのIDはとっとく?
まさかダメージの1つ1つまではとらないよね?
それでやっぱりプレイヤーベースのApacheみたいなログ?
プレイヤーごとにログファイル作る?一つのファイルに全部書き込む?
>>214 そもそも君がログを取る理由(目的)は何だ?
何をログるかはそれに依るだろ
その辺は端末からログレベルを設定できるようにする。
>>173 多分
>>17は子供のころから人の話は
ちゃんと聞きなさいって言われ続けたんだろうな
ちゃんと種別じゃないって言ってるのに種別の話して
それを指摘されたら逆切れだもんねw
>>217のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>215 難易度の調整のために使いたい
例えばとあるボスに適正レベルで挑んだ場合、撃破できるまでに2〜3分かかるように作ったとするだろ
この2〜3分ってのはその適正レベルで入手できる平均的な装備で、通常攻撃とかスキルで攻撃した場合の単位時間辺りの平均与ダメージで、
実際に自分でテストプレイしてみたら2分弱で撃破できたことから計算したものだ
だけど適正レベルでも多少レア装備持つプレイヤーもいるわけで、
さらにスキルの組み合わせも開発者の予想外の組み合わせで高ダメージを叩き出す場合もあるわけで、
いくらその好条件でも20秒足らずで撃破されたらちょっと微妙だから、
スキルかボスか装備かに調整入れていくことになる
そのための情報が欲しい
>>216 ログ形式そのものも変更できるようにしとくわけか
なるほど
>>217 自分のこと良くわかってんじゃん
きもいわ〜ニートって
>>219 ほらでた得意のコピペ
>>995の存在から必死に逃げる姿が無様すぎ
間違った前提を根拠にどこまで逃げるのか見ものだな
さすが逃げの一手で人生歩んでるだけある
>それに対して俺もレスは何ひとつ論理的でないw
びびってボロ出しちゃったんだね
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>220 > スキルかボスか装備かに調整入れていくことになる
> そのための情報が欲しい
そのために必要な情報はゲームを作った自分が一番よく知ってるのではないのか?
というか、お前しか分からんだろ
>>222 お前は自分の過ちを認めてしまったからもうオウム返ししか出来ない
>それに対して俺もレスは何ひとつ論理的でないw
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>225 また自分のプロフィール貼って自滅かよw
>・反論できなくなると単純なコピペしかできなくなる←New
完全にファビョってるなこれ
お前泣いてるのかwww
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>227 ほら反論してみろよ
できないよねぇだって自分が言ってることおかしいって気付いちゃったもんね
泣いててキーボード打てませんかぁ〜〜?
どうせまたコピペでごまかすんだろうけどw
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>229 ほらやっぱりコピペしか出来ないw
早くごめんなさいしないと胃に穴開くよ?www
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>229 最新レスみて煽られてたから即座にコピペしたのか
これは間抜けといわざるをえない
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
もしかして一人で二人分書き込んでる可哀想な人なのかって気がしてきた
235 :
デフォルトの名無しさん:2013/01/02(水) 21:20:18.05
だろうな、時間的タイミングが合いすぎてる。
掲示板荒らしの考えることはよくわからん。
楽しそうだから放置してあげればいいんじゃないですかね。
>>223 うーん、必要な情報は分かってるけど、どういう形式(?)にしたら後からたどりやすいかが分からない
さっきの例で言うと、まずボスを倒すのにかかった時間を取得しなければならない
それが異常に早ければそのときパーティーメンバーを再現して、その中から異常な与ダメの奴を抽出して、そのときの装備と使用スキルを知らなければならない
そのキャラの基本性能がさほど強くなくても他のキャラのスキルなどによって強化されていた場合にはそのスキルも知らなければならない
・ボスを倒すのかかった時間を知る→攻撃日時の保存
・そのときのパーティーを知る→パーティーの情報を保存
・異常な与ダメの奴を抽出→全プレイヤーの与ダメを全て保存?(使用スキルもセットで)
・装備を知る→与ダメごとに装備の情報もセットで保存するのはナンセンスだから、装備の変更履歴から再現できるように装備の履歴を全て保存?
・・・これ莫大な情報量になるんじゃないのか
特に与ダメを全て保存するとか正気の沙汰じゃない気がする
>>237 > ・・・これ莫大な情報量になるんじゃないのか
> 特に与ダメを全て保存するとか正気の沙汰じゃない気がする
それは根拠の乏しいカンなのか、
それともログデータ量をちゃんと見積もってみた上での印象か。
見積もっていないのなら、まずざっくりと見積もってみるのが先だ。
普通に予想通りプレイされた場合の平均的なログデータ量。
倒すのが異常に遅い場合のログデータ量。
(平均的xダメージしか与えられず時間tかかった場合のデータ量 f(x, t) )
それらのn人のプレーヤー(パーティ)分。
そしてそれが時間T遊ばれた場合のデータ量。
正確である必要はなく概算でいいが、根拠をはっきりさせ、論理的に見積もること。
そうしてざっくりと見積もったデータ量が、どれくらいまでなら許容できるのか。
戦闘数回分くらいしか許容できないのなら、
異常でなかった戦闘ログデータは直ぐに破棄しなければならないと分かる。
戦闘1回でも許容できなさそうなら、データ量を減らすしかないと分かる。
例えば、とりあえず全てのログを保存してから後で異常なデータを調べるのではなく、
戦闘中に異常なダメージを検出した場合のみ、その瞬間のステータスをログに保存するとか、
検出した異常ダメージの瞬間からさかのぼって数ターン分だけ保存するとか。
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
どんな生き方したらこうなるんだろう
>>244 粘着質ですぐファビョるコピペニート君の唯一のお仕事きたわ〜
不利になるとコピペでごまかすとかまじ小学生レベルw
コピペした時点で敗北宣言してるってのにwww
さーてお前は同じレスで何個書き込み無駄にしたのかな〜?
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
敗北者が何言ってもな
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
DirectXを使って作ってます。
名前やチャット入力のためのテキストボックスを表示したいのですが、テキストボックスのプロシージャ
諦めんなよ!!!
DXUTてなんなんや!
256 :
デフォルトの名無しさん:2013/01/04(金) 19:45:09.61
DirectXSDKで開発するときにGUI周りの管理を簡単にしてくれるユーティリティー
このライブラリを使うことでリッチなGUIが簡単に作成できる
素晴らしいフレームワークだよ
un
エッチなGAYは無理?
エッチなGAYも可能だぞ
モルピグのパーティーで敵を倒したときに入る経験値ってどんな計算式がベストだと思う?
MOB1匹の経験値をxとしたときの計算式で教えてくれ
例えば、パーティーの人数をnとすると、x/nがオーソドックスだよな
だけどそれだと寄生する人がいるから、倒した人だけは(x/n)*2がいいかなと思う
だけどそうするととどめだけ刺したがる寄生がいるから、MOBのHPに対して与えたダメージの比率によって経験値を計算するのもいいかなと思う
そうすると、例えばAさんの与えたダメージがMOBの全HPのa%だとすると、x*a%になる
だけどそうすると基本的にあまりダメージを与えない補助職の経験値がほとんど0になる
どうしたらいいんだ
パーティメンバーを評価するシステムで
そういうのはゲ製でやるべき
>>260 経験値を1つにせず、均等に割り振る経験値/止めをさした人の経験値/攻撃割合での経験値/回復・補助割合での経験値と4種類くらいに分ければいいんじゃないか
xを一定の割合で分割してから割り当ててもいいんだろうけど(4:1:4:4とか)
プログラムじゃなくてシステムの問題だから、ゲ製の方が適切な回答が得られそうだな
パラメータ調整はプログラマじゃなくデザイナだ
パラメータ調整しやすい仕組みを作るのはプログラマの役割だが
まぁ、今回の質問はデザイナやプランナの領分だな
結局
>>17は完全逃亡しちゃったかw
唯一の才能であるオウム返しでさえ負けるとか雑魚過ぎるw
粘着してよほど悔しかったんだろうな
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
こいつ別人が煽ってることも気付かずずっとファビョり続けるんだろうな
キャラの座標を保持する場合は"(左上の)頂点+大きさ"と"中心+大きさ"どちらで管理した方が良い?
右下
>>271 どういうゲームかにもよるけど、座標は中心のが楽なことが多い
円の当たり判定とかで使えるし
>>271 (左上の)頂点+大きさで管理してみて、使いにくかったら
中心+大きさに変えてみれば良いんじゃないか?
最初からどちらかに決める必要はないと思うが。
どうもです。回転行列掛けるときも楽なので中心にしてみますね。
ちなみに3Dの場合はどうしてます?足元の座標で管理してる人が多いのかな?
俺のFPSは人間の場合は足元の座標で管理してるよ
モンスターはざっくり重心を考えて、重心から真下に下ろした位置で管理してる
中心(重心)とかにするとしゃがんだときとかに処理が面倒
確かに、接地してるとこが無難かもね。
僕は可動にしてます。
キャラクターの大きさが変わるので重心+そのときの大きさにしてます
ゲームで使う乱数は何がいいのでしょうか?
再現性なくていいのでできるだけまんべんなく出るやつをお願いします
プログラムだけで作る乱数はもれなく疑似乱数になるから、必ず再現性があるよ
ゲームくらいならXorshiftが手軽でオススメだけど、メルセンヌツイスタが周期が長くて人気もあるよ
どちらもrandと比べると初期化がちょっと面倒なんで注意
別スレッドでプールにデバイス乱数を溜め込んで
ゲームロジックのスレッドでプールから取り出す
円周率でイこう
乱数テーブルを用意して順に使っていき、使い終わったらシャッフルしてまた使う
トランプみたいなものだな
ゲーム程度ならこれで十分
Xorshiftのシードは何が良いかな
>>280-283 ありがとうございます
ちょっとそれらの中から簡単そうなのを選んで試して
一番まんべんなく出たやつでやってみます
まて、実際に試して比べていたら日がくれるだけでは済まんぞ
範囲限定して0~99が満遍なく出るかどうかくらいは楽勝じゃね?
modって知ってる?
modのことに決まってるだろ
質問
1.モルピグのゲームガードってあれは何をしてるの?チート対策のためにメモリと通信を見張ってると思い込んでるけど合ってる?
2.もしチート対策なら俺も欲しいんだけど値段が高すぎる、低性能でもいいからモルピグ開発できる程度のスキルがあれば自分で作れる?
チート対策ってどういう意味?
まず普通に作るならクライアントでは鯖から受け取ったビューを描画するだけだし
クライアントが鯖に送るのは入力データだけだからスーパーハカーが鯖へ
不正アクセスする以外でチートなんか無理じゃね?
292 :
デフォルトの名無しさん:2013/01/12(土) 00:23:37.84
>>291 いや、一部完全なリアルタイム性を問われる部分に関してはクライアントで処理するから、その辺りやられたらまずいなと思って
具体的にはキャラが走って移動する場合とか、
キー入力を鯖に送って移動処理をして、移動先の座標を鯖から返して移動するのでは遅すぎるから
蔵で移動処理をして移動先の座標を鯖に送るだろ
ここでチートされて移動距離を本来より長くされて送られたら困るなという話
鯖でも単位時間辺りの移動距離が異常じゃないかどうかのチェックは入れるけど、
多少の通信の遅延などを考慮して余裕をもたせるから、その余裕ギリギリまで移動速度を速められたら困る
他にも1秒を争うスキルのクールタイムとか
>>289 ある数を法としてmodってランダム性が見られても他の数でもそうなるわけじゃない
嘘書くと真に受ける奴がいるからやめてくれ
>>292 その場合はクライアント側で入力を好き勝手処理させて画面内を移動させても良いけど
鯖側ではあくまで入力情報分の更新しかしないでおいて、一定周期で同期取って
クライアント側のビューを強制的に修正するんじゃ?
>>292 細かい当たり判定とか、一部クライアントでゲーム性に関係するものも処理するけど
サーバでも大まかな当たり判定をとってショートカットを防止したりするし
その手のチートはだいたいサーバ側で対処してるよ
頻繁に引っかかるようならチェックして
垢バンするのが普通の運用じゃないかなぁ
クライアントで改ざん防止をするのは、
ほとんどボット対策のためだと思う
オンラインゲームを支える技術って本にそこらへん詳しく書いてあるよ
もってるけど
ところでもまえらなんかゲーム作ってる?
プラットフォームはどこか教えてくれ。
今の時代、winPCなんて選択があるわけねーよな?
winPCに決まってる
>>297 今週モルピグ作りはじめた
モルピグっつーか今はまだモルピグを作りやすくするツール
わたしもwinPCです
>>297 ああ、蔵はWindowsPC
鯖はLinux
winPC以外でゲームとか低学歴丸出しのソーシャルゲーマーしかいないじゃん
ブラウザ+android+ubuntu
世間で噂になってるアレ
306 :
uy:2013/01/18(金) 04:36:09.70
トリ忘れたわ
完全にプログラムなんてどうでもよくなってしまったか
俺さぁやっぱふつうの人の一万時間の法則を10分の1くらいでこなしてる気がするんだ
いつからそれが出来るようになっていたのかはわからない
まじめな話、独学でプログラムやって3ヶ月目でC++WINAPIでguiゲーム作って
一年後には規模でいうと一万越えのゲーム作って(こんとき既に内部で自作スクリプト走ってる)
次の一年にはコンパイラやらOSと、ほぼすべての言語さわっちゃうような奴ってどのくらいいるんだろうか?
おおよそ半年でさ
おまえ等の言う一人前とやらになってて
一年目には上位PGになってて
二年目には普通の奴じゃ10年かかってもたどり着かない場所にいて
三年目以降は何で自分を計ったらいいかさえわからなくなった
で、やめた
307 :
デフォルトの名無しさん:2013/01/18(金) 04:50:12.75
ふう
308 :
uy:2013/01/18(金) 05:28:53.07
なにかあたらしいこと始めたときにさ
本気出したときに周りに成長速度でおいてかれるみたいな経験が今までで一度もないんだ
今は音楽関係やってるけど
ありえない速度なんだろうなぁって自分で感じてる
なんつか三ヶ月?程度で適正なかったはずなのにもうここまできてるってことは
適正ありまくりな上に三年間も時間かけてしまったプログラムって
自分はどのレベルなんだろうかとか考えると
とても2chでの煽りとかがすべてどうでもよくなった
ちなみにROも少しやってたけど、ほんと遊びでやってたんだけど
いつの間にか本気になってて、異常だったな
ギルド戦がメインだったから作業プレイと違うからな
BOTとかも一途中で作り方わかったから一応やれたんだけど全部セーブしてプレイした
プログラミングやってるのと同じ感覚で、効率的に相手をつぶす感じ
自分のなかの一番他人にむけて使っちゃいけない力を行使してたかも
まぁゲームだからいいかーみたいな感じもあったんだけど
たかがゲームでやってない人もいるんだよ
追いつめすぎたんだと思うけど、何人かROを通じて数千万単位の賠償金を負ったかな
さすがにそこまでやる気はなかったよゲームだし
でも自分の力でこういうことが起きちゃうのは、そろそろ自覚したほうがいいんだよね
ム板マ板にも、俺と関わったかなりの奴がリアルで死んでるのかもな
厨2病なんだろうけどさ実際に起こってる、事実が
厨2病であり、リアルでハッタリではない厨2性能なだけだわ俺
普通の人は自己資産のようなものを積み上げて人生を
数ヶ月で積み上げちゃうから
貯めた水がコップいっぱいになったらこぼしてすぐ次の水をため始める、で全然飲まないみたいな…
普通じゃないのよ
普通の人が下手したら一生かけても出来ないことを悠々とやって
それを平気で捨てちゃうんだからな
プログラミングの技術もそれかな
309 :
uy:2013/01/18(金) 05:44:23.06
気づいたんだけど
自分からみてすげーと思ってた人は
凄いんじゃなくて積み上げてきた自己資産が一カ所にあるだけで
人としてのスペックではなんかもうとっくにこの世界のだれもを越えてるわ
こんな資産バラッバラにしながらコップの水をためながら捨てながら生きてる自分
楽しすぎるけど、やな生き方よの
正直、他人は俺にケンカ売ったり煽ったりする元気のあるうちが華
勝てるわけがないのだからな
わざわざ死ににきてくれてるんだから倒しても文句は言われない
逃げてるやつをこっちから追って倒すのはつまらんからね
誰からもケンカ売られなくなると暇でしょうがないよ
ちょっと自分の本当の力に気づくの遅かったかな
魔法みたいに、念じただけで人を殺せるとか
実際そういう類のものと大差ないよこれ
だから自覚しないとな
やろうとしたら
やれてしまう
もうマジで魔法かなにかの領域かもしれない
魔法というカテゴリーでいいような気がしてきた
もう人じゃないや
魔法使いだおれ
310 :
uy:2013/01/18(金) 05:58:54.51
いつからだろ
多分プログラミングやる以前はここまでじゃなかったけど
俺はプログラミングの世界のMATZもリーナスもゲイツなども
みなハッタリで生きてるくらいは気づいてるんだよ
そのハッタリをすべて真に受けて、素でやってしまったら
なにかが変わったとでもいうか
量子力学的に考えると
極めるのはひとつでよくて
扉さえ開けたら
なんでもいいのよね
量子力学的の観測者の問題とか
俺からしてみたら納得のいくことだよ
あっそうやって作ってるんだくらいにか思わなかった
なんで科学者はさっさと理解しないのか
ラムダ計算と量子力学は似てるね
同じ場所にあるものだわ
信じれば必ずできる! みたいなスポーツにある格言も
量子力学的な考えから導き出される必然な答えだからね
同時に、複数の未来が確定するから
そりゃ信じたら
信じまくったら
思い通りになるよ
未来が物凄い勢いで人の刹那の数だけ分岐してるんだから
311 :
uy:2013/01/18(金) 06:13:25.57
ようは信じろってことさ
何事もな
この瞬間にも未来は分岐してて
だからこそ生き物は、動ける
動いてないのに信じる力で未来を無理矢理変化させて
動いてるフリだよ
実際は言葉なんかじゃ表現不可能な
ソレだ
ここまでわかっちゃうと
マジでやることなくなってくるんだよなw
この世界で何して遊ぶか
とりあえずさ
世界は常に分岐してる
自分の見てる夢の中にしか自分はいない
ただ自分の見てる夢に近い奴の夢は
分岐はするけど世界分岐後の位置が近いから
寄り添ったりできる
それ以外の人間はNPCなんよ
だからさ
なるべくみんなと似たような世界分岐にいかないと
迷子になって
周りがNPCだらけになる怖さがある
気をつけようね
これで宇宙も人も世界もすべての式は通ります
でも世界の形なんて知っててもしょうがないよマジで
どうにもならない力の元、完璧にフリーダムだから
自分の妄想それこそが、この世界と同じものなのだよ
312 :
uy:2013/01/18(金) 06:38:53.52
だからさこの世界で起きることの全ては自分のせいだからな…?
わかりやすくいえば誰かの世界では911など起こってない
でも残念ながら俺らは911の発生した世界軸を見てる
だからこれは俺らの責任
俺らは同士だよ似たような世界軸にいる奴らが70億?もいるんだわ
世界軸がずれすぎたやつらは死んでいく
そんだけのこと別の世界軸では生きてる
妄想しろ
その妄想できる全てのパターンが自分のもってる世界 いける世界
そして世界はさらに広く膨大なパターンを持つ…量子力学の先には何もないよ
これが全てだが
刹那の世界分岐を認めてしまうと
マジで全ては可能で、可能すぎてやる気なくすwだから何かしら不可能になる独自ルールが欲しかったりすんのかな
自分にできない事のほうが重要だ
プログラミングの果ては0と1じゃなくて0だって言ったよな
世界もそう、0 というか無でなく
有 としての有をもった0があって
ただのそのひとつのデータで全てが表現可能、ほらわかるだろ?
木 という漢字は4バイトだが、一文字だ
森 という漢字は一文字だが木が沢山あることを意味するならば森海山 などをひとつの漢字にした漢字を作れば一文字でなんだって表現できる
二進数なんて甘えだよ最後には一進数
量子力学なんて知っちゃうとつまらなすぎるぜ
0が全てが表現できてすが可能となる定義
人から苦悩や苦悩を抜き取ったら何ものこらねえ
だから時間を与えたか
それさえも、理解してしまった後では、合点がいく
しいていうならズレない生き方しろよな
大勢に混ざって生きるのが、一番マシよ
絵や音楽もそう、ズレすぎた感性はダメだからな、大勢との共通した感性
あとは自分だけのストーリーもてよって、ところか
どんな状態であれ例えばAという一つ文字で確かに表現できる
問題は異なる状態Bがあったとき、Aとの違いをどう表すかだ
2chで長文書いて妄想アピールしなきゃ自我が保てない人って、
どういう風に育ってきたんだろう
ここに長文を書いて自我が保てるくらいならそれでいいじゃないか
公共の場所で怒鳴り散らしたりしてる人とかたまに見かけるけどアレよりよっぽどマシ
(uyがリアルでもこのままって可能性もあるけどw)
316 :
uy:2013/01/18(金) 15:43:46.23
音楽の才能は自分にはないんだけどさ
それを覆すだけのなプログラミング能力があるってのは
どんだけ異常なことだろうか
人の一生が自分にとってはなんでもなく、読むまでもなく
最初から知ってる
だから出来る、なんの不思議もないし必然だわ
そもそもこんな存在に勝てる奴などいない
俺はこの世界そのものかな
この世界下にあるすべては俺の支配下にある
俺はもう ゼロから世界を作れる
ソースコードがかける
作れないものがない
逆にこれは不可能が欲しいわ…
自分に不可能な事とはいったいなにか
もう不可能を探すのは終わりでいいのかもしれないな
ブラックホールみたいなものが
近日中にこの星飲み込んだらごめんな
もしかしたらブラックホール的なものは
この状態に入った奴が意図的に作っちゃうものなのかもしれない
今すべてが可能な状態だからな
まぁ気をつけるよ
317 :
uy:2013/01/18(金) 15:50:44.95
昔にさ
世界渡りを何度かやった経験あるんだよ
テストに×がついていたのに
答えあってるのになんで?って思って先生に見せに行ったら
×が○に変わってた
今思うとアレな自分の勘違いなんかじゃなくて
世界をわたったのよ
分岐を遡って、自分の望む分岐に無理矢理に入り込んだ
そんな経験おまえ等にもないか?
これ一回じゃなくて二回あったからな
俺は自分の目や記憶の正しさには相当の自信あるし
なにかを勘違いしてたなんてことは生まれてこの方、そのテストのやつとテレビ番組の曜日と、3個しかない
だから多分その3回、世界渡りをやっちゃってる
318 :
uy:2013/01/18(金) 16:03:04.55
幻覚や幻聴なんてのも
世界渡りの一種なんだろうな
向こう側に行ききれてないから混線しておかしくなる
完全に行っちゃえば整合性はどちらの世界でもとれるから平気かもな
いろんなものの呼吸が聞こえるわ
しばらくは
不可能 をさがして見るんじゃなくて
可能 を見て
可能 可能 可能 可能
その先に何があるのか
さがしてみるかな
つうかもう不可能側が見当たらねーからな
両極端の片方終わっちゃった
あともう片方も終わらしたら
何が残るかねぇ
あまり急がずにやりたいね
目標があるって大事なこと
遠回りして遠回りして それに飽きたら遠回りやめて達成させるか くらいでちょうどいい
目標作ったとしても、今の自分じゃストレートにいったら一瞬のソレさえかからないからな
安易にNGしたくないから誰か新参の俺にもわかるように経緯か説明頼めない?
321 :
uy:2013/01/18(金) 16:24:26.48
なんかつまんないけどさ
ずっとさわってたプログラミング言語をとうとう隅から隅まで極めちゃった感じ?
なんかつまんないけど、気持ちよさはあるね
俺は今この世界と同化して
なんか全てのものが手にあるような
体が世界にとけ込んでしまいそうなそんな感覚かな
引き合う力で勝ってなきゃ死ぬんだろうね
宇宙や世界の式を自分の合点がいくまで推敲して、やりきったら、その後どうするか自分で決めないとだからな
最後の謎
解いちゃいけない謎だったかな何も考えず自由に生きたらいいという答えを全てを計算しきった後で、俺は出した
なんにも計算してないのにポンッと真理に近いこといっちゃうやつは凄いよなw
マジそういうのにだけは、ある意味で勝てる気しないわ
膨大なランダム意見の中のひとつが的確だっただけなんだけどね
俺はそういうランダムの一桁を大事にしたいな
計算で導き出すよりもランダムで引き当てるほうが難しいんだよだからおれは二番か
ランダムで引き当てる天然には一分野において劣る
その他は全勝
だからこそ俺は、その一分野で凌駕するやつに興味をひかれるんだろうな
世界を作れるようになったとしてもランダムだけは、ランダムゆえに非制御だからな
制御したランダムはランダムとはいわない99%と1%の比率の偏りこそが
この世界のカタチ
322 :
uy:2013/01/18(金) 16:29:18.51
さて芸術に戻るわ
もうこのくらいしか
有意義がないからな
99%側にいる俺は残りの1%を
どこまで減らし自分のものに出来るかをするわけじゃない
1%を1%のまま
手に入れる
それでこそ完璧だ
疑似完璧は
俺の世界にはいらないからね
323 :
デフォルトの名無しさん:2013/01/18(金) 20:59:46.04
面白い!もっと頂戴
uyのは長いだけならまだ読むけどどうせ内容もないから読む気にならない
読んでねぇけど、誰も頼んでないのに突然、自分語りでもしたんだろ。
半端無くキメェな。
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
328 :
uy:2013/01/19(土) 15:06:57.33
どうやらこのここも人が入れ替わったか
もう2chきてないのに未だに俺の話題あがってるのは異常な光景だったよ
神は信じていないが出世するやつって周りを踏み台にしながら進むよなそれを罪だとは思わんか裁く奴などいないが
世界の淀みは最底辺の人間が作る
ならば世界をもっともよい形にするには最上位クラスの奴が犠牲になり最底辺になって、さらに世界に淀みを作らないことだ
これ出来る奴どのくらいいる?
世界を救いたいなら簡単なことがある
自分が生きたまま死ねば
最低どこかで一人は救われる
いわゆる勝ち組といわれる奴らにも、少しはわかってほしいものだよね
俺は高校の頃からなんもかわってねーわ15で死んだとも、始まったとも言える ただひとつ言えることは俺は人間が嫌いだが
人間を痛めつけるのはもっと嫌いだ
けどまぁ多少は罪をかぶらないと生きてはいけないからな
限度が必要だ
死ぬまでに罪を精算することなく逃げきれるみたいことは考えてない
それはクズと呼ぶ
それなりの権力者と会話することもあったけど
よくわかったよ、ああいうのは自分のことしか考えず他人を踏み台にするから地位があるんだ
全部がそうじゃないだろうが
毒をもって毒を制すも好きじゃない
毒には完全なる白で
毒蛇が自身の惨めさを自覚するまで白に染め上げる
悪にはならないよ
神は信じていないが俺が神だとすれば
やっぱ悪は裁くと思う
つうか難しいことがやりたいんだなw
毒をもって毒を制すなんて自分にとっちゃ簡単だから
毒を完全に白の物量で浄化するようなことをやりたい、そういう技縛りの上で相手倒した方がよりいっそうこちらの強さを伝えられるだろう
329 :
デフォルトの名無しさん:2013/01/19(土) 17:23:47.83
それと
>>327を何度も書いてるゴミはなんなんだ
17アンカをNGにしたらここのレス数相当減ったぞ
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>329 粘着同士が対決して、片方だけ残ったんじゃないかな
またしばらくすればいなくなるだろうから放置するが吉
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
本来ゲ製で立てるスレだからな。
何故突然
>>333が出てきたのか思考の流れがわからん
ゴミレスが続く理由だろ
?
338 :
デフォルトの名無しさん:2013/01/20(日) 21:53:14.28
この粘着っぷり何があったか知らんが哀れだな…
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
なんでこんなに必死なの?
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
ダンジョンとかで音を変えるのはどうしたらいいんですかね?
普通のところは靴底が石と当たるコツコツという音で、水が染みてるところはピチャピチャという音にしたいんですが。
3Dです。
>>342 地面が毒沼だったらダメージを受けるとか、
地面が氷だったらブレーキを効きにくくするといった処理と同じだ。
ダメージを受けるやブレーキを効きにくくする代わりに、
効果音タスクのスイッチを入れるだけ。
分子レベルのシミュレーションを作り音を出す
分子レベルだってよ
>>343 2Dのブロックみたいに区切られたマップならブロックごとにその設定をできるんですが、
3Dだとブロックみたいな境界がなくてアナログ的に水が染みてる感じになるのでどうしていいか分からないんすよ。
当たり判定用のモデルを音別に用意すればできないこともないんですけど、
開発が煩雑になるし現実的じゃないんです。
モデルを音別に用意するのは結局2Dのブロック別って発想の延長でしかないんで
なんか3D特有のやり方があるんじゃないかと。
大まかにタイルで区切って判定するなり、当たり判定用モデルを用意するなりするのが
開発が簡単で現実的なとこだと思うよ
>>346 2Dで、ブロックで区切られていないゲームを作れと言われたらどうするんだ。
2Dも3Dも関係ないよ。
もっと言えば1Dだって関係ない。
(アクセル&ブレーキしかなく、地面属性が色々あるレースゲームとか)
空間を領域に区切り、その領域に入ってるかどうかを判定するしか無い。
その領域がたまたま矩形や直方体なら、君の言うブロックに区切ることになるし、
そうでないなら、君の言う当たり判定用モデルを用意することになる。
それで開発が煩雑になるのがよく分からんな。
地面や壁などとの当たり判定はどうしているんだ?
当たり判定用モデルで判定しているのではないのか?
(簡易的な球形や矩形モデルも当たり判定用モデルに含む)
当たり判定ルーチンが、キャラモデルと当たり判定モデルを使って、
キャラが当たり判定モデルと交差したかどうかを判定するものであるなら、
その当たり判定モデルを別の音用モデルと交換してもう一度判定すれば良いだろ。
同じルーチンを材料を変えて複数回呼ぶだけだ。
1.マップを2Dで適当な感覚で区切って属性をビットマップ状に持ちます
2.次に、マップ担当者に自由気ままな形状を作らせ、
"コ"面により平面上でカブりを発生させます
3.「クソが!!」と憤りつつ再びデータ構造を練馬押します
ゲームコーディングコンプリートに載っている「アクター」の役割がよく分からない。
159ページには、アクターとはゲームにおいて状態を変えられるオブジェクトを指す、とある。
例えばレーシングゲームの車や、アドベンチャーゲームに出てくるロウソクなど。
この説明から推測するに、逆に状態を変えないもの、例えば地面や壁、
あるいは背景などといったものはアクターではないと読み取ったんだが、
後ろの方のページを見ると、そうでもない感じだ。
このアーキテクチャによる実例サンプルとしてティーポットウォーズが載ってるが、
そこではゲーム中まったく状態を変えない地面(グリッド)もアクターとして扱われている。
しかもこの地面、状態を変えないどころか、他のアクターとの当たり判定処理もしていない。
何でこんなものがアクターとなるのか分からない。
アクターって何?
タスクシステム
アクターってのは役割のあるもののこと。
つまり役者だ。
幼少の頃からお遊戯会で木や草の役ばかりやってたお前なら分かるだろう?
思い出せ。あの日々を。
>>352 それは分かる。
で、なんでパラメータの変化もなく、
他のアクターとの相互作用もしないオブジェクトを、
アクターとして管理するのかという点が分からない。
そんなものに役割を与える意味ってなんだろう。
そんなものは背景と一緒にビューで管理すれば良いだけだと思うが。
アクターとして役割を与えて他のアクターと一緒に管理するメリットって何だろ。
これがアスペってやつか
本当に話が通じないんだね
すぐアスペ認定して思考停止するのもかなりエコな脳ですね
>>353 その本読んでないからなんともだけど何かするつもりでアクターにしてたけどデッドラインがとかじゃないの?
細かいとこ拘ってないでビューで事足りると思えば自分ではそれ使えば良し。
反省も無しか
ほんと話が通じない
Q.なぜか急に反省を求めた?
誰が求めたの?
360 :
デフォルトの名無しさん:2013/01/23(水) 22:26:56.11
ぅゎっ
>>356 > 細かいとこ拘ってないでビューで事足りると思えば自分ではそれ使えば良し。
そりゃ自分で作る時にビューで事足りると思えばそうするよ。
それとは別に、この本のアーキテクチャを理解したい。
理解した上で、使うかどうか、改造するかどうかは、別の時に判断する。
後で地面をラスボスにしゅるのって発想が出てきても困らないようにするため
まじめに頼む
>>346 トゥームレイダーの場合は、床が碁盤の目のようになっていて、
床の属性として音が含まれている。
フルポリゴンのマップの場合は、
例えば、床に1枚の画像を使ったとして、属性用の画像を追加で準備する。
水溜り部分の絵に対して、属性絵は赤色にしておく、
プログラムは属性を見て 赤色ならば”ぴちゃぴちゃ”と音を出す。
碁盤の目のように分割するのが簡単だよ(見た目はポリゴンで、判定部分だけを升目にする)
>>350 もっと後ろのほうのページでそのゲームを改良して地面も何か役割を持つとようになるとかじゃないの?
その布石とか
>>365 > もっと後ろのほうのページで
それはなかった。
布石なら、やはり後のページで種明かしされるはずだが、なかった。
出版社のサイトからコードをダウンロードして調べてみたが、
地面のアクターには特別な処理はなかった。
この地面にもパラメータに空間内での姿勢を表すマトリックスがあるが、
ゲームプレイ中この値が変化することはない。
ちなみに、本の中ではこの地面(やその他)のアクターやパラメータのプログラムは、
読者への課題という位置づけになっている。
存在理由が理解できなければ課題ができないのだが・・・
> ちなみに、本の中ではこの地面(やその他)のアクターやパラメータのプログラムは、
> 読者への課題という位置づけになっている。
どうでもいいとこに拘って先に進めなくなるのってアスペっぽいね
>>366 とりあえずそこだけスルーしたらダメなの?
自慢じゃないけど俺がゲーム作ろうと思ってC言語の入門書を買ってきたときは
ビット演算は意味が分からなくて飛ばしたよ
結局それで問題なく進んでDirectX使って3Dゲームまで作れるようになって
気がついたらビット演算も当たり前のように分かってた
理解できなきゃ進まないって本人が言ってんだから尊重しろよ。
>>369 誤解されているようだけど、今までいくつかゲームやアプリは作ってきてる。
他の人のアーキテクチャはどんなものか、どんな考え方をしているか、
ということに興味があっていろいろ調べている。
本書もその調べ物のひとつだ。
とりあえず読み終わったのだが、いろいろ疑問点があって質問した。
私がこの仕様のサンプルゲームを作るなら、地面にアクターは割り当てないな。
山の風景を映した背景と同じ扱いをする。
オブジェクト指向がわかってないんだろうな
>>372 では、バラメータ変化せず、
他のアクターとの相互作用もしない仕様である「地面」を
アクターとして扱うことの必要性をオブジェクト指向の観点で説明してくれ。
正確に言えば、このアーキテクチャーでは(サンプルゲーム限定か?)
全てのアクターはBaseActorクラスのインスタンスだ。
各アクター固有のパラメータはActorParamsクラスを各々継承したクラス、
SphereParamshorクラスやTeapotParamsクラスで表し、
BaseActorクラスのメンバ変数としてそのインスタンスを持つ。
当然GridParamsクラスもあるのだが、その固有のパラメータは
テクスチャ名と、グリッド(地面の市松模様)の間隔と、
姿勢を表すマトリックスだけだ。
そして初期化以降、ゲーム中は変化しない。
当たり判定処理の対象にもなっていない。
こんなものがBaseActorクラスのインスタンスで、
ActorParamsクラスを継承したクラスを持つ理由を
オブジェクト指向の観点から説明してくれ。
理由を説明したくないのであれば、
このサンプルゲームにおける利点だけでもいい。
残念だがここからは有料になる
議論そのものには興味ないが・・・
こいつ人にものを聞く態度じゃないよな
自分なりにアクターじゃなくても良いって結論がついてるならそれでいいだろ
それにみんながみんなゲームコーディングコンプリートを読んでるわけじゃないのに
こんなところで「このコードはおかしい!」ってファビョってどうなるっていうんだよ
みっともないからいいかげんやめろ
つまり読んで理解できた人がこの中には一人たりとも居ないということだ
わからないならレスしないで下さい、ウザイだけです
>>375 このコードはおかしい!とは一言も言っていない。
コードについて何か質問したか?
アーキテクチャの話だ。
始めに、このアーキテクチャにおいてアクターの役割とは何だと質問したはずだ。
> 自分なりにアクターじゃなくても良いって結論がついてるならそれでいいだろ
>>371 で、他の人のアーキテクチャはどんなものか、どんな考え方をしているか、
ということに興味があっていろいろ調べているとも言ったぞ。
私の結論よりも、このアーキテクチャーの実装のように
地面もアクターにするとこんなメリットがある、という意見はひとつも出てないが、
逆に地面はアクターじゃない方が良いという私の意見に同意する人も居ない。
居るのは「拘るな」とか「スルーしたら?}いう意見の人だけ。
アクターの役割とは何かと訊いて、拘るな」とか「スルーしたら?}という返事って、
こっちの方が何かおかしくないか?
> みんながみんなゲームコーディングコンプリートを読んでるわけじゃないのに
分かってる。
逆に言えば読んでしっかり理解できた人も居るだろう。
読まなくても、
>>372 のようにオブジェクト指向で説明できる人も居る。
そういう人たちにもう少しだけ手助けをお願いしたい。
バラメータとか書いてる時点で知ったかなのが丸わかり。
>>378 >地面はアクターじゃない方が良いという私の意見
こんなのどこに書いてあるの?書いてないよね?
>>378 地面を「パラメータが変化しないアクター」と考えて何か問題があるか?
もし問題があるのであればお前の意見に賛成するわw
>アクターとはゲームにおいて状態を変えられるオブジェクト
変えられるというだけで変えなきゃいけないという訳ではないだろ
屁理屈に聞こえるかもしれないが、俺は地面がアクターで何ら違和感ないわ
>居るのは「拘るな」とか「スルーしたら?}いう意見の人だけ。
これはお前の質問のしかたが悪かっただけであって、
答えてくれた人に「だけ」とか言うのはやめたほうが良いんじゃないですかね
あの質問見たら普通はプログラムはじめたての初心者向けのアドバイスするわw
>>380 そのような書き方はしていないが、
>>371 で、「私がこの仕様のサンプルゲームを作るなら、
地面にアクターは割り当てないな。
山の風景を映した背景と同じ扱いをする」と言った。
>>381 私の考えは笑われるほどマズイことなのかな。
逆に訊くが、遠景の山や空などもアクターとして扱うの?
私はパラメータが変化せず、相互作用もしないゲーム内オブジェクトを
アクターとして扱うのは、「今のところ」問題だと思う。
そのようなアクターは、初期化時にデータを書き込んだら、後は読み取り専用になる。
しかも、他のアクターとの相互作用をしないのだから、
このアクターのパラメータを読み取るのはビューだけだ(レンダリング時)。
つまり、ビューが必要とする情報しか持っていないアクターだ。
それはアクターではなくビューが自身で持っているべき情報だと思う。
このアーキテクチャでは、ひとつのゲーム内オブジェクトに対して、
そのアクターが持つべき情報とビューが持つべき情報とをしっかり分けている。
例えばキャラクターが受けたダメージの整数値はアクターが持ち、
傷ついた腕などの見た目を表現するためのデータはビューで持つ、というように。
そうであるなら、ビューからしか読み取られない情報を持つモノは、
アクターとして扱ってはダメだと思う。
>>382 同様
>>383 申し訳ない、前言を撤回する。
> ちなみに、本の中ではこの地面(やその他)のアクターやパラメータのプログラムは、
> 読者への課題という位置づけになっている。
ならお前を含む読者が適当にいじれるように余白を用意しただけじゃねーの?
>>385 もしかしたらそうなのかも知れんが、ただ、もし余白を意識したものなら、
ティーポットウォーズの地面をアクターとするかどうかを考えるところから
課題にすると思うのだが・・・
この本では、地面をアクターとするのはもう決定事項で、
そのアクターおよびパラメータの実際のプログラムを読者の課題としている。
例えばどんな情報をパラメータとして持つのかとか。
つまり、地面をアクターとすることを理解できた上での課題なんだ。
余白というよりは、穴埋め問題に近い扱いだと思う。
まぁ課題と言っても、[課題 3.1] なんて形で出されているわけではないが。
とりあえず人間の書いたものなんだから完全に合理的で納得のいくものだという前提は捨てたほうがいいんじゃないか
いくら公に売られてる本とはいえ人間の書いたものだからね
その本書いた人も校正した人も神じゃないんだから、あまり気にしすぎるとハゲるぞ
硬いんだよ頭が
地面を水面に変えたり色々拡張できるだろ
脳みそがゲーム製作者に向いてないだけ
アクターだから今すぐ何をしなければならないことはない
アクターと同じように扱いたくなったら出来る
ゲームで動く地面ってあるよね
なんかゲームコーディングコンプリートがちょっと読んでみたくなったな
これがステマってやつか。Amazonになかったから買わないけど。
ステマだよな。
なんか、こう、「読んだことないけど、俺だったら一発で理解して説明できるぜ」って妙な気持ちを掻き立てられる。
調べてみたけど高いしページ数多いし、これだと重量も結構ありそう。
何巻かに分けていいから新書で出して欲しいよな。
電車の中で暇なときとかに読みたい。
>>388 硬いのかも知れん、自覚はちょっとある。
> アクターと同じように扱いたくなったら出来る
後で仕様変更して地面をアクターにするかも知れんから、
今からアクターとして扱っておけ、というのが理由か。
それなら必要な改良は必要な時にすればよくないか?
そのために、わざわざ後からアクターを追加しやすいプログラムを
解説してる訳なんだし。
(例えば、アクターが受けたり発信するイベントを enum で定義せず、
イベント名をハッシュ化してイベント識別子として使ってる)
後の仕様変更で機能拡張や改良しやすいようには設計するが、
初めは仕様に無い機能は盛り込まないように、という教訓が私にはある。
他の本でも似たような教訓を教えてるのをいくつか見た覚えがあるし。
俺も、例えばFPSでのフィールドや地面などはアクターと考える。
なぜなら、たとえパラメータが何ら変更されなくても、
他のアクター(敵キャラなど)と当たり判定処理をするからだ。
ロジック側とビュー側の両方から参照される。
そういう仕様のゲームだ。
しかしこのティーポットウォーズというサンプルゲームの場合、
キャラと地面の当たり判定は無いという仕様だ。
キャラの高さ方向の位置は(スクリプトで)決め打ちされている。
その時点での仕様を過不足無く満たすプログラムが、
最もシンプルで保守しやすい良いプログラムだと私は思ってる。
めんどくさい奴だな
勝手にやってろって感じ
晒しageしときますね
>>393 >キャラと地面の当たり判定は無いという仕様だ。
この仕様を変更して地面もアクターに相応しくしようって課題なんじゃないの??
(´・ω・')
どうみてもアスペ
>>395 それは違うと思う。
サポートサイトからサンプルゲームの完全版ソースがDLできるが、
そのソース内でもキャラと地面の当たり判定は行っていないから。
仕様変更と戦えるプログラマになってくれそうですね^^
教科書の矛盾を鬼の首を取ったように指摘する奴っているよね
確かに高校生レベルの教科書はほぼ完全に正しいかもしれない
ただそれは化石のような情報だから間違いがないだけであって
ある程度の新しいことを学ぼうと思えば教科書と言えど多少の矛盾があって当然
時代遅れの教科書は多いけど
矛盾に関しては新旧関係なく質が低いってだけだろ
ゲームコーディング・コンプリートに矛盾があるかどうかは、どうでも良いよ。
矛盾があるからこの本は質が低いとか、無いから優秀だとか、そこまで考えてない。
本を読むことで、ここはためになるなぁとか、これは自分とは考え方が違うなとか、
そういうことを通して少しでも他人の考えに触れられる事が、
私が本に対して求めていることのひとつ。
今回もためになる部分もあれば、考え方が違うなと思った部分もあり、
その違うなと思った部分について他の人の意見も聞きたいなと思ってた。
が、ステマ呼ばわりされるのもアスペ呼ばわりされるのも心外なので、
>>393 へのレスが一通り得られたらひとまず終えることにする。
斜めよみしかしてないけど、
>>398は何を求めてるんだ?
人が、こうじゃない?と聞くと、ソレは違う。しか返さない。
たぶん、ココの多く(そんな多いのか分からんが......)の人は、その本を読んでないか、
読んでてもわざわざ実装を細かく見てないよ。
だから、
>>398が以前に書いた情報から普通に推論できる答えしか出ない。
そんなに気になるなら、筆者にでも尋ねろよ。
こんな所でオレオレ理論を振りかざしててもだれも納得も理解もしてくれないぞ。
404 :
デフォルトの名無しさん:2013/01/25(金) 19:44:12.20
知りたいなら著者に聞けばいいんじゃないの?
405 :
403:2013/01/25(金) 19:51:28.89
>>402 ついでに言っとくと、アーキテクチャを学びたいなら、
素直にUnreal Engineとか、Unityとか所謂Game Engine系を見ろよ。
どっちも確か、有料だけどソースから見れたはずだよ。
それ以外でもOpen SourceなGame Engineは腐るほどあるし、活発に議論してるのもある。
(英語ができないなら、悪いことは言わん、最低限のコードの読み書きできる人間なら、
英語を集中してやった方が良い。)
結局の所、アーキテクチャって言い方悪いけど、
”何作るか分からんが、なんか良いような抽象化”Levelのモノ以上はないよ。
具体的な対象が決まれば決まるほど、それに特化した設計をした方が、
設計も綺麗だし、実装も簡単で、バグも速度もマトモになる。
万能薬なんてないから、理論的に…とか関係なく、適度に組み立てて、
気に入らないなら、自分で組み直すものぐらいの感じで、もっと楽に見なよ。
>>402 アスペ呼ばわりされるのは、そんな書き方だからじゃね?
他の人の意見を聞きたいと言いつつ、自分しか見えてないじゃんww
あと、ステマはこのスレの今の文脈ならそんな悪い意味には思えないけどな
アスペの特徴丸出しの書き込みしてればアスペって言われるだろw
うちのカーテンレールにはカーテンのフックを引っかけるための金具が26個付いている。
しかし売っているのは14個入りのパックだったため、これを2パック買うと2個余ることになる。
予備のために多めにパックに入れてある可能性も考えた。大は小を兼ねるからだ。
しかし、フックは簡単に買い足すことができるが、カーテンレールについている金具は簡単に買い足すことはできない。
すると、買い足すことの難しい金具のほうが多めに付いているべきである。しかし足りないのは金具である。
次に、最初は多めについていた金具のうちいくつか壊れて取れてしまった可能性を考えた。
だがそうすると、隣の部屋と同じ家賃なのにうちの設備は不十分だということになるし、その場合には不動産屋から説明があって然るべきだ。
一方、フックのパッケージに多めに入れてあるとも書いてない。
カーテンレールの金具のほうが多くて然るべきだが、フックのパッケージに多めに入れてあると書いてあればまだ納得はできる。
だがそういった記載は一切ない。
私はただなぜ過不足が生じるか疑問に思っただけであり(ry
とかいちいち考えないだろ
その本も同じだよ
>>408 アスペテストかと思って真面目に読んでしまったじゃねぇかw
まぁ、反対意見が出てるのになかったことにしてるのがお察しだわな
>>408 なかなか秀逸な文だな。コピペになりそうだ。
>>403 私としては違うとただ突っぱねるのでは無く、
何故そう思うのか理由を話してるつもり。
それに対して、でもこういう理由で君の考えはおかしくないか?
と反論して欲しい、というか反論をぶつけ合って議論したい。
> たぶん、ココの多く(そんな多いのか分からんが......)の人は、その本を読んでないか、
> 読んでてもわざわざ実装を細かく見てないよ。
いや、だからそれは分かってるって。
その上で、読んでちゃんと理解した人も居るでしょ。
そういう人たちからの反論は無いのか、と言いたい。
> だから、
>>398が以前に書いた情報から普通に推論できる答えしか出ない。
訊かれそうなことに対して初めから全ての情報を出せる訳が無い。
文字数や行数の制限もあるし、これでもできる限り
長文にならないように意識してるつもり。
それでも情報不足で、訊かれてから後出しするしかないんだ。
「Aなんじゃ無いの?」「Aではない。なぜなら**だからだ」
という返答になってしまうのはある程度大目に見て欲しいのだが、ダメか?
>>405 アドバイスありがと。
今別の事もやってて時間ないが、春頃になったら見てみる。
>>407 じゃあ、どう質問すれば議論を良い方向に盛り上げることができたんだ?
相手の文の要点を考えて、それに対して理由を述べて反論してるつもりだが、
それでもアスペなのか。
いや、そもそも筆者の気まぐれだろうから議論する余地はないんじゃない?
って考えの人が多いんじゃないか
筆者に直接質問できたとして、
質問者「なんでこの例では地面がアクターなんですか?」
著者「えっ・・・(例を読み返す)・・・あー・・・そうですね、特に意味はないです」
質問者「そうなんですか、しかし説明を読む限りこうしたものはアクターにしないという風に理解していたのですが」
著者「ああ申し訳ありません、例ではそうなってますが、アクターについてはそういう風に理解していただいているのでしたら大丈夫です」
みたいな感じになるんじゃないの
著者に訊けという意見はもっともで、これに対しては全く反論できない。
確かにその通り。
残念ながら、ここで質問したことを英語で質問できるほどの英語力が私には無い。
論文や技術書程度のフォーマルな英文を辞書片手に何とか読めるレベル。
前に一度 Haskell のライブラリのバグレポートを英文で送ったが、
俺の分だけ完全に無視された。
>>413 何でだよ
「You wrote that地面はアクターではない。
However、〇ページのExampleでは、地面isアクターである。
私can't理解that違いbetween説明とExample。
Please説明。」
くらい書けるだろ
人を馬鹿にしたような文章書いてりゃ無視もされるわ
自分が正しいと思い込んでるバカにつける薬はないな
417 :
デフォルトの名無しさん:2013/01/26(土) 06:27:33.85
おまえらどんだけいい格好したいんだよ
yane SDK()
ジメンガージメンガーって言ってる間があったら
英語のお勉強でもしたほうが結果的にアーキテクチャを学べるのでは
>>416 パラメータが変化せず、相互作用もしないゲーム内オブジェクトを
アクターとして扱うのは問題であると私は言った。
私の中にはこれを否定する根拠を今のところ持ち合わせていないので、
これについては当然今のところ自分は正しいと思い込んでいる。
この考えに対する反論とその根拠を明確に示したレスをまだもらっていない。
特に
>>381 と
>>382 は私の考えに明確に反対の意思を示してくれて、
私は
>>384 で問題である私なりの根拠を示したつもりだ。
>>381 と
>>382 からまだ反対意見の明確な「根拠」を示してもらっていない。
違和感という曖昧なものではなくて、もう少し論理的にお願いしたい。
>>381 と
>>382 の少なくとも一方の根拠を訊いたら、
私は皆にお礼を言って質問を終える。
それまでは、今回の質問に関するレスはしないことにする。
>>420 アクターが何を抽象化しているのか、つまりアクター共通の処理は何か?
メインループの中でアクターのどのメソッドが呼ばれ、どのパラメータが参照されるのか。
そしてその意味はなんなのか。
ゲームコーディングコンプリートは知らないけど、俺は
>>351で答えが出てると思ってて、
つまり、アクターっていうのはメインループの中で1回何らかの作業をする必要があるもの、程度の意味なんじゃないかな。
>>421 > 俺は
>>351で答えが出てると思ってて
ごめん、
>>351 の一言だけでは何を言いたいのか全く分からなかった。
サンプルゲーム、ティーポットウォーズの地面は
メインループの中で1回もアクターとしては処理されない。
他のアクターから参照されることは無いし、
ビューからのイベントによって地面のパラメータが変化することも無い。
地面のレンダリングは、ビュー側にあるシーングラフ(ツリー)に挿入した
地面を表すシーンノードを処理して行っているから、これはアクターでは無い。
本書ではアクターと、レンダリングのためのシーンノードは明確に分けている。
つまりアクター=タスクであるなら、シーンノード≠タスクとなる。
シーンノードもアクターであるなら、Actor クラスから継承されているはずだ。
これは最初の質問時には言わなかったので申し訳ないが、
やはり一度本書を読んだ方の方が、私の感じてる疑問を多少なりとも分かったり、
それは本書のここで説明されてるから矛盾は無いとか、レスして頂ける気がする。
ただ、
> アクターっていうのはメインループの中で1回何らかの作業をする必要があるもの
それだけでアクターだとするのは、どうだろうか。
何かを表示するだけというのも、その「何らかの作業」に入ってしまうのか。
であるなら、スコア表示や、そのスコアを管理するものもアクターとなる?
何はともあれ、レスをくれた方々ありがとう、不快な思いをした方々ごめんなさい。
これで終わる。
ネットに向いてない、っていうか他人との議論にそもそも向いてない
議論に向いてない人間に向いてないと言うほど愚かなものはない。
俺はその本を読んだことがないが、ビューって何?
最初、アクターを描画するシステム(処理?)のことかと思ったけど、
質問者の説明を読んでいると、ぜんぜん違うものに思えてきた。
気になるならその本を読むほうが早いだろ
>>425 本の中に出てくる俺システム・俺用語の一種だから気にすることないよ
プレイヤービューって言えば一般的なんじゃないの
(↓ビューって言うとグラフィカルなイメージがなんたらって前スレで出てたレスのコピペ)
927 名前: デフォルトの名無しさん [sage] 投稿日: 2012/12/24(月) 21:11:48.76
レビューっていうとなんか知的なイメージが付きまとうけど
実際にはレビューは下請けの成果の吸い上げをするだけの会議だよ
吸い上げた成果を元に自分の手柄にしようが、論文執筆のネタにしようが、社外発表しようがそれは元請社員の自由
一般的なモルピグって一つのポートで全部やりとりしてる?
それとも複数のポート使ってる?
以前やってたFPSが、ホスト立てるときに40個近くのポートを解放しなければならなかったからふと疑問に思った
それって意味あんの?
>>431 言ってる意味が分らんかった。モルピグってMMO系の事か、
そんなの作り次第だからなぁ。プロジェクトによるだろう。
まぁ、想像だと複数ポートのが大多数かな?とはおもけど。
例えば、WORLD全体に関わる事は別口で持ってた方が、
全体の更新とPLが居るごく小さなMAPでの更新の頻度とかを
ガッツリ換えられれて嬉しいかもしれない。
例えば、ms単位で、全ログインユーザー数なんかを更新しなくても、
数分に一回でも良いだろうが、
戦闘とか移動なんかは、サーバーじゃなくてクライアントで基本処理させてラグ感じさせないようにしながらも、
数秒に毎にCheckいれてチート防止や垢バン候補挙げしたいだろうし
もっと言えば、ある種のアップデートとかデータは、裏で落として貰いながら、
それでも間に合わなかった時だけ、Now Loading表示させたいかもしれん。
まぁこの辺は完全に作るスタッフのLevelと予算や方針だから、
なんとも言えないけどね。
モルピグも知らない新参はプログラム系のブログでオナってろよw
ポートを1つ取得するのに申請料だけで50万くらいかかるし、取得できたらさらに100万
取得できても実装するのに4人月くらいかかる
40もポート使うならめちゃくちゃ費用がかかる
そこへさらにソフトウェア本体の通常の開発費用
だから下請けの零細企業だとポートを使うゲームの案件を受けるだけでかなりのリスクがある
ポートって勝手に使ったらあかんの?
>>435 おいおいこの業界は最新情報に敏感なのは大事なことだが
流行に振り回されるとスイーツと変わらんぞ
>>435 で、出たーwwww自分が知ってること=常識だと思って奴wwwwww
モルピグ
約 592 件 (0.12 秒)
ぶっ
しかもほとんどこのスレ
ぶほっ
>>439 え?
ゲーム開発やってたらそれ関連の学会とか出たことあるだろ?
出たことなくても海外(英語圏)のモルピグ開発者のインタビューとか1回くらい見たことあるだろ?
だっておwwwwwwwww
あいつらデカイ口叩く割に作るゲームはつまらん
最近のモルピグってほとんどスマホに移行してしまったんだよな?
446 :
デフォルトの名無しさん:2013/01/29(火) 21:21:51.24
モルピグ
約 592 件 (0.12 秒)
592件も出てくるのか
ほとんどここ
>約 200 件 (0.30 秒)
減ったぞ…
この間調べたんだけど個人でもるぴぐ作ってる人ってマジでいるんだな
俺もやってみようかな
>>450 ぼろすぎる商売なブラゲに追従しようと皆必死なんだぜ
いち早く食いついたやつらは資本金0の数人規模の法人で年収2億とか出したし、
4年近くたった今でも参入するにはまだまだぶっちゃけ遅くないんだ。
普通の流行や追従なら、これくらい期間経つと今からやってももう遅いわってなるところなんだけど
日本人の異様すぎるバカさ(構ってチャン&中毒耐性の無さ)のせいでまだまだ余裕で絞れるという
当時の上司が「向こう10年間は大丈夫」と言ってたとき、俺はそんなバカなと思ってたが
確かにどんぴしゃでそれくらいまで通用しそうではある。あくまで商売としてだが・・
かわいい女の子キャラのカードだしとけばゲーム性なんてどうでもいいんだよ
「MMORPGツクール」とか出したら売れるかな
モルピグに必要な鯖ソフトと蔵ランタイムと開発ツールがセットになったやつ
個人向けかな?デキと値段次第では少しは売れるだろうけど
ニッチすぎて商売にはならない気が
オープンソースで出して本書いたほうが収入になりそう
ム版で何故商売の話が出る?
457 :
デフォルトの名無しさん:2013/01/31(木) 20:35:11.65
>>436 そうだよなー。俺もこの前80000番台のポート取ろうとJASNICに申請出したら、
一ポート百五十万/月かかるよって言われたからなー。
わかるわー、大変だよな、ポートを開けるって。
放置した末の適当なノッかかりはやめてあげて!
>>453 そもそも、ビジネス的には(PC向け)MMORPGが死んだジャンルになってるから意味無し。
んなのよりおとなしくトラビアンクローン作ってれ。
いや適当じゃなくベンダポートは申請必要だろ
>>460 ブラゲソーシャルゲーで真っ先にトラビアン出す辺り研究してるな
適当にのっかかりたいだけの奴とかはモバマスとかパズドラとか進撃のバハムートとかしか知らなかったりする
>>453 そこまでいらんけど
従来のクライアントゲームだけ作れば
あとは自動でクライアントソフトと鯖ソフトを生成してくれるソフトが欲しい
クライアントと鯖間のやりとりする入出力表はあとからいくらでも改変できるように
あ、気に触ったんならごめんね
ただのネタスレだったかw
最近、継承とテンプレートを学びました。
テンプレートはコンパイル時の静的解決ということで、
実際に出来上がったプログラムの実行速度には影響しないらしいですが
継承は実行時のパフォーマンスに影響するということで、
それがどのように、またどのくらい影響するのかが知りたいです。
継承によって作られた子クラスというのは、継承していないクラスに比べて
(1)メンバ変数の参照やメンバ関数の呼び出しなど全般が遅くなる?
(2)宣言やNewで生成する際に普通より遅くなる?(メンバの数やコンストラクタに違いがない場合)
(3)オーバーライドした関数を呼び出すのが遅くなる?(処理内容が同じ場合)
ちなみにメモリがどういう風に使われているかとかわからないくらいの初心者で、
辛うじてヒープとスタックの存在程度なら知っていますが、
vtableなどは「???」といったところです・・・
>>466 > ちなみにメモリがどういう風に使われているかとかわからないくらいの初心者で、
> 辛うじてヒープとスタックの存在程度なら知っていますが、
> vtableなどは「???」といったところです・・・
それなら、メモリレイアウトを使った説明はできんな。
正確なところは、C++のメモリの使い方をもう少し学んでからだが、
現時点の理解度でも、試してみることはできるだろう。
テストプログラムを書いて実行し、その処理速度を測ってみれば、
「遅くなるかどうか」は自分で調べられるはずだ。
まずアセンブラやれ
(1)virtual関数でなければ静的に解決されるため速度に影響ない
(2)継承が原因で実行速度が遅くなることはない
(3)vtableを参照した呼び出しの場合遅くなる(つまり通常遅くなる)
これが俺の理解。
これらは実際の品質に影響することはあまりない。
がC++使うならイメージできていたほうがいいと思う。
遅くなったら品質に影響するだろ
120fpsで動いてたものが0.2fpsになったらどうする気だ
古いPCでモルピグやったら5秒に一回くらいしか画面が更新されなくてゲームにならなかった
こいつ最高にアホ
継承するとコンストラクタを多重呼び出しするし
その際にvtableの代入数も増えるから
影響0というわけでもない
そんなに処理速度だけが気になるならオブジェクト指向すんなw
あほか
わざわざ
(メンバの数やコンストラクタに違いがない場合)
なんて書いてあるのに文意読めないの?
継承してないクラスと比べて
コンストラクタに違いが無いとかそもそもあり得ないし
476 :
デフォルトの名無しさん:2013/02/02(土) 16:18:00.99
抽象クラスも知らんでドヤ顔
そもそもvtableの参照が致命的な影響をもたらすシーンなんて無い。絶対無い。
そんなことより描画方法を最適化するべき。
その描画に継承を用いた関数を頻繁に使っていたとしたら・・・
設計を見直した方がいいだろうな
479 :
デフォルトの名無しさん:2013/02/02(土) 16:23:32.62
へえ
だから、測れ。
測れば影響は分かる。
481 :
デフォルトの名無しさん:2013/02/02(土) 16:52:44.99
正直-Sの出力見たほうがいいと思うけど
測ったところで理解しにくい
>>481 >>466 が知りたいのは、継承が実行時のパフォーマンスに
「どのように」「どのくらい」影響するか、ということ。
そして、
>>466 はメモリがどういう風に使われているかとか
わからないくらいの初心者だ。
-S で出力されたアセンブラを見て理解できるとは思えん。
測れば、少なくとも「どのくらい影響するか」は理解できる。
483 :
デフォルトの名無しさん:2013/02/02(土) 17:05:38.09
そういう意味ではマトモに測れないだろ。
オプション動すんのとかどういうコード書けばいいのとか。
言ってることが自己満足。
パフォーマンスでまず気にすべきなのはコレクション関係じゃないの
俺はゲーム用途では極力使わないけど
vectorを使わない糞プゴルラマ
標準ライブラリですらヒープを勝手に使われるのは気持ち悪い
普通は new を自作するよな
new自作してもライブラリが呼び出すタイミングは制御できない
Windowsの話だけど、x64メインで開発進めてたら、
Win32でビルドした時に「切り捨てられる可能性があります」警告が出るようになりました。
ゲーム制作という観点からはデバッグして問題が表面化しない場合、
対策に時間をかけることするべきではないのでしょうか?
>>489 本当に表面化しないのなら、それでいいんじゃね。
俺はその手のデバッグは自信ないから、
Win32でもビルドする必要があるのなら、
初めからそのようにプログラムするけど。
やっとわかったMMORPGを無理読みしてモルピグだったのか。
んなもんわかるかぼけw
約 437 件 (0.24 秒)
検索結果数が低レベルな領域で変動が激しいな
Visual Studio立ち上げてるとゲームガードがチートと過剰反応して落とすバグなんとかしてくれ
ゲームしながらプログラムできねえじゃねえか
糞ゲームガード反省しろ
なるほど
馬鹿だなモルピグの人
なんだこいつ
「買う」ではなく「作る」ってところがミソだな
「プログラムマなら当然ハードウェアくらい理解してるよな?」って意味合いが含まれている
間違えただけだよ
>>491 無理読みじゃないよ。
英語圏ではそういう風に読むんだよ。
「えむえむおーあーるぴーじー」とか1文字ずつちんたら読んでるのは日本人だけ。
ネイティブはもうちょっと「ッモルピグ」みたいな発音だけど、日本人には最初の「ッ」発音が難しいから「モルピグ」になってる。
海外のモルピグの話題が出るようなカンファレンスとか行ってみたら分かるけど、ネイティブイグリッシュスピーカーは「ッモルピグ」って読んでるよ。
>>500 youtubeかどっかでモルピグって言ってる動画見せてくれ。
えむえむおーあーるぴーじー って言ってる動画は、Google動画検索でいくつか出てきたが。
www.google.co.jp/search?q=%22mmorpg%22+interview&tbm=vid
www.youtube.com/watch?v=0LUFKPp2d7s&t=18s
www.youtube.com/watch?v=QpCxFQZhAQo&t=12s
www.youtube.com/watch?v=F0jLk8I6dSw&t=19s
完全に2ちゃんスラングじゃねーか馬鹿馬鹿しいw
日本では使われないモルピグというカタカナ化した言葉を
わざわざ使う意味
英語の発音で書いちゃう俺カッケェェェェェwwwwwwwwwwwww
ムでninjaするやつとか初めて見たわ
506 :
501:2013/02/05(火) 00:03:25.45
>>505 巻き添え規制くらったからp2で書き込んだ。
そしたらレベルが低いからリンク禁止って言われたから、確認のために!ninjaった。
ただそれだけなんだ・・・
いわゆる2DRPGのワールドマップってあれもダンジョンの一つとして扱うの?
>>507 ダンジョンという名前で参照するかは置いておいて、
地下のダンジョンマップと同じ性質を持ったマップとして扱う。
ちなみに、街の中のマップも同様。
高度な経路探索についての質問です
川に橋がかかっています
橋の幅は4車線くらい広いとします
目的地までは橋を渡ってさらに少し移動したところです
ここで問題です
目的地が橋を渡ってさらに右に移動した場所にあるとき、橋は真ん中を真っ直ぐ渡ってから右に移動するよりも、橋の右端を目指して斜めに渡ったほうが自然で効率が良いです
目的地が橋を渡ってさらに左に移動した場所にあるときは、左端を目指して斜めに渡ったほうが自然です
今の俺のアルゴリズムだと、橋を渡る必要があるかを判断し、目的地が橋の向こうにある場合はそれが右であろうと左であろうととりあえず橋を渡る必要があるので、真ん中を渡ることにしています
これが右か左かならアルゴリズムを少し改良するだけで解決できるのですが、複雑なマップには対応できません
例えば目的地が橋を渡った先の右の高台にあるとします
しかし、右に行っても高台には上ることができず、左の上り口からしか上ることしかできないとします
そうすると単純な右か左かの判断ではうまくいきません
まだ作ってないマップでももっと複雑な地形が出る予定なので困っています
このアルゴリズムは敵AIが使用します
よろしくお願いします
単純なマップでも複雑なマップでも経路の中継地点を設定すれば良いだけじゃないの?
橋が4車線なら入口・出口をそれぞれ4ノードにすればいい
エッジとして許される経路を設定すれば、普通の最短経路問題になる
遺伝的アルゴリズムを使うのじゃ・・・
GUIでゲーム作りたいんですが初心者の登竜門的なゲームはなにがありますか?
てとりす
game-develop.com wikiの
プログラミング/初心者向け/チュートリアル/段階的学習
を順に作る
登竜門って初心者が通る門ではないと思うんだが・・・
登竜門的なゲーム(コンテスト)
じゃないのか?w
最近の若者は変なところで省略するからな
初心者未満なんだろ
鯉が登りきったら龍になるのが登竜門だから、
初心者が作りきったら上級者になれるゲームってことじゃ?
ゲームなんか作ってどうするのよ
周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに
ゲームプログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
TOEICの勉強でもしてた方がなんぼかマシかと
>>520 楽しいからゲームを作る
というのは、それほど変なことなのでしょうか
娯楽は全て理解できない人もいるんだよ
キャラやフィールドなどのレンダリングに使用するシェーダーの、
プログラム側での扱い方について質問です。
皆さん、プログラム側でシェーダーを扱うクラスを専用に作っているでしょうか。
私は最初は作りました、というか作ろうとしました。
そのシェーダークラスはシェーダーファイルのパスを引数にSetupメンバ関数を呼ぶと、
後はuseメンバ関数で有効にするだけで以後のドロー系処理では全てこのシェーダーが使われる、
というところまで初期化する便利なクラスです。
どのようなシェーダーでも統一的に扱える事を考えて汎用的なクラスを設計してみましたが、
どうも不可能ではないかと思いました。
外部からそのシェーダーに与えるユニフォームなデータ(DrecitXだとなんて言うでしょう?)は
シェーダー毎に異なるのが普通です。
ガラスのような見た目を与えるシェーダーなら屈折率が必要でしょうし、
でこぼこした見た目を与えるシェーダーならバンプマップテクスチャが必要でしょう。
なので、汎用的なクラスにすることは諦め、各シェーダーにそれぞれ特化したクラスを考えました。
ガラスのような見た目を与えるGlassEffectクラスは屈折率を与えるメンバ関数を持ち、
でこぼこした見た目を与えるBumpEffectクラスはテクスチャを与えるメンバ関数を持つ、
という具合です。
もう汎用性はなくなり、シェーダーの作成(デザイン)とそのシェーダーの使用(プログラム)とが、
一体となってしまいますが、仕方ないかなという気でいます。
皆さんはプログラムでシェーダーをどのように扱っているでしょうか。
もっと汎用的に設計しているのでしょうか。
>後はuseメンバ関数で有効にするだけで以後のドロー系処理では全てこのシェーダーが使われる、
このクラスをシェーダの数だけ作って、
描画クラスで描画するオブジェクトごとに、描画直前に切り替えたらだめなの?
今は
useで有効化→描画1→描画2→描画3→・・・
だろ
その描画ごとに切り替えるんだ
>>525 はい、切り替えに関してはそれでも問題ありません。
たまたま今は useで有効化→描画1→描画2→描画3→ としているだけです。
描画1(シェーダー1.use)→描画2(シェーダー2.use)→ としても
質問の議論には影響しないと思います(私の認識間違いであれば指摘してください)。
質問は、使用するシェーダーの切り替えのタイミングや、
どのクラスが切り替えの責任を持つかではなくて、
個々のシェーダーをどのようなクラスで表現するかです。
(あるいは、そもそもシェーダーはクラスでは表さない方が良いのか)
ひとつの汎用的なシェーダークラスを作り、そのインスタンスの
初期化メンバ関数に読み込むシェーダーファイルを指定する方法は
無理があると感じました。
個々のシェーダーがそれぞれ必要とするパラメータがバラバラなので、
そのパラメータをシェーダーに与える方法もバラバラだからです。
(あるシェーダーは行列の配列が必要、別シェーダーはベクトル1個が必要、など)
そこで、私は個々のシェーダーに対して専用のクラスを用意する方法を採りました。
ひとつの汎用クラスに対してシェーダー毎にインスタンスを作るのではなく、
シェーダー毎に個別のクラスを作ります。
そのインスタンスはゲーム内でひとつで十分なので、それぞれシングルトンです。
言ってみれば極端(超汎用)から極端(超専門)に走ったわけですが、
他の人のシェーダーの扱いも訊いてみたいと思って質問しました。
補足しておきますと、いくら各シェーダー個々にクラスを用意すると言いましたも、
全てのシェーダーで共通の処理(シェーダーファイルの読み込みなど)はあるので、
そのような処理を担うBaseShaderクラスを継承して各シェーダークラスを作っています。
ただ、このような方法を採ると、シェーダーの内容を作る事と、
そのシェーダーをプログラムで扱うクラスを作る事が不可分となります。
これは仕方の無いことなのでしょうか、もっと結合のゆるい方法があるのでしょうか。
Abstract Factory パターンを使う
レス乞食の相手をしてやるとか、お前ら優し過ぎだろ
531 :
デフォルトの名無しさん:2013/02/08(金) 20:44:05.13
プログラミングを全くやったことのない初心者で
択一問題を解くようなゲームを作りたいんですがどうすればいいですか?
適当に本屋にいって立ち読みしましたが分かりませんでした…
イロハのイから質問するような人はプログラミングに向いてない。
あきらめましょう。
選択肢ゲーなんてノベルゲーツールかRPGツクールあたりで作ればいいじゃん
プログラミング以前に致命的に問題解決能力がないのではという疑念を抱く
初心者に優しくないスレだな
>>531 立ち読みで作れるようになるほど甘くないと思うぞ
択一問題を解くだけならゲームっぽくないよな
例えばJavaのSwingでToggleボタンクリックして決定で答えを比較とかで済むし
Javaでシューティングゲームを作っていて、言われるがままにスレッドのクラス?を作り、そこで全オブジェクトの移動メソッドを処理しています。
スレッドは、処理する人を増やす役割と聞きましたが、1つのスレッドクラスで処理する量がある程度増えたら、またスレッドを作ったほうがいいのでしょうか?
また、弾を打つたびにwavの効果音を出しているのですが、鳴らないときがあります。どうすればよいのでしょうか
ゲームでわざわざスレッドは作らないな
スレッドってのは並列処理する必要性がある時に作るものであって
処理量で決めるものではない
まあ、マルチコアが普通のご時世だから
動作が遅いようなら速度を上げるためにスレッドを作るのはありではあるけど、
管理する自信が無いなら作らない方がいい
>打つたびにwav
弾が凄い勢いで出てるなら
打つたびに音を出そうとするととんでもないことになる
同じ音を連続で出す場合は何ミリ秒か間隔を空けるようにする必要がある
弾を打つ 弾が移動する
という動作と、音を出す動作は並行処理にならないんでしょうか?
>>539 スレッドを使って本当に並列処理にもできるが、
その程度で並列処理にはしない、と言うことだと思います。
私も、その程度で並列処理にはしませんね。
いわゆるタスクシステムを構築して、
弾が移動するタスク、自機が移動するタスクなど、
必要なタスクを毎フレーム foreach で全て辿って処理します。
また、たいていのサウンドライブラリ(デバイスドライバの方かな)は
「音を再生し始める」という命令をすれば、
音を再生し続ける処理は勝手に並列的にやってくれるので、
わざわざ自分でスレッドを作って並列化する必要はないと思います。
サウンドライブラリには重ねられる音(のバッファ)の数に限界があるので、
それを越えると、新しく再生し始める命令を無視したり、
または既に再生している音を消してしまう事がありますね。
541 :
537:2013/02/11(月) 15:44:39.33
ありがとうございます。
音声に関しては、弾を撃つたび"再生位置を0にして開始"をしていたのを、
”画像読み込み→再生”というインスタンス?を毎回再定義? にすると、
読み込みの無駄を除いて、不具合なく再生できるようになりました。
しかし、雑魚いノートPCで起動してみたら、動作が重く、たまに超高速になります。
シューティングゲームを作るにあたって、軽量化するにはどのような工夫が必要ですか?
>>541 > 不具合なく再生できるようになりました。
私にはわけが分かりませんが、問題が解決して何よりです。
> しかし、雑魚いノートPCで起動してみたら、動作が重く、たまに超高速になります。
どんな時に動作が重くなって、どんな時に超高速になるかを、
できる限り詳しく調べてください。
原因も分からずに闇雲に「言われるがままに」軽量化を施しても、
労力に見合った効果が得られないことが多いです。
調査は、実際にプレイ画面を見て、重いと感じた時の状況を記録したり、
ソースファイル内の主要な関数呼び出しの前後で時間を計ったり、
いろいろ方法はあります。
重くなる原因を取り除くのは、それからです。
とは言え、一般的な軽量化の工夫がないわけではなく、
1フレーム内の当たり判定処理の数を減らせ、とは良く言われますね。
Javaで高FPSは
雑魚いPCだと厳しいかもね
FPS落とすだけで軽くなる
まだ、黒い背景に赤と緑と黄の四角形が動いてるだけなのに重いです……
FPSについてあまり考えておらず、現在時間が前回のループで代入された現在時間を超えたら、
次のループが始まるようにしています。
サイズが1280x780なのも原因の一つかもしれません……
>>544 > 現在時間が前回のループで代入された現在時間を超えたら、
>>541 もそうだが、自分で何言ってるか分かってるか。
現在時間は前回のループで代入された現在時間を常に越えるに決まってるだろ。
時間は進んでるんだから。
> サイズが1280x780なのも原因の一つかもしれません
原因に思い当たる節があるのなら、
意味不明なレスしてないで、さっさと調べようよ。
時間差が一定時間を越えたら処理、が固定FPSの基本だ
おっしゃる通りでございます。
その時間差一定時間を0にした状態を伝えたかったのです。
サイズ変更してみます!
スクリーンサイズでかすぎ。
プロトタイプ作成だったら640x480とか800x600で十分。
あと「なぜスレッドにするのか」という根本的な理由を
理解できないうちはスレッドは使うな。
基本的にはスレッドのメリットは
「時間のかからない処理が時間のかかる処理にブロックされない」
ということ。もちろん管理の意味でスレッドにする人も
いるかもしれないが、それは本質的な問題ではない。
RPGツクールとかのイベントの「並列動作」と同じように考えてるんじゃないかな
あれは中身の動きとしてはメインループと同じような擬似的な並列動作なんだろうけど
ああいったエディタ中で記述するイベントコードは完全に上の行から順次実行される
コンソールプログラムみたいなものだし
マイクロスレッド(ファイバー)という意味ならアリだけどね
ありがとうございます。
スレッドは本質的な意味で困った時に調べたいと思います。
さきほどFPSの設定をしたのですが、今まで1000FPS?でした……
thread.sleepで取り敢えず16msの感覚をあけているのですが、
メインループ1つだけならスレッドを使っても大丈夫ですか?
解散!!
誰にスレッドを使えと言われたのか知らんが
スレッドを作る意義がなければ作らなくていい
>>551 > スレッドは本質的な意味で困った時に調べたいと思います。
> メインループ1つだけならスレッドを使っても大丈夫ですか?
調べて理解するまでゲームプログラミングでは使うな
あー、メインループってそういう事か
うん、そのくらいはいいんじゃない?
次にお前は「プログラムが終わらないんですけど・・・」という
そういえば前に環境によって浮動小数の値が微妙に変わる問題ってどうなったの?
モルピグのキャラの位置座標とか、3Dだと小数をやり取りするだろ。
小数の通信サンプル組んでみたけど確かに値が変わることがあった。
そんな事実ねえよwww 反日左翼みたいなやつだな
>>557 キャラの座標位置が微妙に違ったって誰も気がつかない。少し壁にめり込むくらいはセーフ(壁抜けするほど誤差は出ない)
(普通やらないと思うけど)お金とか誤差が出たらマズいやつは整数でやり取りする
誤差の前にラグがある
もっと身近にシューティングゲームのリプレイデータも誤差で位置が変わって
実プレイで破壊出来てた敵が弾に当たらなかったりするから整数で保存するだろ
まさかシューティングも組んだことないのか
モルピグ(笑)とかばっかやってて足元見えてないからそうなんだよ
そうなんだよって・・・どうなんだ?
ただモルピグとか〜って言いたかっただけなんじゃないすかね
リプレイは通常プレイ時と通るコードが一部変わるだろうからねえ
いやいやいやだからお前ら、そんな不思議なことが事実としてまかり通るなら
誰も乱数計算なんて真面目に考えてねえだろがってよwwwwwww
566 :
デフォルトの名無しさん:2013/02/16(土) 23:03:31.26
無知は気楽でいいな
乱数も含めて完全再現できるだろアホ
できてないってのは、作る能力が足りてないだけだ。
「誤差がでたら問題がでる」「ラグがでたら問題がでる」なら対処方法を考えろ。
またいつものモルピグさんか。
いくらレス埋めても誰もつかわねぇよそんな単語w
値が勝手に変わるんなら画期的な乱数になりえるな
>>569 UDPで送ったデータを同じくUDPでそのまま送り返してもらい、
その差を乱数として抽出するとか
相当かたよった乱数になるだろそれw
>>565 本当に小数の罠にはまった事が無いんだな
幸せでいいなあ
その程度の知識はアセンブラやってた人間なら大体知ってるだろ。
ゲーム用の乱数作るとなれば、普通は整数で作る。 どうせ浮動少数にするにしてもfloatサイズだろうから24bitありゃたりるだろ。
小数で数値誤差を出さないためには
(機械語レベルで)全く同じルーチンに通すしか無い
バグフィックスのついでに吐くコードが変わったとしても
運が悪けりゃアウト
むしろゲームなら多少の誤差は許容して速度を稼ぐもんだが。
誤差が問題になる実装って何やるつもりだよ。
ここまで固定小数点という単語なし
レベルが低すぎる
モルピグ厨は捗らないな
約 626 件 (0.17 秒)
>>561 それなら、弾が発射された時とか、弾が当たった時とか、
そういうタイミングでのイベントとそのタイムスタンプも一緒に記録すれば、
あとでリプレイした時に弾の挙動が変わって起こるべきイベントが起きなくなる
なんて問題は無くなる。
リプレイでは誤差のせいで弾が敵の頬のわずか外側をかすめていった様に見えるが、
敵はヒットされたアクションをし、弾は消えた、というような事は起こるかも知れんが、
それこそ誤差だ。
発生するはずの当たったイベントが発生しないとか、その逆の事が起きなければ良いんだよ。
無知は気楽でいいな
STGのリプレイも作れないとか初心者に毛が生えたレベルだよ。
1度練習で作ってみると良い。
582 :
デフォルトの名無しさん:2013/02/17(日) 02:30:22.78
こいつ気取ってるけどリプレイでバグらせる開発会社がほとんどだけど。
リプレイなんか同人ゲーでもついてるだろアホか
>それこそ誤差だ
許されざるザコだな
>>579 リプレイ見て研究するようなやつは大抵シューターだよ
1ドット単位で正確に再現されていないと意味がない
見た目&システム上の動作が完全一致することが全ての世界
ネットでリプレイデータ配布するときも確実に当たり判定に入って
自機が破壊されるはずなのに生きてたらチートだなんだ言われるだろ
シューティング作ったことないのがバレバレだな
それどころかシューティングやったことないんじゃないのか?
なんで会話に入ってきたんだ
586 :
デフォルトの名無しさん:2013/02/17(日) 03:13:53.31
残念ながら同人などほとんどバグ入りだし市販ゲームも普通にバグる。
これ現実。
市販ゲームでリプレイ機能がバグってるシューティングをいくつかあげてみてよ
市販がどの範囲を指してるのか分からないけど
コンシューマー機ならハードウェアが同じだからそんな誤差出ないだろ
にわかゲーマーだとそもそもリプレイ機能付きの市販STGで遊んだ事が無い
大抵アーケードの移植だよな?レースゲーならよく見るんだけど
そういやシューティングじゃないけどTrials HDのリプレイはバグってたなw
同人なら東方がいつもリプレイバグを出してるなw
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
592 :
デフォルトの名無しさん:2013/02/17(日) 06:09:41.77
ほうほう
593 :
デフォルトの名無しさん:2013/02/17(日) 09:31:53.41
みんな楽しそうだなあ
馬鹿どももっと潰しあえw
↑話に入れない低脳
ほうほう
↑反論できない低脳
599 :
デフォルトの名無しさん:2013/02/17(日) 19:46:12.73
煽るにもレベルが違いすぎると的外れすぎてつまらん
>>17のスペック
・ニート
・両親に見捨てられている
・話が理解できない頭
・自己紹介が得意
・技術的な会話に入れない
・顔真っ赤
・オウム返しが唯一の能力
・我慢が出来ないアスペ
・オリジナリティなし
・反論できなくなると単純なコピペしかできなくなる←New
>>585 「見た目」1ドット単位で敵の頬をかすめたか当たったかを気にする奴っているの?
敵の頬や弾のグラにどんなアンチエイリアシングがかかってるかで、
2ドットくらいは変わってくると思うが。
精密にするために、当たり判定用ポリゴンと表示用ポリゴンを共通にしている場合、
キャラの頬の1ドット外を弾が通り抜けると、アンチエイリアシングをかけていれば、
当たったように見えても判定上は当たっていない現象は普通に起こると思うが。
>>585 シューティング作った事のないニートはひっこんでような
>>585 こいつ最高にバカ
あ、さすがに連投しすぎで俺必死に見えるな
誰か俺のレス全部削除要請しといて
↑反論できない低脳
アドバタイズデモでリプレイデータ再生されてるゲームがほとんどだろw
607 :
uy:2013/02/18(月) 08:12:24.73
何の話かしらないけど
まぁ人間の目の精度を甘くみちゃいけないよ
ゲーマーは【1ドット】を見極める目を持ってるから
ちなみに俺も持ってる
608 :
uy:2013/02/18(月) 08:15:35.07
あとリプレイ作れないとか恥ずかしすぎる
俺は確かかなり初期にその仕組みはバグもなく作れてたぞ
バグ入るのが一般的とか知らないし
バグ入れる奴がバカなんだよ
まさか自分の環境だけで動いてバグが無いと言ってるんじゃないだろうね?
↑反論できない低脳
あばばばば
このスレは今日も話に入れない池沼が暴れてるな
↑反論できない低脳
614 :
uy:2013/02/20(水) 07:46:41.31
環境によってリプレイの挙動が変化するケースをあげてみろよ
615 :
uy:2013/02/20(水) 08:57:35.34
リプレイには二つの情報が必要
まず入力情報
↑まさかこれをリプレイするのにバグ入るとかいってるわけじゃないよな…?
二こめ にフィールド情報
ここも定数で保存出来るものならば定数保存するだけ
で、敵の動きとかに乱数をその場でrandとかやってるとズレるとかそういうのだろ
randを使わないようにするかあらかじめ計算したrandをフィールド情報に定数として埋める
基本的にこんだけ
>>615 定数って何だよ
「ぼくのかんがえたさいきょうのかんきょうにいぞんしないあたい」
を持ち出しておいて環境に依存するなんてありえない(キリッ
とかちょっとレベルが低すぎて・・・
ここまでの流れで「入力キーと乱数を保存するだけ」とかドヤられるのはちょっと…
スタート地点にすら来てねえよ…
リアルタイムで動画保存してリプレイ時に動画読み込むのが最強
乱数で出た結果を毎回保存するとか恐ろしいわー
普通は基本的にシード値を記録して同じルーチンに通すだろ
その程度で恐れてたらゲームプログラマーにはなれんぞ小僧
本物のuyさんがこんな低レベルのはずないからきっと偽者だよ
サルだったのかwww
625 :
uy:2013/02/20(水) 22:14:04.84
この場合の定数ってコンストのことじゃない事くらいわかれよ
ただの数値の値
とりあえずこのスレは何ヶ月か前に俺がきたときよりも極端にバカなやつがスレ占拠してるのはわかった
わかったらさっさと消えろ
627 :
uy:2013/02/20(水) 22:20:36.06
>>619 そもそも「難易度」なんて関係ないよ
どちらが簡潔に書けるかってだけ
randメソッドを普通にそースコードかいた後から
モンキーパッチみたいなことやれるruby様のような言語なら
リプレイについてはまずなにも考えないソースコードをまず書いて
その次にリプレイデータ作成に必要なメソッドのみオーバーライドして
ランドなどの結果を逐一保存するようなコードを後から描くのが一番綺麗にまとまると思う
628 :
uy:2013/02/20(水) 22:22:08.29
ちなみに俺は半年くらいまともにソースかいてないので
信じなくて良い
629 :
uy:2013/02/20(水) 22:25:49.77
>>626 で、レベル高い人を追い出してまた次元の低い議論するの?
少しは学べばいいのに
>>626 おまえが一番カスのくせにえらそうだなw
>>625 貴方が「定数=ただの数値の値」であると
>>615で定義したわけですよね?
その定義に従って
>>616は「定数とは何か?」
つまり「ただの数値の値とは何か?」と疑問を投げかけているわけです。
>>616の言う定数ってコンストのことじゃない事くらいわかれよ
↑反論できない低脳
↑コピペしかできない低脳
↑2つならんで低脳
RPGのイベントってどうやって実装するの
俺様スクリプトとか作って実装するの?
話しかけたら答えるだけの村人なら
print:ここはゲープロ村だよ
とか、店なら
shop:いらっしゃい
item:木刀,200G
item:傷薬,80G
item:ブーメラン,210G
みたいな感じ?
自分で実装するならやりやすいようにやればいいじゃないか
よほど小さいゲームでもない限り
普通はスクリプト作ると思うよ
というかプログラミングのイベントすら理解してない疑いが…
メッセージイベント
コールバック
WIN32API
・トリガーをどことどこに用意するか
・イベントの中で何をするか
それだかじゃん、簡単簡単
641 :
635:2013/02/22(金) 14:26:16.36
ありがとう
プログラムのイベントは理解してるつもり
Windowsアプリなら、
発生したイベントがキューみたいなやつに積まれる
↓
それをGetMessageで1つずつ取りだしてウィンドウプロシージャに投げる
↓
発生したイベントに応じてウィンドウプロシージャで好きなように処理
って流れだよね?
ただRPGのイベントの処理を自分でこんな風に実装しようとすると設計が難しい
でもスクリプトを実装するのが普通みたいだから頑張ってみる
それくらいで難しいとか向いてない
簡単だと勘違いしてクソみたいなコード書く奴より向いてる
書籍「ゲームエンジン・アーキテクチャ」を読んで
プロパティ主体のアーキテクチャに興味を持ちました。
これに対してオブジェクト主体のアーキテクチャでは、
普通のオブジェクト指向プログラミングのように、
ゲームオブジェクトAというクラスのメンバとして
空間内の位置情報や体力、魔力などのデータを持ちます。
プロパティ主体のアーキテクチャでは、リレーショナルデータベースの様に、
各列に位置情報や体力、魔力などといった項目を設け、
主キーとしてオブジェクトIDを持ったテーブルでデータを管理するようです。
ある種類のゲームオブジェクト特有のデータは、
別の特別なテーブルを用意するような感じだと思います。
本書ではゲーム系カンファレンスで用いた英語の資料として
いくつか ppt ファイルが列挙されています。
(
http://chrishecker.com/images/6/6f/ObjSys.ppt など)
ただ、やはり ppt では大まかな概要は分かっても詳細が分かりません。
本書の中でも触りをざっと説明する程度です。
プロパティ主体のアーキテクチャについて、もう少し詳細な資料はないでしょうか。
日本語の資料があれば大歓迎ですが、英語でも構いません。
SendMessageでEvent送信やデータ受け渡しとかやってるWin32APIが参考になる
ゲームの専門卒業した時ライブラリどれ使って作れるようになってたほうがいいですか?
3Dのゲーム作れるならどれでもいいんでしょうか?
仕事にするなら仕事場のものでやるから何でもいいから調べながら使えるようになること
おれは趣味ではOpenGLとSDLが好き
最初はもっと高レベルでもいいかも。unityとか?ほぼ使ったことないけどOGREとか?
unityみたいなのはコンシューマゲーム機ではちょっとちがうけどゲーム開発の感触つかむという意味ではいいと思う
648 :
デフォルトの名無しさん:2013/02/24(日) 01:59:03.95
ライブラリ自作の道へようこそ
unityはコンシューマゲームもサポートしているよ。
最近は2013年からWiiUもサポートすることに決定されたし。
無料版ではリアルタイムシャドウやオクルージョンカリングなどは自作しないといけないが、
学生にはむしろその方が勉強になって良いと思う。
ゲームプログラミングに直接関わる話ではないのですが、
海外のゲーム系の資料を見ていると、よく Inventory という単語が出てきます。
これは、ゲームプログラミングやゲームデザインなどの文脈では
一般的にどういった意味なのでしょうか。
例えばある資料では、ゲームオブジェクトのクラス階層で、
ルートに Actor クラスがあり、その下に Light クラスや Brush クラス、
Pawn クラスなどがあり、Inventory クラスもあります。
Inventory クラスの下に Ammunition クラスや Powerups クラス、
Weapon クラスがあったりします。
(Pawn クラスの下には Vehicle クラスや Scout クラスなど)
日本語のゲームで言うところの「アイテム」といった感じでしょうか。
アイテム入れておくところのことだよ
ドラクエでいうと どうぐぶくろ
652 :
650:2013/02/24(日) 14:42:18.95
>>651 アイテム入れておく所というのは、
例としてはドラクエのどうぐぶくろみたいなもので、
持ち合わせのアイテムを束ねたり、
ゲームオブジェクトでアイテム類のベースクラスを表したりする
抽象概念ということですね。
アイテム所持枠がインベントリで、
この言葉はゲーマーならみんな知ってるくらいゲーム上に普通に出てくる言葉になってる
例 インベントリに薬草が追加されました
(アイテムが持てる数が増えた)インベントリが拡張されました
654 :
650:2013/02/24(日) 15:47:12.09
これはこのクラスにこのクラスが包含されてるよっていう図でしょ?
656 :
650:2013/02/24(日) 16:31:22.05
>>655 包含関係でも class hierarchy と言うのですか?
包含関係というのは全体と部分の関係ですよね。
だとすると、Actor は図の全ての要素を内に含んでいるという事ですか?
(あるいは逆?)
それは、クラス設計としてどうなのかと思いますが、
Unreal Tournament ほどの巨大なゲームがそんな設計だとは
私にはちょっと考えにくいのですが・・・
その形式の道具が入る専用のインベントリがそれぞれ
Ammunitionインベントリ、Weaponインベントリ、Powerupsインベントリで、
ポーションとエリクサーはPowerupsインベントリが在庫管理してるんじゃないの
658 :
650:2013/02/24(日) 17:45:35.73
>>657 すいません、実際にFFの場合に海外ではどう扱われているのか、
またどのような構造でプログラムされているのか私は知らないです。
単に、ひとつのインベントリでアイテムを管理しているケースもあれば、
アイテムの種類やカテゴリ毎にイベントリを用意しているケースもあるのですね、
という確認のための例です。
お前はまずゲームしろ
アイテムの種類(クエストアイテム、消費アイテム、装備)ごとにイベントリがあることも知らないんじゃちょっと話にならない
はぁ?
俺がずっとやってるネトゲにはそんな区別ねぇよ
661 :
650:2013/02/24(日) 19:42:11.72
>>659 最近はドラクエやモンハン、マリオなどをプレイしましたが、
今まで Inventory という単語を目にしたことも口にしたことも無かったです。
あるきっかけで洋ゲーは大嫌いになったんですが、
勉強のためいくつかプレイしてみることにします。
あと、
>>658 でイベントリと書いてしまいましたが、
正しくはイベントリですね、すいません。
662 :
650:2013/02/24(日) 19:43:17.99
>>661 うわわわ
正しくはインベントリです。
重ね重ねすいません。
>>659 相当ネトゲやってきてるがそんなゲーム見た事無いな
具体的にどんなゲームにその区別があるんだ?
>>663 韓国系なら大体そう
メイプルストーリーとかラテールとか
インベントリの容量を増やすための課金アイテムがあって
インベントリの種類が多ければその分金になる
韓国系やってるけどアイテム種別によるインベントリの違いはないよw
インベントリスロット増やす課金アイテムはある
なんてゲームだよそれ
667 :
644:2013/02/24(日) 21:10:02.83
プロパティ主体のアーキテクチャは "property-centric" と言うそうで、
いろいろネットを見て回ったのですが、やはり PPT の資料しか見当たりません。
概念的には、例えばゲーム空間内のキャラクタの位置や速度などの物理パラメータは、
次のような構造のテーブルに格納されることは分かりました(あくまで概念です)。
struct PhysicsParams {
unsigned int uid [MAX_CHARACTER];
vector3 pos [MAX_CHARACTER];
vector3 vel [MAX_CHARACTER];
他にも、キャラの体力などの状態情報を格納するテーブルや、
所持品情報を格納するテーブルなどがあります。
問題は、これらを更新するメソッド update をどのクラスが持つか、です。
object-centric なアーキテクチャなら、
当然そのキャラクタを表すクラスが update メソッドを持ちます。
更新するのに必要な情報もほとんどは同じオブジェクト内にあるはずです。
(あるいは、必要な情報へのポインタ)
property-centric なアーキテクチャの場合はどうするのでしょうか。
キャラクタの位置情報を更新する場合、もしかしたら
キャラクタの移動速度はそのキャラクタの体力に依存するかもしれません。
なので、PhysicsParams に update メソッドを持たせる訳にはいかないと思います。
property-centric なアーキテクチャは、同じ種類のデータが並んでいることから
キャッシュヒット率が高いというのが最大のメリットだと思うのですが、
そのメリットを壊さないような更新メソッドの作り方、というのがよく分かりません。
よほどスクリプトの挙動に頼らない限りテンプレートにハマった単調なゲームにならね?
それこそツクールのデフォゲーとかエディタのゲームみたいになりそうなもんだが
669 :
644:2013/02/24(日) 21:32:18.75
>>668 例えば Thief や Dungeon Siege、Age of Mythology や Deus Ex 2 などは
property-centric で成功しているそうです。
もちろん、こんな単純に実装では無いはずですが。
670 :
644:2013/02/24(日) 21:59:56.72
あと、property-centric を調べると、必ずと言っていいほど
コンポーネントモデルの考え方も同時に解説しています(解説と言っても PPT ですが)。
なので、もしかしたら、
class Character {
private:
unsigned int id;
Handle<PhysicsParams> hPh;
Handle<Condition> hCond;
public:
void Update ();
void EventHandler (・・・);
の様にして、キャラクタを表すクラスに PhysicsParams テーブルなどへの
ハンドラ(あるいはポインタ)を持たせているのかも知れません。
ただ、これだと property-centric にした意味(メリット)があるのか疑問です。
テーブルの行を上から下へ一気に処理するからこそキャッシュヒット率が高まると思います。
(その処理の間に他の行やテーブルにアクセスする必要が多少あるとしても)
しかし、全キャラクタを foreach で回して
各キャラクタの id を使ってテーブルにアクセスしていたら、
キャラクタの並びがテーブルの id 列の並びと同じでない限り
テーブルへはランダムアクセスになってしまいます。
しかも、テーブル毎にその並び方はきっと違うでしょう。
もしかしたら、
>>669 に挙げたゲームは全キャラクタ foreach もするが、
それ以上にテーブルの行を順に総なめする処理の頻度が高いから、
デメリットがメリットを遙かに上回るゲームシステムなのかもしれませんが。
で、結局何が言いたいんだ?
「ぼくちゃんこんなにべんきょうしてえらいでちょ?」か。
何か質問があるなら要点をまとめて聞きたいことを列挙しろ。
672 :
644:2013/02/24(日) 22:53:41.89
>>671 質問は
>>667 にも書いてありますが、要約すると、
property-centric の場合、そのメリットを壊さないという条件の下で、
キャラクタの状態を更新するメソッドはどのクラスが持つべきか
です。
ここで言うキャラクタの状態を更新するメソッドというのは、
object-centric でキャラクタを表すクラスが持つ
update メソッドに相当するものです。
やはりキャラがかわいくないゲームに価値はないな
キャラがかわいい女の子ならゲーム性は不要
ゲームの最重要要素は萌えとエモだと確信している
おっぱいを揺らすために流体力学を学び、
肌をより綺麗に描くために熱力学を学ぶ
世界で一番女の子が好き
女の子さえいれば他には何もいらない
それが真のゲームプログラマというもの
そういうものに私はなりたい
>>675 残念ながら、その程度の動機でプログラマが流体力学や熱力学を修めることはできんよ。
>>675 のように言う奴は意外にも多いが、それで本当にちゃんと学んだ奴を見たことが無い。
要するに、口だけの馬鹿だ。
逆に流体力学や熱力学を既に修めた上でプログラマになった奴も大勢見てきたが、
>>675 のような願望を持つ(表に出す)奴は少なくとも私の周りには居なかったな。
677 :
デフォルトの名無しさん:2013/02/25(月) 21:45:52.84
↑狭い視野で物を語る愚者の例(
>>676)
世界中の統計取れるほどお前の周りには人がいるのかな
君を含めた根暗3人くらいの統計だろうね
私は単につまらんスレチな戯言を言う >>
>>675 を馬鹿にしてるんだよ。
馬鹿にするのに統計を示す必要性が何処にある?
>>675 は本気ではなく冗談で言ってるんだが、
もしかして
>>677 は本気なのか?
679 :
デフォルトの名無しさん:2013/02/26(火) 00:42:51.84
「冗談=免罪符」
ということにしておきたいのですね
自信がないときは冗談と言っておけばいい、と
世間から馬鹿にされているのは君(
>>678)ですよ
きもい
>>679 お前の言ってることは論理的には確かに正しい正論だ認めよう
だがまずは「
>>675を本気だと思うか冗談だと思うか」をアンケートをとってみてはいかがか?
ネットワークゲームの同期方法を色々研究してるんですが、
TCPとUDPにおける一般的な通信速度の期待値って統計とか経験則とかがあったりするんでしょうか?
たとえばUDPで1対1の通信であれば、ゲーム内の1フレーム(16ミリ秒程度)毎に
数十バイトのデータをやり取りするのはそこそこ余裕ですが(無線など不安定な環境でなければ)
TCPで多人数参加のクライアント/サーバ型にする場合の速度の目安とかあるんでしょうか?
家からコンビニまで何分という規則性や目安はありますかと聞いてるようなもんだ
>>683が分かりやすすぎて吹いたwwwww
>>682 実装の話をすると統計やなんかから実際の通信の内容を決めるのではなく、通信の内容から閾値を決める。
例えば遅延が何秒以上だったら同期を不可能と判断して切断するとか。
それから、TCPかUDPかは目的で使い分けるから、速度の目安が分かったところで
「TCPでは通信に時間がかかるからUDPにしよう」なんて変更はよほどの条件がなければできない。
だから仕様から閾値を決める。
ブラウザのタイムアウトみたいなもんだ。
685 :
682:2013/02/26(火) 15:23:52.27
>>683 でも一般的な事情で家からコンビニに向かう場合、
徒歩でも車でも、少なくとも24時間かかるようなことはないだろうと予測できますよね?
俺ほんと初心者だからそういう桁のスケールの情報でも宝なんです。
例えば「あなたの家の最寄のコンビニまで徒歩で【何十ミリ秒】かかりますか?」
なんてスケールを決め付けた聞き方は、知っている人からすれば明らかにおかしいわけです。
だから俺の質問文のように、TCPにおいて「数十ミリ秒単位での通信が可能」という認識が
おかしい場合は突っ込んでいただきたい、という気持ちもありました。
>>684 ありがとうございます。俺の質問の仕方が悪かったのですが
どちらかというと、その閾値を決めるためのスケールの尺度が欲しかった、というところです。
たとえば、1マス移動するのにゲーム内でXフレームかかり、移動中は「他の操作が不可能」な場合、
サーバがあるクライアントの移動のイベントを受け取ったら、Xフレームの間そのクライアントの
操作情報を受け取る必要がなくなると考えました。
なのでこの移動にかかるXフレームを、現実的な通信速度を知ることで調整しようと思ってました。
しかしここで「そもそもその程度で調整できるスケールの話じゃなかったらどうしよう・・・」
と不安に思い質問させていただきました次第です。
Xフレーム無視するんじゃなくて次の動作受け取っておいた方が良いと思う
>>685 条件によっては24時間以上かかる場合もありえるだろ。全店閉店してる場合とか。
キミは変数は初期化しなくても大体0じゃないからbool型は初期化しない場合はtrueとして扱うとか
やらんだろ?
処理はキッチリ作れ。
クライアントの操作情報と時間をファストインファストアウトで格納しといて
鯖の都合のいい変動タイミングでやり取りしとけばいいだろ
受け取った情報が古すぎたら、移動経路とか統合してから処理すればよい
>>685 こういうことが聞きたかったとか毎回情報を後出ししすぎだぞお前
聞きたいことは整理してから聞けって言ってるだろ
共振だの減衰だのまともに通信するためにどんだけ神経使うか
何が起こるかわからないのが物理世界だっつうの
,'⌒,ー、 _ ,,.. X
〈∨⌒ /\__,,.. -‐ '' " _,,. ‐''´
〈\ _,,r'" 〉 // // . ‐''"
,ゝ `く/ / 〉 / ∧_,. r ''"
- - - -_,,.. ‐''" _,.〉 / / . {'⌒) ∠二二> - - - - - - -
_,.. ‐''" _,,,.. -{(⌒)、 r'`ー''‐‐^‐'ヾ{} +
'-‐ '' " _,,. ‐''"`ー‐ヘj^‐' ;; ‐ -‐ _- ちょっくらコンビニ行ってくる
- ‐_+ ;'" ,;'' ,'' ,;゙ ‐- ー_- ‐
______,''___,;;"_;;__,,___________
///////////////////////
初心者であれば多少の後だしをしてしまうのも仕方ない面もあるが
「でも」とか言い訳し始めるあたりはケンカ売ってるとしか思えない愚行である
>>691 それで?何が言いたいの?
貴方がそう思う、だから何??
アクション性の高いゲームにおけるエフェクトと必殺技とキャラの動きの管理のしかたが分からない
以下のような条件を持つ必殺技Aがあるとする
□キャラクターのモーション発生からダメージ判定発生まで120ms
□ダメージの発生からキャラクターの硬直終了まで140ms
□キャラクターのモーション発生と同時にエフェクト発生
□エフェクトはキャラクターの硬直終了後さらに320ms画面上に残る
□この必殺技Aはキャラクターの硬直終了後ただちにに再使用が可能
□必殺技Aを再使用した際でも前のエフェクトは上記120+320msを満了するまで消えることがない
イメージしにくい人はキャラクターが腕から炎を出して敵にぶつけ、ぶつかった炎が弾けてゆっくり消えながら拡散するのをイメージしてください
最初は必殺技クラスを作成し、さらにそれを必殺技の数だけ用意しようと思いました
エフェクトもこのクラス内で管理します
// ゲーム中に登場する必殺技がA〜Eの5種類
CHARSKILL c_skill[5];
しかし、必殺技のエフェクトをこのクラス内で管理するとなると
上記必殺技Aのようにエフェクトが2重、3重に重なる可能性がある場合、管理が非常に面倒です
次に考えたのがエフェクトの管理専用のクラスを作り、必殺技クラスからそこへエフェクトを登録するというものです
エフェクトクラスはエフェクトIDと位置を受けとるとIDに該当するエフェクトを指定した位置で動画の再生のように最初から最後まで表示するクラスです
このクラスを配列として用意しておき、必殺技のクラスから空いているエフェクトオブジェクトを探してそこに登録するというものです
これだと必殺技を連発しても各エフェクトが重なって最後まで表示されるので自然です
しかし、上記必殺技Aが現実的な条件に変更されると困ります
□キャラクターのモーション発生からダメージ判定が出るまでの時間は敵とキャラクターの距離に比例する
こうなると必殺技Aの発動時にエフェクトクラスへIDと位置を投げて再生するだけでは時間的なずれが生じます
エフェクトクラスに当たり判定を持たせることも考えましたが、必殺技クラスとエフェクトクラスの両方で当たり判定をするのも微妙です
単純なエフェクトなら良いのですが、誘導弾型、地雷型、その他の特殊な動作をする必殺技のエフェクトとなると困ります
シューティングゲームをC++で作ってます
敵クラス、自機クラス、弾クラスなどでカプセル化して管理してるんですが
自機を追尾する敵は、敵クラスから自機クラスにアクセスする必要が出てくると思います
今のところ自機クラスの座標変数のアドレスを、敵クラスに持たせているんですが、
もっとかっこいいやり方をひょっとして皆さんやってらっしゃるのではないかなあと
もっとかっこいいやり方があったら教えてください
>>693さんの質問の後でいいので、どなたか頼んます
座標データをもつ親クラスを作って公開関数で座標データを取得できるようにしとく
敵クラス、時期クラス、弾クラスをその子クラスとして実装
>>696 ちょっぱやで回答していただいてありがとうございまっす
とても参考になります
ただし、もう少しだけ疑問があるのでお付き合いいただければ幸いです
この方法は、親クラスに例えば座標変数jikiPosなどを作っておいて、
関数GetJikiPosを実装すれば、子クラスでjikiPosを取得できる・・・っていう方法だと考えました
敵が複数いる場合などは、敵座標変数が複数あるはずなので、若干管理が面倒になる印象なのですが、
これの解決はどのようにするのでしょうか
敵毎にインスタンスがあるんじゃないのか?
やべーーーそうか
親クラスの座標はjikiPosじゃなくてposですね!
子クラスでそれぞれGetPosを実行すれば固有の座標をゲットできる
うおーありがとうございます早速実装してきます!
クラスの継承関係を親子っていうのはひどい
基本クラス、派生クラスと言えば満足か
ちっちゃい人間だなあ
基本単為生殖ってところが
>>693 >>694 話を聞いている限りでは、現実的な条件という場合は、
必殺技Aが発動した瞬間から「モーション」が再生されるのだと思います。
しかし、その必殺技の「ダメージ判定」が発生するまでの時間は環境に依存する。
ということは、エフェクト以前の話として、環境(敵との距離など)によっては
モーションの再生の終了間際や、終了してからダメージ判定が発生する場合もある。
このようなケースというのは、そもそも、その必殺技による効果が、
キャラクタ自身から空間的・時間的に離れているのではないでしょうか。
例えば格ゲーでいうところの飛び道具(波動拳など)や、
それこそ
>>693 の腕から炎など。
こういうものは、環境によっては「たまたま」技を出したキャラと
見た目的に重なっている場合もあるけど、本質的には技を出したキャラとは
独立した存在なのではないでしょうか。
よって、管理方法としては、必殺技を仮に「腕から炎」だとすると、
・技を出すキャラのデータ(位置や当たり判定など) + 技を出すキャラのグラフィック
・炎のデータ(位置やダメージ判定など) + 炎のグラフィック
このように2の独立したものに分けた方が自然だと私とは思います。
この場合、敵にダメージを与える存在は技を出したキャラではなく、
キャラの位置から発生した炎の方なので、こちらにダメージ判定を持たせます。
どうでしょうか。
おちゃっこはユーザーに対して嫌がらせを始めた。
それも側近ユーザーに対してもだ
むしゃくしゃしたから やった。 論理はそれだけだ
?
706 :
uy:2013/03/08(金) 13:38:57.63
ゲームはアクション要素+戦略要素あって
さらに音楽とキャラが良くないとダメだな
あとはどんだけ時間かけてもクリアできなそうなくらいの広いやりこみ要素
あと大人数プレイ
久しぶりに昔はまってたゲーム一通りやってたらあんまし面白くなかった
その条件に当てはまるのはモルピグだな
708 :
uy:2013/03/08(金) 14:38:07.76
そう、なんだかんだでネトゲが一番楽しい
ファミコンが一番楽しい
ネトゲに嵌ってニート生活中に親への言い訳のためにプログラムに手を出してみたけど
どうにもならなくて荒らしになるってのがム板じゃ多い気がする
2Dのアクションゲームって「マス」の概念あった方がいいんですかね?
今のところ斜めの表現を極力細かくしたいので、描画の座標とイコールで、
1ドットが1マスみたいな感じでやってるんですが
は8×8ピクセルを1マスと考えて、キャラクターは縦8マス横4マス
のように考えるのとどちらが初心者にやりやすいでしょうか
何でその二択なの?間違ってるよね?
斜めのバリエーションを増やしたいのなら、
升が無い方が初心者にはやりやすかったりする
当たり判定だけ2D物理エンジンに任せれば良い
マスはパズルゲームだけだいい加減にしろ
マップはマスでもいいけどね。
>>712 マスという考え方は捨てれ…ラジアン使えラジアン。
質問者じゃないけどブロック単位じゃなく処理をすればいいんだ!
やっべー目からウコロが落ちた!
地面とかオブジェクトをブロック単位で配置してたからその他もブロック単位で考えてたぜ!
5年前に頓挫してほったらかしだったけどもう1回やってみようかな!
>>710 seikyou.ne.jpさんの悪口はやめろ
昔のロックマンって面がけっこう細切れだったけどあれもやっぱり処理速度の関係?
DirectXの関数で、テクスチャやメッシュをファイルからロードする関数がありますが、
あれはビデオカードのメモリ上(オンボードの場合を除く)に読み込まれるという認識でいいでしょうか?
ビデオカードの紹介でDDR5 1GBとか書いてありますが、そこへロードされているという認識でいいでしょうか?
俺の設計が間違ってるのかC++の知識が足りないのか教えてくれ。
2DRPGでシーンがタイトル、マップ、戦闘、ってあったとして、それぞれ処理が全く違うからクラスを作る。
TITLECLASS、MAPCLASS、BATTLECLASS、とする。
どのクラスにもpublicで同名な以下のメンバが存在する。
BOOL Load(int);//そのシーンの初期化&テクスチャ・音・イベント・etcの読み込み
BOOL Run();//入出力や各種判定や計算
BOOL Draw();//描画
BOOL Unload();//読み込んだテクスチャや音etcの破棄
シーンによって処理内容は違うが、どのシーンであっても最初にLoad(int)を行い、毎フレームRun()とDraw()を行い、次のシーンの読み込み前にUnload()が行われる。
しかし、各シーンごとにクラスを用意するため、以下のようになっている。
TITLECLASS title;
MAPCLASS map;
BATTLECLASS btl;
//ロード等中略、以下メインループ内
if (タイトル){
title.Run();
title.Draw();
}else if (マップ){
map.Run();
map.Draw();
}else if (戦闘){
btl.Run();
btl.Draw();
}
このようにif文による判定が毎回フレーム入る。
各クラスをロード前に抽象的なシーンクラスに入れてif文を減らせないか。
以下のような雰囲気のことがしたいができないのだろうか。
void *scn;
scn = ↦
//以下メインループ内
scn->Run();
scn->Draw();
ポリモーフィズムでぐぐれ
どうでもいいが、scene くらい省略せずに書けよ
どうでもいい
ナコバーローww
サンクス調べてくる。
おお、俺のやりたいことができそう
ポリもーフィズムは名前だけはきいたことあったけどまさかC++の裏技だとは思わなかった
ネタは寝てから言え
DirectXについて質問です
利用可能なバックバッファのサイズと色のフォーマットを列挙することができますが、
なぜ列挙されていないサイズでも利用できるのでしょうか?
具体的には、列挙すると680*480以上の解像度しかありませんが、
D3DPRESENT_PARAMETERSのBackBufferWidthとBackBufferHeightにそれぞれ320と240を指定しても
問題なく320*240で作成されているように振る舞います
320*240の環境で使うプログラムなのかもしれないからだろ
自分のマシンでサポートできるプログラムしか書けないようにする必要ある?
>>725 方向性は正しい。
昔の自分を見てるようだw
頑張って!
>>733 ウィンドウモードだとそもそもバックバッファに制限ないぞ
737 :
733:2013/03/18(月) 17:33:47.34
>>734,
>>736 ありがとうございます
回答から好きなサイズのバックバッファを作成できるということまでは理解できたのですが、
では解像度を列挙できる機能は一体何のためにあるのでしょうか?
列挙された解像度でないとCPUで処理されてしまうとかでしょうか
フルスクでやりたい人のための情報なんじゃねえの
当然
740 :
733:2013/03/19(火) 14:23:00.23
>>738-739 ありがとうございます
プレイヤーがウインドウモードとフルスクリーンモードを切り替えられるようにしたいので
列挙された解像度を使うことにします
741 :
uy:2013/03/19(火) 17:32:51.23
>>725 すべてにおいて間違ってるよ
多分、君はクラスを使って良いレベルにいない
構造体と、関数のみで一回やれよ
C++の前にC言語まず使えないだろ
>>741はプログラム組んでたら次第にラムダに逃げてクラスを使わないべた書きになっていくという
人のこと言えるレベルじゃない存在だったような
名前がuyって時点で説得力がないうえにもう片付いた質問にレスしててワラタ
動的だと適当に組んでも動くしクラス化するのが面倒な気持ちならわかる
カプセルやインターフェイスを簡単に破壊できる言語だと特に生真面目にクラス組むのがバカらしくなる
Webアプリ以外をC/C++以外で作ってる奴は地雷だと思っていい
全員がそうではないけど99%の確率で地雷(HSPは例外的に100%)
?
この場合、地雷ってどういう意味なの?
もしその条件を満たす奴が本当に地雷だったとして、
どういう結果が待っているの?
本人は、周りの人はどうすればいいの?
748 :
デフォルトの名無しさん:2013/03/19(火) 23:40:50.66
age
>>747 踏みつけると爆発するから踏まなければ良い
3Dのボーンのモーションってさ、記録されてるモーションを再生するだけなんだな
だから斜面を走るときに、地面に足が埋まったり浮いたりしないようにするためには
リアルタイムでボーンの計算処理をして足を正確な位置にしなければならない
ってことになるんだけど、こんな泥臭いことするの?
25度、45度用の斜面用モーション作って、近い方を再生するとか
>>750 普通はめり込み浮き足上等
お前がそこまで懲りたいかどうかで決めればいい
斜面に対してキャラクターを垂直にしてるゲームもある
そんなんだから海外のゲームに勝てないんだよ
こだわり大国日本はどこにいったんだ
普通のTPSゲームならば、斜面傾斜角度は30°以内である、それ以上は登れない。
それで、30°程度の傾斜角度ならば靴の下少しが埋まる程度になる。草原を歩けば草で隠れる範囲。
CPU時間に限界があるから、無駄にエネルギーを使う事が出来ない。
スーパーマリオ1は地形がマス目なだけでなく、背景の雲や木はステージのスタート地点から何ドットって基準で繰り返してる。
マス目の位置情報すら持ってない。
>>755 バカか逆だリアルさはゲーム性に関係しない
見た目を重視した結果海外のゲームに勝てなくなったんだろ
リアルさにこだわったFFとか落ち目だろ
スーパーマリオはもう日本からは生まれない
言い訳だよそれは
中身が同じならグラフィックが優れた物が勝つ
これまで日本がグラフィックを軽視してこれたのはあくまで中身が海外ゲームより優れてたから
でもいまは中身でもぼろ負けだ
グラフィックを手抜きして中身が大事なんて言える立場じゃないんだよ
>>759 いや、だから今は中身を重視すべき時なんだろ?中身ボロ負けなんだろ??
>>760 それは正論だが、一度優れたグラを体験した消費者は、
他の商品に対しても最低同程度に優れたグラは期待するからなぁ
>>759,
>>759 で、グラフィックがコンシューマやPCゲームよりチープな携帯ゲームが盛り上がっているのはどう言い訳するんだ?
携帯ゲームとか中身も無いだろ
持ち運びできてどこでもできるというだけで売れてるだけ
じゃあそれが真理だろ
ゲームに派手さは求められない時代になったことにいい加減気付け
高度なグラフィックを期待すると思っているのは無能なゲームクリエイター()だけ。
美しさとリアルさを混同したバカが据え置き機を滅ぼす
個人的な考え方かも知れないが、その話ってそれを話す場に依るんじゃないか?
「ゲームを考える」とか「素材やプログラムなどを纏め上げてゲームに仕上げる」場では
「中身が大事、グラがチープでも楽しめる内容にしなきゃダメ」だろうし、プレイヤー視点でも大概そんなもんだろうが
ここはプログラム板なのだから「ゲームはこうあるべき」なんてのは割とどうでも良いことで
「やろうと思えばある程度やれて、自分の領分や限界が認識できる程度に技術力は持っておくべき」と考えるべきだと思う
自分単独ならともかく、誰かと組んだ時まで「リアルさとかどうでもいいんだが?」なんてプログラマが言ったら顰蹙だろうしw
あやまれ!せがれいじりにあやまれ!
実際据え置き機は最近使わないな
起動が面倒くさい
ゲーム論を語るときの注意点
・プログラム板なのでプログラムを交えて話してください
・趣味開発と業務開発を同じフィールドで語らないでください
FPSやマップデザイナ・モーションデザイナの作業負荷の見積もりを
素早く提示できるスキルは必要なんだろうな〜
Objective-C ウゼーとかそういう話が好みか
グラフィックにこだわるのは質の低いユーザー
道を極めたユーザーはCUIへと到達する
このレベルの世界ではグラフィックはもはや想像力を阻害する不純物であり
またプレイ効率を低下させるストレス要因となるのだ
読書でいいじゃん
Objective-C ウゼー
Appele ウゼー
アッペレ?
据え置きのコンシューマー機なんてのは一般家庭にパソコンがなかったから生まれたってだけだろ。
マリオやその他のゲームのようなものを一般人に遊んでもらおうと思ったらまず環境から構築するしかなかった。
ソフトウェアの供給だけでは成り立たなかったからだ。
でも今ではゲームを実行できるレベルの性能を持った汎用計算機がほとんどの家に普及した。
そんな状況で据え置き型のコンシューマー機って必要?って話。
必要だから生まれ、ある程度大きな市場は形成されたが、今ではほとんど必要ではなくなってきている。
しかし、ゲーム企業、特にハードウェアを開発している企業はすでに必要ではなくなりつつあるその市場を必死で延命しようとしている。
鍵はタイトルだ。
ハードウェアを買ってまでプレイしたいと思えるタイトルがあるうちは消費者をなんとかつなぎ止められるが、
ソフトウェア開発専門の企業が、今までコンシューマー機で出していたタイトルを、パソコンやスマホ向けに出し始めたらコンシューマー機は終焉まっしぐら。
プログラマ側としては一定の性能が保証されているコンシューマー機のほうが開発しやすいだろうが、
汎用機の性能も底上げされ、汎用機用のフレームワークができてくるとその限りではない。
ゲーセンの筐体を一般家庭向けにカスタマイズして売ればいいと思うの。
WiiリモコンとかKinectとか、そういう楽しい遊び道具って、
汎用機から普及することはほとんど無いよ。
コンシューマー機は買った人の誰もが同じ計算性能を得られる事以上に、
誰もが買ったその場から同じ道具で遊べる事が大きなメリットだと思う。
そのメリットを活かせている間は、コンシューマー機は無くならないね。
汎用機から生まれることはなくても汎用機に取り込まれちゃうよね
いわゆるゲームコントローラーだって昔はパソコンにそんなものなかったのに
取り込まれちゃって汎用機でも同程度の操作ができるようになってしまった
そのメリットを活かせなくなったのが今ってことね
PCにUSBメモリを挿して電源を入れれば即ゲームが起動
ってのが主流になれば専用機を駆逐できると思う
HDやネットワークにアクセスを許すかどうかでレベルを分けて
「赤」とか「緑」とか区分を設ければ言うことなしだな
783 :
デフォルトの名無しさん:2013/03/20(水) 16:48:55.49
PCにフロッピーディスクを入れて電源を入れれば即ゲームできますが何か
つーかパソコンの常時起動も増えてきてるからダブルクリックで即起動だろ
USBを挿すまでもない
フロッピーからの読み込みが遅い(容量次第だが)
ゲームに限ったことじゃないけど、日本人を液晶画面漬けにする気かってくらいIT製品ばっかだよな
家ではインターネットで各種サービスや申し込みや通販やSNSやゲームや写真の管理やどうかしたら料理のレシピまで
外に出たら出たでケータイやスマホでメールやSNSや写真撮影やテレビや地図暇ならゲームやれという勢い
お前1日に何時間画面見させる気だよw
一日中
>家ではインターネットで各種サービスや申し込みや通販やSNSやゲームや写真の管理やどうかしたら料理のレシピまで
>外に出たら出たでケータイやスマホでメールやSNSや写真撮影やテレビや地図暇ならゲームやれという勢い
どんだけリア充なんだよお前
しねよ
>>786 今やうちのカーチャンがタブレットでスーパーのチラシ見てるからな
番組表もデジタルテレビやレコーダーで見る上にトーチャンはニュースをスマホで見るから新聞もう取ってないぽ
2Dの横スクロールアクションで、主人公の武器も服も装備によって微妙に変わる場合、
描画のときの上下関係ってどうするの?
例えばキャラがプレイヤーから見て左側に向いていて、
そのキャラが剣をキャラの左(画面手前)から右(画面奥)へ払うような動きをして、
払い始めはキャラの上に剣が重なった状態があり、払い終わりにはキャラの下に剣が重なってる場合。
わざわざ剣の深度バッファ変えるの?
791 :
デフォルトの名無しさん:2013/03/20(水) 23:50:26.81
それ何種類あるの?って話
座標は3Dで持っててglOrthoにするだけ
武器ごとにモーション変えちゃいなよ
ブン!って振ってる間の剣戟を共通グラにして、
各武器で最初(手前にある状態)と最後(奥にある状態)を用意すればいいんじゃ?
データ量倍増でいいなら予め2つの深度で絵を構成させるとか
キャラの上下を分割して、下剣上の順にすれば…
>>790 むしろ剣のバッファ変えるだけで済む話じゃないか
自機がやられた時爆破アニメーションをしようと思います。
その際自機がキーボード入力を受け付けると困るのですがどんな方法が一般的か分からず悩んでます。
適したやり方はどれでしょう?
1."戦闘シーン"から"ゲームオーバ−前エフェクトシーン"移動して自機の爆破完了後"ゲームオーバーシーン"へ移動する。キー入力はシーンオブジェクトが遮断する
2.自機のタスク(Actor)処理内で破壊済みフラグのようなものを設けてキーボード入力をチェックしないようにする
3.その他
[1]だった場合、自機や敵キャラなどのオブジェクトはシーンの子という構成だと思うのですが
それら全ての親シーンを"ゲームオーバー前シーン"に変更して処理を続行させるのでしょうか
自機にやられた状態を追加する
>>799 現状では、ゲームパッドなどからキーが入力された時、
どのような処理の流れでキャラの位置情報が変更されるに至ってるの?
>>801 シーンオブジェクトがWindowにリスナー登録してキー入力イベントを受け取って、
キャラクターはシーンオブジェクトにキー入力イベントをリスナー登録してます。
だから入力を絶つには自機が死亡フラグを見て入力を受け捨てるか、
リスナー登録を削除するかキー入力を受け付ける"戦闘シーン"から自機を切り離して
Windowからキー入力を受け取らない"ゲームオーバ−前エフェクトシーン"を設けてそこに全キャラクターの管理を委譲するか、と考えました。
>>801 追記です。
自機はシーンからのキー入力イベントを受けて座標の更新を行っています。
イメージはこんな感じです。(範囲外チェックやあたり判定処理は省いています。)
void onKey(KeyEvent e){
this->x += (e.right - e.left) * steppix;
this->y += (e.down - e.up) * steppix;
}
2でいいんじゃないの?
GetAsynckeyStateにすればいいのに
基本2でしょ?
なんで爆発だけでシーン切り替えせにゃならんの
807 :
デフォルトの名無しさん:2013/03/25(月) 16:22:26.47
同じシーンに使われる別々のオブジェクトが同じテクスチャを共有する場合は、それぞれのオブジェクトが同じテクスチャを共有しますよね?
ゴミw
>>806 タスクシステムのchangeTaskの代用を探してたらこの様だよ
タスクシステムw
自機に終了フラグを立てたくない理由がよく分からん
>>807 テクスチャは基本そんなに余裕のあるリソースじゃねーから、オブジェクトごとに生成なんて真似を
「本当に」やったのなら、今頃そんな寝言言えてない筈だぞ。
最近のスペックのPCで
ファミコンのロックマンみたいなのしか作ったことがなければ
そういう発言が出ても
不思議ではない
共有って無理だろ
class MAPCLASS{
LPDIRECT3DTEXTURE9 *tex;//テクスチャの配列
OBJECTCLASS *obj;//オブジェクトの配列
}
普通こんな感じになると思うけど、objからtexにはアクセスできないじゃん
それともobjの中にstatic LPDIRECT3DTEXTURE9 *texとかトリッキーなことすんの?
でもそれやるとtexの解放が難しいぞ
解放するときは最後の1つのobjが破棄されるときに解放しなきゃならないからな
最後の一つかどうかを判定するコードが必要だからな
ゲームのリソースって普通、実態はリソースマネージャに管理させて、
そのリソースを使う各ゲームオブジェクトらは、
そのリソースへのハンドルを持つだけだと思うのだが・・・
staticに持たせる場合でも、グラフィックス初期化直後やシーン開始時に初期化して
シーンやアプリの終了時に解放すると思うよ…
どういうこと?
class RESOURCECLASS{
LPDIRECT3DTEXTURE9 *tex;
SOUND *snd;//適当
}
こういうリソース管理のクラスを作ってグローバルにしといて
そこに各種マップやらキャラやらのリソースをロードするってこと?
オブジェクトがリソースを使いたい場合は管理クラスに問い合わせる
管理クラスはそのリソースがあれば渡して、なければ作る
リソースの削除は管理クラスがやるからオブジェクトは気にしなくていい
こんな感じ?俺はこうやってるけど
それが普通だと思うし、そういうやり方だら共有もできる。
DxLibがそこまでやってるな
結局あれと同じの作るのか
DxLibが同じ事やってるのならDxLibを使えばよくね?
クラスで毎フレーム呼び出される変数ってメソッド内じゃなくてメソッドとして宣言しといたほうがいい?
確か関数内で宣言された変数は関数が呼ばれるたびにメモリの確保と解放が起こるんだよね?
class TESTCLASS
{
int func(){
int a;
a++;
}
}
より
class TESTCLASS
{
int a;
int func(){
a++;
}
}
推奨?
あ、a++はちょっと例として不適当だった。
a++だと上と下では挙動が違う。
for(a=0;a<10;a++){}
とかにしといて。
824 :
デフォルトの名無しさん:2013/03/26(火) 23:35:08.90
俺は何も考えずに上派だけど、今まで特に遅くなったりとかはない
理想は下なのかもしれんが
整数程度ならやめとけ、読みにくくなる弊害のがよほどデカい
それが生成するだけで重いオブジェクトとかなら一理あるけど
なんで今更こんなレベル低いこと議論してんだ
>>822 スタックメモリから確保されるから高速
無視していいレベル
>>822 むしろ下はthisを使う事により低速化する
昔下で書いてたけど大変なことになったw
privateのところに大量の変数が出てきて、
メンバの関数をごっそり消しても
その関数でしか使わない変数が残ったりするし、
メンバの関数でしか使わないと思って消した変数が
実は他でも使われててコンパイルエラーになったりとかw
そういうのはまずコメントアウトだけして一旦コンパイルかけてみてからじゃないと消さないな
831 :
デフォルトの名無しさん:2013/03/27(水) 15:05:52.47
2DRPGのマップでオブジェクトが重なる場合ってソートが必要じゃん?
完全に全オブジェクトが1x1ブロックに収まって、重ならないなら要らないんだろうけど、
木とか高さのあるものが出てくると重なることがあるからソートが必要じゃん?
あれってどうやってる?
それともDirectXのスプライトのDrawに渡す描画位置のzに、
z=y/1000とかやってそのままy座標使ってる?
Zバッファを使うと透過とか半透明のオブジェクトで面倒なことになるから、
Zソートした方が良いかと。
Zソートには何使ってる?
バブルソート?
>>831 多分クォータービューの事言ってるんだろうけど
そうじゃない普通の俯瞰型なら木の上の方のパーツは
上のレイヤに置いてるだけだよ
それなら描画順を気にする必要が無い
クォータービューならソートらしき処理が必要だと思うけど
作った事無いから実際どうやってるかは知らない
クイックソートだろ
うほ
最高の頭脳はこんなところで油を売ってる暇はないし
暇があったとしてもとっくに他のコミュニティに移動してる
こんな匿名の叩き煽りが日常茶飯事で自分にメリットが薄いようなところは
最高の頭脳でなくともまともな人間でもさっさと去るよ
他にコミュニティがない10年前なら最高の頭脳もいたかも知れないが、
いつの間にかいなくなって今ではその幻想だけが残ってる
最高の頭脳持ってる奴は他のコミュニティに行っても入っていけるから困らなかっただろう
そしてそういったコミュニティで相手にされない奴が集まってるのが2ch
>>837 うっせーな、分かってるからいちいち書き込むな。
2DRPGで半透明とか使う?
>>839 バトル中のエフェクトでは使いまくりだろうが、
他にも水路や海面下などの水中表現や、森の中で木陰の表現、
洞窟などでキャラを中心にだんだん暗くなる灯の表現、
メッセージボックスなどの背景、etc...
>>839 スーファミですら使ってるのに・・・
時代遅れ過ぎて人として終わってる・・・
はよ
半透明って負荷高いじゃん。
javascriptを使用したブラウザゲームは
実行中に得点部分の変数値を結構簡単に書き換える事ができてしまい
ランキング等不正を行いやすい状況ですが、
この変数値操作への対策として何か有効な方法はないでしょうか。
得点部分と他に特殊な値を持つ変数値(例えば得点*2)を別途用意し
得点の変数値だけを書き換えられてしまっても
大丈夫なようにする、という方法があるようですが
これ以外にも何かよい方法があればご教授願います。
何にしてもJSはソースが見えるからな・・・
他には、一定時間おきに得点をチェックして、
明らかにおかしな得点の増え方をしてたら弾くとか。
5秒間で最大でも100ポイントしか増えないはずのところを1000ポイント増えてたら弾く、みたいな。
実行中もだけど実行後も気を付けないと書き換えられる。
サーバのDBに変数の値を格納して変数参照ごとにサーバと通信すればいい
ゲーム内のシーン遷移について質問です
解説サイトを見たところswitchを使うFSMか、Stateパターンが紹介されていましたが、
Stateパターン時の各シーン同士のデータの受け渡し方法がよくわかりません
例えばアクションゲームで
キャラクターの装備を整えたり次のステージを選択する「ステージセレクト」というシーンと
実際にマップ上でアクションして戦う「ステージアクション」というシーンがある場合、
ステージセレクトからステージアクションに遷移する際に、
シーン管理クラスにstringなどでシーンの名前をコールしてシーン自体を遷移させることはできますが、
あらかじめステージアクションのポインタを保持しておくなどしていなければデータの受け渡しができません
こういった場合そもそもデータを共有しておかなければならないようなクラスを
分離しようとするのが間違ってるのでしょうか?プレイヤーキャラの情報などゲームの基本情報は
シーンの基底クラスにstaticメンバとして持たせておくべきなのかな
複数のシーンで共有するデータは
shared_ptrに入れて受け渡せば
全部シングルトンで解決や
常に共有ってくらい大袈裟なら思い切ってstaticとかシングルトン考えても良いけど
単純に引数みたいな感覚で選んだステージIDを渡したいだけの時ってどうするべきなんだろう
シーン移動時にパラメータ渡せるようにしてるわ
>>851 intで決め打ちするなら良いけど汎用的な受け入れ口作ろうと思ったら
ストリームで無理矢理流し込むかダウンキャスト使わないとムリじゃない?
シーン移動時にシーンをコンストラクトする
でそのシーンを次のシーンに設定する
パラメータはコンストラクタに渡すのでどうとでもなる
ゲームプログラムに該当する件なのか?
ゲームプログラム以外の何なんだ?
私の場合、シーンをまたがって使うデータはシーンクラスとは別に専用のクラスで管理します。
シーン内で完結するデータはシーンクラス内、あるいはシーンが構築したクラスで管理します。
概念的には下記のようなことをしています。
(本当はもう少し複雑ですし、ポインタを直接使わずハンドルを使います)
Data *pData // 永続データを管理するクラスのインスタンス
Scene *pSelectScene, *pStageScene // シーンクラスのインスタンス
pSelectScene のメソッド内で、Weapon *pw = pData->getPnt ("weapon") として、
武器データを格納するメモリ領域を作る。
(既にメモリ領域が作られていたなら、単にアドレスを返すだけ)
武器セレクト画面を出して、プレーヤーが選択した武器を *pw に入れる。
シーン遷移後
pStageScene の初期化メソッド内で、Weapon *pw = pData->getPnt ("weapon") として、
*pw のデータをキャラクタクラスなどに渡してゲーム開始。
こうすれば、シーンクラス間の依存度が低くなって便利です。
例えば、シーンA、シーンB、シーンCとあって、
シーンAとシーンBでそれぞれ作られたデータをシーンCへ持ち越す場合なども、
シーンAとシーンBの遷移順に依存せずデータを渡せます。
やっぱりシーンBは要らん、シーンAだけで全データを作ろうとなった場合も、
修正する箇所の数を低く抑えられます。
>>856 ゲーム特有の特徴とかあるだろ
扱うデータが大きいとか、データはシングルトンでも割と大丈夫とか
Stateパターンはタスクシステムが育てた
シーン遷移の度にコンストラクトする必要もねえだろ
シングルトンで全部解決や
俺は質問者じゃなくて
>>852だけど
>>857 本当はハンドルを使うって言ってるから聞くべきではないかもしれないけど
>Weapon *pw = pData->getPnt ("weapon")
だと、真っ当に考えるとDataクラスのgetPntメソッドは返り値の型がWeaponか
派生クラスのポインタでなければならなくて引数に文字列渡す意味もないくらい限定的すぎるから、
返り値はvoid*って意味なんだろうけどやっぱりキャストでゴリ押すしかデータ受け渡しできないよね
>>861 はい、実態は別の所にあって、そこからアクセス権をもらうという
概念を伝えるための説明でした。
ポインタに似せたのは説明失敗だったと反省しています。
863 :
862:2013/03/29(金) 20:14:00.81
>>862 すいません、実態ではなく実体です。
意味が全く違いますね。
例えば2DRPGとかで、シーン間で消失しないデータ(キャラのステータス、各種フラグ)って
シーンとは独立したグローバルな構造体orクラスとして用意すると思うけど、
シーンからはどうやってアクセスする?
今はグローバルだからってマップクラスや戦闘クラスから直接アクセスしてるけど、何かアホっぽくね?
グローバルであってもマップクラスや戦闘クラスの初期化時にそういったキャラや各種フラグのポインタを渡してそれからアクセスしたほうがよくね?
とか思い始めたんだけどどうよ
例えばフィールドシーンでマップ上の武器屋に入ったら
フィールドシーンから武器屋シーンがαブレンドでフェードインしてくるようなやつはどうやるの?
カレントシーンを複数持てるようにしてるの?
武器屋に入る直前のフィールドシーンをテクスチャとして保存しておいて
武器屋に入った瞬間からαブレンドで合成
分ける必要があれば分けるべきだし、必要なければ分けることはない
どういう必要性があるのか、他とのトレードオフはないのかなどを考えるべきで、
アホっぽいからと考えるのは、それこそアホだ
>>864 グローバルで問題が発生するくらい大規模分散処理するはめになってから悩め
>>864 シーンの親に持たせればいいかと
各シーンは親からポインタ引いてるだろうから普通にアクセスできるし
グローバルじゃなくてシングルトンなら
importとするかしないかでスコープ区切れる
>>869 それで良いやと思ってたんだが親からポインタひいて子が親に問い合わせるのはおかしくね?
子は親なんか知らずに親が子の状態を取得して遷移フラグたってたら遷移させるとかどうよ
>>866 フィールドにいるキャラはフェード中も動かしたいからむり
止まったままフェードでいいなら何の疑問もでないわー
普通のゲームではクロスフェードとかやらず、黒にフェードアウトしてから
シーン切り替えが多い気がする
キャラが動ける範囲だけ画面のスナップショット作って
それ使ってクロスフェードすれば?
ん、
>>866で
>>872でやりたいことできるだろ
カレントシーンを描画したあとに1枚の画像乗っけるんだぞ(不透明度100%→0%方向で)
>>875 「フィールドにいるキャラ」ってのが自分以外のオブジェクトのことだと思う
武器屋に入る直前のフィールドに、回ってる風車があったとしたら
武器屋にフェード中も風車には回っていて欲しいんだと思う
>>875 フェード元とフェード先の両シーンのオブジェクトは動いたまま(例えばNPGが歩き回ったまま)フェードする
何だったか忘れたけどスーファミのRPGでそういうのがあっておぉってなった
なるほど、でもそうなるとシーンで分割する単位じゃないな
別のビューとして並列に動作させるのに近いんじゃないの
キー入力に応じたイベントを発生させたい場合の質問です。
現在では、mapで仮想コードと実際のキーを表すコードのリストを以下のように保持して
仮想コード → リスト{ a, b, ... }
KEY_UP → { w,↑}
KEY_OK → { z, Enter }
(C++風ですと map<int, list<int> > です)
例えば、あるシーンでKEY_UPが押下されていたらキャラクタを上方向に移動させたい場合、
GetInputState(KEY_UP, IS_PUSH);
というメソッドを呼び出すと、仮想キーであるKEY_UPに登録されている実際のキーのリスト{w,↑}の要素を
順次判定して結果が返ってくるので、それが真だった場合に上方向に移動するイベントを発生させます。
しかし、このやり方では発生の判定をするイベントが多かったり、順次判定するキーリストの要素が多い場合に
「何も操作しない」状態に処理が極端に重くなるという結果になってしまいました。
改善案のアプローチとしては、イベント判定時にキーの状態を取得するのではなく、
先に全てのキー状態を取得してそれに対応して発生するイベントをキューあたりにプッシュしておき、
あとで優先順位に沿って処理をしたり無視したりといったのを考えていますが上手くまとまらないところです。
そこで何か指摘がありましたら良かったらアドバイスお願いしたいです。
EVENT_UP_KEY_UP
EVENT_UP_KEY_DOWN
:
何でキー入力の状態を読むだけで重たくなるのか
>>879 対応関係を逆にしたほうがいいと思う。
データ構造は配列で十分(例)VirtualKeyType keymap[256]
実際のキーコード→仮想コード
w → KEY_UP
↑ → KEY_UP
z → KEY_OK
Enter → KEY_OK
ゲーム開始と同時に fopen でファイルを開いておき、
ゲーム中はそのファイルポインタをシークしたりリードしたりし、
ゲーム終了時にファイルを閉じる、
というのはアリ
884 :
883:2013/04/02(火) 12:48:36.23
>>883 すまん、途中で送信してしまった。
・・・というのはアリ?
つまり、ゲームに必要なアセットやレベルなどのデータを
全て一つのファイルにまとめてCDかHDDに入れておき、
ゲーム中はそのファイルを開きっぱなしにする、
という方針にしようかと思ったんだが
885 :
847:2013/04/02(火) 17:25:39.25
>>847-
>>863 ありがとうございました。ひとまず操作用のクラスを間に用意する方向でがんばって見ます
>>884 別にいいと思う
OpenOffice.orgとかも編集中のファイルは開きっぱなしで排他処理してるし
887 :
883:2013/04/02(火) 20:07:41.03
>>886 昔、ファイル開きっぱなしはケツの穴開きっぱなしと同じだって言われたけど、
そう変なことでもないのか。
ありがとう、安心したよ。
ただしファイルぶっ壊れるリスクはある
普通は2ちゃんで聞いた情報で安心したりしない
889 :
883:2013/04/02(火) 21:52:22.33
>>888 どういう時に、どういう理屈でファイルがぶっ壊れるの?
開いてる間にエラーで強制終了や電源ダウンした時かな
ちなみに、キャラデータとかが入ってる読み取り専用ファイルを
リードオンリーで開くだけなんだけど、それでもぶっ壊れる?
リードオンリーなら壊れることはない
大昔はシステム内で同時に開けるファイル数が10未満という制限があったけど
Win2000/XP以降なら気にしなくてもいいだろう
規模の小さいシステムで手早く作るならアリだと思うよ
ねーよ禿
ファイルオープンは必要最小限にしとけ
Apacheとか見てみろよ
起動してる間はログファイル開きっぱなしだぞ
デフラグを妨げる作業に入るんですな
894 :
883:2013/04/03(水) 19:46:27.44
別に開きっぱでもいいと思うけど、ゲームに関して言えばあまりメリットが無い気がする
テストしながら数値の調整とかがやりにくいような
あとCD上のファイル開いたままディスク取り出しすると
OSのエラーが発生しなかったっけ?
必要ないのにリソース利用し続けるのは、良いこととは思われない。
そういう風に作る方が手っ取り早い、もしくはもう作ってしまって作り直す手間が惜しいという場合に、
まあ、いまどきのマシンならそれでもいいんじゃね?って程度。
当然そういう風になってないと作りたいものが作れない場合は当然アリ。
897 :
883:2013/04/04(木) 07:08:30.93
>>896 リソースってこの場合ファイルポインタ1つだけなんだけど。
無駄になると言っても数十バイトも取らないし。
もしかして、ファイルローダークラスをシングルトンで作って、
ゲーム開始から終了までメモリに常駐するのも、本当は良くない?
このクラスをクラスを使うタイミングは、
ファイルポインタを使うタイミングと完全に一致してるんだけど、
使う時だけクラスのインスタンスを生成して初期化した方が良いの?
> 当然そういう風になってないと作りたいものが作れない場合は当然アリ。
作れない訳では無い。
ただ、別のエリアに行くたびにファイルを開いてロードして閉じるよりも、
最初にひとつだけ開いておいて、そこからロードした方がスマートだと思ったから。
メモリに読み込んでしまえば、プレイ中にデータを弄り
デバッグ用のリロード操作(もしくは、ゲーム中にエリア移動が簡単に行えるならエリア移動操作)
をするだけで、ゲームをいちいち終了させずにテストが行える
これが出来るのは外部ファイルのメリットのひとつだと思う
データがバカみたいにデカイならアリかも知れんが…
>>897 エリア内でも読み込みが逐次発生して、シーク位置が連続しているような場合は開きっぱの方がいいかもしれないけど
別のエリアに行くたびにシーク位置を先頭に戻すようだとファイルを開き直してるのと大差無いと思うが
個人で作るのなら能力的に
そんなに大きなファイルサイズにならないのだろうから、
最初にメモリに全部ロードしてしまえばよいかと。
ゲームでファイル開きっぱとか考えたこともなかった
902 :
883:2013/04/04(木) 22:56:54.11
>>898 ごめん、俺バカだから言いたいことがよくわからん。
俺の方法もデータを外部ファイルからメモリに読み込むんだが・・・
外部ファイル以外の選択肢ってなに?
>>899 ん? シーク位置は前回アクセスした最後の位置のままで、
いちいちファイル先頭に戻すなんてことはしないよ。
>>900 それもあり。
ファイルローダーの仕組みはモジュール化してあるから、
今すぐにでもそのように変更できる。
ただ、データを作ってるのは他人なんで、どんなのが上がってくるのか分からん。
小さく収まったら全部メモリに入れてみるよ。
>>901 俺はむしろいちいち閉じる理由が見当たらん。
>>902 > 外部ファイル以外の選択肢
ソースコードに配列とかで直書き。欠点は変更に弱いことだけど
変更の必要が一切無いデータであるのなら、高速かつ柔軟だよ
多分、「何それ、あり得ない」と思っただろうが
そう思うからには外部ファイルにしたい理由がちゃんとあるハズだよ
904 :
883:2013/04/04(木) 23:32:40.48
>>903 > そう思うからには外部ファイルにしたい理由がちゃんとあるハズだよ
それは、他の開発者がデータを作成しやすくするためだ。
あと、外部ファイルだとリビルドなしでデータを変更できる。
>>898 の話はファイル開きっぱがいいかどうかという話とは別もの?
それとも関連がある?
>>904 ある
開きっ放しなら、他の開発者はその外部ファイルを編集するために
ゲームを一旦終了させる必要があるよね?
何故頑なにオンメモリにしないのか理解に苦しむ
料理作る前に材料揃えないで火をかけたままその都度買い物に行くようなものだ
こいつまじアホ
CPUから遠いところにある記憶装置ほど信用ならないってことが分かってないんだろ。
ただの荒らし目的にしてもクオリティが低すぎる。
これが炎上学習法か・・・
>>908 何でも炎上って言うのはちと違うと思うがな
今回のは単なる偏屈だと思う
910 :
883:2013/04/05(金) 07:10:36.31
>>906 データの全てが上がってきたわけではないから、最終的にどうなるか分からんが、
仕様書を見る限りでは500MB越えそう。
圧縮で500MB切るかどうかという辺りが予想される。
32BitOSで動くことを前提としているから、どんなにメモリを積んでも、
その4分の1のメモリ領域を取ってしまうのはしのびない。
もし300MB前後ぐらいに押さえられたらオンメモリで行くつもり。
>>905 開発中、実際にゲームプレイの中でどう見えるか、どう聞こえるかなどのテストは、
確認用モードでビルドしたゲームでやってる。
レベルデザインは編集用モードでビルドしたゲームでやってる。
開きっぱは本番環境の話。
あれ、デバッグのテキストは常時書き出すよな?
あれってどれよ
常時じゃなくて割り込み時に毎回開閉してる
Winの話?Linux?
915 :
デフォルトの名無しさん:2013/04/05(金) 22:50:14.72
起動時間が長くなってしまうから
スクリプト以外のリソースは必要な時に読み込んでいる
UIが固まらないように読み込みは別スレッド
読み込んだリソースはある程度の容量になるまで
メモリ上にキャッシュして再読み込みを少なくしている
いくらディスクキャッシュがあるとは言っても
画像デコード時とかメモリコピーによるオーバーヘッドは毎回再読み込みをすると避けられない
HDDだと読み込みは一瞬で終わるが
ネット上やDVDなど読み込みの遅くなりやすい場所にリソースを置くなら
バックグラウンドでリソースを読み込むような仕組みも必要になるかもしれない
917 :
デフォルトの名無しさん:2013/04/05(金) 22:55:45.96
>>905 ネットワークドライブに置いてるのかよw
SVNとかGitとかMercurialとか使えよ
>>917 ローカルにコピーしてても、開きっぱで動かすシステムだと
ゲーム起動中の修正がやりにくい
トライアンドエラーするなら再起動やビルドは少ない方がいい
あとなるべく本番と開発は合わせた方がバグを取りやすい
ネットワークドライブを使おうがSVNとかを使おうが
ファイルがロックされていると書き換えできない
開きっぱなしとか何のメリットもないからやめとけ
922 :
883:2013/04/06(土) 00:27:39.51
>>918 データのトライアンドエラーって、
本番環境では決してデータをロードしない状況でもロードして試すよね?
レベル全体をロードするんじゃなく、キャラだけ指し換えて調整したりするよね?
そういうデータのトライアンドエラーって、
本番環境でするよりレベルエディタ上の方が遙かにやりやすいぞ。
レベルエディタなら、そこでキャラのモーションをちょっと修正したりもできる。
本番に合わせた開発環境でそんなことはできんだろ。
>>921 本番環境で開きっぱのデメリットも特にないような気がするが。
レス番を名前にして自己主張する厨がまた自分の意見を通そうと必死になってるスレはここです
開きっぱなしにするって案は微妙だと思う。
例えば開発を続けているうちにそのデータをクラウド上に置きたくなった場合とか。
ブレイヤーのクライアントが逐一そのファイルを読み込む場合、
内容にバグがあってもすぐに修正版で上書きできなくなる。
>>922 本番環境でやれっていうんじゃなくて、本番環境とレベルエディタの
内部処理を出来るだけ共通化しておいた方がいいぞって話
別に毎回オーポンで良いじゃん
本番とか関係なく
何のメリットもないなら何故処理をリリース版とデバッグ版で分ける
the 言葉の端々が穴だらけ
sqliteとかgdbmとか使ってんだったら、必要に応じて頻繁にリクエスト投げたいから開きっぱなしにしたいのはわかる。
画像やBGMなどのリソースは必要なときに開いて読み込めばいいじゃんと思うから、この場合は同意しない。
ケースバイケースとしか言いようが無い。
930 :
883:2013/04/06(土) 11:44:21.55
すまん、話がどうも意図したものと違う方向へ行ってる。
って俺が余計な返し方をしたせいだが・・・
反論せず無視しておけば良かった。
始めに訊きたかったのは、CDかHDDに入っている
アセットなどのデータをひとつにまとめた大きなファイルを
「ゲームプレイ中」に開きっぱにする事はマズいのかどうか、だ。
ただこの一点だけ。
昔から、そういうのはお行儀が悪いとか、
リソースがもったいないとか言われてきたが、
本当にそんな理由なのかどうか。
>意図したものと
>反論せず無視しておけば良かった
自分の考えに賛同する意見しか要らない発言いただきました
本当にクソだな
>昔から、そういうのはお行儀が悪いとか、
>リソースがもったいないとか言われてきたが、
先人達の努力やらなんやらを全否定
本当にクソだな
932 :
883:2013/04/06(土) 11:59:49.26
>>931 だから、俺がクソなのはどうでもいいよ。
まぁ本当にクソなのだろうし。
> 先人達の努力やらなんやらを全否定
違う。
まだ否定していないよ。
むしろ、
>>930 の状況ではそれが否定できるのか、
その状況で否定することに問題(明確なデメリット)があるのか、
を訊いている。
開発版はアーカイブじゃなくて普通のファイルで管理しているのか
まあ普通の事だな
>>930 CDなら簡単にイジェクト出来るから、
開きっぱは避けた方がいい
Irrlichtのソース見てみた
CZipReaderはオープンした状態のファイルをコンストラクタで受け取っている
その後デストラクタで解放する
Irrlichtの場合はアーカイブリーダーを削除するまでファイルは開っぱなしのようだ!
CDはファイルを開いている間イジェクト出来なくなることはない?
ただ単にファイルハンドルが無効になるだけなら問題ない
と思ったが
そのゲームを終了させればファイルが閉じられてイジェクト出来るだろうから良いのかね
>>936-937 イジェクト出来るから問題
最新OSではどうなったか忘れたけど、OS側のエラーがでる
質問んです。
例えば、スキルの説明文中にキャラクターの攻撃力を反映させたい場合には、
書式付文字列のような機構を自分で作らないといけないと思いますが、指針が定まらず困っています。
特に、説明分の文字列を外部ファイルから読み込む場合に
文字列にC言語のprintfのような制御文字を仕込むのはまだ大丈夫なのですが、
その肝心の変数を指定する方法が見えてきません。
プログラムの方で処理するなら幾分ラクになるのにと考え少し調べたところ、
こういうのがやりたかったら普通はスクリプトでやるってことでしょうか?
今までCSVで外部データ渡してたからスクリプトというやり方に全然きづきませんでした
で、質問は何よ。
ここはチラ裏じゃねーんだよ、帰えんな。
>>939 そもそも文字列中に埋め込むのが変な感じがする。
>>939 まあある種のスクリプトと言えるのかもしれないが
その文字列の中に特定の値を埋め込む特殊な表記を作って
表示する際に置換するようにすればいい
文字列内に登場する #攻撃力# は攻撃力で置換する・・・とか
回答ありがとうございます
>>943 やはりある程度固定で決めておかないと厳しいですよね。
もっと項目を絞りやすくするためにゲームの仕様を固めてみます
945 :
883:2013/04/08(月) 20:44:42.75
えーと、ログを振り返ってみて、ざっくり要約すると
開きっぱはよくろしくない、あるいは
メリットはあまり無いという意見の人の根拠は、
プレイ中にデータを書き換えられない --> テストしにくい
ということですね。
開発中のテストビルドも本番ビルドと同じアクセス方法で作ることが前提で、
そのため、開きっぱによる問題が出てくる。
あと、CD がイジェクトされたらどーすんの、と。
で、開きっぱでも別にいいんじゃね、という人もいたが、
なんというか、あまり明確なメリットは出てこないね・・・
明確なデメリットも特に出てないけど。
(強いて言えばCDのイジェクトの問題か)
総合すると、本番環境で開きっぱにするメリット・デメリットは特にない。
が、デバッグ環境と可能な限り条件を揃えるべきという理由のため、
自動的に本番環境での開きっぱの是非は議論にならない、と言える。
皆さんの貴重なアドバイスに逆らう理由は特にないので、
開きっぱにすべきではないという意見に従うことにします。
ただ、理由もなく、開いたファイルは必ず閉じるようにと教えている
入門書やその他ガイドラインの著者は即刻この世から退去願いたい。
この世に留まりたいのなら、理由を初心者に分かるように丁寧に説明してほしい。
こういうところで天下り的なの良くないと思う。
自分で書式決めてパースするだけだと思うんだけど何を悩んでるのかわからん
>>946 ゆとり世代は教科書通りにしか歩けないらしくて
人の意見を聞かないと踏み出せないって聞いた
おいXNAたんが死亡したんだが、次の主力はsharpdxになるのか?
>>948 ん?普通にWPFで描けばいいんでないの?
WPFでゲームとは
WPFが重すぎで糞なのは
WPFで作られたVS2010が証明している
XNAが死亡?
くっくっく
シェーダ2.0必須にして俺様に使わせなかったバチが当たったのだ
C++/CLI にめっちゃ感動したんだけど何コレC#やれってことか
C#殺れってこと
こんなの見つけたんだけど低解像度のテクスチャをその場で生成するって普通なのかね
確かに配布するデータは少なくて済むけど
↓
851:名も無き冒険者 :2013/04/15(月) 03:41:23.26 ID:WuQIp8lE [sage]
>>850 テクスチャじゃない?
ゲームのファイルとしては最高解像度のテクスチャしかもってなくて、
ロードのたびにその最高解像度のテクスチャから低解像度のテクスチャを生成してるとか。
普通かどうかという質問ってたまに来るけど、
どういう意図なのかよー分からん。
採用実績が多いか少ないかってこと?
たとえば今自分がやろうとしていることに適しているのに、
普通じゃなかったらやっぱ止めとこってなるのかな。
実績がある(ない)ならそれなりの理由があるんだろうから
メリットデメリットが知りたいとかそんなんじゃね
全部最高解像度でいいだろ
じゃあメリットデメリットを訊けよ
みんなLODとかやってる?
OLとセックスしたい
OldLady?
Oかわいい女の子L
967 :
デフォルトの名無しさん:2013/04/20(土) 16:27:25.70
OLと社内セックスするゲーム作ろうぜ
車内でも可
乳揺れってアルゴリズム的にそんなに難しくないんだよな
気持ちのいい乳揺れのゲームを一度としてみたことがない。
皮膚の張力と液体の体積を考慮して物理シミュ
二次元に変換して表示
強く激しく触ったら腰をひねって声を出すみたいな
俺がエロゲの新境地を開拓するんだ
強く扱って喘ぐのはマゾだけ
張力と液体シミュは面倒。
つーかそもそも乳房は脂肪とかだし。
簡単なのは体から乳首までの仮想的な棒を想定して、
その棒は体を支点としたボーンにする。
その棒は体の動きや重力の影響を受けて支点を中心にバネのように動き、元の垂直な状態に戻ろうとするようにする。
あとはそのボーンの影響を受けるように乳房をつけて完成。
とりあえず理論はひとつでいいから、まず作ってみろよ
検証はそれからだ
>>972 棒から乳房の各頂点もバネにしないとだめなことはわかってるよな?
>>974 そこまでしなくていいだろ。
乳が重要な意味を持つゲームならそこまでしたほうがいいだろうけど、
アクションゲームでキャラがバシュバシュ動いてたらそれどころじゃない。
バーチャファイターシリーズのボスにデュラルってキャラがいるんだけど、
プレイ中は乳揺れとか見てる場合じゃない。
>>975 まぁ確かにプレイしている人間に限れば、それどころではないわな
好きな画像のおっぱいを揺らせるソフトの動画がニコニコ動画にあったな
ゲームプログラム以前の問題なんですけど・・・質問いいですか?
DirectXSDK(June10)をWindows8にインストールしようと思ったら
エラーが出てインストールできないんですけど、根本的に間違ってます?
自己解決しました
自決しました。
983 :
デフォルトの名無しさん:2013/04/23(火) 00:54:01.32
乳揺れ早く作れよ
デュラルの乳揺れは実際の乳揺れよりきれいすぎる
きれいすぎるというか、内部に液体の入ってる感じ
たぷんたぷんしてる
あれだけきれいな揺れをリアルタイムでシミュレートできるのはすごいけど、おっぱい感という点ではちょっと違う
個人でゲーム作ってると乳揺れまで手が回らない。
長い髪のキャラをそれっぽくするので精一杯。
RPGのアイテム一覧のカーソルって、
1回押してすぐ離すと1個分移動して、
押しっぱなしにすると最初1秒くらい間があってその後高速で移動するじゃん?
あれって1秒以上経ったかどうかとかわざわざif文使って判定して動作させてんの?
>>986 環境によっては最初からそれ用の命令があるかも知れんが
わざわざってほど面倒だったり負荷の掛かるもんでもないと思うぞ?
入力状態の取得を担当する部分にちょっと加えるだけだし
>>986 ボタン押された後、一定時間(遅延時間)経ったら、カーソルを一つ動かす。遅延時間を変更することで移動速度が変更可能
>>986 キーリピートでぐぐれ
ゲーム作る奴なら誰でも実装してるほどメジャーだし簡単
再利用するほどのものでもないから俺もゲーム作るたびに毎回実装した
991 :
986:2013/04/24(水) 15:11:41.74
>>987,
>>989 ありがとう
泥臭いコードになってきてるけどこんなものなのかな
キーリピートに希望を託して調べてみる
面倒ならUI操作だけ同期入力使ってもいいんじゃないの
同期入力って何?
会社とか入ったら同期がいるだろ?
そいつに入力させるだよ。
同期だけに
997 :
デフォルトの名無しさん:2013/04/26(金) 00:02:07.15
笑み
苦味
たらみ
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。