トップページgamedev
1001コメント321KB

C/C++ゲーム製作総合スレッド Part6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/07/08(火) 19:30:19.51ID:J+zVqUil
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/

前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
C/C++ゲーム製作総合スレッド Part5
http://peace.2ch.net/test/read.cgi/gamedev/1389798031/
0716名前は開発中のものです。2014/11/21(金) 00:13:35.21ID:eEbWn5CX
標準ライブラリに入れる機能の実験場みたいなものだから標準ライブラリがある限り存在し続けるのでは
0717名前は開発中のものです。2014/11/21(金) 00:21:11.37ID:7CnZSeAT
>>715
人それぞれ

C++11対応してくれない環境での同等ライブラリとしてとか、

uBLAS
Geometry
Graph

など標準入りしてないけど有用なライブラリもあるし、
coroutineとかC++11以降にBoost入りしたのもある。

Boost.GeometryはMySQLに使われてたりするよ。
0718名前は開発中のものです。2014/11/21(金) 03:19:55.68ID:K9GeSQKw
C++が一番楽しい。
C++11最高だ。
0719名前は開発中のものです。2014/11/21(金) 07:08:46.35ID:qV4oLsfC
ゲームプログラマーの求人ってどこで探せば良いの?
0720名前は開発中のものです。2014/11/21(金) 07:19:13.80ID:pFBl4fEs
住んでる地域が東京圏か大阪圏内で無い限りほとんど無い
自分から売り込め、もしくは起業しろ、あるいは同人から始めろ
0721名前は開発中のものです。2014/11/21(金) 08:02:03.86ID:KX4IO8pf
ゲーム業界はやりたい人が多い割りに雇用創出効果が薄いから
競争率激しくて経営者もやりたいことやらせてもらえて感謝しろみたいな態度でくるから
激務薄給で使い捨てだよ
0722名前は開発中のものです。2014/11/21(金) 08:51:37.88ID:LfVWOyzt
おじいさんたち、板違いの話題は適切な板に誘導して差し上げて
http://wc2014.2ch.net/recruit/
http://kanae.2ch.net/job/
http://kanae.2ch.net/prog/

質問者共々、行ってらっしゃい
0723名前は開発中のものです。2014/11/22(土) 00:33:56.72ID:GjARED3K
>>713
>マだけの人海戦術製作
それ楽しそうだね。
テクスチャ、モデリング、効果音も含めて、すべてProcedualに生成するってやつでしょ。
音楽だけは無理か。
0724名前は開発中のものです。2014/11/22(土) 11:11:14.41ID:2kOY5/sq
個人でも最初はそんな感じだけどなー
0725名前は開発中のものです。2014/11/22(土) 11:27:35.29ID:UXfM8O3M
>>723
音楽でもMMLのライブラリがあればプログラミングするように作曲が可能
0726名前は開発中のものです。2014/11/22(土) 12:04:53.88ID:2kOY5/sq
MMLって聞いてマビノギかよと思ったらMusic Markup Languageだったんだな
Mabinogi Music Languageかと思ってた
0727名前は開発中のものです。2014/11/22(土) 12:51:58.39ID:z05T//p3
>>693-695
アイテムを実体処理するとセーブデータ改造が容易になるけどな
昔、ソーサリアンてゲームでアイテム魔法の空を飛ぶ魔法の消費MPを0にした事がある
0728名前は開発中のものです。2014/11/22(土) 15:25:07.79ID:2kOY5/sq
チート防止方法って
・リソースファイルを暗号化する
・リソースファイルが改竄されていないかハッシュ値を照合する
・メモリ上の値が書き換えられていないかチェックする
の3つでいい?他にするべきことってある?

