トップページgamedev
1001コメント366KB

【初心者】スレを立てる前にココで質問を【Part22】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/11/12(金) 19:11:38ID:FvfF5z6o
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://hibari.2ch.net/gamedev/

ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/

gamdev.orgが落ちるたびにあげてみるスレ
http://hibari.2ch.net/test/read.cgi/gamedev/1107022166
0799名前は開発中のものです。2011/06/16(木) 23:56:54.59ID:Fl7GOd6q
>>798
マジレスすると、自分が特別だと思う幻想は
高校卒業までに捨てておかないとまずいぞ。
童貞を捨て損なうよりもまずいことになる。
0800名前は開発中のものです。2011/06/17(金) 00:09:21.53ID:DigtgZnd
自分が出来ることと出来ないことは明確にしておいて、自分に自信を持つべき
何でも出来るって自信満々に言う奴は案外何でもできるもんだ
自分に自信がなくて卑屈な奴は、多分何やっても成功出来ない

「自分は選ばれた」じゃなくて「自分で選んだ」にしないとな
0801 [―{}@{}@{}-] 名前は開発中のものです。2011/06/17(金) 00:13:10.94ID:aGqrbyQI
出来ない振りして真面目な顔して業務時間中にネットサーフィンしてるわ
出来る人と思われたがりの馬鹿に仕事押し付けて楽させてもらってるわ
0802名前は開発中のものです。2011/06/17(金) 00:14:28.33ID:bbG89U5Z
ネットサーフィンwwww
十数年ぶりに聞いたわwww
0803名前は開発中のものです。2011/06/17(金) 00:38:00.75ID:MnAHYNDt
>>800
何でも出来るって自信満々に言う奴は本人の自己評価の中でだけ何でもできるもんだ
周りの評価は往々にして「口だけ野郎」となる
0804名前は開発中のものです。2011/06/17(金) 01:07:02.33ID:DigtgZnd
>>803
お前の周りは足引っ張ることしか考えない奴が多いんだね
ちょっと同情するよ
0805名前は開発中のものです。2011/06/17(金) 01:13:41.12ID:ZK1EH5Uy
>>804
いや、単にお前がマヌケな自信過剰人間である可能性の方が高いと思うよ
ウザいから同情はしないけど
0806名前は開発中のものです。2011/06/17(金) 02:46:52.79ID:JocR9wGt
【アピール】プログラミングが(そこそこ)出来る
  ↓
【要望】組み込みでアレやって、オープン系でこれやって
  ↓
【実力】そこまでは無理
  ↓
【評価】なんだ使えねえ

能ある鷹は爪を隠すとか口達者の仕事下手とか諺が残ってるのを考えると
この流れって昔から変わらんのかねえ
0807名前は開発中のものです。2011/06/17(金) 04:00:30.78ID:PaI4sUvn
>>806
そんなことないよ。クライアント向けにアピール部分で引いてたらチャンス逃すよ。
君、Adaできる?って聞かれたたら、概要しかしらなくても、
もちろんですよ、任せて下さいと言って、
受注したらその足で、http://www.ada-auth.org/arm.html とか読んで
なんとかかんとか要件を満たすコードをでっち上げて納品する、なんてことは普通にやるよ。

有言実行とか能ある鷹も爪を隠さない、とかじゃないと仕事はできないよ。
ただ、攻撃されないように爪を隠すという本来の意味とはちょっとずれてることは
あるかもね。
0808名前は開発中のものです。2011/06/17(金) 07:41:59.98ID:G4JDaC7s
業務用アプリとゲームは完全に別物だと言っているのに、
ゴミコードを書いて作れるつもりになってるIT奴隷。
0809名前は開発中のものです。2011/06/17(金) 08:58:02.26ID:9Ot1gkyg
>>806の要望も読めないバカ発見。
0810名前は開発中のものです。2011/06/17(金) 11:59:52.15ID:085ghUsX
自己評価が異常にポジティブな人間て
できなくて人様に多大な迷惑をかけた事を病的に都合良く忘れて
小さな成功を「あれもできたこれもできた。何でもできる」というのが多くてなぁ

