DXライブラリ 総合スレッド その17at GAMEDEV
DXライブラリ 総合スレッド その17 - 暇つぶし2ch202:名前は開発中のものです。
13/11/27 13:36:01.13 qQgB/3Ul
公式のリファレンス、サンプルプログラム、開発講座
外部の館、龍 にはポインタがあるが
3Dアクションサンプルには全くない
まあ、使う場所ないからと言われればそれまでだが
サンプルゲームもないんじゃね?

203:名前は開発中のものです。
13/11/27 14:44:15.61 XOP+D6SA
必要な時に自分で使うならともかく何でもポインタポインタ言い出す奴は大抵俺SUGEEやりたいだけ
管理人がポインタも分からない奴にライブラリ使えないよとか言ってる姿想像できないだろ?

204:名前は開発中のものです。
13/11/27 15:15:58.94 zAoBMTLK
遠吠えがうるさくなってきたな。またあいつが来てるのか?

205:名前は開発中のものです。
13/11/27 16:50:22.02 8GVJd7G8
なんでいきなりモメてんのよ。

206:名前は開発中のものです。
13/11/27 17:18:30.47 eu56pD/q
>>202
> 3Dアクションサンプルには全くない
まあ、使う場所ないからと言われればそれまでだが

お前さんがたまたま見た何かでは、隠蔽されてたんだろうってだけだよそれ。
3Dアクションでは使う場所が無いって、書かれてるようにも読めるので一応言っておく。

207:名前は開発中のものです。
13/11/27 18:21:17.63 EX0zbXqo
世の中には変数すら理解出来ない人も居るんだよ
まあ、このスレには居ないかもしれんが

208:名前は開発中のものです。
13/11/27 19:36:31.87 5CHrKXbV
>>206
公式の3Dアクションサンプルな
ライブラリ自身の隠蔽の徹底さを改めて実感しただけだよ
「使う場所がない」は意訳で「もしかしたらたまたまで意図してないのかもしれないが」ってこと
俺自身はガンガン使ってるよ

209:名前は開発中のものです。
13/11/27 19:48:18.00 VH36xUw0
何気にライブラリの方でメモリを確保する関数があるんだよな
用意する必要があったのかな

210:名前は開発中のものです。
13/11/28 00:13:16.65 CZM1vdUb
思いついたから入れといただけじゃね

211:名前は開発中のものです。
13/11/28 00:56:31.82 al6vnunW
実際、それはあると思う。
乱数関数にしろメモリ確保にしろ、関数呼び出し一回増えるだけの無意味な物は、
多分思い付いて入れただけだと思う。

212:名前は開発中のものです。
13/11/28 20:34:21.10 nlNV6irw
VisualStudio Express 2012 for Windows Desktopってどこにあるん?

URLリンク(www.visualstudio.com)
ここにあるって書いてあるけど見つからない

213:名前は開発中のものです。
13/11/28 21:40:05.68 /ej4maAn
URLリンク(www.microsoft.com)

214:名前は開発中のものです。
13/11/28 22:19:59.72 nlNV6irw
>>213
ありがとう
でもなんで場所変わってるの?

215:名前は開発中のものです。
13/11/28 22:23:38.82 ZMtYjixC
あーいうとこってしょっちゅうサイト構成変えるし、しょうがないよ。

216:名前は開発中のものです。
13/11/28 22:33:08.19 nlNV6irw
そっか、管理人さんも大変だろうな

217:名前は開発中のものです。
13/11/29 12:54:44.59 M+06QoST
影するゲームってディレクショナルライト使わずポイントライトしか使わないよね?
位置動かせるし

218:名前は開発中のものです。
13/11/29 12:59:38.16 QwwoR+b8
日本語でおk

219:名前は開発中のものです。
13/11/29 13:17:21.14 D6s6prz6
俺は静的なゲームだからむしろ逆
よく光源が動くならポイントに統一してもいいんじゃね

220:名前は開発中のものです。
13/11/30 06:49:49.85 RXO2w9O0
3D環境で2Dぽく見せるためにカメラをキャラの上に設置したいけど、どうすればいいですか?

221:名前は開発中のものです。
13/11/30 08:22:37.36 DYnBV2gH
>>220
平行投影にしたいって事?
DXLibだと SetupCamera_Ortho 使うとか

222:名前は開発中のものです。
13/11/30 08:50:59.70 RXO2w9O0
>>221
ありがとうございます!
これでゲーム作成が進みそうです!

223:名前は開発中のものです。
13/11/30 23:30:50.80 HQVhG/Rq
ネトゲってどこで当たり判定してるの?
例えばマリオ64のオンラインゲームを作りたいと思った時、
判定はクライアントでやってサーバーに結果を送信して、
その結果を他のクライアントと多数決取って、それを真として全てのクライアント通知するか
クライアントは位置情報だけ送信してサーバー側が当たり判定して、それを真として全てのクライアント通知するか

224:名前は開発中のものです。
13/12/01 00:34:53.46 7H6WpxaH
前者だと全てのオブジェクトのコリジョン判定を
全てのクライアントが負うことになるから普通に考えりゃわかるわな

225:名前は開発中のものです。
13/12/01 01:31:01.94 7JnASPug
オンラインゲームは全てのプレイヤーのゲーム画面で
同じタイミングで他のプレイヤーの動きの同期を取る必要があるので
サーバー上で時間調整してるんじゃないかな?

サーバーに信号を送って全プレイヤーと同期を取ってから
自分も含めた他のプレイヤーにも信号を送る

226:名前は開発中のものです。
13/12/01 07:43:27.20 JAtajW1z
>>224
負うことになるからなに?
答えてくれたのに悪いんだけど、その理由が聞きたいんだ

サーバーの負荷が軽くなるし他のクライアントでも判断してるため何かのチートの抑止にもつながるだろうし

かわりに多数決する分通信するからサーバーが軽くなるだけで処理に時間かかるかもしれない

メリットとデメリット両方考えられるからどんな背景でそうなったのかなと

227:名前は開発中のものです。
13/12/01 07:54:04.58 JAtajW1z
>>225
多分離れたプレイヤーの画面を全く同じにするのは無理だと思うから、
画面上のラグを覚悟で判定部分だけタイムスタンプで帳尻合わせてるのかな

そういえば、判定をサーバーでやるとしたら、
判定結果自体は受け取る必要がなくてダメージの情報を通知するだけなのかな

そうすると、クライアントの仕事は描画と座標・プレイヤーキャラクターの振る舞いの送受信だけなのかな?
ネトゲの通信量って動画より少ないって聞くし

228:名前は開発中のものです。
13/12/01 08:18:52.07 PKuP29x7
セガのプレゼンの資料で分かりやすいのを前見た記憶があるな
4gamersだったかな

229:名前は開発中のものです。
13/12/01 08:22:22.52 7H6WpxaH
>>226
既にあるものを真似したいだけなんだから、実際に触れてみればわかる
ネトゲプレイしたことあるなら明らかに前者じゃないことはわかるはずだ

何故前者じゃダメなのかってのは、ゲームにおいて(ユーザーから見て)最も大切な部分と
それに実現するための最大のボトルネックを考えることで自然に理解できるんじゃないか

230:名前は開発中のものです。
13/12/01 09:16:00.61 mI3qZrzT
ネトゲっつっても多人数ものだけじゃないんじゃない。

231:名前は開発中のものです。
13/12/01 15:15:04.00 65dD/B/t
>>226
>他クライアントも判断して
多数決? 廃スペが一人他低スペだった場合、すごくストレスだろうね
ユーザが他のユーザを監視って、絶対的監視がいない時点で意味がない
それなら一人にホストさせるかサバ管
普通のネトゲやったことあるなら、チート対策に
「サーバーに異常な数値が送られてきたらその数値は処理しない」ようにできてることがわかると思うが
それが他クライアントが監視する方法より劣ると思う理由はなに?
もちろんリアルタイムチックに見せるために別でクライアントごとに計算させるのはいいと思う

232:名前は開発中のものです。
13/12/01 15:18:19.35 59jdrYzl
>>227
当たり判定どこでやってるかは、ゲーム性とかプラットフォーム(据え置きなのか、PCなのか)とかにかなり左右されるから一概には言えない。
俺が昔やってたFPSだと、大抵ホストが全部やってたと思う。ホストプレイヤーだけ露骨にエイム強くてよく切れたわ。
Fantasy Earth ZeroってTPSのオンゲは、50vs50の戦争がウリだったんだが、サーバー負荷対策のためか攻撃を受ける側のクライアントがヒット判定とってた。
おかげで当たりそうになったら回線絞って回避みたいなチートが流行ってよく切れたわ。

ネトゲの場合、まずレイテンシを考えることが重要。
国内の目安は確か20msくらいだったと思う。
何か通信するたびに、片道で60fps基準で1.2フレーム分の遅延がでるわけだ。
ヒット判定を多数決方式にしようとすると、
プレイヤー:攻撃送信

サーバー:ヒット判定を各クライアントに依頼

各クライアント:ヒット判定投票

サーバー:ヒット確定、結果を各クライアントに送信

クライアント:判定結果受信

↓1回につき20msかかるわけだから、プレイヤーが攻撃してから判定結果を受け取るまでに最速80ms。
実に4.8フレームかかる。
実際はクソな回線一杯あるだろうから、3倍以上見積もらないとダメだろね。
ヒット判定投票を何msまで待つか?とかいう問題もあるし。

233:名前は開発中のものです。
13/12/01 18:03:52.03 jbLYHAr/
流れぶった切るようでごめん
3Dのモーションってその場所で使うモーションはロード時に全部アタッチしちゃう?
それともモーション変えるたびに新しくアタッチする?
なんか後者だと重くなりそうで・・・

234:名前は開発中のものです。
13/12/01 18:07:22.34 Go/ehMcP
>>233
むしろ前者の方が重くなりそう

235:名前は開発中のものです。
13/12/01 18:52:59.08 7JnASPug
ストリートファイター4のようなオンラインゲームで
遠く離れた人と対戦プレイする時は時差が生まれると問題になる

パンチボタンを押すと目の前のPCモニター画面で
それに合わせて自分のキャラがパンチを繰り出し
拳が相手の顔面にクリーンヒット!

その状況を遠く離れた対戦側のPC画面にも同時に表示するようにしないといけない
そう考えると通信速度ってのは、俺が考えている以上に高速なのだろうか
パンチボタンを押して、パンチを繰り出す時間など瞬時です
それが対戦側のPCモニターにも映る

236:名前は開発中のものです。
13/12/01 19:20:52.11 vTEhHFAb
格闘ゲームはオンラインでも由緒ある60fpsを守るためにがんばってるから好感が持てるよね

237:名前は開発中のものです。
13/12/01 19:48:52.76 jbLYHAr/
>>234
そうなのか
DXライブラリはモーションを直接適用できないのが辛いよね
わざわざベースになるモデルにモーション突っ込んでそのモーションをそれぞれに適用するっていう回りくどいやりかたで・・・

238:名前は開発中のものです。
13/12/01 22:04:58.59 jbLYHAr/
いややっぱなんでもない
忘れてくれ

239:名前は開発中のものです。
13/12/02 15:03:41.43 1e+q0LCR
3D判定関数ってなんで矩形がないんだろう
カプセルとか円だから重そうで

240:名前は開発中のものです。
13/12/02 15:13:19.89 KYoWWiEK
>>239
どう考えてもカプセルや円や珠の方がコスト低いと思うけど。

ちなみにカプセルは半径幅を持った方向ベクトル一つと距離一つの両端に半珠あるだけな。

241:名前は開発中のものです。
13/12/02 16:31:00.56 gdGFdJWe
カプセルとか円の計算が重いからAABBとかもう15年以上前の常識だろう。
今は浮動小数点演算なんて殆ど整数演算とかわらんから、カスほどの差しかでないって。
まぁパフォーマンス周りは計測もしないで重そうとか考えてると一生先に進まないぞ。ホントに。

242:名前は開発中のものです。
13/12/02 16:31:47.32 +gE+P1u8
3Dゲー最近多すぎ。3Dは甘えとか思ってる時期も僕にはありました。


3D空間に擬似2D作ると楽過ぎわろた

243:名前は開発中のものです。
13/12/02 17:00:48.10 1e+q0LCR
そうか差はないか

2Dも3Dも作れる人はマップ3Dでキャラを2Dで作ると素材的に楽ね

244:名前は開発中のものです。
13/12/02 17:04:45.51 KYoWWiEK
>>243
ちなみにそこで言ってる矩形が、もしも何かの座標系固定のAABBの事じゃなく、回転する 矩形の事なら、って前提で言ってるからな俺は。

245:名前は開発中のものです。
13/12/02 22:37:08.99 crCMa38M
浮動小数点はほんと速くなったよな
そういやC++では倍精度の方が単精度より速いとかいう噂があったな

246:名前は開発中のものです。
13/12/03 09:36:07.59 5q134PGn
コプロセッサがあったからな

247:名前は開発中のものです。
13/12/03 23:17:48.17 d6qZR4af
コムロテツヤ

