ゲームプログラムなら俺に聞け32at TECH
ゲームプログラムなら俺に聞け32 - 暇つぶし2ch153:デフォルトの名無しさん
15/09/27 18:03:35.33 UYzM99J3.net
日曜日の社畜はいつもイラついてるからしゃーない
もう夕方だし、あと6時間以内には(^o^)ノ < おやすみー
しなきゃだもんな
趣味PGでよかった

154:デフォルトの名無しさん
15/09/27 18:25:00.69 ZiZOrKDK.net
カリカリしてる人はこれでも観て心を落ち着けたほうがいい。
URLリンク(www.youtube.com)

155:デフォルトの名無しさん
15/09/27 18:25:47.81 UYzM99J3.net
グロ

156:デフォルトの名無しさん
15/09/27 18:35:37.62 UYzM99J3.net
そういえば7vs7の某対戦ネトゲやってて気になったんだけど
一回通信切断されて再接続する時に
おそらく現在までの試合進行のリプレイ読み込んでるんだけど通信量みると、5~6分程度の対戦内容で10MBくらいのデータをダウンロードしてる
ネット対戦ゲーだからってリプレイデータがこんなに膨らむ理由ってあるかな?

157:デフォルトの名無しさん
15/09/27 18:43:12.66 tDcA70Zp.net
もしも最初からリプレイを想定してなかったら
後で構成変更が利かなくて悲しいほど無駄なデータ取得が発生する

158:デフォルトの名無しさん
15/09/27 18:54:19.47 ZiZOrKDK.net
>>153
必要最小限のデータならそんなにいかないだろうけど、
例えば何かを構造体で管理してたりして、それを構造体丸ごと送受信してたりとかね。
丸ごと送受信すれば内容丸コピでいいから楽だし、そういう開発する人もいるんじゃないか。
あとは暗号化の可能性もある。
例えば1024ビット暗号化とかやってたら
たった1バイトのデータでも暗号化で1024ビットになるからかなり膨らむ。

159:デフォルトの名無しさん
15/09/27 22:55:15.60 Aie1F5/k.net
>>135
アセンブラでは、ゲームのような、
コンポーネントを主体にしたものは、
ややこしすぎて、プログラミングできないので、
その当時の人は、オブジェクト指向のように、
コンポーネントを作って、再利用していた
普通の手続き型プログラミングでは、
ややこしすぎて、破たんする

160:デフォルトの名無しさん
15/09/27 23:03:34.17 UYzM99J3.net
>>155
なるほど暗号化か
そんなにネトゲ新参なとこのゲームじゃないから
変なコード動いてるとも考えにくかったしそれかもしれない

161:デフォルトの名無しさん
15/09/27 23:30:27.07 rj/GQhX3.net
ゲームが完成しません。
作らなきゃいけない土台が多すぎて、メインのゲーム開発までたどり着けません。

162:デフォルトの名無しさん
15/09/28 00:01:56.30 7GFvCUeK.net
>>158
なら先ずは既成の土台、Unity などの比較的簡単なゲームエンジンを使ってみるとか。

163:デフォルトの名無しさん
15/09/28 01:39:18.66 Sj9rKlsd.net
C++で組んでるからだろ
それ以外の言語でゲ製作躓いてるなら才能なし

164:デフォルトの名無しさん
15/09/28 02:47:52.81 2ZaZoK/Z.net
ゲームを作成しているのですが、壁にぶつかることが多くあります。
みなさんならそんなときどうしますか?

165:Office & Gamers ◆G144Hzgh2.0e
15/09/28 03:02:59.53 dn5KTsLn.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw

166:Office & Gamers ◆G144Hzgh2.0e
15/09/28 08:12:46.73 dn5KTsLn.net
本日の耳より情報♪
(仮)プチコンWiiU版開発中
スレリンク(gamedev板)

167:デフォルトの名無しさん
15/09/28 08:44:44.50 EcqLSpjR.net
俺、馬鹿だし勉強も適当だったし、ゲーム作りたい一身で
プログラムと絵と音楽を勉強そっちのけで、根性だけでやってきた
未だに怪しいコード書いているし、未だによく躓く。
けど、基本諦めることはしないので、作りはじめたものは必ず完成させている。
今はスマホ向けアプリ作っているけど、理屈並べて他者を貶めている人より
稼げているっぽいので、馬鹿だからとか無能だからとかいって諦めるもんじゃないよ。

168:デフォルトの名無しさん
15/09/28 11:23:33.38 VVQ6jZ2F.net
ここは 2ch だぜ?
> 理屈並べて他者を貶めている人より
こんなこと言って精神の健康を保つ必要があるような君には向いてないよ。
それと、
> 未だに怪しいコード書いているし、未だによく躓く。
自覚してるなら救いがある。
怪しいコード書いても構わないし躓いても構わない、と思ってるなら救いはない。
ここはム板だから、「他者を貶め」ないことがどうこうとか諦めるなとかは別の板でやってくれ。
怪しいコードや躓きを解決したいならここで頑張れ。

169:デフォルトの名無しさん
15/09/28 11:36:53.77 JQkCoyat.net
取りあえず>>164のやってることは勉強だと思う

170:Office & Gamers ◆G144Hzgh2.0e
15/09/28 11:53:29.08 dn5KTsLn.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw

171:デフォルトの名無しさん
15/09/28 14:38:17.07 P/dyanlF.net
>>160
でも他に何使うかって言われると難しい
HSP、吉里吉里、ひまわり、99BASIC、DarcBASIC辺りは
常識的に考えて選択肢としてありえないし
C++以外となるとC#辺りになるのかな
リアルで初心者にゲーム作る言語に何学んだらいいか聞かれたときは一応C++と答えてるが・・・

172:デフォルトの名無しさん
15/09/28 22:36:47.08 pdVcHsD8.net
やる気ある奴(残る奴)は、C++独学でやってるだろ
中学高校で覚えて大学専門で教わるころにはもう全部分かってる奴
そういうのではなくちょっとゲームプログラミングしたいだけの層に
適した回答を考えたところでどうせなんも完成しねーよ

173:Office & Gamers ◆G144Hzgh2.0e
15/09/29 01:52:24.01 J4A+IyV6.net
…C++自体は誰にでもできると思うけど、膨大なライブラリーを覚えて使いこなすのは、未経験の
  学生レベルでは無理だろうな。
ゲームプログラマーを目指そうとすれば、ハードウェアの動作原理を修得するのが先。
これが分かっていれば記述の簡単なDarkBASICでも使いこなせる。
ライブラリーを先に覚えると頭の固いダメなプログラマーに陥る。

174:デフォルトの名無しさん
15/09/29 09:19:06.54 2BMWd/g5.net
>リアルで初心者にゲーム作る言語に何学んだらいいか聞かれたときは一応C++と答えてるが・・・
むしろそっちがありえない
将来乗り換える前提でJava or Unity+C#
もしくはつぶしが利かないことを十分納得させた上でHSPにすべき

175:Office & Gamers ◆G144Hzgh2.0e
15/09/29 09:50:03.44 J4A+IyV6.net
Unity連呼バカ召喚成功w

176:デフォルトの名無しさん
15/09/29 10:15:24.03 DQhm2ziO.net
>>171
初心者にも色々タイプあるからね
まあ色々試して自分に合うものを探すのがベターだよ
このスレ見ても意見様々なんだから、他人にどうのこうの押しつけることに無理がある

177:Office & Gamers ◆G144Hzgh2.0e
15/09/29 11:07:41.84 J4A+IyV6.net
C++には個人開発の歴史がないからねw

178:Office & Gamers ◆G144Hzgh2.0e
15/09/29 11:13:29.42 J4A+IyV6.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw

179:デフォルトの名無しさん
15/09/29 11:53:13.24 BWrHtmny.net
このゴミコテは99BASIC&DarkBASICに何かすごい恨みでもあるのかな。
余程99BASIC&DarkBASICが嫌いとみえるが。
99BASIC&DarkBASICなんて選ぶ理由が一つもないゴミだから、
それをうっかり何年かやってしまって時間を無駄にしたことに気付き、
それを逆恨みしてるとかかな。
とりあえず99BASIC&DarkBASICにかなりの恨みがあることは伝わってくる。

180:Office & Gamers ◆G144Hzgh2.0e
15/09/29 12:04:32.93 J4A+IyV6.net
大勝利♪”

181:デフォルトの名無しさん
15/09/29 13:12:09.25 6zokZrV/.net
ゴミ

182:デフォルトの名無しさん
15/09/29 13:28:31.42 BWrHtmny.net
図星だったみたいだな。
99BASIC&DarkBASICに時間費やしたのにあまりにも使えない糞言語だったから逆恨みか。
普段の言動見てればまともな開発環境の選択すらできないレベルだってのは分かる。

183:Office & Gamers ◆G144Hzgh2.0e
15/09/29 15:41:14.76 J4A+IyV6.net
ID変え忘れてるよw

184:デフォルトの名無しさん
15/09/29 16:06:33.04 3zRIyegQ.net
IDを変える必要が無いのに何言ってんだろ

185:Office & Gamers ◆G144Hzgh2.0e
15/09/29 16:09:49.90 J4A+IyV6.net
( ̄∀ ̄)♪

186:Office & Gamers ◆G144Hzgh2.0e
15/09/29 16:14:35.81 J4A+IyV6.net
大学と専門学校で教えてるものはダメだよw
コピペ通報で単位取れなくなっちゃうよw

187:デフォルトの名無しさん
15/09/29 16:32:10.42 BWrHtmny.net
図星なものだから話題反らしに走ったな。
ずっとやってきた99BASIC&DarkBASICが糞だと気付いてしまって悔しかったんだろうな。
悔しさのあまり毎日99BASIC&DarkBASICのネガキャンとか同情するわ。
こいつがわざわざネガキャンしなくても普通の人は99BASIC&DarkBASICが使い物にならないことくらい知ってるのにな。

188:Office & Gamers ◆G144Hzgh2.0e
15/09/29 16:38:04.21 J4A+IyV6.net
IDコロコロで悔しくなってきた!(大爆笑)

189:デフォルトの名無しさん
15/09/29 16:50:59.28 3zRIyegQ.net
なんか知らんけど、みんなにうざがられてるのがわかってないのかな。
普段から荒らしてるから自覚はあると思ってたんだけど。

190:デフォルトの名無しさん
15/09/29 16:56:04.08 BWrHtmny.net
ウザがられてるのは分かってるでしょ。
というかわざとウザがられることをしつつ99BASIC&DarkBASICの宣伝をすれば
99BASIC&DarkBASICの印象が悪くなるから、それが狙いだよ。
そういう趣旨のネガキャン。