自我を守るための防衛機制の一種で、本人は幸せなんだろうけど
0811名前は開発中のものです。2011/06/17(金) 13:43:03.26ID:w9oa6pa7
そのぐらいじゃないと心を病んでいなくなっちゃくよ
0812名前は開発中のものです。2011/06/17(金) 14:10:56.46ID:baRbeHGT
日本語はもういいから英語でおk
0813名前は開発中のものです。2011/06/18(土) 01:23:13.22ID:2cLmjA+y
翻訳前:
とりあえず、派遣が口だけな理由がよく分かったわ
後の事を一切考えなくて良い人間なら>807方式でもやっていけるもんな

翻訳後:
For now, I just found a good reason for sending the mouth
If any man may think that after the> system at a livable mon 807
0814名前は開発中のものです。2011/06/18(土) 02:18:20.97ID:ywsQL7z7
ゲームプログラミングに関する質問はここで受け付けてますか?
0815名前は開発中のものです。2011/06/18(土) 02:22:16.42ID:Yef3x20w
>>813
英語の勉強してこいよ
0816名前は開発中のものです。2011/06/18(土) 03:08:19.63ID:2zL+gkKz
>>814
スレに誘導されるだけだったりスルーされたりしても構わなければ
0817名前は開発中のものです。2011/06/18(土) 05:35:40.77ID:iCd9TgSp
できないって言ったらもう価値がない人ってことになりそう
0818名前は開発中のものです。2011/06/18(土) 07:20:10.77ID:eGwHw2JO
807方式で後のことを考えるかどうかは要件によるんじゃね?
常に査収があるだろ、JK。働いたことないのかよ。
0819名前は開発中のものです。2011/06/18(土) 07:21:22.63ID:8HhXihTm
足の鎖を自慢するIT奴隷の巻
0820名前は開発中のものです。2011/06/18(土) 07:50:01.41ID:+yk43T4c
まあIT業界は嘘つきが多いんだよ
0821名前は開発中のものです。2011/06/18(土) 12:49:31.89ID:23ZQCR/3
×嘘つき
○しったか
0822名前は開発中のものです。2011/06/18(土) 17:31:39.37ID:uXPjqR8z
最後まで自分でやる気があるのなら807方式でホラ吹くのは割と常識。むしろ前向きな態度で好感が持たれる。
それで自分が苦しんだとしても自分の責任だから納得できるし、必ず得るものがある。

最初から誰かに丸投げするつもりでホラ吹くのは悪徳。ただの人売り。仕事に責任なんて感じていない。
とはいえ、営業と実働が完全に分離されている会社では改善が難しいかもしれない。
社内改革が必要。
0823名前は開発中のものです。2011/06/18(土) 19:18:38.50ID:2cLmjA+y
誰が後のメンテするんだ?
0824名前は開発中のものです。2011/06/18(土) 19:22:13.24ID:+yk43T4c
発注するが分からしたら、どちらも勘弁してほしいけどね
いつか必ず大失敗をするのは前者も同じなので
0825名前は開発中のものです。2011/06/18(土) 19:40:44.16ID:BaExXaTd
愚痴スレはここですか?(゚ω゚)
0826名前は開発中のものです。2011/06/19(日) 16:06:22.16ID:2lzEN5BK
Main()関数と比べるとWinMain()関数のファイル操作が激しく面倒なのですが

Main()関数みたいにもっと簡単にファイルからバイト単位でデータを入出力する方法はないですか?




0827名前は開発中のものです。2011/06/19(日) 16:22:21.93ID:Y4XKnk8k
>>826
言語が分からんぞよ
0828名前は開発中のものです。2011/06/19(日) 16:34:02.31ID:2lzEN5BK
C++です
0829名前は開発中のものです。2011/06/19(日) 16:48:48.11ID:XXa6LnpS
なんかしっかりとしたゲームプログラミングのノウハウが載ってるようなサイトないか?