248:名前は開発中のものです。
13/12/04 11:09:40.40 zR7W7+ht
>>242
スクロールはカメラ動かすだけでいいもんな

249:名前は開発中のものです。
13/12/04 15:53:35.36 Ez/3nDYS
>>248
2Dだと見えない部分を表示しないとか処理作るのめんどうだからね。

250:名前は開発中のものです。
13/12/04 17:00:22.10 aApsPTDx
ん?
よくわからないけど2dってようは画像だろ?
なんでわざわざ画面外の描画を分けるんだ?

251:名前は開発中のものです。
13/12/04 17:27:50.66 Ez/3nDYS
>>250
動作を安定させる為じゃないかな?

マップをキャラに合わせてスクロールとかめんどいから3Dに擬似2D作った方が楽。

252:名前は開発中のものです。
13/12/04 20:16:39.33 ASysFEjj
>>248-250
まさかスクロール外のマップも全部一枚画像用意して、単にカメラ動かすだけとか思ってるのか?
どんなコードイメージ想像してるんだろうか。

253:名前は開発中のものです。
13/12/04 20:34:45.45 g4hVDTVn
3Dはやったこと無いからわからんが、
3Dなら画面外のものは勝手に省いてくれるって話?

254:名前は開発中のものです。
13/12/04 21:36:08.43 zhmk3I91
物理描画と論理マップの切り分けが曖昧になってる話

255:名前は開発中のものです。
13/12/04 22:28:25.71 Ez/3nDYS
>>252
今作ってるゲームのイメージとしては、
レイヤーを3つ用意して、上から

オブジェクト
マップ
背景

みたいに表示して、マップ画像の上なら移動できるみたいな。
カメラ外は表示しないようにするよ?

2Dだと配列操作とかめんどくさくて・・・orz

256:名前は開発中のものです。
13/12/04 22:39:03.60 TNlPFiB4
>>255
配列めんどくさいって… それ使うのは別に2Dとか3Dとか関係ないでしょ

257:名前は開発中のものです。
13/12/04 22:43:40.35 Ez/3nDYS
>>256
URLリンク(homepage2.nifty.com)
こんな感じで作るとして、マップ作成ツール作るのもめんどくさかったから3Dにしようと思って。

258:名前は開発中のものです。
13/12/04 22:51:31.09 pQ+YEaXC
>>257
それが面倒とかマジか。そしてそれは、表示物が3Dであるかどうかと関係無いでしょっての。

それは内部でどういうデータを相手にしてどう判断するかのロジックに依存する物であって、
表示物や見かけの処理が2D的だったり3D的である事と関係ないよ。

259:名前は開発中のものです。
13/12/04 23:00:27.27 Ez/3nDYS
>>258
そうなのか。


ゲーム作り始めて分かったことは、バグがバグを呼ぶは都市伝説じゃなかったこと。
数値が0なのにグラフが-20になってるから直したら、次は数値が2分の1なのにグラフで3分の1になってたり・・・。

260:名前は開発中のものです。
13/12/04 23:01:06.04 lOdxjbSw
多分、サイトや本で見ただけの知識しか無いから >>249>>251 みたいな妙な事言うのかなと思った。
そこに書いてある物が全てと思ってしまったかのように。

とりあえず、それは狭い固有の要件なので、一般化して話すのはもっと先でいいと思う。

261:名前は開発中のものです。
13/12/04 23:02:15.77 lOdxjbSw
>>259
応援はしてる。頑張れ。
何にせよ書いてる奴は偉い

262:名前は開発中のものです。
13/12/04 23:06:40.43 Ez/3nDYS
>>261
ありがとうございます。

頑張って完成させます!
URLリンク(petite-soeur.sun.ddns.vc)

263:名前は開発中のものです。
13/12/04 23:59:57.61 vUR3LIGN
2D化3Dは一般化していて、普通に使われる。
昔と違って、今はそう
3D対応ハードウェアーならば、2Dよりも3Dが処理が速くて使いやすい。
非力なハードならば、やっと2Dビットマップが動くかもしれない。

ただ、素人が練習として始めるならば、純粋な2Dから始めるのも良い。

264:名前は開発中のものです。
13/12/05 00:27:55.46 3lI4/blg
女しかいなさそうなスレだな

265:名前は開発中のものです。
13/12/05 09:26:55.37 cpB+gp1e
向いてないから死ね

266:名前は開発中のものです。
13/12/05 11:10:50.91 +AxejC6P
普通の初心者「ググって先人の知恵を拝借しよう」
低能初心者「(ググった結果)面倒くさいなコレ、こんな感じにしたら組めるだろ、うーん上手くいかないから質問しよ」

写経すらできないやつが自ら実装できると思ってしまうのは何故なのか

267:名前は開発中のものです。
13/12/05 11:43:56.10 kC9LFG5F
ぼく「よし、わかんないから質問しよう」

ぼく「とりあえず要点まとめて質問文つくるか」

ぼく「あれ?これなんかめっちゃ簡単やん質問すんのやめよ」

8割ぐらいこれ

268:名前は開発中のものです。
13/12/05 12:01:56.37 P9e9ePvN
このスレの住民は、設計ができないから調べ方もわからない人と、設計ができるから調べられる人に分けられる

前者は中級者になれないが、後者は
中級レベルなら自力で解決できる

95%の初心者の質問と自称中級者の解説、5%の高度な質問と回答という割合も、妥当なものであると言える

269:名前は開発中のものです。
13/12/05 12:09:42.45 z664OMPt
プログラミングスレはクズ回答者が多いからしょうがないね
他スレもこんなことで荒れる

270:名前は開発中のものです。
13/12/05 12:12:05.24 XbG0+Vzv
そして設計の問題をDXライブラリの問題と混同する

271:名前は開発中のものです。
13/12/05 12:39:54.84 d4SREOS0
なんかアレだな
煽りにもレベルというか質が問われる時代なんだな

272:名前は開発中のものです。
13/12/05 12:43:59.11 puJa4Laf
俺は本読んだり、解説サイト見たりして勉強してるけど、どうしても解らない、が根本的な部分があって、
それについて質問した事が何度かある。(このスレ以外でも)

が、まともな答えを貰えたことがない。
毎度「今のやり方でやっていけてるのならそれでいいんじゃない?」という旨の回答ばかり。

273:名前は開発中のものです。
13/12/05 12:58:37.82 nVBO/dfC
あまりにも曖昧な質問だと、そう回答するしか無い。
また、質問者の目的と方向が不明瞭ならば、
正解の幅が広すぎてひとつに絞れない、だからそう回答するしか無い。

274:名前は開発中のものです。
13/12/05 13:01:51.11 FRT2CDES
>>266
投げなければ問題ない。

275:名前は開発中のものです。
13/12/05 13:21:55.03 puJa4Laf
>>273
それは解るよ。
だから何がしたいのかしっかり示した上で、場合によってはサンプルソースも挙げるのに、毎度曖昧な回答ばかり。

276:名前は開発中のものです。
13/12/05 14:14:36.34 tUH+B8mj
質問者側がどれだけ真面目に説明を尽くしてるとしても、
どういう経験があるか、どういう知識があるのか、お互いに全くわからん匿名の相手に、
しかも文字だけで説明するのは、質問する以上に難しいことも多いしな。
特に物事の根本に関わるような質問は、言葉だけで簡単に説明出来る事の方が少ないしさ。プログラムに限らずね。

だからまぁ2chとか質問サイトみたいなところが、
ググれば解るようなしょうも無い質問とか、とりあえず聞いとけって感覚がヒシヒシと伝わってくる質問で溢れかえるのも当然の現象だと思ってる。

277:名前は開発中のものです。
13/12/05 15:31:10.45 aZkvNrpU
DXライブラリやゲームの設計的なことについても
ノウハウを共有したページでも作れば、そこに誘導するってこともできるんだがな

278:名前は開発中のものです。
13/12/05 16:04:29.18 +AxejC6P
時代錯誤も甚だしい
体系的に学べるサイトや小ネタが載ってるブログが数えきれないほどあって
Googleで適当な単語投げれば一瞬で結果が帰ってくるだろ

279:名前は開発中のものです。
13/12/05 17:22:09.10 J+kU8cBT
検索するのも調べるのも読むのもめんどくさい
プログラミングとか意味わかんないし
頭つかうのきらいだし
誰か作ってくれたら真似するよ
ぼくのゲームだから権利はぼくのだよ

280:名前は開発中のものです。
13/12/05 17:36:58.90 nVBO/dfC
>>279
RPGツクールで作れ。
全体ストーリーとゲーム性が完成しているのならば、手伝う。
それが未完成ならば、発言する資格が無い。

何も無い奴には、手を貸さない。

281:名前は開発中のものです。
13/12/05 17:51:56.81 3lI4/blg
>>279
お前そんなこと考えてたのか死ね

282:名前は開発中のものです。
13/12/05 17:57:40.42 Kuc/zMTP
>>279
むり

283:名前は開発中のものです。
13/12/05 18:59:17.36 puJa4Laf
>>280-282
わかっててボケてんのか、それともマジレスしちゃってるのか……。

284:名前は開発中のものです。
13/12/05 22:07:22.85 +AxejC6P
実際>>279みたいなやつがゴロゴロいるんだろうね
プログラミングやゲームに興味があるんじゃなくて
俺ゲーム作れるんだぜすごいだろっていうのが欲しいだけ

285:名前は開発中のものです。
13/12/05 22:15:35.60 puJa4Laf
それは事実だろうけど、同時にブーメランでもあるな。別の方向で。

大したプログラミング技術も、面白いゲームが作れるわけでもないのに
他人をバカにする事で自分の方が上だ、俺はこんなに凄いんだ、って主張したいだけ。

みたいに。

286:名前は開発中のものです。
13/12/05 22:16:12.74 IiF47e1A
>279はどう見ても釣りだろ

287:名前は開発中のものです。
13/12/05 22:18:50.67 puJa4Laf
いや、279は釣りというより「こういうヤツっているよなw」的なただの揶揄だろう。

288:名前は開発中のものです。
13/12/05 22:21:26.97 Bl3UGhK/
上手に質問する人たちは、プログラムが上手であり、自己解決する能力があります。
丁寧に質問の文章を書いたならば、
その時点で要点を明確にまとめられて、
不具合についても明確になる、
その状態で一晩熟すれば解決の糸口を見つけ出せる。
これで自己解決する。
これは、丁寧な質問の文章を書けば 問題解決への近道である事を意味する。

289:名前は開発中のものです。
13/12/05 23:15:19.34 +AxejC6P
>>285
そういう発想が出てくる時点で、プログラム書ける俺すげー
ゲーム作れる俺すげーって思ってるのがよくわかるよ

290:名前は開発中のものです。
13/12/05 23:27:31.68 xYAQq3eV
まあ、プログラムを書けない奴より書ける奴の方が凄いし、
ゲームを作れない奴よりは作れる奴の方が凄いのは確かだな。
で、それがどうかしたか?

291:名前は開発中のものです。
13/12/05 23:27:47.84 c2lirICA
というかまともなゲームプログラムが学べるブログなんて存在しないけど

292:名前は開発中のものです。
13/12/05 23:35:26.48 aZkvNrpU
>>291
どんなことが学べるページがほしい?

293:名前は開発中のものです。
13/12/05 23:38:31.92 xYAQq3eV
どんな技術にしてもある程度のところまでいくと誰も教えてくれないから、
独学でやるしかないんだよな。まあ、それはそれで楽しいわけだが。

294:291
13/12/06 09:04:12.55 8emZ0ahI
>>292
とりあえずこれだけでいいや。よろしく

ゲームにおけるシーングラフの構成
ノード間通信の仕組み
アニメーションデータの持ち方とその適応方法
データベースとの連結
シリアライズとゲームデータのセーブ/ロード
仮想ファイルシステムの作成
パーサーの作り方
よくできたGUIシステムの構築方法

295:名前は開発中のものです。
13/12/06 09:39:27.10 oaT25rLy
>>294
なんか具体的なようで大雑把な上、
ところどころ自分の設計に依存する物が混じってる。具体的に指摘すると、


> ゲームにおけるシーングラフの構成
→ どのような詳細要件に対する物かで違うので、簡単に言えば自分が設計しないとどこにも無い物。何が知りたいのか。

> ノード間通信の仕組み
→ どのノードの事を言ってるのか主語が曖昧。分散サーバのホスト(ネットワーク通信)の事なのか、
単にソフトウェアとしてのオブジェクトどうしのやりとり手法の事を言ってるのか

> アニメーションデータの持ち方とその適応方法
→ 広い意味でのアニメーションなら時系列表現と表示物などのリソースの扱いの事だが、どんなアニメーション処理に対して何が具体的にわからないのか

> データベースとの連結
→ いわゆるDBMSの利用について知りたいのなら、特定の製品上げて聞かないと。
あるいはもっと初歩的一般的な話ならDBの基礎を、SQLに関する事なら標準と製品による方言を調べろ。

296:名前は開発中のものです。
13/12/06 09:40:13.86 oaT25rLy
続き

