- 1 名前:名前は開発中のものです。 mailto:sage [2014/01/16(木) 00:00:31.27 ID:w6WW3hAo.net]
- ゲーム製作におけるC/C++全般に関するスレです。
元スレ DXライブラリ 総合スレッド その17 toro.2ch.net/test/read.cgi/gamedev/1383795645/ 前スレ C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/ C/C++ゲーム製作総合スレッド Part2 toro.2ch.net/test/read.cgi/gamedev/1351015269/ C/C++ゲーム製作総合スレッド Part3 toro.2ch.net/test/read.cgi/gamedev/1357899040/ C/C++ゲーム製作総合スレッド Part4 toro.2ch.net/test/read.cgi/gamedev/1376262450/
- 713 名前:名前は開発中のものです。 mailto:sage [2014/05/02(金) 20:54:53.01 ID:tEs8rCVt.net]
- 情報不足すぎたうえに色々酷いごめんよ
Effectは別で管理している シングルトンをやめるからどうするのが良いのかと思って聞いたんだ ダブルディスパッチで敵の当たった処理とかしているんだけど class Game { Enemy enemy[]; } class Enemy { void hit() { if( 死んだ ) { Effect::addEffect(new Effect()); } } } みたいにしててどのエフェクトを使うかはEnemy側で決めるようにしたいからこうなったんだけど GameにEffectのインスタンス持たせてEnemyにそのインスタンスの参照なりなんなり渡して if( 死んだ ) { effect->addEffect(new Effect()); } とかしても良いんだけどなんかしっくりこないんで気になったのよ >>688 そうなんだけど実際あんまり関係なかった・・・ >>689 うまい設計思いつかなかったんよね その方法手っ取り早いし良さそうです
- 714 名前:名前は開発中のものです。 mailto:sage [2014/05/02(金) 21:46:30.08 ID:Yjnja2zX.net]
- >>692
EnemyはどうしたってEffectへのポインタが欲しいわけで描画の関係からか複数存在してるとなると 初期化などでずっと持たせるのが嫌ならhitかそれ以上に位置するGameから呼ぶ関数に引数として渡すか EnemyはGameクラスのポインタ位持ってるならGameのほうにAddEffect関数もたせてEnemyはそれを呼ぶか スレッドセーフでない設計ならEffectポインタのグローバルか静的関数なGetterとSetter用意して GameオブジェクトごとにEnemy更新前にSetterでGetterの戻り値となるポインタを入れ替え…止めた方がいいな
- 715 名前:名前は開発中のものです。 mailto:sage [2014/05/02(金) 22:17:39.20 ID:DPIL44M1.net]
- 実際のコードでは、Effectクラスから派生した HitEffect とか DeadEffect とかを
Enemy内から呼んでるんだよね?
- 716 名前:名前は開発中のものです。 mailto:sage [2014/05/02(金) 22:41:54.83 ID:gb8xd1Dr.net]
- GameがEnemyを管理するんだったらEnemyに
エフェクト番号とフラグを持たせれば良いんじゃない
- 717 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 02:03:51.33 ID:aTctHTqN.net]
- >>687
そんな感じです ですがそのrendererを渡そうか悩んでます 引数ですとかなり深い(?)ところまで渡す必要があるのではないかという感じです >>690 引数で渡した方が自由が利きますね めんどくささと柔軟性のどっちをとるかみたいな感じでしょうか >>691 座標、テクスチャ、UV、色などのことを考えるとVectorかなんかだときつそうです とりあえず引数で渡す方向で作ってみたいと思います オブジェクト指向難しいです...
- 718 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 06:24:50.92 ID:aTctHTqN.net]
- ああ、文章にミスが
>>696 rendererを渡そうか× rendererをどう渡そうか○ です
- 719 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 14:23:28.87 ID:yzrAO4fX.net]
- ヒープ領域のオブジェクトを参照で引数で渡したい時ってどういう風に書けばいいの?
- 720 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 16:01:04.13 ID:ZggXQf33.net]
- 普通に参照渡しするだけだよ
- 721 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 18:27:55.89 ID:Dtrz+is9.net]
- void f(A &a);
A *a = new A(); f(*a); こんな感じゃない 参照って殆ど使った事ないからあってるかどうかわからんけど
- 722 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 19:07:15.30 ID:hZKN3J0P.net]
- 「ゲームプログラマになる前に覚えておきたい技術」
という本がオススメと言われたんですが、これ持ってる人いませんか? 役に立つ度合いとかアドバイスしてもらえたら嬉しいです
- 723 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 19:31:10.25 ID:R+meoZG6.net]
- ゲームプログラマになる前に覚えておきたい技術
01 この本はどんな本か www.shuwasystem.co.jp/gpro-sp/ これを読みましたか?
- 724 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 20:46:14.95 ID:TVFyIiNS.net]
- >>693
やっぱりそれぞれが持つしかありませんかねえ 呼び出し元をparentとかして持たせておくのって普通にやっていることなんですか? この場合だとEnemy::parentにGameへの参照か何かを持たせるとか >>694 はいそうです
- 725 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 21:38:49.30 ID:XwaCxcGs.net]
- 重いので持ち運びには向かない、かな
- 726 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 21:46:57.91 ID:XwaCxcGs.net]
- >>703
各クラスがどのエフェクトを使うのか?というのをハッキリさせておいて 必要なものだけインクルードするようにすれば、そこまで気持ち悪いことにはならないんじゃないだろうか。 たとえばEnemyクラスは、Effect::GettingItem(アイテム獲得)とかEffect::PlayerDead(プレイヤー死亡)は不要だろう。 それすら気持ち悪いと思うなら(分からんでもない)、 ObserverとかListenerとかCallbackとかその辺に頼るとかでも良いんじゃない?
- 727 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 22:35:18.25 ID:Kqu7ExT3.net]
- >>700
参照引数は「読むだけ」を意図してる場合が多いからconst付きが多いかな >>703 >呼び出し元をparentとかして持たせておくのって普通にやっていることなんですか? >この場合だとEnemy::parentにGameへの参照か何かを持たせるとか その疑問は>>674-696のやり取りと同じ話っぽいね、俺も>>704-705に同意かな。 依存関係を明示すると違和感を覚えたり気持ち悪くなるのは、大抵の場合 依存関係の認識(or分析)が大雑把。依存関係を明示するとそれが露見しちゃう。 機能分割が大雑把。依存関係を詳細に分析すると広範に絡み合ってて一体でした。 とか。Gameへの参照は、恐らく要らん情報にアクセスする権利も与えてるから 依存関係の明示というより、広範に渡る権力へのアクセス権の譲渡なのかな? 君はこの世界に神になる。俺はいいと思うけどね。というか、はなっから グローバルなサービスとして提供してしてもいいかもね。完成させてから リファクタリングしたほうがいい 個人的な短期小規模開発(作り捨て)なら別に問題ない。完成と反省のサイクルよ
- 728 名前:名前は開発中のものです。 mailto:sage [2014/05/03(土) 23:45:58.24 ID:yuGTooJm.net]
- 具体的なEnemyなんてアプリ層なんだから泥臭くていいと思うのだが。
- 729 名前:名前は開発中のものです。 mailto:sage [2014/05/04(日) 00:03:34.32 ID:4VZ37tn9.net]
- すまん、>704はセガ本が物理的に重いって話のつもりだったんだ
- 730 名前:名前は開発中のものです。 mailto:sage [2014/05/04(日) 00:09:25.10 ID:LNtKUxSS.net]
- まあ大概のゲームプログラミング本は重いよね
電子版あるならそっちの方が捗りそうだ
- 731 名前:名前は開発中のものです。 mailto:sage [2014/05/04(日) 07:21:43.07 ID:r1PwGAIh.net]
- 描画クラスを作って描画用のインターフェイスを作る
描画されるクラスはインターフェイスを実装 描画クラスはそのインターフェイスをリスト管理し順番に描画 ゲームクラスはデータクラスと描画クラスを管理し 必要に応じてデータクラスを作り、描画クラスに登録 ゲームクラスが当たり判定をして、エフェクトクラスをnew、描画クラスに登録 て感じじゃ駄目なの
- 732 名前:名前は開発中のものです。 [2014/05/04(日) 18:09:40.60 ID:Oce/sxqq.net]
- >>701
サンプルプログラムの修正版があるからそれ見て決めたら? ちなみに独自のライブラリを使ってる
- 733 名前:名前は開発中のものです。 mailto:sage [2014/05/04(日) 21:44:57.67 ID:o3zvQF1I.net]
- もし、新幹線できたらな
飛行機乗客が減り、飛行場が苦労する バス乗客が減り、高速道路が苦労する 結果的に、四国地方の経営破たん
- 734 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 09:11:34.47 ID:WKSS3LlW.net]
- ポインタに構造体を持たせる場合ってきちんとスマートポインタを使った方がいいの?
- 735 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 10:42:16.25 ID:2Ki+N293.net]
- >>711
独自ライブラリですかー・・・ ありがとう。ちょっとどっかで立ち読み出来るまでは買い控えます。
- 736 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 14:47:05.12 ID:D61HzG9l.net]
- >>713
本来スマートポインタはラクをするために使う。あとは好きにしろ あと言語の使い方一般についての質問はプログラム板のほうがいい 【初心者歓迎】C/C++室 Ver.90【環境依存OK】 toro.2ch.net/test/read.cgi/tech/1395675954/ はい、次の方どうぞ
- 737 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 15:47:49.53 ID:C6PkJkWu.net]
- そのスレ、ちょっと見たけど罵りばっかじゃないかw
- 738 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:22:09.99 ID:tFTEVnQV.net]
- x64の64bitビルドでのループ変数とかメンバ変数てint,unsigned intとsize_tどっちが最適なの?
DirectXのAPIが32bit幅なのにSTLは64bitみたいに混在してて決め打ちしにくいんだけど インデックスとして毎回32bitを64bit拡張と変数を32bitにstatic_castと タイプ量はともかく実行時に効率いいほうにしたい
- 739 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:27:40.04 ID:D61HzG9l.net]
- >>716
報告しなくていい。そういう感想は彼らに直に言ってあげな。陰口より建設的だろ はい、次の方どうぞ
- 740 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:28:53.69 ID:D61HzG9l.net]
- >>717
かぶったすまん
- 741 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 16:44:38.90 ID:C6PkJkWu.net]
- >>718
そんな非建設的な事実上機能していないスレに誘導してどうするんだって事だよ。 はい、次の方どうぞ。
- 742 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 17:21:27.34 ID:D61HzG9l.net]
- >>717
例えばループ変数については普通にint使ってるな 参考までに、科学計算系のライブラリでもそんな感じだったと思うよ 計算速度云々が問題になる場合、気にかける場所はもっと別の所かと
- 743 名前:名前は開発中のものです。 mailto:sage [2014/05/06(火) 20:22:43.10 ID:HhBjBQsT.net]
- 32bit環境でもint iをbyte iとかshort iにはしない
あとむやみにunsignedにするとsignedにunsigned加算して警告でたり面倒のもと
- 744 名前:名前は開発中のものです。 mailto:sage [2014/05/08(木) 22:05:56.40 ID:Np2Vdwsy.net]
- ローカル変数がautoばかりになってしまうんだけど意図的な型だけ除外しておけば問題ないよね?
constもメンバ関数含めて相当あるけど
- 745 名前:名前は開発中のものです。 mailto:sage [2014/05/08(木) 22:48:55.29 ID:v1IR+nQC.net]
- 人間がソースコードを読んだときに
「型が明らかである場合か、あるいは逆に全く意識してほしくない場合にのみ使う……とかにしておけば?
- 746 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 09:00:26.26 ID:3cnn0QfE.net]
- ローカル変数にauto使うメリットってある?
イテレータの型書くの面倒くさい、位しか思いつかない
- 747 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 09:04:31.69 ID:7ikJMhxE.net]
- 十分じゃないか
- 748 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 13:56:58.03 ID:Kaaj65V1.net]
- 型推論って引数に使ったら勝手にオーバーロードしてくれるんだと思ってたんだが、引数とか戻り値には使えないんだな
iteratorの記述を省略するための機能か
- 749 名前:名前は開発中のものです。 mailto:sage [2014/05/09(金) 17:15:23.11 ID:htXiJh1L.net]
- そういう用途にはテンプレート関数があるしね
- 750 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 00:22:59.13 ID:6TirXj8H.net]
- >>725
個人的にはイテレータを簡単に書けるメリットが一番大きいと思ってるが それ以外で使うとしたら auto f = new Foo(); //Foo型なのは明らか とか //交換 auto tmp = a; //型は明らかではないが意識する必要がない a = b; b = tmp; とかかなあ。 後者は素直にtemplate関数にでも投げたほうが良さそうだけどね
- 751 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 10:54:20.51 ID:dAeX94+O.net]
- 配列に入ってる複数の要素のうちの一つをポインタに持たせる場合って、スタックのアドレスをポインタに持たせても大丈夫?
- 752 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 11:11:37.14 ID:hKETio2L.net]
- >>730
「スタックのアドレス」を「スタック上におかれた配列の要素を指すアドレス」と解釈したけど ttp://ideone.com/yad3h1 その配列が生きている間は問題ない
- 753 名前:名前は開発中のものです。 mailto:sage [2014/05/10(土) 22:40:27.91 ID:+R2ltZ7t.net]
- const T& f();
void g() { auto t= f(); } ってすると t は const T& 型になると思ってたけど 実はただの T 型でコピーコンストラクタでひどいことになったことあります
- 754 名前:名前は開発中のものです。 [2014/05/11(日) 18:46:58.77 ID:8qR2WxrE.net]
- #include "define/MoneyType.h"
int money[MoneyType.SIZE]; こういう宣言の仕方って出来ないの? MoneyTypeはenumで enum MoneyType { GOLD, DIA, SIZE };
- 755 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 19:38:27.89 ID:3XauxJKc.net]
- enumはC++11で整数としてあつかえなくなったってwikiに書いてあった気がする
っていうかその使い方わかりにくいしやめた方が
- 756 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 19:44:07.91 ID:3XauxJKc.net]
- 訂正
static_castでキャストすればいけるっぽい
- 757 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 19:59:02.14 ID:yHWGVGOF.net]
- GOLD,DIA,SIZEって何かと思ったけど、もしかしてお金の単位なのかな?
- 758 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:01:42.40 ID:KSscCZAl.net]
- MoneyType::SIZEかな?
ただこれだと再定義のエラーが前出たような気がする
- 759 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:04:03.89 ID:9RoLwWBR.net]
- >>733
enum class MoneyType:int { GOLD, DIA, SIZE }; int money[ MoneyType::Size ];
- 760 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:06:37.47 ID:KSscCZAl.net]
- 適当に書いちゃったけど何をしようとしてるのかいまいち理解出来ないw
- 761 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:14:58.11 ID:9RoLwWBR.net]
- enumの要素数を静的に得たいんでしょ
将来お金の種類増えるかもしれないとか 配列使うぐらいならvectorにしとけとも思うが
- 762 名前:名前は開発中のものです。 mailto:sage [2014/05/11(日) 21:51:52.47 ID:3XauxJKc.net]
- 構造体じゃいかんのか
- 763 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 00:24:54.73 ID:cE27KFFY.net]
- 実際に使うの想像してこうなった。
例えば複数の種類のお金で買えるショップ機能を作りたい場合、 ショップ側でMoneyTypeという型と整数を持っておけば、処理が楽かなと思ったんだけど
- 764 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 01:09:04.70 ID:u2hQW3ha.net]
- つまり>740が正解っぽい?
- 765 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 14:46:27.12 ID:Pch/P8kY.net]
- ゲームで何時でも何処でも参照、代入できるデータって一般的にどうやって管理してます?
(例えば主人公のデータとか色々な場面で使いそうなもの) 今まで単純にデータクラスの中に静的メンバ変数で定義してグローバル的にやってたけど、 たまたまシングルトンで管理してるソースを見つけて、色々あるのかなって思った
- 766 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 18:22:11.56 ID:cE27KFFY.net]
- シングルトンは嫌だからゲームマネージャークラス作ってそこにプレイヤーデータのポインタ持たせたりしてるけど、どうなんだろう??
- 767 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 18:22:35.24 ID:gXmiaEA2.net]
- 3Dゲームでカメラを遅らせて動かす場合って角度を線形補間してベクトルにしてる?
それともクォータニオンで球面線形補間してる?
- 768 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 20:18:49.99 ID:u2hQW3ha.net]
- >>745
グローバル変数は可能な限り減らす、という理念の上でやってるなら、 それは実に正しい手法だと思うよ
- 769 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 22:53:45.27 ID:Qk7dokdu.net]
- グローバル変数使いまくりの俺だが、グローバル変数は使わない方がいいと言われて
その方向でプログラム書き直したところ、手間の物凄く増えて辟易。 やり方を間違ってるんじゃないか感が半端ない。
- 770 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 23:01:55.91 ID:Qk7dokdu.net]
- あるプログラム本に「JAVAなんかは誰が組んでも似たようなものになるが、
C++プログラムは人によってまるで違ってくる」とあったが本当みたいね。 本や解説サイトによって、サンプルがかなり違ってるようで混乱しまくるわ。
- 771 名前:名前は開発中のものです。 mailto:sage [2014/05/12(月) 23:39:44.01 ID:4H1ieXj2.net]
- グローバル変数どうのこうのは保険をかけるためのもので手間を減らすものではないから仕方ないね
- 772 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 06:24:12.16 ID:hs5B6JyN.net]
- グローバル変数使わずにやろうとすると関数の引数が複雑になりがちだからな
一人で作ってるコンパクトなプログラムくらいだったら使いまくりでいいと思うわ
- 773 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 10:40:34.58 ID:lZBhyb5G.net]
- グローバル変数は初期化の順序が問題になる
複数のソースコードのあちこちに点在してるとそれが顕著になり グローバル変数がクラスで依存関係があると動作保証が難しい せめて組み込み型以外はポインタ型にして初期化の順序を決めちゃうのが安全
- 774 名前:名前は開発中のものです。 [2014/05/13(火) 11:22:50.82 ID:i7OBK+99.net]
- >>738
'MoneyType' is not a class or namespace ってでる visualstudio2010だと出来たと思うんだけど、 Eclipse4.3だと出来ない C++のバージョンによってなんか変わったのかな
- 775 名前:名前は開発中のものです。 mailto:sage
[]
- [ここ壊れてます]
- 776 名前: mailto:2014/05/13(火) 12:15:46.52 ID:D4assd32.net [ >>753
enum classはC++/CLIだからだろ Cにそんな構文はない 俺はC++には詳しくないけど実はあるのかな ] - [ここ壊れてます]
- 777 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 13:16:16.22 ID:LR5OHySp.net]
- C++11から入った構文
- 778 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 22:03:52.41 ID:VqkITLrD.net]
- グローバル変数はこう書けば良いんじゃね
使うところでだけglobal.hをインクルードしてさ grobal.cpp int a; groubal.h #ifndef _GLOBAL_H_ #define _GLOBAL_H_ extern int a; #endif
- 779 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:05:24.12 ID:RPOQlcBK.net]
- >>756
わざわざ識別子を _ で始めるなんて沸いてるんじゃない?
- 780 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:15:35.87 ID:dsNPksM9.net]
- 是非はともかく、よく見かけるけどな
- 781 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:46:55.80 ID:VqkITLrD.net]
- >>757
じゃあなんて書くんだ?
- 782 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:51:06.96 ID:dD8wYEBQ.net]
- アンダーバー始まりは処理系予約とかじゃ無かったっけ
慣習的に
- 783 名前:名前は開発中のものです。 mailto:sage [2014/05/13(火) 23:59:25.01 ID:VqkITLrD.net]
- >>760
まじかよ 学校でこう習ったよ 何でそんな書き方教えるんだよ まぁ開発はVSだから#pragma onceしか書かないから知らんかっただけっすけどね・・・
- 784 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 00:50:31.19 ID:qOCHvgWh.net]
- >>756
つ>>663 ついでにnamespaceにぶち込んでもいいのよ
- 785 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 00:53:50.93 ID:qOCHvgWh.net]
- >>761
gccでもいつの間にかpragma once使えたりするんだよな あれ、サッサと標準仕様に盛り込めばいいのになと思うよ
- 786 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 01:34:53.87 ID:Bv7wzu+p.net]
- だいたいのコンパイラが対応してるみたいだしデファクトスタンダードってところ
- 787 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 02:44:20.77 ID:SkdpMvQe.net]
- 効率的には#pragma onceの方がいいと聞いたことはあるが
IDEによるかもしれん
- 788 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 03:12:47.17 ID:YePF79fh.net]
- 単純なi nclde guard は力技の処理だけど
pragma once は処理系次第で最適化されてるからね。 複数のプラットフォームを想定するなら 安全策をとって両方記述するのがオススメ。 pragma once があれば効率的に処理してくれるかもしれないし、 もしpragma once を理解できない処理系でも inlude guardは必ず処理してくれるからね。
- 789 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 10:10:49.06 ID:2wCAVOdx.net]
- >>766
両方記述?寝言は寝て言えw
- 790 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 10:25:37.80 ID:vvdSHZVH.net]
- VC++に#pragma onceが入ってすぐの頃は
自動生成したヘッダには#pragma onceと#ifndef-define-endifが コンパイラバージョンによって自動で切り替わるように書かれてたと記憶している その辺から考えても、両方書くのは無駄じゃない
- 791 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 12:46:41.03 ID:1doe1mvx.net]
- std::mapにenumとかstructを使いたいんだけど
template argument 4 is invalidっていうエラーが出ます 具体的には map<アイテムID(enum型),アイテムパラメータ(struct型)> aaaaa; って感じです。 パラメータっていうのはその名の通りアイテムを装備するとstructのメンバの addHPとかaddMPっていう変数の分だけ上昇する感じで、 使い方はプレイヤーはアイテムIDだけ持っておけば、あとは必要な時々で値だけ取得できるかなという感じです。
- 792 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 13:13:18.32 ID:CAIv9eLR.net]
- enum itemID{ID1=0, ID2, ID3, ID4};
struct itemParam{int p1; int p2;}; itemParam param; map<itemID, itemParam> m; m.insert(make_pair(itemID::ID1, param)); こんな感じで動かない?
- 793 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 13:15:39.85 ID:Ocn3g8OS.net]
- >>769
比較関数がないって怒られてるんじゃね 一つ目の型を enum型じゃなくて int に変更するわけにはいかないの?
- 794 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 14:08:33.50 ID:Ke2wFa7k.net]
- そもそもそれmapにする意味あるのか?
>>733みたいな感じで配列で十分な気がするんだけど
- 795 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 15:29:04.69 ID:Ocn3g8OS.net]
- map だと必要な分だけ使えるじゃん
0〜 イベントアイテム 10000〜 武器 20000〜 鎧 みたいに
- 796 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 16:29:43.89 ID:YPHrxvGY.net]
- enum使うなら10000から武器みたいな区分けがそもそも必要ないと思うんだけど
- 797 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 21:01:01.54 ID:qOCHvgWh.net]
- >>769
それ、>>770で動きますよ >>772-774 仮に、実行時に追加削除更新等なし、静的、参照専用、の情報の集合 という前提条件であればstd::map(赤黒木)を使う合理性はあまりないかな >>773のようにキー番号が連続してないのでれば、ハッシュマップの類の ほうが向いてますね research.preferred.jp/2011/07/stllike-containers/ 補足:記事中のLoki::Assoc
- 798 名前:Vectorとほぼ同じものとしてboost::flat_map
もあります。でも、>>774の言う通り、結局vectorでおkにもできますね ま、完成しない(動かない)事に比べればどれ選んでも瑣末な違いなので (特に昨今のPCなら)好きなの選べばいいかと思います。身も蓋もないね [] - [ここ壊れてます]
- 799 名前:名前は開発中のものです。 mailto:sage [2014/05/14(水) 23:37:56.68 ID:XQ3tGmyB.net]
- >>770
enumの最初を0と明示するだけで変わるんです?
- 800 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 13:17:04.58 ID:vi3A9MFw.net]
- 変わらないですよ。試せばすぐ分かりますけど、ム板のスレに誘導されたいです?
- 801 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 17:35:02.68 ID:CM4Haxt/.net]
- 普通に動くよね
コンパイラのバージョンとかで古いのだと駄目なのかな
- 802 名前:名前は開発中のものです。 mailto:sage [2014/05/15(木) 19:15:22.94 ID:D0s76qwM.net]
- 実は全然違うところでエラー出てるんじゃないの
- 803 名前:名前は開発中のものです。 mailto:sage [2014/05/16(金) 15:57:03.11 ID:RLWXI/UA.net]
- ナビメッシュのやり方が書いてある本とかサイトとかってある?
- 804 名前:名前は開発中のものです。 mailto:sage [2014/05/16(金) 23:45:36.07 ID:bSd/X954.net]
- > とかってある?
ありますよ navigation mesh pathfinding algorithm game waypoint graph search など適当なキーワードでググるといいです。動画によるアルゴリズムの 解説も出てきますね。書籍ならAI Game Programming Wisdom 4 が 個人的にオススメです
- 805 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 09:32:46.40 ID:a+6vW56R.net]
- そういうのって概要だけ聞いて自分で考えて作った方が早くない?
サンプルコードみても理解するのに時間がかかるわ
- 806 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 10:01:46.81 ID:ATk/Gp35.net]
- ゲームプログラミング本といえばGameProgrammingGemsシリーズなんだかな
最近の若者は読まないのか
- 807 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 11:06:25.43 ID:7UqYAydx.net]
- 現代の技術の世界において
英語が読めないのは脳が半分無いのと同じ。 それだけのこと。
- 808 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 12:01:48.26 ID:G1g9tldj.net]
- 翻訳したやつ読めば
- 809 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 12:34:45.87 ID:/WeYTHrm.net]
- 英語読めてもソースコード読めなかったりするし
プログラムは勉強したところでコード書けないのが大半らしいな 元々作文が下手とかそういう次元ではなく理解できないとか
- 810 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 12:40:03.20 ID:o9p3b0z7.net]
- そもそも日本語で書いてあるプログラム解説書だって意味わかんないよw
- 811 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 13:44:47.33 ID:7UqYAydx.net]
- >>785
半年遅れで付いていく人間は残念ながら奴隷で終わるよw 英語ができて最先端に追従する奴、ときには自分が最先端を発信する奴に 「あ、こいつバカだなww」と思われながら生きる惨めな三流人生が待っている。 それで良ければ英語なんて学ぶ必要はない。 まぁ、普通は(普通の知性の持ち主は、という意味) 修士課程で英語の論文を死ぬほど読んで 「喋れないけど読める」という妙な英語力を身につけられるんだけどねw
- 812 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 14:19:53.26 ID:ZLhv9Phh.net]
- 相変わらず病んでますね
- 813 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 14:53:46.32 ID:k3uAdR/A.net]
- とりあえずナビメッシュのやり方教えて
- 814 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 17:55:58.84 ID:ZLhv9Phh.net]
- 780の人ですか?
具体的に何をやってみてどこでつまずいてるのか話せば答えやすくなるかと
- 815 名前:名前は開発中のものです。 mailto:sage [2014/05/17(土) 18:02:04.88 ID:G1g9tldj.net]
- www.lameije.co.jp/navigationmesh.html
これじゃあかんのか
- 816 名前:名前は開発中のものです。 mailto:sage [2014/05/18(日) 17:48:20.69 ID:bAjzsQ9M.net]
- オクツリーに障害物を表示させたいんだけど、オクツリーのある場所がどの座標なのかを
- 817 名前:調べる方法ってある? []
- [ここ壊れてます]
- 818 名前:名前は開発中のものです。 mailto:sage [2014/05/18(日) 21:18:36.16 ID:uYYY8hgN.net]
- ボクセルのインデックスを座標のビット配列にしてインデックスからボクセルの位置を取得
marupeke296.com/COL_2D_No8_QuadTree.html これを3ビット毎にすれば出来ると思うんだがどうだろ
- 819 名前:名前は開発中のものです。 [2014/05/19(月) 04:39:02.31 ID:XNC2jE/Y.net]
- この入門?みたいなサイトで勉強してたんだけどつまづいたので分かる方いたら教えてください
bituse.info/game/shot/11 for(int i=0;i<ENEMY_NUM;++i){ enemy[i]=new ENEMY(data[i].type,data[i].stype,data[i].m_pattern,data[i].s_pattern,data[i].in_time,data[i].stop_time,data[i].shot_time,data[i].out_time,data[i].x,data[i].y,data[i].speed,data[i].hp,data[i].item); } ↑この文の enemy[i]=new ENEMYのイコールのところでオペランドと一致する演算子なんてねぇよって怒られます 原因として考えられるものってなんでしょうか? for(int i=0;i<ENEMY_NUM;++i){ enemy = new ENEMY[i](省略); } だったらいけるみたいなんですけど、違いがよくわからないです・・・
- 820 名前:名前は開発中のものです。 mailto:sage [2014/05/19(月) 05:31:35.17 ID:FdnDAUlP.net]
- enemyの型がポインタの配列になってないんじゃないの
- 821 名前:名前は開発中のものです。 mailto:sage [2014/05/19(月) 10:00:14.39 ID:hjxHIKHc.net]
- こうかな
正:ENEMY *enemy[ ENEMY_NUM ]; 誤:ENEMY *enemy; サイトを見ると省かれてるみたいだけど 敵を複数出すようにした時点で enemy を配列に変更しないといけない
- 822 名前:名前は開発中のものです。 mailto:sage [2014/05/19(月) 11:05:51.60 ID:CSMuM09V.net]
- これコンストラクタの引数なんで構造体の参照渡しじゃないのか
無駄に読みにくいわ
- 823 名前:795 mailto:sage [2014/05/19(月) 11:33:54.01 ID:XNC2jE/Y.net]
- できました。
ご指摘の通り、enemyを配列にしたら無事にコンパイルできました。 ちょっと私にはわかりにくいサイトだったようなので別のところで勉強してみます・・・
- 824 名前:795 mailto:sage [2014/05/19(月) 11:34:28.24 ID:XNC2jE/Y.net]
- お礼を忘れていました
ご指摘ありがとうございました。
- 825 名前:名前は開発中のものです。 [2014/05/23(金) 00:32:00.04 ID:61iiZtPG.net]
- おらLAMPしか知らないんだけども
C++で作ったリアルタイムなネットワークゲームのオンラインサーバって どういう環境で動いてんだべ? ソシャゲならPHPでhttpでいいかもしんねけども、 ネトゲって実行ファイル動かし続けてんのかね
- 826 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 00:34:30.27 ID:BlMjMm70.net]
- >>801
お前から感じるそのしったか臭は一体何なんだ?
- 827 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 01:25:45.01 ID:61iiZtPG.net]
- >>802
そんなこと言っても知りたいってのは本当なんだけど ていうかソシャゲってphpでhttp返してるって聞いたんだが違うのか ソース3種類ぐらい別のところから聞いたからそうだと信じてたけど
- 828 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 01:54:24.22 ID:W5hvE4XG.net]
- 上から目線だと>>802みたいなのが湧いて終わりw
それがネットの宿命。 和光同塵に励み、 下から目線で質問すると、 「そんなのこと知ってるよヴァカw」ってレベルの奴がトクトクと語り始める。 人生ってのは上手くいかないものだ。 やはりアドヴァイスはリアルな知り合いに、 顔を付きあわせて語り求めるのが一番良い。 ネットで集まってくるのは多くの場合クズだ。
- 829 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 04:11:24.69 ID:R2Hq6koN.net]
- >「そんなのこと知ってるよヴァカw」ってレベルの奴がトクトクと語り始める。
そうかな。 知ったかが知ってる振りをして偉そうにした挙句、何も実のあることは言わずに去るだけな気もするが。
- 830 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 06:08:22.99 ID:61iiZtPG.net]
- いや質問してるんだけど
- 831 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 08:01:15.27 ID:VwzG+tx8.net]
- 知ったかだけど
C/C++ならOSのAPIかライブラリ使ってTCPとUDP使い分けでしょ PHPでもソケット通信
- 832 名前:出来るらしいし言語はなんでもいいんじゃないの
実行効率の問題はあるだろうけど [] - [ここ壊れてます]
- 833 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 08:49:57.28 ID:UZe2P6GU.net]
- 個人のゲーム製作でC++使うメリットってあるかな?
Cの方が小回り効くし使いやすいと思うんだが
- 834 名前:名前は開発中のものです。 [2014/05/23(金) 08:57:29.89 ID:WZOW9ZIo.net]
- C++のほうがゲーム向き。
基本的にC言語の機能を全て含んでいて、追加部分を使いたくなれば使わなければいいだけ。 使って便利な機能を使うことで開発効率は上がる。
- 835 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 09:01:24.07 ID:UZe2P6GU.net]
- 多人数やチームで作るなら保守性とか高いし必要だとは思うんだけど
個人製作なら手続きが多い分無駄な気がするんだよね>C++
- 836 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 09:24:40.27 ID:J41CukcG.net]
- 複数のゲームオブジェクトが相互作用するような場合はポリモーフィズム使うと楽になる
継承して独自の部分実装すれば新しいオブジェクト作れるしメンテもしやすい
- 837 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 09:25:32.36 ID:gVP8nGPF.net]
- 準備されてるクラスライブラリが圧倒的にC++の方が便利
- 838 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 09:32:14.08 ID:mJ3PfvgI.net]
- スマートボインタとかCじゃできないしな
- 839 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 09:40:35.21 ID:61iiZtPG.net]
- 構造体でオブジェクト表現してるのか
- 840 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 10:13:18.75 ID:UZe2P6GU.net]
- 構造体でほとんど間に合うと思うんだよな。
トリッキーに何しても怒られないし。
- 841 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 10:19:18.29 ID:3Qz0nlZE.net]
- C++使ったらコードの見通し良くなって楽ってだけで、Cに慣れてるならそりゃCの方が楽
ミニゲーム程度ならどっち使っても変わらん
- 842 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 10:21:23.05 ID:u1Ct/Di+.net]
- 構造体を引数としてとる関数は文が長くなりがち
構造体に関数ポインタ入れるより仮想関数のが簡潔に書けるし分かり易い 名前空間がないと名前の衝突が起こるから冗長なプリフィクスが必要になる DirectXとかCOM周りはC++のが簡潔に書ける
- 843 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 10:35:11.17 ID:UZe2P6GU.net]
- 慣れてるせいなんだろうけど関数ポインタで簡潔に書けちゃうんだよな。
むしろ手続きや決まりごとの分C++の方が長くなっちゃうんだよ。 スマートポインタも俺からするとプログラマが解放し忘れてても勝手に解放って逆に怖いと思うんだよ。 メモリの使用状況なんかデバッグ画面かなんかで常に確認するべきだしメモリの解放は意識してやりたいなあ。
- 844 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 10:48:05.07 ID:u1Ct/Di+.net]
- 意識してスマートポインタ使うんだから開放されるタイミングは判る
気にしないのは実装部分だけ いくら自前で管理しようとも例外をsetjump/longjumpで無理やり組むしかないCには容易には出来ない安全性もある 逆にオーバーロードとかコピーが複雑なので頼ったほうが良いC++の悪さの部分でもあるが
- 845 名前:名前は開発中のものです。 [2014/05/23(金) 10:50:19.88 ID:WZOW9ZIo.net]
- 自動開放で平気だ。
かなりの言語が強制て自動開放を取り入れている。 パフォーマンスだけの問題だろう。
- 846 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 10:59:56.27 ID:UZe2P6GU.net]
- 俺がアセンブラ時代から組んでるせいなんだろうけど自動解放って怖いんだよな。
メモリの管理状況やクリアも全部自前のプリミティブな関数でやりたいと思っちゃうんだよな。 まあ気にし過ぎなのかもしれないね。 昔はCも最適化が甘くてオーバーヘッドが酷かったからどうも知らない間にメモリを触られてたりするのが信用できなくてなあ。
- 847 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:06:17.74 ID:u1Ct/Di+.net]
- スタックの自動開放も怖いのかい?寿命で消えるのは同じことだよ
アセブンブリ出力みてりゃ大したことやってないよ
- 848 名前:名前は開発中のものです。 [2014/05/23(金) 11:12:25.32 ID:WZOW9ZIo.net]
- C言語のauto変数も勝手に開放するな
- 849 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:14:29.88 ID:UZe2P6GU.net]
- ま、俺の気にし過ぎなんだろうね。
初心者が構造体のコピーとか平気で書いちゃってんの見てビックリしたりする方だからさ。 記述は簡潔だけどその一文でどのくらいオーバーヘッドかかってるかわかって書いてんのか?とか思っちゃうんだよ。 簡易なコード記述の生産性と実行速度は別なんで、その辺はなるべくコワモテでいいんじゃないかと思うんだよ。
- 850 名前:名前は開発中のものです。 [2014/05/23(金) 11:15:51.86 ID:WZOW9ZIo.net]
- CとC++の話で自動開放の話になるのがそもそもおかしいな。
C++はガベージコレクションを取り入れたわけでなく、メモリ管理についてはCと大差ないだろ。 Cでもスマートポインタ使えるだろ。
- 851 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:16:04.73 ID:wh7XodOP.net]
- ID:UZe2P6GU
わかる。deleteのタイミングって自分で管理したい。 そもそも、スマートポインタに頼ろうという発想が出る時点で、 そのソースはすでにごっちゃになってないかと問いたい。
- 852 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:25:27.68 ID:LtRYMhK0.net]
- スマポのソース見ればどうなるかきっちりわかるんだから見てみりゃいいじゃん
- 853 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:28:39.46 ID:u1Ct/Di+.net]
- >>826
好きな時にnullptrを入れて開放してもいいんだぜ スマートポインタのオブジェクトの寿命=解放のタイミング、一部がコピーで寿命が移動するだけなんだから Cでmallocしたポインタの値を見失うことがないようなプログラムの組み方ならごっちゃにならない
- 854 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:33:42.15 ID:CnVFPzVq.net]
- 関数のデストラクタとかあれば良いのにな
- 855 名前:名前は開発中のものです。 [2014/05/23(金) 11:33:43.66 ID:WZOW9ZIo.net]
- Boehm GC を使う
The Boehm-Demers-Weiser conservative garbage collector (Boehm GC) は、C言語用のメジャーなガベージコレクタ。 さまざまなソフトウェアがこのライブラリを使っている。 ガベージコレクタを使うと、メモリを好きなだけ確保するだけでよく、解放は自動的にしてくれる。 巨大なメモリを明示的に解放するような場合のほかは、メモリを解放するコードを書く必要はない。 Boehm GCは、保守的GCという方法でガベージコレクトする。定期的にメモリ内を走査し、使われていないと見られるオブジェクトのメモリを回収していく。 Boehm GC以外では、boost::shared_ptrが参照カウント方式を用いている。 www.nslabs.jp/boehmgc.rhtml
- 856 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:38:28.27 ID:Q1W0mucT.net]
- プログラマがコントロール出来ないGCは処理落ちの原因になるからやめた方がいい
- 857 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:41:53.89 ID:UZe2P6GU.net]
- >>831
同感。こういうのが嫌なんだよ。 記述上だけでスマート・簡潔に組めたつもりで実際は実行速度がグダグダになってる。
- 858 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 11:45:53.20 ID:wh7XodOP.net]
- >>827
? >>828 そもそもの動機だよ。誰がスマートポインタをなぜ欲しがるのかってこと。 既にnew/delete対応なんてスッキリハッキリ管理されてるはず。 スマートポインタが活躍する一部場面がある、というのなら限定的に使っていいと思うが、 それはそれ、それだけのこと。 あとたぶん、ID:WZOW9ZIoはもう喋らないほうがいいな。 >>831 たとえばC#でゲームつくってるとGC動かさないように気をつかったり、 GCの実装に振り回されたり、なんとも滑稽な事態に陥るw
- 859 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 12:03:37.45 ID:HE2P9lkw.net]
- >>833
標準ライブラリとかboostのソースコードにスマポのソースコードあるでしょ? それ見ればどういうタイミングで解放されるかわかるんだからきっちり自分でコントロールできる
- 860 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 12:04:27.91 ID:u1Ct/Di+.net]
- >>832
他所の実装の関数呼び出しで見た目だけ簡潔に組めたとしても、その関数が遅いかは不明だからな スマートポインタと全く違うGCは要らないけどな >>833 動機なんて解放のコードがあちこちにあるより最初に決めておいた方が楽だろ newは一個でも同じような解放コードのdeleteがあちらこちらの関数に書かれていて 分岐によりそれが実行されるかは不明よりはいいと思うので デストラクタのおかげで関数後半にfreeが消えるだけでも記述、確認の手間も省ける コストも結局開放するのなら軽いunique_ptrみたいのならCと変わらんよ shared_ptrをスマートポインタと想定して言ってるのかもしれんが スマートポインタなくてもCよりC++のが楽にはなったと思うけどな Cから移行したときは同名関数の引数違いのオーバーロードですらありがたいよ
- 861 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 12:19:19.44 ID:wh7XodOP.net]
- >>835
new/deleteの対応がおぼつかないようなコードは既に臭ってる。 俺の言いたいことはアンタには十分伝わっている気がするんで終わる。 > 引数違いのオーバーロードですらありがたいよ それよ。名前空間とオーバーロード。 これだけで名前に関する負担が減って十分嬉しい。
- 862 名前:名前は開発中のものです。 mailto:sage [2014/05/23(金) 12:40:36.19 ID:RKONZ/AN.net]
- スマポって仕組みよくわからんのだけど参照カウントという奴をオペレーターに仕込むのか?
プログラマが代入するたびにカウント++するわけじゃないだろうし
- 863 名前:名前は開発中のものです。 mailto:sage [2014/05/24(土) 02:12:28.67 ID:+nV/dxKWG]
- >>837
スマポ=参照カウンタではない C++11のスマポはunique,shared,weakの3種類ある
- 864 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 14:02:34.45 ID:pt28O8XW.net]
- UIならシーンの初期化の時に全部読み込むだろうし、その時にソートしとけばいいんじゃないの
- 865 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 14:07:29.29 ID:tkJLCxRy.net]
- そもそも2Dの優先順位の決定にレイを飛ばす理由が不明、
画像のインスタンスを見るというのも意味不明。
- 866 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 15:23:55.84 ID:yGlWShIZ.net]
- レイ撃ってヒットの逆順に描画するんじゃないの
無駄過ぎて鼻水吹き出しそうな話だけど 画像のインスタンスって言ってんのはスプライトの事かな
- 867 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 19:22:29.67 ID:8RotVtW9.net]
- クリックした要素が何かを探したいんだろうけど
画面を経由する必要があるほど不定形でぐにゃぐにゃしたUIなんだろうか もしどうしてもやる場合は 俺ならオフスクリーンバッファにどのUIがトップかを書くかな
- 868 名前:名前は開発中のものです。 mailto:sage [2014/06/08(日) 22:43:04.22 ID:vGgKRzGn.net]
- z値をインデックスにすれば深度マップで取得できるんじゃね?
と思ったけど、vramアクセスはパフォーマンス悪そうだな
- 869 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 13:50:23.16 ID:z2Jj9BRG.net]
- OpenGLのポリゴン描画で影を描画すると、影が赤くなるんだけど、黒くする方法ってある?
スレチだったらごめん・・・
- 870 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 15:07:01.85 ID:F4+Sq4Or.net]
- 方法も何も、そもそも赤くするコードを書かない限り赤くならない。
- 871 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 15:12:29.18 ID:HlN0nBf5.net]
- 「プログラムは思ったとおりには動かない。書いた通りに動く」ってな
物凄いレアケースでハードウェア絡みかもしれんが もう一度コードを見直しが先決かねえ
- 872 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 18:40:16.51 ID:EHfKfPgC.net]
- エスパーするが
色構造体のバイトオーダー間違ってないか
- 873 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 22:51:10.63 ID:OtG7NFYQ.net]
- OpenGLで通常のモデルはちゃんとでて、影だけおかしいとかだと、
LIGHTINGやTEXTUREのEnable/Disableの切り替え忘れとかがありがちかなぁ
- 874 名前:名前は開発中のものです。 [2014/06/09(月) 23:44:28.20 ID:hvcdW5Tu.net]
- DXライブラリをEclipseで使うやり方を教えて下さい。
詳細に教えてなんて言わないんで、解説してくれているサイトを教えて下さい。 情報が少なすぎるのか、調べ方が悪すぎるかのどちらかで、
- 875 名前:アホな初心者にはできません。 []
- [ここ壊れてます]
- 876 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 23:45:24.91 ID:6mNjaANt.net]
- GL_REDの影テクスチャをそのまま掛けてるとか?
vec3 out = in * texture2D(shadow, uv).rrr; みたいにする。
- 877 名前:名前は開発中のものです。 mailto:sage [2014/06/09(月) 23:53:17.10 ID:Cpf1syLL.net]
- >>849
「exlipse DXLib」の検索ワードだけでゴロゴロ出てきたんだが?
- 878 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 00:12:02.20 ID:U4gTkVOf.net]
- >>851
ageてしまった。 それは以前にやったのですが、よく理解できませんでした。 ttp://moge32.jugem.jp/?eid=136 検索2位(1位は繋がらない)ここに書いてあることは直接Eclipseのことを書いてないように思うのですが、 これが必要最低限の情報だったりするんですか?
- 879 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 00:57:17.61 ID:SZhDftiM.net]
- そのキーワードでググって1位見れたよ。
何か重くて表示されなかっただけでね。 キャッシュからも表示できたし。
- 880 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 07:35:08.91 ID:iWwQEe0D.net]
- よく知らないが、Eclipseで、
ライブラリのパスを参照設定するだけじゃないの? 他に、何かすることがあるの?
- 881 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 10:32:37.64 ID:+XEl/HM2.net]
- デバッグや配布時に設定が必要くらいでね
- 882 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 10:47:00.49 ID:WVu4972r.net]
- EclipseよりVisualStudioのほうがいいんだけどね
きっとインストール権限ない環境かハードディスク残量の問題なんだろうね
- 883 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 15:15:51.09 ID:YWMLszVd.net]
- 宗教上使えない人もいるのです
- 884 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 19:07:12.75 ID:O01gD3CA.net]
- 棄教しろバカ。
棄教できなければ.NET framework神に詫びながら死ね。
- 885 名前:名前は開発中のものです。 mailto:sage [2014/06/10(火) 21:45:01.86 ID:8Lf3BwfT.net]
- EclipseもNetBeansもクソ
- 886 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:08:28.52 ID:0bKjwM6R.net]
- Win以外の開発はどうするのさ
- 887 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:16:03.77 ID:WKLN/gkV.net]
- でた!屁理屈。Window以外でDXライブラリでゲームを作成されてるのですね。
でしたら、お好きな環境を選択されればよろしいとおもいますよ?
- 888 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:21:09.41 ID:0bKjwM6R.net]
- いやdxでとは言ってないが
OpenGLでいいでしょ マルチプラットフォーム対象にするときどうすんの?
- 889 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:25:44.99 ID:WKLN/gkV.net]
- >848
てか、だから好きにすればいいよ
- 890 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:27:05.23 ID:x/9Nmlpu.net]
- 実際のところゲーム会社ってWindowsとMacだったらどっちが多いの?
あと、プログラミング言語とかライブラリとか そもそもUnityの会社だってあるし・・・
- 891 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:47:50.90 ID:z9TU/419.net]
- スマホ向けは大概Mac
MacのXCodeじゃないとiOS向けにコンパイル出来ないので その環境でAndroidアプリも作るからeclipseも入れる Unityも結局iOS向けはコンパイルにMac必要だからMacになる Win向けはまあVisual Studioでしょ コンシューマはわからんけど箱むけならVisual Studioなんじゃない
- 892 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:54:53.44 ID:EKg7DQSq.net]
- VisualStudioが強すぎるのと周辺ツールの関係からWindowsが圧倒的
- 893 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:55:26.50 ID:7EYJGMHz.net]
- >>864
コンシューマは基本C++で、ライブラリはそれぞれのプラットフォーム用に作られたライブラリ使ってる。 Windows上でデバッグするときは苦肉の策でOpenGLとかで似たように作る。
- 894 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 09:59:16.67 ID:a2WXiZKM.net]
- ゲームエンジンならだいたい両方用意されてる。
今なら、Unrealengine4とかCryengineとか。 開発環境ではなくてゲーム本体でPCなら圧倒的にwindows
- 895 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 11:58:39.64 ID:kbUVkmhq.net]
- >>863
つまりVSはWindows用の開発以外は使えないって事? 個人開発ならそれでいいけどコンシューマ向けだとキツいと思うんだが 実際の現場ってどうなってんの
- 896 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 12:36:38.52 ID:0cMdPBr+.net]
- コンシューマではXBOXのことも忘れないであげてください
- 897 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 12:36:48.51 ID:korZFgLA.net]
- >>869
ソニーはVisualStudioで動くやつとgccでのコマンドラインでの開発が選べるのが定番
- 898 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 12:48:01.72 ID:kbUVkmhq.net]
- >>870-870
じゃあとりあえずVS使えればゲームプログラマにはなれそうな感じなのかな
- 899 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 13:04:58.50 ID:korZFgLA.net]
- >>872
いや、VS使うだけなら出来て当然なので あんま意味ない 使えればプログラムかけるかっつーとそんなことはないわけで APIとかだいたい独自なので、マニュアル読んで理解して使いこなす能力がないとお話にならない
- 900 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 13:42:18.25 ID:7WXZfC9n.net]
- なんで皆そんなに業界に詳しいの?
プロなの? それとも聞きかじり情報?
- 901 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 17:05:26.88 ID:0icQ1bsR.net]
- 妄想
- 902 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 19:56:24.00 ID:ZrP26BdU.net]
- VSとかEclipseとかXCodeとかUnityとかUEが使える使えないじゃなくて
どんな環境でもプログラム書いて動かすものが作れるっていうのが重要なわけで 弘法筆を選ばず
- 903 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 21:51:51.20 ID:WrX8Es+8.net]
- でも成熟した産業だし、デファクトスタンダードとかあるんじゃないの
OSX•iOSならXCode、Androidならeclipseで鉄板だし コンシューマは各プラットフォームのライブラリ使えればVSで行けるみたいだし 学習するならとりあえずターゲット絞った方がいいと思うけど ゲーム会社に就職するなら、だけど
- 904 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 21:55:19.66 ID:7WXZfC9n.net]
- >>876
弘法じゃない凡人は一本の筆を使いこなせるようになるにも一苦労なので筆を選ばざるをえない。
- 905 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 22:00:45.16 ID:SywAyYwT.net]
- どれか一つのIDEをしばらく使ってみて、ビルドの工程が理解できてくれば、
どんなIDEでも基本的な操作は出来るようになるよ
- 906 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 23:04:20.34 ID:7MaR9GBn.net]
- 特定のIDEに習熟しようとしたって、
どうせ習得してはまた新たな壁にぶつかるという ラッキョウの皮をむくようなことになるだけだけどな。 IDE らっきょ
- 907 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 23:08:17.00 ID:V2TD8Zeq.net]
- >>877
Xcode とかバージョンかわるたびに前のプロジェクトがうまく動かなくなるとかざらにあるので、求められるのは与えられたものを調べてすぐつかいこなす能力
- 908 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 23:22:36.32 ID:6wElIYFK.net]
- NetBeansなんてなかった
- 909 名前:名前は開発中のものです。 mailto:sage [2014/06/11(水) 23:30:44.92 ID:SywAyYwT.net]
- >>880
言いたいことは分かるけど、 >ラッキョウの皮をむく って例え、経験がないから分からんかったわww 通だなwww
- 910 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 06:43:31.61 ID:L8Vso62K.net]
- 個人でコンシューマーゲーム作ってみようと思うんだけど、個人でもライブラリが手に入るハードってある?
できればVSで動くライブラリだと助かる 一応ゲーム制作経験はあるから、リファレンスがあれば作れると思う
- 911 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 07:17:39.83 ID:vRgUoWDI.net]
- そういう質問をするレベルの人間がコンシューマの開発をしようと考えること自体が、馬鹿の極み。
- 912 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 07:39:46.78 ID:WfpU2RZu.net]
- 今時のメジャーなゲームハードでは
個人に対しては制限された環境しか与えられていない
- 913 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 07:56:48.31 ID:0sQ/4i7b.net]
- XBoxでXNAで作ったゲーム配信出来るサービスなかったっけ
- 914 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 09:00:44.47 ID:E66MRmQE.net]
- XNAはC#とかで、C++ではない
VITAのPSMもC#
- 915 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 09:25:52.94 ID:zPikE+yO.net]
- unreal
- 916 名前:でもやっとけ。個人でもライセンス契約すればコンシューマー開発できるぞ。
ライセンス料がいくらかは知らない [] - [ここ壊れてます]
- 917 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 10:16:44.91 ID:eRzlOATi.net]
- まあ簡単な開発環境いっぱいあるし、1からゲームエンジン作るくらいの気概ないとC で作る意味ないよな
- 918 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 14:02:33.71 ID:CRNljBu4.net]
- >>884
PSPならPSP版DXライブラリもあるし割となんでもできるんじゃね
- 919 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 15:39:57.02 ID:idpLfuQS.net]
- >>884
一応きくけど作れたとしてそれを売ろうとしたらライセンス料いるって知ってる?
- 920 名前:名前は開発中のものです。 mailto:sage [2014/06/12(木) 17:13:06.20 ID:EGqf6ecZ.net]
- >>884
monogame辺りがフリーかな PSMとかPS4も対応するみたいだけどライセンス大変そう 仕様はまんまXNAなんでそれらサンプルや資料がそのまま使える 開発活発はただしC#
- 921 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 02:31:14.01 ID:BxeyyLjb.net]
- プラットフォームのロイヤルティと
ライブラリやエンジンの利用料をごっちゃにするな 売上なくても固定費取られるんだっけ?
- 922 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 15:25:42.09 ID:O3W0ptm6.net]
- PSMは年間8千円くらいだって以前ここで読んだ
PS4のインディーはどうなってるのかな?
- 923 名前:名前は開発中のものです。 mailto:sage [2014/06/13(金) 23:11:27.36 ID:NBfAH6Dj.net]
- PlayStationMobileのパブリッシャーライセンスなら、今は無料じゃないかな(期間限定、終了日未定)
- 924 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 01:29:28.56 ID:u1apXmDd.net]
- それ先に言えよ!
登録してくる
- 925 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 08:02:38.08 ID:cW1M/S3K.net]
- LeadWerksじゃだめなん?
\10,000前後で再配布無料だし
- 926 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 14:15:25.01 ID:6iOYhCEE.net]
- ヘッダーファイルの相互参照を回避するために
class "MapAnimationAdmin"; と前方宣言したんですが forward declaration of 'struct MapAnimationAdmin' という構造体と勘違いされているのかエラーが出て出来ません VisualStudioだと出来たと思うんですが、Eclipseだと出来ないんでしょうか?
- 927 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 14:40:49.76 ID:37JUYTf3.net]
- 1) ヘッダ内でnew MapAnimationAdmin()しているのが原因 → cppの中でやる
2) #includeの順番がおかしい事に起因している → 順番を正しくする チェックする場所はこんな所かな
- 928 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 15:56:40.17 ID:6iOYhCEE.net]
- すいません、cppのほうでincludeしたら何故かh側のエラーが無くなりました
- 929 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 17:18:02.71 ID:uMwrWsOs.net]
- cppでincludeするのは大前提というかなんというか
- 930 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 17:54:22.34 ID:6iOYhCEE.net]
- includeされた側にincludeした側のエラーが出るとは思ってもいなくて
- 931 名前:名前は開発中のものです。 mailto:sage [2014/06/14(土) 18:46:03.04 ID:37JUYTf3.net]
- まぁ、c系のエラーメッセージは判り難いからね。
- 932 名前:名前は開発中のものです。 mailto:sage [2014/06/18(水) 19:56:58.90 ID:ma8cg4mp.net]
- 今からゲーム作るとしたらDirectX11でいいのかな
まだXP持っててもゲーム用じゃ使わないだろうし
- 933 名前:名前は開発中のものです。 mailto:sage [2014/06/18(水) 20:07:43.69 ID:CzJGNNdh.net]
- 1から作るならそれがベストだと思う。
なかなか過去の遺産って捨てらんないよね…
- 934 名前:名前は開発中のものです。 mailto:sage [2014/06/18(水) 20:16:18.23 ID:N8Tb0KHM.net]
- 他のプラットフォームに移行を考えてOpenGLていう選択肢も
DirectX12で軽量化やGPU活用の為にまた変わるみたいだし 直よりパフォーマンスは落ちるけどレンダラーだけ切り替えられるマルチプラットフォームの グラフィックスライブラリやゲームエンジンも有り
- 935 名前:名前は開発中のものです。 mailto:sage [2014/06/18(水) 20:37:44.57 ID:FAN59TRz.net]
- ゲーム作るときの選択肢コピペ誰かつくったら?自分的には↓
DirectX9...古いけど十分、でも古い DirectX11...現行なので普通はこっち、ゲームエンジンやプログラミングの学習も兼ねるなら迷わずこれ OpenGL(CP3.2)...マルチプラットフォームなので他機種での動作が可能、ただしライブラリ設計がクソ、他のライブラリにかなり頼る Ogre3D...将来性も情報量もなし、使うべきでない Unity...上位機能を望まなければ簡単なプログラミングでゲームが作れる、簡単にゲームを作りたいだけならこれ C#だがSharpDXやMonoGameもおすすめ
- 936 名前:名前は開発中のものです。 mailto:sage [2014/06/18(水) 23:31:34.64 ID:a3SIvP3s.net]
- OpenGL = Direct3D - D3DX
って感じでシンプルだけどクソではないだろ
- 937 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 00:13:10.79 ID:nLPcoi9X.net]
- 普及の問題からDirectX9使っとけば間違いないって時代は終わったのか
- 938 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 00:23:12.04 ID:lO1Eej6E.net]
- OpenGLがクソな理由
cpplover.blogspot.jp/2014/05/opengl.html XNAもかなりよかったんだが開発停止して昔のVisualStudioを使わないといけないから、もう古いな
- 939 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 00:40:27.02 ID:D4AdegVY.net]
- DirectXは何度か改修してるからな10の時にも一気に整理されたし
12でまた同じような事するんだろうな (・・・・もう覚えるの面倒です)
- 940 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 01:05:20.37 ID:6/D2oQWW.net]
- >>911
そこに書いてあることを理由にクソと言い切るのは ゲーム製作を始める初心者に誤解を招くだけ
- 941 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 01:29:04.41 ID:lO1Eej6E.net]
- >>913
OpenGLも選択肢にはなるのは分かるけど…… なによりもオブジェクト指向な書き方ができないのがツラい 技術発表はOpenGLでの実装が多いから先端の技術に興味ある人はいいんだろうけど
- 942 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 08:14:04.04 ID:31au4KtM.net]
- >>908
Ogreが情報量少ないて何の冗談だ?将来性は今も開発進んでてIrrlichtよりマシだし SharpDXとかMonoGameてDirextX9相当だし今時のシェーダーが組めない
- 943 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 08:27:50.13 ID:BMdZ3LEO.net]
- SharpDXがDirectX9相当とか
お前こそ何言ってんだ
- 944 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 08:49:07.49 ID:6/D2oQWW.net]
- >>914
自分でステータス管理、バッファ管理その他諸々の処理書けばオブジェクト指向で書けるじゃん DirectXでもAPI直叩きは気持ち悪くて同じような処理書くことになるし
- 945 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 09:03:30.40 ID:31au4KtM.net]
- すまん本当に何言ってたんだろう、SharpDX使った事あるのになんかDXライブラリと勘違いしてたかもしれない
- 946 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 10:23:59.18 ID:88xd9jEp.net]
- そもそもレイヤの違うもの並べてどうするのと
- 947 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 11:41:58.64 ID:ioG87yMm.net]
- DirectXは手続きがめんどくさくてラップすることはあるけど
OpenGLはラップしてると何故か気持ち悪くなる
- 948 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 15:49:23.76 ID:5ywlWImO.net]
- マリオカートみたいなの作るとして
キャラクターごとにクラス作るか、キャラクターというクラス作ってパラメーターとかモデルを登録する方式にするか迷うんだけどどうしますかね
- 949 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 16:22:56.31 ID:OzKIEc04.net]
- 後者でしょ
- 950 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 19:46:32.64 ID:OSALf3vF.net]
- >>922
>>922が言うようにキャラクタークラス作ってパラメーターやモデルを登録する方式が良い ただ、キャラクタークラスを継承したキャラクター毎のクラスが在ってもいいとは思う
- 951 名前:名前は開発中のものです。 mailto:sage [2014/06/19(木) 19:56:52.61 ID:c9nisOjB.net]
- キャラクター毎に全く挙動が変わるならそれぞれクラス作るのもありだと思う
- 952 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 00:11:03.73 ID:tuXXF6Tj.net]
- 問題は、ゲーム時ループ中などの速さが要求される箇所で、
個体複雑性に起因する条件分岐が増えるのをどう回避するか、か。 末端(=キャラ個体)に複雑さを集約するか、 流れ制御側(=タスクシステム、メイン
- 953 名前:求[プ)に複雑さを押し付けるかだな
どちらも楽しそうだな [] - [ここ壊れてます]
- 954 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 00:30:22.54 ID:EKUWcmyO.net]
- その程度の分岐で処理落ちが起きたりせんよ
ロジックとして分かりやすく簡潔にかける方を選んどけ 速さを求めるのは衝突判定とか描画部分だけで良い
- 955 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 07:10:24.87 ID:5/Sd9UCE.net]
- 最近、フィルレートにばっかり処理の比重を取られて、CPUがかなり遊んでいる状態。
- 956 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 11:22:51.25 ID:iamZ/Ql4.net]
- >>925
クラスに細分化した所で関数呼び出しがvtable一個分の呼び出しロスぐらいで 分岐は生成時位しかしなくない? 状況で変わるようなのはステートパターンだろうし 挙動だけ別クラスでキャラクタークラスに差し込みしても同じ程度だろう
- 957 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 15:35:14.32 ID:29GFkBgY.net]
- ゲームループ内で毎回どのキャラか判定するつもりなのかもしれない
- 958 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 18:38:49.94 ID:ATU6QwSf.net]
- 無能な奴ほど、最適化しても誤差に吸収されてしまいそうな部分にこだわるんだよね。
- 959 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 20:19:11.38 ID:tuXXF6Tj.net]
- 「無能な奴」でない奴の作品を検証させろよ^^
- 960 名前:名前は開発中のものです。 mailto:sage [2014/06/21(土) 23:30:52.31 ID:mvCTHax3N]
- ^^つけないと会話できんのか!!!
- 961 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 01:29:43.57 ID:0HERkbyf.net]
- >>930
「早すぎる最適化は諸悪の根源である」ってやつだね。 そういうのは遅さが気になってから手をつける部分なのにね。
- 962 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 08:34:06.04 ID:csKh83iE.net]
- コードの最適化は最後でいいけど、設計の最適化はコーディング前にやっとかないと修正で地獄見るぞ
- 963 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 12:42:14.46 ID:EwYApkfm.net]
- RPGの技ってどうやってるの?
やっぱりラムダ式をmapに入れてるの?
- 964 名前:421 mailto:sage [2014/06/22(日) 17:30:21.94 ID:So0IxHSH.net]
- スプライトアニメーションのアルゴリズムを作っているのですが、
拡大・角度・移動の情報を格納した構造体を3次元配列で保持したいです。 当初は SAnimationNode animations[MOTION_NUM_SIZE][FRAME_NUM_SIZE][IMAGE_NUM_SIZE]; としていたのですが、よく考えたらキャラクターごとに画像の枚数やアニメーションのフレーム数が違いました 動的配列の部分をvector型にしようとしたら vector< vector<SAnimationNode> > animations[MOTION_NUM_SIZE]; となったんですが、これは SAnimationNode animations[FRAME_NUM_SIZE][IMAGE_NUM_SIZE][MOTION_NUM_SIZE]; こういう意味になってしまわないでしょうか?
- 965 名前:名前は開発中のものです。 mailto:sage [2014/06/22(日) 18:17:04.62 ID:6teQhgwq.net]
- >>936
vector< vector<SAnimationNode> > animations[MOTION_NUM_SIZE]; ↓ animations[MOTION_NUM_SIZE][FRAME_NUM_SIZE][IMAGE_NUM_SIZE] となるんじゃない?
- 966 名前:名前は開発中のものです。 mailto:sage [2014/06/24(火) 13:14:27.79 ID:Uog3JQdr.net]
- いまいち文字コードについてがわからん。
Windows上でUTF8,UTF16LE,CP932を相互変換したいんだけど、 マルチバイト?ワイド文字?で混乱
- 967 名前:名前は開発中のものです。 [2014/06/24(火) 13:33:03.26 ID:IbY2i7BW.net]
- マルチバイト、ワイド文字と、文字コードは別。
windowsでは単に、8ビット単位と16ビット単位で扱うかどうかの差。
- 968 名前:名前は開発中のものです。 mailto:sage [2014/06/24(火) 13:58:16.35 ID:Uog3JQdr.net]
- >>939
マルチバイト文字→ShiftJis,UTF8,EUCJP ワイド文字→UTF16,UCS-2 でいいの?
- 969 名前:名前は開発中のものです。 mailto:sage [2014/06/24(火) 14:27:45.13 ID:GPkpIMQJ.net]
- 字義的には、一文字をあらわすのに複数の可変長のバイトをつかうのがマルチバイト
同じサイズのワード値をつかうのがワイド文字 ワイド文字は固定長なのでプログラムが 単純になるので楽、というのが本来の想定 windows は歴史的に16bitのユニコード (UCS2)を内部コード兼ワイド文字としてつかってたんだけど ユニコード
- 970 名前:が拡張されて、16bit 可変長(UTF16)になってしまい、
ワイド文字自体は拡張せずそのまま16bitとしたのでの「ワイド文字」を使ってても マルチバイトと同じことする必要があってプログラム上のメリットは薄れてしまってます ワイド文字は環境固有の内部データで 統一仕様が無いので、外部とのやりとりは かならずマルチバイト文字列を使うのが原則 Unix系だとワイド文字は普通32bitです そういう意味では、そこにでてる名前は全部規格で仕様決まってるのでマルチバイトです。たまたま固定長なだけ Win環境に限ればAPIで「ワイド文字」 というとUTF16のことで、変換関数で 指定のマルチバイトと変換できます。 UCS2は可変長部分をのぞけばUTF16と合致します 他のOSではそうとは限らないので注意が必要。 マルチバイトのファイルは共有できるけど、ワイド文字はあくまでプログラム内部でつかうもの。 完全に環境依存しないためには、 ポータブルな文字コード変換ライブラリの準備と、 ワイド文字仕様を自分で決めて対応する必要があります [] - [ここ壊れてます]
- 971 名前:名前は開発中のものです。 mailto:sage [2014/06/24(火) 14:34:10.01 ID:GPkpIMQJ.net]
- 長々かいちゃつたけど、ワイド文字は、その環境で使える全ての文字を含むことになってるので
指定のマルチバイト→ワイド文字→指定のマルチバイト とすれば文字コード変換できることになります
- 972 名前:名前は開発中のものです。 mailto:sage [2014/06/24(火) 16:00:12.61 ID:F5vPhfmG.net]
- マルチプラットフォーム前提のゲームの場合、
文字列はwstring型でUTF16で格納しておくのが最善策かな?
- 973 名前:名前は開発中のものです。 [2014/06/24(火) 16:03:01.31 ID:IbY2i7BW.net]
- マルチプラットフォームだったらUTF8では。
UTF16を使ってるのはWindowsくらいで。 Windowsを使ってるならUTF16でいい。
- 974 名前:名前は開発中のものです。 mailto:sage [2014/06/25(水) 03:34:26.90 ID:tRPy5vnQ.net]
- C++でUTF8は面倒だ
- 975 名前:名前は開発中のものです。 mailto:sage [2014/06/25(水) 07:19:47.27 ID:i6nom8bR.net]
- 簡単に文字コード変換出来るライブラリはないのかね
ググった感じだとICUってのが良さそうだけど、ライセンスがよくわからん 誰か要約してくれ source.icu-project.org/repos/icu/icu/trunk/license.html
- 976 名前:名前は開発中のものです。 mailto:sage [2014/06/25(水) 23:42:32.69 ID:sN1oXLi0.net]
- Unityが便利なのはわかるんだけど、プログラミングが好きだから
全部コード書いてるって人は少なからずいる・・・よね・・・
- 977 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 00:08:17.74 ID:2eOLOr66.net]
- unity使ったことないけど凝ったことやろうとすると結局コード書かないといけないって話は聞いた
- 978 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 00:12:12.19 ID:G3Ghr1l9.net]
- >>947
俺もそれしたいんだけど重くなりそうじゃないか? もともと遅いのに素材の最適化効かないし
- 979 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 01:31:37.50 ID:KO+8FPHu.net]
- Unityってよく知らんのだがコード書かずにゲーム作れるのか?
すげぇな。
- 980 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 04:40:53.24 ID:BP57VnwG.net]
- C#とかでコード書かんと
- 981 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 05:42:45.22 ID:AmOKqMVz.net]
- RPGツクールならコード書かなくてもゲーム作れるね
- 982 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 07:52:49.33 ID:vdSX1b1y.net]
- >>948
まぁ凝ったことするなら結局自分で実装しなきゃいけないけど 凝らないところはぺいぺいってできるよ >>949 処理速度とかは自分ができる範囲でいいかな 商用じゃないなら製作者が好きなようにすればいいと思う
- 983 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 08:15:53.02 ID:rGvRjoRE.net]
- いつからゲームはツクールみたいなツールで作るようになってしもうたん
もはやプログラマーじゃないじゃん コードを書いてなんぼだろ マウスでぽちぽち画面操作してるだけでゲームができてしまうなんて許されんだろこれは
- 984 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 08:29:15.09 ID:RxAyclSt.net]
- マシンの性能が昔とは比較にならないので、カリカリにチューニングするより汎用エンジンで生産性をあげた方がコストかかんないし品質も上げやすいだろうね
限界までパフォーマンス突き詰める
- 985 名前:ネら自分で書くしかないだろうけど、半端なスキルで自作しても汎用エンジンより低性能になるだけだろうな… []
- [ここ壊れてます]
- 986 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 08:32:54.24 ID:a944jii7.net]
- グラフィカルになってもプログラマーの
やるべき仕事の本質は変わらんべ コード書く密度量が減っても そのぶん規模が大きくなってる 昔からその繰り返しじゃん?
- 987 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 10:31:17.39 ID:HDqbSuB3.net]
- >>954
企画書があってこそコード書いてなんぼな状況になる しかしプログラマの多くは企画書が書けないので、簡素なものに頼ってる
- 988 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 10:43:16.51 ID:ROLnmccF.net]
- スレチなのでそろそろ終わったほうがいいと思うが、
unityの無料版は非同期ロードが出来ないみたいだね。個人的にはここが致命的かな。 だからといって有料版買おうと思うほど、高度にグラフィカルなゲーム作ってる訳でもないし。 要件と費用対効果がいい感じになるのなら便利なんだろうけどな。
- 989 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 10:52:26.33 ID:KO+8FPHu.net]
- ゲームが作れるならコードだろうがツールだろうが構わないと思うが、
ツールは固有の使い方を覚えないといけないから 物覚えの悪い俺には不向きだ……。 とはいえ最近はUnity使えるとそれだけで有利なんだよなぁ……
- 990 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 15:00:55.14 ID:BP57VnwG.net]
- 最近下ろしてみたらスプライトエディタまで実装してあるし
なんかすごい事になってるな
- 991 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 22:20:03.49 ID:vxlMCzXq.net]
- >>946
流し読みした限りでは、ヒゲモジャ教祖のコピーレフトじゃないほうの つまり緩いほうのフリーソフトのライセンスの典型的な文言かと。 ちょっと自信なかったのでFAQのほうも読んでみました userguide.icu-project.org/icufaq の「How is the ICU licensed?」によれば >a simple, permissive non-copyleft free software license, >compatible with the GNU GPL. >The ICU license is identical to the version of the X license という事なので、Xライセンス(MITライセンス)と同じみたいですね
- 992 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 22:44:18.33 ID:LTYq6LHZ.net]
- >>961
おお、要約サンクス MITと同じって事は著作権表示しとけば好きに使っていいのか ちょっと触ってみようかな
- 993 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 00:21:52.45 ID:ca0yLnFP.net]
- ICUはすごいけど、でかすぎて大抵の用途に不向きよ
- 994 名前:名前は開発中のものです。 mailto:sage [2014/06/27(金) 04:25:38.40 ID:3FddD6R4.net]
- 絶望
- 995 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 01:52:31.46 ID:Qml0dYMK.net]
- ゲーム重視の会社・・・Unityが出来ればいい
プログラミング重視の会社・・・オブジェクト指向が出来ればいい 古さ重視の会社・・・C言語とUNIXが出来ればいい だったらどれが一番多い?
- 996 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 01:53:20.27 ID:/Aw0cnXs.net]
- 3つ×(バツ)を付けて
ちょっぴり大人さ
- 997 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 01:59:32.24 ID:qVQSlIJD.net]
- 左と右がまったく合っていないので答えられません。
- 998 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 09:07:15.04 ID:fYNbwyWm.net]
- エンジンあれば簡単にゲームできると勘違いしている会社・・・Unityが出来ればいい
ツールはつくれても面白いゲームは作れない会社・・・オブジェクト指向が出来ればいい 時代の流れに完全に取り残されてる会社・・・C言語とUNIXが出来ればいい こうかな…さすがにCとUNIXだけってゲーム会社はもうないかな
- 999 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 13:14:02.98 ID:pkvK53ex.net]
- >>962
私はpocoライブラリを使ってる都合で文字コード変換はしますけど UTF-16⇔UTF-8のみなのでMSのAPIで済ませてます。簡便ですので
- 1000 名前:名前は開発中のものです。 mailto:sage [2014/06/28(土) 13:30:50.89 ID:UFXBTkrK.net]
- Unicode相互変換ってC++11で標準ライブラリに入らなかったっけ?
使い方
- 1001 名前:ヘよく分からんけど []
- [ここ壊れてます]
- 1002 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 13:10:50.88 ID:Yl1HyccO.net]
- 最近のゲーム会社って偉そうだよね
楽して儲かるゲーム作っといてそれを言うなよって感じ・・・
- 1003 名前:名前は開発中のものです。 mailto:sage [2014/06/29(日) 15:05:01.46 ID:OwKWjPKS.net]
- ttp://www.nicovideo.jp/watch/sm23811893
大爆笑
- 1004 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 19:21:53.76 ID:14799agU.net]
- >>972
誰か無料のゲームエンジンの存在を教えてやれよ… ゲームコーディングを知識ほぼ0の状態からスタートとか、挫折する未来しか見えない
- 1005 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 19:24:44.84 ID:2U1HTXmR.net]
- 残念ながらこいつがゲーム開発しようと思い立ったのは何年も前
詳しくは月雫タクトで検索
- 1006 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 21:31:57.05 ID:NbePC4/B.net]
- >>974
コイツのことだろ C/C++ゲーム製作総合スレッド Part4 peace.2ch.net/test/read.cgi/gamedev/1376262450/481 一時期、前スレに湧いてた「kazuki」って奴だろそいつ
- 1007 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 22:44:05.97 ID:bRWh4YXo.net]
- なんでそいつだと思ったの?
- 1008 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 23:06:23.36 ID:2U1HTXmR.net]
- やってることがいつも同じだし
- 1009 名前:名前は開発中のものです。 mailto:sage [2014/07/01(火) 23:09:44.15 ID:2U1HTXmR.net]
- 例
ttp://jbbs.shitaraba.net/bbs/read.cgi/game/49104/1355540267/l50
- 1010 名前:名前は開発中のものです。 mailto:sage [2014/07/02(水) 00:54:00.05 ID:hTKfgYQb.net]
- ttp://nicovideo.jp/watch/sm22798006
こいつはすごいの?
- 1011 名前:名前は開発中のものです。 mailto:sage [2014/07/03(木) 13:20:31.93 ID:bmzuMbOZ.net]
- Graphics Diagnostics in Visual Studio 2013 Update 3 RC
blogs.msdn.com/b/vcblog/archive/2014/07/02/graphics-diagnostics-in-visual-studio-2013-update-3-rc.aspx
- 1012 名前:名前は開発中のものです。 mailto:sage [2014/07/05(土) 21:27:49.06 ID:4rWl8Euu.net]
- >>972
一生掛けてもテトリスすら作れなさそう
- 1013 名前:名前は開発中のものです。 mailto:sage [2014/07/05(土) 22:33:05.40 ID:mMkxAecd.net]
- JAVAの職業訓練が終わったのかな。
- 1014 名前:名前は開発中のものです。 mailto:sage [2014/07/05(土) 22:37:30.46 ID:VPCAfWy5.net]
- >>972 は茨の道を行ってると思うがバカにはできないだろ
- 1015 名前:名前は開発中のものです。 mailto:sage [2014/07/05(土) 23:15:37.36 ID:CJTkk+Ap.net]
- 行ってるならね。
もし他の人が言ってるようにkazukiなら行くいく詐欺で実際には行ってないことになる。
- 1016 名前:名前は開発中のものです。 mailto:sage [2014/07/06(日) 00:52:20.23 ID:crYRPTpb.net]
- ず
- 1017 名前:名前は開発中のものです。 mailto:sage [2014/07/06(日) 01:25:59.86 ID:LtkmUGY2.net]
- fpsのくだりが秀逸
- 1018 名前:名前は開発中のものです。 mailto:sage [2014/07/06(日) 09:18:10.68 ID:/OKy/hLS.net]
- 一応最後まで(スキップしまくりで)見たけど、なんかあまりにもアレすぎて
自己啓発セミナーか何かに見えるんだよなぁ…
- 1019 名前:名前は開発中のものです。 mailto:sage [2014/07/06(日) 10:10:14.99 ID:/c1kpgiT.net]
- 自分のモチベの為にやってるパターンでしょ。
- 1020 名前:名前は開発中のものです。 mailto:sage [2014/07/06(日) 13:31:10.89 ID:ij3Sb7R1.net]
- そのモチベもゲーム製作より動画作って講釈垂れる方がメインのようなキガス
- 1021 名前:名前は開発中のものです。 mailto:sage [2014/07/06(日) 19:13:55.67 ID:0XE4ySRd.net]
- よく考えたオブジェクト指向に徹したらまともにインスタンスプールとか使えなくね?
2年ぐらいずっとゲーム中にインスタンス化してたわ
- 1022 名前:名前は開発中のものです。 mailto:sage [2014/07/06(日) 23:36:27.31 ID:aXYLrS//.net]
- 現実にある問題を解決するのに最適な実装があるなら採用すればいいのであって
それをさせない、使わせない、徹底した指向などというものがあるなら、それは 単なる教条主義、カルト宗教、ゲーム作れないアタマでっかちの屁理屈。無価値
- 1023 名前:名前は開発中のものです。 mailto:sage [2014/07/07(月) 22:37:43.59 ID:eo+VXBvr.net]
- プログラミングしかしないプログラマがそれを言うか?w
- 1024 名前:名前は開発中のものです。 mailto:sage [2014/07/07(月) 23:58:57.62 ID:vAXNC/8j.net]
- ゴミグラマは所詮奴隷だからね。
威張れるのは大学まで。 大学卒業後は他人の手駒としてキリキリこき使われる運命なのだ。
- 1025 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 00:07:38.81 ID:5BHEJoHN.net]
- お前らすげーな
>>990-991の会話の流れが全く理解できない
- 1026 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 00:21:10.51 ID:4Hc5PqSd.net]
- >>992「もっと楽な方法あったわ」
>>993「頭の固いお前が悪い」 >>992「オマエモナー」 >>993「人間に戻りたいです」
- 1027 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 06:37:39.35 ID:ZcFfD8ry.net]
- 実際の現場でプログラムしかしない要員なんてほとんどいないだろ
大概は設計から製造、テストまで一通りやらされる プログラムだけの仕事はオフショアでやる プログラムしかできないとかデバッグ要員にしかならん
- 1028 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 13:06:36.01 ID:n3Bq3v3Y.net]
- int main()
{ for(i=995;i<1000;i++) std::cout << "埋め"; }
- 1029 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 13:18:07.15 ID:qjtrVyE1.net]
- 戻り値を戻せ。
こんな短いプログラムでミスするな。
- 1030 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 13:21:39.89 ID:HOUfCYEJ.net]
- cもc++もだいぶ前からmainは戻り値省略できるような
- 1031 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 13:33:31.30 ID:Lr0fEuau.net]
- iの型は宣言しなくていいのん?
- 1032 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 14:41:48.07 ID:aAa77qni.net]
- i++って++iに最適化されるとは限らないからやめとけとどっかで見たが
どの程度真実なのかね。
- 1033 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 15:06:44.25 ID:M09CLZ/Z.net]
- 1000
,〜、 ヽ('∀`)ノ ノ_ζ ( ) 彡 /ω\
- 1034 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
- 1035 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|