自分が正しいプログラムかいてるのかどうなのかが判断できない
0830名前は開発中のものです。2011/06/19(日) 16:58:17.09ID:vaLZt7st
同じ640x480ピクセルの画像でもサイズが違う、ということがあるのでしょうか
背景素材サイトから頂いた背景画像(640x480ピクセル)と、
自分で書いた画像(640x480ピクセル)をそれぞれExcelに貼り付けたときに
大きさに違いがあります
0831名前は開発中のものです。2011/06/19(日) 17:03:09.33ID:Y4XKnk8k
>>830
biXPelsPerMeter biYPelsPerMeter の違いじゃね?
0832名前は開発中のものです。2011/06/19(日) 17:11:33.84ID:Av0kkiTu
>>826

普通にCの標準関数使えばいいよ。
fopen() fgetc() fread()
お好きなのをどうぞ?

確かにMSのコンパイラでは警告はでるけど使えないわけではない。
0833名前は開発中のものです。2011/06/19(日) 17:19:39.62ID:Av0kkiTu
言い忘れた。
C++のファイルストリームも普通に使えるから。

0834名前は開発中のものです。2011/06/19(日) 17:21:46.28ID:PUnO1EWS
Cの標準関数とか勘弁してくれ。
OpenFile使ってCreateFileMappingでメモリマップドファイルを作って操作しておくれ。
テキストを大雑把に処理したいんだったらReadLine系でもいいけどさ。

APIwo使うときはAPIを使っていることを明示するべき。
Cに固執して怪しいラッパを使うなんで昭和の流儀だ。
0835名前は開発中のものです。2011/06/19(日) 17:25:42.73ID:vaLZt7st
>>831
ありがとうございました、解決いたしました
0836名前は開発中のものです。2011/06/19(日) 17:36:22.53ID:Av0kkiTu
>>834

仕事で嫌なことでもあったのか?力抜けよ。
とりあえず、自分の文章をよく読み返せ。

お前の文章は何を言いたいのか意味不明だ。

俺は好きなのを使えと言ってるのであって
別にCの標準関数に固執してる訳ではないよ

そもそも質問者が何をもって面倒と書いてるのかもわからないからな。

main()とWinMain()って書いてあるからWinAPIが使いたくないのだろうと
エスパーしただけ



0837名前は開発中のものです。2011/06/19(日) 17:53:09.15ID:2lzEN5BK
>>832
どもです
0838名前は開発中のものです。2011/06/19(日) 18:27:45.70ID:pPMGNQmb
メモリマップトファイルを使い始めたら、標準関数なんて面倒くさくて使えなくなる。
0839名前は開発中のものです。2011/06/19(日) 18:39:21.57ID:358w9vqV
wwww
0840名前は開発中のものです。2011/06/20(月) 08:09:18.04ID:M20TvgDf
少なくとも







例えばツェーなら、
・ifを3段以上重ねるやつ
・判断にswitch〜case使うやつ
・定数使うやつ

これはピログラマーとして不適格。
0841名前は開発中のものです。2011/06/20(月) 08:14:29.41ID:M20TvgDf
ifにしろswitch〜caseにしろ

「それ1コ調べるにも最低1クロックかかる」
ことを頭に置いてないやつは、ゲームのみならず組込でも
まったく使えない。

こういうところ分からないと、「大したものでもないのに最新PCでないと動かない」ものをひり出してしまう

FF14とかいい例だ
0842名前は開発中のものです。2011/06/20(月) 08:25:40.72ID:F4TymxCL
>>840
なぜ不適格であるかを述べなさい。

わかるかな〜?
0843名前は開発中のものです。2011/06/20(月) 08:26:51.90ID:CN65Hj54
重要な部分とそうでない部分がある。
その見極めが出来ず、最適化なんて 笑っちゃいます
0844名前は開発中のものです。2011/06/20(月) 08:27:39.47ID:KAs2FVoV
>>842
ピログラマって何か分からないけど、とにかくピログラマとしては不適合者なんだろ
0845名前は開発中のものです。2011/06/20(月) 08:42:01.09ID:M20TvgDf
だぁから1クロックも無駄にするなっつうこと

switch〜caseは特に無駄
評価項目が30コあるとして、一番下に目的のものがあったら
下まで来るのに最低でも30クロックかかる。

