【初心者】スレを立てる前にココで質問を【Part28】©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
http://echo.2ch.net/gamedev/
※ >>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/
ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/
gamdev.orgが落ちるたびにあげてみるスレ
http://hibari.2ch.net/test/read.cgi/gamedev/1107022166
※前スレ
【初心者】スレを立てる前にココで質問を【Part27】
http://echo.2ch.net/test/read.cgi/gamedev/1419935788/ 動画だとパテント料を払わなくてすみそうなのはOpen264、VP9、AV1あたりになるのかな
後者2つはハードウェア再生支援が甘い故に高画素のストリームは厳しそうだけど
というか特許が切れてもそれを扱うソフトウェアを用意できないと意味ないんだよね そんなもん大多数の人が気にする必要ないと思うが
自分でデコーダエンコーダ内蔵する人がこの板にどんだけいるのよ 商用ソフトですらDirectShow経由でデコードしてて、前提として
インストール時にMSのコーデックが入ってなきゃ自動でインストールしてるのにな AmazonでLuaで検索すると中古の本くらいしかないんだけど
もうこの言語駄目だろ… 言語仕様がリファレンスどころかHOWTO本もいらないくらいに単純で
重要なのはゲーム側が公開するAPIの使い方だから、書籍どうこうにならないのよ 最近Redisを調べてたら、鯖側で実行するevalとしてluaスクリプトを投げられるらしくて
まだ使われてるんだなぁと思ったよ
例えば複数一括削除の例として
> redis-cli KEYS "*" | xargs redis-cli DEL
こんな感じでパイプする例が出てくるけど
これって結局検索結果の回数分だけ叩くわけで
効率的にはLuaのワンライナー投げたほうが圧倒的にいいはず 何気にVLCとかでも使われるけどもともと組み込み向け汎用(?)スクリプト言語ってのがニッチ過ぎるのよな
昔はちょくちょく商用ゲームにも名前載っててそのカテゴリの中じゃLuaが一番有名だったと思う
Unityやらでロジックやパラメータ編集のデバッグへの反映が格段に楽になったから
個人的にはゲームでの出番は減ったけど
久しぶりにlua-l archive覗いてみたらいまだに結構活発なのね
フットプリントやら気にしなければ組み込み言語としてJavaScriptも有力
何より言語自体の普及度がダンチだしなんならTypeScriptで静的型付けで開発可能なのも素晴らしい
エンジンとしてはChakraCoreが非常にお手軽で良いのだけど
Edgeの方針転換の影響でおそらくメンテンナンスモードに突入だろうから結局V8になるのかな エミュレータやTASのスクリプトとしても組み込まれてるし
Apache超えるウェブサーバNginxもOpenResty(色々拡張されたNginx)もLuaで記述すること前提 デコーダはともかくエンコーダーは出番無いだろ・・・って思っていたけど動画投稿サイトとの連携とか考えるとエンコーダーを内蔵するというアプローチもあり得るのか ライセンス料がシャレにならん
公式エンコーダがインストールされてるOS付属APIで叩くか、
ロイヤリティが支払われてるブラウザ内蔵のWebRTC叩くかが現実的 WebRTCをローカル用途で使うのは物によってアウトじゃね?
H.264はOpen264で逃げられるけど、AACは逃げ道厳しそう。iTunesを入れるしかないか?
この2つがエンコードできないとニコニコ向けのファイルを作れないんだよな 音ゲーを作ってみているんだがメインループ(≒キー、パッドスキャン)の周期ってどのくらいが現実的なのだろうか
短ければ短いほど良いけどマシンへの負荷や処理の効率を考えると限界がある。もちろん実装依存でもあるけど
Winだとミリ秒オーダーになるともうカツカツな感が 何ミリ秒のズレを許容するか?
DirectInput だと直の値が常に取れるからゲーム性に影響あるような遅延はNT系になってから聞いたことが無い マイクロ秒オーダー以下でループ回すのってマシンの負荷的に厳しくね?
ビジーループしたら100%に張り付いちゃうしSleep入れると戻ってくる保証がない
入力の変化をトリガーに割り込みハンドラを低遅延で起動できれば楽だけど
DirectInputでそういう動作は出来ないみたいだし メインは30fpsでいいだろ
そしてキー、パットスキャンはメインと別に60fps割り込みでスキャン
普通のテンポで32分音符=62.5ms=16fpsだ 1ms のインターバルタイマが使えるとして、
ゲームを実現する上でそれではどういう処理をする何が足りないの? Win9xカーネルはタスクスイッチの都合もあって最小のインターバルタイマーが確か55msで
その制約で普通に音ゲー(BM98あたり)も何の支障もなくプレイしてたがマイクロオーダーって何やりたいんだろ。
レジストリ改変ツールで最小にしても20msとかだったような 一応断っておく。音ゲーは初心者だしゲームや3DCGのプログラミングに精通しているわけでもないので
間違ったことを言っていたらスマン。むしろそれ故の疑問。特にコンシューマ機とかアーケード機がどんなもんなのかなと
>>634
描画のループは1/60で回さないと60fpsでないような
BPM=120で普通難易度の譜面なら大きな問題はなさそうだけど
BPM=200の最高難易度のノートてんこ盛り譜面でも十分な精度が出るのだろうか
あと周期を荒くするならBPMベースで回した方がジッターを減らせるかと
>>635
音ゲーがエンターテイメントな楽器と考えると遅延は生演奏できる程度に抑えられている方が好ましいと思って
MIDI関係を当たると生演奏可能な遅延量は10ミリ秒以下的な情報が出てくる。MIDIの仕様書を見ると
伝送の遅延は1ノートで1ミリ秒程度、10ノートで10ミリ秒未満って書いてあるしその辺なのかなと
>>636
BM98は名前しか知らないけどフレームレートはいくつで動いていたんだろうか
60fpsなら約16ミリ秒、30fpsでも約33ミリ秒間隔で描画のループを回す必要があると思うんだけど 音ゲーなんて、BGMに合わせて出現する(ように設定した)モグラを叩くだけのもぐら叩きだろ。
BGM開始と同時にStopwatchをスタートさせて、ボタン入力時のStopwatch.Elapseとモグラの出現時刻データを付き合わせるだけじゃね?
画面はオマケだから、まず画面無し(かコンソール)で作ってみるといいよ 音ゲーは同期が最大のネックって聞いたけどどうなん? Windows は 「再生しろ」 って命令投げてから実際に音が出るまでのラグがあり
最近まで「厳密にスピーカが今どのフレームが再生しているか?」を確認できなかった
メディアタイマに任せている場合は、それが計算通りに動いていると期待して処理するだけ。
音声をHDMI経由でモニタ端子から出力してる場合は映像とのズレはないが、モニタが今どこを表示してるかのタイミングが不明
Bluetooth スピーカー/ヘッドフォンなんて使っている場合はズレがハンパない(映像とズレる。
動画プレイヤーに映像と音声の同期を敢えてズラす機能があるのはこの辺の事情をシステム側で解決する方法がないから
キャリブレーションを設定につけるか、遊んでる間にズレをプログラム側で検知して同期してるように見せる ゲームのうちの演算処理なんて
Z80機の時代から16ms周期でも余裕
そのなかで演算+音楽+画像をやれてた
ゲームもそのうち画像処理が重くなり
16ms周期でなく1〜2フレームほど描画処理をスキップさせる手法になる
(描画でなく演算もスキップさせてしまうアホが続出)
画像なんて15fpsでも目で見て判別できないから
それ以上コマ増やしても意味がない 20フレーム/秒なら目押しやタイミング見計らって狙えるけど
60fpsで狙っても実際2フレームの揺れは残るから通常の人間に求める実際の精度ってそんなもんで充分 音ゲーの音はゲーム上タイミングを見計らって鳴らしてる物で、ゲームプレイにはそれ程同期にシビアになる必要は無いと思うが
300.123秒の音データを再生して終了時のプロセスタイマーで302.987になってずれんじゃんよ、とかのズレはあるのかもしれないけど
人間が初見で音ゲーをプレイする時、タイミングを計るのは絵だよね、慣れてきたら音でプレイも出来るんだろうけど
正直実装も何もしてないのに、頭だけで悩んでプログラム組んでないならまず作ってからじゃね?って気がする メディアタイマーで管理すれば 再生したフレーム数/サンプリング周波数=再生秒数 がマイクロオーダー単位で厳密に一致するからズレはないかと
直接関係ないけど WinAMP の再生で表示されるカウント秒数は約4分で1秒もズレるという歴史的なバグがあった 現状コンソールでコアになる部分のプロトタイプを作っています
時間を計るのはQueryPerformanceCounterを使用
言語からして不慣れなのであまり捗っていませんが
>>639,640
最近の音ゲーは遅延量を調整できるタイトルもあるようです
>>642
そんなもんなんですかねぇ・・
かつて格ゲーのオフ会に行ったら目押しコンボを実戦でバシバシ決めてくるような人がゴロゴロいたり
音ゲーの動画ですべてのノートを最高判定(一般的には2フレ?)で取っている動画が上がっていたりするのを見たりすると
1〜2Fの差が判る人は結構いそうとか思ってしまいます。ちなみに自分は格ゲーが得意なわけではありません 技術的な話題では無いのですが
以前依頼をした絵師に大量のトレパクがあって
現在2chが荒れてる程度でTwitterには飛び火しておらず、絵師は過去絵削除してなかったことにしようとしてる
自分が依頼したとこにはパクはあがってないが
この場合画像差し替えた方がいいと思いますか? ものが分からんのと、説明が長くなって面倒なので以下のページに書き捨て
pastebin.com/raw/NhHTNSW1
(ただのテキストページ、一週間で自動削除されるよう設定) 状況がよくわからんし差し替えたい動機も書いていないが
自作品の画像として当人に発注していて作品はリリース済みだが
面倒ごとに巻き込まれたくないのであれば手遅れだろう
作品の出来に自信があるならむしろ開き直って炎上による販拡を期待する手も
同人ゲーなら周りも大目に見てくれるだろうし >>649
あんまり詳しい事情は書けないのですが、ゲームはもうリリース済みです
差し替えたい理由は有料画像からのパクがあり
本人は誤魔化そうとしていて、もし自分の依頼分にパクがあっても正直に言わないだろうから
リスク回避のために早めに差し替えたいです
ただ現状自分のゲームにパクは見つかっていないので差し替えは見つかってないので
差し替えたことで騒がれて面倒くさいことになりそうで躊躇しています 文章おかしくなった
差し替えは見つかっていないので はいらないです すまん リリース済みなら別に差し替えなくていいでしょ
これから先リリースしたゲームの全ての素材がパクがあったかどうかとか意識してあれば全部差し替えてリリースしていくつもり?
アホくさ 差し替えずに面倒なことになるとか、差し替えて面倒になるとか、どうなるかも分からんことに対して100%叩かれたくないってんなら配信停止するしかないな
パクがあるかも知れないからこれから先は素材使用も依頼も出来ないから全自作になるしな >差し替えたことで騒がれて面倒くさいことになりそう
このシナリオが全くわからん。
差し替え*ない*ことが、(炎上させたい相手にとって)容疑者擁護になってると燃料になるはずなのだが…… 現時点でボヤにすらなってない状態なら、何もしないというのは決して悪い選択肢じゃない。
なんだかんだで差し替えにはコストがすげぇかかるからな。
ただ、騒ぎになる前に差し替えたという「事実」があれば
その後で何が起ころうと、たとえ炎上のきっかけが当該作品の差し替えだろうと
自分に面倒が降りかかることはないはず UnityのC#のドキュメントって他の環境でゲームつくるとき参考になる?
一回独自のコンパイラ通すなら普通に組んだら実現不可能な構造になってたりする? ならん
よくできたフレームワークに密着した知識は他のフレームワークには役に立たん
ものによってはラッパーを自作してインタフェースを似せるくらいはできるかもしれない 流石にそのまま使えたことはないけど
Unityで新しい知見を得て、それを自分なりに解釈して別環境で使ったことならある
オブジェクトに対してビヘイビアを設定する考え方とか
(当時トレンドだった)Rxをゲームに応用する方法とか 置く物全般の英単語ってObjectでいいの?
翻訳するとfixtureとかfigurとか出てくるけど
Objectiveって言うと目標って意味になるし、Objectっていうとややこしくね? >>660
置くものという捉え方が違うのではないか
持ち運べるものとか、何かの上に載せるものとか、敷き詰めるものとか
とりあえず Object は満場一致で最低最悪のネーミングだな ワールドに配置するモノ という解釈をしたら
インテリアとしての 置き物 の話だったのか! みんなありがとう
内部で使うだけなら、MonoとかOkimonoでも全然良いと思うんだけど
今回はラベル(カテゴリ)と一緒に使うので、呼び名と内部名は統一したいなと思った所
Itemだと手にする物の意味合いが入ってくるし、Structureだと建物の構造という意味が入ってくる
カタカナ語しか知らないし、Object(s)しか語彙が無くて辛い
英語ムツカシーヨ WorldObjectとかGameObjectとか組み合わせて使うってこと?Object単体はまじでやめたほうがいい UnityがGameObjectだっけ?
他FWだとMovableObjectとかActorみたいなのは見たことある Object を継承させた Unit(人型) を継承した Battler(戦闘用ステータス持ち) を継承した Actor/Enemy(味方/敵キャラ) とか正にオブジェクト指向管理 説明はキレイだけどソースコードはグチャグチゃになりがちな設計 くそショボい昔のhtmlゲームレベルのブラウザゲーム作りたい。動きもなく紙芝居。
スマホでもPCでも見れる、極力環境依存しないやつ。
レベルとか体力の数値をブラウザに保存して、再開時に読み込める程度で良い。
cookie とか使えば良いの?
java? php? よくわかんないけど、環境依存しなくてセーブデータ保持出来れば、あとは素のhtmlだけで良いんだが、どうすりゃ良い? ナニ勉強すりゃ良いの HTML(+スタイルシート)とJavaScript だけで事足りる
プログラムは JavaScript 以外一切不要 >>672 >>673
ありがとう、見比べたけど、今回はjavascriptでやってみるよ。
html、スタイルシート、javascript
それと localstrage でやってみる! thx! loaclStorage に保存するときに JSON.stringify すると思うが
その文字列を画面に表示してコピペできるようにすると、
他の環境にセーブデータを以降できたり、任意にロードできるようになる
スマホやPCのイマドキのブラウザには、
ゲームで必要そうな全ての機能が揃ってるから完成したらコダワリが始まる
分からないことがあればここで質問したら何でも回答できるはずなので頑張ってくれ 一般に3Dゲームでゲームキャラクターが武器を装備しますが、
その時武器が表示される位置や角度はどうやって計算されてるんですか?
ボーンに対して計算されてる?
ゲームキャラクターのモデルや武器が複数あって組み合わせれるのに
うまくモーションする理由はなんですか? すみません分かりました。
手ボーンの子にするんですね ローグライクにあるような名前がランダム生成のアイテムを集めるが好きで、
アイテムを追加できるゲームで同じようなのを生成させてみました
ただ、やっぱり名前リストを自分で作っているせいか、わくわく感が今ひとつでした
自作自演に近くても新鮮味のありそうなランダム生成って何かないでしょうか いい名前の響きってある程度ルールありそうだよね、正規表現なんかを使ってルールを持たせる、そうすればインドっぽかったり中世ヨーロッパっぽいネーミングとか自動生成できたりしないかな >>679
名前のランダム生成は結構あると思うけど
言語は? 自分の想定範囲からはみ出したらアウトなんだから
ワクワクするの無理じゃね?
他人が作った作品からオンラインでパクれるようにしたらイケるw >>680-682
ありがとうございます
> 自分の想定範囲からはみ出したらアウト
結局ここを覚悟しながら、雰囲気だけでも・・・というところでしょうか
アイテム画像と色指定もランダムにしているゲームがあって、
想像力をかき立てるようなやりかたもあるのかなと思いました >>681
言語というより、ソースを公開しているウディタゲーにコモンを追加しました
本音は作るよりもそういうゲームがやりたいだけなんですが、
アイテム名の自動生成のあるゲームがなかなかないので聞いてみました 弾が円状に行きません。
何がおかしいのでしょうか?
ttps://pastebin.com/9JEzMr2L 自己解決しました。
度をラジアンに変換していませんでした。 3Dゲームでプレイヤーキャラクターの名前とか文字が画面に表示されるけど
ああいうのってどれくらい重いの?
文字処理の重さはどれくらいか エンジンにもよるんだろうけど
テクスチャ処理を反映するかどうかが全てなんじゃないの
多分UI用にわざわざ独立してるやつはそういう事しない気がする BitMapFontの処理方法は複数考えられるんです? ごめんそんな詳しくなくて喋ってる
言われてみりゃ貼ってからやるから一緒か いやいや1フレごとに新しい文字を出したり色変えたりしようよ ジョブ(仕事)システムについてです。
仕事A,B,Cがあり、入場と退場が決まっているとして、
0(入場),A,B,C,1(退場)というようなリストを持たせて管理出来るのですが、
これをもう少し高度にしたいと思っています。
・並列化が可能
0,[A,B,C],1 として、ABCは順序がなく臨機応変に仕事に割り振りたい
・繰り返しが可能
0,[A,B,C],1 とした時に、ABCを一回のみではなく仕事がある限り繰り返せるように
・優先順位
0,[A,B,C],1 とした時、ABCから一度仕事を受け持ったらその仕事が終わるまでは反復し、終わったらABCから再割り当てされるように
完了した仕事は削除し移動や待機も仕事として扱うと、移動中に近くに受け持てる仕事があったらそちらに変更、退場のために移動しているときに仕事が追加されたら退場の中止、などの例外がうまく対応出来ず管理方法に難儀しています。
既に書かれている物やデザインパターンなどがある場合はそれを教えて欲しいです。
よろしくお願いします。 Queue かな?
FIFO とか 優先度付きキュー とか
AWSにもGoogleクラウドにもタスクキュー管理用のサービスが付いてる >>694
モデルとしては多分これが使える
21世紀に“洋ゲー”でゲームAIが遂げた驚異の進化史
https://news.denfaminicogamer.jp/interview/gameai_miyake/3
連鎖プランニングAI
https://news.denfaminicogamer.jp/wp-content/uploads/2017/05/pling170502.png
> スタート:のどが渇いた
> ↓
> のどが渇いた 水のありかを知っている人に聞く 水の知識を入手 (1)
> ↓
> 水の知識を入手 水のありかに向かう 水のありかに着く (2)
> ↓
> 水のありかに着く 水を手にする 水を手にしている (3)
> ↓
> 水を手にしている 水を飲む のどが渇いていない (4)
> ↓
> ゴール:のどが渇いていない
ざっくり書くと、現在位置(のどが渇いた)があって、
まずゴールを設定する(のどが渇いていない)
で、AIのメソッドプールみたいなものがある
上の例でいうと1〜4
で、ゴールに辿り着く(「のどが渇いていない」になる)メソッド(4)を探す
次に4に繋がる3を探す
それをスタートにたどり着くまで再帰的に繰り返す
ということらしいぞ
俺もいつかこういうの作りたい(´・ω・`) >>695さん>>696さんありがとうございます。
ジョブIDとして単一の情報しか持たないのではなく、可搬性や接続性などの為に付加的な情報を加え、次に何をするかを流動的にしたクラスの概念が必要みたいです。
情報ありがとうございます。もう一度練り直してみます。 >>696
これは20世紀の古い AI (ProLog なんかで高速に処理してた) の概念やな
今みたいな集合知(機械学習)は、もっと恐ろしい思考のつなぎをニューロンとして抽象化させてる ゲ製で聞く内容なのか疑問 明らかに情報が足りてない
後出しでころころ条件が変わって叩かれるパターンではないか 状態遷移やフローを図なりで説明してるならマシな回答も可能だけど、
自分ルール記述で同じ単語でも場所によって意味が変わってるから意味不明
697 で新たにジョブIDとか流動的なクラスとかさらに謎設定が増えてるのもね 3Dのレンダリングを理解するのにレンダリングパイプラインを作ってみるというのはあり?
DirectXやOpenGL等のAPIよりもう少し下の部分も理解したいんだけど 作るなら情報収集からだけど今のご時世3Dレンダラーの自作に関する情報なんて入手が難しいし
ソフトウェアのレンダリングパイプラインって簡単に作れるの?
他によりよい教材があるならそれに越したことないんだけど 難しいからやらない
んじゃ一生出来ないよ
ランプを作ったエジソンは情報あったかい?
飛行機作ったライト兄弟は簡単に飛ばしたかい? 基本パイプラインで何やってるかopenGLの赤本見れば書いてある
2Dグラフィックの基本的なラスター処理技術とかから積み上げて組まれてるし、汎用性や実行速度の為に一見冗長な設計も多い
勉強する価値はあるかも知れんが自分で組むのはC言語で幾何数学を多用した汎用API作った事あるくらいの腕があっても至難だと思う フロッキングアルゴリズムの分離(separation)を実装しようとしてるのですが、
boidが重なり合い、分離してくれません。
MainPanelクラスのif ((ed > 0) && (ed < desiredseparation)){...}の中身が間違っているのでしょうか?
ttps://github.com/nature-of-code/noc-examples-processing/blob/master/chp06_agents/NOC_6_09_Flocking/Boid.pde
を参考にしたのですが。
ttps://pastebin.com/RrAQsZVC 日本ゲーム大賞アマチュア部門に出品する作品について
制作するためのツールやライブラリに、どのような制限がありますでしょうか。
たとえば、以前ツクール系はダメ、という話は聞いたことはありますが、
ユニティはOKなのか言明されていません。
事務局に問い合わせても、個別には答えられないと思うのです。 >>709
わかりました。
今年度の応募は締め切られたので、来年度の概要発表時に問い合わせます。 10年以上前から挫折と中断を繰り返し、
DXライブラリで作ろうとしてました。
約3年まえから時が止まってます。
最近本屋へ行ったのですが、DXライブラリの本は1冊しかなく、
他はUnityかUnreal Engine 4のどちらかがほとんどです。
もし今からやりなおすとしたら書籍の豊富なUnityかUnreal Engine 4かなぁと思うのですが、
そうするともうマシン語や普通のプログラム言語でゲームで作る場合の知識が全く身に付けられれなくなり、UnityかUnreal Engine 4のようなツールに頼り切りになり、
このようなツールがなくなった途端なにもできない人になりそうな不安あるのですが、それでもUnityかUnreal Engine 4にしたほうがいいでしょうか。
個人的にはプログラム言語と誰かが作ったライブラリで作ろうとして挫折したのだから、UnityかUnreal Engine 4にした方がいいのかなと思ったけど、それで大丈夫なのかいまひとつ自信がもてなかったからです。 DXライブラリ にこだわった時点で人生詰んでたと気付け そういう事言いだしたら、windowsが無くなったらどうするのとか
インテルとAMDが潰れたらどうするのとか
キリがない気がする
結局都度勉強するしかない
UnityもUE4も、オブジェクトと紐付けてソース書いていくって意味では一緒だし
今後踏襲されるであろう作り方ではあるんじゃないの >>711
unity はc#だからやっといて損はないと思うよ
ゲーム作る上でのアルゴリズムや考え方はそのつぎのツールでも役立つ筈 >10年以上前から挫折と中断を繰り返し、
お前には一生無理
とはっきり宣告してやれ やっぱり自分にはゲーム制作は無理ですかね・・・。
もし再開するなら、挫折や中断があったとはいえ、それまでの過程で勉強したり調べたりしたことが全て無駄になってしまうのが痛い気がして悩んだけど、このプログラムの世界では、環境がめまぐるしく変わるたびにその都度勉強するしかないんですね。
余命でなにをやるべきか悩んでて、何も出なくて、ゲーム製作がふと浮かんだけど、
まだ考え中。もしまたやるなら、言語+ライブラリは捨てて、UnityもUE4を検討してみます。上の方によれば、完全にプログラム不要というわけではなくてC#使う事もあるようなので、もう少し考えてみます。
いろいろありがとう!!! そもそも書籍って基本的に時代遅れのことしか書いていないよ?
低レベルな部分はともかく流行物は特に
Webをソースに勉強していった方が良いのでは
あと今更だけどなぜにDXライブラリ?DirectXやOpenGLを勉強した方が良かったのでは ■ このスレッドは過去ログ倉庫に格納されています