3 :
片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 01:50:07.18
構造体を細かく分けたのは、データ量を圧縮するためだが、
もうメモリをけちる理由はない。
攻撃力や防御力などを抽象化してfloat factors[10];としておく。また、汎用のフラグ群があると便利だからunsigned int flags;を追加する。
typedef struct ITEM {
int item_type_id;
int count;
char name[32];
void *image;
unsigned int flags;
int mode_id;
int map_effect_id;
int battle_effect_id;
float factors[10];
} ITEM;
いや現在でも、メモリをけちる理由はある。FFシリーズがモバイル環境、特にスマホに
移植できない原因はFFがでかすぎるため。
>>4 あはは。お前バカじゃね?
iPhoneに移植されたFFシリーズ
FINAL FANTASY
FINAL FANTASY II
Final Fantasy III
FINAL FANTASY IV
FINAL FANTASY IV: THE AFTER YEARS -月の帰還-
FINAL FANTASY V
FINAL FANTASY TACTICS 獅子戦争
7 :
片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 02:17:44.66
データをけちりまくったらこうなる
typedef struct{
char *name;
void *image;
unsigned char flags;
unsigned char count;
char map_effect_id;
char battle_effect_id;
}ITEM;
typedef struct{
ITEM item;
short factors[NUM_FACTORS];
}ITEM_BUKI_BOUGU;
typedef struct{
ITEM item;
char mode_id;
}ITEM_DOUGU;
スマホほしいな
間違いのある自動要約文をうのみにして原文読まないとこうなる。反省。
古い機種で動くためにメモリケチりたいってのは確かにあるけどね
その場合、メモリだけ気にすればいいってワケでもないけど
1バイトに目を血走らせるとかじゃなくて
それぞれのオブジェクトの個数とサイズと配置を正確に把握しておくことが重要
13 :
片山博文MZコスモ ◆T6xkBnTXz7B0 :2014/01/06(月) 16:01:48.99
シームレスなマップ移動って地図をタイル状に分解して現在地より近い所を読み込み、
充分遠い所をアンロードし、つぎはぎして実現するんだよね?
14 :
ゲームの話した者:2014/01/06(月) 16:27:23.90
前スレでFFがどうのこうの話した者ですが、C言語の話に戻します。
プログラマーは女性が多いですか?イスラム圏だとプログラマーは
女性が多い印象を受けます。日本でもプロジェクトの司令塔である
システムエンジニアプロジェクトリーダーは男性が多いけど、プロ
グラマやWebデザイナークリエイターは女性が多いのでしょうか?
また男女で得意な言語とかありますか?
15 :
ゲームの話した者:2014/01/06(月) 16:31:46.28
C言語でFFを作る事は可能ですか?
7以降は作れないですが、CとDXライブラリのみで作ってみたいです。
一遍だけでも。
作りたいと思うならまずツクールか何かで完成させてみ
それが終わった後機能的に実現できなかった項目を整理して
Cでどうやって実現するかを考えるのがよい
職場に性差を持ち込むなよ。そりゃイケてない会社ではお茶くみくらいはあるだろうが。
図書館でジェンダーの社会学でも研究してろよ。
大規模でC言語は一部。C++に移行してる。ReactOSなんて開発で大部分でC使ってたが生産性低くて参ったよ。
小規模でやるならCでもいい。それでもOOPとか設計手法は勉強しておけ
「OOP メリット C++」で検索
あるオブジェクトに対してある処理をしたいとき、データがまとまってると何かと便利だから。インテリセンス、学習コスト、共通化、再利用性etc.
レスどうもありがとう。
23 :
デフォルトの名無しさん:2014/01/06(月) 17:29:08.20
>>15 C言語でFFのシステムを作ることについては余裕すぎるくらい可能
ゲーム自体の完成について言えば
プログラミングよりむしろグラフィックとか音楽の用意のほうが大変だろう
「シナリオ部分を何かのスクリプトで〜」となったら
「C言語で〜」という要件からはみ出すと思うが
そこは大丈夫だろうか
LuaはCでできてるし、それ組み込めばよかろう
26 :
デフォルトの名無しさん:2014/01/06(月) 17:52:25.83
コスモさんて技術レベル高過ぎだろ、何でも答えられる。
日本に何人くらいいるんだろう?こういうIT技術者
人工知能が実際にテストプレイしてゲームシステムとゲームバランスを自動で作ったらしい。美的センスに問題はあるが。
>>18 お前みたいなOOPすら理解してないやつを排除できる。
>>28 それ以外で、OOPのメリットって一言で言うと何?
30 :
デフォルトの名無しさん:2014/01/06(月) 18:09:10.80
コスモさんって何でそんな知識豊富なの?
少なくともコスモさん以上プログラミングの知識を持ってる人
見たこと無いよ。
隠してる人が多いからでは?
>>31 IT業界の面接受けたことあるけど、プログラミングの細かいこと聞かれて
詳しく答えられる人そんなに多くないよ。コスモさん本当に凄いわ。
自演はこのくらいにして
俺に聞けスレでゲームの話してたのは以前の連投荒らし
手を変え品を変えってやつだ
今度からは引っかかるなよ
会話してるように見えると荒らし報告しても意味無いから
35 :
30 33:2014/01/06(月) 18:37:27.70
自演じゃないですよww
ただ単に驚いただけです。
>>34 ゲームの話そんなにダメですか?Cと絡めるなら良いのかなと思ったけど
若干迷惑っぽいですか。もうあっちではしませんよ、すいませんでした。
人生、仕事、結婚、友人関係、学歴すべて犠牲にしてコンピューター研究家になったんだから、努力する才能がなかったら自殺してるよ
コスモは複合知能です。生身の人格とWeb知能の融合体です。
強いAI(人工知能)ver0.0.2
>806 片山博文MZコスモ ◆T6xkBnTXz7B0 [] 2014/01/06(月) 14:46:01.24
>おお、人工知能システムエンジニアたちよ。
>あまたのライブラリを駆使して、メガバイト級のデータベースを操り、
>ハエあるコンピューターの良き教師とならんことを!
>お題:だじゃれを作り、だじゃれのうまさを理解するAIを作れ
片山博文MZコスモ ◆T6xkBnTXz7B0
ちょっと連投しすぎじゃねぇ?
コスモ、計算してよ。
872138479812384123749718234×751234758572145871623はいくら?
655,180,740,323,334,703,316,376,334,079,647,006,092,586,273,782です。
42 :
デフォルトの名無しさん:2014/01/06(月) 21:31:06.30
こち亀のロボットかよw
>>34 自治厨うざすぎ
他スレにまで出てくるなよ精神異常
44 :
デフォルトの名無しさん:2014/01/06(月) 21:44:32.96
>>43 >>34はC言語スレでゲームの話をしろって言ってんだよ。
だからわざわざ荒らし通報を無効化する方法まで書いてくれてる。
そうでなけりゃわざわざ他スレに出向いてまで書かないよ、ガチ系の糖質でもない限り。
まぁ要はアレだ、「押すなよw絶対押すなよww」ってやつと同じだ。
どうでもいい
流れがバ片山マンセーでキモいからCスレ立ち次第戻る
開発がC言語に決まってるならCスレで構わないよ
Cスレ見てる人が全員こっちのスレ見てるなら話は別だけど
そうでないならCスレできいたほうが回答の来る率が高い
ふっほ とかやって荒らしてたバカを擁護するのがいるのかよ
ふっほて何?
モルピグの仲間?
なんかよくわからんのが沸いてるけど次スレ立ったのか
>>1乙
50 :
デフォルトの名無しさん:2014/01/07(火) 20:54:19.85
今はMMDで小学生でもCG始められるけどやっぱりプロはすごいね
重量感の無さとか柔軟性の無さとか見ると、やっぱCGってここまでだよなぁ
とか思う
>>53 節子、それ「重量(質量)」感ちゃうで。動きの粘り(加速度)とSEで誤魔化してるだけや。
……ま、その点は最新のGTAにしても同じで、現状のCGの限界なんだけどね。
55 :
デフォルトの名無しさん:2014/01/10(金) 02:56:31.76
みんなどうやってプログラミングできるようになったの??
作りながら覚えたの?参考書よみまくったの?
できると言っても相対的に出来るだけなのでノーコメントで
>>56 >>55の質問の意図を汲むと「できる」ってのは「自分の作りたいゲームを一応作れる」ってことでいいと思うぜ
>>55 言語の基礎は書籍を読んだ
そこから先は低めに目標設定していくつか完成させた
低めの目標設定でも意外と大変だったりする
それをググって調べたりしてるうちに色々分かってくる
>>55 キャラクターを動かすところから始めて、だんだん高度なことに挑戦してアルゴリズムを編み出していった。
ゲームプログラムを覚えるコツは参考書のHello worldを打ち込んで真っ黒い画面とにらめっこするんじゃなく、画像出して動かすところからやる、ってとこかな。
>>54 質感は加速度だけでもないからなぁ
摩擦とか空気抵抗みたいなパラメーターが必要になるわな
重いモノほど慣性の法則が強く働くから
あとはエフェクトでどこまで誤魔化せるか、だ
CGで砂埃とか表現すると別の意味で面倒だが
60 :
デフォルトの名無しさん:2014/01/10(金) 08:32:27.89
ジャンルの選択やジャンルの内容によってもチャートの内容は違ってくるな
62 :
デフォルトの名無しさん:2014/01/10(金) 09:05:11.42
せっかく30も続いてるスレだし、簡単なジャンル分けと簡単なチャートくらいは用意してもいいんじゃなかろうか
各チャートが簡易にでも完成すれば、相互利用も可能なはずだし、と言ってみるが、誰も賛同しないだろうな
64 :
デフォルトの名無しさん:2014/01/10(金) 09:20:46.51
俺が考えるくらいものは、この世の中にはだいたいあると、また理解できました。
ライブラリとかもそうだもんなあ。教えてくれた人、ありがとう。
>>58 初心者の程度にもよるけど、画像出すって意外と難しくないか?
Win32APIかDirectX使うところまでいかないと出せない。
DXライブラリで始めるC言語入門
があってもいい
宗教的理由によりコンソール以外の環境は使えませんみたいなお馬鹿な入門書はノーサンキュー
コンソールが一番手軽だからな、入門書が使いたがるのはしょうがない
ゲームプログラミングしたいって言ってるやつで数学の知識が欠落してる奴って何なんだろうな。
どうかすると算数の知識すら危ない奴がいる。
ただ欠落してるだけならまぁただの馬鹿で済ませられるんだけど、
その欠落がゲームプログラミングの足枷になってると何とも言えない気持ちになってくる。
「数学なんて何の役に立つの?」
「算数なんてやっても意味ない」
とか言って勉強してこなかったのが由来なら自業自得だろうど、
これだったらこれでまた何とも言えない気持ちになる。
69 :
デフォルトの名無しさん:2014/01/10(金) 17:46:33.46
大きなお世話だね、どうするかは本人次第なんだから
勝手に哀れんでれば?
コピペつぎはぎしか出来ないド底辺のことなどどうでもいい
>>65 手頃なライブラリは結構あるからそれを使えば大分難易度は低いよ。
入門書ではプログラム初心者にはまずライブラリを使うって発想を教えるべきだと個人的には思うんだけどな……
72 :
デフォルトの名無しさん:2014/01/10(金) 23:09:35.63
数学を知らずに数学を知ったかのように語るやつっているけど、
たんなる感情論だよね、観念の類を定義して方程式で証明する構図は
まったく具体性のない幻想とまで皮肉をいったり悪口を言う輩がいるが
それは間違いない、幻想でいいんだよ。
方程式そのものは美しさとその完璧なる秩序の明確性を説明するもので
現実を表す物理のような実証ではない、証明と実証の区別ができないのが
実証(具体性)ばかりこのみ難しい数学の領域の記号だけの記述になると
3行しか読めないコピーペーの能力ではどうにもならない。
暗記してできるものでもない。
73 :
デフォルトの名無しさん:2014/01/10(金) 23:16:35.38
数学を知るってどういうことだ?
中学程度できることか?
それとも「未解決」とされている問題まですべて解けることか?
感情論だ? ブーメラン投げてろ勝手に
何でもいいけど、特定の点を中心にトラップを回転させたいってんならsin、cos、角速度の概念くらいは理解して自在に使えるようになってから作れよ。
残念ながら、ゲームプログラムにおける数学なんてコピペでも足りる範囲なんだよねー
計算機科学とかやってる人達の前で語ったらどうだ?
三角関数とベクトルと行列を高校生レベルで理解してれば問題ないんじゃね
この式凄くね
1+2+3+4+ … = - 1/12
何で正の数を足し算していった結果が負の数になるんだろう
テンソルなんて知らなくてもクォータニオン使えるしな
そのレスが非常に証明しててワロタ
すまないが数学以前に日本語からやり直してくれないか
えっ?
えっ
コピペでも何でもいいけど、
ここはゲームプログラムの質問スレなんだから数学の質問はやめてもらいたい。
ビュー行列からカメラ位置を取り出してそれを元にビルボードを作りたいんだけどどう操作すればいけるかな?
そもそもビュー行列を作る前になんで位置を把握していないんだ?
>>85 表示するオブジェクトごとにDraw(Matrix View、Matrix Projection,params Texture2D[] textures)ってインターフェースを用意してて、
表示時にはカメラ位置を直接知らない。
ビュー行列のかわりにカメラの位置と向きを渡した方が都合がいいんだろうか。
カメラの位置と向きを、素直にパブリックなデータにすればいいと思うが
勝手に書き換えるようなヴァカには内緒で
ソースコードを極力ブラックボックス化してても
開発が出来るようにさせるのが好ましいんだよ
その為に、あらゆる束縛がついていて、
タブーを犯してる可能性自体を、言語仕様レベルで排除してくれていると
ブラックボックス化しやすい
そういう面で動的言語は短く書ける反面かなりひどい
絶対的な規則を作って、それのチェック機構まで作ってようやくブラックボックス化できる
つまり動的言語が生きれる場所は、一人のプログラマが最初から最後まですべてのソースコードを掌握できる規模に留められる
これはそのPGのスペック次第で拡大もするし縮小もするもの
毎日ひたすらプログラミングを続けているときと、
久しぶりにプログラミングした時では、思考能力の程度そのものが違う
常にやっているときなら動的言語だろうとなんでもできるけど、
そんなに常にやってる暇がある奴なんて限られてくるから
久々にソースコードを触ってもミスしない言語が大規模開発には好ましい
アルゴリズム自体の制約を作って、
難しい部分がアルゴリズムの生成ではなく、プログラミングの言語仕様のほうにさせる
そこから得られるものが、コンパイル時に言語仕様のエラーチェックをして貰う事で、
アルゴリズムの出力エラーチェックの工数が減る
自分の100%の能力使って、言語のスペックとリンクさせるような開発は、
何か月間もやらなきゃいけない大規模開発にはそもそも向いていない
数時間から数日以内に完成するような短期開発のプログラムでは絶大な効果を発揮する
それが動的言語
静的言語は完全オートを目指す道で、動的言語は、マニュアル操作で自分自身のスペック依存開発能力が大きく左右するもの
根底を見ればITのような小さな世界ではなく、もっと大きなところで分岐している気がする
昔話かな?
動的言語で書かれた巨大なソフトウェアが、オープンソースでもプロプラでもゴロゴロ転がってる時代は最近始まったものでもないと思うけど
偏に原因と経験の様相の違いやね
開発者それぞれに経験や背景が違うから難しいのよ
93 :
デフォルトの名無しさん:2014/01/15(水) 13:49:05.55
全ての .h や .cpp を
#ifndef ○○
#define ○○
#endif
で囲うべき?
.cppは何のために囲むんだ?
かこむん蛇懐かしいよな
多重インクルードと extern "C" のどっちの話よ
インクルードガードの話じゃね?
.hと.hppなら全てやっておいた方がいい
98 :
デフォルトの名無しさん:2014/01/15(水) 16:55:43.43
>>93 残念ながら現状そうなっている
GHが提案していた # なしの include はその必要がないもの
99 :
デフォルトの名無しさん:2014/01/15(水) 17:08:39.15
シャープ1文字くらい好きなように付けさせてやれよ
#pragma once
ではダメなの?
pragma onceだと、異なるパスで同一ファイルにアクセスできる場合に
ガードできないからダメだと聞いたことがある
結局ifdefガードが確実
昔のGCCはシンボリックリンクでおかしくなってたんだよな
104 :
デフォルトの名無しさん:2014/01/16(木) 01:21:21.56
そこはクロスで
xx
107 :
デフォルトの名無しさん:2014/01/16(木) 20:55:17.32
>>102 なるほど。「ンーwwwwwwwwww」
108 :
デフォルトの名無しさん:2014/01/21(火) 18:16:43.16
コッベンバローナーwwwwwwwwwwwwwwwwwwwwwww
109 :
デフォルトの名無しさん:2014/01/22(水) 03:07:58.52
コッペロンコンペッコンバーナーwwwwwwwwwwww「ンーwwwwwwwwwwwwwww」
wwwwww
111 :
デフォルトの名無しさん:2014/01/23(木) 18:22:25.50
ンーwww「コッペロッココッコーンwwwwwwwwwwwwwww」
まとめブログ
の弊害
114 :
デフォルトの名無しさん:2014/01/23(木) 19:32:19.98
ンーwwwwwwwwwwなるほど。「ンーwwwwwwwwwwwwwww」
広大なフィールドの2Dアクションで当たり判定をするときは、
分割を繰り返して範囲を縮小してから当たり判定をするのがいいですよね?
例えば、最初4*4でフィールドを16分割して、その中のどの枠内にいるか判定して、
枠が分かったらさらにその枠内で16分割して、その中のどの枠内にいるか判定して・・・・
とやって最終的に画面サイズくらいの枠の大きさになるまで絞りこんだら、
やっと当たり判定するみたいな。
4分木空間分割でLet's検索!
>>116 Wikipedia
四分木
>主な用途
> 2次元における効率的当たり判定
モロに書いてあったw
サンクス
何で4なの?
2とか9じゃだめなの?
4が一番効率いいの?
四角を4等分ずつ区切ってモートン序列を使うと
簡単なビット演算で物体の位置特定が可能になるから
120 :
デフォルトの名無しさん:2014/01/26(日) 13:20:46.75
>>120 見た目通り、対角線の上にあるか下にあるかを二本分判定すればいいと思うが。
>>120 直線の式を2個作って、そこにx2,y2を代入したときの正負で場合わけ
ゲームプログラミングって暇潰しにもってこいだよな
暇なときはゲームよりゲームプログラミングに限る
やり込みも際限なくできるしな
シューティング作ってると多間接がIKでうねうねするボスのドット絵描くのが超つかれるけどいいよね
ボスをパーツごとの破壊していくと攻撃パターンが変わるとか胸アツすぎる
そして気付くとなんかコードよりグラフィック素材描いてる時間の方が長くなるんだよな
コンパイラー作りも暇つぶしにサイコーだぞ
俺仕様言語がコンパイルできて動くんだからな
129 :
デフォルトの名無しさん:2014/01/27(月) 11:09:19.62
そういうゲームあったな
コンパイラではなくインタープリタだけど
※だがそれを使って実際にアプリを組むことはありません
>>128 スクリプト言語と仮想マシンじゃなくてコンパイラ?
そりゃ凄い。コミュ力があれば一大勢力になれるな
コンパイラってOSの知識も必要でしょ?
>>133 仮想マシンにスクリプトをリソースとしてくっつけるだけでもいいんだよ
135 :
デフォルトの名無しさん:2014/01/27(月) 19:29:33.52
x86 -> uOP もある意味「コンパイラ」だね
ゲームプログラマって、コンパイラや2dCADぐらいサラッと書きそう
>>136 バグバグなゲームが多いから大抵のゲームプログラマには難しいだろう
なるほど
>>136 CADならまあ…書けるかもね。
扱う部分が似てくるし。
コンパイラに関しては、ちょっと分野が違う気がする。
140 :
デフォルトの名無しさん:2014/01/27(月) 21:43:27.20
2dCADとスクリプトは抵抗なかった
量的にきつかったけど
まるで大層なもの作ったような
142 :
デフォルトの名無しさん:2014/01/27(月) 22:08:42.79
第102採掘基地・・・にも及ばない位置づけだったけどね
ノベルやアドベンチャーやロープレでスクリプトは必須じゃね?
スクリプトエンジンはBSDレベルであるからなぁ
>>143 スクリプトとコンパイラはまた話が違うと思う
146 :
デフォルトの名無しさん:2014/01/28(火) 01:03:21.66
少し前に、昔のゲーム(ドラクエなど)で買い物や人に話したときにでるメッセージボックスみたいなのをjavaでプログラムしたいと質問したんだけど、
多重スレッドの使用方法で未だに悪戦苦闘中。
ここでまた同じ質問って可?スレチなら出来れば誘導お願いしたいです。
147 :
デフォルトの名無しさん:2014/01/28(火) 01:05:55.02
クウォータニオンの回転は連結することが出来ますが
quaternion q0, q1, q2;
q2 = qmul( q0, q1 );
q0の逆回転と連結させたい場合、どうすればよいでしょうか?
q2 = qmul( inv(q0), q1 );
そもそも、それだけの為にスレッド要るか?
要らんように思うのだが。
>>147 (w:x,y,z) の逆回転を表すクォータニオンは (w:-x,-y,-z)
これでおk?
150 :
デフォルトの名無しさん:2014/01/28(火) 01:15:16.71
>>148 メインのスレッドはず〜とプレイヤーの入力やその他の演算なりしているのですが、
その会話欄?の時だけもう一個スレッドでその会話欄の表示がいいんじゃないか?とアドバイスしてもらったので。
一文字書き込んでsleepして、一文字書き込んでsleepして、…というのをスレッドで繰り返すとか。排他制御必要。
>>150 多重スレッドはいらんと思う。
それをするならメッセージ表示関数と生存/死亡フラグを持つ、コンストラクタでstringを取るクラスを作って、
そこにstringを流し込んで、メッセージ表示が終わったら死亡フラグを立てて消滅するようにするクラスを作ればいい。
Listにでも保持しておけば複数画面分のメッセージも含められてなおいいな。
アクセスするときは毎回そのListの最初の要素にだけアクセスし、死亡フラグが立ってたらそいつを消す。
>>146 何で多重スレッドにするかよく分からないんだけど、
マップとかキャラクターは毎フレーム描画してないの?
毎フレーム描画してるなら単一のスレッドで
マップ描画
キャラクター描画
if ( メッセージを描画しなきゃいけない ){ メッセージボックス描画
メッセージ描画
}
とかじゃだめなのかね。
どうも違和感があると思ったら、多重スレッドって
マルチスレッドの意味で使ってるよね?
多スレッドなら分かるけど、多重はないわ
おまえの感覚なんでどうでもいい
156 :
デフォルトの名無しさん:2014/01/28(火) 21:35:37.93
>>152 なるほど. 今スタックを使っていて、プレイヤーの入力時メッセージボックスをオブジェクト化して入れてますがやってみます。
>>153 キャラの描画はしていますが、毎フレームかどうかはすみませんが分かりません。表示はそんな感じで書いています。
>>154 そうです。”マルチスレッド”。
そうですね。
特に理由がないなら別スレッドにしないほうが楽な気がするが。
処理の順番としては、
バックバッファのクリア
マップの描画
キャラクターの描画
メッセージの描画←別スレ
前面にコピー
でしょ?
当然、「メッセージの描画」の部分で同期とらないと正常に表示されないわけだ。
「メッセージの描画」の直前でメインスレッド止めて、別スレ使ってメッセージを描画して、
別スレを止めて、それからまたメインスレッドを動かす、って流れになるだろ。
シングルスレッドを分割しただけだからマルチスレッドの恩恵ないし面倒なだけだろ。
誰だよ別スレッドにしろって言った奴w
オブジェクトにしろではなくスレッドにしろって言われたのか?
まずOSのメッセージ処理とデータの読み込み処理はきちんとスレッドを分けないと、
ロード中に操作を受け付けないクソプログラムになる。
また、計算量の多い処理はスレッドを分けて負荷を分散しないと、
マルチコアを活用できない旧世代のプログラムになる。
つまりデータ量が少なく計算量が少ない小規模なプログラムしか作らない程度の人間だと、
必要性に気がつかないというだけの話。
データ読み込みを非同期をすればいいだけだろ
データの読み込みはI/O処理だけじゃ無いからな。
展開して利用可能にする計算もあるんだよ。
これだからまともにプログラムを作ったことが無い奴は。
なんか必死だけど「展開して利用可能にする計算」なんて
読み込みに比べればまったく気にならない場面が多い。
初心者にやらせようとするセンスこそ初心者。
デッドロックやメモリコヒーレンスをちゃんと扱える人間なんてそういない。
>>160とかマトモにできるように思えないけどな。
ルナティックドーンやシムシティ、マインクラフトもビックリな超絶ゲームを作りたいんだろ
まあ頑張れや
超絶ゲーム君は、JAVAでは珍しいメモリー関連のバグをどうにも出来なくて諦めると思う
>>160 もう一度、
>>146の文章を読み直したほうがいいよ
とんでもないあさっての回答していることに気づくから。
俺マルチスレッドのコード書いたことあるんだぜって言いたいだけでしょ
書かなくてもいいところにスレッド使って原因不明のバグ誘発するってよくある
169 :
デフォルトの名無しさん:2014/01/29(水) 20:06:52.82
>>159 そうです。そんな感じのを実装しようといます。
オブジェクトでは無かったと思います。
マルチスレッドにしたほうが良い理由は多分自分のコードのせい?だと思うのですが。
>>169 マルチスレッドにした方がいいように思えるなら設計がおかしい。
最初から見直すべきだと思う。
>>168 原因の分かるバグになら遭遇したことはあるが、
原因不明のバグなど起こったことは無い。
原因不明とか言うのは単純に無能なだけだよ。
いいね経験浅くて責任ない奴は
初心者にスレッドデバッグやメモリコヒーレンスの難しさも語れない奴が
他人を無能呼ばわりしてもねw
バグを原因不明のままにする馬鹿が何を言ったところで説得力が無いよ。
原因不明だよ、原因不明。
笑うところなのか?
いやいや自称天才様にはかないませんわ
マルチスレッドが原因かは分からんが、数日間連続で動かしたときにたまに発生するバグとかは
期間内に追いきれなくて原因不明のままになったことがあるな
まぁ軽微なバグだから真剣に調べてないってのもあるけど
OSの不具合、端末の不具合などで
一般開発者には、ほとんど発見不能なバグって稀にあるんだがな。
stackoverflowとかでいまだ未解決の問題あるし
マルチスレッドを使って起こった原因不明のバグって具体的に何?
原因が分からなくても、やろうとしたことと症状ぐらいは言えるよね。
>>177 OSの不具合と分かっている時点で、原因不明では無い。
>>179 不具合と分かるまでは、ずっと原因不明だろ
何をいってるんだよ
まあマルチスレッドの場合、デバッガで追うのが非常に難しくなるからな
そういう意味では原因究明に手間がかかるってものだ
182 :
デフォルトの名無しさん:2014/01/29(水) 22:51:48.01
>>170 設計ですか。
クラス図も作成せず、java勉強の為にしているので設計などはしてないのでやってみます。
それでは、このドラクエなどの買い物表示はマルチスレッドではなく一つのスレッドで処理可能な事なのでしょうか?
なんであってもシングルスレッドで実現できないことはないだろ。
流れはしらないが。
マルチスレッドはバグ取りが困難になるからとりあえず作ってからパフォーマンスで不利な点だけ改良したらいい。
184 :
デフォルトの名無しさん:2014/01/29(水) 22:59:24.97
なぜマルチスレッドにするのか、動機があいまいなほど
デバッグがわけわかんなくなっていく
マルチスレッドは裏で処理を流したほうがユーザビリティが格段とUPする場合にのみ使うべきで
それ以外はシングルよりバグをはらむ可能性が高い上、メンテが大変なので避けるべき。
ドラクエのメッセージウインドウくらいでスレッド起こすなんて聞いたことがない
メッセージを表示しながら裏側で頻繁にネット接続でもするなら話は別。
>>182 十分可能だし、むしろシングルスレッドでやったほうがいい。
>>180 不具合と分かったのなら原因不明では無いだろう。
お前こそ何を言っているんだ?
で、マルチスレッドを使って起こった原因不明のバグって具体的に何?
逃げ回らずに答えろよ。
もう一度言う、逃げるなよ。
絶対に逃げるなよ。
無能だからマルチスレッドを避けるというのは、悪い判断では無い。
それによって操作性が低下したり、効率が落ちたりしても、
不具合を出すよりはマシだ。
自分の力量をよく分かっている適切な判断だ。
ゲームプログラミング界の巨人、Tim Sweeneyが「未来のゲーム開発テクノロジー」を語る
http://game.watch.impress.co.jp/docs/20080911/epic.htm しかし、現状でさえマルチスレッドプログラミングは開発の困難さが指摘されている分野である。
同時並列的に動作するプログラムがモデルデータやゲーム内状態などの共有情報にアクセスしようとするとき、
そこには必ずデータ競合によるバグの発生や、デッドロックによるプログラムの停止というリスクがつきものである。
しかも、それを効率的にデバッグすることは非常に難しく、開発規模の拡大や期間の長大化を招いているのだ。
Sweeney氏は、これは現在主流の開発言語であるC++の手続き型言語としての特性に由来すると指摘する。
マルチスレッドにおける問題を避けるためのテクニックは各種あるが、Sweeney氏に言わせるとそれは「シングルスレッドのプログラムをアセンブラで書くようなもの」であり、生産性が悪いのである。
Sweeney氏は、この問題を解決するためには、ゲーム開発言語として純粋関数型の言語が必要になるだろうと言う。
純粋関数型言語とは、プログラム中の関数が、戻り値のみによって作用する構造の処理系だ。
この種の処理系では、C++のような共有メモリのアクセスや、I/O操作は基本的に行なえない。
その引き替えとして、各関数のアトミック性が構造的に保証されており、安全に並列実行できるのだ。
しかも、コンパイラが対応さえすれば、関数を自動的に多数のコアに分散処理させることができるというスケーラブルな実行バイナリを作り出せる。
Sweeney氏は純粋関数型言語のもつ並列処理安全性に着目しており、将来的にゲームプログラミングはそういった処理系に移行していくべきだとした。
Sweeney氏はそのひな形として言語“Haskel”を挙げているが、ゲーム開発のメインストリームたり得る言語はまだ登場しておらず、将来に期待しているという。
メモリコヒーレンス・デッドロック等キーワードが上がってるのに
ピンと来ない時点で話にならないだろ。
たとえばひらしょー本でもマルチスレッドは人智を超えている旨の
記載があったはずだがひらしょーも無能ってことでいいのかな?
>>191のように開発のプロでも難しい。
想定外が起こる。直したと思っても別の想定外が起こるとかなり得る。
まずはシングルスレッドで。
具体的に難しさを指摘する記事はすぐに見つかるが
お前は俺にはできるできない奴は無能としか言ってないな。
>>190の言う通りだ。
無能だと挑発されて使えもしないものを使って失敗するのは救いようのない無能。
ゲームも作ったことのない人間がいきなりマルチスレッドを使ってゲームを作るってのは〇〇したことのない人間がいきなり□□するようなもの。
まさに自殺行為。
良い例えが思い浮かばなかったからまかせた↓
純粋関数型のスレッドに自動対応する実用的コンパイラを開発するのがいい。
いまだない。
シングルでもマルチでも同一コードで効率的に動く。
原因不明の不具合に遭遇したことがないと言い切るプログラマーは信用できない
射精したことない人間がいきなり性交するようなもの。
原因不明なのに具体的に言えって結構無茶ぶりだよな
原因不明じゃないが、排他制御が抜けてる箇所があってたまーにメモリ破壊を起こしてたのは
特定に時間がかかったな
Xbox 360 と Microsoft Windows でのロックレス プログラミングの考慮事項
ソフトウェア デザイン エンジニア、Bruce Dawson 著
ロックレス プログラミングとは、刻々と変化するデータを、ロックの取得や解放といったコストを伴うことなく、複数のスレッド間で安全に共有するための方法です。
ロックレス プログラミングには、複雑かつ難解であり、ときには思ったほどの効果が得られない場合もあります。
ロックレス プログラミングは、Xbox 360 では特に複雑です。
ロックレス プログラミングは、マルチ スレッド プログラミングにおいて有効なテクニックですが、安易に使用するべきではありません。
ロックレス プログラミングを使用する前に、必ずさまざまな問題点を理解した上で、期待する効果を得られるかどうかについて慎重に検討を行ってください。
http://msdn.microsoft.com/ja-jp/library/bb310595(v=vs.85).aspx
開発メモ: アトミック演算の性能
GCC拡張のロックフリーなアトミック演算機能と、自分でロックしてアトミックに演算するのとではどれくらい違うかを実験してみた。
まとめ
ロックフリーなアトミック演算が可能であれば使うべきだ。Mutexよりは3倍くらい効率的だし、SpinLockのように並列度が上がると遅くなるようなことはない。
ちなみになんでこれを急に調べたかというと、tmaesaka氏が彼のBlitzDBの実装をDrizzleコミュニティの人に見せたところアトミック演算を使えと言われたというのを横から見ていて、
KCでも使えそうだなと思ったからだ。こんな他愛もないやりとりからもDrizzleコミュニティの並列性への情熱が伝わってくるわけで、Drizzleへの期待がさらに膨らむ今日この頃である。
http://fallabs.com/blog-ja/promenade.cgi?id=68
マルチスレッドはモルピグの通信にしか使ったことがない。
>>200 何をやろうとしたかと、症状すら言えないって、
もうプログラムをやるってレベルじゃ無い。
結局、自分で具体例を出せずに逃げ回ってるよね。
あまりにも予想通り。
まあ無能だから逃げるしか無いよね。
本当に操り人形のように、想定通りの行動をとる。
オマイラ、気に入らない態度の相手だから解答を教えないつもりか?
俺?気が変わったら教える
俺は良質なエロ画像くれたら教える
無能連呼君痛すぎ
具体例って何を期待してんの?
原因不明のバグの原因教えてって頭悪いの?
デットロックやメモリコヒーレンスでおこる不具合もわからないないの?
「(ゲームタイトル)を作ってたら、(機能)で使っている変数がまれに不正な値になったが、原因を特定できなかった」とか
そういうことが聞きたいんだろうけど
具体的に何を作ってたか言う人はいないだろうし、まぁレッテル貼って誤魔化したいだけなんだろうけど
タイトルとかは要らないから、変数が稀に不正な値に書きかわったのか
どうかだけでも答えればいいんじゃない?
もしそうなら変数のスコープも知りたいけど
C/C++だと配列の外側にアクセスしたせいで無関係のデータぶっ壊すとかは稀になくはないが、多分そういう話ではないんよね?
無能連呼君が一番原因不明だわ
お後がよろしいようで
うまくないよ
具体的に君には何を言ってあげれば満足なのか?w
原因を特定して、完璧な対策を打って……ってやりたいのは勿論だけど、マルチスレッドだとその特定に時間がかかるんだよね。
だったら対症療法で、「バグの原因になる行動」だけを突き止めてそれを避けさせる方がトータルコストは安かったりする。
そりゃ時間が無限にあって、完璧なプログラムを書けるのであればバグの原因は特定できるし潰せるけど。
マルチスレッドにするメリットなんてないんだよ結局
将棋ソフトじゃあるまいし
・明らかにCPUを使ってないのにデバイス待ちしているような関数を呼ぶ
・極限までパフォーマンスを引き出すために小さなジョブを大量に実行する
これ以外はシングルスレッドで動くように書くべき。
プログレスバーとキャンセルボタンの実装は
スレッドプログラミングの代表的なものじゃね?
プログレスバーとキャンセルボタンをスレッド管理するんじゃなくて
その対象を非同期化するんだよ。
メインで動いている処理(画面)上にロード用のプログレスダイアログ表示する場合に
メインで動いているほうを非同期にしろってこと?
メインで動いてるのが画面なんだったらメインループ回ってるんだろうから
スレッドである必要ないだろ・・・
>>216 でもPCでもゲーム専用機でもCPUコアは増える一方だから、そこそこの規模のゲームは
イヤでも使わなきゃいけない状況になってきてる
まぁ趣味ならそんな規模にはそうそうならないと思うけど
>>219 いや、もちろんそういう意味でいったのだが・・・
必要なのはゲームのコア部分だけ。
メニューなんかでバグ出してたらクビだよ。
スクリプトでいいくらい。
225 :
デフォルトの名無しさん:2014/01/30(木) 22:55:37.24
>>185, 186, 193, 217
わかりました。もう一回シングルスレッドで頑張ってみようと思います。
けど、「もっとこういう風にしたらいいぞ」ってな意見が出来れば欲しいのですが、ソースコードのアドレス貼っていいでしょうか?
どうぞ
227 :
デフォルトの名無しさん:2014/01/31(金) 00:52:54.81
ありがとうございます。遅れましたがこれです。忍法帖デアドレスが打てません。
pastebin.com/u/nekoNeko
で先頭にハイパーテキストのプロトコルなどお願いします。
このスレにいる人の宗派
シングルスレッド派
マルチスレッド派
固定fps派
非固定fps派
タスクシステム派
営利企業の現場を前提に考える派
趣味を前提に考える派
ハイスペック派
ロースペック派
罵倒派
スルー派
ドット絵派
ローポリ派
リアルポリゴン派
イラスト派
こうなると絵師さんを巻き込んだ論戦に……
二枚歯
三枚歯
電動派
はぐれ刑事
純情派
234 :
デフォルトの名無しさん:2014/01/31(金) 07:37:56.33
お後がよろしいようで
あの頃は、派
3DCG派は面倒だなぁ
僕はボールに顔付けたキャラ派です
239 :
デフォルトの名無しさん:2014/01/31(金) 16:11:46.43
少なくとも自分が最初から全部書いてるコードで原因不明とか陥ったこと無いな
全部解決してきた
ある日突然HDDが死ぬとかは原因不明だけどな
DOS時代にHDDのBIOS層に画像データを書き込んだ事ならあるな
物理フォーマットをする以外に復帰出来なくなった
ゲームじゃないけど
デバイスドライバとか「原因不明」のままになってるのあるよね
客の言いがかり を遠回しにそういってるんだよ
ドライバー更新されても直らないデバイス結構あるんだけど
まあ、たしかに客の言いがかりもあるのは事実だな
245 :
デフォルトの名無しさん:2014/01/31(金) 21:09:14.31
原因不明って、調べるの諦めたって事だろ
どうせそいつロクなコード書いてないし技術もない
原因調べられるかどうかは、どこまでトレースできるかにかかってる
まぁC++とかで原因不明なバグ起こったら、俺もやんないけどそういうのと縁ないし
なぜにc++なんだよ
245にも辛い過去があったんだろう、触れてやるな
248 :
デフォルトの名無しさん:2014/01/31(金) 21:19:59.79
このスレってC++がメインなんじゃ?
どちらにしろ原因不明っていう妥協は精神衛生上あり得ない
理性的に解決に当たればすべて(時間内に)解決するはずという淡い期待は
経験の浅い責任の軽い立場に起因している。
250 :
デフォルトの名無しさん:2014/01/31(金) 21:39:25.60
いや・・・原因調べられないのは経験の無さとスキルの低さに起因してるよ
言い訳があまりに幼稚ですな
1万行を越すコードとか見たことも無いんだろうな、きっと。
いやいや天才さんにはかないませんな
天才様はどんな数学の問題も解決できるし
どんな問題でも計算可能なんだろうな。
254 :
デフォルトの名無しさん:2014/01/31(金) 21:54:03.96
トレースはセンスが必要だから天才なのは認めるけれど
お前らみたいのばっかりだと言語処理系のバグとか一生「原因不明」のまま放置されんじゃん
自分のソースコード側に問題ないって99%くらい自信ある時は処理系のバグの線も探ってる
たまにそれで見つかるし
君らは処理系のバグとか1個でも見つけた事ってあるの
はいはいすごいでちゅねーw
C++も使わずに天才を名乗る
プリンタドライバーの開発をやってみろ
すごいことになってるから
さて、メモリーの断片化(フラグメンテーション)を理解してる人はどれだけいる?
別名、メモリーの虫食い状態
出来るプログラマーはメモリーの断片化ぐらいは当然回避出来るんだよな?
260 :
デフォルトの名無しさん:2014/01/31(金) 23:05:21.71
メモリーの断片化回避はオープンソースのサーバソフトウェアを見ればわかるよ。
中でも最高の性能を誇るApacheの方針は見事としか言いようがない。
一定回数接続を繰り返すと、マスタープロセスを変更してプロセスを終了する。
マスタープロセスに変更されたプロセスは自分の子として新たにプロセスを作成する。
以上で完璧な断片化解決を行っています。
マイコロには不可能な解決法ですよコレ。
インプロセスで作成される動的ウェブの完璧な管理法も知りたいですか?
例えばPHPがクラッシュしない理由です。(Yes/No)
$>N
>>259 ゲーム機とかだと、そもそもヒープはコントロールして使うものだよ
テキトーにこのサイズ拾ってきて、だといつか詰む
>>259 固定長のメモリプール使えば断片化せずに確保も高速だぞ
容量効率は悪いけど…
コンソールゲーム機で有効なヒープの使い方って
ぜんぜん一般的にセオリー化されてないよな。
正直論文でも書いてやりたい。
264 :
デフォルトの名無しさん:2014/01/31(金) 23:48:30.44
スキル無い人間が仲間を見つけて安心するスレになってるのか・・・・
終わってるな
他人をスキルないと思い込んで安心してるのか
266 :
デフォルトの名無しさん:2014/02/01(土) 00:18:58.39
なんだか安心しました。
どうもありがとうございました。
267 :
デフォルトの名無しさん:2014/02/01(土) 01:15:11.40
バグ取れない自慢と寝てない自慢って似てる
天才様はどんな数学の問題も解決できるし
どんな問題でも計算可能なんだろうな。
269 :
デフォルトの名無しさん:2014/02/01(土) 01:49:13.98
スマホ向けにMMO作るのが目標でこれから勉強したいんだが、
プログラミングそのものの勉強って事でC言語から始めればいいかな?
あと、前に古いC言語の本を買ったんだが、
それでいいかな?
270 :
デフォルトの名無しさん:2014/02/01(土) 01:52:14.57
いいよ
作りたいゲームがあるなら、そのジャンルのソースのコピーから入るのがいいだろ
一から言語を覚えるのは効率よくない
スマホなら
まずJAVAより始めよ
C から JAVA へいくとイライラする
JAVA から C もイライラする
カルシウム欠乏症になる
プログラムのプの字も知らない奴に既存のソースのコピーしろとか鬼かよ
スマホなら俺もAndroid+Javaだと思う
iOS+ObjectiveCって手もあるけど…
いずれにしてもスマホでC言語はそれほど使わない
つかスマホも普通にC++だろ・・・
>>271 こういう基本をすっ飛ばすやつがゴミみたいなソース書くから嫌だわ
でも基本とか言ってC言語勧めるやつも嫌だわ
普通に今のCPUならスクリプト言語でもいけんのにね
3Dゲ以外ならC++もC#もいらんわ
どの言語だろうと構わないけど、言語自体のことを知ろうとせずにコピペしたソースを半端に改造した結果収集つかなくなってたり、なんとなく動く他言語ライクなコードを平然と書いたりする奴は最悪。
共同作業しなきゃいけない立場にいる癖に2chで他人の悪口書き込む奴は最悪
何で作ったかなんて開発者のオナニーだしな
開発の都合はオナニーではない
ム板全般に言えるけど学生とか日曜PGも見てる場所なのに
やけにプロ意識の高い奴が多くて困る
プロ意識の高いと困るて
>>284 プロ意識じゃなくて、ただ叩きたいからプロのフリをしてるだけだろ
ここにいる人達全員に聞きたいけど、ゲームプログラミングって難しい?
自分は全くゲームとは関係ない人間だけど、自分のイメージでは難しい...というより大変そうだな、と
最初のスーパーマリオですら大変そうなのに今の3Dとなると...
相当高度なプログラミング技術が必要になるのかな?
それかもうフレームワークが出来てるとか
ゲームプログラミングって難しい
>>287 別のジャンルのプログラミングは基本的に難しいもんだよ
ゲーム…特に3次元空間を扱うとなると、かなり数学的な話が多くなってくる
ある程度まではライブラリ頼りで何とかなるけど、一歩踏み込むと
それらが何をやってんのか多少なりとも知る必要が出てくるし
>>287 プログラミングは簡単だけど画像・モデル・サウンドのリソース集めがとにかく大変。
プログラム自体はある程度フレームワーク化できるからさほど難しくないよ。今はUnityもあるし。
扱う数学だって所詮三次元四次元に限定される低レベルな話だから慣れてしまえば問題ない。
難しくはない
面倒くさいだけ
ゲームなんか作ってどうすんだ
市販レベルのゲームを独力で作ろうと思ったら
年単位で人生を消耗しないといけないんだぞ
それで出したら出したで賞賛されるどころがボコされることの方が多い
大体9:1くらいで何も努力してないクズが批評家ぶってああしろこうしろ言ってくるだけ
それがお前の人生にとってなんの意味があるんだ
貴重なエネルギーと時間をドブに捨ててるだけじゃないのか
何を貴重と思うかが人それぞれなので、その主張は少しおかしい
が、言いたいことはわかる。
パロディウスをwin7でプレイしたいだけなんだ
パロディウスっぽいゲームを作るなら決して難しい部類ではない
パロディウスをやりたいならエミュ探せ
格闘ゲームはシューティングやロープレよっか難しいんじゃない?
AI使うから
ただ、規模の大きさによる大変さはロープレの方が段違いだろうけど
最近のメタルギアなんか作るの難しい上に大変そうだな
パズドラなんかはシステム自体は2,3人いればすぐにでも作れそうだけど
RPGは文章、画像、音楽含むデータがとにかく要るからな
>>287 プログラミングに限定すればさほど難しくない、プログラミングに限定すればな。
普通のアプリケーションとは作り方が少し違うけど、それはほとんど慣れの問題。
面倒なのは素材の準備とバランス調整。
テトリスなんて一日で作れそうだなw
ブロックの素材さえあれば
インベーダーゲームも3日かからなそう
作れそうだなってことは作ったことないのか
つまりゲーム作ったことないんだな
インベーダーゲームもやったことのないような奴がゲームプログラミングとか言ってるのを見るとね
素材とバランス調整さえなければ先人たちの模倣をするだけだからな
アンカーが無いから誰が誰で誰にレスしてるかが分からんな
バランス調整って具体的に何をしてるか書いてみると……
座標系の調整、速度や加速度、空気抵抗などの調整、敵などの配置や攻撃の調整、
足場の調整、間合いやタイミングの調整、……かなり面倒だな
こうやって難しいことを面倒だと言い張る事で日々自分の立場を守ってるんでつね?
ゲーム作成は難しくない
面倒くさいだけ
事実、難しくないから世の中ゲームだらけになっている
次世代機ではやけにタイトル少なくない?
>>305 それは単にプログラマーを始めとするクリエイターが多すぎるだけかと
直訳すると金のためにゲームプログラマーになったのに
実際なってみるとさほど金にならないから人数を減らそうとしていると
お前らがパーツ単位でしか開発してないのが良くわかるレスだな
仕様変更対応の為に予知能力さえ必要になるのがゲーム設計なのに、
難しい通り越して難易度の計測出来ないから「ムズカシクナイ!!」とか言い始めるアホ共w
>>291 2chになんか来てどうすんだ
それがお前の人生にとってなんの意味があるんだ
貴重なエネルギーと時間をドブに捨ててるだけじゃないのか
難しい事をラップして、理解もせずに簡単だと思い込んでるだけなんだろ
とりあえずつくって動かすだけなら面倒なだけだけど
実装が早くてバグが少なくて修正が楽でパフォーマンス出るようにとかやると難しいよね
大抵どれかが犠牲になる
>>291 趣味に人生を消耗するのは誰でも同じだろ
野球観戦や魚釣りしてる奴にも同じこと言えよ
つーかそれコピペか?
低脳企画か低脳コンサル屋か低脳評論家か低脳煽り屋が来てるみたいだな
>>301 模倣するのも大変だよ
ピカソの絵を写真に撮るのは簡単かもしれないが、真似て描く事は大変だよ
絵とプログラムの両方が出来る人間にしか理解出来ないから、その表現だと難しいんじゃね?
せめてコピペと車輪の再発名を比較しないと
おまえらの初めて最後まで完成させたゲームって何?
おれテトリス
リアルタイムなファンタジーSLG、完成してみるとクソゲーだった
パズルアクション
貴重なエネルギーと時間をドブに捨てるだけでFA
趣味人と無趣味な人ではどちらが人生楽しんでるんだろうね?
324 :
デフォルトの名無しさん:2014/02/02(日) 21:06:44.67
>>319 じゃんけん
0=ぐー
1=ちょき
2=ぱー
ところでジャンケンってゲームなのかね?
野球けんならゲームだな
真剣勝負だからゲームではないな
真剣勝負でもスポーツはゲーム、だからジャンケンもゲーム
ゲーセンのメダルゲームにもあったろ
ゲームだ
最近急激にメダルゲームやりたいんだけど
そのエリアって子供以外やってると哀愁漂ってるからメダルゲーに近づけない
やはり大人でもゲーセン行けるようにカジノって必要じゃね
最近の大型メダル機って、仕掛けが大掛かりで、かなりすごいことになってるよ
人を楽しませる要素が詰まっている
パチンコよりは健全だと思う
一回増やし方を知ると半永久的に遊べるし
まぁ数百〜数千枚くらい溜まったら絶対飽きるんだけど
ジャックポットチャンスで紐をぶんぶん振り回すあれまたやりたいなぁ…
What do you think about this technology?
Unlimited Detail Real-Time Rendering Technology Preview
ttp://www.youtube.com/watch?v=00gAbgBu8R4 This thechnology don't need many type of objects for LOD.
In additon, you can use objects in the real world by scanning.
It's cool! :-P
>>334 Fantastic!!!!!
But, how to use it?
Is it free?
>>334 The polygon technology is easy to understand.
However, the Unlimited Detail technology is not clear.
How to render them?
My game don't need such real graphics.
The most important methods of games are rules and systems.
SYOGI and IGO are the evidences.
They don't need real graphics.
You're crazy.
The current polygon technology is enough for people who develop as hobby.
>>341 If this technology costs same or lower than the polygon technology and the quality is higher, it's useful.
It's not important whether it's enough or not.
May I ask you a question?
Now, I'm creating a 2D-RPG developing tool.
I divided scenes into map, battle and title.
But, the menu scene is near the title.
There are some buttons, and move to other scene when a button is pressed.
How to divide them?
Are they same scenes?
>>341 This technology improve performance.
If you develop games with using this technology, people who have low CPU power computers can play your games.
345 :
デフォルトの名無しさん:2014/02/04(火) 01:12:44.69
I cannot speak a English little little ha ha ha ha
>>345 Let's enjoy Engrish each XP
Why do you speak English?
Is it a kind of encouragements for people in this thread to read documents written in English?
When I play games which I made in other computer which I don't use for develop, an error often occur because DirectX library is old.
Is it not better to use the last version SDK?
いつまで下手糞な英語もどき続けんの?
>>349 can't read English, so he regarded the text is not English.
He is very pitiful.
なんかの罰ゲーム?
>an error often occur
これをネイティブに見せたら笑われるよw
おかしい日本語も頻繁に見かけるから別にいいんじゃね?
Why do they write in English?
Because their mouth is so stinky.
God morning!
ついでに名前も英語にすりゃ2ちゃんっぽさが消えたのに
(ツ)/~~
mother fuck:)
>>358 Did you want to say "Fuck your mother"?
I see. His Majesty wears nothing!
Here is the terrible internets.
It's too difficult.
Who calculate the damage of the RPG?
Character? enemy?
Should I create a function?
バカ共が無理しやがって
>>362 Think of the case in Table Talk RPG.
In TTRPG, damages are calculated by the game master.
You should abstract the game master by a class in C++, or such in other languages.
>>362 Game, BattleSystem, or DamageRule does.
damagesって、さすがにそれは不可算名詞だろ!
ってツッコミ入れたくなった
>>367 Indeed, a noun damage is uncountable,
but the above ``damages'' means acturally means ``damage values''.
Sorry, you pedantic guy.
だから無理スンナって
おい、おまえら、ちゃんとカカトを地面につけろよ!
Sorry, you pedalless guy.
Sorry, you can't read the atmosphere.
>>367 You have to write it in English.
>>373 No thank you, because your mouth is so stinky.
Do shit and mean now eight god'em K kick corn deal non? :-(
Engrishを使いたがるというと中高生っぽいけど
2ちゃんも高齢化が進んできてるし中高年がせこせこ書き込んでるのかもな
なんか切ないな
確かにw
なんで高齢化なのに中高生が出てくるんだよハゲ
>>366 What is the DamageRule?
Is it only for damage calculating?
381 :
デフォルトの名無しさん:2014/02/05(水) 05:15:55.83
unityでjavascriptでコードを書く場合とC#で書く場合とでは何が違うんですか?
javascriptを使うことで、C#の場合と比べて機能的な制限がないかどうかって話なら
unityのスレで聞いた方がいいと思う
あとは文献やサンプルが少ないだろうな
Unityならゲ製作技術板に行った方がいいんでね?
>>356 俺はむしろ2chの、dejima板っぽいなと思ったw
DejimaRule?
Which part do you develop at first?
Map class? Battle class? Item class?
Map, Item, and Monster, each format of which you have to define first in order to read/write those data.
上下左右がつながっている二次元の座標で、複数の点の重心を求めるにはどうすればいいでしょうか?
http://www.dotup.org/uploda/www.dotup.org4852808.png 黒、赤、茶、緑、というプレイヤーがいて、全てが敵同士とします。開始地点は全てランダムです。
黒、赤、茶は近くで交戦中、緑が画面端左下から右上へと向かわせたいのですが、
こういう場合はどういうふうに処理すればいいでしょうか。
また、どんな概念を勉強すればいいでしょうか。
(極端に離れたキャラが居ると全体が引っ張られる恐れがありますが、そこは何らかの重み付けなどで解決しようと思っています)
最終的にはこれを3次元でやりたいと思っています。
(現状のイメージとしては、ドラゴンボールの海王星での戦闘です。直径数10mでオンライン、逃げ回りつつ対戦できれば面白いかな?と
http://blog-imgs-61.fc2.com/d/o/r/doragonbollmatome/p23.jpg )
フィールドの広さ、人数等まだ全然決まってないのですが、
漠然とこんな感じで作りたいと思っています。
頑張りますので何卒アイデアを教えて下さい。
また、valueserverでレンタルサーバーを借りてみたのですが、
cronというものが1時間に1回、3分が限度なのですが、
これはオンラインゲームには全く向いてないのでしょうか。
ご存知でしたらオンラインゲーム向けのサーバー・技術なども教えていただけるとありがたいです。よろしくお願いします。
×黒、赤、茶は近くで交戦中、緑が画面端左下から右上へと向かわせたいのですが、
○黒、赤、茶は近くで交戦中、緑が画面端左下から左下へ進め、ループを通じて右上へと向かわせたいのですが、
>>388 You have to create a new server because most of servers for rent are not for online games.
In addition, how to use cron?
I have no idea.
If you want to create online game, you have to make sockets.
>>388-389 The players are here.
Black( x1 , y1 , z1 )
Red( x2 , y2 , z2 )
Brown( x3 , y3 , z3 )
Green( x4 , y4 , z4 )
The barycenter is given by this formula.
Barycenter( x5 , y5 , z5)
x5 = ( x1 , x2 , x3 ) / 3
y5 = ( y1 , y2 , y3 ) / 3
z5 = ( z1 , z2 , z3 ) / 3
Then you can get a vector which the Green Player should to go.
The vector is Barycenter to current Green Player position.
>>391 He may not need the vector.
He only need the direction.
仮の方向とそのときの目的地までの距離をだして、距離が一定以上なら方向を逆向きにするだけじゃないの
>>390 「オンラインゲーム作るなら新しいサーバーを借りないと。
なぜcronなのかも意味不明。
オンラインゲームを作るためにはsocketが必要」
cronは「定期的に実行するジョブ」と思っています。これを0.001msごとに実行、と考えていました。
そうではなく、「一度実行して、数日間実行するジョブ」という考え方なのでしょうか?
socket、というのはよく分かりませんので、また勉強しようと思います。関数名なのでしょうか
http://research.nii.ac.jp/~ichiro/syspro98/server.html このページの内容であっているでしょうか?
>391
なるほど、単純に平均と、とりあえずやってみますね。
>>393 一定以上の一定はどう出せばいいでしょう。
単純にフィールドの半分でしょうか。
>>393 それだと10x10のマップで(0,1)にいる自分が(9,0)にいる敵に向かっていく方法は導き出せないよ
単純に重心求めても空間が上下左右つながってんだから
マップの四隅に敵が散らばってる場合に期待通りにならんだろ
>>394 What jobs do you want to run?
If you want to get data(positions, skills, HP, etc...) of players and send them, the sockets are used in most of realtime online games.
No games use cron for such purposes.
>>392 Direction can be calculated from vector by normalization.
>>396 At first, players have to be placed in every waps.
□□□
□■□
□□□
The player is in the center map.
Next, other players are placed in all of 9 maps.
Then, the nearest players used for calculating the barycenter.
He only want to say normalization.
>>399 ---------
player:=P(X,Y)
other player:=(X1,Y1)(X2,Y2),...(Xn,Yn)
map size:=(W,H)
barycenter:=G(Gx,Gy)
----------
Gx=0;Gy=0;
for(i=1;i<n;i++){
if(abs(Xi-X)>W/2)Xi-=W;
if(abs(Yi-Y)>H/2)Yi-=H;
Gx+=Xi;
Gy+=Yi;
}
Gx/=n;
Gy/=n;
VecPG=(Gx-X,Gy-Y)
>>394 >0.001ms
lololol
It's crazy.
Is your game 1000fps?
403 :
401:2014/02/06(木) 19:02:20.23
Sorry, I found some mistakes.
>if(abs(Xi-X)>W/2)Xi-=W;
>if(abs(Yi-Y)>H/2)Yi-=H;
↓
if(abs(Xi-X)>W/2)Xi+=W*(X>Xi?1:-1);
if(abs(Yi-Y)>H/2)Yi+=H*(Y>Yi?1:-1);
What's the language?
バカなのに英語で書いてるとそれっぽく見えるwww
All your base are belong to us.
ダメだ
内容はクソなのに英単語を並べてるってだけで賢そうに見えてしまう
とてもイントゥアナショナゥルなスレッドデスね!
でもぶっちゃけこのレベルの英語でも
英語圏の掲示板で通用するんだよな
英語のテストで満点取れるような英文じゃなくていいから
どんどん英語圏の掲示板にも挑戦してもらいたい
ちなみにネイティブアメリカンでもbe動詞外したりとかよくある
He is a NEET.→He a NEET.
ご丁寧にbe動詞つけてるのは中流階級以上や高卒以上、ホワイトカラーだけ
英文法の問題だけじゃなくて
内容が普通以下の中学生っぽいレベルなんだよ
なんか伸びてるしスパムかと思った
All your base belong to the U.S.
>>410 このスレじゃなくて英語圏の掲示板に書き込んでこいよ
俺すげーアピールしたいのに英語圏の掲示板に書き込んだらいみないだろ
418 :
__uy2.1p0:2014/02/07(金) 04:10:08.53
يموت القمامة
>>406のネタを笑えないレベルの書き込みも多々あるけどなw
420 :
__uy2.1p0:2014/02/07(金) 04:35:20.41
英語はいくらやっても覚えなかったっていうか
俺が覚える意欲ねーんじゃんって中学の時に気づいた、英語だけの成績が常に2ランク他と比べて悪い理由は純粋に英語が嫌いだった
自分の無意識をふと立ち止まって分析してみると、おおよそすべてが反米に向いている
しかし親日ってわけでもないしいていえば、日本にいる反米の欧米というものに近いのが俺の気質
ドイツだろうか、イタリアだろうか、けど俺は昔から自分の前世の記憶のようなものがあって、それはヨーロッパっぽい国で若き皇帝をやっていた
あれはどこの国だったのか、
しかし前世の記憶は一種類じゃない、中世あたりにヨーロッパで皇帝をやった記憶が一番強いが
紀元前にも最低一回皇帝をやってる、それはアジアではなさそうだが場所は分からない
日本でも、多分あれは卑弥呼あたりが生きてた時代の記憶がある気がする
風景を、覚えている
421 :
__uy2.1p0:2014/02/07(金) 04:41:40.68
現在でも皇帝をやった事があるかもしれない
あれは、明らかにそれだった
身分というものが出来上がって、
手下と、外交関係は存在しても、友だちがいない状況
それが皇帝の地位
声の一つで何もかもが変わってしまう
いや、、自分が何かをしなくても、自分の後ろを歩んでくる者が
前進を望むから、一番先頭にいるって事は、常に見えない道なき道を切り開く事が、要求される
その後ろで、1歩1歩ゆっくりついてくる者が、その過程に幸福のようなものを作っちゃうから
一定のペースで道なき道を切り開いて前へ進んでいく事が皇帝に要求されてしまう
Loser tell a lie.
>>394 cronは大雑把に仕事させるためのもの。
そのレンタル鯖云々以前に大雑把すぎてネトゲには向いてない。
socketでコネクションを確立しといてチェックするのがよい。
ブロッキング通信ならデータが届いた瞬間間髪入れずに処理が実行できる。
ノンブロッキング通信なら1msおきのチェックも可能。
てか、stack overflowとか4chって中学生でも読めるよね
中学時代の俺なら読めなかったと思う
英語の勉強も兼ねてそういう所にちょっといたけどネットスラングしか覚えられなかった
"文法"だけで読めると吹聴する中卒と
言語の入門書を読んだで物を作れないワナビとのちがいとは
みんな英語にコンプレックス持ちすぎ
429 :
デフォルトの名無しさん:2014/02/08(土) 11:58:42.18
SIGGRAPHのペーパーをグーグル翻訳使いながら読んでるけど
中身が理解できるようになっても英語はぜんぜん直接読めるようにならない・・・
431 :
デフォルトの名無しさん:2014/02/08(土) 13:07:33.98
中国がもっと技術大国になってせめてIT方面からでも中国語が標準になれば
日本人にとって中国語って音読は出来なくても漢字みたらおおよそ意味が理解できるし
学習するにしたってそんなに時間かからないんだよ
あーでも長期的に見たら、そうやって楽をするとか簡単なほうへ流れるのはダメかな
中国の息がかかるところでは間違いなく情報を盗まれるけどなw
巨大なガラパゴスになるか
中華が先進文明の栄光を取り戻すか
夢が膨らむなw
中国は先進文明だった頃って何千年前の話だよw
その頃の人間はすでにいないからずっと後進国のままなんだよ
435 :
デフォルトの名無しさん:2014/02/09(日) 13:13:42.20
CCD-IKは角度制限苦手だそうだが、MMDなどはどう処理しているんだろう
1、↓のようなボーン構成だったとして
腰
|
ひざ
|
足首−つま先
2、ひざを上げると、角度制限がないCCD-IKではこうなる
腰
|
ひざー足首−つま先
3、ひざに角度制限をつけるとこうなる
腰
\
ひざ
\
足首−つま先
4、正しくはこうなって欲しいんだが
腰ーひざ
|
足首−つま先
>>427 とりあえず入門時に基礎的なデータ構造とアルゴリズムをガリガリ書いて、
大量のコードを読んで全体を理解できるかが最初の分かれ目だと思う
>>388 cronは、Linuxのコマンドを、定期的に実行するもの
日次や月次処理、5分に1回など
君の知識では、オンラインゲームはまず作れない
オンラインゲームをやめて、HTML5で、
単純なブラウザゲームでも作れば?
今から勉強すれば最短で4年くらいあれば作れるようになるだろ
学校や仕事があるならもうちょっとかかるだろうけど
439 :
デフォルトの名無しさん:2014/02/10(月) 19:30:05.42
ジャアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアップwwwwwwwwwwwwwwwww
ゲームに使われるちょっと凝ったトランジションやエフェクトは、Movieでやってるのか?aftereffectみたいなことを
実際に行っているのか知りたいんですがMovieを再生してる場合もあるんですか?明らかなMovie(PV)以外で
割れ対策に容量増やすってことでムービーにしてるのも多いんじゃね?
そういうところを動画にすると開発のコストが跳ね上がりそうだけど
443 :
デフォルトの名無しさん:2014/02/11(火) 10:11:45.72
ジャアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアップwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
単純に技量や日数が足りないからしぶしぶムービーにするんだろ
なんかスプライトシートでやってたりもするんですね
PCゲームとか最初に出てくるNvidiaシャキーンみたいなロゴとかは、Movieでしょうね
いろいろ試してみます。
446 :
435:2014/02/11(火) 16:01:23.92
>>435は理由はわからんがCCD-IKの実装は出来てしまった。
多分、PMXのひざボーンなどは、角度制限が-0.5〜-180と
ちょっと曲げてあって、だから良い感じに収束するんだと思う。
オイラー角は、ジンバルロックがあるからダメですよ
オセロゲームを作るとします。
対人戦、CPU戦でどのように処理を分岐させればよいでしょうか?
プレイヤークラスに思考を司る脳インターフェースでも実装して、
自分自身が操作する脳クラス、相手が操作する脳クラス、
CPUが操作する脳クラスを渡して、それぞれの処理をすればいいと思うのですがどうでしょうか?
それでいいんじゃないですか
450 :
デフォルトの名無しさん:2014/02/16(日) 05:57:49.80
フィールドを歩いている時に、
モンスターに出会うのは、どのような処理ですか?
1. 1マス動く度に、出会う確率で判断する
2. 出会ったマスで、次に出会うまでに必要な、
移動すべきマス数を算出する
例、ここから20マス移動したら、出会う
ルールなんてないから自分のゲームをどうしたいかによるんじゃない?
ちなみにドラクエのエンカウントは地形の種類ごとに重み決めてあったような。
変数1つ用意して、そこに適当な初期値設定して、歩くたびに地形の重みを減算して
変数がゼロ以下になった地点でモンスター出現、だったかな。
ポケモンは1だお
3Dの場合ってマスとかないけどどうなってんの?
単純に3Dでは立方体で空間を分割して重み管理すればいいんじゃないの?
別にマス目にしなくても
出現までのマス数でなく、出現までの移動量にする
1マスごとの出現率でなく、移動ごとの出現率にする
どちらにしても、単位が細かくなるから出現率は下げることになるけどね
>>455 マス使わないで、地形ごとの重みどうすんの?
一定の移動量(または時間)ごとに接地面の種類を取得して、重み判断すればいいだけかね
たとえば空中を飛ぶ移動がある場合、接地面はないから、空間をマスで区切って
重みを設定するのも手だと思うけどね。まあ、大抵はそんな立体構造は考えずに
高さは無視してxy平面上に重み分布を作りそうだけど。
ダンジョンマスターみたいに、最初からマップに配置して
時間で動かすのもいいな、階が違っても動いてる
3dだったら普通にエネミー見せるじゃん
マップ歩いて見えない敵にエンカウントとかいつの江戸時代だよ
見せるかどうかは仕様
最近は自分の常識を他人に押し付けて一般化しようとする馬鹿ばっかりで困るな
>>451 いや、歩数ごとに確立が決まってるだけだよ
464 :
デフォルトの名無しさん:2014/02/16(日) 23:10:28.36
>歩数ごとに確率
どういうこと?
1歩(マス)・・・敵遭遇率10%
2歩(マス)・・・敵遭遇率20%
3歩(マス)・・・敵遭遇率30%
4歩(マス)・・・敵遭遇率40%
5歩(マス)・・・敵遭遇率50%
6歩(マス)・・・敵遭遇率60%
7歩(マス)・・・敵遭遇率70%
8歩(マス)・・・敵遭遇率80%
9歩(マス)・・・敵遭遇率90%
10歩(マス)・・・敵遭遇率100%
で10歩以内に確実に敵が出る、みたいなノリ?
正確には歩数と地形ごとに確立が決まってる、だね
あと、100%はない
お前さっきから 確立 が気になるんだよ
10歩歩いて敵が出るランダムエンカウントってストレスやばそう
ああ、確立じゃなくて確率だったか。スマソ
その違いは小学生でも気を配ってるところだぞ
これタイプミスじゃなくてマジで間違えてるんじゃね…w
472 :
デフォルトの名無しさん:2014/02/17(月) 06:10:55.30
細菌わざと間違えるようにしている。
奈留歩度
ふとプログラミング始めたくなったんだけど
プログラミングについての知識は無に近い(C言語とかJAVA(?)とかの言葉しか知らん)
こんなガチ初心者におすすめのプログラミング入門サイトってない?
ツクール系じゃね?
さすがにググれとしか
ちょっと探せば講座なんていくらでも見つかるじゃん
自分でアタリ付けてからどれがいいか聞けよ
とりあえずHSPで良いかと
>ふとプログラミング始めたくなった
これじゃ話にならん
HSP
HSPだけはやめとけ
日本語の情報の多いHSPに何の問題があるの?
初心者にはうってつけだと思うんだが?
吉里吉里じゃね?
>>481 日本語の情報の多さでいうと、CやJavaがHSPに負けてるとは思えないがw
メモリーとか変数とか初心者が簡単に理解できるとは思えん
そーいった概念のトコトン排除されてるHSPが初心者にはオススメかと
HSPには変数が無いんけ??
CやJavaには変数以外の余分なモノが沢山あるだろ
初心者はまず変数の使い方を覚えるべき
Dxライブラリ使っとけ
変数も何もHSPなんかからやると変な癖がつく
それにHSPはロクなコミュニティがない
それにそもそもHSPはHSP言語を開発したやつの金儲けのために存在してる
嫌儲じゃなくても嫌になるレベル
公式に配布されてるパッケージに含まれてるライブラリで著作権絡みの面倒な事件はあるわ
宣伝のためだけにコンテストとかやるから審査がザルで盗作でも入賞させるわで
かなりいい加減
何より訳のわからない私怨じみた話を持ってくるうざいアンチがいるしな
hsp製だと分かった時点でゴミ箱に入れられることを考えると(ry
本当は初心者にはN88-BASICが良かったんだけどな……
私怨じみたってだけで私怨でないところがポイント。
限りある人生のうちの何時間かをドブに捨てたいならHSP一択。
吉里吉里にはアンチが少ないのな
吉里吉里も日本語の情報が多いのな
ただしノベルゲーム以外を作るにはあまり向かないが
ま、ノベルゲームから始めるなら吉里吉里一択かと
FreeBASIC は、無料の32ビットのBASIC言語コンパイラです。 オープンソースで、GPL ライセンス に準拠しています。
FreeBASIC は、QuickBASIC と構文互換になるように設計されています。その上で、言語と能力を、拡張しています。
MS-Windows、DOS、Linux のために、プログラムを作成できます。FreeBASIC は、いくつものプラットホームに、移植されています。
FreeBASIC は、Microsoft QuickBASIC∞ への構文互換性を持つ、高水準プログラミング言語で、手続きの、オブジェクト指向の、メタプログラミング理論的枠組みを、サポートしています。
FreeBASIC は、多くの方法で Microsoft QuickBASIC∞ の能力を拡張していることを見ることができます。より多くのデータ型、言語構築、プログラミング・スタイル、現在のプラットホームと API、をサポートします。
>>474 ドットインストールが最良。
あそこ以上に初心者向けかつ実践的なサイトはちょっと他に思いつかない。
ちょっと高いけど、発展性のあるレゴのマインドストームがいいと思う
吉里吉里の良い所は商業レベルに耐えうるゲームを作れる点だな
>>474 今現在とか将来的に何か作りたいものとかないの?
プログラミング言語って道具だからそれ単体ではなかなか成立しない。
学術的なレベルからなら単体で成立するかもしれないけど、
それでもやっぱり最終的に新しい言語を開発したり「時間効率で見ると〇〇を作るには△△が最適」って結論を出すことになるから
そうすると結局目的が必要。
>>500 自分でゲーム作って遊んだり
それを配布したり
とりあえず、HSPで作って、やってみる。
そして1年くらいすると、こりゃダメだとなるので、
変更して、C言語とDXライブラリで 完成させる。
導入がHSPが簡単かもしれないけど、結果的に完成しない。
小さいものは出来るんだけど、少し大きくなるとね、、、
503 :
474:2014/02/17(月) 21:46:42.93
>>502 完成しないのか…
まあとりあえずHSPでチャレンジしてみるわ
ありがとう
既存の完成品はあるから完成するだろ。
本人の根気。
物のせいにする奴は何使っても完成なんてしない
>>505 大阪から東京へ行くのに
自転車で行くのもよい、自動車で行くのもよい
でも、自転車ではさぞ辛かろう
>>503 ゼロスタートならば、
最初はかんたんで勉強になるから それも良いと思います
ただ、「 HSPじゃダメだな」と気が付いたら
切り捨てて、次の言語へ切替えるのが吉
初めからC言語とDXライブラリじゃ駄目なん?
>>506 車は時間がかかる、鉄道は高い
って文句を言うだけで結局行かない
対象年齢として
HSPが、小学校から中学校まで
C言語が、高校生から大学生
ざっと、こんな感じ、
人それぞれで、数学的センスが良ければ問題ない
また、最初から難しすぎると 挫折の可能性が高い。
個人的には、VBAが良いと思う。
エクセルBASICだから、仕事の実務にも使えるので幅が広い。
どんな言語を使おうと最後まで完成させられる人って
全体の1%もいないと思う、オレオレ統計。
>>511 例えば、HSPの場合は、
コマンド不足で出来ない処理があったならば
プラグインを使え、と言われる。
そのプラグインは、C言語で記述されているのです。
ですから、最終的に
HSP+C言語、こんな構図になりまする。
実際ゲーム作って、ゲームだけで100万円以上売り上げたことある人ってどのくらいる?
>>503 お前には無理
最終的にHSPを選択するような情報収集能力と情報分析能力じゃゲームの設計はできない
俺の経験から言わせて貰うと 0%
でも、次回作は10億円くらい売り上げるはずだから
どんどん俺に投資してくれ
できない奴は他人を安く見積もる
※ゲームにも色々種類があります
518 :
デフォルトの名無しさん:2014/02/17(月) 23:04:31.38
儲かるクソゲーの作り方を教えて下さい
>>518 しゃーない
スイス銀行の口座に5億円振り込んでおいてくれれば
教えてやるよ
>>518 ・パズドラ
・艦これ
・アイマス
この辺りを研究してみろ
>>518 ゲームで儲ける手段は2つしかない。
誰も作らなかったゲームを作るか、広告費を湯水のように使って売り抜けるか。
最低限どちらかに該当すれば儲かるクソゲーが出来上がる。
広告費をつぎ込んだからといって売れるとは限らないところがバクチ
ゲーム制作始めたいなら今ならUnityが最良だと思うけどね。
HSPやC言語が悪いとは言わないけど、流石に古すぎる。
Unityだと完成する前に挫折するやつが多そうだな
Click&Playってのもあったな
フラッシュの原型のようなやつ
Unityサイズでかい
そういえば何年か前にキャバ嬢っぴとかってゲームなかったっけ
ゲーム業界って一昔前はWZ/秀丸
今はVisualStudioのエディタ使いが多い気がするんだけど
vim/emacs使いはあまりいなくない?
eclipseだろ普通
秀丸とか他のエディタ使ってる人もそこそこ多いけど
面倒だからVSのエディタそのまま使ってるな
スマホとかそっち系だとeclipseが多いみたい
面倒w
どのエディタが便利か検討すんのが面倒になった
定番エディタは結局同じようなことができるようになっていくからな。
デフォルト設定の違いが一番大きいだけという。
サーバー管理に関わらない限りゆとりにEmacsとかVimとか無理だろ
たまに開発者インタビューとかで使ってるのみるけどな
Emacsは簡易的なIDEだからな、キー入力を含めてマクロの塊なわけで
今みたいなIDEが出る前には、高機能エディタとしては最強に近かった
(そもそもエディタの範疇を逸脱してるから高機能もなにも、なんだが…)
今でも「本気でやろうと思えば」今のIDEがやることの大半がやれると思う
…が面倒くさいから誰もやらんわな
>>534 大学の授業はvi(非vim)縛りも結構あるよ
入力確定まで再描画しない設定になってるviはコワイ。
>>536 そういうときのviって、どのvi使うの?nviあたり?
vim使っててもviの範囲のみ使うってことでしょ
Bourne viだろJK
vim好きだけど誤入力の減らなさは異常
542 :
デフォルトの名無しさん:2014/02/24(月) 18:34:15.26
モルピグデベロッピングやってるけど
サーバサイドではエディタはターミナルからviをエクゼキュートして作業してる
543 :
デフォルトの名無しさん:2014/02/24(月) 21:55:35.40
「当たり判定」をどの方法でやるかで、微妙にスピードが
違ってきてしまうな。しばらく前だが、それで悩んでしまった。
そらそうだ
Windows8.1でタッチパネル周りのプログラムをしてるのですが
1点のロングタップ後に指を離して右クリック情報が送られくるのは構わないのですが
2点のロングタップ後に指を離しても右クリック情報が送られて来ます。
コレを回避するにはどうすればいいでしょうか?
フラグ変数使え
フラグ変数?
この実況は自動で入るものなのですが、
どういうアルゴリズムで入るのでしょうか?
1つ1つなら、特定の技などが入ったときに入れればいいと思いますが、
全体を通して自然な実況にする仕組みはどうなっているのでしょうか?
http://www.youtube.com/watch?v=n9V4EAqV53g 私はこういう実況をRPGで入れたいと思ってます。
「おっとここで魔王の攻撃〜! フレイムファイヤー! 勇者に1634のダメージ! これは痛い!
しかしまだ勇者のHPは残っている! ここで僧侶が回復魔法を発動!
HPが1298回復! 首の皮一枚つながった〜!」
「いや〜熱い戦いですね〜! 解説の山田さん、あの攻撃で生き残れたのはなぜでしょう?」
「勇者の鎧が炎属性の攻撃を半減する効果があるんですよ〜!」
「なるほど〜偶然ではなくちゃんと対策してあるんですね〜!」
「おっと、今度は勇者の奥義、氷天唐燕! クリティカルヒットおおおおお!!!
5230ダメージ! 魔王のHPを一気に削ったぁ〜!」
みたいな感じです。
>>548 紹介先のはよく知らないが、すぐに思いつくのは
実況解説を
実況(大きく状況が変わったら即、短く、最優先)
影響解説(判断、長さ、優先度すべて中程度。実況に対して簡単な解説補完)
背景解説(長めの解説、暇な時に。背景、下準備、四方山話など)
の3階層程度に分けて管理
ダメージルーチン、死亡ルーチンなど派手な処理をする関数から
実況割り込み関数を叩く。実況割り込み関数は5割などの高確率で
影響解説関数を叩く
他には実況割り込みや影響解説割り込みが長時間なかったら
無理にでもフラグ建てるとかして解説内容をあまり偏らせないとか
なんにせよどの解説内容を選ぶかの判断が難しかったり
ボイスパターンがかなり必要だったりして大変だと思う
そういう自然言語系のやつは自動学習向きなんじゃないの
音声の自然なつながりの問題がからむと本質見失いそうだから
実装の順番として、まず音声抜きで文字列の組み合わせを生成する仕組みを
作るとよいのかね。
数値読み上げだけで力尽きたりしてなw
>>554 実況は待ち行列方式、ただし長くなり過ぎたら重要度の低いものから捨てる
とかじゃないかな
男女2人の声にして多少の重ね合わせはOKにしよう
よく見たら開発者じゃなくて声の担当者かよ・・・巣へ帰れ
>>548 ラスボスがおどろおどろしい雰囲気だったらぶち壊しだなw
自分がゴッチャゴチャに作ったゲームからモデル部分を分離することを
勉強してるんだけどどうもうまくいかないです
やってて思ったのが、モデルのデータ部分を操作するロジック部分って
・setterやgetterのように単に値を操作するだけの操作
・メインループなどに基づいた、時間経過を意識する操作
に分けた方がいいんですかね?
後者ってビュー寄りなのかと思い、前者だけで頑張っていたら
連続攻撃で敵のHPを削る場合にエフェクトと同期できなくて詰みました
それか、ロジック側は時間経過は意識せず、操作をすべてキューに格納するようにして
ビュー側がそれぞれの操作に対してエフェクトの時間分ウェイトを入れるようにして、
順に操作を実行させるべきなのでしょうか?
ゲームにMVCモデルは合わないだろ
>>560 何でモデルを分離した方がいいかというと、表示や操作の都合のコードがあちこちにばらまかれると複雑になりがちだから。
例えば、選択中のユニットをハイライトするフラグとコードが選択されるモデル側にある場合など。
時間経過はまた別の設計戦略が必要になってここで説明するには分量が大きすぎるけど、エフェクトもキャラ扱いして同じ時間管理をしてみたらどうだろう。
ていうか時間経過はモデル側だね。経過した結果をビューが表示する。
>>561-562 どうもです
>>562 確かに、Unity触ってて思いましたがエフェクトもキャラ扱いのようですね
あれから更に感じたのが、自分のような素人が定義もよくわからないまま
モデルとビューで分けようとするよりも
・ゲーム内のデータを操作する、厳格に行うべき処理
・遅れたり、飛ばしたりしても大丈夫な処理
という感覚で分けたほうがよさそうですね
(´・ω・`)誤爆よー
わざとらしいなあ
DXライブラリを触り始めたんですけど、
コリジョン情報を構築したステージモデルに線分を接触させて、
当たり判定用の関数を使用しても、何故か当たりフラグにTRUEが代入されません
ド素人がすごく馬鹿なことを訊いてるとは思うんですけど、
これは一体なんでなのでしょうか
情報が足りなすぎる。
マニュアルをもう一回読み直して、エラーチェックして、直線を表示してみて、それでもだめなら再現するプロジェクト一式をどっかにアップロードしたまえ。
>>567 >線分
そもそもステージモデルに届いてないってオチはない?
いつのまに
>>572 PHP厨がWebプログ板から竹島よろしく不法占拠を繰り返してるものだからこうなった。
その板、企画やメンバ募集がメインの板って感じで技術板って感じがしないんだよな〜
vipでしかもGHQだと・・・!?
マッカーサー元帥
578 :
デフォルトの名無しさん:2014/03/23(日) 23:49:25.34 ID:gEVNolKF
自作のRPG開発ツールでどこまでスクリプトにすればいいか分からなくなってきた。
例えば戦闘時のカーソルも、矢印の画像をそのまま使うだけならテクスチャと座標さえ与えればいいけど、
カーソルを動かしたときにランダムに星を散らばせようと思ったら、散らばる星の画像を用意して、
飛び散るタイミングも自由に変えられるようにして、さらにランダムな方向に飛びった星が放物線を描いて下に落ちるようにしたいとか、
そういう自由度を考えていくとカーソルの全スクリプト化が必要になるけど、
キャラのHPや状態によってカーソルの色を変えたいとか、選択肢の出てるコマンドの背景を変えたいとか、
そういう部分まで自由度を考え始めたらコマンドの表示部分も全スクリプト化が必要になって、
突き詰めていくと戦闘画面もそれ以外の画面も全スクリプト化になるから、
今どうしていいか分からなくてああああああああああああああああああってなってる。
そんあのがやりたきゃ自作システムにしろボケェェェ
って唱えると解決するよ
Cocos2d-xなど、たいていのフレームワークに、
パーティクル(粒子)のエフェクトがある
爆発、花火、雪、煙、銀河、流星など
有料のParticleDesignerも、無料でお試しできる
>>578 RPGツクールXP なんかは
GUI のみでも、フルスクリプティングでも作れる2段構えだったね
良し悪しは別として、参考にはなるんじゃないかな
>>578 全部スクリプトで作るようにしておいて、お仕着せ仕様で構わない人のためにスクリプトで組んだものを用意しておく。
別途システム提供の機能を呼べるようにしておけば、C/C++ で書いた方が処理負荷や開発工数に良いものをエンジン側に書いて済ますことができるようになる。
作りたい物の完成形を決定しておいて
「エンジン埋め込」+「スクリプト解釈処理作成」+「スクリプト作成」
のトータルの手間が一番低くなりそうな切り分けにする
もしまだ試作段階でコストの振り分け比率が明確になっていないのなら
とりあえず手っ取り早くスクリプト化を考慮しながらエンジン埋め込みで実装してみて
形にしてからまた考える
585 :
デフォルトの名無しさん:2014/04/21(月) 20:08:41.56 ID:76VSND8K
スクリプトで思い出したけど、オレオレスクリプト内の変数ってどうやって管理してる?
宝箱の開封済みたいに状態を最後まで維持しなければならない(セーブデータに含めなければならない)変数と、
その場限りで良い変数の2種類があると思うんだけど、どうやって管理してる?
それぞれ別に変数DB作って、それぞれint型の配列にマッピングするとか?
もしかして:ハッシュテーブル
アセンブラちっくになってしまっている自分のスクリプトだと
3個のunionで定義したcharやらfloatが入れられる演算レジスタ的なやつと
メインプログラムに制御が戻るとクリアされる
3個の可変長なデータを格納できる可変長レジスタ変数
あと最後まで取っておきたい変数は可変長データ変数に名前とパスを
付ける形でガンガン追加できるようにしてある
自作スクリプトってコンパイルするよね?
ShowMessage( "こいつ・・・強いぞ!みんな気を付けろ!" );
↓
[文字列の表示を表す定数4byte][文字列の長さを表す4byte][文字列本体]
みたいな感じで
文字列は別にしてまとめて扱ってるな
命令4byte,文字index4byte
ってな感じで
>>588 やっつけで、実機でパースして直接構文木にすることもある。
スクリプト作成担当者が多いときは中間コードに変換する。エラーチェックを外でやるため。
ゲームのメモリ管理のノウハウが載ってる本ってありませんか?
ゲームのメモリ管理」とは?
>>591 『ゲームエンジンアーキテクチャ』
ゲームエンジンのソースコードを読むのもおすすめ
Ogre3DのResouceManagerクラスとか
ろくなのないよな
実行しながらビルドする感じで動かしている
初回動作で
[文字列の表示を表すコマンド名][文字列の長さを表す4byte][文字列本体]
コマンド名に該当する関数を探して、目的の処理をさせつつ
先頭を関数ポインタに置き換えて
[文字列の表示を表す関数ポインタ][文字列の長さを表す4byte][文字列本体]
ループか何かで再度実行するときにはポインタから関数を実行
インタプリタってこと
>>595 ちなみにC言語の文字列は4種類のポインタで管理してある
1スタックポインタ
2ヒープポインタ
3マクロポインタ
4ポインタ
freeで解放出来るのは2のヒープポインタだけ
>>597 いろいろ言わずに二点だけ。
マクロポインタって何?
4のポインタって何?
スタックポインタって実在する単語でレジスタのことなんだな
俺用語で意味不明な解説するのはやめろ
記憶領域でぐぐれと片付ける方がマシ
(型によって変わるのは置いといて)ポインタは一種類だよね?
参照先は何種類かあるけど
俺俺定義でも披露したいのでは
おそらくセグメントの話がしたいのだろうけど、中途半端すぎてわけわからんw
604 :
デフォルトの名無しさん:2014/05/13(火) 16:45:13.30 ID:ZthRM7xq
アイテム管理について質問です。
自分の操作しているキャラクターが見えるゲームで、
キャラクターの武器を交換したら武器も見た目に反映される場合、
キャラクターの動きに合わせて武器も動きますが、
この際の武器の動きとアイテムデータはどのように管理すれば良いのでしょうか。
2Dゲームを想定していて、キャラクターを柔軟に動かしたいので武器のアニメーションデータが必要です。
(FF5のように武器グラフィックを120程度回転させるだけでは不満だという意味です)
攻撃力や命中率といったアイテムデータの中にアニメーションのデータを入れるのも変な気がしますし、
できれば武器1本1本のアニメーションを作るのではなく、アニメーションさせるテクスチャの座標とフレーム情報を持たせておいて
テクスチャをすげかえるだけでいけるようにしたいのですが。
お前さんが武器と読んでいるそれは実はコスチュームの一種ではないのか
>>604 >攻撃力や命中率といったアイテムデータの中にアニメーションのデータを入れるのも変な気がします
そんなことない。オブジェクト指向というのはオブジェクト主体でコードをまとめるということだから、
アイテムオブジェクトに関することをまとめるのは自然な発想。
むしろ、オブジェクトじゃなくてデータ主体で分類するから、「変な気が」するだけ。
処理とデータを分離する手続指向的な発想だろうね。
アニメーションデータが同じアイテムでもキャラクタごとに違うとか、
状態やイベントごとに変える等、こだわりたいのなら
アニメ専用の管理クラスを用意するのが良いと思うよ。
アイテムやキャラ、イベントごとにIDをふっておいて
特定の組み合わせで描画を差し替えるとかやってみたら?
>>606 俺はviewとmodelの混在が気持ち悪いって話かとオモタ
>>608 アニメーション処理の内容自体を定義したクラスは別クラスになると思うけど、
そのアニメーションクラスのインスタンスを
アイテムクラスのメンバーとして保持すればいいでしょ?
class item {
private int attack;
private int hitRate;
private Animation animation;
}
もしキャラクターが複数いて、同じ武器でもキャラクターごとにアニメーションが異なるなら
キャラクタ側にAnimationをもたせることになるかな
キャラクラスにDrawを持たせるのか
描画クラスにキャラオブジェクトを渡すのか
後者の方がスマートに書けるけど
オブジェクト指向的には前者なんだろうか
二択なら後者。
役割責務で分割したら、キャラが描画に責任を持つとかおかしいだろ。
それとは別にキャラが見た目を保持することに不自然さは無いから、キャラが自身の見た目をシーングラフに追加するのは構わないだろう。
他にも色々な設計があり得る。
人が剣を持つと剣として使うが
猿並みの馬鹿が剣を持つと、投げて終わり
ってパターンか?
キャラ側に持たせるのが当然だわな
>>610 >>604の話からすると、キャラごとにアニメを変えてたら大変だからということだから、アイテムごとにアニメは共通させることになるよね。
キャラごとに違うとしたら、アイテムをどの位置に重ねて描画するかという点じゃないのかな。それについてはキャラごとになる。
615 :
デフォルトの名無しさん:2014/05/18(日) 00:09:30.67 ID:zMZanzv2
キャラクタークラス <突っ込む< 武器クラス+武器アニメーションパターンクラス(一覧より選択)
オブジェクトの動作パターンとかアニメーションパターンはどこのクラスにも入れずに
一覧用のクラス作ってそっから引っ張ってくるだけ
でまぁその引っ張ってくる情報はキャラ側の変数が持つべきだけど
某3D格闘ゲームで、相手を投げようとしたら投げ技の踏み込みでこっちがリングから落ちてリングアウトになったんだけど、
相手はもう誰にも投げられてないのに独りで投げられたように空中を舞って地面にビタンと叩きつけられてた
ああいうのだけは避けたい
3Dモデルをアニメーションパターンで動かすってのに
かなり違和感がある
物理エンジンでキャラクタの全動作を違和感なく動かすためには膨大な計算が必要だな
そこでジャストインタイムボーンアニメーション
620 :
デフォルトの名無しさん:2014/05/18(日) 12:46:33.96 ID:mJ3ZE+le
衝突判定で質問。
データとして、3平面と3平面が交わる1頂点あり。
3平面を一定量n分移動させた時の頂点の新しい位置を求めたい。
通常頂点位置は、3平面の連立方程式で求めるが、
毎回連立方程式を解くのは重いのでやりたくない。
定石のような方法はありますか?
2線で考える
y=ax+b・・・@
y=cx+d・・・A
頂点のx座標は(b-d)/(a-c)
Aが(e,f)移動したら
y=c(x-e)+d+f
頂点のx座標は(b-d-f-ce)/(a-c)
連立解くのを自分でやりさえすれば
あとはCPUには代入計算させるだけで済む
Ap↑=q↑+tr↑だからp↑=(A^-1)q↑+t((A^-1)r↑)という話ではないのだろうか
よくわからん
623 :
デフォルトの名無しさん:2014/05/19(月) 00:43:33.96 ID:OU6AZajW
>>617 パターン一覧クラス作ってそこから選択なんていう設計はOOから外れていくと思うよ
OOじゃないほうへの誘いだから気にすんなw
OOってなんだね?
おはようセブンオーオー以来の響きだな
ググってみた。object orientedか
マジか・・・
627 :
デフォルトの名無しさん:2014/05/19(月) 21:48:45.70 ID:hniJCfjD
ゲームだと必須ではないとはいえこのレベルがスレに混ざってると思うといやな気分になるな
OOPとか文脈でわかる場合とかならともかく
○○だの00だのと見分けるところから始めないといけないんで
トランザム!
なんであいつの名前だけ丸2つなんだろな
う○○こ
これをアイちゃんが書いたとすると恐ろしく人間に近づいたな
ステンシルバッファや深度バッファはテクスチャと一対一で確保されると思ってOk?
テクスチャにステンシルと深度バッファが重なってるイメージ
何を言っているのか分からないから多分NG。
テクスチャはテクスチャだ。
何かを勘違いしているのは確かだが
何をどう理解したらこういう質問になるのだろうか
正方形のマスのフィールドを表すのに適したデータ構造はなんですか?
二次元配列?連想配列?
六角形じゃなくて正方形なのか
一次元で足りないと思ったことない
そんな読みにくいコードは書かないでください
二次元配列も結局アドレスで見れば単なる配列じゃないの?
n倍で移動してオフセットで指定みたいな
単純配列の方がわかりやすい
642 :
デフォルトの名無しさん:2014/06/22(日) 17:17:58.69 ID:MLMdRp+7
>>633 テクスチャと1対1なのではなく、描画するバッファと1対1だ。
DirectXの2D描画時の深度バッファを例にすると、
キャラクターを0.5fの深度で描画した場合、描画したバッファの深度バッファのキャラクターを描画したピクセルの0.5fのところに描画済みと書き込まれる。
次に背景を0.7fのところに描画しようとしたとき、描画しようとしている深度バッファをチェックして、
0.7fより浅いところが描画済みかどうかを確認する。
キャラクターが描画されたところは0.5fで描画済みと書いてあるからそこは除外される。
これをテクスチャベースでやろうとするとテクスチャの枚数だけ深度バッファを管理しなければならず、チェックする枚数もそれだけが必要だから非効率。
描画するバッファと1対1なら管理もチェックも1枚だけでよい。
>>636-641 漏れは、大戦略のようなマス目を、
2次元配列で管理している
正方形のマスの奇数行(0オリジン)を半マス分、
右側へずらして、ヘックスマスを表現している
1つのマスは、6つのマスに接するし、
しかも偶数・奇数行で、接するマスが違うため、
2次元配列で考えないと難しい
多分だけどね、配列のポインタを格納した一次元配列って話なんだよ。
int a0[100]; a0[x + y*10];
int a1[10][10]; a1[y][x]; a1[0][x + y*10];
int * a2[10] = {new int[10], new int[10], new int[10], new int[10], new int[10], new int[10], new int[10], new int[10], new int[10], new int[10] }; a2[y][x];
レンジチェック付きのアクセッサにお任せ! …え、重くなるって?
647 :
デフォルトの名無しさん:2014/06/24(火) 12:49:32.25 ID:VrH3d8m/
ニィィィィイイイイイイイイイイイイップwwwwwwwwwwwwwww
動的確保するなら一次元じゃないと面倒だろ
隣接セルを辿るときは二次元のほうがやりやすい?
ニート卒業してぬるま湯業務アプリばかり弄っているがこりゃ腕がなまるね
ゲームって難しかったんだな
業務には業務の面倒くさいところがある
「これ○ラクルのバグです」
「知るか。今日中に何とかしてくれ」
「元の仕様がわからないんですけど前の担当者は…」
「それやった会社に相談するとカネかかるから頑張って解析してね」
朝5時
「至急至急! 夜間処理がコケたから9時までにどうにか業務が出来るように立て直して!」
ゲーム会社に運良く入ってたらと思うとぞっとする
できなくて追い込まれていただろう・・・
結論としてはプログラミングは仕事にしちゃダメって事だね
定時で帰れる仕事をしながら趣味でやるのがベスト
もっと早くこれに気が付きたかった
ゲームは同人ゲームを作るのが良いな
仕事だと営業のクズ野郎といつ殺し合いになるかわからん
ニートが平和だよ
657 :
デフォルトの名無しさん:2014/07/06(日) 06:29:28.58 ID:qu0eEdBG
腕がなまるっつうのはブランク期間よりも、好きじゃない言語で他人にも理解可能なバカっぽい非効率設計で非効率なソースコード書いてる時だと思うな
そのうち、最初は非効率だと認識出来ていた事が徐々に感覚も鈍ってきてそんなのが当たり前になっていくのが怖い
自分のセンスやスキルがアホな他人との共同作業によって落ちるとか一番イヤすぎる
プログラミングなんて一人でやる以外の選択肢とか無くて良いから
ソースコードの書き方が妙に自分と似てるような奴と偶然巡り合わない限りは一人のほうが絶対マシ
>ソースコードの書き方が妙に自分と似てるような奴と偶然巡り合う
そんなことはありえない
むしろ
佐々木流コーディング道
とか言って弟子を募って学ばせるべき
保守や改修の仕事がヤバイ
10年前のカスグラマが書いたソースは読んでるだけで吐き気を催す
アンチパターンのライブラリかと思うぐらいにひどい
そんな仕事しか出来ないテメー自身を恨め
うるせえなハゲ野郎死ね
けんかするなよ
うむ。マ板でやれ
664 :
デフォルトの名無しさん:2014/07/07(月) 05:23:19.37 ID:nkkUMJeM
まず俺はさ、そいつが上司なわけでもないし金借りてるわけでもないし、
生きていく上で何の関係もないんだよwww
にもかかわらず、何故か上から目線っつうのはおかしいだろう?
俺はそいつと関わる利点なんてゼロなのだから、もう関わる必要ないじゃんwwwwwwww
お情けで「ん?何?」返事したのが運のつきよwwwwwwwww
なんか見た感じもうね、まともな議論も無理そうだし、面白くもなんともないし、俺だって忙しいわwwwwwww
利益も発生しない、面白くもないつまんねーのことに時間とってらんねーのwwwwwwwwwwwwwww
お前つまんねーから二度と話しかけないでいいよ、二度と関わらないでいいよ、って思うじゃん?
こっちはそれで構わないのだからw
こっちはそれで構わないのだからw
てめえらの問題に俺を巻き込むんじゃねえよwwwwしらねええええええええええよwwwwwwwwwwwwwwww俺は全く法的にも何にも何一つ関係ねーだろうがwwwwwwwwwwww
一体何を勘違いしてんだか知らねーけどまずその謎の上から目線がwww立場分かってないwwwww俺は協力しなくて良い立場でwwwwwてめぇは頼みに来てる立場だろうがよおおおwwwwwww
ハゲたせいなのかwwwwwwそんな話し方で俺が何かやってやるとでも思ってるのかよwwwwwwwwwwww知能が確実に低くなってるwwwwwwwww人への物の頼み方も忘れたかwwwwwwww
何年社会人やってんだゴミカスwwwwwwwwwwwwwww
お前がどこでのたれ死のうが全く関係ないし興味もないんだよwwwwwwwwwwwww分かったかハゲwwwwwwwwwww
二度と俺の前に表れるなよゴミwwwwwwwwwwwwww
最後はコポォで締めるべきだった
2点
>>656 簡単な仕事を自分で営業までやった方がいいよね
どーせ、会社には捨てられる運命なのにさ
みなさん個人のプログラム開発時間どのくらいとってますか?
週に2日2時間くらいだとなかなか開発が進まないのですが・・・
仕事始めてからはほぼ0だね
平日はどうしても帰宅したら寝るだけだし
休日は基本とれないから取れた時はグッスリ眠りたい
奴隷に趣味なんかもったいないと神は言っている
土日で2時間…? それとも平日2時間か
マから公務員に転職して、仕事適当で余暇はプログラムだヒャッホイと思っていたら
意外に仕事厳しくて、拘束時間長くて、窮屈で、面倒な人間が多くて、休みもとりづらくて、
どんどん腕が落ちていくわ・・・
拘束時間長いってのはサビ残ある?
サビ残含む残業は4H超える?
公務員に転職っての自分も考えてるからなあ
公務員は残業なしが建前すなわち全部サビ残とよく言われる
でも手取り以外の隠れ給料みたいなのがたくさんあるから我慢おし
673 :
デフォルトの名無しさん:2014/07/10(木) 14:24:00.21 ID:UbNzBagm
>>667 平日は帰宅後3〜4時間程度
土日祝は8〜10時間程度
暇そうで羨ましいわ
>>671 公務員も色々あるからねぇ。うちは残業代出るけど、申請が全部出る通ることは稀
残業4時間どころか、平日は帰って風呂入ったら寝るだけ
なんかマ時代とあまり変わらないわ・・・
今日は休みでまったり開発中だけど、明日は出勤
趣味がしたいなら市役所辺りを強く勧めるわ。俺もやり直せるなら絶対そうする
676 :
デフォルトの名無しさん:2014/07/14(月) 22:21:52.86 ID:1duIEipR
Googleとかの検索システムってどうなってんの?
細かいアルゴリズムは企業秘密だろうけど、ざっくりとしたシステム知ってる人いない?
ウェブページから頻出単語みたいなものを抽出してMySQLみたいなデータベースに突っ込んでるの?
>>676 BigTableでぐぐれ。
あとはWikipediaの全文検索と文字列探索を参照。
ランキング自体は何文字変えたら条件に完全一致するかと
Googleの場合はPageRankを加味(ってことになってる)
なんだかんだ言ってもう日本のゲームを作る技術はアメリカに決定的に遅れたよね
まじもう無理
日本市場考えると日本語フォントがついてまわるから腹立つ
>>678 Dragon's Dogmaやれてるんだから特にそうは思わないが。
681 :
デフォルトの名無しさん:2014/07/15(火) 15:08:02.60 ID:BqL+Us3a
>>679 最近はフルボイス多いんだから
フルボイス化して字幕消すだけで済むだろ
ボイスの質を逐一チェックするよりフォント配布解決するほうがはるかに楽だろ
ボールx,yと度数を変換する方法を教えて下さい
例x=0,y=5 90度
>>683 質問が意味不明だがエスパーするとatan(アークタンジェント)だと思う
せめて atan2まで言ってやらないとまず到達できまい
atan2が分かっても弧度法と度数法の違いがわかるかな?
687 :
683:2014/07/17(木) 02:34:40.79 ID:W0JmjsaX
ラジアンは学校で習いました
atanですか・・・聞いたことはあります
ありがとうございました
最低限大卒位の学力無いとゲーム作りは無理だよ
作るゲームによるでしょ
ただ数学物理に疎いと、作れない種類も多いだろう
どういう物理法則だ、なゲームもありだけどな
元祖スーパーマリオの空中ブレーキとか……
簡単なものなら小中学生でもできる
自分の実現できる範囲に落とし込めない要素を切り捨てるだけ
ソーシャルゲーム開発におけるC#の強みは圧倒的な速さ…グラニCTO河合氏が語る『神獄のヴァルハラゲート』開発・運営秘話
2014年07月09日 21時00分更新
ネットワーク周りが面倒くさい
クライアント1個あたりI/Oの割付表だけ設定すれば
それだけで使えるのって無いの?(あったりして)
あとは鯖プログラムと蔵プログラム作る時は
そのI/O表のアドレスに対して読み書きすれば終わっちゃう
なければ作ればよかろう。
ここはム板だ。
作っていて分からない部分があればここで聞けばよかろう。
ここは幸いにもム板だ。
昔 portal file system なるものを噂にきいたことがある‥
JAVAやC++しか出来ない奴って他言語なら一瞬で出来る事がほんとに出来ないのな
C++だけで何でもやろうとするカスは一向に減らないwwww
\
 ̄ヽ、 _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
`'ー '´
○
O
,、,,..._
ノ ・ ヽ と思う鳩サブレであった
/ ::::: i
/ ::::: ゙、
,i :::::: `ー-、
| :::: i
! :::::.. ノ
`ー――――― '"
お前それ鴨サブレーの前でも言えるの?
C++の使い手は他の言語をあっさりマスターするからすごい
うちの新人(大学では趣味でゲーム作りしてた。もちろんC++ 使い)はVB.NET、Java、C#など未経験だったが半年で覚えてもうベテランより生産性高い
ベテランが勝てるのはユーザに対する言い訳の上手さだけ
生産性って何を想定してるの?
コーディング(テスト未)行数/時間?
テスト完了行数/時間?
行数以外?
うちの新人ってことは社会人だろ
なら普通はコストだよ
時給で働いてる人が効率よく(時短に)なるようなことするんですか
ゲームプログラムスレでVB.NET、Javaはちょっと・・・
Javaはまだケータイで使われるけど、VBはないな
javaをdisりたいならはminecraftにケチつけないと
業務システムじゃあVBはまだまだ現役だぞ
というか引退出来ないってのが実情だな
まさにIT業界に巣食う末期ガン
C#だとXNA使うのがいいのか?
unity一択じゃない
ゲームの仕様書ってどう書くんだ
想定される状況が組み合わせ爆発して手に負えないんだが
>>710 仕様書で組合わせ爆発してるようだとプログラムなんか書けないだろ
>>711 いやするだろ
プログラム的に実装によって現象が変わる事はよくあること
例えばソート結果の安定性とかね
それを明確にこの場合はこういう結果になるという仕様を定めて行ったら
ほぼ無限の状態と入力とその結果を考えなければならない
仕様書はたやすく組み合わせ爆発する
もちろんそれを無視して最低限の仕様を決めてあとは実装された結果が仕様だと言い張る事は出来るがそれは逃げだよね
組み合わせ考えてたらきりないでしょ
予定は未定
>>712 仮にソートの仕様書なら、並べかえることや安定かどうかなんかを定義するだけで
明確にこの入力時の結果はこうなるとかいちいち書かないよ
実装によって結果が異なるのがまずいなら、安定を定義してやればいい
ソート結果の安定性?
アホかと
なんでアホなん?
ゲームの仕様なんて後からどんどん追加されるもんだろ
と言うか、そのくらいでないと生き残れない気がする
特にスマホやネトゲ辺りはアップデートが生命線だし
ソートをやったことない人にやらせてまふ
っていってます?
1.仕様は決まっているが、組み合わせ爆発した大量の仕様をどうやって仕様書にするか
2.組み合わせ爆発した状況ごとの仕様をどうやってきめるか
どっちの話をしてるの
質問者はどっちを聞いてるのか
仕様は絶対変更しないのが完成させるための鉄則って聞いたことがある
ん、伝言ゲームを作ってるんだ
ゲームやってると攻略する過程でルール1とルール2がある状況では論理的に相容れない事は良くあるだろ
実際にはソースコードレベルでみたら矛盾なく動作するが
プレイヤーの視点からはそんなことはわからないし
実装を変えたら状況が変わることもあり得る
そういう場面を全て網羅してこの場合はどちらが優先かなどと決めて行く作業が爆発的に増えてくる
「仕様」ってのを根本的に勘違いしてないか?
論理的に相容れない時点で仕様が破綻してるだろ
エクステンドアイテムまたはクリアアイテムと死亡オブジェクトとの同時接触は一例だろうな
クッパ城の斧とクッパなんて処理バグるし
>>723 増えない方を優先しろ
ヤバいのがあったらコンクリで塗り込めて封印しろ
後は少々不整合があっても影響範囲が広がらないように封鎖・吸収する仕組みをもたせろ
最終的に船が沈まなければおkよ
>>725 同時接触でどちらが優先されるかって決めておく必要のある問題か?
頻繁に発生するなら仕様で決めておいた方がいいかもしれんが、その優先順くらいで作業は爆発的には増えないだろ…
組合わせ爆発を起こすとしたら、そんな仕様を考えた方がバカ
あとバグるのは普通に実装ミスだろ、仕様とは関係ない
728 :
デフォルトの名無しさん:2014/08/05(火) 15:23:55.29 ID:O7JRIwxy
まぁそういうことになるな。
アクションゲームだとして、
1.一般アイテムは接触すれば拾える
2.ゴール地点にある特定のアイテムに触れればクリア
3.敵には触れるだけで死亡
って仕様があったときに、同時接触を、
1×2、2×3、3×1、1×2×3
と4通りで考えたりはしない。
2>1>3
みたいに優先順位で処理する。
優先順位を付けるべき箇所が増えるというでっしゃろ
ルールベースにとらわれずに
結果を大づかみにとらえてブレの範囲として吸収すれば良い
関数型プログラミングしかふれてないと
こういう思考に陥るのではないかとエスパーしてみる
プレイヤーからすると
ゲーム毎に不毛な処理プライオリティ調査をしなければならない世界が
延々と続くのか……
オブジェクト毎に重み決めて、動作のたびにソートするだけで
大抵の場合は済みそうだけどね
>>731 もうゲーム開発なんかやめて Magic: The Gathering やろうぜ
ユーザーが用意した画像も使えるマップチップツール作ろうとしたら詰まった。
Win7 64bit VS2013 C++ DXライブラリ環境で、フォルダにある複数のファイル名取得する為に覚えることは何ですか?
ファイル列挙の手段としてWIN32APIやFileSystemを使う手段があるという事までは調べたのですが
std::tr2::sys::directory_iteratorとか見ても、は?これ何やってんの状態です。
これから順に読んで勉強しなよ的な書籍やサイトなどありましたら教えて頂けないでしょうか?
FindFirstFileとかFindNextFileとかでググればいいんじゃ?
素人は.NETでもやればいいよ
面倒な処理は全部VBで書いて相互運用するだけ
そういう時は初心に戻ってサンプル書き写してみればいい
俺今でも中で何やってるか分かってないけど
739 :
デフォルトの名無しさん:2014/08/11(月) 17:11:19.74 ID:9itBQr9C
game用のINIファイルやconfigファイルの読み書きを実装したいんだが
boostのような形でライブラリがあるならそれを使いたい。
C++用で教えてください。
boost内で完結するだろ
>>734 iteratorは繰り返し子、反復子
iterateは繰り返すという動詞
ForEachと同じ
以下は、PowerShellだけど、
カレントフォルダ内のすべてのファイルobjを取り出し、配列に入れる
$arr = ls -File
各ファイルobjを処理する
配列から自動的に$flに、1つずつファイルobjを取り出す
ForEach($fl in $arr){
ここに、$fl(各ファイルobj)に対する処理を書く
}
742 :
デフォルトの名無しさん:2014/09/15(月) 18:57:30.38 ID:WaQuX0Y8
Unityに自作のスクリプト(インタプリタ?)を組み込みたくて、
パサーを探しているのですが使いやすいパサーはありますか?
Ironyというパサーを使ってみたんですが、
こちらは.net4.0でビルドされていて、Unityでは3.5以下しか使えないようなので断念しました。
自作言語を作る気?
既存言語を組み込むか、ALL C#を諦めるのはないのか?
744 :
デフォルトの名無しさん:2014/09/15(月) 19:15:11.54 ID:WaQuX0Y8
カードゲームを作っていて、
カードの固有の効果を作るのにUnityのスクリプトだと
カードのプレハブとスクリプトを別個管理する必要があり、
できればstring型のパラメータにスクリプトを持たせておいて解析して実行したいのです。
既存言語を組み込むとか、c#以外の言語を選択するとは
具体的にどういう方法でしょうか?
ユーザー・遊ぶ側が使う言語でなく、開発時で使う言語?
それだったら多少の不便は我慢してやれる方法でやったほうがいいだろ。
新自作スクリプトを作るほうが時間・手間がかかる。
ゲームで遊ぶのに新スクリプトが必要だったら拘ってもいいが。
parser generator caper
747 :
デフォルトの名無しさん:2014/09/15(月) 20:05:38.30 ID:WaQuX0Y8
>>746 ありがとうございます!
作りこんだBNFを適用すればそれっぽく使えそうです!
カードゲームに unityだと
そこは突っ込むところじゃないだろ
人によって技量やプログラミングに当てられる時間など差がありすぎるのでピンキリとしか言いようがない
>>751 何日間ではなく何時間でした
すみません
これからぷろぐらみんぐはじめますレベルなら3年以上かかりそう
それともスマホアプリ丸投げ業者さん?
タワーディフェンスのようなゲームを作りたいのですが参考になるサイトないですか?
756 :
デフォルトの名無しさん:2014/09/27(土) 11:57:05.77 ID:0TauZUvj
javascript,HTML,CSSでオンラインゲームを作ることは可能でしょうか?
javascriptとnobe.jsで作れるかな?
先行き不安だな
FE風のSRPGを作る難易度はどれぐらいですか
VisualStudio 2013 communityでC#を使って作ろうと思います
FEで言うとセーブロードなしで仲間を一人も失わずにクリアするくらい
○○作る難しさはどれくらいですか?とか期間はどれくらいかかりますか?って聞くヤツなんなの?
大変そうだったら止めるの?
素人さんが素人さん使って作れると思ってるのでは
>>762 すげぇ!俺が書こうとして面倒で書かなかったレスがここに!
とうとう俺もESPに目覚めたか
ついにespレジスタに目覚めたのか
767 :
デフォルトの名無しさん:2014/12/06(土) 12:52:19.03 ID:fUUpt+d7
ESP使ったメモリクリアはもうオワコン?
シーンからノードを削除する(親から切り離す)と子ノードをぐるんぐるん回しているところでコレクションを回してる時に消すんじゃねーぞボケって怒られるのですが、
これはいきなり削除するのではなく MarkAsDeleted とか印を付けて置いてフレームの最後にまとめて消すべき何でしょうか
スタンダードな削除方法を教えて下さい
日本語で、または簡易言語か何かで。
翻訳すると、リストを先頭からめぐってるときに、今見ている要素を消すとイテレーターが壊れるとかそんな話だと思う
適当にマークしてあとで親ノードから切り離して解決しました。
ありがとうございました
マークされたノードが検索対象に含まれるのが気持ち悪いのですが同一フレームで削除されるので大丈夫でしょう
10秒後とかに削除の場合はまた考えるとして
SRPGでユニットをデータベースで管理しています
味方キャラはこれでいいのですが、敵の雑魚っぽいキャラまでデータベースで管理するとデータが爆発してしまします
たぶんこういう雑魚キャラはテンプレートっぽい1体だけ登録して複製すると思うのですが
(UnityのFrefab<=>Instanciateみたいな)
実装が凄く大変そうで躊躇しています
どのように実装するのが一番楽ちんでしょうか
そんなにデータ増えるか?
爆発するって言ったって、DVD に収まらなくなるわけじゃないだろう。その程度のデータ量は大したことないから気にするだけ無駄。
> たぶんこういう雑魚キャラはテンプレートっぽい1体だけ登録して複製すると思うのですが
データベースって、sqlite とか mysql とかの RDBMS?
ならリレーションでやるだけ。せっかく RDBMS 使ってるんだから。
業務系のシステムで、伝票に記録するのは商品番号であって、商品情報を毎回丸々コピーするわけじゃない。そういうことだろ?
まあでも、敵キャラも全部登録した方が柔軟性があるんじゃね?
別キャラを登録して、ストーリー上では同じキャラがステージによって違うパラメータとかすることを考えれば、それが素直。
775 :
772:2014/12/22(月) 08:47:09.95 ID:0s2lMpgR
1面30-50体として15面ぐらい作ったら500-1000件ぐらいのデータが必要なんだけど・・・多いよな
あと必然的にキャラクターエディターとか作らないといけないし、
使ってるのがSQLExpressだからSQLiteみたいにデータベースがファイルでフォルダーに落ちてるわけじゃないので、どうやって初期値入りのデータをコピーして保存・配布すればいいのか、とか
1000件、10項目程度なら
配列で済ませば?
>>775 1000件のどこが多いんだよスットコドッコイが。一日の売り上げより少ないだろうが。それで多かったら業務系のソフトなんて動かねーよ。
お前はドリキャスのビジュアルメモリ用のゲームでも作ってるのか?
なおポケステなら楽勝。
だいたい、ステージの定義ファイルを用意したとして、そこに結局合計 1000 体の記述がされるのであって、必要なのだから仕方ない。
SQL Express は知らないが、DBMS がバックアップとリストアができないわけがないんだから問題ない。
くだらないことに悩んでないでまずは一通り完成させろ。
データの定義何ざタブ区切りテキストやcsvで充分だが、そんなことは後からでいい。
778 :
775:2014/12/23(火) 09:26:29.05 ID:PSJj9mkA
いやいやSRPGでユニットのデータベース管理の方法はくだらなくない問題だろ
適当に考えていることを書くと、
・ ユニットやアイテムはすべてデータベースで管理
・ ゲーム本体とは別にキャラクターエディタが必要
・ マップを読み込んでイベントとキャラクターを配置するレベルエディタが必要
・ データベースは複数同時に扱えて簡単に差し替えできなければならない
またデータベースとは別にレベルエディタで作ったレベルの定義ファイルを読み書きできないといけない(どのような形式で?)。
ゲーム本体と同じとはいわないが無視できない作業量が必要だろう
データ管理の仕様がすでに決められてるのならともかく
そのデータベースの形式がcsvで突貫でモックを作ろうとSQLLiteで頑張って作ろうと
どうせ後で設計的な部分まで手直しすることになるからそれより先に全体をはっきりさせろってこと
そもそもなんでデータベースを使うのか分からんが
1面50体くらいならcsvで配置&定義ファイルにしちゃうな
一般的?なSRPGなら升目だからエディタまで作らなくても再読み込みでなんとかなりそうな気がする
まぁキャラのパラメータが多いとやたら横に長い表になって作業しにくいんだよね
一人で作業なら問題無いと思うけど
781 :
777:2014/12/24(水) 12:36:37.99 ID:z67Rl6eb
>>778 非常にくだらない問題だ。
RDBMS を使うか他の方法を使うかで、何が問題になるのかを言ってみろ。
> またデータベースとは別にレベルエディタで作ったレベルの定義ファイルを読み書きできないといけない(どのような形式で?)。
それも DB にしろよ。せっかく使うんだから。
> ゲーム本体と同じとはいわないが無視できない作業量が必要だろう
DB 使わなくても一緒。
シリアライズ/デシリアライズに DBMS を使うかどうかだけ。
つーか君は DBMS に慣れてないんじゃないの?
MMORPG だってソーシャルカードガチャだって、何でもかんでも DB にぶち込んでるよ。
しかしスタンドアロンのゲームには RDBMS なんて必要ない。テキストファイルでも、独自バイナリファイルでも使うのが楽。
RDBMS に慣れててそれが使いやすいならそれを使えばいい。
どれでも君にとって一番楽なものを使えばいいんだから、RDBMS かどうかが問題なのではなく、君がどうなのかが問題だ。
使いたいなら使えばいいし、使いたくないなら使わなければいい。
言い訳ばっかり考えてないで手を動かせ。
782 :
デフォルトの名無しさん:2014/12/26(金) 10:31:33.05 ID:hdMzEIeo
783 :
あ:2014/12/26(金) 12:29:59.48 ID:B31hRDon
/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://ヽ:::::::::::::::|
l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::// ヽ::::::::::::::l
l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/:::「'ヽ:::::::::::// ヽ:::::::::::|
|::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ノl:::ノ l:::::::/ ヽ::::::::|
ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::/ ゙゙ ノ:::/ ,,;;;;;;,, ,,,,ヽ:::::l
):::::::::::::::::::::::::::::::::::::::::::::::/ ノ/ __,'''i: ('''__):::l
)::::::::::::::::::::::::::::::::::::::::::::::::::/  ̄ ̄ン:. :「 ̄`ヾ
1:::::::::::::::::::::::「 `┤l:::::::::::::::::l  ̄ , ヽ ̄ l
`l:::::::::::::::::::::ヽ :l li:::::::::::::/ ヽ /´ `l |
ヽ::::::::::::::::::::::\_」 lヽ::::/ .l !:-●,__ ノ /
ノ:::::::::::::::::::::::::::ノ | l `゙゙ i ,,;;;;;;;;;;;;;;;;;;;;, /ヽ
,/ ヽ::::::::::::::::::::::( l l::::::::.. /.:''/´ ̄_ソ / `ヽ
ヽ:::::::::::::::ヽ | l:::::::::::... /::// ̄ ̄_ソ / \ ヴッ!!
ヽ:::::::\| l::::::::::::::::... / :::.ゝ` ̄ ̄/ / ヽ
ヽ:::l l:::::::::::::::::::..  ̄ ̄;;'' / ヽ
l l;;;;;;:::::::::::::::.....;;;;............;;;;;;''ノ l
l l '''''''''''''''''''''''''''''''''''''' ̄l | |
http://www.youtube.com/watch?v=z2qK2lhk9O0
784 :
デフォルトの名無しさん:2015/01/04(日) 21:28:23.88 ID:E3gksTMm
クラス(オブジェクト)の中にクラスを含んでるような階層構造の深いところ同士の処理はどうするんですか?
グローバル変数として宣言してゴリゴリアクセスするのならいくらでも作れますが、
もうちょっとスマートなやり方はないのかなと。
class Game{
private:
Army *human; // 人類軍のクラス配列
Army *alien; // 宇宙軍のクラス配列
/* 以下省略 */
};
class Army{
private:
int army_id;
char army_name[32];
Soldier *soldier; // 兵士の配列
/* 以下省略 */
};
class Soldier{
private:
int soldier_id;
char soldier_name[32];
int hp; // ヒットポイント
/* 以下省略 */
};
例えばこの場合の兵士同士の当たり判定とかです。
今まで作ったゲームはGameの中に直接Soldierがあるような感じのものばかりだったので、
そのままGameでSoldierにアクセスして処理していたのですが、
こうやって階層が深くなった場合の、深い階層にあるもの同士の処理が面倒です。
ゲームで他のオブジェクトが持つオブジェクトに触りたくなる事はないだろ
ユニットなら他のユニットに対して攻撃とか衝突とかするだけ
ようは設計が悪い
>>784 自軍同士の当たり判定が無いなら、Armyクラスに
Armyを引数にする当たり判定メソッドを作ればいいんじゃないかな
「最強のシューティングゲームをつくる 弾幕」
という本を買ったのですが、同じ本持ってる方でも持ってない方でもいいので教えて下さい。
Buffer = new char[TaskSize*(TaskCount + 2)];
という式で、使用する分のメモリを確保するコードがあります。
+2というのはダミータスク2つ分なのですが、この式だと
10バイトの領域を5個確保したい時、70バイトが確保されてしまう気がします。
(正しくは52バイト)
これは
Buffer = new char[TaskSize*TaskCount + 2];
の間違いでしょうか?わかる方いたらお願いします。
787自己解決です本ので合ってましたスマセン・・・(´・ω・`)
789 :
デフォルトの名無しさん:2015/01/05(月) 20:47:51.16 ID:OOU+zLOg
フレーム単位で処理と描画してるんだけど、
今のコードがもやっとするからもやっとしないコードの書き方教えて
void run(){
//処理
frame++;
}
void draw()(
//処理
}
ゲームループではrun();→draw();の順で呼ばれる
例えば、0〜59フレームの間処理&描画したい場合、
run内ではそのままif文で0〜59フレームの判定をすればいいが、
draw内では1〜60フレームで判定をしなければならない
frame++;をdrawの後に持ってきてもいいが、frame++;は処理に分類されるからrunから外すのももやっとする
draw内で一時変数を用意してtmp_frame = frame - 1;やるのももやっとする
普通は描画処理内で判定しないもんだ
割り込みで60フレーム目に一度描画するだけ
frame変数を保持してるクラスが間違えている
普通はこんな感じ
var frame = 0;
while(true){
run()
draw()
frame += 1;
}
792 :
デフォルトの名無しさん:2015/01/06(火) 10:19:41.68 ID:J0Q0lgG6
>>790 ごめんよく分からん
>>791 結局runの外に出すのか
何かもやっとするけど他の人もそうしてる安心感があるだけでも助かる
ありがとう
そもそも、frameっていう変数を管理すること自体が俺には謎なんだがw
fps = 59 みたいな表示をさせたいのかな?
俺もそう思う。フレーム番号自体はあっても良いと思うが
フレーム番号に強く依存した処理を書くのはNG
フレーム番号どうこうじゃなくて
一定時間だけ描画するってことじゃないの?
自分なら
処理&描画するっていうイベントフラグと時間計るタイマーを作っといて
run・drawではイベントフラグが立ってるかで処理&描画有無を判断
タイマーで60フレーム経過時にイベントフラグを落とす
ってやるかな
796 :
デフォルトの名無しさん:2015/01/06(火) 19:27:58.90 ID:J0Q0lgG6
フレーム使わない人はフレーム以外でどうやって管理してんの?
例えばアクションゲームでキャラがダメージ受けてから1.5秒間無敵にしたい場合、
60fpsだったら、ダメージ受けてからは90フレーム間はダメージ判定なしにするだろ?
そのカウントとかで使うだろ
ms
可変フレームレートでは前フレからの経過時間など、実際の時間(ミリ秒とか取れるならナノ秒とか)を使うことが多いね
移動量含め色んな計算に時間を掛けて使えばフレームレート問わず同じように動ける
発生時間を記録しとけばいいんじゃないの
フレーム管理だろうが、可変フレームレートだろうが
drawは完全に内部の処理をいきなり描画できるものがいいよ
>>789 そもそも実行順番って
init();//初期化 初期値・初期位置
draw();//0フレーム目描画
run();//1フレーム目処理
draw();//1フレーム目描画
run();//2フレーム目処理
draw();//2フレーム目描画
・
・
・
じゃねぇのけ?
init();をやっての直後にdraw();を呼べば
すべてが初期位置に配置されてるはずなんだよね?
でもたった1フレーム面倒だからinit();直後のdraw();は
呼んでない的な
そんなの気になるなら
STGで
弾を発生したフレームが0フレーム目なのか?
弾を発生した次のフレームが0フレーム目なのか?
のほうが気になるじゃないか
とくにシーン側で
ケース1
jiki.run();//内部で弾A発生
for(int i=0;i<tamanum;i++)tama.run();//弾処理(弾Aの処理が入る)
for(int i=0;i<tekinum;i++)teki.run();//内部で弾B発生
ケース2
for(int i=0;i<tamanum;i++)tama.run();//弾処理(当然弾Aの処理はない)
jiki.run();//内部で弾A発生
for(int i=0;i<tekinum;i++)teki.run();//内部で弾B発生
でケース1のように記述した場合、
弾Aの0フレーム目が描画されなくてダサい
しかも、弾Bの0フレーム目は描画されてさらにダサい
厳密にテストされると指定した位置に弾が発生しないとかいう
バグ票切られる
DirectXで描画時に色弄ってフェードアウトとかやってみろよ
D3DCOLOR_ARGBの各引数は0〜255の間で指定しなきゃならないけど、変な値を指定すると255を指定したのと同じになる
フェードアウトのフレーム数を120フレームとすると、各色は 255 * ( 120 - frame ) / 120 で求められる
ここでframeが0〜119なら大丈夫だが、1〜120だとヤヴァイのは言わなくても分かるよな?
フェードアウトしていって最後に元の色で一瞬ちらっと見えるんだよ
1フレームでも真っ暗な画面にちらっと出るとかなり気になる
>>802 >ここでframeが0〜119なら大丈夫だが、1〜120だとヤヴァイのは言わなくても分かるよな?
なにかまずいっけ?
>>802 #define D3DCOLOR_ARGB(a,r,g,b) \
((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
変な値を指定すると「255 と同じ」…には見えないねぇ
境界値チェックくらいしなさいよ…
いくつかセオリーがあると思うけど、そういうのを学べる書籍がないんだよね
Draw()は副作用を持つべきではない。いつ呼んでも何度呼んでも同じ画像を生成すべき。
内部の状態を変化させるのはUpdate()の仕事。
上の例で言えばUpdate()がframe数を元にfade(0-255)を作って内部に保存し、
Draw()はそのfadeを見て描画する
あと問題はコルーチン(async/await)などの非同期処理を使うと新しいオブジェクトをシーンに入れる時に
Update()とDraw()の間にコルーチンが終了してオブジェクトが突っ込まれた結果、
Update()が呼ばれずにDraw()が呼ばれる事がある事
どうにもならんのでNeedToBeUpdateBeforeDraw = trueみたいなプロパティに入れてチェックしてるけど、こが正しいのかどうかわからん
Destroy(gameObject)みたいに「挿入準備中」のまま1フレーム遅延させてからの方がいいのかもしれない
PreUpdate、Update、PostUpdate用意して
新規オブジェクトはリストに積んでおいてPreUpdateで追加
Updateによる不要オブジェクトはPostUpdateで消滅で良いんじゃ
Update時点で存在しない要素をDrawが取り扱う理由がないでしょ
draw呼び出しは割り込みからにしとけ
他の処理が何フレーム分やってようが
気にせず、定期的に描いとけ
素人の素朴な疑問なんだけど
たとえば描画を割り込みで実行する場合って
キャラが移動計算中の場合、変な状態で描画されないように配慮が必要ってことですか?
移動等の処理が全て完了した時点で、描画する時間が余っている場合のみ
重い描画処理を実行するのかと思っていたんだけど。
描画にどれだけ時間がかかるのかわからないのに時間が余ってるかってどうやって判断するんだよ
>>810 だからメインループの方も
ループ最後に割り込み回数チェックして、余ったら空回ししてるじゃん
オーバーしてたら次の描画割り込みパスさせるフラグ立たせて
>>810 >キャラが移動計算中の場合、変な状態で描画されないように配慮が必要ってことですか?
そういう心配はないよ
フレーム管理で処理した場合
PCの性能や体調(?)によって次の内部の処理が実行されるまでに
実時間と処理フレームにやたらと乖離が発生してしまう場合がある
完全にオフラインのゲームであれば内部処理を複数回実行して
処理を進めることは必須ではないんだけど
ネットワーク対応が必要なリアルタイムなゲームだと処理の遅いPCのプレイヤーの
キャラは足も動作も遅い(笑)ってなっちゃうでしょ?
だから実時間に合わせてなるべく進めてやるような処理をするわけ
STGはネットワーク対応なんてないから処理オチすると
スローモーションになったほうが好きってのもあるかもね
上記のようなことをするときに内部処理複数回実行してから描画とか
やる必要があるわけ
>>813 > >キャラが移動計算中の場合、変な状態で描画されないように配慮が必要ってことですか?
> そういう心配はないよ
必要だよ
描画は当然ながら移動計算後に行う必要がある
まあ、排他手段はただの完了フラグ程度でいいんだけど
>>814 そんな必要性は全くない
計算途中でもその状態で描画するだけのこと
それでエラー吐いたり描画が変になるわけでもなんでもないし
どうせ見えない
排他処理にする時点で割り込みといえないような気がするんだが
>>815 たとえばだけど
画面外にはみ出たキャラを画面内に収まるように補正する前に
描画がコールされた場合、一瞬はみ出し表示されそうだけど。
描画に使用する変数には途中経過は入れないように、という
あたりまえといえばあたりまえのことをに注意する必要があるってことかね
>>817 座標計算にいくら手間取ったって
座標が上書きされるタイミングは計算確定後であって結局一瞬
はみ出したかどうかなんてまだ結果が出てないんだから
計算途中いつ描画したってはみ出す前の画像にしかならん
1)x+=dt;
2)if(x<0)x=0
1)と2)の間で描画されたらはみ出ると思うんだけど
なんか俺勘違いしてる?
>>819 いやいや、普通そんな組み方しねーからそんなことで悩まねーよ
可変フレームレート管理だろうが、フレーム管理だろうが
init();
while(1)
{
key();//プレイヤーの入力取得
update();//内部処理 フレーム管理の場合は経過時間分回数を実行する
draw();//描画
wait();//ウェイト兼メッセージ処理 sleep(0);的な処理
}
end();//後始末
な処理は絶対かわんねーよ
描画だけスレッドで回す意味ってまったくないし
いややりたきゃやってもいいけど苦労を増やすだけでメリットはないよね
>>820 >描画だけスレッドで回す意味ってまったくないし
それは是非AndroidのSDK作った人に言ってくれ
>>820 「描画を割り込み」って話が始まりだから
そこに書いた処理は単なるシーケンシャル。
>>819 if (x+dt<0) then x=0 else x+=dt;
824 :
デフォルトの名無しさん:2015/01/09(金) 02:45:44.66 ID:8KokMSeA
アクション性の高いゲームのエフェクトと魔法の管理のしかたを教えて
キャラクター管理クラスと同レベルの独立させたクラスとしてエフェクトクラスと魔法クラスを作って
キャラクターが魔法使った瞬間に魔法クラスとエフェクトクラスに登録?
825 :
デフォルトの名無しさん:2015/01/09(金) 02:52:02.86 ID:8KokMSeA
独立させると駄目か
魔法によってはキャラクターがダメージ受けた瞬間に効果もエフェクトもキャンセルしたいとかあるしな
826 :
デフォルトの名無しさん:2015/01/09(金) 02:54:08.73 ID:8KokMSeA
ああもうわけがわからない
>>821 しょうがない理由があるなら
void update()
{
updtflg = true;
//処理
updtflg = false;
}
void draw()
{
if(!updtflg)
{
//描画
}
}
で
>>824-826 普通はキャラクターとエフェクトは同格のゲームオブジェクト
魔法は武器とかと同じでそれらに使われるものとした事があるが一般的な話は知らん
>>819 なんではみ出すのがわかってんのに
重要な変数を途中で上書きするんだよ?
センスねー馬鹿だな
お前は
>>809からのレスを全て読んでから書き込めって
とんでもない見当違いな書き込みしてるから
最初に描画を「割り込み」で処理するという話が出て(
>>809)、
割り込み描画だと色々と配慮が必要?(
>>810)の質問に対し
必要ない(
>>815)と答えたけど、
>>820の回答を読むと、どうやら
>>815が割り込みではなくシーケンシャルな方法の話と勘違いしいたことが判明。
結局
>>810の質問の答えとして「配慮が必要だね」って話になったところで、
お前、
>>830が登場
配慮がイラネーってのに・・・
余程の馬鹿だな
>>815がなんでシーケンシャル限定なんだよ
ほんとに馬鹿だな
うわぁ、それ天然?
割り込みでは、描画につかう変数を使わないことが「配慮」なんだよ。
>重要な変数を途中で上書きするんだよ?
って自分で書いておいて配慮イラねーって・・・
おそらく天然のお前は
「そんなレベルのことは当たり前だから配慮なんていわねーよ」
って、また見当違いなレス書きだしそう
>>835 あーわかった、おまえが底抜けの馬鹿だってことが。
いいか、誰も
>>819のコードを実際書くなんて話していないの。
わかる?あくまでも、配慮がイラねーっていう話に対して
お前の好きそうな言葉使っていうと「馬鹿なコード」を書いたら、問題おきるだろ?って話なんだよ。
まあ、流れつっても暇人じゃなきゃいちいち頭からレス追うのも億劫だし
最初に
>>819から読んだら、お前みたいに勘違する人がいそうな流れだけどな。
ただ、それを「馬鹿」という言葉を交えて煽るところを見ると
初心者なんだろうと思うよ。なぜなら、あまりにも「あたりまえ」すぎることだから。
>>838 あいにく
こっちはずっと割り込みでしか考えてない
勘違いアホを相手にしてんのはお前の勘違い
それとお前は何もかもゲーム作りやプログラムに向いてない
とっととクソして寝ろ
最近のPCゲームは処理も描画もマルチスレッドで可変fpsだってよ
ヤバくね?
そんなフレームワーク作れって言われたら発狂しそう
deltaTime
gameObjectをDestory()した場合、期待する動作は
そのオブジェクトだけ消されますか、それともそのオブジェクトとそこから辿れる全オブジェクトが消されますか?
どちらにすべきか教えて下さい
>>843 一族の者は全て消せ
それはともかく
子も全部消さなかったら
消さなかったオブジェクトはどこに行くのか
>>824-826 それってゲームの仕様も確定してないのに見込みで
「多分、こうつくっておけば便利なんじゃないかなぁ?」的思い込みで
作ろうとしてない?
はっきりいってエフェクトマネージャなんて役に立ったことないよ
メンバーで開発してるならほかの人間に迷惑だからやめたほうがいい
どうしてもやるというなら大手が出してるゲームのエフェクトの動作を
おおむね把握してから何が必要か仕様を決めたほうがいい
次のイベントが発生するまで無限に居座り続けるとかキャラの動きに
合わせてとか結構意味不明な動作してんのもある
垂れ流しで済んでるのってほとんどないから浅い知識でマネージャを作ろうと
するのはやめたほうがいいエフェクトに限らず
>>841 疑似じゃね?
スレッドって1プロセスで最大スレッド数にかなり少ない数で上限あるような?
っていうかフレームワークをそんな風にしてくれてもちっとも開発の助けには
ならんよね
ゲームで一番複雑になるのはオブジェクト同士の関連部なわけで
1オブジェクトごと縦割りにしてくれてもまったくメリットないですよ
って俺のところはライブラリチームには何度も説明して修正してもらいました役に立たないので
scratchとかいう子供の教育向け(?)言語を使う機会あったんだが
これでゲーム作ろうとすると、オブジェクトが全て並列処理されるので
既成概念にとらわれてプログラム書くと、正直発狂すると思った。
>>846 スレッドを数百数千と作るわけ無いだろJK
コア数分のスレッドで十分
ハイパースレッディングあるならコア数×2
CPUの能力を最大限引き出すにはSIMDを使いつつ処理をマルチスレッド化して全コアを休まず働かせ続ける必要がある
でもマルチスレッドプログラミングを正しくやるのって難しい
スレッド間の同期がパフォーマンス低下の原因にもなるし
メインスレッドの処理を止めたくないとか
複数コアを使いたいのでなければ
Fiberで十分だろう
今C#でasync/awaitを使ってコルーチンしてるけど結構便利だぞ
コルーチン側でシーンにオブジェクトを突っ込むとややこしいが
>>848 次のシーンやフィールドをスレッド立てて
先読みで読み込むぐらい別に難しくねぇと思うけど
852 :
デフォルトの名無しさん:2015/01/11(日) 01:52:00.70 ID:MMhDOTqT
853 :
デフォルトの名無しさん:2015/01/11(日) 01:54:16.74 ID:MMhDOTqT
マルチスレッドにすることでかなりパフォーマンスが良くなったらしいけど、
ゲームが完成するかどうかってレベルの俺にはあまり関係ない話だw
haskellでゲーム作ればいい
画像処理以外でマルチスレッドは無意味だな
まったく労力に見合っていない
理想でも現実でも可愛いな
並列処理はエンジンレベルで吸収すべきで
ゲームプログラマーがイチから考えることじゃない
ゲームプログラマーが全て書く神話は15年以上前に崩壊してる
そんな甘えたこと言ってるからPS3はうまく立ち上がらなかったんですよ
こいつばかじゃね
頑張って勝てるなら日本は第2次世界大戦で敗戦してない
科学的手法の前に精神論は無意味かつ害悪
マルチスレッドプログラミングには利点はあるがコストもかかる
このコストをどう吸収するかをアメリカ的合理主義で考えたのがゲームエンジン
まえは一生洗濯板で選択してろ
Pixel ShaderやCompute ShaderやOpenCLは自動で並列化していると言えるのでは
とりあえずならソートとかループ単位で副作用でないのをTBBとかのライブラリで使えば良い
実際のボトルネックは違う部分だろうし激変するほどの利点もないけどな
CPU利用率が分散してるのを見てにやにやするだけだ
確かに戦略がないのが日本
だから安部ちゃん自民が大ウケする日本なのだ。
あれは第二次世界大戦に大政翼賛でやってた当時の日本国民と同類。
支持者は死後の世界でもカルマを背負っていかねばならない。
ゲーム開発関係ないブサヨの安倍叩き
本当にブサヨって迷惑な存在だな
スレ違いを無視して言いたいことだけ書いていく典型的なコミュ障
とりあえず最新レスまで飛んだらゲームの話じゃないから間違えて政治板のスレ開いたかと思ったわ
まぁ安倍叩きしてる奴なんてまとな脳構造してないから仕方がないか
大人しくチョンゲーでもやってればいいのにと思うが自覚がないからそういうわけにもいかないんだろう
何か顔真っ赤にして何言ってんだコイツの世界
どうもこのところ変なのが、いるんだよな
アクションゲームってキャラの状態によって同じボタンでも動きが変わることが多いけど、
状態から判定したほうがいい?ボタンからで判定したほうがいい?
例えば攻撃ボタンを押したときに地上と空中で動きを変えるときに、
状態から判定する場合は、まず、棒立ち状態か、走り状態か、ジャンプ中かを判定して、
その中で攻撃ボタンが押されてるかチェック。
ボタンから判定する場合は、まず、攻撃ボタンが押されてるかどうかを判定してから、
その中でキャラの状態をチェック。
どっちがいい?
俺今それで悩んでるわw
基本的にゲームの状態ごとにファイル GameLogicInXXX を作って、状態ごとに何をするのか記述してたんだけど(アクションならそれで良いだろう)、
武器屋でアイテムを購入する時カーソルが武器屋にあってるか、キャラにあってるかで動作を変えたい(Buy/Sell)が、状態は一緒なのでどうしたものか。
状態は増やしたくないが、動作は変えたい
>>869 ボタン入力があったらフラグを立てて返すだけだし
状態ってのはフラグ立ってるし
処理するとしたら同時にやる事以外なくて
悩む必要すらないんだけど?
毎スキャン判断するか否かと言えばそうでもあるし
毎スキャン判断しながら、処理が分岐されていく瞬間はボタン入力の瞬間だし
まぁ言葉で言っても伝わらんだろうね・・・
ボタン入力処理がイベントドリブンで実行されるようなケースに備えるとか
873 :
870:2015/01/12(月) 11:18:57.51 ID:bBlSgM6z
http://i.imgur.com/FNgWHji.png こういう風に上下にパネルが2つあるときに、フォーカス(?)が上にあるときは上のパネルを操作して、
下のパネルにある時は下のパネルを操作したいのですが、どう実装するのが良いですか
有限状態マシンはありますがゲームそのものの制御に使いたいのでここで状態は増やしたくないです
ようはキー入力を一時的に無効化/有効化したいのですが、ゲームエンジンにそういう「キー入力を一時無効化」する処理というかインターフェースを実装するべきなのか・・・
何に悩んでるのか不明
まさにカーソルがパネル上にあるかないか判別すりゃいいだけじゃん
>>873 >ようはキー入力を一時的に無効化/有効化したいのですが、ゲームエンジンにそういう「キー入力を一時無効化」する処理というかインターフェースを実装するべきなのか・・・
キー入力を無効化…って、つまり各パネルがキー入力を個別で受け取る実装にしちゃってるってことだよな
そうではなくて、この画面全体でキー入力を受け取る場所は1つにして
各パネルに「カーソル動かしてね」って指示する形にすんだよ
すまないマウスカーソルはないんだ
今のところ全オブジェクト全キー入力を OnKeypressed () で受け付ける
GameObject毎にキー入力をON/OFFできる仕組みを実装するしかないと思うんだけど、
UnityもCocos2Dでもそういうプロパティを見た記憶がないので、
間違えた方向に向かって頑張ろうとしているようで不安
カーソル無いならフォーカスは誰の支持だよ?
プレイヤーだろ
それでフォーカスonoff切り替えてそれ使え
878 :
870:2015/01/12(月) 12:34:57.12 ID:bBlSgM6z
間違えなくそれで動作するはずですが
それって結局 GameLogicInXXX みたいなキー入力を受け付けるファイルがあって
内部状態としてどのパネルにフォーカスがあるかを管理していて、
キー入力に応じて適切なパネルを選択して適切な関数を呼ぶんですよね
どうもやりたい事に対して実装がスマートじゃない気がします
欲しいのは「パネルにフォーカスがあるかどうか」で、これをゲーム中で表現するスマートな方法が思いつかないというか、何というか
>>871 フラグってのが何を指してるか知らないけど、
キャラの状態を指すなら既に立ってるフラグに合わせて新たに立てるフラグを変える場合に条件分岐が必要だし、
キー入力のことを指すならそのフラグをキャラの状態によって変える条件分岐が必要だし。
ゲームのコーディングしたことあれば分かると思うが。
>>878 パネルを持っているのはウィンドウだからウィンドウクラスを定義するのは当たり前。
>>878 GameObject毎に入力受け付けるかどうかon/offするとして、それは一番スマートからほど遠いぞ
882 :
870:2015/01/13(火) 11:16:04.91 ID:ItHN1w7Z
いろいろ試して、
Node.Focus を定義(falseの時はキーを受け付けない)
パネル類に共通のIPanel インターフェースを定義してこれを実装
これですっきりきれいに書けました!
パネル同士のやり取りをIPanelインタフェースに限定したところがもっとも重要な工夫で
GameObject間の通信手段としてインターフェースを使うのがもっとも理にかなっている
世界一美しいコードだと思います
ぷっ
884 :
デフォルトの名無しさん:2015/01/13(火) 14:40:59.85 ID:pas8gM9m
何か知らんけどWindowsのウィンドウの管理方法を参考にすればいいんじゃないのか
Google Play Game Servicesを使って
ゲームの進行状況をクラウドにセーブしてみようと思ったけど
これ開発者登録してないと使えないんかい
iOSアプリより全然マシだろ
887 :
デフォルトの名無しさん:2015/01/14(水) 01:16:13.26 ID:zEHlo924
これからずっとiOS向けゲームを作って公開していこうと思ったら、毎年約1万ずつ払い続けなければならない。
つまりお前が今20歳前後で90歳くらいまで開発して公開し続けていこうと思ったら、生涯で70万近くアップルに払わなくてはいけない。
本気でやってるなら大したことないな
PCでもandroidでも先にできてから登録すればいいよ
多分登録することはないと思うけど
そもそも手数料の方がよっぽどキツイっての
机上の空論しかないなここ
組まないくせに語りたがるヤツが増えてる感じはあるな
他のスレでもそうだけど、自分で手を動かす奴はここで質問したりしないし、わざわざ日記書きに来ることもない。
自分で実装してるけど分からないところは遠慮無く質問してるけど
>>889 >>887はハードのこと忘れてる。長くても5年に一度は買い換えが必要だから
そのたびに5万以上かかる。快適に開発したければもっとお金が必要だなw
896 :
デフォルトの名無しさん:2015/01/18(日) 19:21:14.90 ID:hfSeR5P7
先行入力とディレイの処理のやり方について教えてください
前の動作終了時より±800ms以内に特定のボタンが押されていた場合、
そこからつながる次の動作をさせたいです
ディレイは一般用語じゃないかもしれないので説明しておきます(P=パンチボタン)
例えば、PPと連続入力した場合、2番目のPがただのパンチではなくアッパーに変化するとします、つまりPPだと、パンチ→アッパーの順に出ます
先行入力は、最初のパンチの動作が終わるまでに次のPを押した場合に、PPと認識されて、最初のパンチの動作が終わり次第アッパーが出ます
ディレイは最初のパンチの動作が終わってからも短い時間内であれば次のPを入力した時点で、PPと認識されアッパーが出ます
当然、ディレイとして認識される時間を過ぎてから入力してもただのパンチになります
>>896 ボタン入力の履歴を持っておいて、過去の入力パターンを調べればいいのでは。
例えば1/60秒置きの割り込みで、ボタン状態を大きさ60個のキューに入れれば
過去1秒間の履歴がわかる
あと、ボタン入力とアクションは別のはずだけど、質問内容ではごっちゃにしてる気がする
動作開始から動作終了後800msまで保持するオフディレイタイマー回路を作り
その間に、ボタンがoffからonになる立ち上がりだけを検出したら、フラグを立てておく
動作が終わったらそのフラグを見て分岐させればよい
ボタン入力の履歴は60個持ってても処理するのが無駄
>>897-898 ありがとうございます
ごっちゃになってる気がしますがとりあえず書いてみます
896 の仕様で全部ならステートマシンにすべきだと思う。
アッパー受付状態とパンチ受付状態があり、どちらか片方だけの状態を取る。
896 の仕様で全部なら、ステートマシンの状態を示す変数がタイマーになっただけで、898 は同じことをやっている。
履歴を使うのはコマンド体系によるが、複雑なコマンド群ならば履歴からパターンマッチするのが簡単だろう。特にスト2のように余計な入力があっても構わないようなものは。
余計な入力が全部先行入力になるものは、DFA(決定性有限オートマトン)で素直に表現できる。エクセルとかで、どの状態の時に何を押すとどの技が出てどの状態に移行する、というような管理ができる。
どちらかにしてもいいし、組み合わせてもいいが、それはコマンド入力システムの仕様をどうするかの問題なので、ゲームシステムを先に煮詰めた方がいいかもね。
習作ならとりあえず履歴にしといた方が、作り直しで全部捨てる時に簡単だよ。
901 :
デフォルトの名無しさん:2015/01/21(水) 01:52:52.20 ID:sfoj83Np
2Dでシェーダ使わずに光学迷彩ってどうやんの?
スーファミにはシェーダなんかなかったと思うが
902 :
デフォルトの名無しさん:2015/01/21(水) 05:57:24.19 ID:sfoj83Np
ボスの形に背景を切り抜きつつ、切り抜いた背景をラスター…かなあ
俺がやるなら
マスク色と別な、透明色で描いた輪郭キャラ絵にして
輪郭と被ったとこだけ背景画を拡大させて重ね合わせ処理
特定背景部分にしか移動しないパターンじゃね?w
輪郭の細部は誤魔化してるだろうけど矩形…ではないかも
キャラのマスクパターンと背景とでANDとってラスタ処理したものと
キャラのマスクパターンと背景とでXORとったものをORして表示
アルファブレンディングって用語がこの時代にあったのか知らんけど、それでしょ。
はっ?
ひっ?
ふっ?
へえっ?
てす
まんこ
超余裕www
918 :
デフォルトの名無しさん:2015/01/23(金) 07:17:28.09 ID:BAE6sqOf
俺の作ってるゲームのハイパーマルチリニアエクセレントアルティメットAIが最低でも200msかかるから見た目がカクカクになる
ぶっちゃけAIは5秒に1回程度動けば事足りるんだが、こういうときマルチスレッド使えばいいの?
YES, 言語によってはコルーチン
920 :
デフォルトの名無しさん:2015/01/23(金) 15:05:56.77 ID:BAE6sqOf
>>918 rand()%3==0はそんなに時間かからないよ
ハイパーマルチリニアエクセレントアルティメットAIって2秒くらいかかるだろ
どんだけ早口なんだ
経験値とレベルアップの関係って調整が面倒なんだけど、プログラムで機械的に最適なの出せないかね
>>923 「経験値 レベル グラフ」で画像検索すれば多くは対数的なカーブになるみたい
何をもって最適だといえるのかが正確にわかるなら可能なんじゃないの
>>924 その検索方法は思い付かなかった
ということは対数的な式をベースに何かやったらいけるのかもしれないな
>>925 最適って部分には自分で調整できる要素が入ってくる
例えばの話だが、RPGであるボスに挑む時点での推奨レベルが20だとする
その地域に入るときの推奨レベルが15だとすると、その地域に入ってから雑魚戦1回や2回で15から20レベルに一気に上がったら面白くないわけだ
そこでレベル上がるまでに雑魚戦をさせたい希望回数を引数にしてやると、
各モンスターの出現率や強さから最適な値が出てくるみたいな
問題は12レベルとか早めに地域に入ってきた奴はレベルが上がりやすいのが当たり前としても、
やっぱり雑魚戦1回や2回で15レベルまで上がると面白くないのと、
逆に20レベル越えて居座り続けたときにそれでも同じペースでレベルが上がり続けると困ること
微小区間なら上述の調整は手作業でも簡単だが、ゲームを通した全区間について手作業で調整するのはきつい
逆に最近のMMORPGは区間ごとに経験値をかなり変えてあるから、
区間ごとにレベルがガチガチに固定されてるも同然で面白くない
職業による攻撃力など各ステータスへのパラメータの振り分け、
所持アイテムなどでも変わってくるから簡単ではないね
それでもレベルはシナリオ進行度上のベースとなるわけだ
自分は心配性だから区間の限界まで上げちゃうけど
友達はいかに低いレベルで中ボスを倒すかが快感だって言ってたなあ
昔のファルコムのゲームとかはシナリオこなすと自然に適正レベルに上がってて
シナリオに没入できたな
プレイする人によって幅があるのも良いとおもう
こういうのってモデル化とか数式化の良い研究テーマになりそう
930 :
デフォルトの名無しさん:2015/01/25(日) 02:03:37.58 ID:VpFOUggA
>>927 そこは期待値や開発者の希望値を計算に使えばいいと思う。
レベル低くて突破したい奴とか楽に突破したい奴らは頑張ってその期待値を超えるようにすればいい。
931 :
デフォルトの名無しさん:2015/01/25(日) 02:07:26.71 ID:VpFOUggA
昔やったRPGはひたすら命中率を上げないといけないところを攻撃や防御を上げてて辛かったw
命中率をひたすら上げろってのは攻略サイト見て初めて知ったよ。
予備知識なしでRPGやってひたすら命中率上げる奴とかいないだろw
なんだあれw
Wizardryでは、1,000,1,300,1,700,
など、レベルアップに必要な経験値が、
よく知らないが、1.3倍?ずつ増えていく
レベル13以上は一定になる
戦士は13万点、忍者は20万点など、
強い職業ほどレベルが上がりにくい
最後の方になると、倒すと12万点(1人当たり2万点)ぐらい、
もらえる敵が登場する
経験値カーブが対数だろうが直線だろうが
単に獲得経験値に(敵レベル−自レベル)×αの加減すればいいだけ
ドラクエ1は最後のほうずっと「次まで4000」だな。
実はこれ気持ちいい。
終盤のレベル上げがどんどんラクになるというデザイン。
あまりにきっちりやりすぎると、レベルアップが無機質になるから、それもいやだな。
要所に死ぬか死なないかギリギリぐらいのヤマがあった方がいいのかな?
序盤ならそういうのもやりやすいだろうけど
実際は数値いじりじゃなくてシナリオで縛りをつけるとかするほうが楽なんじゃね
メンバー離脱、回復不可、呪い、装備を一時的に没収 みたいな
な〜やそれ(パロディウス)みたいののが絶妙に素敵
パロディウスをWindowsでやりたいな‥作ってくれ全力で買うから
自分で作れ
DQ2のFC版はその辺の進行狂ってんだよな確か
本来入ってるハズのダンジョンか何かを1つ削ったのか知らんが
突然敵が強くなるタイミングがある
昔このスレかどこかで見かけた気がするけど、
過去ログ漁っても出てこないから似たような質問。
アクションゲームで、ボタンの押す長さによってジャンプする高さを変える方法を教えてください。
下向きの加速度を増やすのでもなく、どうするんでしたっけ。
上昇途中でボタンを放した場合に上方向の速度を減らす
ボタン押してから一定時間は初速と同じ速度でジャンプ
一定時間を越えたらボタンを押していようが離そうが、そこから放物線運動
一定時間以内にボタンを離したら、その時点から放物線運動
どういたしまして
意外と、マリオのジャンプは移動方向についても考えなきゃうまくいかないと思ってる。
あのフンワリとした感じは鉛直方向の工夫だけで解決しないと思う。
空中でブレーキかかるとこが大事。
>>947 宮本とE野の対談で、最後まで押しているときと途中で離すときで
軌跡が違うようだというE野の問いに、ボタンを離したときに
ちょっと加速度を足してやってる、と宮本が答えてた。
単におしっぱより、いいタイミングで離すと飛距離が延びるのが
あの動きのポイントなんだろうね
949 :
デフォルトの名無しさん:2015/01/28(水) 14:53:56.16 ID:CIrVF5JQ
マリオのジャンプは苦手だな
ロックマンのジャンプのほうがプレイしやすい
忍者くん阿修羅の章だな
>>948 あの上昇中にやっぱ移動位置変えようとしてボタン離すと
変な慣性で失敗するのはそれが原因だったのか
>>948 > 単におしっぱより、いいタイミングで離すと飛距離が延びるのが
(´・∀・`)ヘー 目からウロコなんだが
953 :
デフォルトの名無しさん:2015/01/28(水) 20:38:46.37 ID:CIrVF5JQ
DirectXのスプライトで16*16ピクセルのテクスチャ4万枚表示したら激遅になった
PC向け市販ゲーが何百万ポリゴン/秒とか言ってるからまさか4万できついとはな
テクスチャとポリゴンじゃやっぱ話が違うか
1枚のテクスチャを数百〜数万ポリゴンで共有するんだが
こっちも1枚のテクスチャを4万回描画したんだがダメだった
そんなに高性能PCじゃないけど、一応CPUは3.4GHz4コア、メモリ8GB、GTX560Ti積んでる
テクスチャはアルファあり、Zバッファ有効、バックバッファの解像度は640*480
まぁ実験的にやっただけで、4万回描画しなきゃならん状態なわけでもないからいいけど
>>956 シェーダは使ってない、未だにDirectX9使ってる
画面内に4万個全部描画した
ちょいリンク先見てみる
頂点データにしても視錐体カリングやオクルージョンカリングで全てが頂点シェーダに入るわけじゃないのに
数百万って正しいのか
Corei7、GT740M搭載のノート、WebGLで2Dのオブジェクト(32x32)をCPU側で毎フレーム動かしつつ描画するベンチマークでは32,000個ぐらいが限界
CPUのクロック周波数が可変だからか複数回やるとこれより高かったり低かったりする
ジオメトリシェーダーは無いので、頂点バッファに沢山の矩形を詰め込んで描画する方式
インスタンシングも使わず、頂点の移動・回転・拡大縮小をCPU側かつシングルスレッドで行っているのでそこを変えられればもっと速くなるはず
2DだからZバッファは無し
ノートのローエンドGPUで3万個超えても何とか60fps維持できるだから
>>957のPCなら4万行けるんじゃないのか
PCだとフィルレート限界等に達する前にCPUとGPUの同期がボトルネックになっている感
自分のプログラムではglDrawElementsを出来るだけ少ない回数にまとめる事でボトルネックを少なくしている
D3DだとDrawIndexedPrimitiveか
WebGLだとハードウェア頂点バッファを使わずに描画するのは不可能(多分)
なので使っている
他にそんな特別な事はしていない
攻撃がちょっとかすっただけで10HITとか20HITとかいく
962 :
デフォルトの名無しさん:2015/02/09(月) 13:40:33.74 ID:C6KbaMjY
シェーダってすげーな
なんか負荷高そうなのに高速
1人の天才より10人の凡人
凡人というより常識のない天才という感じだな。
実行制御の能力は極端に少なく、メモリアドレッシングもかなり限定されているが SIMD 命令のほとんどがレイテンシ 1 で dot product が 1 clock だったりする。
教養ない凡人だとくそ汚ねえコードで生産性下がるから、教養ある凡人にしてくれ
CPUとGPUの話してるのによくわからん返しだな
確かに
968 :
デフォルトの名無しさん:2015/02/25(水) 21:52:14.29 ID:/Vc8ETxN
Mac向けゲーム作るときの鉄板ってある?
WindowsだったらとりあえずC/C++&Win32API&DirectXって感じが鉄板だけど、
Macの場合どうなの?
好きな言語+sdlとかsfmlとかじゃないの
いやC++とDirectXっつーてんだから、該当するのはObjective-CにSceneKitとかその辺じゃね
じゃあcocoaかcarbon&openglとかscenekitとかspritekitとか
マルチプラットフォームなら、GLFW & GLM & C++ って組み合わせもあり
973 :
デフォルトの名無しさん:2015/02/26(木) 06:42:36.23 ID:TYC1vclc
もう、Objective-Cは終わりって聞いた
これからは、Swiftらしい
とはいえ、APIそのものがSwift化するのはだいぶ先の話だろ
>>973 そいつのいうことはまともに取り合う必要はない。
objc も swift も、Cocoa を呼び出す Glue 言語。画像処理するのに、C++でもPythonでもライブラリが呼べればどっちでもいいってのと一緒。
objc は速度が必要な部分や、永続化などのキャストした方が楽な部分を直接 C/C++ で書けるんだから無くなるわけがない。
976 :
デフォルトの名無しさん:2015/03/10(火) 07:18:43.22 ID:KdtjYpz8
Javaでゲーム作るのって難しいな
オブジェクト指向独特のイベントが湧いて出る感が体質的に受け付けない
タップされたらonTouchだかが勝手に湧いて出たりとか
DirectInputでデバイスチェックするみたいなやり方で作らせろよ
タッチイベントを管理するクラスと、それを使うクラスに分ければ
どうにでもなると思うぞ
javaのoopというか、osのメッセージハンドリングの話だね
大抵の場合、上の人のやり方で済む罠
Javaってデリゲートみたいのなくて
イベント受け取りに使う関数名固定なんでしょ?
いちおう Java8 でラムダがサポートされたらしいが
詳しいことは知らん
フレームワークでうまく使ったやつが出てこないと意味ないかも