これは無駄なので、何がどうでもswitch〜caseは不可。
0846名前は開発中のものです。2011/06/20(月) 08:45:20.69ID:qeAC3KY6
最適化でテーブルジャンプに変換されたりすることを知らない阿呆なんだろうね。
何の脈略もなく、馬鹿の一つ覚えでどうでもいい話題を振り出すし。
0847 [―{}@{}@{}-] 名前は開発中のものです。2011/06/20(月) 08:45:50.44ID:mDiYitdj
switchは2分探索でやると聞いたことがあるが
0848名前は開発中のものです。2011/06/20(月) 08:53:07.09ID:qeAC3KY6
判定範囲によって、出力コードを変えるんだよ。
0849名前は開発中のものです。2011/06/20(月) 09:11:55.36ID:M20TvgDf
仮にテーブルでも、バカのやること
こんなもん、60あっても2〜5クロックで終わらす方法がある。

割り込み使えるともっと減る
0850名前は開発中のものです。2011/06/20(月) 09:46:39.91ID:qeAC3KY6
仮にって、コンパイラの吐き出すコードも理解していないのにクロックを語りだすとは、
頭が悪いにもほどがある。
0851名前は開発中のものです。2011/06/20(月) 10:10:08.12ID:M20TvgDf
コンパイラが完璧じゃないってのはバカでも知ってる常識。

特に汎用OSじゃないからvolatileは必ず入る。
汎用OSでも入れないと最適にはならない。

バカ以外は知っている
0852名前は開発中のものです。2011/06/20(月) 10:28:35.77ID:klx9umu6
これまでのどうしようもない言動一覧

・ピログラマ
・条件分岐の代用に割り込み
・コンパイラの出力コードを確認してない
・何の前置きもなくvolatile
・汎用OS
0853名前は開発中のものです。2011/06/20(月) 10:46:34.67ID:lwpRdV8l
仕事でなくプライベートによるゲーム製作の場合

やる気>>>>>>>>>>>>>技術

IFが30個あろうが完成品を作った奴が神
凄いプログラムだろうが未完製品はカス
0854名前は開発中のものです。2011/06/20(月) 11:09:51.91ID:m9wEUO/c
俺、c言語初心者だからswitch使っちゃたけど
switchつかわないとifになっちゃう
0855名前は開発中のものです。2011/06/20(月) 11:17:31.12ID:M20TvgDf
基本的に、処理負荷は少なければ少ないほどよいのは常識。

となると、任せられるものは別に任せようとなるのは当たり前、

そういう意味で割り込み処理を使うのだ
割り込み処理は汎用コアでやるものもあるが、たいてい専用の割り込みコントローラを持つ。
これは汎用コアには影響を及ぼさない。

例を挙げればタイマーだ
ゲーム開始やイベント開始から指定秒数経ったら別のイベント駆動

これを汎用コアでやるやつは頭がどうかしている。
0856名前は開発中のものです。2011/06/20(月) 11:18:22.99ID:IzFJkAaU
DirectXなんすけどここで聞いてもいんですかね?

ポリゴンの周りのアンチエイリアスじゃなくて
例えば、板ポリに貼ったテクスチャーを
カラーキーで透過した周りのアンチエイリアスとか出来ないんですかね?
フィルターで全体をぼやかすんじゃなくて
あくまでも周りのアンチエイリアスなんですけど。

一応、画像にアルファチャンネル持たせて
それで周りの部分だけアンチエイリアスかかった感じには出来るんですけど
何かDirectXの方でアンチ表示出来ないのかなと思って聞いてみました。
0857名前は開発中のものです。2011/06/20(月) 11:20:38.20ID:dHAjRnJB
自称凄腕プログラマはゲ製では逃亡確率高めなイメージ
0858名前は開発中のものです。2011/06/20(月) 11:22:59.12ID:M20TvgDf
基本的にムダだろう
テクセル処理性能が高ければそれでもいいが、それでもムダだ
フルシーンでやらないなら、テンポラルでもいいので
素直にROPでAAやらせたほうがいい結果が出る。

