質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

90.51%

  • C

    4534questions

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

  • C++

    4434questions

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

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

解決済

回答 5

投稿

  • 評価
  • クリップ 0
  • VIEW 317

torimingo

score 53

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 5

checkベストアンサー

+3

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

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/21 00:04

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

    キャンセル

  • 2019/04/21 00:18

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

    キャンセル

  • 2019/04/21 01:09

    車載ディスプレイですか。車関係は経験がないので具体的にどのようなシステム構成なのか判りかねますが、今時の車載ディスプレイなら派手なグラフィックやアニメーション効果、メディア再生など機能が豊富でしょうから、それなりに高スペックなCPUで制御されていると思います。2D/3Dアクセラレーションやコーデック機能なども搭載しているでしょうね。
    OSはITRONか組み込みLinuxあるいはAndroidあたりでメモリは数百メガバイトといったところでしょうか。テレビやビデオレコーダーもだいたいそんな感じです。

    その規模なら、ハードウェアを直接触ることは、たぶんないと思います。その代わり専用のAPIでデバイスを制御することになると思います。もしかしたら、開発効率を上げるためにフレームワークやライブラリーを導入しているかもしれません。

    おそらくパソコンやスマホとは制御方法(使用するAPI)が違うのでそのまま流用はできないでしょうけど、ボタンやタッチパネルによる操作、テキスト表示、アニメーション処理、メディア制御などなど、ゲームとも共通する技術があるので、その仕組みを理解すればゲームに応用できると思います。

    かくいう私はその逆で、ゲーム開発での経験が組み込み機器の開発で役に立ったということがありました(画像処理やアニメーション処理などの画面表示関係)。

    キャンセル

  • 2019/04/21 09:29

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

    キャンセル

+3

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/20 20:28

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

    キャンセル

  • 2019/04/20 21:20

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

    キャンセル

  • 2019/04/20 22:12

    IPPON!

    キャンセル

+1

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/20 20:45

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

    キャンセル

  • 2019/04/20 20:51

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

    キャンセル

  • 2019/04/20 21:19

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

    キャンセル

  • 2019/04/20 21:45 編集

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

    キャンセル

  • 2019/04/20 23:51

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

    キャンセル

+1

こんにちは。

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/20 23:47

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

    キャンセル

  • 2019/04/21 00:12

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

    キャンセル

+1

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/21 00:18

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

    キャンセル

同じタグがついた質問を見る

  • C

    4534questions

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

  • C++

    4434questions

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