スタンドアロンなゲームを想定してる
0729名前は開発中のものです。2014/11/22(土) 15:28:45.59ID:4gvnFUCF
深く考えずにユーザーには改造の自由を与える
0730名前は開発中のものです。2014/11/22(土) 15:50:11.91ID:2kOY5/sq
>>729
そのスタンスいいな
githubへのリンクでも添付するか
0731名前は開発中のものです。2014/11/22(土) 16:53:28.19ID:5ZWxKn8M
海外のゲームはそれが普通だね。
オンラインの場合は別だけど
0732名前は開発中のものです。2014/11/22(土) 17:01:09.64ID:GtITkLZ+
データを全てXMLやCSVで記述しておいて数値変え放題にする
0733名前は開発中のものです。2014/11/22(土) 17:02:59.01ID:ycIYhRSf
時代はオープンデータ
0734名前は開発中のものです。2014/11/22(土) 17:31:14.63ID:2kOY5/sq
それでもハッシュ値は欲しいな
実績「一度もデータを変更せずにクリア」とか
0735名前は開発中のものです。2014/11/22(土) 18:43:56.35ID:rQjhf0Yu
海外はMOD作り放題なゲームも多いな
0736名前は開発中のものです。2014/11/23(日) 01:04:58.19ID:4ZBc6dKC
チートを使わないでクリアすると実績だなんて、
なんでそんな当たり前のことを?と変な話にしか見えない俺
っつーか、ハッシュならまずあり得ないだろうが実績ごと改造されそうだよ
0737名前は開発中のものです。2014/11/23(日) 01:18:05.75ID:mI42wc3z
そこまでされるようなゲームを作れるのかが問題
0738名前は開発中のものです。2014/11/23(日) 01:22:28.60ID:SnMKy+pN
商業タイトルならともかく個人制作でチート対策なんてかんがえないよな
0739名前は開発中のものです。2014/11/23(日) 11:11:41.84ID:+dJYaAUV
でもセーブデータがテキストファイルにcsvで直書きとかだったらプレイする方も萎えるじゃん
0740名前は開発中のものです。2014/11/23(日) 12:27:51.29ID:EqABDKyO
個人制作はチートされてなんぼのレベルだからな。
チートされる規模まで広がるようになってから対策を考えても遅くない。

それ以前にチート対策なんて、
「桃尻にて落ちなんは、心憂かるべしと思ひけり」ってやつだ。
0741名前は開発中のものです。2014/11/23(日) 12:30:53.64ID:kaKHHfmS
一般ユーザーはバックアップ目的でのセーブデータの位置やファイル名は気にするが中身までは気にしない
チート目的ならバイナリかテキストの違いしかない
オンラインでランキングや対戦等他人との接点がある場合には対策したほうが良いけどオフラインは自由にしてやりたい
0742名前は開発中のものです。2014/11/23(日) 13:56:57.65ID:82D+n2IC
中身がテキストでも拡張子を*.savとかにしてあれば普通は開かないよね
まぁチート防止法なら>>728の3つで十分な気がする
メモリ上の数値チェックはしなくてもいいと思うけどww
0743名前は開発中のものです。2014/11/23(日) 14:02:44.82ID:+dJYaAUV
ていうか>>728以外に何かある?
リソース抜き出しとか通信盗聴は別にして
0744名前は開発中のものです。2014/11/23(日) 16:18:46.75ID:n5OStoXo
ブラウザやランチャーからの起動に限定...とか
0745名前は開発中のものです。2014/11/23(日) 16:49:33.89ID:cJk/+EVe
>>741
ほんとこれ。
この意見とまったく同意見だわ。
0746名前は開発中のものです。2014/11/23(日) 20:40:57.35ID:4ZBc6dKC
MODはともかく、コンテンツ食い荒らさせても開発者には全くメリットないし
そこまでして公開するくらいなら、むしろ公開せずに自分で楽しむよ

タダで公開している時点でメリットなんてないだって?
この俺が、金やちやほやされるためにゲームを作っていると思っているのかーッ!
(目を泳がせながら)
0747名前は開発中のものです。2014/11/24(月) 00:38:32.67ID:8cacGq0B
サーバーにセーブデータ保管
0748名前は開発中のものです。2014/11/24(月) 10:03:38.23ID:dzDmH2rP
データ改竄は許しまへんで
0749名前は開発中のものです。2014/11/24(月) 17:33:44.16ID:Z/FunYTK
>>740
クソゲー杉てタルいんで、さっさと改造してCGだけ回収してる
改造できない同人ゲーなんてやってられっかよ
0750名前は開発中のものです。2014/11/24(月) 17:55:20.84ID:2xrZiHXU
そだね
0751名前は開発中のものです。2014/11/24(月) 18:39:45.23ID:zdvI3CUV
そこまでしてcg回収なんかしたいとなると、修羅の国のゲームかな?
修羅の国のゲームは同人であるなしに関わらず基本的にクソゲー
クソゲーでない修羅の国のゲームは希少
0752名前は開発中のものです。2014/11/26(水) 17:10:13.93ID:uKd9Te04
中央のスプライトに隣接しているスプライトを、
中央のスプライトの大きさによって位置を変えられるようにするには、
どのような方法が考えられるでしょうか?
あらかじめ中央のスプライトにフラグを設定しておいて、
その数値によって周りの位置を制御するという方法は思いついたのですが、
どうもマジックナンバーだらけで気持ちが悪いし汎用性が低いのです
0753名前は開発中のものです。2014/11/26(水) 17:20:11.22ID:Y1/yNkyi
emun
0754名前は開発中のものです。2014/11/26(水) 19:59:12.17ID:AChn1R5P
enum
0755名前は開発中のものです。2014/11/26(水) 20:02:16.64ID:/W/8yg6H
nullpo
0756名前は開発中のものです。2014/11/26(水) 20:23:02.74ID:utK4NJ2p
ga!
0757名前は開発中のものです。2014/11/26(水) 20:49:02.86ID:gy/4zLs8
隣接の概念があるなら、それぞれのスプライトはパラメータとして「半径」を持っているのでは?
中央のスプライトだけ特別扱いする必要はないんじゃないの?
0758名前は開発中のものです。2014/11/29(土) 12:17:43.47ID:RkdSMohZ
http://brbranch.jp/blog/201312/cocos2d-x/cocos2dx_ccscale9sprite/
これかな?
0759名前は開発中のものです。2014/11/29(土) 12:18:18.60ID:RkdSMohZ
あやべ、cocos2dxのスレじゃなかった
0760名前は開発中のものです。2014/11/30(日) 12:30:11.20ID:2LtupVMk
std::vectorのfrontとsizeとbeginとendとdataの使い分けの見分け方を教えて下さい
0761名前は開発中のものです。2014/11/30(日) 15:32:55.05ID:wowBQ4xC
http://www.cppll.jp/cppreference/cppvector.html
https://sites.google.com/site/cpprefjp/reference/vector/data

sizeは要素数取得
beginとendはイテレータ始端と終端取得
frontは先頭要素の参照取得でv[0]と一緒
dataはvectorのデータをただの配列として使いたい時用で&(v[0])と一緒

イテレーターは全部の要素に処理する時とかに使う時が多いけどsizeの数だけ繰り返しとかでも出来るし
使い分けとか考えなくても好きに使ったらいいんじゃない
0762名前は開発中のものです。2014/11/30(日) 16:30:02.97ID:9UMHtIHE
イテレータいわゆる反復子を使うと
for_each(ary.begin(), ary.end(), func());
このような感じで書ける、ary がvector<int> であってもいいし、list<int>であってもいい、
最初にlist<int> で、あとでvector<int>に書き直してもfor_eachはそのままで使えるので書きなおす必要はない。
typedef list<int> IntArray;
このようにtypedefしておけば IntArrayを使ってあとでvectorに変えるのも
typedef vector<int> IntArry;
にすればいいだけになるので変更が楽になる。
ただ、ゲームのプログラムだと速度的に最初からvectorに決まってたりする。

dataはstringのc_str()のように、受け取る側が配列ポインタになってる時に使うものだと思う。
C言語のライブラリとかはそのようなのが多いしな。
0763名前は開発中のものです。2014/11/30(日) 18:07:42.80ID:2LtupVMk
>>761-762
ありがとう
0764名前は開発中のものです。2014/11/30(日) 18:49:40.41ID:09iyr5dN
最適化で変数が削られる憂き目に遭った・・・。

DirectXMathのXMMatrixPerspectiveFovLHの第2引数に与える、画面のアスペクト比なんだけど、
直前で

float fAspect = VP.Width / VP.Height;

ってな感じで書いてたら、Debugモードだと正常に動作するのに、
Releaseモードだとクラッシュする。

とりあえず、コメントアウトしながら原因箇所を追跡したら、上記のアスペクト比算出箇所に行き着いたわけ。
試しにvolatile修飾子を付けてみたら正常に動作することになったから、
最適化で削られたことが判明したんだけど、これ、どういうときに発生するか知ってる?

今までコンパイラ(VC++)に裏切られたことが一切なくて、信頼しきってただけに、ちょっとショック・・・。
今回は小規模なテストプログラムだから大した影響はなかったんだけど、
大規模で複雑なの組んでるときにこういうのが出ると話がややこしくなって厄介だ。
0765名前は開発中のものです。2014/11/30(日) 19:08:33.40ID:6mhBW/fH
再現手順も説明できずにコンパイラのバグとか言い出す奴の
99%以上は本人のミスだ
0766名前は開発中のものです。2014/11/30(日) 19:19:20.08ID:wowBQ4xC
VCのデバッグとリリースで最適化って変わんの?
デバッグビルドってデバッグコード埋め込むだけだと思ってたわ