それか普通どおりにエッジ検出して、シェーダでサブピクセル置いたらいい
シェーダでのアンチエイリアスは2005年から普通に行われていると思うが
0859名前は開発中のものです。2011/06/20(月) 11:30:46.54ID:IzFJkAaU
>>858
う〜ん、なるほど。
あんまりゲームプログラムには詳しくなくて
ずっとDirectX7の頃で知識が止まってましたので
やっぱシェーダとかで今はバリバリやったりするんですね…
あとはやっぱ画像にアルファ値持たせるのがいいみたいですね。
ありがとうございました。
0860名前は開発中のものです。2011/06/21(火) 03:06:14.24ID:Aj8fRJef
円と四角形の当たり判定をするときに、四角形の頂点に4個の配列使うのって当たり前なのか?
0861名前は開発中のものです。2011/06/21(火) 13:47:02.74ID:3pc3Ry/R
度々すみません
CとDXライブラリで現在2Dアクションを作っていて、
右向きの移動の場合
加速時の速さを定数"0,25"、時間を 変数"t"にします。そして速さと時間をかけて得られる距離を"k"とします
それをキャラクタ( 今回は文字定数"■"を移動させます )が居るx座標に足して移動を表現しています

k = 0.25*t  //速さと時間を掛けて出た距離
x+=k     //距離をキャラの座標に足す

この考えで、キー入力がない場合緩やかな減速
右キープラスBボタンが押されれば更に加速
という処理を実装させたいのですがうまく行きません

メインループの中に以下の処理を入れたら、うまく行きます

if(CheckHitKey( KEY_INPUT_RIGHT) == 1 )
{
t++;
k=0.25*t;
if(k>=8)k=8; //移動の限界値を設定
x+=k;
}

if(CheckHitKey( KEY_INPUT_RIGHT) == 0 && k>0 )
{
t=0;
t++;
k=-0.5*t +k;
x+=k;
}

DrawString ( x, 400, "■", GetColor( 255 , 255 , 255 ));
0862名前は開発中のものです。2011/06/21(火) 13:58:41.47ID:3pc3Ry/R
つづき
右方向だけの移動なら上の処理で問題ないのですが、
右と左の処理を分けるためにwhile文を使ってみたのですがうまくいきません
どなたかアドバイスお願いします

if(CheckHitKey( KEY_INPUT_RIGHT) == 1 )                 //右キー入力があれば
while(1){                               //ループに入る
if(CheckHitKey( KEY_INPUT_RIGHT) == 1 )   //右キー入力があれば移動する処理
{
t++;
k=0.25*t;
if(k>=8)k=8;
x+=k;
}

if(CheckHitKey( KEY_INPUT_RIGHT) == 0 && k>0 ) //キー入力なしで減速する処理
{
t=0;
t++;
k=-0.5*t +k;
x+=k;
}


DrawString ( x, 400, "■", GetColor( 255 , 255 , 255 ));


if( k<0 ) break;                        //移動が0でループを抜ける

}
}
0863名前は開発中のものです。2011/06/21(火) 14:00:42.66ID:3pc3Ry/R
すみません最初のifの中括弧の始まりを忘れました
実際はあってもうまくいきません
0864名前は開発中のものです。2011/06/21(火) 16:47:31.92ID:uE4oFvCy
イラストとか曲とかいくらでやり取りされてるの?
1キャラとか1曲の平均的な値段をおしえてくれ
0865名前は開発中のものです。2011/06/21(火) 16:59:49.34ID:LS2/8Qyk
>861
t=0からの距離を毎回自分の位置に加算するのは間違ってないか?

>864
平均とか言い出すと一枚10マソとかいう絵師さまが登場して荒れるから
864が出せる金額で頼める人に頼め
0866名前は開発中のものです。2011/06/21(火) 17:17:31.44ID:3pc3Ry/R
>>865
減速時のことでしょうか?
私も最初はおかしいかなと思ったんですが、その処理をするごとにkの値は減っていくので毎回t=0からでも問題ないです

if(CheckHitKey( KEY_INPUT_RIGHT) == 0 && k>0 ) //キー入力なしで減速する処理
{
t=0;
t++;
k=-0.5*t +k;
x+=k;
}

