C/C++ゲーム製作総合スレッド Part5at GAMEDEV
C/C++ゲーム製作総合スレッド Part5 - 暇つぶし2ch622:名前は開発中のものです。
14/04/29 00:42:06.52 EMV53Qmd.net
    while(1){
      demo->Run();                            //デモ画面再生
      switch(title->Run()){                        //タイトル画面再生
      case TITLEOPTIONTYPE_CONFIG:               //オプション画面再生
        config->Run();break;
      case TITLEOPTIONTYPE_GAMESTART               //ゲームスタート
        do{
          if(stage1->Run() == STAGESELECTTYPE_GAMEOVER)break;
          (…中略…)
          if(stage8->Run() == STAGESELECTTYPE_GAMEOVER)break;
          ending->Run();                       //エンディング画面再生
        }while(0);break;
      }
    }
  }catch(...){return EXIT_FAILURE;}
  return EXIT_SUCCESS;
}

623:名前は開発中のものです。
14/04/29 01:03:59.54 T7NavjR1.net
こりゃStateパターンを使えていない時点でゴミっすわ。
バカが書いたコードだと一目で分かる。

面接でこれ持ってきた奴がいたら不採用…と言いたいけど
この程度のバカが偏差値65クラスなわけで
次頭があれば徹底的に叩きなおすことを前提で採用、ってなるレベル。

624:名前は開発中のものです。
14/04/29 01:31:18.44 l2CWKjf4.net
それでも俺は、自らコードを曝け出した事に対して尊敬するね。

批判だけなら誰でも出来る

625:名前は開発中のものです。
14/04/29 01:46:17.29 EMV53Qmd.net
>>604
スレリンク(gamedev板:181-番)

当時は高専の学生でしたので

626:名前は開発中のものです。
14/04/29 01:49:34.15 T7NavjR1.net
>>608
あー、それわかる!
高専生感がぷんぷん臭う。

俺の職場は理系院生が採用の中心だから
君のコード見ると偏差値70以下!って判定を下しちゃうんだよね…。

627:名前は開発中のものです。
14/04/29 02:13:49.38 EMV53Qmd.net
どうか心安らかな日々を

628:名前は開発中のものです。
14/04/29 02:16:22.74 ZoGLF8y+.net
んー別にいいんじゃね?
大してシーンも多くないゲームなら充分充分
パターンとかはもっと規模が大きくなって
制御構文使ってたら死ぬ時に使う物だと思うのだが

ということで誰かstateとstrategyの違いを教えてくださいな
ググってもイマイチ腹に落ちなくてなあ…

629:名前は開発中のものです。
14/04/29 03:18:14.89 51TE7qv/.net
高専生感というとても具体的な指標
これが偏差値70以上の力だと言うのか・・・

630:名前は開発中のものです。
14/04/29 08:43:51.10 7WDDZUtT.net
これdemo->Run()の中に別のゲームループがあるって事になるんだろ。
つまり>>528って事だろ。

ところでupdate()とdraw()に分けないのかな。
コンテンツロスト時の再描画とか、各シーンで個別に実装とかだるいっしょ。

631:名前は開発中のものです。
14/04/29 10:25:45.81 EMV53Qmd.net
>>611
当時のソースは実家のPCに眠ってるのでうろ覚えなんですが、D3D9などの
デバイスロスト時の対応などはGAMEENVクラスに押し付けてました

描画と、ゲーム内時間発展のサイクルは独立。フレームスキップしてました。
描画は60⇔30⇔15[fps]の半固定。

時間発展の刻み幅は1/60[sec]固定。シミュレーション部分の計算自体は
とても軽かったので。あとはリプレイデータの都合。デバッグ時の巻き戻し
や早送り(任意時点へ移動)してたので

632:名前は開発中のものです。
14/04/29 10:41:35.55 EMV53Qmd.net
>>611
>これdemo->Run()の中に別のゲームループがあるって事になるんだろ。
>つまり>>528って事だろ。

それぞれにゲーム内の時間発展を計算するサイクルがありましたね。
そういう意味ならそうなんだと思います。ゲーム固有の定石とやらは
よく知りません

633:名前は開発中のものです。
14/04/29 11:00:02.81 R32lOXpJ.net
配信でコーディングしてる現役ゲームプログラマさんの仰っていた序列表貼っておきますね

神様 綺麗なコードで完成させられる人
人間 汚いコードで完成させられる人
=================( 越えられない壁 )====================
家畜 汚いコードで完成させられない人
ハエ 綺麗なコードで完成させられない人

ハエに出来るのは人間の邪魔だけと言っていて、なるほどなとリスナー達感心しきりでした。
ID:T7NavjR1見ててこの事思い出しましたね

634:名前は開発中のものです。
14/04/29 11:23:57.20 k/FZV1V1.net
自分は
std::unique_ptr<Scene> scene = new なんかのシーン();
while(1){
scene->update();
scene->draw();
if( scene->isEnd() ) {
scene = std::move(scene->getNext());
}
}
ってやってそれぞれのシーンが次の遷移先返すようにしました
switchを意地でも使いたくてこんな形になった

実際switchの方がよく使われるものなの?サンプル探してもswitch使っているのしか見当たらないから困ってる

635:名前は開発中のものです。
14/04/29 11:24:47.17 t5QADVCc.net
>>614
やるじゃんw

636:名前は開発中のものです。
14/04/29 12:27:00.81 CXcBKCf+.net
>>615
多分だけど、

 if(関数に分けずそのまま羅列) → if(関数分け) → switch → stateパターン

……みたいに進化していくんだと思う。
単に自分がそういう順番でステップアップしたってだけなんだけどさ。

仮に自分が教えるなら、stateパターンによるシーン遷移は後回しにするかな

637:名前は開発中のものです。
14/04/29 12:35:06.95 CXcBKCf+.net
ああそうだ思い出した。
シーン遷移をStateパターンで行う方法についてなんだけど、「シーン遷移しないとき」って、どうしてる?

(1) nullを返す
(2) thisを返す
(3) シーン遷移関数を用意しておき、それが呼ばれなかったとき
(4) その他

自分は(2)で、nullを返すときはゲーム終了ってことにしてる。
一般的なStateパターンなら(1)かなあ。

638:名前は開発中のものです。
14/04/29 12:40:34.16 5MYZPLM5.net
>>612-613
なるほどthx. sceneの引数でgameenv貰ってるね。

シーン遷移の実装はシーン側は知る必要ないから、
その時の気分とかシーンの数とかで好きにやりゃいいと思うけどね。

Task的に入り組んだ作りしてないのなら、どれでもすぐ遷移図を思い描けるっしょ。

639:名前は開発中のものです。
14/04/29 16:14:29.11 R32lOXpJ.net
>>616
曰く、
「クラス設計書貰うけど見ない。クラス流用して他のゲーム作ったことがないから意味がない」
「デザインパターン?何それ?」
「参考書は読んだことがないからオススメ本とか分かんない。ネットと、エラーが出たらググレカスで覚えた」


PSでほとんど1人でプログラム任される人の弁です

640:名前は開発中のものです。
14/04/29 16:19:59.07 NQBFYHJc.net
>>620
すげぇ
俺そんなこと言ったことないけど、完全に俺だわ
ただ、作ってたのはPSじゃねぇけど

641:名前は開発中のものです。
14/04/29 16:20:18.05 KJKa8R89.net
>>620
その人、協調性が無いから、単独でしか使い道が無い。

642:名前は開発中のものです。
14/04/29 16:27:51.48 NQBFYHJc.net
人事を何とかしないとうちの会社はやばい
ゲー専卒で多少のコミュニケーションはできれば入れてる感じがする
8人中2人もう辞めてるし、てかそれ以前にDXライブラリをインクルードディレクトリへの追加方法わからねぇわ、プログラムが組めねぇわで最悪だわ
1人だけまともというかたぶん俺より組める奴居るけど
うちは研修する余裕なんてねぇってわかってんだろうが、去年入ったやつなんてもう最後の1人を何とか留まらせてるんだから、俺らに人事噛ませろよ

643:名前は開発中のものです。
14/04/29 16:27:58.51 lMFqMvqX.net
PSでググレカスてどんな時代?
一昔前の1500円のミニゲーム移植とかの人てことなんだろうか

644:名前は開発中のものです。
14/04/29 16:31:27.80 GSilIO8H.net
>>622
ちょっとワラタ

645:名前は開発中のものです。
14/04/29 16:31:55.46 CPnqQaxX.net
従来の手続き型で何本もゲーム作ってきた俺だが
いっちょオブジェクト指向でも勉強するか、とやり始めた結果
もうずっと制作が滞ったままになっている。
なんでこんなにめんどくさいんだ……。

646:名前は開発中のものです。
14/04/29 16:33:29.90 t5QADVCc.net
サッカー上手い人がサッカーの技術書読んでうまくなるわけもないし、そういう感覚なんかな。
本読まずにPG覚えるとか想像もつかねえw

647:名前は開発中のものです。
14/04/29 16:59:24.66 CPnqQaxX.net
本は解るようになってから読むと解るけど、解らないうちに読んでも解らないからなw

そもそも本を書くような人は「本を読んだら解る人」だろうから、
本を読んでも解らない人でも解るような本を書けないだろうな。

648:名前は開発中のものです。
14/04/29 17:12:12.68 dd41HZLf.net
ビギナーコラムでオブジェクト指向の哲学とか語られてもな
とりあえず作ってみよう系のほうが理解しやすい
ここを弄ったらこう変わるみたいな

649:名前は開発中のものです。
14/04/29 17:21:14.92 5MYZPLM5.net
c++だけがoopじゃないっすから…

650:名前は開発中のものです。
14/04/29 17:40:38.04 lMFqMvqX.net
>>628 だいぶ使いこなせるようになっても読めない初心者向けの本とかあるから性質が悪い ゲーム用だけじゃないが初心者の頃はコードがのっててサンプルが作りたい物に近いから買ってみるけど… Cマガも半分ぐらいしか理解できなかったがいま読み返すと消えてる技術も多くて笑える



652:名前は開発中のものです。
14/04/29 17:48:57.10 bM1HEdOI.net
ゲーム系の学生なんだけど、ゲーム会社ってどのくらいのレベルのオブジェクト指向まで要求されるの?
あと、AIとかそういうアルゴリズムも重視される?

653:名前は開発中のものです。
14/04/29 18:14:47.39 NQBFYHJc.net
>>632
ぶっちゃけ会社によって様々だからうちの会社で書くけど
新卒には特別な期待はしない
とりあえず、プログラムを作れれば良いや、ゲームまで作れたら儲け物って感じだな
後はただ、人間として基本的なことはできてればそれだけで良い
俺は現場だからこういうのを求めてるけど、人事は即戦力のゲームプログラマーとしてプログラムを作れないやつを入れてくるから何を見てるか同じ会社なのにわからん
とりあえず残業させてないのに毎年1ヶ月以内に1人、3ヶ月以内に半分になる新卒はゲーム作る気がないよね

654:名前は開発中のものです。
14/04/29 18:23:27.78 EMV53Qmd.net
マ板でやれ。な

655:名前は開発中のものです。
14/04/29 18:25:53.36 R32lOXpJ.net
>>621
スーパープログラマさんかな?w
他の配信者も有名な人だよって言ってたし、多分在京で働いてる業界人なら知ってる人ですよ。

ちなみに、よくプログラマになるにはどうしたらいい?という初見リスナーのレスあるけど
「C++とDirectX(ライブラリ自作)で『完成した』作品を持ってこい」と言ってますね。
本人もデザインパターンを配信中にググって知ったみたいだし
オブジェクト指向とか関係ないんじゃないかと。とにかく完成品をよこせと。

656:名前は開発中のものです。
14/04/29 18:34:29.77 lKQHJo0L.net
Q 漫画家になるにはどうしたらいいですが?
A 漫画を描けば漫画家です
 プロになりたければ作った作品を持ち込んでください

Q ゲームプログラマになるにはどうしたらいいですか?
A ゲームを作ればゲームプログラマです
 プロになりたければ作品を持ち込んでください

657:名前は開発中のものです。
14/04/29 18:38:17.18 NQBFYHJc.net
>>636
これ
でも、自分じゃなくて友人が作ったやつを持ち込むクソも居る

658:名前は開発中のものです。
14/04/29 19:08:58.63 WRxgjGJf.net
スレ違いの話題振る質問者は不採用です

659:名前は開発中のものです。
14/04/29 19:14:20.55 t5QADVCc.net
くだらないループ話を延々続けてる馬鹿に飽きていたからいい暇つぶしになったw

660:名前は開発中のものです。
14/04/29 20:34:32.58 EMV53Qmd.net
>>609
>制御構文使ってたら死ぬ時に使う物
>>615
>実際switchの方がよく使われるものなの?
>>619
>シーン遷移の実装はシーン側は知る必要ないから、
>その時の気分とかシーンの数とかで好きにやりゃいいと思うけどね。

