【初心者】スレを立てる前にココで質問を【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/ >>286
2DゲームもUnityで良いと思うが、気に入らないならCocos2d-xだろうか ttps://www.famitsu.com/news/201703/17129150.html
こういうマルチプラットフォーム対応するにはどんな言語というかエンジンで
開発するんでしょうか? おもちゃ的なアプリを除いて商業するのにC++言語+用途特化ライブラリ 以外に選択肢って存在するの? C言語では二十本くらいゲーム作ってC++もOOP含めて勉強して
言語仕様を確認する程度のサンプルソースは組んだりしてましたが
その後長期のブランクがあるので具体的にどういうものを使うのか全然わかりません https://goo.gl/MFkghn
これ本当だったら、普通にショックじゃない?? 横スクロールアクションでcsvを使ってステージを読み込んでるんだけど(0が何もなし、1が床みたいな)
スイッチとそれに対応したドアをどう実装すべきか思いつきません
具体的にいうとスイッチとドアの関連付けをどのようにやればいいか思いつきません
何かいい案ないですか? マップチップを 1〜127 とするのであれば、追加情報を A×128 にして値を設定すれば、
128で割った余りがマップ情報、128で割った値が追加情報、という混在ができる。
この辺のプログラムの基礎知識レベルが直感的にわからないのであれば、ファイル分けるかして情報を複数に分けて持つ >>294
あまりの値でスイッチとドアを関連付けるって感じですかね? Yes
マップチップがドアの場合は追加で得られた値をどの様に解釈する〜みたいな処理にする。
マップチップ(0〜127)=29
追加X(0〜127)=92
追加Y(0〜63)=9
追加Z(0〜3)=2
みたいな値を
CSVの値 = Z*(64*128*128) + Y*(128*128) + X*(128) + マップチップ番号
とすれば、上記の場合は 2256413 を設定しておいて、この値を分解する >293 の事例の説明としては例が不適切だった
マップチップ番号95=ドアの鍵を開けるスイッチとするのであればという話だから
マップチップ(0〜127)=95
対象となるドアの座標X(0〜127)=85
対象となるドアの座標Y(0〜63)=24
変更後の値Z(0〜4194303)=2256413 (2,9,92へ飛ぶドア >296 のやつ)
CSVの値 = Z*(64*128*128) Y*(128*128) + X*(128) + マップチップ番号
として、2366022085343 を設定する感じかな、値が大きすぎて 64bit 整数じゃなきゃ処理できなくなっちゃったけどw BGMとかSE作成はみんなどうしてますか?
フリー素材とか使う人が多いのかな フリゲならそれでいいんじゃね?
同人含む有償になると、「他のゲームでも聞いた音楽や効果音」になって
暖かい空気になっちゃったりするけど 俺なら、csvの1セルを4バイトにして
下位2バイト=マップ、上位2バイト=イベント番号(ゼロならイベントなし)
とするかなぁ。
イベント番号に応じたイベント内容は、別csvに定義
イベント番号, イベント内容ID, Param1, Param2
1,DOOR_OPEN,100,200
2,DOOR_OPEN,200,300
2,POP_MONSTER,200,300
・
・
・
として、イベント1番を踏んだら、map[100,200]にあるドアをオープンする、
イベント2番を踏んだら、map[200,300]のドアをオープンして敵を配置する、みたいな
(実際はもっとリッチに作るけど) >>296>>297>>300
ありがとうございます!
一人での製作でないのでチームメイトと相談しながらですが参考にさせていただきます! 確率についての質問です。
num=0
x=0.8
if(Math.random()<x){ num++ }
とする事でおおよそ80%の確率でnumが1になりますが、xが1以上の場合についてどういう処理が「自然」なのか助言が欲しいです。
x=2.5
t=x
while(t>0){ num++; t-- }
とすると整数部(2)+小数部の確率で+1されますが、0や1が出てきません。
x=0.25
y=10
for(i=0;i<y;i++) { if(Math.random()<x){ num++ } }
num=Math.floor(num/x/y)
とすれば0以上3以下を出す事が出来ますが、試行した所3が殆ど出ません。
確率はそもそも1以上はあり得ないとか、好きにしたらいいとか言われると何も言えないのですが、よろしくお願いします。 >>302
試行で一回を超えて表現することは出来ないから、
1.0以上の場合は、効果値にその確率の値を掛けたものを使う、
みたいにするくらいしか出来ないんじゃない?
ただ、確率として何が自然か、よりもどういう動作にしたいのか、に
合わせることを考えた方がいいと思うけど 単純に「整数ではない少数を含む実数型で0以上3未満」の値が欲しいのであれば、 Random() * 3.0 で良いのでは?
「整数型で0〜3の値がランダムに欲しい」のであれば、floor(Random() * 4) で作る。 >>302
何をしたいのかが分からない
最初の例でxは確率であって、1より大きいことはない。
1より大きい場合は確率ではないので何か別の仕様とごっちゃになってる while(t > 0){ if(Math.random()<t){ num++ } t-- }
一応訂正しておきます。
確率としてxが変数なのだから1以上に拡張できるだろうと安易に思ったのですが
結果として期待する値を元に組むべきみたいですね、もう少し練ってみたいと思います
アドバイスありがとうございます。 ヒント
乱数を使うときにですね、整数を使います。
小数点以下を使うのならば桁数を考慮しなければなりません
また、浮動小数点になると誤差もでますのでそれなりの配慮が必要です
乱数の方式によっては乱数系列を変える必要があるかもしれません >307 は中身のない適当な内容だから、真に受けてはダメよ
1行目 意味不明。 浮動小数点は乱数生成アルゴリズム(相互に独立したビット列)の結果の写像でしかないのは確かだが
2行目 当然だが説明のどこにも繋がってない
3行目 オレオレ乱数でもない限り配慮は不要です。むしろ配慮しなきゃならないロジックを知りたい
4行目 シードの話なんだろうが、同一現象を意図して起こしたいという特異な理由が無きゃ、現状考慮不要 >>293
床とかドアとかのマップチップの種類と
スイッチで何か起動するイベントは
別(CSV)ファイルにするのが一番シンプル
割った値で〜みたいのは
今はそんなことやんなくていい
たしかに昔の貧弱な環境ではやってたけど
CSVなんて大したデータ量じゃないし
今は分かりやすさを優先した方がいい こんちは
自分で作ったゲームとか素材とかレビューしてもらうにはどのスレいったらいい?
画面みせて印象とか感想ききたいんだけどね
http://i.imgur.com/ab08FPh.jpg unityでvector3のインスタンス作成時っぽいコードを自分で作ってみようと思ったんですが、
v[0,1,2] = x,y,z;の所でエラーになります。正しいコードはどう書くんでしょうか?
public class A : MonoBehaviour
{
public int[] v = new int[3];
public A(int x,int y,int z)
{
v[0,1,2] = x,y,z;
}
void Start () {
A vector = new A(1,2,3);
print (vector.v);
}
} UNITYなんてやったことないけど、そこは
v[0]=x; v[1]=y; v[2]=z;
って書かなきゃいけないんじゃね? >>315
エラー消えました。ありがとうございます 314だけだと言葉足らずだったので・・・
そもそもX〜Zの要素を、配列とするべきか、それとも
public readonly int X, Y, Z;
のように持たせたほうがいいのか、ってのを考えたほうがいいかも
(俺なら後者にする。詳しくないけど数学系でn次元配列とかやりたいなら前者?)
蛇足なので無視してもらっていいけど、classとstructのどっちがいいの?とか、
classにするならmutable/immutableどっちがいいの?とかね その辺は3Dプログラミング作法と高速化で必須のSIMD命令との受け渡しによる。
素直にOpenGLのVector3の実装そのまま持ってきた方が…… OpenGLで質問です。
テクスチャの切り替えで詰まってます。
一枚の画像からテクスチャを切り出して、texcoord指定にて各オブジェクトに適用しています。
そこでその画像のglBindTexture後に、 一部のオブジェクトでテクスチャを貼らない場合があるのですが、何もテクスチャを指定しない方法がわかりません。
glBindTextureの0指定はパフォーマンス上使えません。
画像に空欄部分を作り、それをテクスチャとして貼るという方法は思いつきましたが、個人的に良い案とは思えませんでしたので、保留しています。
一般にこういう場合はどうするのでしょうか?
また、他に何か良い方法ありませんか? OpenGL触ったことないので適当言うと、
@Pass(PixelShader関数)を変えて対応
A定数バッファにテクスチャを見る/見ないのフラグを持たせて
PixelShader内で分岐
BVS_Inputにテクスチャを見る/見ないのフラグを持たせて
PixelShader内で分岐
Cテクスチャの角1ドットを白ドットにして、
TexCoordに(1,1)を指定して対応
(たぶん322で言ってる「画像に空欄部分を作り〜」の方法と同じ)
DTexture2DArrayでどうにか
って感じ?
俺ならCか、場合によってはADかなぁ・・・
勉強中の身なので、もっといい方法あるかもだが >>324
詳しい説明ありがとうございます。
Pass機能はGLにありませんので、自前でバッファ詰めてシェーダで対応するしかなさそうですね…。
このために機能追加も何ですので、諦めて空欄部分を貼ることにします。
返信ありがとうございました。 44〜45、6歳 職歴なし 無職
モノポリー作りたいです
どうすれば、良いですか? まずどれで動かすのか、何で開発するのか、からかなあ
ボードゲームの作成経験は?
ないならまず単純なすごろくでも 経験なし です
ゲームはドット絵の2dです
ツクールやフリーソフトに無かったので、pygameにしようと思ってます。
C++,C#はdxライブラリ,xna,Unity,DirectXなどは、難しいので
コンソールに近いpythonを使おうかと思ってます
本人のやる気次第なのですが、どれくらいで作れる物なのでしょうか?
2ヶ月を目標にしてます
ドットインストールで学びました プレイヤーは全て対人?まあAIは無理だよね、オンラインもその期間じゃ無理だし
単にボードとサイコロ提供でいいんかな プログラミング未経験でひとつのゲームを完成させるとか、常識的に考えて年単位必要、10年あっても素質がなければ完成しない まあ「すごろく」、「プログラミング」あたりで検索して使えそうなサイト探すのが手っ取り早いかも そうですね
もっと、詳しく調べて取り敢えず
適当に何とかします
チャレンジカードと刑務所、鉄道など
その他は取り敢えず無視して、移動と物件購入ができるまで進めてみます
解らない事が有りましたら、その都度質問に来ますので答えてくれると、ありがたいです >>326
>>328
最終的な目標はモノポリーだとしても
最初はすごろくから作った方がいいよ
それもただ前に進むだけの単純なやつ
初心者ならすごろくに少しずつ要素を
足していった方が絶対分かりやすい
最初から全部やろうとすると挫折率が高い ノベル系だとすぐ参考例が出てくるのですが
探索系やRPGだとどれくらいのテキスト量でどれくらいのプレイ時間かという参考例が少ないです
ギミックや戦闘システムなどの難易度にもよるとは思いますが
参考までに今までそれぞれどのような量だったか、経験者の方々に教えていただければ幸いです RPGならテキスト量でプレイ時間決めたら
ズレが大きくてまずいんじゃない?
ふつうならレベル上げの方が時間喰うでしょ 初めてはっきりとしたストーリーのある作品を作る予定でシナリオを外注するつもりなのですが
短編、○時間程度のような企画を立てたものの
ライターさんにお願いするとなるとシナリオ量がおおよそでも決まっていないと困るかなと…
あまりここ向けの質問じゃなかったですかね だからRPGだとテキスト量とプレイ時間が比例しないから
そこだけで決めようという考えがそもそも的外れ
テキスト量ではレベル上げの時間が変わらないんだから
レベル上げをX時間内に収めるという調整が重要なの RPGのテーブルトーク本とか読むと、パーティーの想定レベルを決めて、
出てくるモンスターも、妥当なレベルにしている
パーティーのレベル : 3〜5
モンスターのレベル : 8以下で、中ボスは何々
ゲームを作る方から見た、こういう設定とか知らないのなら、
ゲームデザイナーにはなれない
仕事での打ち合わせ・料金見積りすら、決められないから、
他の会社と共同作業ができない 質問!!
インディーズでゲームを作りたい。
現状で、最も多くの人に触れてもらえるプラットフォームはどこ? マルチプラットフォームが
最も可能性があるだろうな
労力を考慮しなければ defold使ってる人いますか?
unityと同じようなGUIでluaという結構簡単な言語が使えるみたいなので興味あるのですが 俺自身は使ったこと無いが、試用してみたという人なら居た
個人開発で軽めのゲーム作るならあり、それ以外だと微妙、みたいな >>345
おおありがとうございます
それならやっぱりunityでやっていこうかと思います レスすら初めてなので場違いであれば指摘を、、、
タクティクスチャレンジって実際どんなもんです?
動画探しても紹介すらなくって
タクティクスオウガっぽい戦闘する同人ゲームをむかし友人がやってました
fate?のキャラクター使ったものかと思いますが、タクティクスっぽいゲームって割と難しいものではないものなんでしょうか? ここで良いのかわかりませんが、
個人やサークルに3ステージぐらいのSTGの製作を依頼するとしたら、お金はいくらかかりますか?
あるいは、いくらならやりたいと思いますか?
または、相場がわかるようなサイトを紹介していただけると助かります 知識ゼロだから制作ツール色々触ってapp inventor2が簡単で使いやすいなって感じたけど簡単なだけあってしょぼいゲームしか作れないのかな
ネット上探してもミニゲーム的なものしか見つからない
まずはこれで簡単なもの作れるようになったとしてそれはunity使うときにいかせるかな
それとも最初からunityに挑戦したほうが目的は早く達成できるだろうか 自分が教える立場なら、目標は刻んだほうがいいって言うかな
それこそボタン1つしか使わないゲームとか 同人ゲーみたいなモノの制作手伝いしてるんだが、教えてほしい。
ちなみに、自分の協力内容↓
・立ち絵
・ドット絵
絵師?は数名居て、担当キャラやらモンスター割り振られんだけど、
リテイクってあるもの? 常識なのか?
ちなみに、無償協力。完成品も、黒字になったことはない。 各自が好き好きで作って1つの作品になるわけないっしょ >>351
なんで、無料でやっんの?
作品については
自分がそれで気に入ってるなら、する必要ない。
無償協力なのに売り出してる時点で、お察しなサークル
さっさと、逃げた方が良いんじゃない? >>351
まあクオリティを求めるのならリテイクは発生するだろうね、絵師が複数いれば絵柄の統一も取らなきゃいけないし、イメージが合わないケースもある
それに賛同出来ないなら抜ければいいだけだよ
利益を求めずにやってるなら思い入れがなければ続かないと思うから、自分がそれをやりたいと思えているかをちゃんと考えてみるといいんじゃないかな? レスありがとうございます。
ちなみに、絵柄は統一されてない。ポーズリテイクが多いかな。
昔からある、キャラやモンスターの絵師バラバラのRPGとかみたいな感じ。
うーん、気になり始めたって事は、サークルとの転換期なのかも知らないですね。
ちょっと、自分と問答してみます。
ありがとうございます。 あ、再起動してID変わっちゃったけど、 ID:/GrKO8E/です。 Wolfの一部ゲームでキーボードが↑に入り続けて困ってるんだけど誰か助けて(´;ω;`) 趣味でRPG作ってます。下記のスクリプトで親オブジェクトのオブジェクト型変数として取得した(つもりの)「parent」をダメージ処理を行う関数に渡そうとしているのですが、「存在しない」とエラーになります。どうかアドバイスを下さい。
public class Atack1 : MonoBehaviour {
float Bairitu=2f;
void Start(){
GameObject parent = gameObject.transform.parent.gameObject;
}
void Update(){
Destroy (this.gameObject, 0.1f);
}
void OnTriggerEnter(Collider col){
if (col.gameObject.tag == "character") {
All.Damage (parent, col, Bairitu);
Destroy (this.gameObject);
}
}
} 書き忘れていましたがunityです。ダメージの関数はこんな感じです。
public class All : MonoBehaviour {
public static void Damage(GameObject Atacker,Collider Defencer,float Bairitu){
Status Atacker_status = Atacker.GetComponent<Status> ();
Status Defencer_status = Defencer.GetComponent<Status> ();
float iryoku = Atacker_status.ATK * Bairitu; //HP=HP-ダメージ(威力(ATK*倍率)-DEF)
float damage = iryoku - Defencer_status.DEF;
Defencer_status.HP -= damage;
Debug.Log(Defencer.gameObject.name+"に"+damage+"のダメージ");
}
} >>360
関数内で宣言されたローカル変数には他の関数からはアクセスできない >>360
parentがStartメソッドの中しか存在してない感じ
unityもC#も知らんので適当書いて悪いんだけど
parent をAtack1クラスの変数メンバ(C#はフィールドだっけ?)
にしたらいいんでない?
こんな感じ
float Bairitu=2f;
private GameObject parent;
void Start(){
parent = gameObject.transform.parent.gameObject;
あ、もう書かれてたか >>362 >>363
お二方ありがとうございます! 363さんの通りにやったら出来ました。コードを短くしようと宣言と代入をまぜてしまったのがわるかったんですね… さすがにそのレベルだときちんとC#入門なり読んだほうがええよ
コピペ繰り返ししてても必ず行き詰まる シムシティみたいにマップをユーザーが作れるゲームで、ユーザー同士の作ったマップを繋げてオープンワールドのゲームって作れないですか? 乱数XorShift128(シードはWinAPIのGetTickCount)で、0〜7の範囲に限定して乱数を取得するとき、
何回取得しても15個単位で同じ乱数が繰り返されます。
また、「0,2,4,6」、「0,3,5,6」等、何回取得してもまったく出てこない値が発生するケースもあります。
シードがどんな値でも0〜7をなるべく偏らせず、満遍なく取得できる方法はありますでしょうか。
ちなみに、乱数取得に使用したロジックは以下です。
Result = ( int )( ( ( LONGLONG )XorShift128() * 8 ) >> 32 ) ;
Result = ( int )( ( ( LONGLONG )XorShift128() * 8 ) / 4294967296 ) ; そのロジックの意図不明たけど、乱数 % 8ではダメなのか。 % 8で偏りで出るならそもそもの乱数が低品質で別のを使ったほうがいいとおもうぞ。 剰余じゃ偏るみたいなので、2番目のロジックは乱数の最大値+1で割ることで割合を一様にしているのですが、どうにも偏ります。
XorShiftにしているのは速度が欲しかったからです。
乗算合同法のような高速な乱数生成と組み合わせてみようと思います。 有力な擬似乱数だったら% 8くらいは平気だとおもうぞ。
そんなに簡単に乱数に見えなくなるなら消えてるはず。
あと速度はメルセンヌ・ツイスタとか早かったとおもうぞ。精度も。 結局メルセンヌ・ツイスタにしました。
XorShiftより2倍近く遅くなりましたが、偏りはほぼ解消されました。 ゲーム制作を思い立ちPCを買うところなのだけど
ゲームを作る時に光学ドライブはあった方が良いですか?
ちな購入するPCはこのページのミドルクラスのやつ↓
http://www.g-tune.jp/ws_model/tv/ 質問しといてなんですが結局光学ドライブはつけました
無駄レス申し訳ありませんでした 必要ないと思うけど何で付けたの?
ディスクで配布するとか? >>376
配布は考えてないけど、ゲームごとに別のディスクにわけて持ちたくて
あと完成したら大学のサークルで発表会?みたいなのがあるからCDに入れられたら便利かなと 開発用PC の最低ライン
Windows 10 pro版
CPU は、i5
メモリは、8GB
普通は、
CPU は、i7
メモリは、16GB 以上で、とにかく最大まで積む。
保証期間も3年以上で、できれば5年 3Dゲームならスペックいるが
ツクールならスペックいらない
無条件に高スペック推奨するのは
かえって分かってない まず、グラフィックボードの記載が無い。
あと、win10のHome Proの違いも解ってないっぽい。
Windows 10 Pro
Windows 10 Homeの内容に加え、企業向けのコンテンツを一部追加したエディションです。企業向けのエディションである、Windows 10 Enterpriseと比べると、一部機能は搭載されていません
Windows 10 Home
Windows10で一番基本的なエディションです。Mobile版を除いた全てのエディションに、このHome版の機能が含まれています。
このエディションは「PC、タブレット、2in1PC」の3つを搭載対象として作成されています。 OS 認識する最大の
物理メモリ容量(32bit) 物理メモリ容量(64bit)
Windows 10 Home 4GB 128GB
Windows 10 Pro 4GB 2TB
Windows 10 Enterprise 4GB 2TB
Windows 10 Education 4GB 2TB 最大までって、
メモリを2Tも積んで、どうするの? 初心者です。
個人の開発でメモリを2T積む意味を教えて下さい。 GeForce® GTX 1060ってグラボでは無いのか?
もう注文自体は済ませてしまったんだけど取り消したほうが良いのかな
オプションつけてたらなんだかんだで15万超えてしまったんだけど流石にこれ以上のPCは予算が無くて買えない pro版は企業用って聞いてHOME版にしてしまった GTX 1060はグラフィックボードです。
Intel Core-X i7 7世代 以上?
その値段でGTX1060(3Gor6Gどちらか)つけてくれるなら、
いい買い物だと思う。
win10なら、ブートファイル作って
OSの再インストール時にhomeとproを選べたりする。 ■ このスレッドは過去ログ倉庫に格納されています