もし一回の処理で移動する距離( k )が最大の8の場合
一回目
k=-0.5*1 +8
k=7.5

二回目
k=-0.5*1 +6.5
k=6

という感じにうまく減速してくれます
加速時に0.25ずつ進む距離が増えるのに対して、減速時は0.5ずつ減るようにしたのですが
0867名前は開発中のものです。2011/06/21(火) 17:30:56.28ID:3pc3Ry/R
本当に何度も申し訳ないですが、自己解決というか妥協解決しました
右向きの処理と左向きの処理をループで括って分けたかったのですが、それがうまく行かなかったので
全ての処理を独立させることにしました

何回も長文を書いてスレを汚してしまって申し訳ないです
0868 忍法帖【Lv=2,xxxP】 2011/06/21(火) 17:39:41.92ID:zxB2o0EE
whileで分ける意味が分かんない、誰か教えて。
0869名前は開発中のものです。2011/06/21(火) 18:32:58.12ID:3pc3Ry/R
>>868
移動距離"k"を正の値のままにしておきたかったからです
しかし正の値のままだと何もボタンを押していない時の条件が被ります

if(CheckHitKey( KEY_INPUT_RIGHT) == 0 && k>0 )
if(CheckHitKey( KEY_INPUT_LEFT ) == 0 && k>0 )

ですので、whileでなくとも何か違う関数の中にいれて条件が被らないようにしたかったのです


別にkの値を負にすればいいじゃないか。というかそれが正しいと言われると思いますが、
別の関数に分けるという考え方は大体合ってると思うので、それが出来ないとまた同じようなアルゴリズムを組む時苦労すると思ったので
こっちのやり方も出来るようになっておきたかったんですよ
0870名前は開発中のものです。2011/06/21(火) 19:49:33.44ID:/qLvVUPm
ほんと面白いわこのスレ。エスパ−神としったかレスこじきが同居してるな
0871名前は開発中のものです。2011/06/21(火) 19:57:41.12ID:BWXuLMpT
全ての板において初心者スレは

ちょっとかじった、知ったか君
無能だった自分と重なって的確なアドバイスができる上級者

が集う
0872名前は開発中のものです。2011/06/21(火) 20:26:06.58ID:w6AfA9yw
そして知ったか君に限って、
自分は的確なアドバイスが出来る上級者だと勘違いしている。

本物の上級者のほうは、レスを書いた後で本当に適切だったか悩む。
0873名前は開発中のものです。2011/06/21(火) 20:33:53.60ID:qMXhUuYS
加速時の速さが定数という時点で、加速してないだろそれと、
挫折した俺には到達できない領域。
0874名前は開発中のものです。2011/06/22(水) 04:14:45.43ID:v3yVn6tb
>>869
現在位置と凅ではなく、時間tを使って移動先を求めているのは何か意味があるってこと?
物理シミュでもやってるのかな。
0875名前は開発中のものです。2011/06/22(水) 13:00:30.23ID:aqyPnKWY
大きめのマップで自分の移動に合わせて表示画面をスクロールする
プログラムの仕組みを教えてください

例えばポケモンみたいに
0876名前は開発中のものです。2011/06/22(水) 16:01:14.88ID:pWb0e9lc
>>875
いろいろ方法はあると思うけど、
真上から見下ろすカメラがあると想定してみるのはどうかな。
0877名前は開発中のものです。2011/06/22(水) 19:21:16.19ID:uoWZAZid
>>873
動きは確かにキビキビしてますが、現状これくらいしか頭がないもんで
 k=0.125*t^2 くらいにしたほうがらしくなるかもしれないですね
それか t の範囲をいくらかに分けて段階的に傾きを変えてみるとかですか

>>874
ただこれしか思いつかなかっただけです・・
その現在位置と凅を使ったやり方も宜しければ教えていただけないでしょうか?
もしくは参考になるサイトを
0878名前は開発中のものです。2011/06/22(水) 19:51:18.41ID:pWb0e9lc
>>876
携帯からなんで軽く。