>Task的に入り組んだ作りしてないのなら、どれでもすぐ遷移図を思い描けるっしょ。

同意です。実装の選択肢は色々あり、個々の状況に応じて選べば良い事かと。
>>602-603の例で言えば、振る舞い的に拡張する予定がなく、実際しなかった
部分なので別に問題なかったですね

元々HSP上がりの人間(周りも同様)だったので手続き型の記述のほうが平易
というのもありました



>>617

State Pattern
switch-case構文

661:名前は開発中のものです。
14/04/29 20:35:52.86 EMV53Qmd.net
>>640訂正
末尾の三行は消し忘れです。>>617さんごめんなさい

662:名前は開発中のものです。
14/04/29 20:52:06.90 CXcBKCf+.net
>>635
何年か前に、画像表示、パッド入力、音声出力くらいまでは何とか作ったけど
途中で面倒くさくなって、結局DXライブラリに戻ってしまったという残念な経験しかないやw

663:名前は開発中のものです。
14/04/29 20:55:41.83 EMV53Qmd.net
>>619
会社帰りにたまにボー●ーブ●イクでチャリンチャリンしてたんですが
転勤先にそれ置いてるゲーセンが


664:なくて悲しみのあまり余暇にパチモン 作りで自分を慰めてるんですが、火器とかAIの部分はStateというかStrategy というかそんな感じのコードはありますね。条件分岐でダラダラ書いてたら 流石に眩暈がしてきたので



665:名前は開発中のものです。
14/04/30 00:47:22.57 bEifU6C0.net
何を言いたいのかサッパリ分からん

666:名前は開発中のものです。
14/04/30 01:21:27.75 3yGpFv6B.net
>>643
パーツとか持ち替えの武器とか大量にあると面倒くさいことになるよね
あの手のアセンゲーっぽいのは俺も好きだが作りたいとは思わないな

667:名前は開発中のものです。
14/04/30 09:11:19.42 JP5IUHRh.net
つまらない流れなので誰かネタ振りお願いします><

668:名前は開発中のものです。
14/04/30 10:28:13.43 vrCaDxEc.net
初心者な質問ですみません。
クラスからクラスを呼ぶときってどういう書き方が普通なんですかね?

class A {
public :
static A* me ;
int a ;
A() ;
}
A* A::me ;

A::A() {
me = this ;
}

ってやって A::me->a とかやってるけど、なんかスマートじゃなくて……。

669:名前は開発中のものです。
14/04/30 11:46:43.01 eqz1Of7R.net
なにがしたいのかさっぱりわからんけど、それmeにインスタンス入れてるだけであんまり意味なくない?
クラスからメソッド直接使いたいとかなら、メソッドをstaticで定義してクラス名::メソッド名()だけど

670:名前は開発中のものです。
14/04/30 12:04:25.51 gNDB74Yv.net
グローバル変数みたいなことがしたいのかな
アクセス可能なオブジェクトを限定するのがオブジェクト指向の組み方だから
アクセスする必要があるクラスにポインタなり参照なり持たせたほうが良いんじゃない

671:名前は開発中のものです。
14/04/30 12:58:15.72 2hopiA0K.net
日本語不自由で変な質問するやつはほっといたほうがいいよ

672:名前は開発中のものです。
14/04/30 13:13:03.63 8+rqYap5.net
staticメンバの初期化の仕方の話でねーのん。
最近c++触ってないから間違ってたらすまんけど。

// A.h
class A {
public:
  static int a;
}

// A.cpp
int A::a = 10; // 初期化

// main.cpp
void main() {
  A::a;    // 利用
}

673:名前は開発中のものです。
14/04/30 13:38:55.27 MPxnDurN.net
3Dゲームで経路探索をやってみようと思うんだけど、3Dの位置情報ってどうやって調べればいいの?

674:名前は開発中のものです。
14/04/30 14:23:59.95 bEifU6C0.net
具体的には?

基本的に平面で移動するゲームなら2Dと大して変わらんしだろうし
キューブ状の座標(2Dで言うところのマス目)を移動するだけなら、移動方向に上下という選択肢が増えただけと考えられるし
ビルの中を探索するようなゲームなら、階段やエレベータでエリアを区切ればいい気がする。

675:名前は開発中のものです。
14/04/30 14:32:28.53 Uak2ZaC3.net
何が聞きたいのかさっぱりわからんけど、普通に変数参照すればいいんじゃない?
複雑な地形での経路探索がわからんって話なら、地形の要点にポイント作ってダイクストラ法でいいんじゃないの

676:名前は開発中のものです。
14/04/30 14:35:02.75 Uak2ZaC3.net
ごめんダイクストラ法じゃなくてA*か

677:名前は開発中のものです。
14/04/30 14:50:11.17 49atqyLw.net
経路探索
URLリンク(samples.jbpub.com)

Chapter 5 にあるように 経路探索する。
Chapter 8\Raven_CoarseGraph のようにグラフとして探索する。

678:名前は開発中のものです。
14/04/30 16:08:24.08 L0vWdcDz.net
>>655
A*はダイクストラの拡張版で、基本アルゴリズムは重複する部分が大きいから、
大筋外してはいないよ
ゲーム用途の経路探索性能は、A*の方がより最適化されるみたいだけど

679:名前は開発中のものです。
14/04/30 16:47:29.58 IG+u4GlD.net
>>647
URLリンク(ideone.com)
そのコードが何か不明だがこういう振る舞いをするという事がわかってれば好きにしろ

680:名前は開発中のものです。
14/04/30 22:30:05.62 vrCaDxEc.net
647です。皆さん色々すみません。
やりたかったのは、例えばコンフィグデータを一括管理するクラスを作って
他のクラスでそれを使う、ような事です。
例として挙げたソースは簡単に書いただけで直接書き換えたいというわけではありませんでした。

関係ない愚痴ですが、こうやれば動くからこれでいいのかな、と作り進めてても
やっぱりおかしいよな、とまた一から作り直す、を繰り返してて制作が全く進みません……。

681:名前は開発中のものです。
14/05/01 03:51:25.76 jedbV3SH.net
スレリンク(ghard板:235番)
  ↑ ↑   ↑ ↑   ↑ ↑

682:名前は開発中のものです。
14/05/01 05:10:34.61 z13QLsnT.net
唯一のインスタンスを保証するシングルトンではなく、
インスタンスは複数作れるけど、実体は同じものを作っている……っていうアルゴリズムあったよね。

>659の場合だと、その方法使えそうな気がするものの……名前が分からんので教えられん

683:名前は開発中のものです。
14/05/01 08:21:56.84 3d6d8Z4v.net
>>659
そんなのグローバル変数でいいだろ
つまんないとこで止まってないで先進めよ

684:名前は開発中のものです。
14/05/01 09:19:18.98 OWwKad9r.net
インクルードガードとexternでおk

685:名前は開発中のものです。
14/05/01 11:26:20.56 HOcvGku/.net
URLリンク(ja.wikipedia.org)
これをプログラムに直すとどうなるの?
大学数学はさっぱり分からないから誰か教えて

686:名前は開発中のものです。
14/05/01 12:30:19.75 Fm1fH+z1.net
>>664
ダイクストラ法は大学数学関係ないぞ
Game Coding Gemsの1か2に解説とソースコードがある

687:名前は開発中のものです。
14/05/01 12:35:48.55 d2ShpQiQ.net
>>664
図のアニメーションと解説を読めば分かると思うが…
難解な数学計算無し。少なくとも高校数学の域は逸脱してない。
記号の意味分からない子向けに手続きを文章で丁寧に解説してる。
下手すりゃ厨房でも「コンピュータってバカ正直な事なんだね…」
と感想を述べながら呆れ顔をしてくるレベル

688:名前は開発中のものです。
14/05/01 12:37:56.10 d2ShpQiQ.net
×「コンピュータってバカ正直な事なんだね…」
○「コンピュータってバカ正直な事をやるんだね…」

689:名前は開発中のものです。
14/05/01 13:21:29.38 d2ShpQiQ.net
>>662-663
同意

690:名前は開発中のものです。
14/05/01 13:56:28.60 z13QLsnT.net
「馬鹿正直」って感想はさ、たぶんコンピュータへの理解の第一歩だよね?

691:名前は開発中のものです。
14/05/01 14:18:18.47 d2ShpQiQ.net
そうなんじゃない?学園祭でマイクロマウスの実演と解説をしてた時の消防や
厨房の反応は楽しかったよ。「かあいい」「頭悪過ぎうー」「きゃはは」
「がんばれー」とかが大半だったけど、眼鏡っ子の厨房が模造紙の解説を
一所懸命に読んでて、繰り出す質問がなかなか賢すぎてこっちが呆れた

692:名前は開発中のものです。
14/05/01 14:26:30.17 0k+QrX5J.net
メンバ変数が全部staticのパターンの名前が思い出せない
モノトーンだかそんなような名前だった覚えがあるけど

693:名前は開発中のものです。
14/05/01 14:27:47.22 d2ShpQiQ.net
monostateじゃね
使ったことないが

694:名前は開発中のものです。
14/05/01 16:56:40.77 ZxuEhXPJ.net
シングルトン モノステート

695:名前は開発中のものです。
14/05/02 00:13:50.98 5CvmG/6A.net
皆さんは描画リストに登録して、Zソートやらしてからとめて描画などしてますか?
2Dで同じようなことを考えてるのですが、描画管理クラスにリストを持たせ、
その管理クラスのメソッドを通してリストへ登録しようとしてます
XNAのSpriteBatchの形が近いです

しかしこの方法だと管理クラスを引数でどんどん渡していかなければいけなく、良い方法がないか探してます
2Dオブジェクトにstaticで管理クラス、または描画リストを持たせた方がいいのでしょうか

設計の話なので明確な答えがないのはわかってます
皆さんの考えを参考程度に聞きたいです

696:名前は開発中のものです。
14/05/02 00:48:59.22 DPIL44M1.net
スプライト的な「2Dオブジェクト」を作って、
そこにパラメータ与えて、あとは自動的に描画されるような組み方してるん?

697:名前は開発中のものです。
14/05/02 01:19:41.25 ZlBT84m3.net
>>674
>しかしこの方法だと管理クラスを引数でどんどん渡していかなければいけなく、良い方法がないか探してます

依存性があるなら明示する(例えばSetterやコンストラクタで注入するだとか)
というのはOO的には無難なお作法だと思うけど。なんか不都合あるの?
(いちいち記述するのがかったるい、だとか)

まぁ、あまりに広範に渡ってその依存性が確認されるなら、グローバルな
存在、グローバルなサービス、として提供してもいいのでは。尤も、描画
モジュールに依存するモジュールってゲームの中では限定的だと思うけどね

698:名前は開発中のものです。
14/05/02 01:31:13.85 Ru1dUuzy.net
表示するもの {
private IDrawable model;
private Vector2 pos;
private 表示するもの[] children;
public void Draw(描画管理クラス){
描画管理クラス.add(model,pos);
for child in child {
child.draw(管理クラス);
}
}
}

699:名前は開発中のものです。
14/05/02 06:36:13.80 Bq1H46te.net
ダイクストラ法ってゴールをコロコロ変える(プレイヤーを追いかける)ことって出来る?

700:名前は開発中のものです。
14/05/02 07:18:20.71 DPIL44M1.net
たとえば屋内を探索するゲームの場合、
ある部屋から別のある部屋へ行く方法ってのは基本的に固定なので、最初に各パターンを計算しておけばいい。

上手く追いかけるように動かしたいってことなら、
有名なところで、パックマンの敵アルゴリズムの話がシンプルでわかりやすいと思う。

701:名前は開発中のものです。
14/05/02 07:57:10.51 gb8xd1Dr.net
自キャラの範囲と、敵の範囲と、とりあえず目指すポイント
みたいな表を作っておけば良いのか

702:名前は開発中のものです。
14/05/02 09:29:13.26 dzhB41LP.net
>>675
2Dオブジェクトは座標、テクスチャを持ち、描画関数内で管理クラスのリストへ登録
という流れを考えてますので、自動的な描画はしません

>>676
やはりプログラムの最初にsetterで登録が一番無難ですよね
不都合はないのですが、2Dオブジェクト全てが
管理クラスのsetterを持つのが気持ち悪く思えてしまい・・・

描画モジュールに依存するものが限定的とは...ゲーム内では殆どのものが
描画されるものだと思ってましたが違うのでしょうか
オブジェクトを管理したりするものは別だと思いますが・・・

>>677
これは結局引数でどんどん渡していくのでは・・・?

