回答終了
ここの質問では、 > ポートフォリオを作ったことがないので、どう作ればいいかわかりません。 > C++を使って何を作ればよいでしょうか? と書かれていますので、実際に作れるようになるための具体的な手順を質問されているのですよね。 まず、「C++を業務で使う」は、正しいのですが、正確には、「C++を中心にして、複数のプログラミング言語を使う」となります。 その辺の情報は既に御存知ならば、下記回答の最初のほうは読まずに飛ばして、「回答本編: C++での作り方の件 No.1 --- DirectXの基礎」と「回答本編: C++での作り方の件 No.2 --- システム的な設計」を読んで下さい。 [SONYとMicrosoftの提携によるゲームシステム] 補足での最初のほうにあがっています > ゲームシステムの設計、実装 において、ゲーム制作全般でのシステム構成全般を理解している必要があります。 それは、「C++を習得」であっているのですが、正確には、「C++を中心にして、複数のプログラミング言語を習得」と言うことになります。 その「複数のプログラミング言語」については、以下の質問の際に回答を書きましたので、それを参照して下さい。 下記参照先を読む前に言っておきますが、めまいがするほど、沢山のプログラミング言語の習得が望まれています。 しかし、いきなり全部習得するのは、かなり厳しいです。 最初は、C++だけでも習得して、ゲーム機能(3D処理機能)のDirectXで、ゲームを作って見て下さい。 全部習得しているほうが、就職に有利ですが、最初から高望みしたら、学習を始める前から挫折してしまうので。 「プログラミングについての質問です。 独学でゲームプログラマーになろうと思いc言語を触り始めたのですがc++やPython、Javaなども覚えないとダメでしょうか?」 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10239634570 [さらに、インターネット重視やスマートフォン重視によるゲームシステムがあることについて] 上記は、主にSONYとMicrosoftの提携によるゲームシステムの構成です。 さらに、GoogleとMicrosoftが手を組んだことによるシステム構成もあります。 上記参照先での回答では、「SONYとMicrosoftによるゲームシステム」のほうが、SONYもMicrosoftも大手ゲーム会社なので、重要と思って、それを回答しました。 しかし、「インターネットによるシステム」と言う意味では、下記に説明します「GoogleとMicrosoftによるゲームシステム」のほうが重要になります。 もう、これだけ多くのプログラミング言語が必要となると、かえって開き直って、好きなものから選んだほうがよいと思います。 しかし、質問内容から、何よりもC++重視で考えて行ったほうが、よさそうな気もしますが。 [Googleのスマートフォンゲーム作成用開発環境] Google系におけるゲーム関連では、スマートフォンゲームが重要になります。 前述の参照先では、「Java重視の場合」と「スマートフォンのアプリケーションソフトにおけるネイティブについて」の内容が重要になります。 <構成> サーバーシステム: Java クライアント: Dart 上記は構成の一例で、他には、KotlinやPythonが使えるようです。 GoogleのるAndroidプラットフォーム向けアプリケーションソフトウェア開発用の統合開発環境は、Android Studioですが、それに使えるのモバイルアプリケーションフレームワークは、Flutterと言います。 私は、技術を調べたり、機能を確認する程度にしか知りませんので、詳しく知りたい場合は、Flutterのキーワードで検索してみてください。 なお、「上記構成では、C++と関りがないのでは」と思うでしょうが、かなり関わってきています。 それについては、下記の「GoogleとMicrosoftによるゲームシステム」で説明します。 [GoogleとMicrosoftによるゲームシステム] まず、下記参照先と、前述の参照先「「プログラミングについての質問です。独学でゲームプログ---」を読んで下さい。 「KotlinとJavaの関係性について教えてください」 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12240104982 これまでも、スマートフォンアプリケーションやクロイスプラットフォームでは、Native(C言語やC++によるハード側の処理)は、使われていました。 しかし、今までは、C言語やC++は、Javaを経由するなど、間接的な使われ方でした。 これが、C言語やC++を直接的に活用して行く方向性です。 「Flutter2.0で新しくなったこと」 https://itome.team/blog/2021/03/flutter-v2/ 引用 ------------ Dart FFIがStableに Null Safetyと同時にDart2.12からFFIがStableになりました。FFIはForeign function interfaceの略で、別言語(主にC言語)で書かれた機能にDartから直接アクセスすることを可能にします。 これまで同様のことをFlutterでしようとした場合、 Dart → Message Channel → 各プラットフォームのFFI → C言語の機能 のように一度JavaやObjective-Cを経由しないといけなかったため面倒でしたが、これからはDart FFI経由で直接アクセスできるようになります。 ------------ [回答本編: C++での作り方の件 No.1 --- DirectXの基礎] 上記でのSONYとMicrosoftの提携では、DirectX11とDirectX12が対象になります。 また、GoogleとMicrosoftが手を組んだ技術でも、DirectX11とDirectX12が対象になります。 DirectX11のほうが、インターネット上のサンプルが多いので、DirectX11から学ぶことがおすすめです。 DirectXは、簡単ではないので、ひとつひとつ手順をふんで、地道にサンプルを作って行きます。 初期化処理のみのプログラムを作成 背景色を指定するプログラムを作成 線を表示する 文字列を表示する 三角ポリゴンを表示する 四角ポリゴンを表示する(三角ポリゴンを組み合わせて、平面を作成) コンスタントバッファでポリゴンの色を設定 四角ポリゴンにテクスチャを張る 頂点色指定のポリゴンを表示する 立体を表示する(メッシュによる立体の作成) 立体を表示する(頂点バッファとインデックスバッファによる立体) 立体にテクスチャを張る ビュー変換 <カメラの位置座標を指定> 立体の平行移動、回転、拡大縮小 多くの立方体を表示する。ステップ1 --- まだ深度ステンシルを搭載していないで、ただ単純に複数立体を表示する基本サンプル 多くの立方体を表示する。ステップ2 --- 深度ステンシルを搭載するサンプル 多くの立方体を表示する。ステップ3 --- ウィンドウサイズ変更に対応させたサンプル。すなわち、深度ステンシルとスワップチェインをウィンドウサイズ変更に対応させるサンプル。 --- と言うように、地道に手順をふんでサンプルを作って行きます。 [回答本編: C++での作り方の件 No.2 --- システム的な設計] システム的な設計が求められていますので、マルチスレッド、マルチプロセス、通信のプログラミングを学習して下さい。
他の回答者の方も仰ってますが、ポートフォリオは有用性を示すものを提出しなければ、意味はありません。 その会社の求人情報をしっかり読んで「私は実務可能です」と証明できるものを提出したら、未経験でも可能性は出て来ると思います。 質問者様が入社出来たとして、どんな実務が可能でしょうか? それを証明するにはどんなものが必要でしょうか? その辺りを考えてものを作ったら良いと思いますよ。
2人が参考になると回答しました
その会社に聞いた方が良いと思う。 ポートフォリオって元々デザイナーで使われてた物で、プログラマーやプランナーにそういう概念はなかったのだが。自分の能力を相手に伝えるために持ち歩くもので、相手から要求されたり一般的にどうかでなく、自分がアピールしたいものを自分で決めて載せるものだ。 何か相手側に提出物を求められたということなら、ここで一般的にどうかを聞いてもしょうがないから、相手にどういうものをだせばいいか聞いた方が、勘違いで全然違うをものをだしてしまったって事がおきにくいと思う。つまりその会社に聞いた方が良いと思う。 それに、SEは幅広い範囲の言葉だが、一般的にはゲームでなく社内のシステム周りのエンジニアを指すから、要求されるのは 以下どっかのシステムエンジニアの募集の例 >><開発環境> >>・プログラム言語:Go, Python >>・インフラ:Google Cloud Platform(Kubernetes Engine, AppEngine, Cloud Run, Spanner, BigQuery, Dataflow, Pub/Sub その他色々) >>・Amazon Web Service(EC2, Aurora など) になるから、要求されてる言語が本当にそれであってるのかもう一度調べた方が良いと思う。一昔前だとサーバもやっぱりCやC++で作った方が高速というのは聞いた事があるが、今どうなのか。 違う欄の応募要項をみてしまったとかかもしんないし。
2人が参考になると回答しました
< 質問に関する求人 >
システムエンジニア(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る