191:Office & Gamers ◆G144Hzgh2.0e
15/09/29 16:56:48.50 J4A+IyV6.net
2匹目登場w
複数回線は自作自演の強み(ギャハハ!!wwww”

192:Office & Gamers ◆G144Hzgh2.0e
15/09/29 16:57:35.78 J4A+IyV6.net
>>187
っていう印象操作乙w”

193:デフォルトの名無しさん
15/09/29 17:05:05.75 BWrHtmny.net
印象操作だと思い込みたいなら頑張って思い込めばいいんじゃないかな。
そう書けば評価が変わると本気で思ってるなら幸せ者だ。

194:Office & Gamers ◆G144Hzgh2.0e
15/09/29 17:06:40.23 J4A+IyV6.net
♪\( ̄∀、 ̄)/♪アハハ

195:Office & Gamers ◆G144Hzgh2.0e
15/09/29 17:09:19.58 J4A+IyV6.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw
学校では教えないお楽しみの時間♪d( ̄∀ ̄)ハイ、モシモシ♪

196:デフォルトの名無しさん
15/09/29 17:10:50.93 BWrHtmny.net
よく考えたら印象操作でも何でもないな。
CMでも何でもウザい宣伝をすれば製品そのものの評価が下がるって研究結果は山ほど出てるし、
その状況をわざと作るということは意図的に評価を下げようとしてる可能性が一番高い。

197:Office & Gamers ◆G144Hzgh2.0e
15/09/29 17:27:46.55 J4A+IyV6.net
はい、DarkBASICで画面に 「 アハ♪” 」 をフラッシュさせてみようね♪(アハ♪”
SET DISPLAY MODE 192,48,32: SET WINDOW ON
SET TEXT FONT "MS ゴシック",128: SET TEXT SIZE 24
SYNC RATE 30: SYNC ON
DO
INK RGB(RND(255),RND(255),RND(255)),0
CENTER TEXT 128,16, "アハ♪”"
SYNC
LOOP
もう簡単かとw
えーと、DX初期化とか念仏ぶつぶつ唱えながら書くの何だっけ?…たしか…ry

198:Office & Gamers ◆G144Hzgh2.0e
15/09/29 17:33:12.28 J4A+IyV6.net
「 こんなに簡単なBASICがあったのか! 」…世界中で絶賛中♪(アハ♪”

199:デフォルトの名無しさん
15/09/29 17:42:41.02 BWrHtmny.net
なるほど、これはすごい。
99BASIC&DarkBASIC質問スレッドと個人ブログのブログの区別がつかなくなるほど頭が悪くなるのか。
しかも毎回DirectXの初期化処理を1からタイピングすると思ってるみたいだし、
こういう効率化を考えられない人に最適だな。
そもそも効率化を考えられない人はプログラムに向いてないわけだが。

200:Office & Gamers ◆G144Hzgh2.0e
15/09/29 17:48:49.03 J4A+IyV6.net
旗色の悪い××××の断末魔の時間ですね、はい(ゲラゲラ

201:Office & Gamers ◆G144Hzgh2.0e
15/09/29 18:11:43.15 J4A+IyV6.net
長考中…w”

202:デフォルトの名無しさん
15/09/29 18:12:56.97 BWrHtmny.net
これこそ印象操作。
スレ違いに反論もできず旗色が悪いと言えば何とかなると思ってる辺り哀れ。
内容についての話なれば自分の土俵で戦えると思った?
アテが外れた今どんな気持ち?

203:Office & Gamers ◆G144Hzgh2.0e
15/09/29 18:13:11.27 J4A+IyV6.net
本日の敗北者: ID:BWrHtmny

204:Office & Gamers ◆G144Hzgh2.0e
15/09/29 18:16:18.39 J4A+IyV6.net
学校では教えないお楽しみの時間♪d( ̄∀ ̄)ハイ、モシモシ♪

205:Office & Gamers ◆G144Hzgh2.0e
15/09/29 18:18:11.42 J4A+IyV6.net
>>199
アナタ ハー カミ ヲー シンジマス カー?(ヲッツ♪”

206:デフォルトの名無しさん
15/09/29 18:32:47.98 BWrHtmny.net
勝利宣言が事実上の敗北宣言って典型だな。
99BASIC&DarkBASICのメリットが資産も何もない「白紙からプログラムを書くときに文字表示がちょっと楽」程度しかないという顛末。
かわいそうに。
勝ったと思いたいんだろうよ。
今日の内容は一般の閲覧者が見れば
99BASIC&DarkBASICがいかにつかえない言語であるかということを知るだけだし。
閲覧者の立場に立って考えられないんだろうな。
何とかの遠吠えが心地良い。

207:Office & Gamers ◆G144Hzgh2.0e
15/09/29 18:38:07.65 J4A+IyV6.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw
負け印は永久に。(>>203(笑))

208:デフォルトの名無しさん
15/09/29 19:09:16.58 BWrHtmny.net
負けても尚99BASIC&DarkBASICの宣伝を続けてる辺りやっぱりネガキャン目的なんだろうな。
普通は自分の推してるものが完敗したらいたたまれないからな。
それでも未だ宣伝し続けられるということは宣伝目的ではなくネガキャン目的だから。
むしろどんどん叩いて欲しいくらいの勢いだろう。
勝ち負けがなかったとしても99BASIC&DarkBASICが使い物にならないのが確定したところは面白い。

209:Office & Gamers ◆G144Hzgh2.0e
15/09/29 19:46:49.06 J4A+IyV6.net
学校では教えないゲームプログラミング d(^。^)モシモシ
スレリンク(tech板)

210:デフォルトの名無しさん
15/09/30 00:24:53.51 u3/16ewm.net
コテハン君が残念なのは、荒らそうとしてもプログラムが全くわからないので炎上の火種もうまくつけられないところ
さらにレスの内容や言葉の選び方にもいまいちセンスにかけるところが哀愁を誘う
たいして短くもわかりやすくもないコードを書いて簡単と言い張っても反論とかしにくい
せめてもう少し利点ぽく見えるところをいわないと反応は来ないぞ

211:デフォルトの名無しさん
15/09/30 00:52:03.71 aZYDg1Wh.net
恐らく精神的な問題か何かで他者の観点ってのを持てないのだと推測される
他者の観点に立てないから怒るポイントも分からず炎上させられない、
簡単だと言うサンプルコードも自分が簡単だと感じてるだけで他者が簡単だと感じるコードを書けない
スレ違いの話題を延々と続けて嫌がらせをしても自分の勧めてる言語を使ってもらえると思ってる
他者の観点で考える能力は誰しも3歳前後まではなくて、その付近の年齢を境に獲得していくんだが、
脳や精神に致命的な問題があるとそこが未発達なまま大人になる
//他者の観点で考える能力を3歳前後で獲得するってのに興味がある人は調べてみると面白いと思う
//有名なのはウサギさんが箱に入れた人形をキツネさんが移しかえる実験

212:Office & Gamers ◆G144Hzgh2.0e
15/09/30 01:05:53.02 ID7d89Kp.net
今日はよく眠れるかな…あ、こいつアル中だったな(ゲラゲラ

213:デフォルトの名無しさん
15/09/30 05:29:18.46 ZFzEM6SP.net
ゲーム・アニメ系の作家は、かなり頭おかしいというか
記憶障害かと思うような知能障害レベルのがいてさ
プログラマのほうは基本アスペっぽい人が多い
この二つを混ぜると Office & Gamers ◆G144Hzgh2.0e こんな感じになるのですよ
ゲームプログラマって二つの種類のキチガイに挟まれた職業

214:デフォルトの名無しさん
15/09/30 06:58:28.54 OMJJS0QH.net
ツール多すぎて迷うよ
ゲームプログラマーとかだったらツールを自作するだろうし

215:デフォルトの名無しさん
15/09/30 11:56:22.65 j+1x7wg+.net
むしろツールのが楽しいんだよな

216:Office & Gamers ◆G144Hzgh2.0e
15/09/30 12:03:20.24 ID7d89Kp.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw

217:デフォルトの名無しさん
15/09/30 21:41:01.03 aZYDg1Wh.net
>>212
それあるな
マップエディタとか何らかのエディタ作って、保存は独自形式のみにして、
エクスポートは使う人が好きな形式で出力できるようにDLL追加でできるところまでいくと満足

218:デフォルトの名無しさん
15/09/30 23:31:34.65 QOvaNotd.net
縺ァ縺」縺ヲ縺�縺�

219:デフォルトの名無しさん
15/10/02 03:52:15.61 RWTwwbxU.net
カプコンのMTフレームワークって結局どういうFWなんだろうな
MTFWの記事とか見てると3D処理の話ばっか出てるから3D処理の印象しかない

220:デフォルトの名無しさん
15/10/02 11:09:32.06 iWfhj4yV.net
>>216
マルチスレッドやマルチプラットフォームに対応したゲームエンジンおよび開発ツールってとこだろ

221:デフォルトの名無しさん
15/10/03 21:49:47.55 pAx2zUD4.net
>>214
あと自作スクリプトとか乗っけたりして
延々ゲームが完成しないとかある

222:デフォルトの名無しさん
15/10/04 19:50:18.53 RUTa+wSI.net
タスクシステムを作りましたが、二三分らない点が有ります
まず、複数のタスクで連携して処理をしなければならないような場合、どうすればよいでしょうか
そして最大の疑問なんですが、タスクの処理順番に依存関係が有る場合どうすればよいでしょうか
具体的には、タスクAの処理1→タスクBの処理→タスクAの処理2
という風に処理内容がサンドイッチ的に依存関係が有る場合どうしたら良いんでしょうか?
色々考えて、タスク=ゲームオブジェクト、ではなく
タスク=C#のデリゲートやC++のラムダのような単位、で構成する事も考えましたが
動的に関数呼び出しリストを生成してプライオリティーで並べ替えて実行するのと
普通に関数呼び出しを並べて書くのとの違いが良く分りません

223:デフォルトの名無しさん
15/10/04 22:57:07.74 b+/L5fu2.net
>>219
タスクは処理単位で分けて、タスクをまたぐデータは別で確保じゃないかなぁ
どの処理が時間かかってるか調べたりするのが楽になったりするよ

224:デフォルトの名無しさん
15/10/04 23:08:19.79 RUTa+wSI.net
処理単位で分けるというのは、普通一般には関数の役割じゃないですか
関数やラムダをタスクにしてリストを生成してプライオリティーで並べ替えて前から順番に実行していくのと
実行したい順に関数の呼び出しをソースコードに書いていくのと何が違うのですか?

225:デフォルトの名無しさん
15/10/04 23:18:16.00 RUTa+wSI.net
私が危険に思ったのは
沢山あるであろう関数の呼び出しを片っ端からタスクにしてタスクリストを生成して
実行順をプライオリティーで与えて実行時にソートして前から順番に実行していくスタイルだと
ソースコードをみても実行順が良く分らなくなるんじゃないかと
例えばプライオリティー45のタスクとプライオリティー46のタスクでは
45の方が先に実行されるわけですが
こんな調子のものがソースコードのあちこちに散らばってしまったら
プログラムの流れを追うのが困難ではないかと思ったのですが
まるで行番号みたいでエクセルか何かで別途管理しないとワケワカになりそう
あと、プライオリティー45と46の間にもう一段階欲しくなった時とか困るね
プライオリティーを浮動小数点で管理すればいいのだろうかしら
前途多難です

226:デフォルトの名無しさん
15/10/04 23:35:35.19 41LWd16p.net
>>222
完全に依存関係が明白ならタスクリストではなく、
プライオリティー45のタスク終了時にプライオリティー46のタスクを手動で呼べばいい。

227:デフォルトの名無しさん
15/10/04 23:45:20.26 RUTa+wSI.net
どういったものをタスクで管理すべきで
どういったものを普通の関数呼び出しにすべきなんですか?
ゲームのほとんどの処理は実行順に依存関係があると思うので
こういった処理を普通の関数呼び出しにすると、
殆どがそうなってしまうように思うのですが
一方で依存関係の緩い処理もあるかもですが並列化する気がないのであれば
どの順で実行してもよいということなので寧ろ何の管理もする必要は無いので
それこそタスクシステムの出番がないと思うのですが
一般的にタスクシステムには処理順を決めるプライオリティー値が有ると思うのですが
つまりこれはタスクシステムは処理順を管理するためのものということでは無いのですか?

228:デフォルトの名無しさん
15/10/05 00:17:06.46 vFVbTghW.net
俺のタスクシステムは
フレームごとのアクションを起こすためのトリガー。
フレームごとに必ずやらなければいけないことだけ登録しておけばいい。

229:デフォルトの名無しさん
15/10/05 00:17:37.23 ZGRyV9RB.net
>


230:;>221-222 ソースコード見て実行順が分かりやすい規模なら無理にタスクシステムにしなくていいんじゃないかな? ゲームの状況によって必要な処理って変化すると思うけど、 それらをタスクに分けて切り替えてやればいい あとどの順で実行されてるか、どれくらいの時間かかってるかデバッグ表示を作るといい



231:デフォルトの名無しさん
15/10/05 00:39:23.49 IBdfcwn9.net
>ゲームの状況によって必要な処理って変化すると思うけど、
if文で分岐するか、もしくは共通な処理をまとめて
state1_before();
common();
state1_after();
こんな感じではダメなんですかね?
って構造化プログラミングの基本ですわね
for( auto ptr: effects ){ ptr->task(); }
タスクシステムを使わない場合でもこういうコードで明示的に呼び出すと思うのですが
このときeffectsが空なら何も実行されないんで
自然と状況に応じてタスクの切り替えができると思うのですが
>あとどの順で実行されてるか、どれくらいの時間かかってるかデバッグ表示を作るといい
これってタスクシステム特有の問題?
処理時間はプロファイラを使えば分かるのでは

232:デフォルトの名無しさん
15/10/05 00:57:39.30 ZGRyV9RB.net
>>227
条件文の嵐になって読みにくくなりそうだが…
そっちの方が読みやすいのであればタスクシステムを無理に使う必要はないのでは?
あとプロファイラでリアルタイムに処理時間の表示とかできたっけ?
出来るんならそっちでいいんじゃないかな

233:デフォルトの名無しさん
15/10/05 00:57:49.18 vFVbTghW.net
>>227
何もダメじゃないけど?

234:デフォルトの名無しさん
15/10/05 00:58:10.50 IBdfcwn9.net
ゲームには沢山のオブジェクトが出てくるし、同じクラスのオブジェクトが
複数インスタンス化されたりもするので、どう考えても配列かリストか
なんらかの形で管理しなければならないのは明白なので、これは分かるんです、当然です
こういうデータ構造としてのゲームプログラミング設計はまずあると思います
しかし、これに処理の実行順を管理するタスクシステムを組み込むとなると
どうしてよいかわかりません ゲームオブジェクト=タスクとすると後々問題が出てくることは
ちょっと考えれば直ぐに分かることなのでこの案は無しだと思います
データ構造と制御構造を一緒に考えているからうまくいかないと考えられるので
完全に切り分けて単純に、関数・ラムダ=タスクとすると、今度はタスクのリストを動的に生成して
プライオリティーで並べ替えて前から順番に逐次実行していくという
実に地味な展開になり、あまりメリットを感じません
なぜならリストの前から順番にタスクを逐次実行していく動作は
ソースコードの上から順番にプログラムを逐次実行しているのと本質的にそう変わりない気がするから
こういった二元論ではなく、もっと中途半端な観点で設計をしないと
タスクシステムは成り立たないように思え、とても難しいです

235:デフォルトの名無しさん
15/10/05 01:03:34.84 vFVbTghW.net
オブジェクト指向から始めると幸せになれると思う。
各オブジェクトに関して密な結合をしすぎている感があるから。

236:デフォルトの名無しさん
15/10/05 01:05:38.48 IBdfcwn9.net
>条件文の嵐になって読みにくくなりそうだが…
ある意味ではですよ、
クラスのインスタンスは大概は複数個生成されることがあり得るので
リストか配列かで管理されると思うわけです std::vector<effect*> effects とか
このときエフェクトの処理を実行するにはfor文を使うわけですよね
エフェクトが一つもなければfor文の中は実行されないし、
エフェクトが有れば適切な処理がなされるわけですよね
普通に書いてもそういうプログラムになるので分岐とかはそんなに意識する必要が
ないと思うのでした

237:デフォルトの名無しさん
15/10/05 01:12:53.88 IBdfcwn9.net
>>231
むちゃくちゃオブジェクト指向風にタスクシステムを考えると
いわゆるアクターとか言われているような
ゲームオブジェクト=タスク、といった古典的なものになりますが
これは上手く行きようが無いと思うんです
update呼び出し一回のワンパスですべての処理が終わるとも限りませんし
そうするとupdate2、update3・・・どこまで必要?
これに加えてプライオリティーによる処理順管理もあるので
処理順がマトリックスになって非常に煩雑なことになる
これは完全に破たんした方法なのでよくないと思うんです
こんな方法を考えた人はよほどアレだと思いますね

238:デフォルトの名無しさん
15/10/05 01:27:53.04 ZGRyV9RB.net
難しく考えすぎなんじゃない?
ソースにだらだら書いた方が分かりやすいって規模ならそうした方がいい

239:デフォルトの名無しさん
15/10/05 01:33:48.65 IBdfcwn9.net
つまり、大規模になるとタスクシステムでなければ分りにくい、という事ですか?

240:デフォルトの名無しさん
15/10/05 01:41:45.20 ZGRyV9RB.net
タスクシステム以外にも選択肢はいろいろあると思うけど、
ソースにだらだら書いたのは分かりにくくなるよ

241:デフォルトの名無しさん
15/10/05 10:10:06.67 PWnbmIW0.net
依存関係があるならツリーか何かにしたら良い。
大抵の場合の依存関係はどちらかがもう一方を所有している関係にあるだろうから、所有関係をツリーで表すのは理に適っている。
タスクシステムの利点はオブジェクト指向の多態そのもの。
多態が不要ならタスクシステムも不要。

242:Office & Gamers ◆G144Hzgh2.0e
15/10/05 11:55:35.34 gT+5Wa+A.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw
負け印は永久に。(>>203(笑))

243:デフォルトの名無しさん
15/10/05 12:26:07.50 2RLyGII5.net
C++にツリーないよね。

244:デフォルトの名無しさん
15/10/05 12:30:17.18 IlcRXKJi.net
std::set
つかなければ作ればいいかと

245:デフォルトの名無しさん
15/10/05 12:39:34.81 2RLyGII5.net
なんでsetなんだよ。
子ノードをvectorに格納とかもないと思う。

246:デフォルトの名無しさん
15/10/05 12:44:23.60 2RLyGII5.net
良く考えたらここゲームのスレか。
>>241は取り消し。

247:デフォルトの名無しさん
15/10/05 18:29:08.47 IBdfcwn9.net
>>237
どうしてそう思うのですか?
ゲームオブジェクトが、ただのコンポジションにとどまらず、親子関係を持つのは、
座標なんかのジオメトリーに親子関係を持たせたいからですよね
それは分るのですが、今言っている依存関係はそういったものではなくて、処理順番の依存関係なんですが
だから所有関係がどうこうも関係ないと思うのですが
>タスクシステムの利点はオブジェクト指向の多態そのもの。
タスクシステムを使わなくても、ゲーム以外の一般のアプリも含めて
普通に多態を使っているようですが、そういった方法ではダメなんですか?

248:デフォルトの名無しさん
15/10/06 02:48:34.43 +MMTk5e6.net
突き詰めて考え始めるとゲームが完成する頃にはおじいちゃんになってるぞ
適当なところで妥協するんだ

249:デフォルトの名無しさん
15/10/06 03:07:38.27 fYjaFdQo.net
>>243
無理してタスクシステム使う必要無いぞ
別の方法でも全く問題ない

250:デフォルトの名無しさん
15/10/06 05:41:44.61 fR2Oep+7.net
別々の処理、ABCの実行順序が、
ABC, ACB, AABC
のように、コロコロ変わるのなら、
タスクシステムの方がよい

251:デフォルトの名無しさん
15/10/06 07:30:27.54 xf5ET6YX.net
タスクシステムなんて関数を実行するenumrator渡してぐるぐる回すだけだろ。
好きにやれよ。
こんなんお前が何日も考えてる間に俺なら20分で実装終わるわ

252:デフォルトの名無しさん
15/10/06 13:44:39.89 f7gjBYhW.net
>>243
> それは分るのですが、今言っている依存関係はそういったものではなくて、処理順番の依存関係なんですが
> だから所有関係がどうこうも関係ないと思うのですが
処理の依存関係の具体例が分からないから何とも言えない。今の段階では単に設計がクソなだけに思える。
処理順に依存関係があるなら、その実行順に責任を持つモジュールなりオブジェクトなりを用意したらいい。
ちなみに、
foreach node do update.
foreach node check collision.
foreach node solve events.
のようにイテレーションを分割することで順序性を解決すべきところを登録時オブジェクトの制御でやろうとしてるとしたら間抜けすぎるが違うよね。
> 普通に多態を使っているようですが、そういった方法ではダメなんですか?
タスクシステムという用語は便利でみんな使っているが、共通理解を得られる設計や実装はない。
普通に多態を使うだけでタスクシステムと名乗って構わないが、タスクシステムという名前を使わない方が建設的だ。
便利に多態を使っているなら用語の定義なんてこだわるのは時間の無駄。

253:デフォルトの名無しさん
15/10/06 15:46:41.02 23iFaTdX.net
タスクシステムで5年ぐらい損した

254:デフォルトの名無しさん
15/10/06 21:35:50.37 k9h8FU3j.net
foreach node do update.
foreach node check collision.
foreach node solve events.
↑こうやって場当たり的にメソッドをどんどん増やしていくんですか?
場当たり的にゲームのメインループに手を加えてよいなら
各オブジェクトやインターフェイスのコレクションを列挙してアップデート
っていう普通のアプリなんかに使われているような、ごく普通のプログラミングなんですが
どうしてタスクシステムっていう名前なんですか?

255:デフォルトの名無しさん
15/10/06 21:49:45.31 v1UdlCe9.net
タスクシステムは誰もが普通だと思える程度に優れた手法だということです。
あまりに優れているから誰もが模倣して、そして一般化したのです。

256:デフォルトの名無しさん
15/10/06 21:50:44.11 k9h8FU3j.net
当然コレクションも型や用途に合わせて複数本用意するわけですよね
それで各コレクションに対してループを使って更新していくという
どこにもタスク(処理)の管理の要素がないんですが

257:デフォルトの名無しさん
15/10/06 22:08:59.19 xf5ET6YX.net
タスクには関数を渡すから型などどうでもよい。
なんか多態とか意味不明なことを言ってるのやつがいたが。
型を保持して特定のメソッドを回すのは日課として決まっている時。それ以外の偶発的な処理をタスクに任せる

258:44
15/10/07 12:55:11.95 +M+nAnPF.net
タスクシステムってギャラクシアンで使われた(という噂がある)ぐらい古いものだから
基本概念のことなのかC++で実装したときの話なのか、など立地点を
合わせないと話が合わない

259:デフォルトの名無しさん
15/10/07 17:37:02.71 olmGB7G8.net
>>248のやり方だと
場当たり的にupdate1、update2、update3、って処理順を解決するための
メソッドがどんどん増えていきそうだけど、これに加えてプライオリティー値での実行順の管理も有るから
処理順が二次元の表みたくなってスッキリしなくない?
なんで二種類の方法を組み合わせて管理してるんだって言う
副変速機付きのミッションか!って
逆に>>253のやり方だと、単に関数の呼び出しを動的なリストに持ち直して
逐次実行することで管理しているわけだけど、
動的に管理する意味って有るの?
物事は出来る事ならなるべく静的に管理すべきだと思わない?
どうしても動的な管理が必要な部分だけ的を絞って
被害を最小限に封じ込める形でライブラリ化したほうがよくない?
例えば描画はZソートの関係で処理の順番が入れ替わるけど
描画ライブラリに封じ込めてしまえば使う側は気にしなくても良いよね

260:デフォルトの名無しさん
15/10/07 18:03:50.78 olmGB7G8.net
タスク=関数みたいなもの、っていう立場なタスクシステムだとさ
タスクのリストは呼び出すべき関数のリストって感じになると思うんだけど
その関数のリストって、CPUが逐次実行するわけだから、
ある意味ではプログラム的というか、ちょっとしたVMっぽいよね
どうせなら「gotoタスク」とか「ifタスク」とか作って、
条件が満たされた場合は10個後ろのタスクにジャンプする、とかやってみたら?
高級言語にはif文なんかの制御文が始めから用意されているのに
それを使わずにタスクのリストで制御構造付きのプログラムを表現するのwww不毛www
でも結局はそういうことなんじゃないのかね

261:デフォルトの名無しさん
15/10/07 22:52:44.18 K9vCPUNu.net
>>255
全部そういう形式にしろとは言ってないし、パフォーマンスに関わる描画がなんか当然静的にしておいた方がいい。
つまり、好きにしろと言うことです。

262:uy ◆revRDn.iQs
15/10/08 12:12:36.62 vEe59M97.net
タスクシステムに実行順序?
は? え? は?
タスクD 3
タスクA 1
タスクB Last
タスクC 2

タスクE { タスクA,C,D }
タスクB

263:デフォルトの名無しさん
15/10/08 13:08:40.26 vEe59M97.net
結局タスクをツリー管理してないから意味不明なところで躓く
ツリーにしとけばこの手の問題はまとめて解決

264:デフォルトの名無しさん
15/10/08 13:33:30.63 vEe59M97.net
このスレやたらC++に拘るけどタスクシステムをスクリプト言語で書く事が
速度のボトルネックになるんですか?
しかも今どき4コアあるんだから速度足りないならマルチスレッド活用したら良いじゃん
本当にお前らは4コア活用した上でさらに速度欲しくてC++なの?

265:デフォルトの名無しさん
15/10/08 13:37:19.25 APM/wiII.net
> ↑こうやって場当たり的にメソッドをどんどん増やしていくんですか?
場当たり的?
衝突がなかった場合の移動処理を行ってから、コリジョン判定を行って、その結果のイベントを処理する、という順序を明確にするのは基本設計の部類だろう。
そういう順序依存についてはそうやればいいし、ボスが生きている間だけ存在するエフェクトがボスの移動成分などを見るような場合はツリーにして所有者が責任を持つ形にしたらよい。
順序依存で問題が出る具体的なケースを出せよ。
お前の問題を出せ。
どうせお前が間抜けなだけだろうがな。
> どうしてタスクシステムっていう名前なんですか?
用語の定義なんてどうでもいい。
何の役にも立たない昔話が聞きたいなら教えてやる。

266:デフォルトの名無しさん
15/10/08 14:10:18.58 vEe59M97.net
親タスクの子タスクとして作って
深さ優先探索で処理してくようにしとけば
それで順序作れてる

267:デフォルトの名無しさん
15/10/08 15:42:45.38 ry26LUSI.net
まあ考えるの楽しいよね

268:デフォルトの名無しさん
15/10/08 17:53:53.79 jZEKLa+0.net
>>261
でも結局は超省略してかくと
for( auto t : tasks ){ t->update1(); }
for( auto t : tasks ){ t->update2(); }
for( auto t : tasks ){ t->update3(); }
・・・
って事でしょ updateにはもうちょっと機能的な名前がついているかもしれないけど
で、フレームワークみたく、メインループを肯定するわけでもなく
場当たり的にゲームに合わせて適当に改造するんでしょ
どうせメインループ固定縛りをしないんだったら、こんな枠そもそも要らなくね?
>ボスが生きている間だけ存在するエフェクトがボスの移動成分などを
>見るような場合はツリーにして所有者が責任を持つ形にしたらよい。
これは意味分らんよね 整理整頓がなってない
所有権はオブジェクトの寿命に関連付いてるのが普通で、処理順の依存とは分けて考えたいね

269:デフォルトの名無しさん
15/10/08 20:30:17.88 viTJSHop.net
関数を変数として扱えるJavaScriptなら
こう書ける
コールバック地獄を解消するPromiseパターン
URLリンク(qiita.com)

270:デフォルトの名無しさん
15/10/09 00:00:20.35 m6l+7vgz.net
ゲームなんか60FPSとかで周期実行してるんだから
ポーリングでいいんだよポーリングで
非同期で関数をコールバックさせたりする必要性無し
ステータスをポーリングすりゃいい
シンプルが一番

271:Office & Gamers ◆G144Hzgh2.0e
15/10/09 04:43:17.31 Ivu8fb1k.net
99BASIC&DarkBASICド安定時代。(アハ
>>78-84まで読み返してみようw
負け印は永久に。(>>203(笑))

272:デフォルトの名無しさん
15/10/09 07:25:02.38 mhM1aSp5.net
負けた奴が勝った奴に負けレッテル貼ってるのを見ると朝鮮人を思い出すな
事実と正反対のことでも言い続ければ通ると思ってる辺りチョンの思考回路そのもの

273:デフォルトの名無しさん
15/10/09 09:00:21.40 c3zPEaRS.net
絡むなって
荒らしは基本スルーで

274:デフォルトの名無しさん
15/10/09 10:23:24.01 DN0emzyh.net
タスクシステムって複数人での開発を想定しないと優位性が見えてこない気がする
それもバージョン管理とか無しで

275:デフォルトの名無しさん
15/10/09 11:29:23.00 g7Yw+7KT.net
タスクシステムって状態を保存できたり

276:Office & Gamers ◆G144Hzgh2.0e
15/10/09 12:49:36.23 Ivu8fb1k.net
>>203(笑))

277:デフォルトの名無しさん
15/10/09 14:02:01.40 IQeoxHql.net
タスクシステムで順序の依存関係で困る具体的な問題は存在しなかったということでよかろうか。

278:Office & Gamers ◆G144Hzgh2.0e
15/10/09 19:22:36.03 Ivu8fb1k.net
シグナルとセマフォ分かってんのか?w

279:uy ◆EAQ94PCRPw
15/10/09 21:12:03.94 a6l66mp2.net
ずっと昔にタスクで動いてるオブジェクトが
さらにオブジェクトを生成するタイミングで
順序依存が発生したけど
それはほんの一瞬の出来事で、すぐにコードを最適化して順序関係なくした
そこで止まってるレベルの話
実行順序が必要ならセマフォでも何でもいいけど
何らかの状態が変異するまでオブジェクト作った後も処理の待ち受けしていれば良いから
基本的には順序なんて関係ない
俺様フレームワークでは深さ優先探索のツリータスクが動いてるから
オブジェクトがオブジェクトを生成した場合はフレームが一周する前に即そのオブジェクトの処理が行われる
これを回避する為に、オブジェクトがオブジェクトを生成する"予約"というロジックを作り
今廻ってるフレームの一番最後にその処理を行う仕組みは保有されている
ただこれを使うのはモンキーパッチレベルの後先考えないコードの時だけなんで
基本は順序を意識しないプログラミングが俺様フレームワークでは推奨されている

280:Office & Gamers ◆G144Hzgh2.0e
15/10/10 12:45:56.69 2iDQGRsE.net
分かってないなw

281:デフォルトの名無しさん
15/10/10 20:57:51.54 wylVu18O.net
キュー入れて動かすような仕組み


282:作れば タスクシステム自体に順序決定するようなロジック混ぜなくても 実行待機とかは出来る はいわろ終わり



283:デフォルトの名無しさん
15/10/10 21:39:40.60 wZWPBuKi.net
どうしてキューにいったん入れる必要性があるんですか?
普通に
update1();
update2();
と並べて書いておけば、実行順は保障されますよ
しかもソースコードを見るだけで呼び出し順番が明確に分るし

284:デフォルトの名無しさん
15/10/10 22:06:18.91 S/u4hkZt.net
新しいupdate増えるたびに複数人で同じソース触ることになったり
時間計測などデバッグ機能もそれぞれに入れなきゃいけなかったり…

285:デフォルトの名無しさん
15/10/10 22:10:02.16 wZWPBuKi.net
>新しいupdate増えるたびに複数人で同じソース触ることになったり
それが管理というものでは?

286:デフォルトの名無しさん
15/10/10 22:12:10.77 S/u4hkZt.net
管理が面倒になるって話ね
今はその面倒な部分はソフトがやってくれるけど、それでも積極的に同時編集しようとは思わないけど

287:デフォルトの名無しさん
15/10/10 23:22:41.43 /CcLyhWy.net
マルチスレッド

288:デフォルトの名無しさん
15/10/11 10:59:02.63 VUX4VOf2.net
for文を並列化すれば解決

289:デフォルトの名無しさん
15/10/12 11:49:33.37 j9MpNgGM.net
ある場所に1秒かけて移動してから
攻撃モーション
みたいなのがスマートに出来ない。
あとそんな事のためにスレッド使うとか論外
競合を起こさないようにするのに神経使うし
しょうもない事にスレッドを使うと性能が劣化する

290:デフォルトの名無しさん
15/10/12 11:59:37.70 DSHcQooM.net
だれもそんな物のためにスレッドを使うと主張している人は居ないと思うが
脳内で喧嘩しているの?

291:デフォルトの名無しさん
15/10/12 12:17:01.78 j9MpNgGM.net
>>285
>>282

292:デフォルトの名無しさん
15/10/12 12:51:35.74 T+LPxSwN.net
>>284
それを今どうやっているのかを説明した方がよいと思います。
そうすれば、それよりスマートさで劣ると思われる方法しか思いつかない人が、
自身の案を披露して恥をかくことも無いでしょうし、議論がよりスマートになります。

293:デフォルトの名無しさん
15/10/12 13:36:54.11 MLQvCbgC.net
別にコルーチンの代わりにスレッド使ったって構わないよ。キャンセルのことを考えなければきれいに書けるよ。
性能?そんなことすらスマートにできない低能が気にすることじゃねーよ。
競合?そのレベルの奴はシングルスレッドのタスク間だって競合おこしてるだろ。
つーかそんなのスクリプトでやる範囲であって、スマートもクソもあるか。

294:デフォルトの名無しさん
15/10/12 16:29:54.73 5mz5YVLA.net
ほら、こういうのが湧くだろ。

295:デフォルトの名無しさん
15/10/12 19:33:08.84 DSHcQooM.net
>>286
別にマルチスレッドを君が>>284で書いているような事に使うとは誰も言ってないんじゃないの?
コルーチンの代わりにマルチスレッドを使うとは誰も言ってないんじゃないの?
君の妄想なんじゃないの?

296:デフォルトの名無しさん
15/10/13 01:22:25.52 oWNbGZiL.net
C++の例外を使わない理由って何ですか?

297:デフォルトの名無しさん
15/10/13 12:13:43.33 rBIejIYx.net
>>291
急に別の場所に飛ぶから
new等で確保したリソースの解放漏れがよく起きるとか
Android NDKでは例外サポートがあると少しサイズが増える

298:291
15/10/14 13:33:01.39 50q6rhZA.net
>>292
ありがとうございます。

299:デフォルトの名無しさん
15/10/14 19:30:52.63 6Kq6UyDK.net
>>290
> 別にマルチスレッドを君が>>284で書いているような事に使うとは誰も言ってないんじゃないの?
大丈夫か?
言ってないから、使ってもいいと書いたんだろ?
> コルーチンの代わりにマルチスレッドを使うとは誰も言ってないんじゃないの?
大丈夫か?
使うと思ってたら使ってもいいとか書かないだろ?
> 君の妄想なんじゃないの?
それで君の精神の健康が保てるならそれでいいよ。
一秒かけて移動してから攻撃モーションだろ?
コルーチンならきれいに書けるだろ。284もそれはわかっててスレッドは論外、って言ったんだろ。
普通はキューやスクリプトでやるところだが、スレッドをコルーチンのように動作するように実装してもいい。
のどこが妄想なのかね。
>>291
例外を使わない人が多いのは、業界的にまだノウハウが十分にないから。
現状では、例外安全なプログラムを隅々まで徹底する面倒が、メリットを上回らない。
>292 のリソース漏れは例外安全でないプログラムの具体例。
C++の例外は、レギュラーケースとイレギュラーケースをそれぞれ明示できるし、それぞれをまとめて書くことができる。
素晴らしい機能だが、大域脱出以外の用途はまだこなれているとは言い難い。
サイズが増えるのはその通り。
ついでに、try 節の出入りでジャンプテーブルのメンテで少し処理速度を食う。
今時そんなのを気にする環境は少ないとは思うけど。

300:デフォルトの名無しさん
15/10/14 20:32:14.16 oRHV6ndY.net
だから、誰もマルチスレッドをコルーチンの代わりに使うとは言ってないんじゃないの?
>>282は単に「マルチスレッド」ってつぶやいているだけじゃないですか
どうして急に>>284みたいな話が出てくるの?君の勝手な妄想じゃないの?
たとえば、
コルーチンは言ってしまえばスタックとレジスタを退避したものに過ぎないので
コルーチン自体をどのスレッドで実行するかは、呼び出し側の自由だ
だからコルーチンを4つ位の複数のスレッドで、入れ替わり立ち代り並列実行する事は可能
あくまで例えばの話だけど、その意味で「マルチスレッド」と書き込まれていたのだとしたら
別にコルーチンとマルチスレッドは競合するわけでもないし >>284はファビョってるだけってことになる
それともコルーチンとか全く関係なく、単にタスクをマルチスレッドで並列実行したいってだけの話かもしれないし、
その可能性が高いわけだが、その場合も >>284は ファビョってるだけってことになる
>あとそんな事のためにスレッド使うとか論外
って書いてるけど、「そんな事」は君の妄想でしかなく、元のレスには何も書かれていない

301:デフォルトの名無しさん
15/10/14 20:49:16.61 oRHV6ndY.net
単に「マルチスレッド」とだけボソッと書き込まれただけなのに(>>282)
それに対する返しが>>284っておかしいだろ
>そんな事のためにスレッド使うとか論外
と書かれているが、「そんな事」を勝手に想定して決め付けているが
元のスレはあくまで>>282で、何に使うとも書かれてないのに
勝手に何に使うか決め付けて、「そんなことのために使うとか論外」とか言うのって
意味分からないんだわ
>>284にはアンカーが無いから、どの発言に対する返答なのか分からなかったから
「誰もそんなことかいてないのでは?」と返したら>>286が帰ってきたので
それで>>284>>282に対する返答だということが判明したので
>>290を返したわけだが

302:デフォルトの名無しさん
15/10/14 23:17:43.54 kP0Tau7M.net
向こうのサーバーにデータが保存されるスマホゲームでも、
ユーザー名とかパスワードとか設定する画面がなくて、
インストールするだけでいきなり始められるやつが多いじゃないですか。
あれってどうやってユーザーを識別してるのでしょうか。
初回起動時に自動でセッションIDみたいなものを生成して、以後はそれを使ってサーバーにアクセスしてるのでしょうか。
もし主流となっているやり方を知ってる方がおられたらご教示ください。

303:Office & Gamers ◆G144Hzgh2.0e
15/10/15 04:38:35.16 Jccv1z2n.net
電話番号読み出して固有IDにしてるんじゃないかなw

304:デフォルトの名無しさん
15/10/15 05:57:12.26 mFol4PYI.net
iOS/Androidで端末を識別するIDまとめ
URLリンク(iridge.jp)

iOSでの端末固有識別子の話。
URLリンク(quesera2.hatenablog.jp)

305:297
15/10/15 12:43:40.47 M0AzxYXX.net
>>299
ありがとうございます。
貼っていただいたリンクを読んでみたところ、IDFVが一番良いように見えました。
ただ、異なるベンダー間で同じ端末かどうかを識別する前提で書かれていましたので、
特にそういった目的を持たない場合は初回起動時に自分でIDを生成してもよいのかなと思いました。
ありがとうございました。

306:デフォルトの名無しさん
15/10/15 19:45:25.53 J9V5fg8t.net
>278
そこじゃねえ
順序が必要な"特殊なタスク"の話な
生成した後のタスクに対してキューを入れるって事だ
そのキューっていうのはメッセージプロシージャのイベントドリブンのメッセージキューと同じ
だから生成順序は気にせずに生成して、的確なタイミングで処理を実行するまでは待機モード

307:デフォルトの名無しさん
15/10/15 19:49:57.61 J9V5fg8t.net
function taskA() {
 switch $MESSAGE[:taskA].shift() {
  case :メッセージ1 then function1()
  case :メッセージ2 then function2()
  case :メッセージ3 then function3()
  else default()
 }
}

308:デフォルトの名無しさん
15/10/15 20:13:59.75 whFEoHyO.net
>だから生成順序は気にせずに生成して、的確なタイミングで処理を実行するまでは待機モード
auto t = new task(); //生成順は気にせず作成
//的確なタイミングで処理を実行するまでは待機モード
t->func1(); //的確なタイミング、的確な順番で実行
t->func2();
t->func3();
これじゃダメなんですか?

309:デフォルトの名無しさん
15/10/16 02:05:45.13 h7keHbl8.net
>>303
それやるならt1->func(), t2->…じゃね?

310:Office & Gamers ◆G144Hzgh2.0e
15/10/16 02:08:16.77 5hhImPo+.net
つ _beginthread(proc1, 0, (void*)0);
つ _beginthread(proc2, 0, (void*)0);
つ _beginthread(proc3, 0, (void*)0);

311:デフォルトの名無しさん
15/10/16 13:30:47.26 CYEljn+R.net
>>303
理解力の欠片もねーな
順序が必要になるのはタスク同士が相互に干渉し合う場合、
複数のタスクでメソッドで処理順序が行きかうようなコード
処理順序のイメージは↓これ
taskA = new Task
taskB = new Task
taskA->func1()
taskB->func1()
taskA->func2()
taskB->func2()
ただ実際のソースコードはどうなってるかていうと↓
function taskA {
...
self.func1()
...
self.func2()
}
function taskB {
...
self.func1()
...
self.func2()
}
taskAから"taskB->func1"なんて呼び出さないだろ
だからtaskAからtaskBのfunctionを呼び出すタイミングを知らせる為に>>302のキューが必要
これで理解できなかったらプログラミングやめて農家でもやってろ

312:デフォルトの名無しさん
15/10/16 15:14:26.00 IFBmV22h.net
農家なめんな
合理的に設計されたプログラム言語と違って
自然相手だから難しい
ピログラミングすらできない奴に農家は無理

313:デフォルトの名無しさん
15/10/16 15:42:38.34 l04muiBk.net
          ____
       / \  /\ キリッ
.     / (ー)  (ー)\    <「『ピログラミング』すらできない奴に農家は無理」
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー’´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一””””~~``’ー?、   -一”””’ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ   <だっておwww
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)   
| / / /     |r┬-|    | (⌒)/ / / //       
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/      
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー’´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一””””~~``’ー?、   -一”””’ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

314:デフォルトの名無しさん
15/10/16 16:07:57.94 4XmsRPEG.net
pmokyかよ

315:デフォルトの名無しさん
15/10/16 17:27:56.84 TDfNRPC3.net
>>306
>処理順序のイメージは↓これ
>taskA = new Task
>taskB = new Task
>taskA->func1()
>taskB->func1()
>taskA->func2()
>taskB->func2()
処理順のイメージと言っていますが、セミコロンがないことを除けば、これは実際に�


316:ョくC++のコードですね イメージ通りにコードが記述できるのであれば、何よりのことで、それでよいじゃないですか なにより処理の流れが明確で、誰が読んでも何がどの順に処理されるか、誤解しようの無い素晴らしいコードです キューなんかなくても貴方は可読性の高い素晴らしいコードを今まさに書けたということです 他人に説明することをへて、自分自身の考えが整理され、長い思考の迷路を、やっと脱出できたわけです おめでとう!



317:デフォルトの名無しさん
15/10/16 17:32:08.38 TDfNRPC3.net
キューに突っ込んで遅延実行なぞ、やろうと思えば誰でも出来る、下の下
出来てもあえてしないのがオトナというもの
誰も得しないから

318:デフォルトの名無しさん
15/10/16 17:41:42.73 V6wsfDsv.net
ずっと読んでるけど何をもめているのかイマイチわからん
俺はプログラマ向いてないのかね

319:デフォルトの名無しさん
15/10/16 19:07:16.78 zQFx3mzu.net
>>295
> だから、誰もマルチスレッドをコルーチンの代わりに使うとは言ってないんじゃないの?
だから誰も言ってねえって 294 で書いただろ。
>>296
何で 286 と 俺(288) が同じだと思ったんだ? 289 は正しく理解しているようだが。

つーか、ちょっと前に FF VII の ATB はどうやるのかとか言ってた質問の仕方を知らない礼儀知らずの素人が、妄想のタスクシステムを dis ったり 284 を書いたりしてるんじゃねーの?

320:デフォルトの名無しさん
15/10/16 20:05:20.00 TDfNRPC3.net
お前こそ大丈夫か?
>何で >>286 と 俺(>>288) が同じだと思ったんだ? 289 は正しく理解しているようだが。
そりゃおまえ、俺が>>286当てに>>290(俺 ちゃんと>>286へのアンカー付き)を書き込んだら
お前が>>294>>290(俺)へのアンカー付きで返答したからだろ
逆にお前が>>286じゃなくて>>288なら、俺の>>286宛の返信(>>290)に
どうしてお前(>>294)は俺へのアンカー付きで、内容まで引用して、返信してきたんだ?
俺はお前に話しかけてないことになるし、お前を否定も何もしていないことになるのに
何で急に絡んできたんだ?意味不明なんだが
真性アスペか?

321:デフォルトの名無しさん
15/10/16 20:38:26.24 V6wsfDsv.net
お前らプログラマだろ?
もう少し体裁整えて読みやすく書き込めよ

322:デフォルトの名無しさん
15/10/16 20:41:12.59 wirZWZnZ.net
た、体裁・・・

323:デフォルトの名無しさん
15/10/16 20:44:34.19 TDfNRPC3.net
流れを書くと
・「マルチスレッド」とだけ書き込まれる(>>282)
・意味不明の>>284 ( >そんなことの事のためにスレッド使うとか論外 ) が書き込まれる
 「そんな事」を勝手に自分で決め付けて、勝手に批判しているのが意味不明なので
・俺が>>285を書き込む ( >だれもそんな物のためにスレッドを使うと主張している人は居ないと思うが・・・ )
・すると意味不明の>>284から>>286が返される
・やっぱり意味不明なので、意味不明さん(>>286)宛てに、俺が>>290を書き込む
俺の一貫しているところは、>>284(意味不明さん)の「そんな事のために」は何なんだという事
誰も言ってないのに、自分で「そんな事」を勝手に想定して、勝手に否定しているのが意味不明だということ
問題は>>294で、>>294>>284(意味不明さん)とは全くの別人だという
しかし>>294の内容を読んでもらえばわかるが、他人宛の俺の返信を自分宛と勘違いしたかのような内容になっている
彼が>>294で言う「言ってないから、使ってもいいと書いたんだろ?」の「書いた」は自身の書いた>>288 の事らしいが、
俺は彼が>>288を書き込んだ事について、ノーリアクションだったのに、まるで俺が彼が>>288を書き込んだ事を否定したかのように、
「言ってないから、使ってもいいと書いたんだろ?」といちゃもんを付けられても会話が繋がってない以前の問題

324:デフォルトの名無しさん
15/10/16 20:46:14.03 V6wsfDsv.net
単なるプログラマなら問題ないのかもしれん
が、ゲームという範疇からして「魅せる」力が足りなさそうなのが
文面から滲み出ている・・・

325:デフォルトの名無しさん
15/10/16 20:46:41.73 vRj9Qm+Y.net
流れはまったく追っていないが
> ・「マルチスレッド」とだけ書き込まれる(>>282)
> ・意味不明の>>284 ( >そんなことの事のためにスレッド使うとか論外 ) が書き込まれる
>  「そんな事」を勝手に自分で決め付けて、勝手に批判しているのが意味不明
この悲しい暴走列車的展開はインターネッツ初期から
いろんな掲示板で発生している悲劇でもあった
スタート地点から不毛っていう悲しみ

326:デフォルトの名無しさん
15/10/16 20:50:50.23 TDfNRPC3.net
三行で書くと、俺が他人宛に返信した書き込みを、まるで自分への返信であったかのようにファビョって書き込んだ奴がいたということ>>294
彼は、「言ってないから、使ってもいいと書いたんだろ?」と自身が書き込んだ理由を何故か俺宛にアピールしているが、
俺は彼の発言>>288にたいして、何も言ってない

327:デフォルトの名無しさん
15/10/16 21:04:58.54 TDfNRPC3.net
>>319
前半が良く有る流れなのは分かるが、流れがややこしくなったのは>>294のせい
>>294>>288らしいのだが、俺は>>288について何も言ってないのに、要するに彼を相手にしていないのに
いきなり他の人宛への俺の書き込みに対して、まるで自分の宛てであったかのように返信してきた
アンカーを打っていなければ俺のミスだが、ちゃんとアンカーを打っていたので誰宛への書き込みだったかは分かったはず
しかも終いには、「何で 286 と 俺(288) が同じだと思ったんだ?」と煽ってくる始末
自分が俺の>>286宛への返信に、さも自分宛の返信であったかのように返答してきておいて、この返し

328:デフォルトの名無しさん
15/10/16 21:08:18.59 +G3m5iUJ.net
>>310
君がC++しか出来ないチンパンっぽいから
わざわざC++チンパンジーにも理解可能なC++ライクなコードにしてやったんだよ
君はもうプログラミングやめたほうが良いね
センスないね

329:デフォルトの名無しさん
15/10/16 21:21:02.47 +G3m5iUJ.net
大体こういう話題って完成してる奴にとっては早々触れるような根幹設計じゃないのに
未だに悩んでる奴ってゲーム1個も作った事ない学生か何か
一般的なオブジェクト指向やってて最終的に行きつく先はメッセージプロシージャなんだから
黙って作っとけよチノパン

330:デフォルトの名無しさん
15/10/16 22:40:22.90 TDfNRPC3.net
それで、どうしてキューのようなものが必要なんですか?
自身が書いているように
>処理順序のイメージは↓これ
>taskA = new Task
>taskB = new Task
>taskA->func1()
>taskB->func1()
>taskA->func2()
>taskB->func2()
これで良いのでは?
誰が読んでも、とても読みやすいし、まさに理想じゃないですか、ゴールと言えます
ゴールが見えたわけですから、この状態をなるべく維持しつつ、または維持できるように、全体の設計をすればよいのでは?
仮に一部の処理をキューで動的に管理しなければならなくなったのなら、
まぁそういうことも処理内容によっては有るでしょうが、理想の状態から遠ざかってしまうので残念で仕方ないですし
2chで嬉しそうに書き込むことではないと思うのですが・・・

331:324
15/10/17 00:32:37.34 XvNYZLvx.net
当然、纏めるべく所は纏めたりしますし、
多態やコンテナやループと言った武器も使いますよ
しかし、基本は>>324のように処理順が明確で分かりやすいコードが
原点であり終着点と言うことです
手続き型言語は元々そういう風に作られているわけです
その良さをなるべく損なわないように設計すべきで、腕の見せ所ですね

332:Office & Gamers ◆G144Hzgh2.0e
15/10/17 03:07:24.99 pxHuMFMx.net
つ _beginthread(proc1, 0, (void*)0);
つ _beginthread(proc2, 0, (void*)0);
つ _beginthread(proc3, 0, (void*)0);

333:デフォルトの名無しさん
15/10/17 04:20:40.23 PNTEfFZh.net
結局のところそのレスの通りなんだけど、それを実際のコードで具体的にどうするかって話だ。
議論に参加してる人たちは基本的に皆そこを目指してるだろ。
ただ実際のコードでどうやるのが一番いいかって話をしてて、
今日からすぐに使える設計方針!みたいなテンプレート化された状態まで持っていって
共有したいんだよ。
ところで、キューイングなしで>>324みたいな書き方は辛いんじゃないかと言う話だ。
処理だとややこしいから他のものに例えていうなら、描画順みたいなものだ。
深度バッファがない2D時代のゲームを考えてみれば分かりやすい。
この場合、必ずソートして奥から描画�


334:キることになる。 そこで>>324みたいに描画処理の順番を固定して書いてしまうとどうにもならなくなる。 処理も同じ。



335:デフォルトの名無しさん
15/10/17 19:41:25.70 XvNYZLvx.net
>>327
>処理だとややこしいから他のものに例えていうなら、描画順みたいなものだ。
Zソートのようなものは面倒で、
そんなもののせいでメインの処理がグチャグチャになったらいやだから
描画エンジンを作るか、出来合いのもを使うかして、とにかく外部に追い出す
こうすれば、Zソートのように順番が頻繁に入れ替わる鬱陶しい部分に
メインの処理が影響されなくなるし、被害を最小限にとどめることが出来る
機能単位にコンパクトにまとまるので、描画処理自体も分かりやすくなる
他の処理も同じで、順番が入れ替わるようなイレギュラーな処理は、
個別に対応して外部に追いやれば良く、イレギュラーな処理に合わせて全体が引っ張られる必要は無い
そういうイレギュラーな処理の理屈を全体に拡張して有りがたがっているのはまるで子供
本来であれば、処理の順番が動的なことは、プログラマにとって、
嬉しいことではないのに、2chに嬉しそうに書き込むバカさ加減

336:uy = ruby^rb ◆e6.oHu1j.o
15/10/18 11:19:07.96 WvPHJe2x.net
カスはゲ製作だけやろうとしてOS製作やった事ないから
最も良い見本である「OSで使うのタスクシステム」を知らないし組めないから雑魚
OSで使うタスクシステムをまず実装してゲームで使えば機能的に200%くらい満たしてるから
タスクシステムをどう作ったら良いかわかんないレベルの奴はとりあえずOS作っとけばいいのになんでやんないの?バカなの?
本も買わずに2chでレス乞食して必要最低限の労力しかかけずにプログラミングやろうとしてるから永久初心者なんだよゴミカス

337:デフォルトの名無しさん
15/10/18 11:21:11.73 dpFhGQVJ.net
どんだけ人に嫌われたいんだよ

338:デフォルトの名無しさん
15/10/18 12:02:48.95 CiaU0ajC.net
アプリ作る度にOSのカーネルを編集するわけにはいかないから
そのための仕組みがOSには用意されている
マルチプロセスやらプロセス間通信やらウィンドウシステムやらetc
OSをコンパイルしてリリースした後からもアプリがどんどん追加されるので
そういう仕組みにせざるを得ない
一方で、ゲームの場合はゲームのカーネルに相当する
ゲームの「メインループ」を編集することが可能なので、こういった仕組みは必要ない
ゲームをコンパイルしてリリースした後からも機能がどんどん追加されるようなことは無い(MODなどは除く)
機能を追加するたびに再コンパイルをすれば良い話 リリース前なのだからな
OSがああなってるのは、役目上、しかたなくああなっているのであって
同じ立場に無い、通常アプリを作るのに、OS真似をする必要性はまるで無い
何が何のためにそうなっているのか理解せずに必要も無いのに表面だけ真似するバカさ加減

339:デフォルトの名無しさん
15/10/18 12:12:40.32 CiaU0ajC.net
加えてOSの場合は、各アプリが他のアプリと協調して動作すると言うことはあまり無い
大体は適当に自分自分で動いている
一方でゲームの場合はゲームのオブジェクト同士が協調して動作しなければならない
処理の順番も非常に重要になる
OSのプロセススケジューリングのように、適当に決めてよいわけではないし、
順番その物が重要で意味を持っている
このようにOSとゲームでは持っている性質が全然違う
何が何の目的でそうなっているのか良く考え、技術は適切に使う必要が有る
適当に表面だけパクって、適切でない場面に適用しては、逆効果

340:uy ◆e6.oHu1j.o
15/10/19 04:02:26.65 3gr1qLW4.net
このスレの殆どの人は君みたいにタスクシステムすら組めないで躓いてるわけじゃないと思う
これは「話し合い」ではなく、
君が一方的にこのスレから「知識を貰う」だけのなのに
持論振


341:りかざして色んなレスを無視してるから君のスキルは一向に向上しないのだよ



342:Office & Gamers ◆G144Hzgh2.0e
15/10/19 05:51:34.42 t0WBOgSD.net
つ _beginthread();

343:Office & Gamers ◆G144Hzgh2.0e
15/10/19 12:20:24.67 t0WBOgSD.net
マルチスレッドが使えると、メインループから余計なものを外に出せて便利w
プログラムの作り方が楽になるw

344:Office & Gamers ◆G144Hzgh2.0e
15/10/20 17:55:23.42 2gGD4Vj3.net
ごきげんようw
VC++ & DarkGDK & マルチスレッドプログラミング
URLリンク(jbbs.shitaraba.net)

345:デフォルトの名無しさん
15/10/20 20:07:58.18 UXx1dCB0.net
uyよく生きてたな

346:デフォルトの名無しさん
15/10/20 20:09:53.38 j6ekWND7.net
ゲームによくある最初のローディング画面ってお前らどう実装してる?

347:デフォルトの名無しさん
15/10/20 21:01:47.42 whPriXxP.net
>>338
アニメーションは面倒だから固定。
固定だと読み込みの間ゲームループが回らなくても問題ない。

348:デフォルトの名無しさん
15/10/20 21:35:29.58 yIzgiLYV.net
プログレスバー系は別スレッド

349:デフォルトの名無しさん
15/10/20 23:28:47.88 ffVke2Wd.net
>>>333
ゲーム作るのにOSを参考にするバカは黙ってろ

350:Office & Gamers ◆G144Hzgh2.0e
15/10/21 02:23:26.43 tyE1KJUT.net
[MSX大国] VC++2008Expr+DarkGDKでお手軽ゲーム開発 [転載禁止](c)2ch.net
スレリンク(ghard板)
サンプルプログラム(VC++、DarkGDK、マルチスレッド、217KB)
URLリンク(upload.saloon.jp)
…ってな訳で、さっそくDarkGDK付録のサンプルプログラムをマルチスレッド用に改変。
ガジェットのCPUメーターでスレッド毎の動きを見ると分かりやすい。
ダウンロードしたファイルをダブルクリックすると、実行ファイルが出てくるので、迷わずダブルクリックすればよいw
ちなみにまだスレッド調停がうまく行かないので途中で強制的に終わる場合ありw
画面上にデバッグ用の表示が出てくるが、無視してよしw

351:uy ◆e6.oHu1j.o
15/10/21 06:22:05.99 bkabQcdE.net
>>337
ム板にいない間いろいろあったよ
俺に殺人予告出してきた奴を起訴したり
別件で自分が裁判所連れてかれそうになったり(ぼくはわるくない)
20代半ばにしてはいろいろ経験してると思う
今はフリーで生きつつOSSにちょっかい出す、イラストを描く、ピアノをする、園芸、
をして生きています

352:uy ◆e6.oHu1j.o
15/10/21 06:40:37.46 bkabQcdE.net
>>342
URLリンク(www.youtube.com)

353:デフォルトの名無しさん
15/10/21 22:04:59.51 D5rbjCRs.net
JavaFXの自由度の高さに惚れ惚れする

354:デフォルトの名無しさん
15/10/22 08:58:52.04 KLEdlWO7.net
しょうがないにゃあ・・・

355:Office & Gamers ◆G144Hzgh2.0e
15/10/22 11:49:00.37 8yp8/3aU.net
VC++、DarkGDK、マルチスレッドの時代。(アハ

356:デフォルトの名無しさん
15/10/22 14:50:23.82 edFJ8JER.net
それはJavaとは違うのか?
Javaはかなり運と暗記を要求されるからキツい。
何かやろうとして調べて部分的なサンプルコード見つけても、
それを使うために何をimportする必要があるのかを調べるのにその数倍の時間がかかる。
それを調べてもなかなか出てこないから運が絡むレベルだし、暗記しないと次同じことをやろうとしたときにまた同じだけ時間を食う。
Javaはもう10年以上やってるからコーディング自体はプロを越えるレベルなんだが、
やっぱりそういうのを調べるところで時間がめちゃくちゃかかる。
Javaを開発してる人たちはそういうところも何とかすればいいと思うけど、
10年以上改善しないところを見ると本物の馬鹿なんだろうかと思う。
JavaFXがその辺りまともなら移行したい。

357:デフォルトの名無しさん
15/10/22 16:23:44.23 Pb0K3LIr.net
自動インポート対応しているIDE使えばそんな悩み無いのに

358:デフォルトの名無しさん
15/10/22 17:56:59.71 X3Sa92mb.net
>>348
プロを越えるコーディングがどういったものか気になる、詳しく説明してほしい。
できれば、プロならこうだが、それを越える自分はこうする、というような比較形式で。

359:デフォルトの名無しさん
15/10/22 18:05:58.97 CeSwqlxw.net
そこ突っ込んじゃあかんw

360:デフォルトの名無しさん
15/10/22 21:39:10.20 0VXww4cs.net
>>348
運と暗記w

361:デフォルトの名無しさん
15/10/23 01:34:02.06 58Yf5iq6.net
これ全部C++のほうが当てはまるよね。
Javaは(外から持ってくるならなにをimportするか調べなきゃいけない過程は変わらないけど)同パッケージ内ならimportの記述いらないし、暗記量も肥大化したC++のが多い。
Javaの未定義動作関連は知らないが、C++は未定義動作はタイムトラベルを引き起こすから、そういう意味では運がマジで絡む(そんなクソコードは窓から投げ捨てるけど)。

362:デフォルトの名無しさん
15/10/23 03:31:54.40 Rrtmqjxl.net
ここはほんとガラパゴスだな
いつまでC++やらjava触ってんだか・・・・
お前らが作っているものの10割がスクリプト言語の処理速度で間に合うものしかないと思うよ

363:Office & Gamers ◆G144Hzgh2.0e
15/10/23 04:03:36.61 OU8gZV4Y.net
そっそっ♪、そこでCUDAの登場w

364:Office & Gamers ◆G144Hzgh2.0e
15/10/23 04:06:46.76 OU8gZV4Y.net
CUDA 7.5 Downloads
URLリンク(developer.nvidia.com)

365:デフォルトの名無しさん
15/10/23 04:39:40.71 Rrtmqjxl.net
NG

366:Office & Gamers ◆G144Hzgh2.0e
15/10/23 05:00:22.10 OU8gZV4Y.net
忘れちゃいけないインラインアセンブルw
インライン アセンブラー
URLリンク(msdn.microsoft.com)

367:Office & Gamers ◆G144Hzgh2.0e
15/10/23 05:04:20.61 OU8gZV4Y.net
VC++、DarkGDK、マルチスレッド、ASM、CUDAの時代。(アハ

368:デフォルトの名無しさん
15/10/23 10:21:48.87 Y+ldLGQ7.net
>>354
スペルミスを10割拾ってくれるスクリプトをよこせ

369:デフォルトの名無しさん
15/10/23 10:54:50.56 Rrtmqjxl.net
頻繁にスペルミスでバグ混ぜる雑魚はプログラミングやめろよ
そんなの年に1回もないけど

370:デフォルトの名無しさん
15/10/23 12:43:11.90 Y+ldLGQ7.net
自分のソースしか触らない雑魚がプログラミング語るなよ

371:Office & Gamers ◆G144Hzgh2.0e
15/10/23 14:20:20.28 OU8gZV4Y.net
やっぱアセンブラ速いなw
単純ループで7倍以上差が出てるw
なるほどな…w”
       for(int j=0; j<1000000000; j++);
01152989 mov dword ptr [j], 0
01152990 jmp Loop1+1Bh (115299Bh)
01152992 mov eax,dword ptr [j]
01152995 add eax,1
01152998 mov dword ptr [j], eax
0115299B cmp dword ptr [j], 3B9ACA00h
011529A2 jge Loop1+26h (11529A6h) ;ループ外アドレスw
011529A4 jmp Loop1+12h (1152992h)
       __asm {
           MOV   ECX, 0
       LP1:  INC   ECX
           CMP   ECX, 1000000000
           JL    LP1
       }
00E52990 mov  ecx, 0
00E52995 inc   ecx
00E52996 cmp  ecx, 3B9ACA00h
00E5299C jl   LP1 (0E52995h)
始めは結果を疑ってソース見てたけど、逆アセンブルリスト見て納得w

372:Office & Gamers ◆G144Hzgh2.0e
15/10/23 14:27:53.37 OU8gZV4Y.net
コンパイル→逆アセンブルリストチェックでまだまだ最適化は可能だなw

373:デフォルトの名無しさん
15/10/23 15:01:12.02 YcURajHy.net
ループ処理はデクリメントしましょうね

374:Office & Gamers ◆G144Hzgh2.0e
15/10/23 15:59:21.47 OU8gZV4Y.net
同じ処理をしましょうね(ギャハハ

375:Office & Gamers ◆G144Hzgh2.0e
15/10/23 16:19:13.81 OU8gZV4Y.net
VC++、DarkGDK、マルチスレッド、ASM、CUDAの時代。(アハ

376:Office & Gamers ◆G144Hzgh2.0e
15/10/23 19:09:14.41 OU8gZV4Y.net
試しに実数は…ちゃんとコプロセッサ命令使ってたw
メモリ変数になるからなるべく整数型に置き換えたほうがいいかもなw
for(float k=1.23456789f; k<123456789.012f; k+=9.876543210f);
0025299F FLD     dword ptr [__real@3f9e0652 (3C4E5Ch)]
002529A5 FSTP    dword ptr [k]
002529A8 JMP    LP1+23h (2529B6h)
002529AA FLD     dword ptr [k]
002529AD FADD    qword ptr [__real@4023c0ca40000000 (3C4E50h)]
002529B3 FSTP    dword ptr [k]
002529B6 FLD     dword ptr [k]
002529B9 FCOMP  qword ptr [__real@419d6f3460000000 (3C4E40h)]
002529BF FNSTSW  AX
002529C1 TEST    AH, 5
002529C4 JP     LP1+35h (2529C8h)
002529C6 JMP    LP1+17h (2529AAh)

377:デフォルトの名無しさん
15/10/23 19:39:46.75 k/FIqtBz.net
>>354
HSPでは動作が遅すぎてゲームの進行に支障が出るレベルだったものが
C/C++に替えたら爆速になってゲームとして成立するようになったのを今でも忘れない
ラッパー作ってあるからコンパイルが必要な点以外開発速度にあまり差はない

378:Office & Gamers ◆G144Hzgh2.0e
15/10/23 19:51:43.98 OU8gZV4Y.net
インテルのマニュアル見てたらCMOVcc(条件MOV命令)なんて付いてたんだなw

379:Office & Gamers ◆G144Hzgh2.0e
15/10/23 20:04:12.88 OU8gZV4Y.net
CMOVcc r, r/mのみ指定。
使い道次第かw

380:Office & Gamers ◆G144Hzgh2.0e
15/10/23 20:26:34.71 OU8gZV4Y.net
FPUの振り分けと、YMMを使いこなせるかどうか…あ、AVX付いてないCPUはダメかw
当面はFPUの振り分けだなw

381:デフォルトの名無しさん
15/10/23 20:30:09.28 YcURajHy.net
NGにしたんだけど
Jane StyleでNGってどう設定すんの?

382:Office & Gamers ◆G144Hzgh2.0e
15/10/23 20:31:36.61 OU8gZV4Y.net
やっぱアセンブラ面白いなwwww”
AMDerどうなるんだろう?w

383:デフォルトの名無しさん
15/10/23 20:33:02.43 YcURajHy.net
おお、消えた

384:デフォルトの名無しさん
15/10/24 00:10:13.53 /G743cuO.net
>>362
ゴミコードのメンテに日々明け暮れる社畜にはならないでよかったと思う
typoのバグあるようなソースコードは自分のほうには周ってきませんね

385:Office & Gamers ◆G144Hzgh2.0e
15/10/24 00:12:57.55 gD/wAD2L.net
条件MOVの使い道でも考えるとするかw

386:Office & Gamers ◆G144Hzgh2.0e
15/10/24 00:14:27.42 gD/wAD2L.net
VC++、DarkGDK、マルチスレッド、ASM、CUDAの時代。(アハ

387:デフォルトの名無しさん
15/10/24 04:38:55.79 /G743cuO.net
速度問題解消以外でマルチスレッド使って
「ソースコードがわかりやすくなる」事例があるんですか?
プログレスバーにしたって普段使ってるタスクシステムが洗練されているならば
ロードタスクとプログレスバータスクの二つを作ってrunさせとくだけでいい

388:Office & Gamers ◆G144Hzgh2.0e
15/10/24 04:59:35.88 gD/wAD2L.net
>>379
とりあえずおまえには教えないw
金払って専門学校でも大学でも行けw

389:デフォルトの名無しさん
15/10/24 10:33:20.50 OU7qLC86.net
分かりやすくなるわけではないが
ロードタスクの処理が長ければフレーム落ちするから、それを防ぐために
マルチスレッドを使う必要が出てくるんじゃないかな

390:デフォルトの名無しさん
15/10/24 11:12:44.77 jc/5RlIu.net
>>379
毎フレーム update() を呼ぶような作りだと、その中身はステートマシンになるだろう。
状態遷移が単純な場合には、手続き的に書いた方が圧倒的に分かりやすくなる。
例えば囲碁や将棋なら、ゲーム部分は手続き的に書いて、表示部分だけリアルタイムにするだろう。
もちろん、思考ルーチンだけ別スレッドにして、手順管理などのゲーム部分をタスクシステムでやっても構わない。

391:デフォルトの名無しさん
15/10/24 12:18:44.22 lWtQPbiw.net
ロードなんかはマルチスレッドを使ったほうが簡単だろうな
毎フレーム制御を返す方法だと、そもそものディスクアクセス自体を
ノンブロックにしなければならないし、その時点でスレッドを使うより面倒だ
使用するライブラリがノンブロッキングに対応していないかも知れないしな
当然freadはブロックするから使えない 後他、例えば昔で言うところの
D3DXCreateTextureFromFile
は、ブロッキングするから使用できない
自前でReadFileで謎のOVERLAPPED構造体を使った非同期読み込みをして
D3DXCreateTextureFromMemoryに渡してあげるとかしなければならない

392:デフォルトの名無しさん
15/10/24 12:23:13.39 lWtQPbiw.net
ブロッキングでディスクアクセスをするが
一回を細かい単位にして、毎フレーム制御を返すようにしたとしても
どれぐらいロードの処理をしたら制御を返すかというのが難しい
経過時間を計る方法は面倒だし
大体の目分量でするとロードが無駄に長くなるし
良いことないね
スレッドでやったほうが良い

393:デフォルトの名無しさん
15/10/24 12:59:46.51 lWtQPbiw.net
例えば60FPSのゲームであれば16ms程度の持ち時間になるが
ちょうど時間にして16ms程度だけロード処理をして制御を返す
というメカニズムを書くのは面倒だ
ロードキューのようなものを用意しておいて
前から順番にロードをしていき16ms経ちそうになったら制御を返す、とかね
こんなものを作るぐらいだったらスレッドを使ったほうがはるかに簡単だし
時間に無駄がないのでロードが早く終わる

394:デフォルトの名無しさん
15/10/24 13:46:30.86 KcvUuzt9.net
ネットワーク接続処理も同じだね

395:デフォルトの名無しさん
15/10/25 02:34:47.68 IGihUR6P.net
Ajaxは非同期だね
ファイルの読み込みなどの処理を委譲して、
その処理が終わったら、
コールバック関数を呼んでもらう

396:uy ◆QLvratmkOY
15/10/25 03:58:57.15 Pm66QtwE.net
マママママルチスレッドwwwwwwwwwww
Fiberの使い方知らない情弱いる?w

397:デフォルトの名無しさん
15/10/25 09:23:34.71 k5OqwX9E.net
初級者ははしゃいで使いたがり
中級者は痛い目にあって嫌悪し
上級者はよく理解し慎重に検討した上で活用する
もちろん周回遅れは黙ってNGされる

398:Office & Gamers ◆G144Hzgh2.0e
15/10/25 11:56:23.55 WiHIlufW.net
>>389
それって、資格ぐらい取ってから言わなきゃな(大爆笑)

399:デフォルトの名無しさん
15/10/25 16:24:41.92 l/fL5071.net
Fiberなんか使ったところで協調型のマルチスレッドだから意味ない
60FPSの場合16ms以内に自分から制御を返さなければならないことには変わりないからな
16ms以内で制御を返す、というのがなかなかの難関だ
余裕を見て10msで制御を返すようにするとアイドル時間が増えてロード時間が長くなる
スレッドを使うと何も考えずに済む

400:デフォルトの名無しさん
15/10/25 17:58:29.83 vAKl7Lz8.net
>スレッドを使うと何も考えずに済む

401:デフォルトの名無しさん
15/10/25 20:02:52.02 2mE/wCV2.net
スレッドセーフを考えなきゃならなくなるよな

402:デフォルトの名無しさん
15/10/25 22:00:07.94 l/fL5071.net
スレッドセーフっつったって、ロードスレッドはデータのロードしか仕事が無いわけだから
殆ど一人でシコシコ仕事をしているだけで、よそのスレッドとのコミュニケーションは限定的なので
初心者でも十分に扱えるレベルだ

403:デフォルトの名無しさん
15/10/26 07:25:58.19 72bC2L7P.net
ロードだけならそうだ。
というかキューイング読み込みの仕組みを作るのは別の話にした方がいい気がするね。
読み込みキューをタスクなりスレッドなりからポーリングすることになるわけだから、ポーリングする側の比較をするべきだろう。
キューイング読み込みスレッドはサウンドスレッドやムービーデコードスレッドと同様に扱われてしかるべき。
とすると、
> Fiberなんか使ったところで協調型のマルチスレッドだから意味ない
(略)
> 16ms以内で制御を返す、というのがなかなかの難関だ
というのはタスクと変わらない制限だから、ポーリングだけなら問題にならない。
まあ、Fiber なんか使うと移植が面倒だけどね。だから知ったかぶりして嬉しそうに視野の狭い環境依存の名称を出さずにコルーチンとかマイクロスレッドとか呼べばいいのに。

404:デフォルトの名無しさん
15/10/26 08:07:26.33 +K79pdG1.net
>ポーリングする側の比較をするべきだろう。
ポーリングする側はロードが完了したかどうか問い合わせるだけだから
何の問題にもならないので比較対象にもならない
スレッドでやろうが、スレッドを使わずにやろうが、
ロード画面のUpdate内でロードが何%完了したか調べるのには変わりないからな
>タスクと変わらない制限だから
全然違う 普通のタスクは自分の仕事を最速で処理して制御を返すだけ
ロードタスクは16msの持ち時間をなるべく多く使ってロード処理をしなければならない
16msより時間がかかるとコマ落ちする、16msより短いとアイドル時間が出来てロード全体が長くなる
ジャスト16msだけロード処理をしなければならない
しかし、HDDやCDやSSDへの一回のアクセスが何msかかるかは誰にも分らない
ジャスト16msで制御を返すのは難しい スレッドを使ったほうが効率的で簡単
>Fiber なんか
Fiber言い出したのは例の人だから俺は知らん

405:デフォルトの名無しさん
15/10/26 09:31:35.19 NExmEVH8.net
誰かこの基地外なんとかしてくれよ

406:デフォルトの名無しさん
15/10/26 10:18:44.50 EzBhEF+/.net
シンプルなRPGのバトルシーンを作りたいのですが
クラスの設計がよくわかりません
アイテムやスキルを使って一対一のコマンドバトルをしたいと考えた時にどういうクラスを作ってそれぞれのクラスはどのような関数を持ってて各クラスにどうアクセスしていいのか参考になるようなサイト等あれば教えて下さい
ちなみにunityでc#を使っての開発をしています

407:デフォルトの名無しさん
15/10/26 10:56:00.19 +K79pdG1.net
付け加えておくと、スレッドを使わずにロード画面のアニメーションをしつつロード処理をするのは
「16ms調度で制御を返さなければ時間に無駄が出る」以外にも面倒な事がある
これはマイクロスレッドやファイバーやコルーチンと呼ばれているものを使えば解決する問題では有るんだが
使わなければ大変に面倒な事態になる
マップをロードする場合、マップをロードする関数を呼び出すだろうが、大体マップというものは巨大で
沢山のテクスチャを使っていたり、すべてロードし終わるのに時間がかかる
何も考えずにマップをロードする関数を呼び出すと、その関数から制御が帰ってくるのに16ms以上かかってザワールドする
だから、マップをロードする処理を細切れに分解して一回のロード時間を短くして16ms以内に制御を返せるようにする
しかしその場合、スタックフレームに途中状態を保存できないので大変面倒な事になる
この問題はコルーチンを使えば解決するが、コルーチンを使ってもどの道「16ms調度で制御を返さなければ時間に無駄が出る」
問題が有るので結局スレッドを使ったほうが賢い

408:uy ◆f2bXgeqopo
15/10/26 11:56:17.57 PFFVX39o.net
  ┴ァ 
  イヽットワークからデータをダウンロードしてるときのプログレスバーはFiberで実装できるから
 起動時に自鯖を立てるとネットワークとローカルの区別がなくなる
 リスクヘッジ。

スススススレッドwwwww

409:uy ◆f2bXgeqopo
15/10/26 12:07:48.93 PFFVX39o.net
これから実装するって話

410:デフォルトの名無しさん
15/10/26 12:23:56.85 +K79pdG1.net
自鯖そのものが別スレッドで動いているという事実
それをソケット経由で非同期に読み込むあほさ加減
結局ローディング鯖という名のローディングスレッドを作成しているwww
遠回りでパフォーマンスも悪く面倒なだけ
あほの発想
非同期が良いなら、そんなことをしなくても
ReadFileには非同期読み込みのオプションが有る

411:uy ◆LYC4sjPaFs
15/10/26 12:41:25.31 PFFVX39o.net
え?___は?____え?___
「ライブラリがスレッドを使っている」のと
自分で「スレッドを書く」の違い
わからない奴、 いる?

ゲームに限らず一つのアプリケーションが
自分専用のプロトコルを持つ事によって得


412:られる恩恵があると予想しているんですよ ここでは教えません



413:デフォルトの名無しさん
15/10/26 13:14:25.72 +K79pdG1.net
別ライブラリでスレッドを作らせて
それをソケット経由で非同期に読み込むあほさ加減を指摘しているだけ
単に非同期に読み込みたいならReadFileでも出来る
ソケット経由にする意味がまるでない

414:デフォルトの名無しさん
15/10/26 13:25:44.17 PFFVX39o.net
バカには無理

415:デフォルトの名無しさん
15/10/26 13:34:26.70 +K79pdG1.net
URLリンク(msdn.microsoft.com)
>ReadFile
>GetLastError 関数は ERROR_IO_PENDING を返します。
>この結果、呼び出し側プロセスは読み取り操作が完了する前に、他の作業を実行できます。
>その後、読み取り操作が完了すると、OVERLAPPED 構造体で指定したイベントがシグナル状態になります。
ソケットとか自鯖とか、必要なし、始めから無意味
そもそもスレッド使うならOVERLAPPEDも必要ないわけだがな

416:uy ◆z45BCCS4kw
15/10/26 13:37:25.46 PFFVX39o.net
MSDNは環境依存なのでそのリンクはこの話では無意味です

417:uy ◆z45BCCS4kw
15/10/26 13:48:00.76 PFFVX39o.net
uy実装
 protocol://***.***.***.***:8080/データ.dat
 protocol://localhost:8080/データ.dat
お前ら実装
 protocol://***.***.***.***:8080/データ.dat
 C:\\Game\\データ.dat
----

418:デフォルトの名無しさん
15/10/26 14:37:29.08 NExmEVH8.net
基地外は巣に帰れ

419:uy ◆iLfr44WbfQ
15/10/26 15:40:28.42 PFFVX39o.net
>>409
君の仕事は単発レスではなく
さっさとログを流す事だ

420:デフォルトの名無しさん
15/10/26 16:43:19.98 7ZxAN5V0.net
あっ!
基地外のuyだ!
相変わらず書き込みが低脳丸出しだなww
wwwwwwwwwwwwwwwwwwww
地球の酸素吸うなよ、もったいない

421:デフォルトの名無しさん
15/10/26 17:07:31.96 bLXGWx61.net
黙ってNG入れとけ

422:デフォルトの名無しさん
15/10/26 19:03:16.88 PFFVX39o.net
アホは黙ってスレッド使っとけよ

423:デフォルトの名無しさん
15/10/26 20:10:39.36 YhVH3fXs.net
なんつうかもう・・・・・
普通の人たちがコード書いてる部分がメタプログラミングになっていて・・・・
正直もうレベルが違いすぎて・・・・・
世界の科学力がついてきてない・・・

424:Office & Gamers ◆G144Hzgh2.0e
15/10/27 01:03:19.56 6s0uc6wD.net
>>395
>16ms以内で制御を返す、というのがなかなかの難関だ
つーか、高精度タイマー使わないのか?w”

425:デフォルトの名無しさん
15/10/27 03:32:55.12 0T7SOpyo.net
URLリンク(twitter.com)
ここを荒らしてるキチガイ固定ってこのレベルなんだよな
自信満々で何か言ってるけどどこか間違った主張をしてるというか

426:Office & Gamers ◆G144Hzgh2.0e
15/10/27 05:42:45.47 6s0uc6wD.net
ウィルス注意。(アハ

427:デフォルトの名無しさん
15/10/27 07:38:27.35 4uGYTRyn.net
>>396
395 の前半を無視するからそういう理解になる。
「とすると、」と書いたわけだから、前半を無視したら「としない場合」の話になるから君の話で合ってる。
キューイング読み込みの仕組みを作るのが簡便でいいよ。

428:uy ◆c4zp6q4ApA
15/10/27 07:58:58.11 5a4qSPGd.net
昨日はすごかった
かなり長い事これ以上は効率化のしようがないと思ってた部分のコードを簡略化出来た
だから昨日の出来事のすべてに感謝してる
2015年10月26日をuy記念日にするわ
uyの日な

429:デフォルトの名無しさん
15/10/27 21:35:27.54 sS/wkUVJ.net
initialize

430:Office & Gamers ◆G144Hzgh2.0e
15/10/28 06:01:58.83 nMeCTHlT.net
DX11に移る時かなw

431:デフォルトの名無しさん
15/10/28 11:22:11.28 dfvAkVtP.net
というかゲームもjsで書く時代
ブラウザ上でDirectX使える時点で
Winアプリで1からゲーム組む意味ってもうなくね?w
フルスクリーンもキー入力も全部出来る
おまけにトランスレータも豊富で自分の好きな構文の言語選べるしw
jsトランスレータで書いとけばどのOSでも余裕で動くしスマホアプリにもできるよ
FPSガー、スレッドガーって
いつまでそんな事言ってんだって思うwwwwwwww

432:デフォルトの名無しさん
15/10/28 11:47:00.16 HIUeAP8L.net
性能気にしなくてよくて、1から組む必要があって…
そんな限定的な条件ならその通りだね

433:デフォルトの名無しさん
15/10/28 12:09:14.25 9zUX3+we.net
萌え絵のついたカード集めにfpsなんかいらんわ

434:デフォルトの名無しさん
15/10/28 13:01:56.97 WdTv92Vj.net
jsで書いて性能足らないなら
きっとネイティブで書いてても性能足りてない

435:デフォルトの名無しさん
15/10/28 14:37:12.33 MkKQA0so.net
ゲームじゃなく、ゲートプログラムを書いてどこかへ脱出させてくれ…

436:デフォルトの名無しさん
15/10/28 14:52:10.83 6dBtt53C.net
何この糞スレ

437:デフォルトの名無しさん
15/10/28 14:52:59.54 /rIoxQ9D.net
デバッガとIDEが使いやすけりゃどこでもいくよ

438:デフォルトの名無しさん
15/10/28 15:15:29.98 WdTv92Vj.net
じゃあLisp

439:デフォルトの名無しさん
15/10/28 15:53:56.74 EUVQ3J2j.net
425:デフォルトの名無しさん :2015/10/28(水) 13:01:56.97 ID:WdTv92Vj
jsで書いて性能足らないなら
きっとネイティブで書いてても性能足りてない
データも統計もなしでこういう事言い出すとDarkBasic厨みたいに事実上の負けになるぞw

440:デフォルトの名無しさん
15/10/28 16:59:11.30 XcVjNmDS.net
UnityScriptは実行効率でc#と変わらないな
まあ似非JSだけど

441:デフォルトの名無しさん
15/10/28 17:42:25.54 0eVUzk4p.net
結局は中間コードを作り出すコンパイラの性能次第だからね

442:デフォルトの名無しさん
15/10/28 20:24:34.32 WdTv92Vj.net
それ以前にプログラマの問題
JAVAやC++なんかと比べたらjsなら大幅に楽出来るから
ボトルネックになってる場所の速度最適化の工数を含めたってjs使ったほうがずっと楽

443:デフォルトの名無しさん
15/10/28 20:59:17.36 l7gUXc0Z.net
それで問題がないようなゲームなら勝手にしろよ。

444:デフォルトの名無しさん
15/10/28 23:26:53.96 864hEPST.net
>>433
C#ダメかい。Java8よか楽々
jsなんてES6でもだめだめよ。promiseでコールバック地獄から抜け出せるって夢見てるでしょ。react.jsやnode.jsの案件に関わったら分かるけど「コルーチンでよくね?」って思わせるほど総当たりテストに陥りがち
ベストプラクティスがこなれてないんだなと思うんだけどね
銀の弾丸なんぞないってことだね
楽なんかできないよ

445:デフォルトの名無しさん
15/10/29 01:32:39.47 dmkvBav+.net
Haxe(ヘックス)は、JSに型チェックを付けたような言語で、
JS, Flash, PHP, C++, Java, C#, Python に書き出せる

446:デフォルトの名無しさん
15/10/29 10:53:39.94 R4RgirF7.net
ネタにマジレス
言語を使えると使いこなせるの間に差があるから
「使いこなせる」までに至った言語じゃないと大規模なコードは書けないから
「jsを使いこなせる」奴がそもそも少ない上に
それから動的言語で組める奴がさらに少ない

447:デフォルトの名無しさん
15/10/29 17:12:50.19 Z27PGTtL.net
そうだよな。
結局使いこなせる言語で作るのが一番。
それにここはプログラム板だから、好きな言語で作ればいい。
完成ありきで効率最優先なら、ゲームの内容によっては
RPGツクールやデザエモンやマリオメーカーで十分とかそういう話になってしまう。
ここは「マリオみたいなゲームを作りたい?だったらマリオメーカーでもやってろ」みたいなスレじゃないからな。
あくまでもゲームのプログラミングを楽しむスレだな。

448:Office & Gamers ◆G144Hzgh2.0e
15/10/29 17:46:21.81 QupeVEza.net
>>438
別にC++でもJavaScriptでもBASICでもいいけどさ、ライブラリーを使いこなせるかどうかかキーポイントだろうなw
本来DirectXは使いやすい筈だけど、マイクロソフト日本法人が日本語マニュアルの整備を怠ってるから、日本での普及が遅れてるw
こんな馬鹿げた話はないw

449:Office & Gamers ◆G144Hzgh2.0e
15/10/29 17:48:22.70 QupeVEza.net
日本語マニュアルの遅れって言うと、インテル日本法人も同じで、マイクロプロセッサの動作の理解が遅れる原因ともなっているw

450:Office & Gamers ◆G144Hzgh2.0e
15/10/29 22:25:39.48 QupeVEza.net
分かるようになったらVC++しかないってコトになるなw

451:うゆ ◆e6.oHu1j.o
15/10/30 22:08:38.01 37Q7KUOb.net
だいたい実行速度のネックになってるのって
表示してるオブジェクト数の数と当たり判定だろ
後者に関しては頑張れば良いだけなのは理解してるな?
ということで当たり判定処理をボトルネック扱いにはしない

表示できるオブジェクト数の限界がスクリプト言語では少ない事だけが問題
少ないといっても1000個くらいはシングルスレッドで余裕
4コアで4000出せるな

452:デフォルトの名無しさん
15/10/30 23:03:56.36 JduWWFlH.net
当たり判定がネックになるものは多いけど、そればかりじゃないと思うな
AIに付き物の検索処理や最短経路走査、タッチ系パズルゲームの連結走査なんかも悩ましい
個人的に最近依頼が多くて困るのは、パーティクル系のド派手演出を要求される時だな
企画がバカだと完全に頂点数とドローコールがボトルネックに陥ってお手上げ
なのに「FPS60のままでもう10倍ほど火花出せないか」とか無茶言いやがる

453:デフォルトの名無しさん
15/10/30 23:26:55.07 jV4eid+M.net
>>443
知識も経験もない荒らしの相手をするな。
気になるならNG入れとけ。

454:デフォルトの名無しさん
15/10/30 23:28:03.42 k5vGnOwJ.net
事前に動画として作っておいて、
そのシーンになったら、その動画を流せば?

455:デフォルトの名無しさん
15/10/31 02:39:35.80 ItjdRRQ4.net
東京湾か隅田川の花火動画が流れること想像してワロタ

456:Office & Gamers ◆G144Hzgh2.0e
15/10/31 07:30:13.13 irzd8LSv.net
DirectX SDKの日本語マニュアルって検索してみると、作りかけしかなかったなw
たぶん英語圏以外では普及しないだろうなw
…なんか ” 常にハードルが高い ” 状態だなw
やめようぜ、バックレようぜ♪(アハ♪”

457:デフォルトの名無しさん
15/10/31 11:19:44.98 q0Cy/Du3.net
>>445
昔のゲーセンにあったのを思い出すな。
タイムギャルというオールドゲームだが。

458:uy ◆e6.oHu1j.o
15/10/31 16:09:54.88 8LgQ/t81.net
>>444
学歴は?

459:UY ◆e6.oHu1j.o
15/10/31 17:28:55.25 iA+WYhDW.net
>>444
スクリプト言語にあるジレンマは
「静的言語なら力押しでアルゴリズムが稚拙でも実装出来るけれど
速度の遅い言語でゲ制作をしてアルゴリズムの質の良さで速度を何とかしてる場合、
未知なる処理や、面倒な仕様変更が求められた時に、その速度を満たすまでの手間が大きい」って事です
この部分はC++とかでは考慮しなくてもよかったはずの工数です
てか普段の処理から稚拙なコードは混ぜちゃいけないのがスクリプト言語

460:UY ◆e6.oHu1j.o
15/10/31 17:34:08.17 h/fOQC4f.net
>>444
動的言語によるゲ制作は
規模が大きくなると破綻しやすい
プロジェクト開始時の、動的言語の消費エネルギーを100としよう
一方で、静的言語の場合は、開始時に1000です
しかしこれは設計が整い、
ユーティリティが備わってきたプロジェクト中盤以降で逆転する ↓
プロジェクト終盤 動的言語 80
プロジェクト終盤 静的言語 50
静的言語は進むにつれて楽になるけど、動的言語は進んでもあまり楽にはならない

461:UY ◆e6.oHu1j.o
15/10/31 17:41:13.29 xGdNlw9I.net
>>444
それでも何故、自分が動的言語を選ぶかというと、それはひとえに「スキルアップの為」
>プロジェクト終盤 動的言語 80
>プロジェクト終盤 静的言語 50
この「80」と「50」は、中身がまったく違う

[ 動的言語の80とは? ]
 アルゴリズムの最適化
 設計の最適化
 メタプログラミング

[ 静的言語の50とは? ]
 言語の冗長な記述を緩和するDSL等の導入
 タイピングが多い事によるFP(フィンガーポイント)

苦労の種類が違っていて、後者で大したスキルアップは望めない
設計やアルゴリズム等を極限まで最適化する必要がない上に、
静的言語のメタプログラミングなどといってもたかが知れているのです

特にFPの消費はリアル体力の消費、動的言語を使っていなければスキルの向上は遅くなるんです

462:デフォルトの名無しさん
15/10/31 19:18:03.20 +eMHagJM.net
>>452
実際にどんな風に向上したか示してくれんと、よく分からん。
たとえばアルゴリズムの最適化なら、動的言語をやっててどういった技術が身についたの?
レッドコーダーぶちのめせる?

463:デフォルトの名無しさん
15/10/31 22:20:42.80 Yq2ZBfqO.net
静的と動的両方使えばいいと思うけど。

464:デフォルトの名無しさん
15/10/31 23:01:41.49 BTcIKhQE.net
混ぜるならLuaとかいいよね
UIとかセキュリティどうでもいいとこリビルド要らずで済ませられるし

465:uy ◆qFmbSXjE52
15/10/31 23:15:40.88 izwxSAhy.net
>>453
自分の話をするならメタプログラミング
そこが動的言語の核心

466:デフォルトの名無しさん
15/11/01 10:45:46.19 3pImEUHJ.net
これがV8 JavaScript Engine 4.6の速度だ
OORTonline: Chrome 41 vs Chrome 46
URLリンク(youtu.be)
URLリンク(oortonline.gl)
URLリンク(v8project.blogspot.jp)

467:デフォルトの名無しさん
15/11/01 16:58:25.48 tYJ/6Xfh.net
observer
state
collision
あたりをライブラリで実装してれば速度出るよ

468:uy ◆Qawu9.2l1E
15/11/01 18:10:25.42 Sa3F00UC.net
基本的なアルゴリズムをライブラリ作者が実装しないのは甘え

469:uy ◆Qawu9.2l1E
15/11/02 12:22:13.45 YzpIGAAp.net
rubyの再帰遅すぎ
マジで遅いぞこいつ
ゲームループの中で
たかが深さ20程度の再帰すると


処理落ちするwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

470:Office & Gamers ◆G144Hzgh2.0e
15/11/02 12:36:24.06 Ygo8XoOD.net
99BASIC & DarkBASIC ド安定時代。(アハ

471:uy ◆Qawu9.2l1E
15/11/02 13:08:44.85 MPfeNe3M.net
>>461
学歴は?

472:uy ◆Qawu9.2l1E
15/11/02 19:06:00.16 Pq0uxgZZ.net
^^;

473:Office & Gamers ◆G144Hzgh2.0e
15/11/03 02:37:34.51 46jzM/FP.net
VC++ & DarkGDK & マルチスレッドの時代。(アハ

474:デフォルトの名無しさん
15/11/03 02:51:32.90 kRNC2xAS.net
c++ならcocosやれば?
そんな無駄な苦労せんでいいだろ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch