質問するログイン新規登録
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

5回答

3462閲覧

組み込み開発で、ゲーム開発に活かせる知識

torimingo

総合スコア123

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/04/20 10:58

0

0

組み込み開発の仕事をしながら、趣味でゲームを作りたいと思っています。
組み込み開発の知識で、ゲーム開発に役立つものというのは、どのようなものがありますか?
組み込み開発というとハード寄りなイメージがあって、ゲーム開発に活かせる部分というのは少ないのかな?と思ってはいるのですが、よくわからないので、質問させて頂きました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

ベストアンサー

組み込みと言ってもいろいろありますから、質問者さんがどのような組み込み開発をするのかにもよりますね。

例えば、メモリ容量をキロバイトで表す程度のスペックで一人で開発するような小規模なシステムもあれば、パソコンやスマホ並のスペックで数人~数十人で開発するような大規模なシステムもあります。

低スペックなシステムは、ハードウェア(デバイス)の知識はほぼ必須で、場合によってはデジタル回路の知識も必要かもしれません(回路図とデータシートが読める程度に)。専用の開発ツールを使うことが多いです。言語はCかC++、場合によってはアセンブラですね。スペックによってはフルセットのC++が利用できない場合もあります。

高スペックなシステムは、中身がWindowsだったりLinuxあるいはAndroidだったりするので、それらのアプリ開発と基本的には同じです(デバッグには専用ツールを必要とする場合もありますが)。言語はC++が多いですね。十分にスペックが高ければJavaやC#という選択肢もあります。

というわけで、ゲーム開発に活かせるかどうかは、どのような組み込み開発に携わるかで大きく変わってきますね。

投稿2019/04/20 13:06

catsforepaw

総合スコア5944

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

torimingo

2019/04/20 15:04

車載のディスプレイ関係の組み込み開発だと思います。 低スペックの組み込み開発は、ハードの知識が必要なんですね。未経験なので、回路図とか出てきたら、自分にはちょっと厳しい感じです。 ハードウェアとのやりとりをしてくれるOSが搭載できるシステムなら、開発はしやすいんですね。 組み込み開発は難易度が高そうなので、組み込み開発ができるようになれば、ゲーム開発も自力でできてしまうのではないかと思えてしまいます。
pepperleaf

2019/04/20 15:18

> ゲーム開発も自力でできて 全く別。 あなたの能力とか適性は分かりませんが、別です。 もうシーズンも終わったようですが、同じスケートでもスピードとフィギアは(どちらもうまい人はいますが)、要求されるものが違いますね。 catsforepawさんも書かれているように、組み込みも幅広いです。
catsforepaw

2019/04/20 16:09

車載ディスプレイですか。車関係は経験がないので具体的にどのようなシステム構成なのか判りかねますが、今時の車載ディスプレイなら派手なグラフィックやアニメーション効果、メディア再生など機能が豊富でしょうから、それなりに高スペックなCPUで制御されていると思います。2D/3Dアクセラレーションやコーデック機能なども搭載しているでしょうね。 OSはITRONか組み込みLinuxあるいはAndroidあたりでメモリは数百メガバイトといったところでしょうか。テレビやビデオレコーダーもだいたいそんな感じです。 その規模なら、ハードウェアを直接触ることは、たぶんないと思います。その代わり専用のAPIでデバイスを制御することになると思います。もしかしたら、開発効率を上げるためにフレームワークやライブラリーを導入しているかもしれません。 おそらくパソコンやスマホとは制御方法(使用するAPI)が違うのでそのまま流用はできないでしょうけど、ボタンやタッチパネルによる操作、テキスト表示、アニメーション処理、メディア制御などなど、ゲームとも共通する技術があるので、その仕組みを理解すればゲームに応用できると思います。 かくいう私はその逆で、ゲーム開発での経験が組み込み機器の開発で役に立ったということがありました(画像処理やアニメーション処理などの画面表示関係)。
torimingo

2019/04/21 00:29

「ボタンやタッチパネルによる操作、テキスト表示、アニメーション処理、メディア制御など」がゲーム開発に活かせそうといったところなのですね。これらの処理にはとても関心があるので、組み込み開発の勉強を頑張れそうです(回路図も出てこなさそうですし)。 ゲーム開発と組み込み機器開発の両方を経験されたとはすごいです。両方、違った意味で、難易度が高そうなので。
guest

0

"組み込みプログラム"ネタのゲームを作るというのはどうでしょう.

投稿2019/04/20 11:19

jimbe

総合スコア13357

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2019/04/20 11:28

いいですね。「組み込み系プログラマー残酷物語。」とか。やってみたいです。(ちょっと違うか)
torimingo

2019/04/20 12:20

組み込み系って、やっぱり難しいんですかね(残酷物語・・・(´・ω・`;))
退会済みユーザー

退会済みユーザー

2019/04/20 13:12

IPPON!
guest

0

昔のゲームセンターにあったような筐体一体型のゲーム(液晶ディスプレイではなくリアルにボールが落ちてきたりするようなやつ)とかバラエティ番組の企画ゲームみたいなもの(芸能人がリアルゲームするやつ)なら良いのでは?

投稿2019/04/20 15:02

HogeAnimalLover

総合スコア4853

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

torimingo

2019/04/20 15:18

ピンボールですかね。 ああいうゲームに活かせるなら、組み込み開発頑張れそうです。
guest

0

こんにちは。

組み込み開発の知識で、ゲーム開発に役立つものというのは、どのようなものがありますか?

組み込み系のコンピュータは一般にPCに比べるとメモリが少ないです。CPUの処理性能は落ちますが、応答性能が低いわけではないです。つまり、省メモリ、かつ、応答性能の高いプログラムを開発することに熟練できると思います。
その特徴が有用なゲームもありそうな気がします。(ゲーム専用機のアクションゲームとか)

組み込み開発というとハード寄りなイメージがあって、ゲーム開発に活かせる部分というのは少ないのかな?と思ってはいるのですが

確かに組み込み系とゲームは結構異なると思います。例えばRPGのようなゲームに活かせる知識はあまり身につかないような気がします。また、3D系のような処理性能が問題になる処理も組み込みでは比較的少ないと思います。

投稿2019/04/20 13:07

Chironian

総合スコア23274

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2019/04/20 14:47

> 3D系のような処理性能が問題になる処理 そろそろ、自動運転? この辺だと、必要になるでしょうか。 リアルタイムの画像処理も多いし、どこまでが、組み込み系なのか、最近、分からない。
torimingo

2019/04/20 15:12

ゲーム専用機のアクションゲームは開発してみたいです。 なんとなくでゲームをつくっていると、キーとか画面の反応が遅かったりしてしまいそうですが、組み込み系を勉強しておけば、そういうところも直せそうですね。 3Dの描画処理に興味があるので、組み込みとは別途に勉強が必要ですね。
guest

0

ハードウェアに関する知識。。。
と言うより、処理時間を気にしつつ、コードを書くという事では?

時間を気にしないゲームも多いようですが、微妙なタイミングに注意した方が、良いゲームができると個人的には思う。
一般的かどうかは知らないが、、、

もっとも現実は、ゲームと組込み系の接点は少ないので、両方を正確に知る人は少ないと思うが。
あ、組込みと言っても分野は広いが、自動車とかの組込み? それとも、人工衛星とか、、? 結構、分野で違うと思うが。
自分は、、、まだここには書きたくないが、今としてはレガシーが多かった。
まあ、その分野をネタにするのもありですが、機密には御注意を。
(と考えると詳細が書けない、、)

投稿2019/04/20 11:38

pepperleaf

総合スコア6385

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

torimingo

2019/04/20 11:45

組み込み開発は、処理時間を気にしないといけないという特徴があるのですね。 ということは、アクションゲームとか、処理時間を気にしたほうが面白くなりそうなゲームには、組み込みの知識が活かせそうですね。 自分が関わるかもしれないのは、ディスプレイの表示を制御するような分野です。 OpenGLとか使うかもしれないので、グラフィックまわりは活かせるのかもしれません。 (組み込みでOpenGLを使うというのが正しい表現かどうかはわかりませんが・・・)
pepperleaf

2019/04/20 11:51

今やってるは、Windows上のC# 、でもこれは組込みに分類されとる思う。 その先の機器動作を行ってるので。 また、昨今の機器なんて、中にOS持ってて、シミュレータ使ったりで、何が組込みかと思うのですが、やっぱり組込みですね。
torimingo

2019/04/20 12:19

C#で組み込み開発というのもあるんですね。 組み込みというと、C言語で、CPUに直接?命令?したりとか、ハードウェアの知識が必須かと思いこんでいました。
pepperleaf

2019/04/20 12:46 編集

最近は、C++も多いと聞く。Windows上で動作確認まで、最後に実機のリアルタイムOS上で、、、(大規模なので、機能毎に分担) アセンブラもありですね。どっかの車載用機器は、表示と通信に特化して中身はアセンブラ。メモリサイズの制限が厳しい。(こんなのは、今時のゲームに役立つ?) 表示は、一見グラフィックだけど、実体は、指定パターンを動かすだけ。 単に組込みというと幅広いですね。 (OSの中作るのも組込みと同じでは?)
torimingo

2019/04/20 14:51

グラフィック関係も、組み込みとゲームでは、あんまりつながっていないんですかね・・・。 こうしてお聞きしていると、結構対極にあるような気がしてきました。 メモリ制限は、ゲーム開発に役立つかわからないですが、プログラムの技術力としては、深みがでそうですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問