703:名前は開発中のものです。
14/05/02 09:52:01.66 Ru1dUuzy.net
>>681
引数で渡していっていいと思う
常に同じ描画管理クラス使うとは限らないし

704:名前は開発中のものです。
14/05/02 13:12:16.23 6RPuKXq0.net
>>681
何故「気持ち悪い」のか言葉で説明できるようにしてみれば
どうすればいいのかわかるんじゃない?

705:名前は開発中のものです。
14/05/02 13:23:32.11 taHVwRQz.net
リストへの登録を描画関数と分ければ?
登録するデータを戻り値にして呼び出し側で登録するとか

706:名前は開発中のものです。
14/05/02 19:21:58.74 dzhB41LP.net
>>682
レンダーターゲットを変えた時などでしょうか

>>683
2Dオブジェクトは例えばスコアや、メニューなどに使用するのに
管理クラスのsetterを常に持ち続けてるから・・・?

>>684
list.add(pObj->draw()); という感じですか?
この場合複数のオブジェクトを描画する時はどうなるんでしょう
スコアクラスは1桁描画を複数回呼ぶと思います
そういう時は戻り値でデータを返せないのでは

結局引数で渡してリストへ登録
または2DObject自身がリストを保持し、そこへ各派生クラスが登録する
という形になってしまうのでしょうか

707:名前は開発中のものです。
14/05/02 20:24:35.53 tEs8rCVt.net
ゲームで2つのプレイヤーの画面を並べる時ってどうしてる?
プレイヤーの状態とかエフェクトとかシングルトンで管理していて今まではどこかのクラスから
Game::instance()->registerEffect(new Effect())
みたいにできたんだけどプレイヤーごとにGameを作るようにしたらこれができなくなって
ゲームのインスタンスをあちこちに渡さなきゃならなくなったんだけどこんなことしないでもできる方法ない?

708:名前は開発中のものです。
14/05/02 20:30:31.53 DPIL44M1.net
話の流れがよくわからないんだけど、

renderer.add(PlayerObject);  //プレイヤーキャラクターのオブジェクトを登録
renderer.add(EnemyObject);  //敵キャラクターのオブジェクトを登録

…みたいなのとは全く別の話?

709:名前は開発中のものです。
14/05/02 20:32:36.22 DPIL44M1.net
>>686
Gameクラスってなんじゃらほい?
いわゆるシーンとかシーケンスってやつ?

710:名前は開発中のものです。
14/05/02 20:37:30.44 Yjnja2zX.net
>686
シングルトンが用を足さない状態だからやめるのが手っ取り早いけど
とりあえずシングルトンインスタンスの取得にID等の引数もたせれば?
引数違いなら違うオブジェクトを返すてのは実装は容易でしょ

こういうどこでも使えるグローバル変数的な状況で使うシングルトンは嫌いだけどな

711:名前は開発中のものです。
14/05/02 20:42:33.50 Ru1dUuzy.net
>>685
レンダリングターゲットを変えたときもあるかもしれないけど、
マルチスレッドで分割してトラバースするこもとあるし。
Direct3D11でコンテキストを複数作れるようになったしね

712:名前は開発中のものです。
14/05/02 20:45:40.07 Gu2dz6L1.net
>>685
戻り値をVectorかなんかにしたら

>>686
instance()に引数渡して特定のインスタンス取得出来るようにする
これまでシングルトンだったのが複数必要になった時点で設計見直した方がいいような気もするけど

713:名前は開発中のものです。
14/05/02 20:54:53.01 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:名前は開発中のものです。
14/05/02 21:46:30.08 Yjnja2zX.net
>>692
EnemyはどうしたってEffectへのポインタが欲しいわけで描画の関係からか複数存在してるとなると
初期化などでずっと持たせるのが嫌ならhitかそれ以上に位置するGameから呼ぶ関数に引数として渡すか
EnemyはGameクラスのポインタ位持ってるならGameのほうにAddEffect関数もたせてEnemyはそれを呼ぶか

スレッドセーフでない設計ならEffectポインタのグローバルか静的関数なGetterとSetter用意して
GameオブジェクトごとにEnemy更新前にSetterでGetterの戻り値となるポインタを入れ替え…止めた方がいいな

715:名前は開発中のものです。
14/05/02 22:17:39.20 DPIL44M1.net
実際のコードでは、Effectクラスから派生した HitEffect とか DeadEffect とかを
Enemy内から呼んでるんだよね?

716:名前は開発中のものです。
14/05/02 22:41:54.83 gb8xd1Dr.net
GameがEnemyを管理するんだったらEnemyに
エフェクト番号とフラグを持たせれば良いんじゃない

717:名前は開発中のものです。
14/05/03 02:03:51.33 aTctHTqN.net
>>687
そんな感じです
ですがそのrendererを渡そうか悩んでます
引数ですとかなり深い(?)ところまで渡す必要があるのではないかという感じです

>>690
引数で渡した方が自由が利きますね
めんどくささと柔軟性のどっちをとるかみたいな感じでしょうか

>>691
座標、テクスチャ、UV、色などのことを考えるとVectorかなんかだときつそうです

とりあえず引数で渡す方向で作ってみたいと思います
オブジェクト指向難しいです...

718:名前は開発中のものです。
14/05/03 06:24:50.92 aTctHTqN.net
ああ、文章にミスが
>>696
rendererを渡そうか×
rendererをどう渡そうか○
です

719:名前は開発中のものです。
14/05/03 14:23:28.87 yzrAO4fX.net
ヒープ領域のオブジェクトを参照で引数で渡したい時ってどういう風に書けばいいの?

720:名前は開発中のものです。
14/05/03 16:01:04.13 ZggXQf33.net
普通に参照渡しするだけだよ

721:名前は開発中のものです。
14/05/03 18:27:55.89 Dtrz+is9.net
void f(A &a);

A *a = new A();

f(*a);

こんな感じゃない

参照って殆ど使った事ないからあってるかどうかわからんけど

722:名前は開発中のものです。
14/05/03 19:07:15.30 hZKN3J0P.net
「ゲームプログラマになる前に覚えておきたい技術」
という本がオススメと言われたんですが、これ持ってる人いませんか?
役に立つ度合いとかアドバイスしてもらえたら嬉しいです

723:名前は開発中のものです。
14/05/03 19:31:10.25 R+meoZG6.net
ゲームプログラマになる前に覚えておきたい技術
01 この本はどんな本か
URLリンク(www.shuwasystem.co.jp)

これを読みましたか?

724:名前は開発中のものです。
14/05/03 20:46:14.95 TVFyIiNS.net
>>693
やっぱりそれぞれが持つしかありませんかねえ
呼び出し元をparentとかして持たせておくのって普通にやっていることなんですか?
この場合だとEnemy::parentにGameへの参照か何かを持たせるとか

>>694
はいそうです

725:名前は開発中のものです。
14/05/03 21:38:49.30 XwaCxcGs.net
重いので持ち運びには向かない、かな

726:名前は開発中のものです。
14/05/03 21:46:57.91 XwaCxcGs.net
>>703
各クラスがどのエフェクトを使うのか?というのをハッキリさせておいて
必要なものだけインクルードするようにすれば、そこまで気持ち悪いことにはならないんじゃないだろうか。
たとえばEnemyクラスは、Effect::GettingItem(アイテム獲得)とかEffect::PlayerDead(プレイヤー死亡)は不要だろう。

それすら気持ち悪いと思うなら(分からんでもない)、
ObserverとかListenerとかCallbackとかその辺に頼るとかでも良いんじゃない?

727:名前は開発中のものです。
14/05/03 22:35:18.25 Kqu7ExT3.net
>>700
参照引数は「読むだけ」を意図してる場合が多いからconst付きが多いかな

>>703
>呼び出し元をparentとかして持たせておくのって普通にやっていることなんですか?
>この場合だとEnemy::parentにGameへの参照か何かを持たせるとか

その疑問は>>674-696のやり取りと同じ話っぽいね、俺も>>704-705に同意かな。
依存関係を明示すると違和感を覚えたり気持ち悪くなるのは、大抵の場合

依存関係の認識(or分析)が大雑把。依存関係を明示するとそれが露見しちゃう。
機能分割が大雑把。依存関係を詳細に分析すると広範に絡み合ってて一体でした。

とか。Gameへの参照は、恐らく要らん情報にアクセスする権利も与えてるから
依存関係の明示というより、広範に渡る権力へのアクセス権の譲渡なのかな?

君はこの世界に神になる。俺はいいと思うけどね。というか、はなっから
グローバルなサービスとして提供してしてもいいかもね。完成させてから
リファクタリングしたほうがいい

個人的な短期小規模開発(作り捨て)なら別に問題ない。完成と反省のサイクルよ

728:名前は開発中のものです。
14/05/03 23:45:58.24 yuGTooJm.net
具体的なEnemyなんてアプリ層なんだから泥臭くていいと思うのだが。

729:名前は開発中のものです。
14/05/04 00:03:34.32 4VZ37tn9.net
すまん、>704はセガ本が物理的に重いって話のつもりだったんだ

730:名前は開発中のものです。
14/05/04 00:09:25.10 LNtKUxSS.net
まあ大概のゲームプログラミング本は重いよね
電子版あるならそっちの方が捗りそうだ

731:名前は開発中のものです。
14/05/04 07:21:43.07 r1PwGAIh.net
描画クラスを作って描画用のインターフェイスを作る
描画されるクラスはインターフェイスを実装
描画クラスはそのインターフェイスをリスト管理し順番に描画
ゲームクラスはデータクラスと描画クラスを管理し
必要に応じてデータクラスを作り、描画クラスに登録
ゲームクラスが当たり判定をして、エフェクトクラスをnew、描画クラスに登録

て感じじゃ駄目なの

732:名前は開発中のものです。
14/05/04 18:09:40.60 Oce/sxqq.net
>>701
サンプルプログラムの修正版があるからそれ見て決めたら?
ちなみに独自のライブラリを使ってる

733:名前は開発中のものです。
14/05/04 21:44:57.67 o3zvQF1I.net
もし、新幹線できたらな
飛行機乗客が減り、飛行場が苦労する
バス乗客が減り、高速道路が苦労する

結果的に、四国地方の経営破たん

734:名前は開発中のものです。
14/05/06 09:11:34.47 WKSS3LlW.net
ポインタに構造体を持たせる場合ってきちんとスマートポインタを使った方がいいの?

735:名前は開発中のものです。
14/05/06 10:42:16.25 2Ki+N293.net
>>711
独自ライブラリですかー・・・
ありがとう。ちょっとどっかで立ち読み出来るまでは買い控えます。

736:名前は開発中のものです。
14/05/06 14:47:05.12 D61HzG9l.net
>>713
本来スマートポインタはラクをするために使う。あとは好きにしろ
あと言語の使い方一般についての質問はプログラム板のほうがいい
【初心者歓迎】C/C++室 Ver.90【環境依存OK】
スレリンク(tech板)

はい、次の方どうぞ

737:名前は開発中のものです。
14/05/06 15:47:49.53 C6PkJkWu.net
そのスレ、ちょっと見たけど罵りばっかじゃないかw

738:名前は開発中のものです。
14/05/06 16:22:09.99 tFTEVnQV.net
x64の64bitビルドでのループ変数とかメンバ変数てint,unsigned intとsize_tどっちが最適なの?
DirectXのAPIが32bit幅なのにSTLは64bitみたいに混在してて決め打ちしにくいんだけど
インデックスとして毎回32bitを64bit拡張と変数を32bitにstatic_castと
タイプ量はともかく実行時に効率いいほうにしたい

739:名前は開発中のものです。
14/05/06 16:27:40.04 D61HzG9l.net
>>716
報告しなくていい。そういう感想は彼らに直に言ってあげな。陰口より建設的だろ

はい、次の方どうぞ

740:名前は開発中のものです。
14/05/06 16:28:53.69 D61HzG9l.net
>>717
かぶったすまん

741:名前は開発中のものです。
14/05/06 16:44:38.90 C6PkJkWu.net
>>718
そんな非建設的な事実上機能していないスレに誘導してどうするんだって事だよ。

はい、次の方どうぞ。

742:名前は開発中のものです。
14/05/06 17:21:27.34 D61HzG9l.net
>>717
例えばループ変数については普通にint使ってるな
参考までに、科学計算系のライブラリでもそんな感じだったと思うよ
計算速度云々が問題になる場合、気にかける場所はもっと別の所かと

743:名前は開発中のものです。
14/05/06 20:22:43.10 HhBjBQsT.net
32bit環境でもint iをbyte iとかshort iにはしない
あとむやみにunsignedにするとsignedにunsigned加算して警告でたり面倒のもと

744:名前は開発中のものです。
14/05/08 22:05:56.40 Np2Vdwsy.net
ローカル変数がautoばかりになってしまうんだけど意図的な型だけ除外しておけば問題ないよね?
constもメンバ関数含めて相当あるけど

745:名前は開発中のものです。
14/05/08 22:48:55.29 v1IR+nQC.net
人間がソースコードを読んだときに
「型が明らかである場合か、あるいは逆に全く意識してほしくない場合にのみ使う……とかにしておけば?

746:名前は開発中のものです。
14/05/09 09:00:26.26 3cnn0QfE.net
ローカル変数にauto使うメリットってある?
イテレータの型書くの面倒くさい、位しか思いつかない

747:名前は開発中のものです。
14/05/09 09:04:31.69 7ikJMhxE.net
十分じゃないか

748:名前は開発中のものです。
14/05/09 13:56:58.03 Kaaj65V1.net
型推論って引数に使ったら勝手にオーバーロードしてくれるんだと思ってたんだが、引数とか戻り値には使えないんだな
iteratorの記述を省略するための機能か

749:名前は開発中のものです。
14/05/09 17:15:23.11 htXiJh1L.net
そういう用途にはテンプレート関数があるしね

750:名前は開発中のものです。
14/05/10 00:22:59.13 6TirXj8H.net
>>725
個人的にはイテレータを簡単に書けるメリットが一番大きいと思ってるが
それ以外で使うとしたら

auto f = new Foo(); //Foo型なのは明らか

とか

//交換
auto tmp = a; //型は明らかではないが意識する必要がない
a = b;
b = tmp;

とかかなあ。
後者は素直にtemplate関数にでも投げたほうが良さそうだけどね

751:名前は開発中のものです。
14/05/10 10:54:20.51 dAeX94+O.net
配列に入ってる複数の要素のうちの一つをポインタに持たせる場合って、スタックのアドレスをポインタに持たせても大丈夫?

752:名前は開発中のものです。
14/05/10 11:11:37.14 hKETio2L.net
>>730
「スタックのアドレス」を「スタック上におかれた配列の要素を指すアドレス」と解釈したけど

URLリンク(ideone.com)
その配列が生きている間は問題ない

753:名前は開発中のものです。
14/05/10 22:40:27.91 +R2ltZ7t.net
const T&amp; f();
void g()
{
auto t= f();
}

ってすると t は const T&amp; 型になると思ってたけど
実はただの T 型でコピーコンストラクタでひどいことになったことあります

754:名前は開発中のものです。
14/05/11 18:46:58.77 8qR2WxrE.net
#include "define/MoneyType.h"
int money[MoneyType.SIZE];

こういう宣言の仕方って出来ないの?
MoneyTypeはenumで
enum MoneyType {
GOLD,
DIA,
SIZE
};

755:名前は開発中のものです。
14/05/11 19:38:27.89 3XauxJKc.net
enumはC++11で整数としてあつかえなくなったってwikiに書いてあった気がする
っていうかその使い方わかりにくいしやめた方が

756:名前は開発中のものです。
14/05/11 19:44:07.91 3XauxJKc.net
訂正
static_castでキャストすればいけるっぽい

757:名前は開発中のものです。
14/05/11 19:59:02.14 yHWGVGOF.net
GOLD,DIA,SIZEって何かと思ったけど、もしかしてお金の単位なのかな?

758:名前は開発中のものです。
14/05/11 21:01:42.40 KSscCZAl.net
MoneyType::SIZEかな?
ただこれだと再定義のエラーが前出たような気がする

759:名前は開発中のものです。
14/05/11 21:04:03.89 9RoLwWBR.net
>>733
enum class MoneyType:int
{
GOLD,
DIA,
SIZE
};

int money[ MoneyType::Size ];

760:名前は開発中のものです。
14/05/11 21:06:37.47 KSscCZAl.net
適当に書いちゃったけど何をしようとしてるのかいまいち理解出来ないw

761:名前は開発中のものです。
14/05/11 21:14:58.11 9RoLwWBR.net
enumの要素数を静的に得たいんでしょ
将来お金の種類増えるかもしれないとか
配列使うぐらいならvectorにしとけとも思うが

762:名前は開発中のものです。
14/05/11 21:51:52.47 3XauxJKc.net
構造体じゃいかんのか

763:名前は開発中のものです。
14/05/12 00:24:54.73 cE27KFFY.net
実際に使うの想像してこうなった。
例えば複数の種類のお金で買えるショップ機能を作りたい場合、
ショップ側でMoneyTypeという型と整数を持っておけば、処理が楽かなと思ったんだけど

764:名前は開発中のものです。
14/05/12 01:09:04.70 u2hQW3ha.net
つまり>740が正解っぽい?

765:名前は開発中のものです。
14/05/12 14:46:27.12 Pch/P8kY.net
ゲームで何時でも何処でも参照、代入できるデータって一般的にどうやって管理してます?
(例えば主人公のデータとか色々な場面で使いそうなもの)
今まで単純にデータクラスの中に静的メンバ変数で定義してグローバル的にやってたけど、
たまたまシングルトンで管理してるソースを見つけて、色々あるのかなって思った

766:名前は開発中のものです。
14/05/12 18:22:11.56 cE27KFFY.net
シングルトンは嫌だからゲームマネージャークラス作ってそこにプレイヤーデータのポインタ持たせたりしてるけど、どうなんだろう??

767:名前は開発中のものです。
14/05/12 18:22:35.24 gXmiaEA2.net
3Dゲームでカメラを遅らせて動かす場合って角度を線形補間してベクトルにしてる?
それともクォータニオンで球面線形補間してる?

768:名前は開発中のものです。
14/05/12 20:18:49.99 u2hQW3ha.net
>>745
グローバル変数は可能な限り減らす、という理念の上でやってるなら、
それは実に正しい手法だと思うよ

769:名前は開発中のものです。
14/05/12 22:53:45.27 Qk7dokdu.net
グローバル変数使いまくりの俺だが、グローバル変数は使わない方がいいと言われて
その方向でプログラム書き直したところ、手間の物凄く増えて辟易。
やり方を間違ってるんじゃないか感が半端ない。

770:名前は開発中のものです。
14/05/12 23:01:55.91 Qk7dokdu.net
あるプログラム本に「JAVAなんかは誰が組んでも似たようなものになるが、
C++プログラムは人によってまるで違ってくる」とあったが本当みたいね。

本や解説サイトによって、サンプルがかなり違ってるようで混乱しまくるわ。

771:名前は開発中のものです。
14/05/12 23:39:44.01 4H1ieXj2.net
グローバル変数どうのこうのは保険をかけるためのもので手間を減らすものではないから仕方ないね

772:名前は開発中のものです。
14/05/13 06:24:12.16 hs5B6JyN.net
グローバル変数使わずにやろうとすると関数の引数が複雑になりがちだからな
一人で作ってるコンパクトなプログラムくらいだったら使いまくりでいいと思うわ

773:名前は開発中のものです。
14/05/13 10:40:34.58 lZBhyb5G.net
グローバル変数は初期化の順序が問題になる
複数のソースコードのあちこちに点在してるとそれが顕著になり
グローバル変数がクラスで依存関係があると動作保証が難しい
せめて組み込み型以外はポインタ型にして初期化の順序を決めちゃうのが安全

774:名前は開発中のものです。
14/05/13 11:22:50.82 i7OBK+99.net
>>738
'MoneyType' is not a class or namespace
ってでる

visualstudio2010だと出来たと思うんだけど、
Eclipse4.3だと出来ない

C++のバージョンによってなんか変わったのかな

775:名前は開発中のものです。



776:
>>753 enum classはC++/CLIだからだろ Cにそんな構文はない 俺はC++には詳しくないけど実はあるのかな



777:名前は開発中のものです。
14/05/13 13:16:16.22 LR5OHySp.net
C++11から入った構文

778:名前は開発中のものです。
14/05/13 22:03:52.41 VqkITLrD.net
グローバル変数はこう書けば良いんじゃね
使うところでだけglobal.hをインクルードしてさ

grobal.cpp
int a;

groubal.h
#ifndef _GLOBAL_H_
#define _GLOBAL_H_

 extern int a;

#endif

779:名前は開発中のものです。
14/05/13 23:05:24.12 RPOQlcBK.net
>>756
わざわざ識別子を _ で始めるなんて沸いてるんじゃない?

780:名前は開発中のものです。
14/05/13 23:15:35.87 dsNPksM9.net
是非はともかく、よく見かけるけどな

781:名前は開発中のものです。
14/05/13 23:46:55.80 VqkITLrD.net
>>757
じゃあなんて書くんだ?

782:名前は開発中のものです。
14/05/13 23:51:06.96 dD8wYEBQ.net
アンダーバー始まりは処理系予約とかじゃ無かったっけ
慣習的に

783:名前は開発中のものです。
14/05/13 23:59:25.01 VqkITLrD.net
>>760
まじかよ
学校でこう習ったよ
何でそんな書き方教えるんだよ
まぁ開発はVSだから#pragma onceしか書かないから知らんかっただけっすけどね・・・

784:名前は開発中のものです。
14/05/14 00:50:31.19 qOCHvgWh.net
>>756
>>663

ついでにnamespaceにぶち込んでもいいのよ

785:名前は開発中のものです。
14/05/14 00:53:50.93 qOCHvgWh.net
>>761
gccでもいつの間にかpragma once使えたりするんだよな
あれ、サッサと標準仕様に盛り込めばいいのになと思うよ

786:名前は開発中のものです。
14/05/14 01:34:53.87 Bv7wzu+p.net
だいたいのコンパイラが対応してるみたいだしデファクトスタンダードってところ

787:名前は開発中のものです。
14/05/14 02:44:20.77 SkdpMvQe.net
効率的には#pragma onceの方がいいと聞いたことはあるが
IDEによるかもしれん

788:名前は開発中のものです。
14/05/14 03:12:47.17 YePF79fh.net
単純なi nclde guard は力技の処理だけど
pragma once は処理系次第で最適化されてるからね。

複数のプラットフォームを想定するなら
安全策をとって両方記述するのがオススメ。
pragma once があれば効率的に処理してくれるかもしれないし、
もしpragma once を理解できない処理系でも
inlude guardは必ず処理してくれるからね。

789:名前は開発中のものです。
14/05/14 10:10:49.06 2wCAVOdx.net
>>766
両方記述?寝言は寝て言えw

790:名前は開発中のものです。
14/05/14 10:25:37.80 vvdSHZVH.net
VC++に#pragma onceが入ってすぐの頃は
自動生成したヘッダには#pragma onceと#ifndef-define-endifが
コンパイラバージョンによって自動で切り替わるように書かれてたと記憶している
その辺から考えても、両方書くのは無駄じゃない

791:名前は開発中のものです。
14/05/14 12:46:41.03 1doe1mvx.net
std::mapにenumとかstructを使いたいんだけど
template argument 4 is invalidっていうエラーが出ます

具体的には
map<アイテムID(enum型),アイテムパラメータ(struct型)> aaaaa;

って感じです。

パラメータっていうのはその名の通りアイテムを装備するとstructのメンバの
addHPとかaddMPっていう変数の分だけ上昇する感じで、

使い方はプレイヤーはアイテムIDだけ持っておけば、あとは必要な時々で値だけ取得できるかなという感じです。

792:名前は開発中のものです。
14/05/14 13:13:18.32 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:名前は開発中のものです。
14/05/14 13:15:39.85 Ocn3g8OS.net
>>769
比較関数がないって怒られてるんじゃね
一つ目の型を enum型じゃなくて int に変更するわけにはいかないの?

794:名前は開発中のものです。
14/05/14 14:08:33.50 Ke2wFa7k.net
そもそもそれmapにする意味あるのか?
>>733みたいな感じで配列で十分な気がするんだけど

795:名前は開発中のものです。
14/05/14 15:29:04.69 Ocn3g8OS.net
map だと必要な分だけ使えるじゃん

0~ イベントアイテム
10000~ 武器
20000~ 鎧

みたいに

796:名前は開発中のものです。
14/05/14 16:29:43.89 YPHrxvGY.net
enum使うなら10000から武器みたいな区分けがそもそも必要ないと思うんだけど

797:名前は開発中のものです。
14/05/14 21:01:01.54 qOCHvgWh.net
>>769
それ、>>770で動きますよ

>>772-774
仮に、実行時に追加削除更新等なし、静的、参照専用、の情報の集合
という前提条件であればstd::map(赤黒木)を使う合理性はあまりないかな

>>773のようにキー番号が連続してないのでれば、ハッシュマップの類の
ほうが向いてますね
URLリンク(research.preferred.jp)
補足:記事中のLoki::Assoc


798:Vectorとほぼ同じものとしてboost::flat_map もあります。でも、>>774の言う通り、結局vectorでおkにもできますね ま、完成しない(動かない)事に比べればどれ選んでも瑣末な違いなので (特に昨今のPCなら)好きなの選べばいいかと思います。身も蓋もないね