ライブラリの公式サイトに等速移動のサンプルがあったと思うが、
ここに書かれている移動量(±3)の部分を変数にする。
この移動量変数は、ループ毎に初期化されないように注意。

左方向へ移動させたい場合は、移動量を負の数にするのが一番楽。
どうしても正の数が必要になったら、そのときに改めて絶対値を計算すれば良いだけ。

0879名前は開発中のものです。2011/06/22(水) 20:04:24.71ID:aqyPnKWY
>>878
ありがとうございます

今から組んできます
0880名前は開発中のものです。2011/06/23(木) 06:24:38.91ID:nv3y+bY4
あれ?
0881名前は開発中のものです。2011/06/23(木) 14:24:18.16ID:8jCWoIDE
ゲーム文字は文章データから読み取った文字を
1文字ずつ画像に変換する処理をしている?
0882名前は開発中のものです。2011/06/23(木) 14:36:46.05ID:cLXuAiSF
昔の9801や8801系みたいなTEXT-VRAMをもったPCならともかく、今のPCならゲームに限らず全部そうだろw
0883名前は開発中のものです。2011/06/23(木) 16:01:30.57ID:4Rg2XpCB
フォント表示はいろいろある
一番楽なのは、文章をそのままテクスチャにしたテクスチャを用意するもの
2011年現在に至っても、まだ存在している。


今主流なのは、ちょっと高度になビットマップ
フォントファイルから文字コードとともに抜き出し、文字をテクスチャにするが
「ココからココまでの座標が何のデータですよ」というものを覚えさせるので
文章データはテキストファイルでも何でもいい。

プログラムは、そのテキストファイルに相当するものからデータを取り出してみて
「このデータだから、ここからここまでの座標にある絵を入れればいいんだな」と判断して表示

だから座標が間違ってると表示されるものもおかしくなる
0884名前は開発中のものです。2011/06/23(木) 16:13:43.59ID:A1S7MgvQ
それ全部

>文章データから読み取った文字を1文字ずつ画像に変換する処理
0885名前は開発中のものです。2011/06/23(木) 16:44:44.04ID:4Rg2XpCB
ビットマップもテクスチャードも画像に「変換」っていうかね

前者はもとから全文テクスチャとしてあるから、別に変換はしないでいい
もとから画像テクスチャデータとして存在するので、「ゲーム内以外で読まれると困るやつ」には使えない。

後者は「文字を羅列したテクスチャ」はもとからあるので
プログラムがやっているのは配置するだけだな

切り貼りしているようなものだ

0886名前は開発中のものです。2011/06/23(木) 16:55:35.87ID:8jCWoIDE
>>885
つまり文章そのものを全て画像で配置したデータを作ってそれを利用するってこと?

その文章画像データ(変な言葉)は予めツールか何かをつかってテキストデータから変換して生成しておく
でOK?
0887名前は開発中のものです。2011/06/23(木) 17:07:58.05ID:4Rg2XpCB
厳密にはちょっと違うが、後者を簡単に言うと
まず、一枚のでっけえテクスチャに

ABCDEFGHIJKLMN・・・あいうえおかきくけこ・・・・

と、使う文字や記号を描いておく。

プログラムは、テキストファイルを読みこめば文字コードと文字データを取得できるだろう
そうして読んだデータが例えば0x01としよう

そうしたら、対応テーブルを見て「0x01はテクスチャのどっからどこまでやねん?」ということをはじき出す。

仮に0x01は、座標0.0から12.12まで としたら、最初に作ったテクスチャからそこまでの範囲を切り出して
表示させたいところにポンと置くだけだ。


前者は、まさに文章をテクスチャに全部書いておく。
文章ぶんのテクスチャ数が必要になるが表示させるだけなので簡単。
unrealエンジンが、少なくとも1〜2はこれだったと記憶している
0888名前は開発中のものです。2011/06/23(木) 17:16:28.74ID:4Rg2XpCB
一文字づつ判断して、座標出して、切って貼って
これを繰り返して文章にする

