プロが教える店舗&オフィスのセキュリティ対策術

ゲームプログラミングはwebプログラミングと関連性はありますか?
ゲームプログラミングを勉強して、Webプログラミングの理解は深まったりしますか?

A 回答 (5件)

No.1です。


No.3さん、ITの世界の流れに関して俯瞰した解説ありがとうございます。
私が感じていたことと一致していますね。

私は、プログラミングは独習でしたが、教材はたぶん情報系の大学で教科書として使われるような書籍とUNIX系のプログラミング書籍が多かった。
なので、「ゲーム系のごちゃごちゃした面倒なプログラミングは嫌!ハッキングに必要ならアセンブラも使うけど、できれば高級言語でやりたい」って感じでしたね。

だから、Web系が増えたのは、ちょっと嬉しい気もしています。
ただ、これまでのWeb系システムって、「屋根屋を重ねる」っていう感じがあって、ごちゃごちゃ感を感じていました。
マイクロソフトの「ASP.NET Core Blazor」がスッキリ感があって私の好みです。
ま、そういう流れを選ぶと、ますますゲーム系から遠くなりそうです。
    • good
    • 0

「HTML5ゲーム開発の教科書」という書籍によれば、


以下のような関連性はあるようです。


ゲームの特徴と、ウェブの技術

・カートリッジ交換で1つのデバイスで複数のゲームを遊べる
>URLごとに異なるコンテンツ提供

・ディスプレイ出力によるゲーム状況の把握
>HTML/DOMやWebGL

・サウンド出力によるBGMやSE
>audioタグ、WebAudio

・コントローラ入力によるゲーム状態の更新
>タッチやキーボードによるイベント制御

・敵AIやステージ構成による多様な難易度
>メモリアクセス、HTTP通信、WebSocket、WebStorageなど
    • good
    • 0

うーん、これはムズいなぁ。



基本的には「関連性はない」かなぁ。

まずプログラミングの発展/歴史から言うと、です。
GUIのソフトとかゲームのプログラミングって滅茶苦茶難しいんですよ。
今はライブラリが発達してきてますが、原則、画像/映像が絡むプログラミングは厄介なのです。いわゆる大学で学ぶような「コンピュータサイエンス」とちょっとズレた辺りにあるんですよ、元々。
しかもゲームの場合は動きが絡むでしょ?「綺麗なプログラム」にならん範疇なのです。
だからこういうややこしい範疇で「プログラム」を書ける人たちってのは元々達人なんですよ。技術的には圧倒的な人たちなのです。

「大学でプログラミングをコンピュータサイエンスとして教える」って場合、元々、トピックはテキスト処理ベース、なんですよね。もちろん発展形としてコンピュータグラフィックスの範疇ってのもありますが。ただ、歴史的に見るとコンピュータグラフィックスをグリグリ動かすには教材であるコンピュータ自体が遅かった事もあり、やっぱ大まかにはテキスト処理範疇だったわけです。
んで、まぁ、大学で「学問として教える」って建前がある以上(笑)。定理的なモノに時間割かないといけない、って前提があるわけで。つまり、重複で汚くコードを書き連ねるようなスタイルよか、反復が無く美しいコードになるようなテクニックを教えましょう、とか。まぁそういう話になりますよね。
つまり、「理想的な綺麗なコードを書く」って前提でそういうモノを教えるんです。元々コンピュータでの処理でテキスト処理が求められてた事もあり、「綺麗なモノを教える」には都合が良かったのです。
ところが現実世界では。GUIのPCのプログラムとかは「大学的なテキスト処理」のプログラムの真逆の世界に存在します。だから正直、GUIのPCが出てきた時点からしばらくは、「大学卒の」プログラマと「現実世界のプロフェッショナルな」プログラマって違う世界に住んでたんですよ。
また、当時はまだCLI(コマンドラインインターフェース)のPCも多かったわけですが。画像をバリバリ扱い動かす「ゲームプログラマ」は「大学卒のアカデミックなプログラマ」とはかなりの確率で重複してませんでした。違う世界に住んでたどころじゃなかったのです。
いずれにせよ、「現実世界のプロフェッショナルなプログラマ」ってのはいざとなればアセンブリの汚ぇ泥臭い世界に飛び込むのも厭わない人たちですし。特にゲーム関係のプログラマは、貧弱なハードウェア上で速度を求められるようなプログラムをガンガン書いてた人たちですし。ぶっちゃけ

「高級言語?無駄無駄無駄無駄無駄ァッ!」
「震えるぞフロッピー!狭過ぎるほどメモリ空間!!おおおおっ刻むぞアセンブリ!!!CPUのオーバードライブ!!!!」

って人達ばっかでした。圧倒的にアセンブリでプログラムする事を好む人たちだったのです。「コードの綺麗さより実行性能」って人たちだったんで、「大学卒の」プログラマとは元々違う世界にいる「技術者」だったんですよ。
一方当時の大学卒のプログラマってのは全般的に言うと、もうテキスト処理世界に逃げ込んでたようなトコあるんですよね。その辺がまだ大学教養的な「綺麗なプログラムが書ける」世界だったんで。
んで半数ぐらいはMicrosoftみたいな大企業で働きたい、どうせやるならWordとかプログラミングしたい、って思ってる人たちですし、残りの半分くらいは一般的には全く使われていないUNIXでプログラムすればラクだよな、って人たちだったのです(※)。後者はぶっちゃけ、一般市場的な観点で見ると「誰も使わないようなプログラム」を一生懸命書いてたわけですね。
これが90年代前半くらいまでの世界的な状況だったんです。