799:名前は開発中のものです。
14/05/14 23:37:56.68 XQ3tGmyB.net
>>770
enumの最初を0と明示するだけで変わるんです?

800:名前は開発中のものです。
14/05/15 13:17:04.58 vi3A9MFw.net
変わらないですよ。試せばすぐ分かりますけど、ム板のスレに誘導されたいです?

801:名前は開発中のものです。
14/05/15 17:35:02.68 CM4Haxt/.net
普通に動くよね
コンパイラのバージョンとかで古いのだと駄目なのかな

802:名前は開発中のものです。
14/05/15 19:15:22.94 D0s76qwM.net
実は全然違うところでエラー出てるんじゃないの

803:名前は開発中のものです。
14/05/16 15:57:03.11 RLWXI/UA.net
ナビメッシュのやり方が書いてある本とかサイトとかってある?

804:名前は開発中のものです。
14/05/16 23:45:36.07 bSd/X954.net
> とかってある?

ありますよ
navigation mesh pathfinding algorithm game waypoint graph search
など適当なキーワードでググるといいです。動画によるアルゴリズムの
解説も出てきますね。書籍ならAI Game Programming Wisdom 4 が
個人的にオススメです

805:名前は開発中のものです。
14/05/17 09:32:46.40 a+6vW56R.net
そういうのって概要だけ聞いて自分で考えて作った方が早くない?
サンプルコードみても理解するのに時間がかかるわ

806:名前は開発中のものです。
14/05/17 10:01:46.81 ATk/Gp35.net
ゲームプログラミング本といえばGameProgrammingGemsシリーズなんだかな
最近の若者は読まないのか

807:名前は開発中のものです。
14/05/17 11:06:25.43 7UqYAydx.net
現代の技術の世界において
英語が読めないのは脳が半分無いのと同じ。

それだけのこと。

808:名前は開発中のものです。
14/05/17 12:01:48.26 G1g9tldj.net
翻訳したやつ読めば

809:名前は開発中のものです。
14/05/17 12:34:45.87 /WeYTHrm.net
英語読めてもソースコード読めなかったりするし
プログラムは勉強したところでコード書けないのが大半らしいな
元々作文が下手とかそういう次元ではなく理解できないとか

810:名前は開発中のものです。
14/05/17 12:40:03.20 o9p3b0z7.net
そもそも日本語で書いてあるプログラム解説書だって意味わかんないよw

811:名前は開発中のものです。
14/05/17 13:44:47.33 7UqYAydx.net
>>785
半年遅れで付いていく人間は残念ながら奴隷で終わるよw
英語ができて最先端に追従する奴、ときには自分が最先端を発信する奴に
「あ、こいつバカだなww」と思われながら生きる惨めな三流人生が待っている。

それで良ければ英語なんて学ぶ必要はない。

まぁ、普通は(普通の知性の持ち主は、という意味)
修士課程で英語の論文を死ぬほど読んで
「喋れないけど読める」という妙な英語力を身につけられるんだけどねw

812:名前は開発中のものです。
14/05/17 14:19:53.26 ZLhv9Phh.net
相変わらず病んでますね

813:名前は開発中のものです。
14/05/17 14:53:46.32 k3uAdR/A.net
とりあえずナビメッシュのやり方教えて

814:名前は開発中のものです。
14/05/17 17:55:58.84 ZLhv9Phh.net
780の人ですか?
具体的に何をやってみてどこでつまずいてるのか話せば答えやすくなるかと

815:名前は開発中のものです。
14/05/17 18:02:04.88 G1g9tldj.net
URLリンク(www.lameije.co.jp)

これじゃあかんのか

816:名前は開発中のものです。
14/05/18 17:48:20.69 bAjzsQ9M.net
オクツリーに障害物を表示させたいんだけど、オクツリーのある場所がどの座標なのかを


817:調べる方法ってある?



818:名前は開発中のものです。
14/05/18 21:18:36.16 uYYY8hgN.net
ボクセルのインデックスを座標のビット配列にしてインデックスからボクセルの位置を取得

URLリンク(marupeke296.com)
これを3ビット毎にすれば出来ると思うんだがどうだろ

819:名前は開発中のものです。
14/05/19 04:39:02.31 XNC2jE/Y.net
この入門?みたいなサイトで勉強してたんだけどつまづいたので分かる方いたら教えてください
URLリンク(bituse.info)

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:名前は開発中のものです。
14/05/19 05:31:35.17 FdnDAUlP.net
enemyの型がポインタの配列になってないんじゃないの

821:名前は開発中のものです。
14/05/19 10:00:14.39 hjxHIKHc.net
こうかな
正:ENEMY *enemy[ ENEMY_NUM ];
誤:ENEMY *enemy;

サイトを見ると省かれてるみたいだけど
敵を複数出すようにした時点で enemy を配列に変更しないといけない

822:名前は開発中のものです。
14/05/19 11:05:51.60 CSMuM09V.net
これコンストラクタの引数なんで構造体の参照渡しじゃないのか
無駄に読みにくいわ

823:795
14/05/19 11:33:54.01 XNC2jE/Y.net
できました。
ご指摘の通り、enemyを配列にしたら無事にコンパイルできました。

ちょっと私にはわかりにくいサイトだったようなので別のところで勉強してみます・・・

824:795
14/05/19 11:34:28.24 XNC2jE/Y.net
お礼を忘れていました

ご指摘ありがとうございました。

825:名前は開発中のものです。
14/05/23 00:32:00.04 61iiZtPG.net
おらLAMPしか知らないんだけども
C++で作ったリアルタイムなネットワークゲームのオンラインサーバって
どういう環境で動いてんだべ?
ソシャゲならPHPでhttpでいいかもしんねけども、
ネトゲって実行ファイル動かし続けてんのかね

826:名前は開発中のものです。
14/05/23 00:34:30.27 BlMjMm70.net
>>801
お前から感じるそのしったか臭は一体何なんだ?

827:名前は開発中のものです。
14/05/23 01:25:45.01 61iiZtPG.net
>>802
そんなこと言っても知りたいってのは本当なんだけど
ていうかソシャゲってphpでhttp返してるって聞いたんだが違うのか
ソース3種類ぐらい別のところから聞いたからそうだと信じてたけど

828:名前は開発中のものです。
14/05/23 01:54:24.22 W5hvE4XG.net
上から目線だと>>802みたいなのが湧いて終わりw
それがネットの宿命。

和光同塵に励み、
下から目線で質問すると、
「そんなのこと知ってるよヴァカw」ってレベルの奴がトクトクと語り始める。
人生ってのは上手くいかないものだ。

やはりアドヴァイスはリアルな知り合いに、
顔を付きあわせて語り求めるのが一番良い。

ネットで集まってくるのは多くの場合クズだ。

829:名前は開発中のものです。
14/05/23 04:11:24.69 R2Hq6koN.net
>「そんなのこと知ってるよヴァカw」ってレベルの奴がトクトクと語り始める。

そうかな。
知ったかが知ってる振りをして偉そうにした挙句、何も実のあることは言わずに去るだけな気もするが。

830:名前は開発中のものです。
14/05/23 06:08:22.99 61iiZtPG.net
いや質問してるんだけど

831:名前は開発中のものです。
14/05/23 08:01:15.27 VwzG+tx8.net
知ったかだけど

C/C++ならOSのAPIかライブラリ使ってTCPとUDP使い分けでしょ
PHPでもソケット通信


832:出来るらしいし言語はなんでもいいんじゃないの 実行効率の問題はあるだろうけど



833:名前は開発中のものです。
14/05/23 08:49:57.28 UZe2P6GU.net
個人のゲーム製作でC++使うメリットってあるかな?
Cの方が小回り効くし使いやすいと思うんだが

834:名前は開発中のものです。
14/05/23 08:57:29.89 WZOW9ZIo.net
C++のほうがゲーム向き。
基本的にC言語の機能を全て含んでいて、追加部分を使いたくなれば使わなければいいだけ。
使って便利な機能を使うことで開発効率は上がる。

835:名前は開発中のものです。
14/05/23 09:01:24.07 UZe2P6GU.net
多人数やチームで作るなら保守性とか高いし必要だとは思うんだけど
個人製作なら手続きが多い分無駄な気がするんだよね>C++

836:名前は開発中のものです。
14/05/23 09:24:40.27 J41CukcG.net
複数のゲームオブジェクトが相互作用するような場合はポリモーフィズム使うと楽になる
継承して独自の部分実装すれば新しいオブジェクト作れるしメンテもしやすい

837:名前は開発中のものです。
14/05/23 09:25:32.36 gVP8nGPF.net
準備されてるクラスライブラリが圧倒的にC++の方が便利

838:名前は開発中のものです。
14/05/23 09:32:14.08 mJ3PfvgI.net
スマートボインタとかCじゃできないしな

839:名前は開発中のものです。
14/05/23 09:40:35.21 61iiZtPG.net
構造体でオブジェクト表現してるのか

840:名前は開発中のものです。
14/05/23 10:13:18.75 UZe2P6GU.net
構造体でほとんど間に合うと思うんだよな。
トリッキーに何しても怒られないし。

841:名前は開発中のものです。
14/05/23 10:19:18.29 3Qz0nlZE.net
C++使ったらコードの見通し良くなって楽ってだけで、Cに慣れてるならそりゃCの方が楽
ミニゲーム程度ならどっち使っても変わらん

842:名前は開発中のものです。
14/05/23 10:21:23.05 u1Ct/Di+.net
構造体を引数としてとる関数は文が長くなりがち
構造体に関数ポインタ入れるより仮想関数のが簡潔に書けるし分かり易い
名前空間がないと名前の衝突が起こるから冗長なプリフィクスが必要になる
DirectXとかCOM周りはC++のが簡潔に書ける

843:名前は開発中のものです。
14/05/23 10:35:11.17 UZe2P6GU.net
慣れてるせいなんだろうけど関数ポインタで簡潔に書けちゃうんだよな。
むしろ手続きや決まりごとの分C++の方が長くなっちゃうんだよ。
スマートポインタも俺からするとプログラマが解放し忘れてても勝手に解放って逆に怖いと思うんだよ。
メモリの使用状況なんかデバッグ画面かなんかで常に確認するべきだしメモリの解放は意識してやりたいなあ。

844:名前は開発中のものです。
14/05/23 10:48:05.07 u1Ct/Di+.net
意識してスマートポインタ使うんだから開放されるタイミングは判る
気にしないのは実装部分だけ
いくら自前で管理しようとも例外をsetjump/longjumpで無理やり組むしかないCには容易には出来ない安全性もある
逆にオーバーロードとかコピーが複雑なので頼ったほうが良いC++の悪さの部分でもあるが

845:名前は開発中のものです。
14/05/23 10:50:19.88 WZOW9ZIo.net
自動開放で平気だ。
かなりの言語が強制て自動開放を取り入れている。
パフォーマンスだけの問題だろう。

846:名前は開発中のものです。
14/05/23 10:59:56.27 UZe2P6GU.net
俺がアセンブラ時代から組んでるせいなんだろうけど自動解放って怖いんだよな。
メモリの管理状況やクリアも全部自前のプリミティブな関数でやりたいと思っちゃうんだよな。
まあ気にし過ぎなのかもしれないね。
昔はCも最適化が甘くてオーバーヘッドが酷かったからどうも知らない間にメモリを触られてたりするのが信用できなくてなあ。

847:名前は開発中のものです。
14/05/23 11:06:17.74 u1Ct/Di+.net
スタックの自動開放も怖いのかい?寿命で消えるのは同じことだよ
アセブンブリ出力みてりゃ大したことやってないよ

848:名前は開発中のものです。
14/05/23 11:12:25.32 WZOW9ZIo.net
C言語のauto変数も勝手に開放するな

849:名前は開発中のものです。
14/05/23 11:14:29.88 UZe2P6GU.net
ま、俺の気にし過ぎなんだろうね。

初心者が構造体のコピーとか平気で書いちゃってんの見てビックリしたりする方だからさ。
記述は簡潔だけどその一文でどのくらいオーバーヘッドかかってるかわかって書いてんのか?とか思っちゃうんだよ。
簡易なコード記述の生産性と実行速度は別なんで、その辺はなるべくコワモテでいいんじゃないかと思うんだよ。

850:名前は開発中のものです。
14/05/23 11:15:51.86 WZOW9ZIo.net
CとC++の話で自動開放の話になるのがそもそもおかしいな。
C++はガベージコレクションを取り入れたわけでなく、メモリ管理についてはCと大差ないだろ。
Cでもスマートポインタ使えるだろ。

851:名前は開発中のものです。
14/05/23 11:16:04.73 wh7XodOP.net
ID:UZe2P6GU
わかる。deleteのタイミングって自分で管理したい。
そもそも、スマートポインタに頼ろうという発想が出る時点で、
そのソースはすでにごっちゃになってないかと問いたい。