ただ、テーブルの構築や、そもそも「文字コードの理解」が必要になるので
そこまで簡単ではない。特にUTF-8の文字コードの理解が他に比べるとややこしい。
でも、スマートかつ基礎さえ出来れば応用が利いて後々の苦労が少ないのはこれだ


できなかったら、文章を全部テクスチャに書き込んでおくUnreal方式がいいだろう
0889名前は開発中のものです。2011/06/23(木) 17:19:53.92ID:A1S7MgvQ
>>885
前者はすでにほぼ絶滅しているし、後者は明らかに文字コードを画像に変換しているな。
0890名前は開発中のものです。2011/06/23(木) 17:33:17.29ID:QwuQYJQ5
アクションゲーのメニューなんかでは今だに普通にビットマップ使ってることが多いけどね
0891名前は開発中のものです。2011/06/23(木) 17:42:56.05ID:A1S7MgvQ
それは元質問者が意図した文章か?w まあ文章ではあるわな。そうですねw
0892名前は開発中のものです。2011/06/23(木) 17:47:42.35ID:8jCWoIDE
どうも勘違いしていたようだな
後者のやりかたが当然と思っていたから前者なんて論外だった

前者で文章表示していたら膨大な画像データになるんだろww
会話データをそんな処理していたとは考えにくいが

それに前者の方法なら文章データは不要で
フラグ管理だけで十分じゃないのかな?

1だったら○○の文章データ(画像)を表示
0893名前は開発中のものです。2011/06/23(木) 18:09:17.62ID:4Rg2XpCB
前者、unreal方式はテキストファイル類は必要ない
どこで何を出すかさえ決めておけばいいだけで、
会話自体が少ないアクションシューティングでは問題にならなかった。
オブジェクティブ表示、ステータス表示、程度だし

Doom3エンジンの「オリジナル」は字幕機能を持っていないし
もしもしゲー用のエンジンも持ってないこともあるので
今でもテクスチャ貼り字幕は存在している。

必要があったら、Prey、ETQW世代のD3エンジンのように拡張して字幕機能を持たせることもあるが
0894名前は開発中のものです。2011/06/23(木) 19:38:00.42ID:s6g/tj/H
C# + XNAで開発しています。
XNA専用スレが一つしか無かったので、まずはこちらで良いですか?

spriteBatchで描画した画像やテキストをクリアするためには、
spriteBatch.Dispose()して、新しくspriteBatchを作成するしかないでしょうか
※メニュー選択後の画面遷移をしようとしています、他に方法があればそれでも問題ありません
0895名前は開発中のものです。2011/06/23(木) 20:01:21.64ID:Zvnkqj4Q
素材について意見がききたいんだけど適当なスレがないんでここで質問。

メッセージ枠素材を配布しようと思ってるんだけど
現在の標準サイズって800*600基準でいいのかな。
あるいは他に使いやすいサイズがあれば知りたいです。
0896名前は開発中のものです。2011/06/23(木) 23:12:25.13ID:ryrUA2vo
縮小はどうにでもなるのでなるべく大きなサイズならつぶしが利くだろう。
重要視するべきはサイズじゃなくて比率かな。4:3用途か16:9用とか。
どれにでも利用できるサイズにするなら4:3用で作成することになる。

結局は利用して貰いたいコミュニティのデファクトに合わせるのが普通だから、
そこで聞くべきだ。

0897名前は開発中のものです。2011/06/24(金) 00:01:17.80ID:IetTbbk8
ワクそのものでもいいのだが、一部だけでも用は成せる

解像度固定でないなら、「その一部を何回X方向Y方向に繰り返してどれだけの大きさにするか」
ってのが容易に出来る
アクセントがあっても重ねるだけ


どうしても凝ったデザインにしなきゃならんならワク全体を配布すべきだが
0898895 2011/06/24(金) 01:44:05.94ID:tVBhkhN8
自作吉里吉里製アドベンチャーに使った素材がほしいと言われたんですが
psdで保存してあったから、どうせなら標準的なサイズにして配布しようかと思って。
まさに比率が気になってたんですが4:3で問題ないんですね。
パターンの一部+パーツ別もあわせて考えてみます。
ありがとう。
■ このスレッドは過去ログ倉庫に格納されています