これで分かるのは、当時では、プロのプログラマ、つまり一般的に流通してる(注: ちなみにこの当時、日本では今じゃ考えられないくらいPCの流通率は実は低かった)パソコンのソフトウェアを書けるプログラマの数は今と比べれば全然多くなかったのです。ホント「現実世界の」プログラマは「限りある才能」ってのが当時の状況だった。ゲームプログラマとか尚更、ですよね。

んでぶっちゃけ、この状況が劇的に変わったのはネットが一般に浸透してから、です。まぁ、WIndows95以降って言っても良いんですが。
元々、ネットの実験段階から長い間UNIXが使われてた事もあって。実の事言うと「Webプログラミング」ってのはUNIXで行われてた「テキスト処理プログラミング」の延長線上に存在するんです。つまり、原則、MS-DOSとかで行われてた「ゲームプログラミング」なんかとは全く違う範疇だったんですよ。
誤解を畏れずに言うと、「大学的プログラミング」が実用プログラミングと合致したのは、Webが一般的になってから以降、なのです。Webブラウザなんかも原理的には「インタプリタ的に」テキスト処理していく仕組みですし、この辺の「やり方」ってのは、GUIプログラミングとかゲームプログラミングなんかより圧倒的に「アカデミックな」「綺麗なプログラム」と構造が似通ってるんです。
つまり、この時点以降で「大学卒のプロのプログラマ」が大量に増えた。そして彼らはWindows PCのプログラミングには行かないで、Webプログラミングを専門とするIT企業に大量に就職するわけですよ。ITバブルなんかもありましたし。ここで完全に状況が変わったのです。
そしてこの時点で「一体誰が使うんだか分からなかった」ようなUNIX用ツールの資産も開放されていくんですね。Web技術の裏方としてUNIXは必須OSとなってWindowsとまた違う分野での「勝者」となったわけです。

とまぁこういう流れがあります。
そして、現代でも・・・ぶっちゃけて言うと、技術的な難易度とか色々と考え合わせても「ゲームプログラミングが出来る人はWebプログラミングが出来る人より格上」的な印象がありますね・・・。給与的なモノとか、ジャンルのせいで、「バリバリのIT企業系Webプログラマ」より世間的には低く見られる場合も多いかもしれませんが(日本で給与的にゲームプログラマの方が安く低く見られる、と言うのは、元々ゲーム会社が80年代にバイトで使った学生をそのまま安く正社員にしちまう、と言う悪行が流行った為、でそれは技術の評価ではない)。
今のゲームプログラミングは、プレイステーション以降、OS搭載、って事もあって、アセンブリで直接プログラミングする、なんつーことは無くなった模様ですが、それでも「クソややこしいプログラミングを行う」ってのは相変わらず変わらない模様です。
色んな人に聞いてみたんですが、やっぱWebプログラミングをいくらバリバリ出来てもゲームプログラミングは率直に言って「嫌だ」って言う人多いんですよ(笑)。どう考えてもアカデミックな意味での「綺麗なプログラム」にならない、と。大学での学習の全否定みたいなトコがあるんで(笑)、その辺「郷に入っては郷に従え」って割り切れるタイプじゃないとゲームプログラマにはなれないのかもしれません。そして面倒臭い事を厭わない人じゃないとダメでしょうね。
あと、これもそうだと思うんですが、Webプログラマはとにかく、今「Web全盛」なんでそっちが重視されていますが。技術的な話とか聞いても、ゲームプログラマに限らないんですが、Windowsのプログラミングを生業にしてる人の方が「上」なカンジしますね。とにかく色々と良く知ってる(笑)。そしてUNIX系の人達に比べると文章書くのも上手い(笑)。
現代だとWeb社会なんで、「UNIX系のプログラマの声が大きい」んで、ついついそっちを良く目にしがちなんですが、Windows系のプログラマの方が静かでも実力は上なんじゃねぇのかな、とか言う印象を持ってます。極論「大学で学ぶ以上の事を」自習して学ぶのはWindows系の人の特徴かなぁ。なんかそういう印象です。で結局数が少ないんで・・・色んな意味でこのジャンルの人達はとにかく「精鋭」なんですよ。

まぁね、WindowsでのGUIプログラミングもゲームプログラミングも、どんどんライブラリが進歩していって敷居は低くはなっていくんでしょうが(後者だと今はUnityか)。
いずれにせよ、現時点ではゲームプログラミングとWebプログラミングはルーツ的にはちと違うトコに立脚してると思いますし、ゲームプログラミングの方が遥かに難しいジャンルだと思っています。

※: 例えば大学でのアカデミックなプログラミングで出てくるのが「プログラミングで役立つプログラムの作り方」と言う分野で、当然ゲームなんかは含まれない。一方、このテのブツで有名なのが例えばコンパイラ作成とかインタプリタ作成であり、これらの律速性を操る「最適化」の為の様々な技法が要求される。そしてこれらは大学らしく「研究の余地がある」分野なのである。
ちなみに、こう言うトコで好成績を叩き出した限られた優秀な人々が、当時では例えばコンパイラ技術者として例えば言語ベンダーとかに就職するわけである・・・当時は言語処理系は「売ってた」ので当然高給取りになり、市井の「ゲームプログラマ」とは住む世界を違えるわけである。
    • good
    • 0

関連性はあります。



が、それぞれ違う分野なので、
相手方の理解は深まりませんね。
    • good
    • 0

ゲームプログラミングをやれば、プログラミングの勉強にはなりますね。


だから、webプログラミングをするとなったら役にたちます。
が、あまり関連性は無いし、理解も深まらないと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!