852:名前は開発中のものです。
14/05/23 11:25:27.68 LtRYMhK0.net
スマポのソース見ればどうなるかきっちりわかるんだから見てみりゃいいじゃん

853:名前は開発中のものです。
14/05/23 11:28:39.46 u1Ct/Di+.net
>>826
好きな時にnullptrを入れて開放してもいいんだぜ
スマートポインタのオブジェクトの寿命=解放のタイミング、一部がコピーで寿命が移動するだけなんだから
Cでmallocしたポインタの値を見失うことがないようなプログラムの組み方ならごっちゃにならない

854:名前は開発中のものです。
14/05/23 11:33:42.15 CnVFPzVq.net
関数のデストラクタとかあれば良いのにな

855:名前は開発中のものです。
14/05/23 11:33:43.66 WZOW9ZIo.net
Boehm GC を使う

The Boehm-Demers-Weiser conservative garbage collector (Boehm GC) は、C言語用のメジャーなガベージコレクタ。
さまざまなソフトウェアがこのライブラリを使っている。

ガベージコレクタを使うと、メモリを好きなだけ確保するだけでよく、解放は自動的にしてくれる。
巨大なメモリを明示的に解放するような場合のほかは、メモリを解放するコードを書く必要はない。

Boehm GCは、保守的GCという方法でガベージコレクトする。定期的にメモリ内を走査し、使われていないと見られるオブジェクトのメモリを回収していく。
Boehm GC以外では、boost::shared_ptrが参照カウント方式を用いている。
URLリンク(www.nslabs.jp)

856:名前は開発中のものです。
14/05/23 11:38:28.27 Q1W0mucT.net
プログラマがコントロール出来ないGCは処理落ちの原因になるからやめた方がいい

857:名前は開発中のものです。
14/05/23 11:41:53.89 UZe2P6GU.net
>>831
同感。こういうのが嫌なんだよ。
記述上だけでスマート・簡潔に組めたつもりで実際は実行速度がグダグダになってる。

858:名前は開発中のものです。
14/05/23 11:45:53.20 wh7XodOP.net
>>827


>>828
そもそもの動機だよ。誰がスマートポインタをなぜ欲しがるのかってこと。
既にnew/delete対応なんてスッキリハッキリ管理されてるはず。
スマートポインタが活躍する一部場面がある、というのなら限定的に使っていいと思うが、
それはそれ、それだけのこと。

あとたぶん、ID:WZOW9ZIoはもう喋らないほうがいいな。

>>831
たとえばC#でゲームつくってるとGC動かさないように気をつかったり、
GCの実装に振り回されたり、なんとも滑稽な事態に陥るw

859:名前は開発中のものです。
14/05/23 12:03:37.45 HE2P9lkw.net
>>833
標準ライブラリとかboostのソースコードにスマポのソースコードあるでしょ?
それ見ればどういうタイミングで解放されるかわかるんだからきっちり自分でコントロールできる

860:名前は開発中のものです。
14/05/23 12:04:27.91 u1Ct/Di+.net
>>832
他所の実装の関数呼び出しで見た目だけ簡潔に組めたとしても、その関数が遅いかは不明だからな
スマートポインタと全く違うGCは要らないけどな

>>833
動機なんて解放のコードがあちこちにあるより最初に決めておいた方が楽だろ
newは一個でも同じような解放コードのdeleteがあちらこちらの関数に書かれていて
分岐によりそれが実行されるかは不明よりはいいと思うので
デストラクタのおかげで関数後半にfreeが消えるだけでも記述、確認の手間も省ける

コストも結局開放するのなら軽いunique_ptrみたいのならCと変わらんよ
shared_ptrをスマートポインタと想定して言ってるのかもしれんが

スマートポインタなくてもCよりC++のが楽にはなったと思うけどな
Cから移行したときは同名関数の引数違いのオーバーロードですらありがたいよ

861:名前は開発中のものです。
14/05/23 12:19:19.44 wh7XodOP.net
>>835
new/deleteの対応がおぼつかないようなコードは既に臭ってる。
俺の言いたいことはアンタには十分伝わっている気がするんで終わる。

> 引数違いのオーバーロードですらありがたいよ

それよ。名前空間とオーバーロード。
これだけで名前に関する負担が減って十分嬉しい。

862:名前は開発中のものです。
14/05/23 12:40:36.19 RKONZ/AN.net
スマポって仕組みよくわからんのだけど参照カウントという奴をオペレーターに仕込むのか?
プログラマが代入するたびにカウント++するわけじゃないだろうし

863:名前は開発中のものです。
14/05/24 02:12:28.67 +nV/dxKWG
>>837
スマポ=参照カウンタではない
C++11のスマポはunique,shared,weakの3種類ある

864:名前は開発中のものです。
14/06/08 14:02:34.45 pt28O8XW.net
UIならシーンの初期化の時に全部読み込むだろうし、その時にソートしとけばいいんじゃないの

865:名前は開発中のものです。
14/06/08 14:07:29.29 tkJLCxRy.net
そもそも2Dの優先順位の決定にレイを飛ばす理由が不明、
画像のインスタンスを見るというのも意味不明。

866:名前は開発中のものです。
14/06/08 15:23:55.84 yGlWShIZ.net
レイ撃ってヒットの逆順に描画するんじゃないの
無駄過ぎて鼻水吹き出しそうな話だけど
画像のインスタンスって言ってんのはスプライトの事かな

867:名前は開発中のものです。
14/06/08 19:22:29.67 8RotVtW9.net
クリックした要素が何かを探したいんだろうけど
画面を経由する必要があるほど不定形でぐにゃぐにゃしたUIなんだろうか

もしどうしてもやる場合は
俺ならオフスクリーンバッファにどのUIがトップかを書くかな

868:名前は開発中のものです。
14/06/08 22:43:04.22 vGgKRzGn.net
z値をインデックスにすれば深度マップで取得できるんじゃね?
と思ったけど、vramアクセスはパフォーマンス悪そうだな

869:名前は開発中のものです。
14/06/09 13:50:23.16 z2Jj9BRG.net
OpenGLのポリゴン描画で影を描画すると、影が赤くなるんだけど、黒くする方法ってある?
スレチだったらごめん・・・

870:名前は開発中のものです。
14/06/09 15:07:01.85 F4+Sq4Or.net
方法も何も、そもそも赤くするコードを書かない限り赤くならない。

871:名前は開発中のものです。
14/06/09 15:12:29.18 HlN0nBf5.net
「プログラムは思ったとおりには動かない。書いた通りに動く」ってな
物凄いレアケースでハードウェア絡みかもしれんが
もう一度コードを見直しが先決かねえ

872:名前は開発中のものです。
14/06/09 18:40:16.51 EHfKfPgC.net
エスパーするが
色構造体のバイトオーダー間違ってないか

873:名前は開発中のものです。
14/06/09 22:51:10.63 OtG7NFYQ.net
OpenGLで通常のモデルはちゃんとでて、影だけおかしいとかだと、
LIGHTINGやTEXTUREのEnable/Disableの切り替え忘れとかがありがちかなぁ

874:名前は開発中のものです。
14/06/09 23:44:28.20 hvcdW5Tu.net
DXライブラリをEclipseで使うやり方を教えて下さい。
詳細に教えてなんて言わないんで、解説してくれているサイトを教えて下さい。
情報が少なすぎるのか、調べ方が悪すぎるかのどちらかで、


875:アホな初心者にはできません。



876:名前は開発中のものです。
14/06/09 23:45:24.91 6mNjaANt.net
GL_REDの影テクスチャをそのまま掛けてるとか?
vec3 out = in * texture2D(shadow, uv).rrr;
みたいにする。

877:名前は開発中のものです。
14/06/09 23:53:17.10 Cpf1syLL.net
>>849
「exlipse DXLib」の検索ワードだけでゴロゴロ出てきたんだが?

878:名前は開発中のものです。
14/06/10 00:12:02.20 U4gTkVOf.net
>>851
ageてしまった。

それは以前にやったのですが、よく理解できませんでした。
URLリンク(moge32.jugem.jp)
検索2位(1位は繋がらない)ここに書いてあることは直接Eclipseのことを書いてないように思うのですが、
これが必要最低限の情報だったりするんですか?

879:名前は開発中のものです。
14/06/10 00:57:17.61 SZhDftiM.net
そのキーワードでググって1位見れたよ。
何か重くて表示されなかっただけでね。
キャッシュからも表示できたし。

880:名前は開発中のものです。
14/06/10 07:35:08.91 iWwQEe0D.net
よく知らないが、Eclipseで、
ライブラリのパスを参照設定するだけじゃないの?
他に、何かすることがあるの?

881:名前は開発中のものです。
14/06/10 10:32:37.64 +XEl/HM2.net
デバッグや配布時に設定が必要くらいでね

882:名前は開発中のものです。
14/06/10 10:47:00.49 WVu4972r.net
EclipseよりVisualStudioのほうがいいんだけどね
きっとインストール権限ない環境かハードディスク残量の問題なんだろうね

883:名前は開発中のものです。
14/06/10 15:15:51.09 YWMLszVd.net
宗教上使えない人もいるのです

884:名前は開発中のものです。
14/06/10 19:07:12.75 O01gD3CA.net
棄教しろバカ。
棄教できなければ.NET framework神に詫びながら死ね。

885:名前は開発中のものです。
14/06/10 21:45:01.86 8Lf3BwfT.net
EclipseもNetBeansもクソ

886:名前は開発中のものです。
14/06/11 09:08:28.52 0bKjwM6R.net
Win以外の開発はどうするのさ

887:名前は開発中のものです。
14/06/11 09:16:03.77 WKLN/gkV.net
でた!屁理屈。Window以外でDXライブラリでゲームを作成されてるのですね。
でしたら、お好きな環境を選択されればよろしいとおもいますよ?

888:名前は開発中のものです。
14/06/11 09:21:09.41 0bKjwM6R.net
いやdxでとは言ってないが
OpenGLでいいでしょ
マルチプラットフォーム対象にするときどうすんの?

889:名前は開発中のものです。
14/06/11 09:25:44.99 WKLN/gkV.net
>848

てか、だから好きにすればいいよ

890:名前は開発中のものです。
14/06/11 09:27:05.23 x/9Nmlpu.net
実際のところゲーム会社ってWindowsとMacだったらどっちが多いの?
あと、プログラミング言語とかライブラリとか
そもそもUnityの会社だってあるし・・・

891:名前は開発中のものです。
14/06/11 09:47:50.90 z9TU/419.net
スマホ向けは大概Mac
MacのXCodeじゃないとiOS向けにコンパイル出来ないので
その環境でAndroidアプリも作るからeclipseも入れる
Unityも結局iOS向けはコンパイルにMac必要だからMacになる
Win向けはまあVisual Studioでしょ
コンシューマはわからんけど箱むけならVisual Studioなんじゃない

892:名前は開発中のものです。
14/06/11 09:54:53.44 EKg7DQSq.net
VisualStudioが強すぎるのと周辺ツールの関係からWindowsが圧倒的

893:名前は開発中のものです。
14/06/11 09:55:26.50 7EYJGMHz.net
>>864
コンシューマは基本C++で、ライブラリはそれぞれのプラットフォーム用に作られたライブラリ使ってる。
Windows上でデバッグするときは苦肉の策でOpenGLとかで似たように作る。

894:名前は開発中のものです。
14/06/11 09:59:16.67 a2WXiZKM.net
ゲームエンジンならだいたい両方用意されてる。
今なら、Unrealengine4とかCryengineとか。

開発環境ではなくてゲーム本体でPCなら圧倒的にwindows

895:名前は開発中のものです。
14/06/11 11:58:39.64 kbUVkmhq.net
>>863
つまりVSはWindows用の開発以外は使えないって事?
個人開発ならそれでいいけどコンシューマ向けだとキツいと思うんだが
実際の現場ってどうなってんの

896:名前は開発中のものです。
14/06/11 12:36:38.52 0cMdPBr+.net
コンシューマではXBOXのことも忘れないであげてください

897:名前は開発中のものです。
14/06/11 12:36:48.51 korZFgLA.net
>>869
ソニーはVisualStudioで動くやつとgccでのコマンドラインでの開発が選べるのが定番

898:名前は開発中のものです。
14/06/11 12:48:01.72 kbUVkmhq.net
>>870-870
じゃあとりあえずVS使えればゲームプログラマにはなれそうな感じなのかな

899:名前は開発中のものです。
14/06/11 13:04:58.50 korZFgLA.net
>>872
いや、VS使うだけなら出来て当然なので
あんま意味ない
使えればプログラムかけるかっつーとそんなことはないわけで