http://msdn.microsoft.com/ja-jp/library/dykf6bx9.aspx
0767名前は開発中のものです。2014/11/30(日) 19:28:29.73ID:3sYJoklf
デフォルトではデバッグビルドのオプション設定は最適化無効になってるみたいね
0768名前は開発中のものです。2014/11/30(日) 19:28:51.51ID:6mhBW/fH
デバッグが困難になるからデフォルトでは最適化は無効になる
0769名前は開発中のものです。2014/11/30(日) 19:37:40.53ID:mq2znQaR
>>764
その変数が引数としてしか使われてないなら、変数を経由しないで
計算結果を直接スタックに乗せるようになってる、とかかなぁ。消えた原因は。

あんまり関係ない話だけど
つい最近(というか今日)、DirectXMathで躓いたのが
newで確保したXMVECTORの配列が16バイトアラインメントに乗って無くて
SSEのmovapsでアクセス違反が起きるって奴だった。
アクセス違反が報告されたメモリアドレスが「0xFFFFFFFF」ってなってて
どういうこっちゃとしばらく悩んだよ・・・。
07707642014/11/30(日) 19:54:39.02ID:09iyr5dN
>>769
ちょ・・・、今回クラッシュするところの逆アセンブリ結果が、同じくmovapsっす・・・。
floatの引数削られるのと、どう関係あるか分からないけど。
DirectXMathのSSE絡み、ちょっと怖いっすね。

>その変数が引数としてしか使われてないなら、変数を経由しないで
>計算結果を直接スタックに乗せるようになってる、とかかなぁ。消えた原因は。

そうそう、引数にしか使われてないから、ダイレクトにスタックに乗せるのは納得する。
けど、なぜクラッシュw
0771名前は開発中のものです。2014/11/30(日) 20:14:02.81ID:mq2znQaR
>>770
movapsはXMMレジスタへ128ビット分のデータを一括転送するSSE命令だけども
メモリ⇔レジスタの転送の場合、メモリ側が16バイト境界に沿っている必要があるのよ。
(movapsのaはalignedのa)
XMMatrixPerspectiveFovLHの戻り値を格納しようとしている変数(XMMATRIX)の
メモリアドレスが怪しい気がする。
XMMATRIXはXMVECTOR4個の塊だし
0772名前は開発中のものです。2014/11/30(日) 20:25:50.60ID:mq2znQaR
追記。
多分、リリースビルドでだけ発生する原因は、速度優先の最適化によって
movups命令(16バイト境界に沿っていなくてもOK、ただし低速)からmovaps(高速)に
使用する命令が置き換えられたからだと思う。

で、多分fAspectにvolatileを付けたら動くってのは
fAspectの分だけスタック使用量が増えるから、格納先変数のアドレスが
16バイト境界に合うようになって、それでエラー落ちしなくなるんじゃないかな・・・
でも「_m128 型の変数は、16 バイト境界に自動的にアラインされます。」ってMSDNには書いてあるから
違う原因かも。
07737642014/11/30(日) 21:00:10.04ID:09iyr5dN
>>771-772
サンクス。
fAspectが増えたことで16Byteアラインしたから通ったとしたら、たまたまで怖い気もw
いずれにせよ、たしかに_m128型使ってる以上、アラインされることは期待できそうだよね。
0774名前は開発中のものです。2014/11/30(日) 21:49:21.14ID:3sYJoklf
いつになく勉強になる流れだなw
0775名前は開発中のものです。2014/11/30(日) 22:42:52.60ID:wowBQ4xC
アライメントでクラッシュとかデバッグ大変そう
ヒープに確保すんのはやめた方がいいらしいけど
http://msdn.microsoft.com/ja-jp/library/ee418725%28v=vs.85%29.aspx
0776名前は開発中のものです。2014/12/03(水) 13:17:19.43ID:Z1yRDwuo
Unityにナビメッシュっていう機能あるけど、内部ではダイクストラ法使ってるの?
0777名前は開発中のものです。2014/12/03(水) 13:18:24.64ID:iziS6ZnM
3回に1回は使ってる
0778名前は開発中のものです。2014/12/03(水) 21:11:51.59ID:OgMzERcn
ファイルの読み書きのやり方って、

・C標準のfopen系
・C++標準のfstream系
・WinAPIのCreateFile、ReadFile、WriteFile