> シリアライズとゲームデータのセーブ/ロード
→ 突き詰めれば単に構造体内容などを単にメモリ/ファイルに書き出すだけだが、何がわからないのか


> 仮想ファイルシステムの作成
→ どのような用途を想定した物か。どう扱いたいのか。確保領域に対して任意のアドレスとそのハンドルでも作成して、
それをやりとりして格納したデータの授受する事以上が必要なのか否か。

> パーサーの作り方
→ 何のパーザが欲しいのか。具体的にはテキストに対する、例えば boost::spirit で書くような構文解析器の事を言ってるなら、BNFでも勉強しろ。
そこまでいらないなら、単に文字列の領域検索の延長で書けばいいだけ。


> よくできたGUIシステムの構築方法
→ 突き詰めると、画面描画と領域の定義と、ユーザから受けた指示への応答だけの事なので、
「よくできた」と思える物かどうかは目の前の要件に照らして判断しろ。


初心者が理解できるかどうかなんて完全無視で指摘した。

297:名前は開発中のものです。
13/12/06 09:50:59.51 GRpiVBHm
>>295-296
言い訳するなクズ
答えられないならレスするな

298:名前は開発中のものです。
13/12/06 10:06:27.19 rE0HoMGD
>>297
答えてるだろ…(´・ω・`)

299:名前は開発中のものです。
13/12/06 10:14:12.57 oaT25rLy
>>297
言い訳じゃなくて答えだよ思いっきり。
さらに言うと足りない事柄への指摘だよ。
どうしても腑に落ちないなら、きちんと経験してから個別に考えてごらんよ。

300:名前は開発中のものです。
13/12/06 10:42:21.65 6KxerpOr
シリアライズなら調べればいくらでも出そうだが
ネットで管理したいのなら知らん

301:名前は開発中のものです。
13/12/06 10:49:25.44 DiL8/GXT
参考にした URL 貼り付けてもらって
そのサイトのどこがわからんか言ってもらった方がアドバイスしやすそう

302:名前は開発中のものです。
13/12/06 10:54:02.78 A+U7NIUp
>295が>292じゃないなら
勝手にしゃしゃり出てきた余計な世話って奴だが・・・

303:名前は開発中のものです。
13/12/06 10:57:38.79 GZRrIjT0
半端者ほど教えたがるから仕方ない

304:名前は開発中のものです。
13/12/06 10:58:15.97 oaT25rLy
勝手に出てきた余計な世話だけど、誰に聞いても足りない部分については同じだよ。

305:名前は開発中のものです。
13/12/06 11:22:46.63 hrf3XpPc
データベースとの連結
パーサーの作り方
このあたり真面目に解説してるブログあるなら俺も知りたいな
使うあてはないけど読んでて面白そう
前半と最後のこと解説してるサイトってただ胡散臭いだけじゃね

306:名前は開発中のものです。
13/12/06 11:45:50.56 YNT3KbU/
優しくは無いよな
何が問題かよく分かっていないから初心者なのであって、
それに対して質問の仕方が悪いみたいなことを言うのは
正論であっても、人の助けにはならないよね

307:名前は開発中のものです。
13/12/06 11:52:38.15 HYAYqpiJ
DXライブラリ 総合スレッド その17

308:名前は開発中のものです。
13/12/06 12:03:46.43 n7M7J0bf
>>294ってサイトでほとんど事足りるし、本もいくらでも見つかるレベルの話じゃん
DXライブラリと全く関係ない一般的なことなんだから視野広げろよ

馬鹿が人並みに質問してタダで回答してもらおうって考えがおかしい
今の時代、大量の情報と検索サイトがあって馬鹿以外はそれで事足りるわけ
電気屋がtwitterやfacebookの登録・設定ができないやつから数千円取って代行してるのと同じで
馬鹿であることを自覚してきちんと対価を払えば教えてくれる奴はいくらでもいるよ

309:名前は開発中のものです。
13/12/06 12:05:50.40 GRpiVBHm
じゃあこのスレくるなよ

310:名前は開発中のものです。
13/12/06 12:16:58.35 fnt2UUAq
ぶっちゃけFacebookやTwitterを端末にセットアップするような技術商売て別にIT業界じゃ普通だよな

311:名前は開発中のものです。
13/12/06 12:18:55.86 oaT25rLy
>>305
もうスレチなんでアレだけど、DBに関して言うと上にも書いたけど、結局とある製品を、
例えばC++からハンドリングする方法は?って話になっちゃうんだよ。
でその理由は明白で、要はアプリケーションコードから見たら結局
「とあるインタフェースに対する約束事がわかってれば、あとはそれを使って利用するだけ」であって、その具体的な物は製品によって違うって事。

例えばパッケージとして組み込むならSQLiteなんかが有名で、その場合はただのインプロセスだから、
その他のlibやDLLの何かを利用するのと動きのレイヤでも同じだし、
ネットワーク越しにDB置く場合でも、(例えばMySQL等)自分のコードから見たら結局用意されたインタフェース越しに利用するだけなんだけど、
いずれにしても「何の製品を使う場合」で大枠の考え方は同じでも実際個別。

なので知りたい場合、具体的に「何を、C/C++から使うには」で調べないといけない。

で、それとは別の前提として、そもそもDBとはどう言うものか、基本的な動作はとか知ってることが前提で、
さらにせめて標準SQLは知ってないといけない。
その後、やりたい事についてテーブルの設計も出来ないといけない。
そんなかんじ。真面目に書くとキリ無いが。

312:名前は開発中のものです。
13/12/06 12:22:52.27 KxMaMouT
「いいサイトって少ないよね」
「どんなこと書いてあるサイト?」
「こんなこと」
「質問が大雑把だ!」
「サイトで事足りる!バカが質問するな!」
何故なのか

まあDXライブラリに関係ない一般的要素が多いしある程度見つかりそうなのは同意

313:名前は開発中のものです。
13/12/06 12:26:50.17 oaT25rLy
以上を踏まえてDBについてまとめると、以下の異なるレイヤについての知識が必要って事。

・DBそのものの動作と立場(入門レベルの話)
・一般的な一連の動作(基礎レベルの話、オープンからクローズまでの流れと、トランザクションの考え方)
・具体的な製品を、自分が使う言語からハンドリングする方法(ヘッダやlibやdllと、公開されてる関数について)
・DBに対する問い合わせ(実習的レベル。SQLで書く内容)
・実際にやりたい事の整理とテーブル設計(応用編としての実装。論理)

細かいことはしょって大雑把にわけるとこういう事。
あと他にあるとしたら、個別の方言や事情。

314:名前は開発中のものです。
13/12/06 12:38:06.30 oaT25rLy
>>305
あとパーザに関してはやっぱり「なんの?」が先に来るが、一般的なテキスト解釈の話として言うと、やりたい内容によってバラバラ。

ただ共通するのは、要はキーワードの検索と登場順序に関しての判定って言えて、
例えばテキスト中に登場する自分が見つけたい文字や文字列と、その前後関係を、上から順にかコールバックしながらとか探しだして、
それらの結果について評価して行く形。

で、それがたとえばC/C++言語で書かれた物のような複雑な物だったりする時、
BNF記法が応用された boost::phoenixとかのライブラリを利用することも検討するって順序。
ウチの開発グループのアーキがいる研究所でも使った例は無いけど、必要なら検討する。

315:名前は開発中のものです。
13/12/06 13:15:44.82 YAkNGxim
>>297
お前はバカ確定だなw
何も知らないのに適当に叩こうとするから
自分の能力不足を晒すことになる

あとID変えて言い訳するなみっともない
失礼しましたとか言って負けを完全に認めた上で引く時は引け
抵抗しようとするな

316:名前は開発中のものです。
13/12/06 13:21:12.38 PADk/SAf
>>294
DXライブラリは単なるラッパーみたいなのだから
この辺の問題をの残してるんだよなあ

とりあえずサイトではなくGameCodingCompleteとかの本を薦める

317:名前は開発中のものです。
13/12/06 13:31:13.63 GRpiVBHm
>>315
顔真っ赤っか

318:名前は開発中のものです。
13/12/06 14:57:34.67 8emZ0ahI
たいして役にも立たない長文読む気がしないので1つに絞って、
パラパラアニメを実装するアニメーション付きスプライトがあるとする。
この実装方法としては大きく2つある。
1. Spriteクラスを継承してAnimationSpriteクラスを作る
2. Spriteクラスにアニメーションデータを添付できるようにする
よくある実装は1だがこれは愚かな設計だ。理由は省略。
実装するとしたら2だが汎用的にアニメーションデータを添付できるようにするのは実は結構難しい
さらに実際に計算を行うAnimationControllerも欲しい。
最低ローカルの時間軸とワールドの時間軸と再生スピードと再生位置の変更は欲しい
さらに複数のアニメーションの加算合成も欲しい

・・・というような事を解説した日本語のサイトお願いします
紹介出来なかったらフルチンの画像アップして謝罪してください

319:名前は開発中のものです。
13/12/06 15:04:55.11 2X95ibjV
なんやかんやでたまに面白い意見があるからこのスレは面白い

以前サウンドハンドルについて質問させてもらったものだけど回答くれた人ありがとう
以前音楽再生を試したときにサウンドハンドルの解放したのを残したままだった…

320:名前は開発中のものです。
13/12/06 15:54:27.80 E6hzqXJs
アニメーションって3Dかと思ったら2Dの話だったんかい
汎用アニメデータ作る時点で自作の領域なわけでそこまで一緒のことやってる解説サイトあるんかね
てかそこまでできてて何に困ってんの
スプライトに骨と親子関係、アニメに骨角度と画像の種類持たせて、時間の前後2つを内分して求めるだけでいいじゃん

321:名前は開発中のものです。
13/12/06 16:16:43.05 xtlRt24w
2Dをボーンアニメーションする。

2D Animation for games
URLリンク(www.youtube.com)

322:名前は開発中のものです。
13/12/06 17:53:46.41 7SAMHN0J
2dのアニメーションってパラパラ漫画なのか切り分けた画像をアプリケーションの中で重ねるのか
どっちの方がいいんだ

323:名前は開発中のものです。
13/12/06 18:47:30.15 HxrORMUX
なんのかんのですごく参考になる流れだ

324:名前は開発中のものです。
13/12/06 20:20:15.70 YUoOw5dI
汎用的なアニメーション定義ファイルを作って、それ読み込んで再生するってほうが楽だな。
そのアニメ定義データの設計と、読み込み動作させるライブラリ設計と
それを使ったゲームとエディタを作るというストーリーが浮かんだわ。

325:821
13/12/06 20:21:38.29 8emZ0ahI
>>320
ちげーよ、例として出しただけ
多くのゲームエンジンやツクールではアニメーション出来るクラス/変数は固定だ。
2013年のゲームエンジンとしてこれは許せない物がある。
理想は「全てのクラス」の「全ての型のプロパティ」に対してアニメーションを設定したい。
これは結構難しい(というかC++なら無理)。
幸い俺はC#で作っているので4.0から dynamic がサポートされたのでリフレクションなどを駆使して
上記の方法で実装できたがそれでもさらにロバストにしたいと思ってる
おそらくこの方法が最適な設計&実装だと思ってるが本当のところは知らん。

で、こういう話を解説したサイトさっさと教えて下さい
無いのは知ってますが、あると言い張るキチガイがいるのでさっさとお願いします

326:名前は開発中のものです。
13/12/06 20:39:27.67 d2DfRha0
思った以上にイタタな人だったか

327:名前は開発中のものです。
13/12/06 20:43:38.92 CaSDOuTQ
別に318にケチつけるわけじゃないし、解説して欲しいというわけじゃないんだけど、
「やっちゃいけないけど、理由は面倒なので説明しない」ってのは非効率だと思うんだよな。
やっちゃいけない事ほど理由を説明すべきだと俺は思う。

よく映画とかで「やっちゃいけない」という言いつけをやぶって大被害を被ったりするけど
いつも「ちゃんと理由を説明しておけばこんなことにはならないだろうに」と思ってしまうw

328:名前は開発中のものです。
13/12/06 20:55:16.77 YUoOw5dI
C#でゲームエンジンか
そのゲームエンジンはDXライブラリ使って実装してるのか?

329:名前は開発中のものです。
13/12/06 21:38:31.61 M2uwVALT
2Dに絞ってもまだ汎用的かつ扱いやすいアニメーションクラスは無理だろ。
ある程度用途や形式を制限される特定のゲーム向きになって、
そうなると解説とかクラスライブラリの公開をするわけにもいかなくなるんじゃないか?

330:名前は開発中のものです。
13/12/06 21:43:26.65 M2uwVALT
>>305
シリアライズ・デシリアライズ(バイナリ、XML、データベース)なら
C#とかJavaだとぽぽいのぽいだぜ

331:名前は開発中のものです。
13/12/06 22:07:31.61 FaqrHBRH
ディンプスのランブルフィッシュがスムースモデルアニメーションだったけど
なんというか賛否両論だったね

332:名前は開発中のものです。
13/12/06 23:38:36.58 Kyl65KNV
>>330
C++でもぽぽいのぽいの、ぽいじゃん

333:名前は開発中のものです。
13/12/06 23:44:00.06 n7M7J0bf
商業レベルのゲームエンジンすらまともじゃねーなら、そら世の中の本やサイトがまともだと感じるわけねーわな
自覚してないのかも知れんがまともじゃないのはお前だぞ

334:名前は開発中のものです。
13/12/07 01:22:51.85 UiqP/wFW
2Dゲーム作ってて、今までずっとDrawGraph系関数で描画処理をしてたんだけど、
いちいち描画順考えるの面倒になってきた。

多少の修正はあるにしても、DrawGraphのところをDrawBillboard3Dに置き換えるだけでOK?
あるいは他に楽な方法ある?

335:名前は開発中のものです。
13/12/07 08:28:19.33 W7HdtPpY
3dこそ描画順序が大切なのに

次にお前は「z値を設定するのがめんどくさい」と言う!

336:名前は開発中のものです。
13/12/07 10:14:19.35 UiqP/wFW
ああ、うん、それもそうッスね…
そしてZ値の設定が面倒とか言いそうだ俺

描画登録という関数を作って、最後にZ順でソートして一気に描画する仕組みは前に作ったことがあるんだけど、
大昔に書いたソースということもあり、いろいろ不便&動作が重くてさ、せっかくなので作り直そうかなと思ったんだよね。

337:名前は開発中のものです。
13/12/07 11:41:16.03 rXPbYqj6
>>336
なんか俺と同じ状況すぎて笑ったw

338:名前は開発中のものです。
13/12/07 15:49:00.30 8lkia08N
Z値…

339:名前は開発中のものです。
13/12/07 16:16:08.17 qEUnoYjv
zdepthをz値って呼ぶのは別におかしくないと思う
少なくともこの文脈で意味は通る
別の意味の「z値…」なのかも知れないが

340:名前は開発中のものです。
13/12/07 18:24:43.74 8lkia08N
>>339
システムを作ってて描画の事忘れてたから、Z値調整だるいな・・・のZ値・・・。

341:名前は開発中のものです。
13/12/07 23:37:06.18 S67lJe16
2DのRPG作りたい場合何から始めたらいい?

342:名前は開発中のものです。
13/12/07 23:48:13.94 v3FzTLwA
RPGツクールでも使ってろ

343:名前は開発中のものです。
13/12/07 23:49:23.59 D+291R15
ウディタかRPGツクール
まあRPGツクール使っとけ

344:名前は開発中のものです。
13/12/08 07:31:05.04 I2T1/et4
まずはどういったシステムを作りたいかにもよる
でDxLibを利用してそれらが作れるか考えてから決めればいいんじゃないか

ただ何でもいいって考えなら上2つに同意

345:名前は開発中のものです。
13/12/08 08:23:02.45 r4S3bN2U
マップエディタの作成からだな

346:名前は開発中のものです。
13/12/08 08:55:39.17 g/A4dsha
マップ作るとき、建物の判定って全部モデルの面でやる?
アサシンクリード並みの町並みを作ると着地判定の負荷がとんでもないことになるよな
モートン順序?とか必須なのだろうか

347:名前は開発中のものです。
13/12/08 10:51:36.40 TtNRxB0r
2Dですか3Dですか?

348:名前は開発中のものです。
13/12/08 11:01:43.93 RAN+U7xw
>>343
ウディタはそれなりに使えてます
ウディタで言うところのデータベースってのは
C言語では構造体にあたるって認識で合ってますか?

349:名前は開発中のものです。
13/12/08 15:03:18.69 fy1UUi3s
C言語のスレは別にあるからそっちに行ってね

350:名前は開発中のものです。
13/12/08 16:49:58.53 sgPZUlAI
>>348
ウディタ触った事無いけど、多分大分違うと思う

>>346
俺は論理マップと、接触判定用の荒い凸包メッシュで行ってる

351:名前は開発中のものです。
13/12/09 22:40:51.34 dPT1r96N
アクションゲームに会話の処理を入れていってるんだけど、
1文字ずつ処理する場合に、そこだけをwhileでループさせたいんだ。
プラス、会話中はプレイヤーは動かせない、他の描画はそのままにしたいっていうのは
どうやって実装すればいいだろう。
全体のループの中で、メッセージのループを入れて、
メッセージ部分だけの描画を更新することって出来る?

352:名前は開発中のものです。
13/12/09 22:54:00.72 qdYgEstI
どうやりたいのかによるけど、
スクリーンショットとってもいいし、描画範囲をメッセージ部分だけに狭めてもいいし。

353:名前は開発中のものです。
13/12/09 22:54:29.89 PslMchEl
状態の更新(Update)と描画(Draw)を完全に分けているならできると思う。

354:名前は開発中のものです。
13/12/09 23:07:35.51 dPT1r96N
更新と描画は完全に分けています。
ただ、1文字ずつ表示するのは全体のループを繰り返さないと
やっぱり出来ないのかなーと思って。

main:
while(メインループ) {
// ステージの更新・描画
}

stage:
// 敵や人の更新
// プレイヤーの更新
// 敵の描画
// プレイヤーの描画

enamy:
update:
// ↑が押されたらtalkCnt
  draw:
// talkCntがあればメッセージ表示処理

common
メッセージ表示処理:
DrawFormatString // ★ここだけをループして処理したい。

かなり抜粋したんですけど、メッセージ処理に文字列渡せば描画してくれることがしたいです。

355:名前は開発中のものです。
13/12/09 23:14:26.52 72A6Mvvd
>>354
全体進行を管理するクラスなり処理って設計してないの?
要点はそこだと思うけど。

つまり稼働物とそれらの統括っていう立場をちゃんと考えて、そのクラスなりなんなりの間で
状態に関する指示と判断を交わすような構成にしとけば、何も悩むことなくなると思う。

356:名前は開発中のものです。
13/12/09 23:18:30.28 dPT1r96N
>>355
全体進行を管理するクラスは作ってなかったです。
ステージや敵を管理するクラスは作ってるんですけど。

357:名前は開発中のものです。
13/12/10 03:56:10.79 Rm1FtPvP
今あるコードをベースに修正するなら、こんな感じかなあ。
余裕があれば、関数化とかクラス化とかやったほうが良いだろうけど。

while(メインループ)
{
  if(会話メッセージ表示フラグが真)
  {
    //会話メッセージの処理(メッセージ送りとか)
  }
  else
  {
    //プレイヤーの操作とか、敵の動きとか、当たり判定とか
  }

  //描画はまとめて行う
  //ステージ表示
  //プレイヤー表示
  if(会話中フラグ)
  {
    //会話ウィンドウ表示;
  }
}

358:名前は開発中のものです。
13/12/10 08:54:19.89 xfHn/lq9
>>357
会話処理だけ別枠にしてるのね
俺はイベント処理の一つとして会話含めてる
3Dゲーだとプレイヤーのキーや敵のAIを止めつつモーションは再生しなきゃならんからそっちのがいいかな

359:名前は開発中のものです。
13/12/11 00:42:27.69 Te7odSVV
>>357
参考にしてやってみたら、いい感じで行けました。ありがとう!

360:名前は開発中のものです。
13/12/11 14:35:30.27 C+nat2k/
ループ再生中の音楽をフェードアウトする方法ってありますか?

361:名前は開発中のものです。
13/12/11 14:48:24.47 QYTLFCQM
ボリュームを段階的に小さくする。

362:名前は開発中のものです。
13/12/11 17:17:09.16 bvdOrKZ0
音を立体的に演出するにはどうしたらいいですか?
3dキャラクターの近くを電車が通る迫力のある演出したいんですけど

363:名前は開発中のものです。
13/12/11 17:28:03.28 DpvuGJEf
DirectSound 直接使うとか

364:名前は開発中のものです。
13/12/11 17:32:33.28 8n36Bn26
前スレ最後で少し話題になってたよ

365:名前は開発中のものです。
13/12/11 17:39:16.41 8n36Bn26
と思ったけどバンのことしか書かれてなかった
まあDXlibだけだとそのレベルが限界
DirectX 立体音響でぐぐればなんか見つかるんじゃないの

366:名前は開発中のものです。
13/12/11 19:39:45.01 RXr/HyOc
>>362
DirectX9必携: 鎌田 茂雄 著
DiretXでのダイレクトサウンド3Dについて書かれている。

367:名前は開発中のものです。
13/12/11 19:57:12.57 QR5KqRdR
XAudio2のサンプルにそんなんあったよ
URLリンク(code.msdn.microsoft.com)

368:名前は開発中のものです。
13/12/11 23:06:23.63 WLCmMknS
DXライブラリにも3Dサウンドの関数はありますよ。
ただ関数リファレンスには乗っていませんが。

雑談掲示板の2013/02/17の作者様の書き込みで説明が書いてあります。
サンプルもここに
URLリンク(hpcgi2.nifty.com)

369:名前は開発中のものです。
13/12/12 00:22:13.44 hEgLANPL
隠し関数か

370:名前は開発中のものです。
13/12/12 00:28:46.52 i9yHPU+F
隠しというわけではないけど3D系に限らず
関数リファレンスに載ってない関数はたくさんあるよ

作者さんは結構ニッチなところまでやってくれるから
公式掲示板を検索したり、dxlib.hを検索するのがオススメ

371:名前は開発中のものです。
13/12/12 01:57:17.80 8KqFEAbV
デフォルト引数なんかも多いよな。

372:名前は開発中のものです。
13/12/12 13:25:30.42 H4wTjbYC
背景を表示するコードってメインループ内に書くしかないんですか?
使用するメモリーが半端ないと思うのですが、ループ外に書く方法を教えて下さい

373:名前は開発中のものです。
13/12/12 14:41:38.09 /PrCIZjb
ちょっと何を言ってるかよくわからないですね

374:名前は開発中のものです。
13/12/12 14:53:38.70 M3EmYqgT
>>372
おそらくあなたのプログラムロジックが間違っている。
あなたのコードをアップロードすれば、皆が調査するだろう

375:名前は開発中のものです。
13/12/12 15:09:02.21 19880CjL
毎フレーム背景画像読みこんでるのか

376:名前は開発中のものです。
13/12/12 15:14:16.02 7S87fbU1
俺も、ロジックと言うか考え方自体が間違ってるか理解してないか何も考えてないと思う

377:名前は開発中のものです。
13/12/12 15:42:43.94 qxafXCV7
俺の作った3dゲームがやけに重いんだけど

378:名前は開発中のものです。
13/12/12 15:43:17.48 8KqFEAbV
同じく、基本的なところで大きく勘違いしてるように思う。

>>375
あるいは画像を毎フレーム表示することで
メモリに積み重なっていくように思ってるか、そんなところか。

379:名前は開発中のものです。
13/12/12 15:44:14.18 nVXQxLWW
>>377
アップロードしてみ

380:名前は開発中のものです。
13/12/12 16:49:58.47 no4EqIs0
>>379
ソース?実行ファイル?

381:名前は開発中のものです。
13/12/12 16:56:50.80 tq9PW97E
>>380
両方、ソースを見せたくなければ、実行ファイルだけでも良いが

とにかく、具体的でなければ、皆は助言のコメントできない

382:名前は開発中のものです。
13/12/12 17:09:38.49 no4EqIs0
ソース
URLリンク(www1.axfc.net)

実行ファイルだけ
URLリンク(www1.axfc.net)

今FF14プレイするようなデスクトップPCだからそんなに重いと感じなかったけど、
corei3のノートパソコンでやったらFPSが下がるわ下がるわで・・・

プロジェクトのファイル構成は
main.cppにエントリポイントがあり、そこでAdminクラスを継承したシーンクラスが、それぞれ画面を管理してます
問題になる部分はPlayAdminクラスで、PlayAdmin::Play()がゲーム本体のメインループを担当しています

最初は設計しっかりやったのですが、シングルトンとか使ってる上に
最近ちょっと急いで機能実装したのでスパゲッティになってると思います

383:名前は開発中のものです。
13/12/12 17:28:57.52 3Q4Y6Xv5
流れにのって一つ質問
Dxlibの文字描画ってコスト高いの?
1回描画とかだと何もないけど20越えた当たりからすごく重くなる

384:名前は開発中のものです。
13/12/12 18:38:28.92 LHOSBTMF
>>378
ですから、drawscreen的な背景表示関数をループ外で書く方法は
ありませんか?と問うてるのです。お願いします。

385:名前は開発中のものです。
13/12/12 18:40:35.77 LHOSBTMF
>>378
ですから、drawscreen的な背景表示関数をループ外で書く方法は
ありませんか?と問うてるのです。お願いします。

386:名前は開発中のものです。
13/12/12 18:42:49.04 qmVZLHGY
>使用するメモリーが半端ないと思うのですが、ループ外に書く方法を教えて下さい

つまり莫大なメモリを積んでいるから背景を全部一括でメモリに持ってみたいという話ではないのか

387:名前は開発中のものです。
13/12/12 18:47:31.71 /PrCIZjb
やっぱり何を言ってるのかちょっとよくわからないですね

388:名前は開発中のものです。
13/12/12 18:49:55.88 19880CjL
>>383
フォント重いからねえ
レンダリングは外で済ましとくほうがいいよ

389:名前は開発中のものです。
13/12/12 18:50:08.22 LHOSBTMF
なんで遠回しなレス多いかなー
何故ダメなのか聞いてるなら、その理由を言ってほしい

390:名前は開発中のものです。
13/12/12 18:54:25.74 19880CjL
ソース無いって言われた
背景をバッファに転送してフリップってやってる?

391:名前は開発中のものです。
13/12/12 19:02:26.09 i9yHPU+F
自己解決能力がない人は、一般的に国語力もないんだから
そのあたりを自覚して質問時は丁寧な文章を書くことを心がければいいのに

解決のために最善の努力を行うべき立場の人間が
「半端ない」なんてぼかし言葉使うようじゃ社会じゃ誰も相手にしてくれないよ

392:名前は開発中のものです。
13/12/12 19:13:45.21 jPdshx4A
>>382 ソース消したのか?
プロファイルかけてやろうと思ったがないから辞めた

393:名前は開発中のものです。
13/12/12 19:18:00.53 LHOSBTMF
>>391
背景の画像をループごとにメモリに読み込んでいたら
膨大な量になるじゃん?ってことだよ
後俺高3だからタメ口でいいよな?趣味で作ってるわけだし

394:名前は開発中のものです。
13/12/12 19:23:18.30 OpLvR7oY
画像の読み込みは一回で十分だぜ
ループにはいる前に読み込むんだぜ

395:名前は開発中のものです。
13/12/12 19:27:54.19 dAEln+ro
>>393
ソースコードをアップロードしろ。

あなたの専門用語が未熟だから、情報不足で回答することが出来ない。

396:名前は開発中のものです。
13/12/12 19:39:34.26 geC8VsuH
ソースないって言われて×押したら起動しり、ソースを見ようと思ったら2008じゃ開かねーよカスって言われた悲し
背景云々の人とアップしたのは別人か
俄然読む気が上がったが画像類ってバラけてても気にならんのかね

397:名前は開発中のものです。
13/12/12 19:40:57.02 LHOSBTMF
>>394
そのやり方を教えろ
>>395
だからループ内の最後にdrawscreen(test.jpg)って言ってるだろ

398:名前は開発中のものです。
13/12/12 19:48:00.66 7S87fbU1
>>389
何故駄目なのかってのは、つまりコンピュータで動くアプリケーション、特にウィンドウ表示されるようなGUIのあるOSでのそれは、
どうやって見た目を更新して表示してるかとか、せめてその辺の基礎知識が無いと話にならないんだよ。

そしてその辺理解してるなら、そんなとんちんかんな問いが出るはず無いので、
みんな困ってるって事。

簡単に言えば、メインループの外で描画とかデタラメもいいとこって話。

で、さらになんでそんな重いのかってのは、そもそも考え方からおかしな作りしてるんだろう、って事。

399:名前は開発中のものです。
13/12/12 19:50:34.11 7S87fbU1
>>397
やり方も何も、普通は画像ファイルをメモリにロードして、それをDIBとかで持っておいて、ループの中で必要に応じてDrawなりBitbltするだけだよ。

400:名前は開発中のものです。
13/12/12 19:50:57.16 LHOSBTMF
>>398
背景は見た目更新する必要ないでしょう?
一緒なんだから

デタラメとかじゃなくて俺に分かるように説明しろ
そっちは慣れてるから知ってるかもしれないがこっちはまだ2年目だから

401:名前は開発中のものです。
13/12/12 19:51:54.65 dAEln+ro
3Dですか? 2Dですか?

402:名前は開発中のものです。
13/12/12 19:53:00.27 LHOSBTMF
>>399
コードで頼むわ
正し10行以内

300×300の真っ白の画像を常に表示するプログラム書いてくれ

403:名前は開発中のものです。
13/12/12 19:58:27.78 7S87fbU1
>>400
なんで2年目のお前が命令口調で教えろとか言うんだバカタレ。
2chのレス程度の狭い文字数で、なんで見ず知らずの赤の他人のお前にこっちが苦労して丁寧に隅々まで話してやらなきゃいけないんだよ。
基礎すら自学自習も出来ないいい加減な怠け者にゃ無理だよ。向いてないからとっとと辞めろ。

…って言われないように、ここでも見て勉強して理解しろ。
URLリンク(wisdom.sakura.ne.jp)

キリが無いから。

404:名前は開発中のものです。
13/12/12 19:59:47.55 dAEln+ro
URLリンク(homepage2.nifty.com)
 1.キー入力の基本
キー入力の基本的なプログラムです。
キャラクターのグラフィックをキー入力で上下左右に
移動できるというものです。

このコードが、画像を読み込んで表示するコード

405:名前は開発中のものです。
13/12/12 19:59:48.61 LHOSBTMF
>>403
言葉使い気を付けたほうがいいよ
そのURLは参考にするが…
でもwin32apiじゃん、俺はDXライブラリに興味があるのであって
他ライブラリは興味ないんだよ

406:名前は開発中のものです。
13/12/12 20:01:38.04 LHOSBTMF
>>404
このDrawGraphってのだよ
これ外に書けないの?
ループの中で毎回ドローしてていいの?
ドローってさ一回だけでしょ

407:名前は開発中のものです。
13/12/12 20:04:53.18 7S87fbU1
>>402 >>405
言葉遣いに気を付けろってのはお前が言われなきゃいけない台詞だ馬鹿者。

そしてwin32はただのライブラリじゃなくて全ての大本だから、ぐだぐだ言わすにやれ。
せめて全部読んで意味を理解しろ。そこが話の本筋だ。

windows上で動いてるものは、DXライブラリだろうとなんだろうと、もっと言えばDirectXですらこいつが基幹として関わるんだよ。
普通のライブラリじゃないの。

408:名前は開発中のものです。
13/12/12 20:05:17.49 MI8wbavX
>>406ちゃんと書いた画像を毎ループ消してるよ

409:名前は開発中のものです。
13/12/12 20:07:23.28 7S87fbU1
>>406
少なくとも初期化が出来ないと意味を成さない。
ループの外で描画しても消える。

410:名前は開発中のものです。
13/12/12 20:10:56.11 LHOSBTMF
>>408
何で消す必要あるの?消してまたドローするって
二度手間じゃない?というかループの回数が1万回なら
1万手間じゃないの?

411:名前は開発中のものです。
13/12/12 20:13:38.63 7S87fbU1
>>410
だーかーらーそこのレベルで何で何で言うくらいなら、>>403 の先のリンク見ろっての。
普通は自分で考えて探して理解してくもんなのに、わざわざ貼ってもらったんだからとっとと見ろ。
特に描画関係の所を。

412:名前は開発中のものです。
13/12/12 20:16:59.84 dAEln+ro
「ダブルバッファ」で検索してみ

413:名前は開発中のものです。
13/12/12 20:17:04.39 7S87fbU1
>>411

414:名前は開発中のものです。
13/12/12 20:20:04.73 dAEln+ro
簡単に言うと、
画面の一部を書き直すよりも、画面全部を消して全部を書き直した方が高速なので、リフレッシュする。

415:名前は開発中のものです。
13/12/12 20:21:53.94 qmVZLHGY
ドローとかいう自分が理解していない言葉を使うのをおよし。

416:名前は開発中のものです。
13/12/12 20:24:02.17 LHOSBTMF
例えば音楽とかは中に書いてしまったら同じ音楽の繰り返しになるわけで
どうしてるわけ?本当にループとか謎なんだけど

417:名前は開発中のものです。
13/12/12 20:27:25.40 lR7ihhA+
13歳からはじめるゲームプログラミングとかいう本があるからそれから始めれ

418:名前は開発中のものです。
13/12/12 20:29:22.83 qmVZLHGY
>>410
お前さんがそうやって無駄な文字を書きたくる毎に
サーバーさんもPCさんもブラウザさんも数百万回の仕事してるよ

419:名前は開発中のものです。
13/12/12 20:33:39.35 LHOSBTMF
>>414
画面の0.01%書き直すのと全部書き直すのじゃ1万倍時間の差があるじゃん
書き直さないなら無限倍時間が早くなるでしょう?

420:名前は開発中のものです。
13/12/12 20:43:41.57 RlWBUAnj
>>419
書き直さない処理って背景以外何があるの
背景ですら消す関数なんて呼ぶの面倒なのに

>>382
プレイしたけど体感ぬるぬるでもCPU微妙に使ってるね 原因は普通に重いだけなんじゃね
ただ勢いつけると画面外にマウス飛び出るのは何とかしてほしい
デスクトップに余計な操作してしまった

421:名前は開発中のものです。
13/12/12 20:45:01.63 +c5IX73N
>>410

二度手間だけど大丈夫。
モニタのリフレッシュレートが60の場合、秒間60回しか画像を書き換えない。
画像の100枚やそこら表示したところで1/60秒もかからないから、一回の書き換え時間内で完了できる作業なら2度手間でも200度手間でも時間的には一緒。
そして、今のPCの処理速度はものすごい速いらしく、コンテナにたくさん要素を入れて1フレームで何度も検索するとかしなければそう簡単にはフレーム落ちしない。
細かいこと気にしてないで、とっとと先に進んだ方がいい。

どうしてもそのやり方がいやなら、DXライブラリから離れることになるんじゃないかな。
私はほかのやり方見たことない。

422:名前は開発中のものです。
13/12/12 20:45:27.82 LHOSBTMF
レスで言ってることが違うwwww

423:名前は開発中のものです。
13/12/12 20:49:00.65 JY9igZBd
>>382
実行ファイルを試してみました。
3D対応グラボーで、40~60fps,稀に30fpsになる。
極端に遅いわけではないけど、3D未対応のノートパソコンでは辛いかもしれません。

424:名前は開発中のものです。
13/12/12 20:49:22.35 LHOSBTMF
解像度が異常に高い画像をアップロードしようとしたら
動作遅くなりまくりますか?
横100万画素
縦80万画素
どうなる?

425:名前は開発中のものです。
13/12/12 21:03:01.30 E6McHG3D
>>382
ガチPCの1時間放置ALT7桁でもFPS59.8以上安定してる

426:名前は開発中のものです。
13/12/12 21:03:33.97 cj/iHaaF
こいつってわざとバカを装ってるかまってちゃんかね

427:名前は開発中のものです。
13/12/12 21:05:08.34 jPdshx4A
kazuki君に似てるな。
毎度毎度、お前らやさしいな。

428:名前は開発中のものです。
13/12/12 22:05:03.39 8KqFEAbV
>>424
3Gバイト近くある画像とか、現在のコンピュータ環境では厳しいそうだな

>>427
成長するとああなるのかもしれんが、流石に別人じゃろw

429:名前は開発中のものです。
13/12/12 22:34:57.31 ggJV+65h
画用紙に背景の絵を描きますよね? それに人物の絵を描き加えるとしますよね?
次にその人物を違うポーズに変更しようとしますよね?
でももう背景に上書きしちゃってるので、背景から描き直さなくてはいけませんよね?
コンピューターの描画はこれの繰り返しです。

ファミコンとかのゲーム専用機には「スプライト」という、アニメでいうセル画がみたいなのがあって
描画負荷を軽くする工夫がされてましたが、今どきのPCの性能ならそんなのなくても充分なのです。
(重ねあわせる画像をスプライトと呼ぶのはその名残)

430:名前は開発中のものです。
13/12/12 22:37:44.67 ggJV+65h
んで、同じ絵を何度も何度も描き直すのに、
毎回画像データを読み込んでたらとんでもない負荷になりますよね?

だから予め画像データをメモリ上に読み込んでおいて、
「描く」だけを何度も繰り返すのです。

431:名前は開発中のものです。
13/12/12 22:50:21.06 OWkqxLZc
一人で作ってると一番の問題はモチベーションの気がするんだ・・・。

432:名前は開発中のものです。
13/12/13 00:12:21.14 6ySiQFYU
なんでこんなクズに教えちゃうの?バカかお前ら

433:名前は開発中のものです。
13/12/13 01:05:27.08 xT5S28jk
>>382です
シングルスレッドでcpu1コアでやってるのですが、
結局の所、3dゲームとしては妥当な負荷量なのでしょうか?

あとソースコードはvs2010です、すいません。
レビューしてくれるといってくれたひとが数人だったのでダウンロード制限5回までにしてました
亀になりますが、詳しくレビューしてくれる方がいらっしゃるならまた上げます

434:名前は開発中のものです。
13/12/13 09:14:50.31 xKAhw+iZ
>>419
そもそもOSはそうやって必要な部分だけ消して上書きしたりしてるんだよ。
URLリンク(msdn.microsoft.com)

>>403 のリンク先にも登場する基本。

そしてそれはそれとして、アプリ側の都合でそれじゃ問題ある場合に、自分のクライアント領域をダブルバッファリングで上書き繰り返しするんだよ。

435:名前は開発中のものです。
13/12/13 09:25:50.16 35O7WwTq
もうさわんなよ爆釣じゃねーか

436:名前は開発中のものです。
13/12/13 10:43:24.72 xT5S28jk
ソース
URLリンク(www1.axfc.net)

実行ファイルだけ
URLリンク(www1.axfc.net)

今FF14プレイするようなデスクトップPCだからそんなに重いと感じなかったけど、
corei3のノートパソコンでやったらFPSが下がるわ下がるわで・・・

プロジェクトのファイル構成は
main.cppにエントリポイントがあり、そこでAdminクラスを継承したシーンクラスが、それぞれ画面を管理してます
問題になる部分はPlayAdminクラスで、PlayAdmin::Play()がゲーム本体のメインループを担当しています

最初は設計しっかりやったのですが、シングルトンとか使ってる上に
最近ちょっと急いで機能実装したのでスパゲッティになってると思います

437:名前は開発中のものです。
13/12/13 10:44:57.60 xT5S28jk
すいません!ブラウザの進むボタン押してしまいましたすいません

438:名前は開発中のものです。
13/12/13 11:16:36.72 YLoJHcec
8ビット時代の高三かよw

439:名前は開発中のものです。
13/12/13 11:20:34.64 E0ngYd2p
なんてこったい

440:名前は開発中のものです。
13/12/13 15:41:14.11 +hkdtW8O
結局の所重いとかどうとか、どうなったんだ

441:名前は開発中のものです。
13/12/13 15:50:38.09 brnqlIDg
平日なのに他人のソースなんてそんなに簡単に追えんわ
ハイスペPCだからか負荷全く感じないし
無駄に描画とか計算とかしてるかライブラリの仕様かどっちか
Dxlibの3Dのコストがどんなもんなのかも知らんし

442:名前は開発中のものです。
13/12/13 17:10:13.51 1/aq5Qrb
>>436
起動して自機を見ただけだけど、
オンボード(グラボなしのノートPC)で余裕で動いたぞ

敵の大群とか弾があったらどうなるかしらん。
重くなったら解像度と奥行きを抑えればどうにかなるだろ。

443:名前は開発中のものです。
13/12/13 17:14:24.97 1/aq5Qrb
ソースはダウンロードできなかった。

444:名前は開発中のものです。
13/12/13 18:32:09.08 2p8CNYEs
描画距離って処理速度に影響してくるの?
描画する要素が多くなるから
ってことなら、描画してるのは天球とか機体だけだからそんなに負荷変わらないような

445:名前は開発中のものです。
13/12/13 23:24:33.39 QRPVBqXN
奥行きを設定してあまりに遠すぎるものの描画を省くってことじゃないんか?

446:名前は開発中のものです。
13/12/14 00:37:13.03 ++viSzPI
442だけど445さんの意味だよ。
アプリの内容は知らないけど、シューティングだと思うので書いた。

水平線の遥か彼方に飛んでいったミサイルとかは描画しない、
あるいはそうならないように弾丸は5秒で消えるとかアプリの仕様を工夫するのは
基本でしょ。

もちろん全て今後の追加内容次第の話だけどね。

447:名前は開発中のものです。
13/12/15 12:19:47.40 9ljCa3Kz
ソース落としたやつの返信がまるでないようだが。

448:名前は開発中のものです。
13/12/15 13:45:09.93 Hz+1xI4L
プログラムスレって偉そうなこと言っておきながら具体的なソース書けない奴ばっかだもの

449:名前は開発中のものです。
13/12/15 14:05:34.02 1GmHMFtI
DLできた人何人いるのよ?

450:名前は開発中のものです。
13/12/15 16:02:10.70 9ljCa3Kz
5人だろ?
>レビューしてくれるといってくれたひとが数人だったのでダウンロード制限5回までにしてました

同じ奴が5回落としてたら違うだろうけどw

451:名前は開発中のものです。
13/12/16 18:33:42.92 K1sB0mkG
うpされてたぐらいの自作ゲームって
corei3 380/4GBじゃきつい?

452:名前は開発中のものです。
13/12/16 20:59:35.21 bve3ecQv
CPU : Celeron 1.8GHz
システムメモリ : 4GB

余裕だったぞ

453:名前は開発中のものです。
13/12/17 08:27:14.77 l+XOoEU8
今のご時世、CPUメモリよりもグラフィックボードやVRAMの方が重要な気がする

454:名前は開発中のものです。
13/12/21 23:08:36.29 Yi4v4ieN
BMPだと無圧縮だから展開処理が不要で処理が早いと書いてありました
圧縮不要なくらい色数が少ない画像ならBMPを使う方が断然良いってことでしょうか?

ちなみに16色以下の4ビットBMPで保存した場合で比較してみたところ
画像によってはPNGよりもファイルサイズが小さくなることもありました

455:名前は開発中のものです。
13/12/21 23:12:07.18 Z2trQXsX
お前は何にも分かってないな

456:名前は開発中のものです。
13/12/21 23:22:11.86 JXrxEU1J
一行目と二行目の関係が解らん……。

457:名前は開発中のものです。
13/12/21 23:38:55.19 Yi4v4ieN
ゲームで使う画像ファイルにはpngを使っていたんですが
キチッと色を調整して16色以下に抑えれば
bmpでもpngの時とさほどファイルサイズは変わらないようです

ということは配布する時の「ファイルサイズを小さくできる」といったpngのメリットは消えて
ゲーム実行時の「展開処理を必要とする分だけ処理が遅くなる」というデメリットだけになるのでは?ってことです
実のところどうなんでしょうか?

458:名前は開発中のものです。
13/12/21 23:52:38.60 JXrxEU1J
質問の答えじゃなくて申し訳ないが
そんなに容量きりつめなくてはいけないほど大量の画像使ってるの?

いやぁ俺の場合音楽データばっか大きくて、画像データなんてそれに比べれば微々たるものだからさ……。

459:名前は開発中のものです。
13/12/22 00:36:46.08 VxmegpWF
画像ファイルで良く使われるのが.pngです。良いです。
.jpgもありますが、画質劣化するので使いません。透明もありません。

DirectXでは、.DDSが一番良い。 画質劣化、透明、速度に関して

460:名前は開発中のものです。
13/12/22 11:48:10.15 aPRmSWB9
>>454
・ファイルフォーマットってのはHDDやなんかのストレージに収めておくときのファイル形式で、
展開が云々ってのは、それをロードする時の話。
・ロードする処理と、描画する処理はプログラム的に全く別物。

この辺の入門レベルの切り分けを踏まえた上で考え直して。

461:名前は開発中のものです。
13/12/22 11:51:24.34 aPRmSWB9
>>457
基本pngでいい。bmpでも構わない時だけbmpでも、いい。
20数年前の16bitマシンでも使ってるなら悩んだ方がいいが。

462:名前は開発中のものです。
13/12/22 22:11:32.46 CXw2CLht
VRAMサイズ抑えれるんじゃないの?

463:名前は開発中のものです。
13/12/22 22:16:20.61 h1ulpp9F
PC-9801みたいに1ドットに3ビット使って8色だしてるところを
2ビットに減らして4色にしたとかいうならVRAMの節約にもなるだろうけど……

464:名前は開発中のものです。
13/12/22 22:21:00.64 bhg3zs8j
基本的に32bitカラーに展開しないと使えないから同じだろ
シェーダー内で使うならパレット形式でも使えるだろうけど処理が無駄すぎる

配布サイズなら7zでbmpのが圧縮される可能性あるけど
展開後のサイズのが気になるからpngのほうが良いかと

465:名前は開発中のものです。
13/12/23 02:10:02.27 UXb3wWt0
>>462
それはpngやbmpみたいなファイル形式の話じゃなくて、こっち↓の話。
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
ごっちゃにしちゃいかんよ

466:名前は開発中のものです。
13/12/24 17:47:14.48 Akz3xHfB
凹やレンズ凸レンズを通して見たような感じに画像を変形させる関数ってある?

467:名前は開発中のものです。
13/12/25 10:48:52.64 CUbWJvC8
なんでそんな固有用件の処理が汎用関数として用意されてると思ったの?

468:名前は開発中のものです。
13/12/25 10:54:53.86 itMCNQc1
SetupCamera_Perspective( float Fov ) ;

これでFOVをセットできます。視野角です。
参考までに、35mmカメラ換算として

14mm 114度 魚眼
28mm 75度 広角
50mm 47度 標準レンズ
300mm 8度 望遠

469:名前は開発中のものです。
13/12/25 11:18:20.73 Z3xFHWMl
>>467
ペイントソフトで出来るような変化をさせる関数GraphFilterがあるから
レンズ越しの変形っぽくする関数があっても不思議じゃないなーと思って

470:名前は開発中のものです。
13/12/26 00:22:20.27 xyR7W7tq
confファイルとかiniファイル作ってみたいんですけど
DXライブラリでゲーム作るときこれらのファイルは不要ですか?
かっこつけたいから作ってみたいっていう単純な理由ですけど
あえて作る必要ないですか?exeファイルとjpgファイルだけじゃ
簡素だなーって思われるのが嫌なんですよ。

471:名前は開発中のものです。
13/12/26 00:31:48.63 xyR7W7tq
作るゲームはhelloworldと入力したら「よく入力できました」っていう
文字を出力し、hellowolrdと打ち間違えたら「2文字間違えました!」って
指摘するゲームです。このゲームでconfファイルを作りたいです。
技術者のみなさん知恵を貸してください。

472:名前は開発中のものです。
13/12/26 00:32:21.87 PC8hDA8a
iniファイルっていうのはユーザーが自由に書き換えていいって意味のファイル
だから変更されていい内容なら使えばいい

473:名前は開発中のものです。
13/12/26 00:33:09.14 PC8hDA8a
あともう一つ

技術もないのに小手先でカッコつけようとすんな

474:名前は開発中のものです。
13/12/26 00:42:30.01 xyR7W7tq
>>473
フォルダにconfという拡張子があれば俺はそれで構わない、何も望まない

475:名前は開発中のものです。
13/12/26 00:43:38.47 PC8hDA8a
だったらファイルをアーカイバで固めて拡張子をconfにすりゃいいじゃん

476:名前は開発中のものです。
13/12/26 00:46:20.79 xyR7W7tq
>>475
そのconfファイルってexeファイルとどう関連してるんですか?

477:名前は開発中のものです。
13/12/26 00:50:03.01 PC8hDA8a
dxaファイルの名前がconfになっただけだからなにも変わらないが

478:名前は開発中のものです。
13/12/26 00:50:32.38 M1U0vCCJ
ここで聞くなボケ

479:名前は開発中のものです。
13/12/26 00:56:51.32 xyR7W7tq
>>477
無くても大丈夫なのは何故ですか?

480:名前は開発中のものです。
13/12/26 00:58:31.60 PC8hDA8a
何を言いたいのかわからん

DXライブラリに関した質問じゃないのはわかるんで、C++の質問スレにでも行って来い

481:名前は開発中のものです。
13/12/26 08:43:17.90 o1nZNR82
>>470
DXライブラリ関係なく、普通にC/C++でファイルReadして好きに利用する処理書いたらいいだけなのに、何を質問する事があるの?

ちなみにiniに関しては知ってて当然レベルだけど、win32のレイヤーにAPIあるから利用してもいい。
URLリンク(wisdom.sakura.ne.jp)

482:名前は開発中のものです。
13/12/26 08:43:51.75 w6BxfUND
質問に至るまでの流れがどう考えてもおかしいし、ただの釣りだろ

483:名前は開発中のものです。
13/12/26 08:54:27.11 o1nZNR82
釣りなら釣りでいいけどな。
ただDXライブラリ利用者の中には、それ以前の当たり前レベル、前提レベルの知識や考え方なんかを
色々とすっ飛ばして利用しようとしてるちぐはぐな初心者を時々見かけるので、なんだかなぁと思った。

あとファイル操作関連のド基礎も含めてこれも貼っとく。
URLリンク(www.cppll.jp)

484:名前は開発中のものです。
13/12/26 09:23:53.15 ee84aAfK
仮に釣りでもマジレスしてくれれば他の人の参考になるしな

485:名前は開発中のものです。
13/12/26 10:01:45.62 o1nZNR82
と言うか、上のリンクにあるような物は、DXライブラリみたいな応用編ではないもっとうんと手前にあるド基礎の話なので、
せめてテストコード継続して書くとか、なんか簡単なツール作るとかして具体的に理解深めた後で色々話して欲しいと思った。

どうせゲームなりなんなり作る段階では当たり前に使う物だし。キリが無いし。

486:名前は開発中のものです。
13/12/26 12:22:23.48 hUAF7K9V
confファイルはconfigファイルとは違うの?
後inifファイルとconfファイルは同じ?
この二つだけ答えて欲しい。
答えてくれたらゲーム制作に戻ります。

487:名前は開発中のものです。
13/12/26 12:28:10.04 8itBnJa5
DXライブラリの水の作り方が分からないんだけど
ググっても出ないし、みんなどうやってるの?

488:名前は開発中のものです。
13/12/26 12:37:27.45 6Dv7eyM4
>>486
そのファイルの意味する所が不明ですけど、
一般的に、設定ファイルや記録ファイルとしてテキストファイルを使う。
例えば、画面の大きさ設定などをファイルに記録しておき
次に起動した時にそれを使うように。
また、ゲームの最高得点を記録として残して一覧表として
表示されるように、ファイルに記録して残したりする。
このファイルの操作は、C言語のファイルの取扱で解説してある
ので、C言語の教科書を読んでみてください。

489:名前は開発中のものです。
13/12/26 14:47:36.42 hUAF7K9V
コンフィグファイルがconfファイルなの?
それだけが知りたいです。

490:名前は開発中のものです。
13/12/26 15:23:27.36 YzzOhDal
流れ知らないけどconfファイルとか個人的に気持ち悪いからcfgにするわな

491:名前は開発中のものです。
13/12/26 16:24:18.30 ZMschiXc
なぜ構ってしまうのか

492:名前は開発中のものです。
13/12/26 16:40:43.47 o1nZNR82
>>489
お前が決めたんならそうだよ。
つまり製品によって違うってだけ。好きにしろよ。マジで。

493:名前は開発中のものです。
13/12/26 17:54:42.12 NW8oapoe
>>489
バカだろお前

494:名前は開発中のものです。
13/12/26 18:11:59.76 2u/e5+2P
学校の課題で「リサージュ図形プログラム」てでたんだけどナニコレ

495:名前は開発中のものです。
13/12/26 19:25:10.38 w6BxfUND
>>494
何故この板のこのスレで質問しようと思った?

496:名前は開発中のものです。
13/12/26 20:28:26.67 lVR90Y11
そういう髪型があるんだよ

497:名前は開発中のものです。
13/12/26 23:05:28.06 HxPOzWOf
キャラクターのパラメータデータってプログラム内の定数として直書きする?
それとも外部ファイルから読み込む?
その場合はどんな拡張子にする?

498:名前は開発中のものです。
13/12/26 23:22:07.48 PC8hDA8a
どうせ最終的にアーカイブするんだから拡張子とか関係ないだろ?

499:名前は開発中のものです。
13/12/26 23:42:20.52 fCfxjEwL
>>497
キャラクターのAIを外部ファイル(dll)にするのは手間が掛かるから
簡単な数値設定も含めて基本的に直に書いてる。

500:名前は開発中のものです。
13/12/27 09:41:40.37 othLuvJF
外部ファイル。バランス調整でコンパイルするのめんどい。
拡張子はdatとか適当。

501:名前は開発中のものです。
13/12/27 11:13:51.69 n1oY/10v
俺も外部ファイルにしてる。自分仕様のアーカイブに固めてるけど。

502:名前は開発中のものです。
13/12/27 11:30:05.53 NnhvuRa/
プログラム内の定数でいいよ
その必要性がわかるようになった時に外部ファイルに出せばいい

外部ファイルを使うってのは
自分でフォーマットを決めて格納して
プログラム外で編集とか自力でやるという前提だよ

503:名前は開発中のものです。
13/12/27 12:04:03.70 7chRzBy0
直でいいよね
ツール作ってて、それで編集するときだけだな外部は

504:名前は開発中のものです。
13/12/27 12:50:15.11 n1oY/10v
簡単な内容とか小さい内容とか、あるいは初心者で意味がわからないとかなら、コード上に直接並べてもいいと思う。
いずれにしても理由あって手段を決めるだけなので。

505:名前は開発中のものです。
13/12/27 12:52:38.55 7chRzBy0
ところで髪を半透明テクスチャで表現したいんだけど、メッシュ透明度をMV1SetMeshOpacityRateで上げればテクスチャ残したまま板ポリ消えるかな?

506:名前は開発中のものです。
13/12/27 17:04:48.94 KNd0z8Kk
自分も外部ファイル作って、大量のデータをそこから読んで
好きな形で表示できるようにしてる

独自形式でもファイル読み込みさえ出来れば
データ追加が楽になる

507:名前は開発中のものです。
13/12/27 19:19:56.75 RI0IXlJk
ステージクリア型のミニゲームで、
最初からゲームに含まれているステージは内部データ(配列として直書き)、
エディットモードで作成されたステージや、追加ステージ配信なんかは外部ファイルにしたことがある。

なんでそんな面倒な作りにしちゃったのか10年前の俺…

508:名前は開発中のものです。
13/12/27 21:05:50.26 qR2PkovD
別に面倒そうな作りとは思えんが……。

俺は直書きだな。
外部ファイルにする技術と根性がなかったのが主な要因だけど
ステージ切り替えなどのたびにいちいち読み込んでテンポ壊さずに済んだのはむしろ良かった。

509:名前は開発中のものです。
13/12/27 22:51:31.10 VZhm7cNP
キャラクター固有のアクションとか持たせ用とした時、じゃあキャラクターごとにクラス作るか
って話になってそうするとこの外部ファイルはこのクラス、っていう分岐処理が必要になって
そもそもなんで外部ファイルに値を書いておくのがわからなくなる

510:名前は開発中のものです。
13/12/27 23:03:43.17 RcX+Zbl3
かなり安定するまで直のほうがいい。
トップダウンで最初からファイルフォーマットとか決めても
あとで変更する手間が増える。

511:名前は開発中のものです。
13/12/27 23:13:15.24 x+/UZ836
DXアーカイブのパスワードについてなんだけどみんなどんな風にコーディングしてる?
俺のはぶっちゃけ隠すようなもんじゃないしガチガチじゃなくてもいいんだけど、
プレイヤーのモチベのための最低限のブロックは必要かなぁって思ってるんだよね。

・キーワード(文字列①)→ハッシュ化(文字列②)
 文字列②で暗号化、文字列②をコーディング

これくらいでいいのかな?それとも

・キーワード(文字列①)→ハッシュ化(文字列②)→ハッシュ化(文字列③)
 文字列③で暗号化、文字列②とハッシュ関数をコーディング

これくらいやるのかな?

512:名前は開発中のものです。
13/12/27 23:19:10.45 7chRzBy0
だーれも答えてくれねぇ…

513:名前は開発中のものです。
13/12/27 23:19:34.53 VZhm7cNP
スレチかもしれないけどゲームの設計で
1.キャラクター共通のデータを持つ定数クラス(最大HPとか経験値テーブルとか)
↓基礎パラメータに固有パラメータを加減算する(ポケモンでいう努力値)
2.そのキャラクター固有のパラメータを持つクラス(Lvとかフィジカルボーナスとか)

3.実際に動くキャラクタークラス(当たり判定とかダメージ処理がある)

って感じで分けてるんだけど、合ってる(問題ない)?

3を作成する時に、if文連打でインスタンス作るクラスを線形探索する必要があるから・・・

class one_character_record{
const int CHARACTER_ID;
const int HP,MP,SP;
//レベルが上がるに連れてHPMPSPをかけてく
const float HP_RATE,MP_RATE,SP_RATE;

//コンストラクタで初期化
};
class one_character_datebase{
vector<one_character_record> character_list;
};

class two_character_info{
int character_id;
int level;

three_character_entity create_character(){
ここでif連打してクラスを線形探索してしまう
}
};

514:名前は開発中のものです。
13/12/28 01:01:40.20 uGS4rdij
>>513
横だけど、線形探索が嫌なの?それともif連打が嫌なの?

線形探索はListをSetかMapにすればOK。
その場合、キャラID外出しのMapの方がラクそう。Setはめんどいと思う。

if連打の方はその例だとよくわからないんだけど、
「あるステージに登場する敵一覧」みたいなのは、
コーディングでも外部ファイルでも、どっかに作っておかない無理なんじゃない?
そうは言っても、struct Tuple{int id, lv;}みたいな構造体のリストが
あれば十分でif文は使わないと思うよ?

515:名前は開発中のものです。
13/12/28 01:35:07.42 os0Do0OO
struct Data { int hp, atk, def; };

class ActorType {
Data type; // 種族の初期値
Data lv; // レベル上がったら
};

class Yusya : ActorType {}
class Mahotukai : ActorType {}
class ZakoSlime : ActorType {}
class BossGoblin : ActorType {}

class Actor {
ActorType* pType;
Data max; // 最大( const にできないけど )
Data now; // 現在
}

後はActorのインスタンスに値を渡すなり、Actorを更に継承するとかで。

516:515
13/12/28 01:59:56.67 os0Do0OO
>>513
説明不足かもしれんから補足

Data が 1。ActorTypeが 2。Actorが 3。
if文連打ってたぶん自分がどの種族かって話だと思うけど
ActorにActorTypeを継承した勇者とかゴブリンのポインタを渡しておけばOK

517:名前は開発中のものです。
13/12/28 02:05:22.92 os0Do0OO
>>511
複数回暗号化したらゲーム側で復号できるの?
DXライブラリのFile Read APIだとキーワードひとつしか使えないと思うけど。

518:名前は開発中のものです。
13/12/28 08:15:51.01 w2FghHnt
サブクラスのコンストラクタの関数ポインタって、スーパークラスのコンストラクタポインタ変数に代入できる?

if文使うより綺麗にはなりそう

enum e_kind{yusya,mahou,size};

class yusya:unit{
public yusya();
}

class mahou:unit{
public mahou();
}

//あとユニットクラスのコンストラクタの関数ポインタ配列にyusya,mahouをいれて
配列のインデックスに列挙体の定数入れて呼び出す
戻り値はunit


って感じのできたらいいんだけど、
結局配列に関数ポインタいれるのてが気になるんだよなぁesp

519:名前は開発中のものです。
13/12/28 10:14:16.10 nxegrboe
>>518
とりあえずコンストラクタの関数ポインタはC++の言語仕様上捕れない。
なので、配列に関数ポインタ入れてコンストラクタを動的に切り替えたい場合は、
オブジェクトを生成するのstaticメンバ関数を定義するのが定石。

URLリンク(codepad.org)

520:名前は開発中のものです。
13/12/28 11:57:17.21 os0Do0OO
相変わらず質問の日本語がひどいな。
const変数の初期化をしたいのかな?
仮想関数の継承はどうだ?

class Unit {
const int HP, ATK, DEF;

Unit(){
HP = getHP();
ATK = getAttack();
DEF = getDefence();
}

// 純粋仮想関数
virtual int getHP() = 0;
virtual int getAttack() = 0;
virtual int getDefence() = 0;

};

class Yusya : Unit {
virtual int getHP(){ return 100; }
virtual int getAttack(){ return 20; }
virtual int getDefence() { return 40; }
};

521:名前は開発中のものです。
13/12/29 01:29:49.14 BhN6KG/p
>>511
パスを暗号化なんてナンセンス
パス文字列を数字にして、プログラム側では数字を文字列に変換する文字列を通して渡すだけでいい
実行ファイルからパス文字列を特定するのは簡単でも、たった数バイトの数値データを特定するのは難しいからな

522:名前は開発中のものです。
13/12/29 11:59:45.32 d2x6Ostz
>>513は礼も言わずに去ったか

523:名前は開発中のものです。
13/12/29 17:46:51.79 wzfWyjoW
コミケ勢かもしれないしこの時期は気長に待てよ

524:名前は開発中のものです。
13/12/29 18:23:59.02 4BNWk9QG
>>521
おおなるほどね、たしかにint_64なら8バイトだが
それをそのまま文字列化すれば18文字くらいになるのか

525:名前は開発中のものです。
13/12/31 10:03:19.36 aX8L8hoQ
>>522
死ね

526:名前は開発中のものです。
13/12/31 16:47:08.93 GojrE8K5
たまにこのスレに相談させていただきながら作っていたゲームがようやく完成しました
アドバイスくれた方々本当にありがとうございました

527:名前は開発中のものです。
13/12/31 22:00:54.55 BDzEArYB
>>526
死ね

528:名前は開発中のものです。
13/12/31 22:10:37.75 ZqBdBoPn
>>526
頑張ったね~、その調子で次も頑張れ!

529:名前は開発中のものです。
14/01/01 10:30:06.29 TDYNLr8C
>>513
死ね

530:名前は開発中のものです。
14/01/01 13:01:15.47 2ZrgSTYN
エフェクトにeffekseer使ってるかたって結構いらっしゃるんですか?

531:名前は開発中のものです。
14/01/01 23:42:07.23 ZZixNcFD
さぁ、どうだか

532:名前は開発中のものです。
14/01/02 01:59:57.09 mQcY+tY8
>>530
「結構」かどうかは分からないが、確実に1人は居る

533:名前は開発中のものです。
14/01/02 02:12:28.31 h0bJk+dx
未完なのにステマがひどいアレか

534:名前は開発中のものです。
14/01/02 02:23:09.35 31STBYcg
あのクオリティでも未完なのか…

535:名前は開発中のものです。
14/01/02 03:52:54.76 ePSMpJea
知ってるのはニコ動のリノ・ライトの~ってやつ2作品と東方の3D弾幕対戦の計3作

536:名前は開発中のものです。
14/01/02 07:31:25.81 bOXwmiWI
いつの間にか3Dモデル機能無し版なんて出てたんだな
2Dしか使ってないから使ってみるかな

537:名前は開発中のものです。
14/01/02 10:05:44.69 QNF6HRzp
なんでDXライブラリ関係ないのにここで訊いてんのか。

538:名前は開発中のものです。
14/01/02 10:30:16.46 NkKMltDW
組み合わせが良いんじゃない?

539:名前は開発中のものです。
14/01/02 10:56:44.99 TBb/D2P0
エフェクトに外部ライブラリを使うのは好かないな
見た目にしか影響しない部分は極力軽く作りたいのに、必要以上に重いのが多いし

540:名前は開発中のものです。
14/01/02 21:21:27.59 wy3EKv/4
とはいえ1こづつプログラムで作ってたらきりないしねぇ

541:名前は開発中のものです。
14/01/02 22:11:10.58 mQcY+tY8
エフェクトツールはビシャモンのほうが気になる

542:名前は開発中のものです。
14/01/02 22:30:34.78 h0bJk+dx
エフェクトにツールなんているん?

543:名前は開発中のものです。
14/01/02 22:37:51.23 j/xsuPGt
作ってるものや人によっても違うし。
必要な人には必要。必要ない人には必要ないとしか言えん。

544:名前は開発中のものです。
14/01/03 02:35:25.55 4Pgbyt5k
photoshopの機能を使いこなせばそれなりの事が出来るとか
まあ、持ってはいるんだが使いこなせてないからよく分からんが

545:名前は開発中のものです。
14/01/03 02:42:56.84 3an0Y6Ul
組み込みライブラリ使ってまで必要かな?とか思ってたら
自分もマップエディタをツールと読み込み用ライブラリ組み込んで使ってたわ

546:名前は開発中のものです。
14/01/03 11:43:41.36 4cktyMT4
【東京】有楽町駅の火災、JRの通信ケーブルも焼ける 




スレリンク(newsplus板)

547:名前は開発中のものです。
14/01/03 14:05:19.45 Lt/0Pr5R
実況ゲームやり方
URLリンク(webblogsakusei.main.jp)

548:名前は開発中のものです。
14/01/05 16:02:41.52 EueQplrk
常に音を出してるオブジェクトってどうやって管理すればいい?
エンジン音とかそんなものなんだけど、
車オブジェクトが1秒毎に1秒間の音声ファイルの再生リクエストしてる感じ?

それとも管理クラスに「これループ再生しといて」って言って、
そのIDかポインタ持って車オブジェクトが加速とかしたらその加速時の音を再生するみたいな・・・

BGMのループ再生と同じ?

549:名前は開発中のものです。
14/01/05 17:47:36.38 n0v9pV4N
>>548
俺ならそうする
大抵、ワンショット再生か、ループ再生かとか指定できるようにする。

550:名前は開発中のものです。
14/01/06 17:20:27.14 Db3wqsOf
DxLibでカラーパレット変更して2Pカラーを表現できるみたいだけど
ああいうのってシェーダいじればできるの?もっと他の方法?

551:名前は開発中のものです。
14/01/06 17:32:18.47 8ktQGSmT
2P用だとバッファで変換しないとならんし力技じゃないのかね

552:名前は開発中のものです。
14/01/06 17:41:32.51 g6N0ueBX
それでふと思ったが、PixelShaderで色の置き換えしようとすると「何を、何へ」の「何へ」は書き込みだからいいとして、
「何を」の部分を受け取らないといけないが、COLORで受け取れる値ってアンチエイリアス後だったっけ。
それともフラットなマテリアル色だったっけ。
前者だった場合パレット表現しんどいなとふと思った。

553:名前は開発中のものです。
14/01/06 17:44:54.87 g6N0ueBX
ごめん、すっとぼけた事書いた。スルーで。
後の訳無い。

554:名前は開発中のものです。
14/01/06 19:25:11.77 jroo12yT
この流れのついでにDirect2Dについて解説してくれろ

555:名前は開発中のものです。
14/01/06 19:29:07.64 ZBrRAHR2
1枚の画像を2Pカラー化する方法知りたいっす

556:名前は開発中のものです。
14/01/06 20:26:38.79 SwrL+Z3x
>>554
ゲームで使うものではない
いやマジで

557:名前は開発中のものです。
14/01/06 21:07:05.90 /uvZ+hs4
>>555

256色とか16色のBMPを使って、カラーパレット部分を直接書き換える。

558:名前は開発中のものです。
14/01/06 22:18:09.44 jroo12yT
>>556
そ、そうか、わかった
忠告ありがと

559:名前は開発中のものです。
14/01/07 17:30:28.51 a50RC6dR
壁との当たり判定について分からないから3Dアクション基本を見てたんだけど、
「ポリゴンの法線のY成分」って当たっている面の角度ってことでいいんだよね?
イマイチこれだけだと法線の扱いが分からない

560:名前は開発中のものです。
14/01/08 01:23:17.21 GhGooqG2
>>559
なんとなく質問がぼやっとしてるんだけど、その「ポリゴンの法線のY成分」ってのは多分、
そのポリゴン=「面」における座標空間でY軸を高さ方向とした時、それを面の方向ベクトルつまり法線としてるって前提だから、
その方向ベクトルに対して「当たりに行く側の」方向ベクトルとのなす角について計算するだけの話では。

561:名前は開発中のものです。
14/01/08 18:02:56.67 tURBup32
>>560
やっていることはわりと簡単だけど、説明できない人多いよなぁ
なんだろ、文盲?

562:名前は開発中のものです。
14/01/08 18:23:57.47 7e4V+y6u
// 検出されたポリゴンが壁ポリゴン( XZ平面に垂直なポリゴン )か床ポリゴン( XZ平面に垂直ではないポリゴン )かを判断する
(略)
// XZ平面に垂直かどうかはポリゴンの法線のY成分が0に限りなく近いかどうかで判断する

たぶんソースのここの部分だと思うが

563:名前は開発中のものです。
14/01/08 18:31:29.07 GhGooqG2
>>561
さぁ?

564:名前は開発中のものです。
14/01/08 18:33:01.28 +GfACctw
>>557
遅レスだけど助かりました
使用パレット少ない方がいいのかー

565:名前は開発中のものです。
14/01/09 00:19:43.62 u/5Mkl0f
↑の法線のY成分に入ってる数値って触れたポリゴンの垂直角度を基準の0度とした状態なのかね
勉強してこないと阿寒湖

566:名前は開発中のものです。
14/01/09 11:59:05.66 cUtmN0XS
absolute authority



URLリンク(www.youtube.com)

567:名前は開発中のものです。
14/01/10 03:10:17.72 MSpxeAqe
スレリンク(gamedev板:691番)
  ↑  ↑  ↑  ↑  ↑  ↑

568:名前は開発中のものです。
14/01/10 17:02:00.53 h2ZhPVJ+
下らない質問で申し訳ありませんが
画像を入れ替える場合、int型のデータハンドルをそのまま代入して入れ替えればいいのですか?
あるいはポインタとか使う必要はありますか?

int a, b, temp;

a = LoadGraph( char *FileName ) ;
b = LoadGraph( char *FileName ) ;

temp = a;
a = b;
b = temp;

DrawGraph( x1, y1, a, true) ;
DrawGraph( x2, y2, b, true) ;

一応こういうのが動いてはいるのですが、マズい方法なのかなと悩んでしまって昼も眠れません

569:名前は開発中のものです。
14/01/10 17:06:16.45 YP8fX2qG
>>568
マズい事も変わった事もしてないので大丈夫

570:名前は開発中のものです。
14/01/10 19:25:22.37 ymiTKugC
なんで入れ替える必要があるの?

571:名前は開発中のものです。
14/01/10 19:52:03.78 h2ZhPVJ+
>>569
ありがとうございます

>>570
描画順です

572:名前は開発中のものです。
14/01/10 20:49:32.06 dkda6PtW
描画順はともかく、ハンドル入れ替えは案外使えるテクニックかもしれん。
やるとしたら間に1つ変数を挟んで、その間の方を弄るようにするのがいいかな?

573:名前は開発中のものです。
14/01/10 22:32:23.39 YP8fX2qG
>>572
使えるテクニックも何も… バカソートでもいいからソート処理とか書いた事無いのか。
名前の付いてるアルゴリズムじゃなくてもいいから、普通に。

574:名前は開発中のものです。
14/01/10 22:39:15.90 YP8fX2qG
あ、でも一般化した場合の注意点あるとしたら、
対象が単純なポインタや管理番号としてのハンドル(例えばintのtypedef)とかじゃなく、
何かのインスタンスでかつコピー演算子がオーバロードされててかつ、コピーに対して安全じゃない面のだったら、
安直な入れ換えは出来ないけどな。言うまでもないが。

575:名前は開発中のものです。
14/01/11 00:42:40.61 CdbAKzPF
なんで>572宛のレスでソートの話が出てくるんだ? と思ったがまあいいや。

DXライブラリでのリソース系のハンドルは、基本intでしかなかった気がするな。
違ったっけ?

576:名前は開発中のものです。
14/01/11 05:15:45.88 ewMO4V4t
マップチップで描かれたマップ等の画像を縮小すると、誤差によってマップチップの間に隙間ができちゃうんですが
みなさんはどうやってこれを防ぎますか?

全体の縮小率に合わせてマップチップを少しだけ拡大(縮小率をこころもち下げる)して
ごまかす方向くらいしか思いつきません。

577:名前は開発中のものです。
14/01/11 10:55:36.59 CdbAKzPF
なるべく誤差がでないスケールにしつつ、後は自分でも言ってる通り適当にごまかすしかないんじゃね?

人間って静体視力に比べると動体視力って凄く低いらしいから、
たとえばアニメーション途中で多少ずれるくらいなら、たぶん気付かん。

578:名前は開発中のものです。
14/01/11 11:16:52.29 v71tEQ8V
チップ敷き詰め終わった絵を縮小するとか

579:名前は開発中のものです。
14/01/11 11:33:17.96 RLEibINy
解像度にあわせて全体の拡大縮小率を設定できる関数なかったっけ?

580:名前は開発中のものです。
14/01/11 13:24:17.60 aBgE98OE
>>575
いやソート処理書いた事あれば、ハンドルやらポインタのリストの入れ換えとか頻繁に書くからって意味でしょ

581:名前は開発中のものです。
14/01/11 13:32:12.78 aBgE98OE
>>576
そんなの、なんで隙間が出来るかちゃんと意味わかってたら解決する話じゃね。

つまり割った時の端数の切り捨てや四捨五入の結果な訳だから、
>>577 も言ってるが、スケール計算見直すか、あるいは別の方法として、>>578 も言うように一枚にまとめてからスケーリングするとかじゃね。

ただ当然後者の場合は同じ理由で、その一枚画像の端に1ピクセルの隙間出来るけど。

582:名前は開発中のものです。
14/01/11 16:18:25.25 ohUD/Gu5
DrawRotaGraphとかにはリファレンスに載ってないやつがたくさんある
拡大率をdouble(1.0で等倍)で指定するのではなく、
描画サイズ(int x, y, w, h)で指定できるやつを探してみ

583:名前は開発中のものです。
14/01/11 18:49:49.44 CdbAKzPF
>>580
ああ、そういうことか。
DXライブラリの画像ハンドルで使ったことはなかったから、繋がらなかったよ。

584:名前は開発中のものです。
14/01/11 19:32:59.91 Vur3booT
>>582
試してないけどGDIでの経験だと整数値で指定じゃ誤差分のズレは消えないと思う
GDI+だと浮動小数で指定できるからタイリングでの誤差が気にならない程度に出来てた

585:名前は開発中のものです。
14/01/12 19:32:53.69 WKgaTSVZ
テトリス何も参考にせずDXライブラリの関数とC言語の関数で
作り始めて2か月経過したんですけど、ステージとかブロックを
ループ内で表示させる関数はDrawScreenでいいんですか?
描画系の関数他にもありましたよね、効率の悪い関数使ってないか
怖いんですが、これでいいですか?

586:名前は開発中のものです。
14/01/12 21:54:22.69 HoQY7W6g
DXライブラリ公式の関数リファレンス、サンプルプログラムを読んでください

587:576
14/01/13 10:37:58.84 6VL0CxiK
皆さん色々アドバイスありがとう。
最初縮小率を工夫してなんとかしようとしたけど、DXライブラリの画像は縮小率○%で○ドットになる、ってのが結局掴めなくて断念しました。
582の言葉をヒントに、(言われてる命令がどれかはわかりませんでしたが)
今までRotaを使ってたのをModiに切り替えて、隣のチップと1ドット分重ねるようにすることで隙間がでないようになりました。

計算回数がちょっと増えたのと、計算結果を記録しておくための変数が割りと多く必要になったの以外は問題なく動いております。

588:名前は開発中のものです。
14/01/13 11:28:31.22 Rq2YD+PD
MakeScreenで1つのテクスチャにまとめておくと拡縮楽よ
ただMakeScreenで作った先は透過色が無効になるからシェーダーで描画する必要があるのが面倒だけど


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