APIとかだいたい独自なので、マニュアル読んで理解して使いこなす能力がないとお話にならない

900:名前は開発中のものです。
14/06/11 13:42:18.25 7WXZfC9n.net
なんで皆そんなに業界に詳しいの?
プロなの? それとも聞きかじり情報?

901:名前は開発中のものです。
14/06/11 17:05:26.88 0icQ1bsR.net
妄想

902:名前は開発中のものです。
14/06/11 19:56:24.00 ZrP26BdU.net
VSとかEclipseとかXCodeとかUnityとかUEが使える使えないじゃなくて
どんな環境でもプログラム書いて動かすものが作れるっていうのが重要なわけで
弘法筆を選ばず

903:名前は開発中のものです。
14/06/11 21:51:51.20 WrX8Es+8.net
でも成熟した産業だし、デファクトスタンダードとかあるんじゃないの
OSX&#8226;iOSならXCode、Androidならeclipseで鉄板だし
コンシューマは各プラットフォームのライブラリ使えればVSで行けるみたいだし
学習するならとりあえずターゲット絞った方がいいと思うけど

ゲーム会社に就職するなら、だけど

904:名前は開発中のものです。
14/06/11 21:55:19.66 7WXZfC9n.net
>>876

弘法じゃない凡人は一本の筆を使いこなせるようになるにも一苦労なので筆を選ばざるをえない。

905:名前は開発中のものです。
14/06/11 22:00:45.16 SywAyYwT.net
どれか一つのIDEをしばらく使ってみて、ビルドの工程が理解できてくれば、
どんなIDEでも基本的な操作は出来るようになるよ

906:名前は開発中のものです。
14/06/11 23:04:20.34 7MaR9GBn.net
特定のIDEに習熟しようとしたって、
どうせ習得してはまた新たな壁にぶつかるという
ラッキョウの皮をむくようなことになるだけだけどな。

IDE らっきょ

907:名前は開発中のものです。
14/06/11 23:08:17.00 V2TD8Zeq.net
>>877
Xcode とかバージョンかわるたびに前のプロジェクトがうまく動かなくなるとかざらにあるので、求められるのは与えられたものを調べてすぐつかいこなす能力

908:名前は開発中のものです。
14/06/11 23:22:36.32 6wElIYFK.net
NetBeansなんてなかった

909:名前は開発中のものです。
14/06/11 23:30:44.92 SywAyYwT.net
>>880
言いたいことは分かるけど、
>ラッキョウの皮をむく
って例え、経験がないから分からんかったわww
通だなwww

910:名前は開発中のものです。
14/06/12 06:43:31.61 L8Vso62K.net
個人でコンシューマーゲーム作ってみようと思うんだけど、個人でもライブラリが手に入るハードってある?
できればVSで動くライブラリだと助かる
一応ゲーム制作経験はあるから、リファレンスがあれば作れると思う

911:名前は開発中のものです。
14/06/12 07:17:39.83 vRgUoWDI.net
そういう質問をするレベルの人間がコンシューマの開発をしようと考えること自体が、馬鹿の極み。

912:名前は開発中のものです。
14/06/12 07:39:46.78 WfpU2RZu.net
今時のメジャーなゲームハードでは
個人に対しては制限された環境しか与えられていない

913:名前は開発中のものです。
14/06/12 07:56:48.31 0sQ/4i7b.net
XBoxでXNAで作ったゲーム配信出来るサービスなかったっけ

914:名前は開発中のものです。
14/06/12 09:00:44.47 E66MRmQE.net
XNAはC#とかで、C++ではない
VITAのPSMもC#

915:名前は開発中のものです。
14/06/12 09:25:52.94 zPikE+yO.net
unreal


916:でもやっとけ。個人でもライセンス契約すればコンシューマー開発できるぞ。 ライセンス料がいくらかは知らない



917:名前は開発中のものです。
14/06/12 10:16:44.91 eRzlOATi.net
まあ簡単な開発環境いっぱいあるし、1からゲームエンジン作るくらいの気概ないとC で作る意味ないよな

918:名前は開発中のものです。
14/06/12 14:02:33.71 CRNljBu4.net
>>884
PSPならPSP版DXライブラリもあるし割となんでもできるんじゃね

919:名前は開発中のものです。
14/06/12 15:39:57.02 idpLfuQS.net
>>884
一応きくけど作れたとしてそれを売ろうとしたらライセンス料いるって知ってる?

920:名前は開発中のものです。
14/06/12 17:13:06.20 EGqf6ecZ.net
>>884
monogame辺りがフリーかな
PSMとかPS4も対応するみたいだけどライセンス大変そう
仕様はまんまXNAなんでそれらサンプルや資料がそのまま使える
開発活発はただしC#

921:名前は開発中のものです。
14/06/13 02:31:14.01 BxeyyLjb.net
プラットフォームのロイヤルティと
ライブラリやエンジンの利用料をごっちゃにするな

売上なくても固定費取られるんだっけ?

922:名前は開発中のものです。
14/06/13 15:25:42.09 O3W0ptm6.net
PSMは年間8千円くらいだって以前ここで読んだ
PS4のインディーはどうなってるのかな?

923:名前は開発中のものです。
14/06/13 23:11:27.36 NBfAH6Dj.net
PlayStationMobileのパブリッシャーライセンスなら、今は無料じゃないかな(期間限定、終了日未定)

924:名前は開発中のものです。
14/06/14 01:29:28.56 u1apXmDd.net
それ先に言えよ!
登録してくる

925:名前は開発中のものです。
14/06/14 08:02:38.08 cW1M/S3K.net
LeadWerksじゃだめなん?
\10,000前後で再配布無料だし

926:名前は開発中のものです。
14/06/14 14:15:25.01 6iOYhCEE.net
ヘッダーファイルの相互参照を回避するために
class "MapAnimationAdmin";
と前方宣言したんですが
forward declaration of 'struct MapAnimationAdmin'
という構造体と勘違いされているのかエラーが出て出来ません

VisualStudioだと出来たと思うんですが、Eclipseだと出来ないんでしょうか?

927:名前は開発中のものです。
14/06/14 14:40:49.76 37JUYTf3.net
1) ヘッダ内でnew MapAnimationAdmin()しているのが原因 → cppの中でやる
2) #includeの順番がおかしい事に起因している → 順番を正しくする

チェックする場所はこんな所かな

928:名前は開発中のものです。
14/06/14 15:56:40.17 6iOYhCEE.net
すいません、cppのほうでincludeしたら何故かh側のエラーが無くなりました

929:名前は開発中のものです。
14/06/14 17:18:02.71 uMwrWsOs.net
cppでincludeするのは大前提というかなんというか

930:名前は開発中のものです。
14/06/14 17:54:22.34 6iOYhCEE.net
includeされた側にincludeした側のエラーが出るとは思ってもいなくて

931:名前は開発中のものです。
14/06/14 18:46:03.04 37JUYTf3.net
まぁ、c系のエラーメッセージは判り難いからね。

932:名前は開発中のものです。
14/06/18 19:56:58.90 ma8cg4mp.net
今からゲーム作るとしたらDirectX11でいいのかな
まだXP持っててもゲーム用じゃ使わないだろうし

933:名前は開発中のものです。
14/06/18 20:07:43.69 CzJGNNdh.net
1から作るならそれがベストだと思う。
なかなか過去の遺産って捨てらんないよね…

934:名前は開発中のものです。
14/06/18 20:16:18.23 N8Tb0KHM.net
他のプラットフォームに移行を考えてOpenGLていう選択肢も
DirectX12で軽量化やGPU活用の為にまた変わるみたいだし

直よりパフォーマンスは落ちるけどレンダラーだけ切り替えられるマルチプラットフォームの
グラフィックスライブラリやゲームエンジンも有り

935:名前は開発中のものです。
14/06/18 20:37:44.57 FAN59TRz.net
ゲーム作るときの選択肢コピペ誰かつくったら?自分的には↓
DirectX9...古いけど十分、でも古い
DirectX11...現行なので普通はこっち、ゲームエンジンやプログラミングの学習も兼ねるなら迷わずこれ
OpenGL(CP3.2)...マルチプラットフォームなので他機種での動作が可能、ただしライブラリ設計がクソ、他のライブラリにかなり頼る
Ogre3D...将来性も情報量もなし、使うべきでない
Unity...上位機能を望まなければ簡単なプログラミングでゲームが作れる、簡単にゲームを作りたいだけならこれ

C#だがSharpDXやMonoGameもおすすめ

936:名前は開発中のものです。
14/06/18 23:31:34.64 a3SIvP3s.net
OpenGL = Direct3D - D3DX
って感じでシンプルだけどクソではないだろ

937:名前は開発中のものです。
14/06/19 00:13:10.79 nLPcoi9X.net
普及の問題からDirectX9使っとけば間違いないって時代は終わったのか

938:名前は開発中のものです。
14/06/19 00:23:12.04 lO1Eej6E.net
OpenGLがクソな理由
URLリンク(cpplover.blogspot.jp)

XNAもかなりよかったんだが開発停止して昔のVisualStudioを使わないといけないから、もう古いな

939:名前は開発中のものです。
14/06/19 00:40:27.02 D4AdegVY.net
DirectXは何度か改修してるからな10の時にも一気に整理されたし
12でまた同じような事するんだろうな

(・・・・もう覚えるの面倒です)

940:名前は開発中のものです。
14/06/19 01:05:20.37 6/D2oQWW.net
>>911
そこに書いてあることを理由にクソと言い切るのは
ゲーム製作を始める初心者に誤解を招くだけ

941:名前は開発中のものです。
14/06/19 01:29:04.41 lO1Eej6E.net
>>913
OpenGLも選択肢にはなるのは分かるけど……
なによりもオブジェクト指向な書き方ができないのがツラい
技術発表はOpenGLでの実装が多いから先端の技術に興味ある人はいいんだろうけど

942:名前は開発中のものです。
14/06/19 08:14:04.04 31au4KtM.net
>>908
Ogreが情報量少ないて何の冗談だ?将来性は今も開発進んでてIrrlichtよりマシだし
SharpDXとかMonoGameてDirextX9相当だし今時のシェーダーが組めない

943:名前は開発中のものです。
14/06/19 08:27:50.13 BMdZ3LEO.net
SharpDXがDirectX9相当とか
お前こそ何言ってんだ

944:名前は開発中のものです。
14/06/19 08:49:07.49 6/D2oQWW.net
>>914
自分でステータス管理、バッファ管理その他諸々の処理書けばオブジェクト指向で書けるじゃん
DirectXでもAPI直叩きは気持ち悪くて同じような処理書くことになるし

945:名前は開発中のものです。
14/06/19 09:03:30.40 31au4KtM.net
すまん本当に何言ってたんだろう、SharpDX使った事あるのになんかDXライブラリと勘違いしてたかもしれない

946:名前は開発中のものです。
14/06/19 10:23:59.18 88xd9jEp.net
そもそもレイヤの違うもの並べてどうするのと

947:名前は開発中のものです。
14/06/19 11:41:58.64 ioG87yMm.net
DirectXは手続きがめんどくさくてラップすることはあるけど
OpenGLはラップしてると何故か気持ち悪くなる

948:名前は開発中のものです。
14/06/19 15:49:23.76 5ywlWImO.net
マリオカートみたいなの作るとして
キャラクターごとにクラス作るか、キャラクターというクラス作ってパラメーターとかモデルを登録する方式にするか迷うんだけどどうしますかね

949:名前は開発中のものです。
14/06/19 16:22:56.31 OzKIEc04.net
後者でしょ

950:名前は開発中のものです。
14/06/19 19:46:32.64 OSALf3vF.net
>>922
>>922が言うようにキャラクタークラス作ってパラメーターやモデルを登録する方式が良い

ただ、キャラクタークラスを継承したキャラクター毎のクラスが在ってもいいとは思う

951:名前は開発中のものです。
14/06/19 19:56:52.61 c9nisOjB.net
キャラクター毎に全く挙動が変わるならそれぞれクラス作るのもありだと思う

952:名前は開発中のものです。
14/06/21 00:11:03.73 tuXXF6Tj.net
問題は、ゲーム時ループ中などの速さが要求される箇所で、
個体複雑性に起因する条件分岐が増えるのをどう回避するか、か。