みたいに、たくさんあるけど、使い分けってどうしてる?
0779名前は開発中のものです。2014/12/03(水) 22:44:11.09ID:TXwtBb38
WinAPI系に近いライブラリを作る場合はCreateFile、ReadFile、WriteFile、
普段使いのC++で機種依存しないライブラリはstream系
C系のライブラリで開発汁ときはfopen系

いずれにせよメインプログラムから直接ファイル操作関数は使わなーい
0780名前は開発中のものです。2014/12/04(木) 01:02:24.18ID:YkojZjJM
Windows環境と仮定して。

C標準を使うとランタイムライブラリが必要になるので却下。
今どき使うのはオッサンとバカだけ。

C++も結局はWinAPIの薄いラッパに過ぎないので、
基本的にはWinAPIを呼ぶのが正解。
0781名前は開発中のものです。2014/12/04(木) 03:01:38.93ID:ClGYe+T3
CRT使わないなんて、よほど節制しないとつらくないか?
try-catchを使っただけでもCRTが要るだろ?

あと、Windowsなら、よく使うのはAPIの関係でIStream系が多いなぁ。
0782名前は開発中のものです。2014/12/04(木) 03:07:11.75ID:iZaOw4vq
C++だってランタイム必要なのに変わりないような
0783名前は開発中のものです。2014/12/04(木) 08:11:19.48ID:L+71L5pW
ランタイム必要な記述ってどういうのがある?
例外、IO、メモリ関係とかはランタイム必要そうだけど
その辺全部OSのAPIで済ますの?
0784名前は開発中のものです。2014/12/04(木) 08:35:11.34ID:y13HpW+M
>>780の常識は世界の非常識
0785名前は開発中のものです。2014/12/04(木) 09:42:58.76ID:ClGYe+T3
>>783
昔のATLコンポーネントで、実行ファイルを小さくするためにランタイム無しってのはたまに見かけた。
IOやメモリ関係は、Win APIで代替が利く。 例外は使わないか、SEHやRAIIで代用。
ただ、浮動小数やstd::*を使えないし、かなりの制限を受けるよ。
0786名前は開発中のものです。2014/12/04(木) 10:01:50.12ID:Eg8ibX6r
要件も確認しない実行ファイルサイズ至上バカが、生産性もクロスプラットフォームも捨ててWin32APIを直接使うって主張してるだけだな。
そっちの方がオッサンくさい。
0787名前は開発中のものです。2014/12/04(木) 19:29:15.66ID:tgdEpz3N
自分はRAIIなfstream系が好みだな。

WinAPIでも、
shared_ptr<void> pFile( CreateFile( ... ), CloseHandle );
でRAIIできるし、WinAPIならメモリマップドファイルが使えるから、Seekすることが多い用途で使う。

fopen系でも、上記要領でRAIIできるけど、
fopenだと、VC++でfopen_s使えって警告がウザいし、1行でスマートに書けないから嫌い。
でも、fprintf、fscanfは便利なんだよなぁ・・・。
0788名前は開発中のものです。2014/12/04(木) 21:52:37.38ID:BSnl4VWG
状況によって使い分けてるな。なので>>778に近い気がする

ファイル入出力に近いモジュールは一度組んだらほぼ手を加えないので
環境依存のAPIを使ってても、次に使う時は細かいこと忘れちまってるな

オッサンだな
0789名前は開発中のものです。2014/12/04(木) 21:53:54.27ID:BSnl4VWG
×>>778>>779
0790名前は開発中のものです。2014/12/06(土) 04:00:55.39ID:X/U/zDqc
まとめブログが世論誘導加速中 閲覧数と影響力が大きいのでまとめブログにもコメント宜しくお願いします。
http://jbbs.shitaraba.net/bbs/read.cgi/news/5097/1275245794/96 ←
0791名前は開発中のものです。2014/12/07(日) 13:13:24.02ID:mFsIvomy
クラスのメンバのvector変数にpush_backをしたのに、push_backしたメンバ関数が終了すると
他のメンバ関数でsizeが0になるんですが、vectorにそういう感じの仕様ってあるんですか?
http://codepad.org/QE4clISm

vector変数の中身を消す処理はしてません
0792名前は開発中のものです。2014/12/07(日) 13:40:07.34ID:9LyEQ/ju
http://melpon.org/wandbox/permlink/PGTC7VqZBylSFl9m
0793名前は開発中のものです。2014/12/07(日) 14:36:04.47ID:5KYRoGrU
デストラクタが走ってからsize()を呼んでるとかそんなオチだろうな
0794名前は開発中のものです。2014/12/07(日) 14:39:37.63ID:hyValMsU
どうでもいい質問で悪いけど、範囲for文とstd::for_eachってどっち使ってる?
0795名前は開発中のものです。2014/12/07(日) 15:34:57.43ID:EqvPSafZ
範囲for
0796名前は開発中のものです。2014/12/07(日) 16:06:32.38ID:6S6vavTT
範囲for
0797名前は開発中のものです。2014/12/07(日) 16:43:30.16ID:dMVqqTm9
範囲for
C#やVB使う場合はfor each使うけどね
C++では扱いづらい
0798名前は開発中のものです。2014/12/07(日) 16:52:24.55ID:dMVqqTm9
わざわざ関数名考えないといけないから面倒なんだよな
0799名前は開発中のものです。2014/12/07(日) 16:56:54.79ID:9LyEQ/ju
ラムダのことも忘れないであげてください
0800名前は開発中のものです。2014/12/07(日) 17:45:42.30ID:e6dpx8ym
範囲for!そういうのもあるのか
イテレーター使えればなんでもいけるのこれ
0801名前は開発中のものです。2014/12/07(日) 17:57:50.11ID:fL0IRO+A
範囲for、途中でインデクスが欲しくなって、
結局普通のforになることが多い。
0802名前は開発中のものです。2014/12/07(日) 18:19:55.91ID:6S6vavTT
>>801
あるあるw

でもそうでもない限りは記述が美しいから、できる限り使うようにしてるな。
0803名前は開発中のものです。2014/12/07(日) 20:32:17.28ID:heuc+ktl
ランダムアクセスイテレータならdistanceで取ればいいだけ
0804名前は開発中のものです。2014/12/07(日) 20:40:01.29ID:6S6vavTT
>>803
知らんかったw
すげーw
さんきゅー。
0805名前は開発中のものです。2014/12/07(日) 21:00:39.07ID:KCbAkKfJ
std::for_each で being() end() を書かずに済む方法ってあったっけ
範囲forのほうがむしろタイプ数が少ないような
0806名前は開発中のものです。2014/12/07(日) 21:44:37.07ID:0+t1yYxF
BOOST_FOREACHを使うのが一番良いのでは
0807名前は開発中のものです。2014/12/08(月) 00:26:35.24ID:Tkb5ImKO
boost使っていいんなら
boost::for_eachというのもある
0808名前は開発中のものです。2014/12/08(月) 01:42:50.74ID:/dWjo4ra
distanceはrandomの時はO(1)それ以外はO(n)か
考えてみれば当たり前だけどこれvector以外のコンテナで全ての要素でやったら計算量O(n2)になるな
こういうのちゃんと覚えておかないと使い所間違えそう
0809名前は開発中のものです。2014/12/10(水) 15:07:51.95ID:fIQTJgum
市販の3DアクションゲームってC++で作られてるの?
それともUnityとかアンリアルエンジンとか?
0810名前は開発中のものです。2014/12/10(水) 19:05:50.57ID:UFn2Nat6
ほとんどC++やJAVA等でプログラミングしてると思うが、
最近は一部エディタでもコンシューマ開発用キットを出してる
エディタ系はアクション系特化が多いので、
もしかしたらエディタ製もあるかもしれない
0811名前は開発中のものです。2014/12/10(水) 20:57:58.95ID:WqzdIXuz
それともUnityって何だよ
Unityだってコア部分はC++で作られているだろ
0812名前は開発中のものです。2014/12/10(水) 21:08:38.95ID:OgtEYajR
そういう意味じゃねえだろ
0813名前は開発中のものです。2014/12/10(水) 21:17:30.67ID:Z1DuKoHt
エディタは内部で独自に言語を作っているところも多いし ほとんど使わないのもある
そもそもプログラミング言語使わずにゲームが作れるのが一番の売りだし
0814名前は開発中のものです。2014/12/10(水) 21:19:34.07ID:WqzdIXuz
Unityじゃない所は
そう言うミドルウェアにライセンス料払いたくないか
全部自分でコントロールしたいから非オープンソースが嫌な人達だろう
0815名前は開発中のものです。2014/12/10(水) 21:21:37.53ID:TxBmxmRH
>>809は言語とゲームエンジンの区別がついてないのだろうな、とは俺も思う
■ このスレッドは過去ログ倉庫に格納されています