【初心者】スレを立てる前にココで質問を【Part26】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2013/11/25(月) 21:50:34.58ID:6u/BeNgCスレッドを立てる前にはローカルルールを読みましょう。
http://pc11.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
0545名前は開発中のものです。
2014/09/02(火) 19:41:49.42ID:5pUfdJacそんなことはない。
win3.1、95時代の人かよ。
0546名前は開発中のものです。
2014/09/02(火) 22:13:44.94ID:1xASGxHt0547名前は開発中のものです。
2014/09/03(水) 00:02:34.86ID:luuftBeswin3.1、95時代とはどこがどう違ってどうだからそんなことはないと
筋道だてて説明すればいいのに。
0548名前は開発中のものです。
2014/09/03(水) 03:53:40.63ID:UxUneO6e2つ以上のコアを同時に演算や処理に使えるようになったとか、
割り込み処理や非同期処理を排除して動作するロジックが作れるとか、
多段パイプラインのロジックの各階層で、完全に独立したフィルタ処理を並列に施せるとか、
そういうの書けばいいんじゃね? どれか詳細にメモリの排他やIOの話入れて説明してくれる人を期待
0549名前は開発中のものです。
2014/09/03(水) 19:49:25.66ID:FH9eFq6L0550名前は開発中のものです。
2014/09/04(木) 00:43:42.84ID:5claBEaxコア数が数十、数百個単位になってからがマルチスレッドの本番な気がする
0551名前は開発中のものです。
2014/09/04(木) 01:01:10.46ID:6AeNAEUhマルチスレッド? ああ昔はそんなこと気にしてたね
とか言ってるよ
0552名前は開発中のものです。
2014/09/04(木) 01:21:37.25ID:5claBEax0553名前は開発中のものです。
2014/09/04(木) 09:51:35.76ID:PSBhSPpk(脱出ゲームなど簡単なゲーム数本や、ツールを使ったノベルゲームを作りました)
ゲームを作ってていつも悩んでいることがあります
例えば「数字の書かれた裏返しカード5枚を場に配ってプレイヤーに好きなカードを選ばせる」という機能を作りたい場合、
A、実際に1〜5までの数字を並べ替えてそれぞれのカードを表示させて選ばせる
B、どのカードを選んでも事前にランダムで決めた数字のカードが出てくる(つまり置いてあるカードはただの見せかけ)
この2つの方法が思い浮かびます
なるべくAで作ろうとするのですが、時間と手間がかかるし行数も伸びてゴチャゴチャしてきます
作るのはBの方がずっと簡単です
でも「自分で選んでるように見えて実際はすでに決まってるなんて裏切りなのでは…?」と妙に申し訳ない気持ちになります
実際にBで作って遊んでくれてくれた人から「どのカード選ぶか悩んじゃったよ〜w」って言われると(あ、どれ選んでも一緒だよ…)って言えないけど胃が痛くなります
本当はBにしたいのにAで作らなくちゃ精神的に辛い…、という謎のジレンマに苦しんでいます
ゲーム制作では、AとBの方法のどちらが一般的なのでしょうか?
見た目は同じなのにわざわざAを選ぶメリットってあるのでしょうか?
堂々とBを選べる理由がほしいです
0554名前は開発中のものです。
2014/09/04(木) 10:34:25.93ID:6AeNAEUh結局Aで作るのと同じになる
特にゲームの有利不利に直結する場合は
ガタガタぬかすアホを減らすために見せたほうがいい
見せないならBでいいんじゃね
0555名前は開発中のものです。
2014/09/04(木) 11:58:43.61ID:gyY2Gyfsでも簡単なゲームだったらAの方が結果的には楽になると思うぞ。
例えば「特殊アイテムを使ったら、ヒントがカードの裏にうっすらでるようにしよう」とか
追加機能を付けたい時とか、簡単に改良できる。
0556名前は開発中のものです。
2014/09/04(木) 18:40:02.12ID:9DsG7doE0557名前は開発中のものです。
2014/09/04(木) 22:55:02.33ID:leTFPElCそんなしょーもないところばかりに拘ってるとハゲるぞ
0558名前は開発中のものです。
2014/09/04(木) 23:44:41.06ID:PSBhSPpkなるほど…
確かに後々の処理を考えるとAの方法のがいいですね
とても納得しました
>>556
お言葉に甘えてここで質問しても大丈夫でしょうか?
よろしくお願いします
ティラノスクリプトというもので製作してます
独自タグもありますが、[iscript]
[endscript]というタグでJavaScriptが使えるそうです
今までずっと[if exp=〜]の条件分岐だけでどうにかしてたのですがゴチャゴチャしてしまうので
今回初めてJavaScriptを使い始めました
色々ググってみてこの2つは出来たのですが、そこからどう次の処理をしたらいいかか分かりません
(「f.」とついてるのはティラノスクリプトの変数だからです)
↓ランダムに数字を選ぶ方法
f.dice=Math.floor(Math.random() * 5 + 1);
↓1〜5までの数字をバラバラに並べ替える方法
f.ary=[1,2,3,4,5,6];
f.ary.sort(function(){return Math.random() - Math.random();});
今はBの方法をとっていて、事前にランダムで数字を決めておいてカードを選ぶ時にそれを引かせるようにしています
Aの方法をJavaScriptでやるにはどうしたらいいのでしょうか?
数字をバラバラに並べた後、各数字を各変数に収納したのですが取り出し方が分かりません
0559名前は開発中のものです。
2014/09/04(木) 23:45:51.45ID:PSBhSPpk○ 収納したいのですが取り出し方が分かりません
0560名前は開発中のものです。
2014/09/05(金) 00:54:02.77ID:y2m5jZryどういう処理をしてるかわからなければ聞かれれば答えるが、関数名でググって勉強するのをお勧めする。
var items = [1,2,3,4,5]; // シャッフルされるカード番号の配列
var cards = [ ]; // 空っぽの配列に1枚ずつカード番号を追加していく
while (items.length > 0) { // items が空っぽになったらループ終了
// items からランダムで1つずつ値を取得して cards の末尾に追加していく
var num = items.splice(Math.floor(Math.random() * items.length), 1);
cards.push(num[0]); // splice は配列を返すから、1つだけ入った値を取り出す
}
// この時点で cards[0] 〜 cards[4] にシャッフルされた番号が1つずつ入っている
// items は空っぽになってる
0561名前は開発中のものです。
2014/09/05(金) 01:31:57.43ID:Gve/4fclひょっとしたら知ってるかもしれないのでトンチンカンな回答かも知れんが
シャッフルは以下のようなやりかたが一般的ではないだろうか。
配列0〜4にそれぞれ数値が入っていたとして、
まず配列0と、配列0〜4のどれか(ランダムで決める)の中身を交換する。
次に配列1と、配列0〜4のどれか(ランダムで決める)の中身を交換する。
次に配列2と、配列0〜4の(以下同文)
……を配列4まで繰り返す。
0562名前は開発中のものです。
2014/09/05(金) 02:30:03.44ID:bHlLCt0R0563名前は開発中のものです。
2014/09/05(金) 03:07:13.02ID:lEkSHS07東方のボムとかスペカが発動した時、テイルズの秘奥義を発動した時などなど…
カットイン?が入る時のゴゥン!とかボッ!みたいな音は何音というのでしょう?
相応しい名称をご存知の方は教えてください。
爆発音とかワープ音だと違うし、効果音の素材サイトを見ててもよくわかりません。
0564名前は開発中のものです。
2014/09/05(金) 08:51:52.82ID:UV7RCJX50565名前は開発中のものです。
2014/09/05(金) 10:13:04.43ID:Igyvf58t0566名前は開発中のものです。
2014/09/05(金) 14:43:02.74ID:Mwh2C0js自分がその音を作る(録音する)側として考えたらわかるかも知れん
0567名前は開発中のものです。
2014/09/05(金) 15:40:52.38ID:ZqbOlhsqシャッフルは、1つずつ減らしていくのでは?
0〜4から1つ選んで、[0]へ代入、[0]は確定
1〜4から1つ選んで、[1]へ代入、[1]は確定
以下同様に、2〜4 → [2]へ
3〜4 → [3]へ
>>558
詳しくは「js シャッフル」で検索して
Mathにシャッフル関数は無いのか
Underscore, Lo-DashのCollectionsに、shuffle関数がある
ttps://github.com/enja-oss/Underscore/blob/master/docs/Collection.md
ttp://lodash.com/docs
ライブラリの質問なら、web制作管理板
JavaScript ライブラリ総合質問所 vol.4
ttp://peace.2ch.net/test/read.cgi/hp/1400834117/l50
JSの質問は、web制作管理板か、プログラム板の方がよいかも
ゲームは、jsdo.itでも作っている人も多い
ttp://jsdo.it/
0568名前は開発中のものです。
2014/09/05(金) 16:07:00.06ID:y2m5jZry> Mathにシャッフル関数は無いのか
558が自分で調べた sort(クイックソート) メソッドの評価関数で randam() 値使えばそれがシャッフルと等価になってる。
「全ての処理がクイックソートである」 が確定してないと無限ループやバグの元になるから推奨できないんだけどね。
大半のクラスライブラリや基本モジュールでは クイックソート と明言されてるから使える技
0569名前は開発中のものです。
2014/09/05(金) 18:16:24.87ID:Gve/4fcl>シャッフルは、1つずつ減らしていくのでは?
君の言うやり方だといちいち「選び終わった数字」を控えておかないといけないじゃん。
>0〜4から1つ選んで、[0]へ代入、[0]は確定
>1〜4から1つ選んで、[1]へ代入、[1]は確定
現に↑このレイだと「ランダムで一つ選ぶ」はずなのに、
一行目では「0」が選ばれたことが前提になってるしw
0570名前は開発中のものです。
2014/09/05(金) 20:58:37.27ID:RDK5elSdhttp://ideone.com/pSimqs
個人的にはこの方法が好き。
・利点
なんとなく均等にシャッフルできているような気分になる
・欠点
作業用配列を確保しなきゃならないのでメモリ使用量的にどうよ、ってなる
0571567
2014/09/06(土) 00:22:46.61ID:O3RtaV2M商店街でガラガラ回す、福引のように、
一度選んだものを、除外していく方式
例えばインデックス[0〜4]から、ランダムに[2]を選んで[0]へ格納
ただし、元々[0]にあった要素を、上書きされないようによけておく
[0]→tmp、[2]→[0]、tmp→[2]
[1〜4]から、[1]を選んで[1]へ格納
[2〜4]から、[4]を選んで[2]へ格納
ただし、元々[2]にあった要素を、上書きされないようによけておく
[2]→tmp、[4]→[2]、tmp→[4]
0572558-559
2014/09/06(土) 21:13:42.92ID:soDD9N1k>>560
こちらのコードをティラノスクリプト用に変数を書き換えたものをコピペしたら動きました!
こんなに短いコードで自分がやりたかったことが出来て、とても感動してます本当にすごいです
1文1文丁寧なコメントもつけて下さりありがとうございます
今までJavaScriptについて知識がなく、HTMLの補助くらいにしか思ってなかったのですがこんなに便利なものだったんですね
他の方のレスもとても参考になりました
今の自分には何となくしかわからなくてすみません
関数名や「js シャッフル」で検索して勉強してみます
カードが並べられるようになったので
他の方が言っていたカードが透けてヒントが見える表現なんかも出来てゲームが楽しくなりそうです
本当にありがとうございました
0573名前は開発中のものです。
2014/09/07(日) 13:11:16.63ID:s9vhQEyfって保存したインスタンスのポインタって他から参照しても有効ですか?
vectorはpush_backし過ぎると上限を上げるために新しく配列を作りなおして
vector自体のアドレスが変わると聞いたのですが、
「ポインタ変数」のアドレスが変わるだけで「ポインタ変数」が指す「変数」のアドレスまでは変わらないですよね?
vector<Hoge*> list;
vector<Hoge*>* prevListAddress = &list;
Hoge* hoge = new Hoge();
list.push_back(hoge);
for(int i=0;i<1000;i++){
list.push_back(null);
}
//prevListAddress == &list //多分違うアドレスになっている
//list[0] == hoge//でもこれは・・?
0574名前は開発中のものです。
2014/09/07(日) 13:13:44.20ID:UqEBZZZt0575名前は開発中のものです。
2014/09/07(日) 16:54:49.90ID:t3aim4Jq0576名前は開発中のものです。
2014/09/14(日) 17:44:28.28ID:FGcW/RHE最低ラインを教えてください。
やっぱり同人でも有名な人とかはコネないと無理なんでしょうか?
映像も依頼するつもりなのですが、その最低ラインもお教えくだされば
幸いです。よろしくお願いします!
0577名前は開発中のものです。
2014/09/14(日) 18:29:27.07ID:vmi838sEある程度の実績がある人、会社だったらあるだろうが。
発注がどこかで大差あり。
たとえば、スタジオ・ジブリの宮崎駿と、無名では違う。
0578名前は開発中のものです。
2014/09/14(日) 20:54:01.14ID:28ejKsunエロゲの音楽作る人が曲の値段について前にtwitterで投稿してた
たしかOP主題歌は30万円ぐらいだったかな。
作曲→レコーディング(歌手・スタジオの手配)→ミックス→納品というフローを考えればそれぐらいはするかなと思う
が、あくまでこれはプロの話だし、同人音楽屋なら、直接その人に値段について問い合わせたほうがいいと思う。
作曲者側で30秒いくらで単価を設定してるはずだし、そういうルールも教えてくれるんじゃないかな。
参考にひとつ作曲家の依頼受付ページ貼っておく。
作曲家側がどんな感じで受けてるのかわかると思う(ただしこの人は歌ものはやってない)
http://kohrogi.com/?page_id=4446
久石譲のような一流どころでなければコネなんていらん。
ただし人気があって依頼が多い作曲家の場合は納期は遅くなると思うし、最悪受けてもらえないかも、
ということを踏まえた上で、やはり問い合わせてみるのが一番。特にお目当ての作曲家がいるなら。
映像は手間かかるだろうし、そうそう製作者も転がっていないのでわからん。
というか、頼む当てがあるなら、やはりメールして聞いてみるのが一番よ。
0579名前は開発中のものです。
2014/09/14(日) 21:49:25.18ID:XfoA2tY8世界的に有名なプロに依頼するわけじゃないでしょ?
0580名前は開発中のものです。
2014/09/14(日) 23:51:45.43ID:Ngl+DYr4漏れなら、Vocal無し、作曲+MIDIで、5万円
ただし、何曲もただで作り直すと、
時給が100円以下になるから、作り直しは無しで
それを友達のスタジオで、録音してもらうのに5万円
漏れは昔、30秒のゲーム音楽を、5千円ほどで作っていた。
でも今はやってないよ
ttp://www.musicworx-studio.com/
ここの社長が漏れの大学時代からの友人で、
今でもゲーム音楽を作っているかな?ここに聞いてみれば?
米国ボストンにあるバークリー音楽院に留学していた
0581名前は開発中のものです。
2014/09/15(月) 00:18:09.89ID:TXJGRsKQ鼻歌テープから曲を作ってくれるアレンジャーはかなり安価だったぞ。
0582名前は開発中のものです。
2014/09/15(月) 00:30:52.01ID:TXJGRsKQhttp://www.kazenomoriyukawa.saku ra.ne.jp/images/top_main.gif
全パート制作 ¥28,000 ピアノパートのみ ¥12,000 ボーカル録音 ¥8,000 (2時間mix込み)
各ジャンルにおいて男女の歌手を揃えております。音源を聴いて頂きご希望の歌手をお選び頂けます。
http://www.kazenomoriyukawa.saku ra.ne.jp/price.html
\20,000+TAX? 楽曲アレンジ
鼻歌からでも楽曲制作します。 ギターやキーボード+仮歌のデモから伴奏を起こしメジャークオリティの楽曲を制作したり、Hip Hop/R&B/レゲエのトラック制作またはグレードアップ。
アイドルグループの楽曲制作、作詞作曲、仮歌を入れての納品まで。
CMソングの楽曲制作、保育園/幼稚園の園歌制作、よさこい楽曲制作、バンドの同期作成、企業様のサウンドロゴなどなど 素材はデモもしくは鼻歌でも構いません。
http://stand-recordings.co.jp/arrange
■シンプルアレンジ *ピアノコード伴奏(¥40,000〜 税別
■本格アレンジ(¥120,000〜 税別
■作曲補助 (¥50,000〜 税別
■プロ歌手によるボーカル収録 (¥140,000〜 税別
http://happymusic.me/images/catch_price.gif
http://happymusic.me/media/1/20130828-_______________________62.png
http://happymusic.me/price.php
0583名前は開発中のものです。
2014/09/15(月) 01:47:13.72ID:n/ydR7tx臭いだけだからやめよう(アドヴァイス)
0584名前は開発中のものです。
2014/09/15(月) 02:10:55.79ID:976WGFRE0585名前は開発中のものです。
2014/09/15(月) 02:17:15.60ID:Mq6/VQ6Z漏れの友人が、サザンのベースか、さくまの妻だったかの曲に、
コードを付けて、編曲していたのを思い出した
鬼ヶーーー島!
0586名前は開発中のものです。
2014/09/15(月) 04:06:21.90ID:Pgie5qHx参考になりました!
とりあえず問い合わせしてみます!
0587名前は開発中のものです。
2014/09/23(火) 09:53:47.23ID:sI3UBnL4ワイドに変更を試みましたが、640*480の近似値でワイドとなると
720*480という中途半端で、しかもフルスクリーンにすると縦に潰れるという
どう考えても一般的じゃないものになってしまいました。
(仕様的に縦を480より伸ばすのは面倒なので横だけ伸ばす方向で考え、
フルスクリーンも可能なサイズ、として検討したらこうなりました)
この条件に近くてもっと一般的なサイズはありますでしょうか?
最近は高解像度でありながら、拡大表示でドット絵ゲーにしてるのも多いようですが
そのほうが一般的なやり方なんでしょうか?
0588名前は開発中のものです。
2014/09/23(火) 11:09:12.15ID:Mw+L8Mpo0589名前は開発中のものです。
2014/09/23(火) 12:40:44.16ID:efFoCSfd0590名前は開発中のものです。
2014/09/23(火) 12:45:50.24ID:jSzukf4cあとターゲットとなるプラットフォームが不明確だからリサイズ処理あたりの話はなんとも。
0591名前は開発中のものです。
2014/09/23(火) 21:06:33.99ID:jSzukf4c0592名前は開発中のものです。
2014/09/24(水) 17:43:21.46ID:Vi9UhtYj例えば>>591が書いてるようなのは俺のモニタじゃフルスクリーンに出来ない
疑似フルスクリーンとか仮想フルスクリーンとか呼ばれてるようなやつでレターボックス付けるのが楽だった
0593名前は開発中のものです。
2014/09/24(水) 20:28:17.16ID:y6enQ2a50594名前は開発中のものです。
2014/09/26(金) 00:46:33.79ID:Ictjo2Uc0595名前は開発中のものです。
2014/09/26(金) 01:45:10.96ID:GYhvjVOz0596名前は開発中のものです。
2014/09/26(金) 07:48:31.64ID:rO+kEazw自分の場合はモニタ対応とか色々考えた結果、1280x720に落ち着いた。
なんかもう考えるの面倒くせぇと諦めたともいう。
で、必要に応じて画像を整数倍拡大。キリはよくないけど、自分は3倍が好き。
あとは、たまに1920x1080で作る。
0597名前は開発中のものです。
2014/09/26(金) 10:06:18.11ID:Gv+ltECiシューティングゲームを応用して何とかしる
0598名前は開発中のものです。
2014/09/26(金) 13:37:06.75ID:Ictjo2Uc目的地への最短ルートを障害物を避けながら移動する方法。
これらのやり方がさっぱりわかりません
0599名前は開発中のものです。
2014/09/26(金) 14:19:45.56ID:Gv+ltECi移動ルートは固定化して直線+曲がり角に組み替える
必要ならば曲がり角ごとに進路をこっそり仕込む
もっと凝ったことがやりたいなら…頑張ってw
0600名前は開発中のものです。
2014/09/26(金) 15:09:53.40ID:8/p/ukYSなぜスプライン曲線をなぞる必要があるのか、その物理法則関係なくこだわりたい理由を詳しく。
最短ルートについては「経路探索アルゴリズム」という用語で出てくるページや資料を読むとよい。
0601名前は開発中のものです。
2014/09/26(金) 15:21:10.90ID:Ictjo2Ucでも直線でできるようならそれでもいいんですけど
よくあるFPSゲーを2D画面で作ってみたいんです
0602名前は開発中のものです。
2014/09/26(金) 16:19:31.43ID:JcYHmNqs0603名前は開発中のものです。
2014/09/26(金) 16:32:19.71ID:Ictjo2Uc結果的にスプライン曲線を描きながら進んでいるように見えるってことか
なんとなくわかってきたような気がします
0604名前は開発中のものです。
2014/09/26(金) 18:41:19.83ID:mWpB2Rw7俺「波状探査ならまかせろ」(バリバリッ
私の彼が波状探査だった・・・別れたい(しかも失敗してる)
https://www.youtube.com/watch?v=5XOstgDB7uA
簡単なタワーディフェンスならPS3でスクエニの「クリスタルデフェンス」って名前の体験版落とせる
スマホあるなら無料ゲーでテキトーに落とせば参考になるんじゃない?
0605名前は開発中のものです。
2014/09/26(金) 18:56:33.28ID:8/p/ukYS0606名前は開発中のものです。
2014/09/27(土) 02:21:39.70ID:wImin9kVナビゲーションメッシュもあるんだろうけども、細かい障害物避けるのって
自分の座標とウェイポイントの直線と障害物判定してんのかな
障害物があることはわかるけど、じゃあどこ行ったらいいのって所で迷う
0607名前は開発中のものです。
2014/09/27(土) 02:28:22.18ID:KFKFn22+ルーティング用のマス目状マップでも用意しとくんじゃないかなぁ。
マップが自動生成されるんでもない限り、それでなんとかできそうな気がするが。
0608名前は開発中のものです。
2014/09/27(土) 02:31:55.56ID:s2HQ+i3p読んでみるとよい。
0609名前は開発中のものです。
2014/09/27(土) 11:17:09.21ID:tjBxEneoたぶん知識が全然足りてない状態だから大学の専門講義レベルの内容を
>>600や>>608が出してる専門書を理解してから、独自にコーディングする
必要がある。これをやるだけで2年は普通にかかるし、数年がかりの研究に
なるかもしれん。学術をやりたいならこっち。
ゲームを作りないなら「それっぽく見せる」のが重要なだけで、>>606の指摘した
メッシュのような簡単な方法を使い、それをスプライン曲線っぽく見せる単純な
改造を加えるのが正しい解。
0610名前は開発中のものです。
2014/09/27(土) 11:21:49.79ID:Ei/nc79e0611名前は開発中のものです。
2014/09/27(土) 13:21:26.78ID:tjBxEneoオブジェクト数が少ないなら単純に計算させりゃいいけど
枝刈り という単語についても一緒に勉強するとよさげ
0612名前は開発中のものです。
2014/09/27(土) 14:58:36.02ID:rBcMllrc内部でマス目用意しておくか
探索範囲を自分の周囲だけにして障害物を避けながら移動して、
蟻みたいに後ろのやつは前のやつについていくようにすればいいかな
0613名前は開発中のものです。
2014/09/27(土) 20:26:35.11ID:dH0Gqgc4cocos2d-iphoneなら、Ray Wenderlichってサイトにあるよ。英語ができないならまあ頑張れ
0614名前は開発中のものです。
2014/10/02(木) 23:31:37.03ID:FmmVRDwb各ステージ最後のボス部屋以外、広大なマップを切り替え無しに
縦横に延々スクロールして移動しているのですが、これを再現
するにはどのように画面管理をすればいいのでしょうか。
ロックマンみたいにある時点でマップの区画を切り替える
やり方なら分かり、今は切り替え時点で次の区画の
オブジェクトを生成しています。
延々スクロールだとどの時点でオブジェクトを生成すればいいか
やり方がわかりません。
0615名前は開発中のものです。
2014/10/03(金) 01:43:48.37ID:jMc5hZrhで、スクロールする範囲がマップ毎に別々に決めてあり、
今居るマップでスクロールする範囲が決まると
0616名前は開発中のものです。
2014/10/03(金) 02:19:00.35ID:pwKYo/dkマップチップ1個を1画面分の広さに置き換えて考えればイメージしやすいかな。
http://www.dotup.org/uploda/www.dotup.org5343762.png
0617名前は開発中のものです。
2014/10/03(金) 07:41:54.97ID:Sj8MLdjG今の時代は富豪プログラミングの力業でいけるから、20画面分くらいはいけるだろうけど、
リアルタイムに生成と消滅する手法を考える方が必要
0618名前は開発中のものです。
2014/10/03(金) 07:48:59.12ID:xpbTXSz1ファイルアクセスのラグなんて、タイルマップの情報量から考えでもたかが知れてる
0619名前は開発中のものです。
2014/10/03(金) 11:19:56.41ID:xnDT8Hy6例えば、16x16の画像を複数持って、画面に並べて表示する。
640x480画面ならば、40x30個のタイルを並べれば良い。
巨大なマップであっても、その一部を表示すればよい。
簡単な計算で出来る。スクロールも容易です。
0620名前は開発中のものです。
2014/10/03(金) 14:08:18.37ID:Sj8MLdjGその場合に画面を外れて往復するような敵キャラはどのように管理すればいいのかを具体的に説明して欲しいかも。
614で画面繊維したときにオブジェクトを一括で生成してるってことは
はるか先のスクロール場所にいる敵も、そのときに生成してると思われるが
これの管理はどうすればいいかは、気になると思う
0621名前は開発中のものです。
2014/10/03(金) 14:26:55.18ID:aQh26k/Yどのタイミングでどこ見ようが映るようにするのが本来の設計だし
0622名前は開発中のものです。
2014/10/03(金) 14:29:16.53ID:IZCRmb1pそれなりの処理が必要になると思うけど、大抵は現在地から近くの敵だけだと思うので工夫して
たとえば現在画面とその周り8方向の画面を合わせた全9画面の中の敵だけは動作させるとか
そういう風にすればいいと思う。他にもやり方は色々あると思うけど。
0623名前は開発中のものです。
2014/10/03(金) 14:53:17.71ID:xnDT8Hy6それが、>>619の作り方をしたならば、
巨大マップの全部がひとつとして動作しており、
表示されるのが一部分であるだけです。
表示と、マップ上での敵などの動きは影響されない。
画面に見えなくても見えない部分も動作する。
これが単純で明快な方法。
効率化の為に最適化をするならば、
見えない部分の動きや音を止めるような方法もある。
これは、ゲーム性の部分であるから個別ゲーム仕様に準ずる。
0624名前は開発中のものです。
2014/10/03(金) 15:23:02.80ID:xnDT8Hy6http://www1.axfc.net/uploader/so/3333991
0625名前は開発中のものです。
2014/10/03(金) 15:28:29.62ID:Sj8MLdjG富豪プログラミングまではいかないにしろ、少しのメモリで解決できるし。
この手の技術的な話題は ROM改造スレ や関連のまとめサイト行けば、目からうろこ なテクニックのお勉強になるよ
0626名前は開発中のものです。
2014/10/03(金) 15:42:19.64ID:BtbFG2JS普通に「画面から遠くはなれた敵は消える」だろうな。
で、たぶんマップ上に「この位置にこういう敵がいる」ってのが記録されてて
表示画面に近づいた時に「生成される」んだろう。
だから例えばコウモリが配置されてる場所にいって、コウモリを倒したあと、
そこから離れて(スクロールアウトさせて)もどってみたら、
またコウモリが出てきてるはず。
0627名前は開発中のものです。
2014/10/03(金) 19:42:21.12ID:Csgq/m7fブラゲで企画の核となるプロトタイプは既に作ってて、
それをブラッシュアップしたものをネイティブアプリで作りたい。
で、Androidのクラサバ?でレン鯖が負荷に耐えられるのかとか
負荷をなるべく抑えるためのゲームデザインとか
そういうので悩んでるんだけど
そういう話題のスレってありますでしょうか…
0628名前は開発中のものです。
2014/10/03(金) 20:41:19.58ID:ETXfztCN0629名前は開発中のものです。
2014/10/03(金) 20:56:13.79ID:Csgq/m7f0630614
2014/10/03(金) 23:39:58.53ID:TKXRKVtWマップ管理をもう一つ、全体を管理できるものを用意すればいいのですね
現在、ステージマップを画面切替単位毎に区画に分けて、それぞれの区画が
マップと敵配置等のイベントレイヤーの、2つの同サイズの2次元配列を
持っています。
そしてプレイヤーのいる区画のオブジェクトだけを動かしています。
これを他の区画のものも動かす場合、ステージ全体の2次元配列を
用意すればよさそうですが、ステージの最小座標と最大座標で
2次元配列を作ると、ステージの構成次第では膨大で配列の大部分が
無駄な領域となってしまいます。
マップの2次元配列は当たり判定にも使用していますので、
パフォーマンスも気になります。
区画毎に2次元配列を持つ今のやり方は根本的な誤りがある気が
してきました。
0631名前は開発中のものです。
2014/10/04(土) 03:08:21.24ID:hWGwvuJc'0〜9' 'a〜z' 'A〜Z'で62種類あるし、char[256][256]とかやってもいいんじゃないかな?
ファイルの中身、こんなんですよ
http://minus-k.com/nejitsu/loader/up319308.png
大マップの方でプレイヤーキャラの上下左右3*3を調べて、現在いるステージと次ステージ以外は描画しないようにして
中心座標1マス(ゲーム画面1画面分)と、その周囲を描画させれば負担はそんなにかからないはず。
0632614
2014/10/04(土) 04:17:25.56ID:SzrnAQBu>>631
なるほど、char型ですか。
マップエディタ(Platinum)で作成していたのでその発想はなかったです。
あと、ご提示の画像でいうところの1〜5は別々の2次元配列に
したいです。今がその方式だし、分割管理の方がマップエディタでも
長方形の形をフルに使えて作成しやすいので。
その場合「1の右端」と「2の上端」をシームレスにスクロール
する方法を考えないといけないですが。
今は「1の右端」ではカメラが固定してプレイヤーが端まで移動
しますが、これをプレイヤーは画面中央のまま、2の画面に
入れるようにしないといけないですね。
0633名前は開発中のものです。
2014/10/04(土) 04:35:40.88ID:CfbsB7UM難しすぎて理解できない
最初は正方形で慣れたほうがいいかな
0634名前は開発中のものです。
2014/10/04(土) 05:18:57.47ID:B6ymsrp2■■■■
■■■■
■■■■
■■■■
■■■■
正方形マスと同じように配列で簡単に管理できる。
正方形マスより移動可能なマスが増えるだけ。
0635名前は開発中のものです。
2014/10/04(土) 05:19:41.25ID:B6ymsrp2■■■■
o■■■■
■■■■
o■■■■
■■■■
0636名前は開発中のものです。
2014/10/04(土) 05:31:57.15ID:CfbsB7UM□■□■□■□
■□■□■□■
□■□■□■□
■□■□■□■
こういうやり方もあるみたいなんですが
どっちがいいかわからないし、どちらにしても配列をどう管理すればいいかわからない
0637名前は開発中のものです。
2014/10/04(土) 05:52:15.80ID:B6ymsrp20638名前は開発中のものです。
2014/10/04(土) 07:32:53.26ID:LYcsoFl9ttp://peace.2ch.net/test/read.cgi/gamedev/1333204842/l50
漏れはこのスレの117だけど、正方形のマス目をずらして、
ヘックスを表すには、
>マス目は、縦方向に一直線で、
>横方向には半マスずれているのか?
マス目は、横方向に一直線で、
縦方向には半マスずれているようにしようと思う
これは、HTML,CSS,JS などでマス目を作る際に、
横方向に一直線になっている方が、
画面デザインをしやすいかなと思った
0639638
2014/10/04(土) 07:34:50.36ID:LYcsoFl9番兵はぐるりと、その周囲を囲む
番兵を含むと、(M + 2) * (N + 2)
1〜M行目、1〜N列目はマップ
0, M+1行目、0, N+1列目は番兵
奇数行は、偶数行より半マス右にずれて表示される
マス目(i, j)に接するマスは、
奇数行と偶数行によって、iの1つ上下の行がずれる
接するマスは、iが偶数のとき、(i-1,j-1)(i-1,j)、
(i,j-1)(i,j+1)、(i+1,j-1)(i+1,j)
iが奇数のとき、(i-1,j)(i-1,j+1)、
(i,j-1)(i,j+1)、(i+1,j)(i+1,j+1)
iが奇数の際、iの1つ上下の行が、右へずれる
結論として、j + i % 2
偶数のとき、j + 0。奇数のとき、j + 1
0640名前は開発中のものです。
2014/10/04(土) 12:18:01.67ID:3dztRD+u表示位置はこんな感じ
■■■■■
_■○○■■
■○□○■
_■○○■■
■■■■■
実際に参照する配列はこんな感じ
■■■■■
■○○■■
■○□○■
■○○■■
■■■■■
こういう表示位置なら…
_■■■■■
■■○○■
_■○□○■
■■○○■
_■■■■■
同上
■■■■■
■■○○■
■○□○■
■■○○■
■■■■■
自分が居る位置と方向(上の例では1時の方向、3、5、7、9、11)で正しく参照するようにする
0641名前は開発中のものです。
2014/10/04(土) 15:53:06.15ID:CfbsB7UMX軸が水平ってやつだと思います
0642名前は開発中のものです。
2014/10/04(土) 17:14:21.04ID:CbrYzgZ/奇数の時はx-1, xでhexになるような
[a0, a1, a2, a3, a4]
[b0, b1, b2, b3, b4]
[c0, c1, c2, c3, c4]
[d0, d1, d2, d3, d4]
a0の隣接 = a1, b0, b1
b1の隣接 = b0, a0, a1, b2, c0, c1
c2の隣接 = c1, b1, b2, d1, d2, c3
0643638
2014/10/05(日) 23:02:35.81ID:i6GrhbBw0オリジンで、配列の0行目は、(0,0)(0,1)(0,2)
配列の1行目は、(1,0)(1,1)(1,2)
マス目を1行ずつ、左から右へ、見ていく感じ
それで、1,3,5などの奇数行は、半マス右にずれて表示される
0644名前は開発中のものです。
2014/10/06(月) 01:37:28.95ID:hyhihY3Rなんとか六角形を並べて表示することはできました
これをどのようにメモリで管理するのか
皆さんのレス何度も見ながらやっていこうと思います
参考にしたサイト
路然草(みちづれぐさ): ヘクスマップ
ttp://michizure.seesaa.net/article/318281163.html
Hexagonal Grids
http://www.redblobgames.com/grids/hexagons/#hex-to-pixel
■ このスレッドは過去ログ倉庫に格納されています