末端(=キャラ個体)に複雑さを集約するか、
流れ制御側(=タスクシステム、メイン�


953:求[プ)に複雑さを押し付けるかだな どちらも楽しそうだな



954:名前は開発中のものです。
14/06/21 00:30:22.54 EKUWcmyO.net
その程度の分岐で処理落ちが起きたりせんよ
ロジックとして分かりやすく簡潔にかける方を選んどけ

速さを求めるのは衝突判定とか描画部分だけで良い

955:名前は開発中のものです。
14/06/21 07:10:24.87 5/Sd9UCE.net
最近、フィルレートにばっかり処理の比重を取られて、CPUがかなり遊んでいる状態。

956:名前は開発中のものです。
14/06/21 11:22:51.25 iamZ/Ql4.net
>>925
クラスに細分化した所で関数呼び出しがvtable一個分の呼び出しロスぐらいで
分岐は生成時位しかしなくない?
状況で変わるようなのはステートパターンだろうし
挙動だけ別クラスでキャラクタークラスに差し込みしても同じ程度だろう

957:名前は開発中のものです。
14/06/21 15:35:14.32 29GFkBgY.net
ゲームループ内で毎回どのキャラか判定するつもりなのかもしれない

958:名前は開発中のものです。
14/06/21 18:38:49.94 ATU6QwSf.net
無能な奴ほど、最適化しても誤差に吸収されてしまいそうな部分にこだわるんだよね。

959:名前は開発中のものです。
14/06/21 20:19:11.38 tuXXF6Tj.net
「無能な奴」でない奴の作品を検証させろよ^^

960:名前は開発中のものです。
14/06/21 23:30:52.31 mvCTHax3N
^^つけないと会話できんのか!!!

961:名前は開発中のものです。
14/06/22 01:29:43.57 0HERkbyf.net
>>930
「早すぎる最適化は諸悪の根源である」ってやつだね。
そういうのは遅さが気になってから手をつける部分なのにね。

962:名前は開発中のものです。
14/06/22 08:34:06.04 csKh83iE.net
コードの最適化は最後でいいけど、設計の最適化はコーディング前にやっとかないと修正で地獄見るぞ

963:名前は開発中のものです。
14/06/22 12:42:14.46 EwYApkfm.net
RPGの技ってどうやってるの?
やっぱりラムダ式をmapに入れてるの?

964:421
14/06/22 17:30:21.94 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:名前は開発中のものです。
14/06/22 18:17:04.62 6teQhgwq.net
>>936
vector< vector<SAnimationNode> > animations[MOTION_NUM_SIZE];
 ↓
animations[MOTION_NUM_SIZE][FRAME_NUM_SIZE][IMAGE_NUM_SIZE]
となるんじゃない?

966:名前は開発中のものです。
14/06/24 13:14:27.79 Uog3JQdr.net
いまいち文字コードについてがわからん。
Windows上でUTF8,UTF16LE,CP932を相互変換したいんだけど、
マルチバイト?ワイド文字?で混乱

967:名前は開発中のものです。
14/06/24 13:33:03.26 IbY2i7BW.net
マルチバイト、ワイド文字と、文字コードは別。
windowsでは単に、8ビット単位と16ビット単位で扱うかどうかの差。

968:名前は開発中のものです。
14/06/24 13:58:16.35 Uog3JQdr.net
>>939
マルチバイト文字→ShiftJis,UTF8,EUCJP
ワイド文字→UTF16,UCS-2
でいいの?

969:名前は開発中のものです。
14/06/24 14:27:45.13 GPkpIMQJ.net
字義的には、一文字をあらわすのに複数の可変長のバイトをつかうのがマルチバイト
同じサイズのワード値をつかうのがワイド文字
ワイド文字は固定長なのでプログラムが
単純になるので楽、というのが本来の想定

windows は歴史的に16bitのユニコード
(UCS2)を内部コード兼ワイド文字としてつかってたんだけど
ユニコード


970:が拡張されて、16bit 可変長(UTF16)になってしまい、 ワイド文字自体は拡張せずそのまま16bitとしたのでの「ワイド文字」を使ってても マルチバイトと同じことする必要があってプログラム上のメリットは薄れてしまってます ワイド文字は環境固有の内部データで 統一仕様が無いので、外部とのやりとりは かならずマルチバイト文字列を使うのが原則 Unix系だとワイド文字は普通32bitです そういう意味では、そこにでてる名前は全部規格で仕様決まってるのでマルチバイトです。たまたま固定長なだけ Win環境に限ればAPIで「ワイド文字」 というとUTF16のことで、変換関数で 指定のマルチバイトと変換できます。 UCS2は可変長部分をのぞけばUTF16と合致します 他のOSではそうとは限らないので注意が必要。 マルチバイトのファイルは共有できるけど、ワイド文字はあくまでプログラム内部でつかうもの。 完全に環境依存しないためには、 ポータブルな文字コード変換ライブラリの準備と、 ワイド文字仕様を自分で決めて対応する必要があります



971:名前は開発中のものです。
14/06/24 14:34:10.01 GPkpIMQJ.net
長々かいちゃつたけど、ワイド文字は、その環境で使える全ての文字を含むことになってるので

指定のマルチバイト→ワイド文字→指定のマルチバイト

とすれば文字コード変換できることになります

972:名前は開発中のものです。
14/06/24 16:00:12.61 F5vPhfmG.net
マルチプラットフォーム前提のゲームの場合、
文字列はwstring型でUTF16で格納しておくのが最善策かな?

973:名前は開発中のものです。
14/06/24 16:03:01.31 IbY2i7BW.net
マルチプラットフォームだったらUTF8では。
UTF16を使ってるのはWindowsくらいで。
Windowsを使ってるならUTF16でいい。

974:名前は開発中のものです。
14/06/25 03:34:26.90 tRPy5vnQ.net
C++でUTF8は面倒だ

975:名前は開発中のものです。
14/06/25 07:19:47.27 i6nom8bR.net
簡単に文字コード変換出来るライブラリはないのかね
ググった感じだとICUってのが良さそうだけど、ライセンスがよくわからん
誰か要約してくれ
URLリンク(source.icu-project.org)

976:名前は開発中のものです。
14/06/25 23:42:32.69 sN1oXLi0.net
Unityが便利なのはわかるんだけど、プログラミングが好きだから
全部コード書いてるって人は少なからずいる・・・よね・・・

977:名前は開発中のものです。
14/06/26 00:08:17.74 2eOLOr66.net
unity使ったことないけど凝ったことやろうとすると結局コード書かないといけないって話は聞いた

978:名前は開発中のものです。
14/06/26 00:12:12.19 G3Ghr1l9.net
>>947
俺もそれしたいんだけど重くなりそうじゃないか?
もともと遅いのに素材の最適化効かないし

979:名前は開発中のものです。
14/06/26 01:31:37.50 KO+8FPHu.net
Unityってよく知らんのだがコード書かずにゲーム作れるのか?
すげぇな。

980:名前は開発中のものです。
14/06/26 04:40:53.24 BP57VnwG.net
C#とかでコード書かんと

981:名前は開発中のものです。
14/06/26 05:42:45.22 AmOKqMVz.net
RPGツクールならコード書かなくてもゲーム作れるね

982:名前は開発中のものです。
14/06/26 07:52:49.33 vdSX1b1y.net
>>948
まぁ凝ったことするなら結局自分で実装しなきゃいけないけど
凝らないところはぺいぺいってできるよ

>>949
処理速度とかは自分ができる範囲でいいかな
商用じゃないなら製作者が好きなようにすればいいと思う

983:名前は開発中のものです。
14/06/26 08:15:53.02 rGvRjoRE.net
いつからゲームはツクールみたいなツールで作るようになってしもうたん
もはやプログラマーじゃないじゃん
コードを書いてなんぼだろ
マウスでぽちぽち画面操作してるだけでゲームができてしまうなんて許されんだろこれは

984:名前は開発中のものです。
14/06/26 08:29:15.09 RxAyclSt.net
マシンの性能が昔とは比較にならないので、カリカリにチューニングするより汎用エンジンで生産性をあげた方がコストかかんないし品質も上げやすいだろうね
限界までパフォーマンス突き詰める�


985:ネら自分で書くしかないだろうけど、半端なスキルで自作しても汎用エンジンより低性能になるだけだろうな…



986:名前は開発中のものです。
14/06/26 08:32:54.24 a944jii7.net
グラフィカルになってもプログラマーの
やるべき仕事の本質は変わらんべ

コード書く密度量が減っても
そのぶん規模が大きくなってる

昔からその繰り返しじゃん?

987:名前は開発中のものです。
14/06/26 10:31:17.39 HDqbSuB3.net
>>954
企画書があってこそコード書いてなんぼな状況になる
しかしプログラマの多くは企画書が書けないので、簡素なものに頼ってる

988:名前は開発中のものです。
14/06/26 10:43:16.51 ROLnmccF.net
スレチなのでそろそろ終わったほうがいいと思うが、

unityの無料版は非同期ロードが出来ないみたいだね。個人的にはここが致命的かな。
だからといって有料版買おうと思うほど、高度にグラフィカルなゲーム作ってる訳でもないし。

要件と費用対効果がいい感じになるのなら便利なんだろうけどな。

989:名前は開発中のものです。
14/06/26 10:52:26.33 KO+8FPHu.net
ゲームが作れるならコードだろうがツールだろうが構わないと思うが、
ツールは固有の使い方を覚えないといけないから
物覚えの悪い俺には不向きだ……。

とはいえ最近はUnity使えるとそれだけで有利なんだよなぁ……

990:名前は開発中のものです。
14/06/26 15:00:55.14 BP57VnwG.net
最近下ろしてみたらスプライトエディタまで実装してあるし
なんかすごい事になってるな

991:名前は開発中のものです。
14/06/26 22:20:03.49 vxlMCzXq.net
>>946
流し読みした限りでは、ヒゲモジャ教祖のコピーレフトじゃないほうの
つまり緩いほうのフリーソフトのライセンスの典型的な文言かと。
ちょっと自信なかったのでFAQのほうも読んでみました

URLリンク(userguide.icu-project.org)
の「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:名前は開発中のものです。
14/06/26 22:44:18.33 LTYq6LHZ.net
>>961
おお、要約サンクス
MITと同じって事は著作権表示しとけば好きに使っていいのか
ちょっと触ってみようかな

993:名前は開発中のものです。
14/06/27 00:21:52.45 ca0yLnFP.net
ICUはすごいけど、でかすぎて大抵の用途に不向きよ

994:名前は開発中のものです。
14/06/27 04:25:38.40 3FddD6R4.net
絶望

995:名前は開発中のものです。
14/06/28 01:52:31.46 Qml0dYMK.net
ゲーム重視の会社・・・Unityが出来ればいい
プログラミング重視の会社・・・オブジェクト指向が出来ればいい
古さ重視の会社・・・C言語とUNIXが出来ればいい

だったらどれが一番多い?

996:名前は開発中のものです。
14/06/28 01:53:20.27 /Aw0cnXs.net
3つ×(バツ)を付けて
ちょっぴり大人さ

997:名前は開発中のものです。
14/06/28 01:59:32.24 qVQSlIJD.net
左と右がまったく合っていないので答えられません。

998:名前は開発中のものです。
14/06/28 09:07:15.04 fYNbwyWm.net
エンジンあれば簡単にゲームできると勘違いしている会社・・・Unityが出来ればいい
ツールはつくれても面白いゲームは作れない会社・・・オブジェクト指向が出来ればいい
時代の流れに完全に取り残されてる会社・・・C言語とUNIXが出来ればいい

こうかな…さすがにCとUNIXだけってゲーム会社はもうないかな

999:名前は開発中のものです。
14/06/28 13:14:02.98 pkvK53ex.net
>>962
私はpocoライブラリを使ってる都合で文字コード変換はしますけど
UTF-16⇔UTF-8のみなのでMSのAPIで済ませてます。簡便ですので

1000:名前は開発中のものです。
14/06/28 13:30:50.89 UFXBTkrK.net
Unicode相互変換ってC++11で標準ライブラリに入らなかったっけ?
使い方�


1001:ヘよく分からんけど



1002:名前は開発中のものです。
14/06/29 13:10:50.88 Yl1HyccO.net
最近のゲーム会社って偉そうだよね
楽して儲かるゲーム作っといてそれを言うなよって感じ・・・

1003:名前は開発中のものです。
14/06/29 15:05:01.46 OwKWjPKS.net
URLリンク(www.nicovideo.jp)
大爆笑

1004:名前は開発中のものです。
14/07/01 19:21:53.76 14799agU.net
>>972
誰か無料のゲームエンジンの存在を教えてやれよ…
ゲームコーディングを知識ほぼ0の状態からスタートとか、挫折する未来しか見えない

1005:名前は開発中のものです。
14/07/01 19:24:44.84 2U1HTXmR.net
残念ながらこいつがゲーム開発しようと思い立ったのは何年も前
詳しくは月雫タクトで検索

1006:名前は開発中のものです。
14/07/01 21:31:57.05 NbePC4/B.net
>>974
コイツのことだろ

C/C++ゲーム製作総合スレッド Part4
スレリンク(gamedev板:481番)

一時期、前スレに湧いてた「kazuki」って奴だろそいつ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch