0
2
テーマ、知りたいこと
こんにちは。現在、データサイエンスを専攻している大学3年生です。
プログラミングの経験は
・Python:2年半
・データ分析ライブラリ(pandas,numpy等):2年
・機械学習:1年
といった感じです。
結論から申し上げると、データサイエンティストではなく、路線を変えてゲームプログラマーになりたいと考えております。
Pythonしかプログラミング経験がなく、Pythonを用いたゲーム開発経験などもなく、ゲーム開発関連の成果物はありません。
ですが、どうしてもゲームプログラマーとして就職をしたいです。
今からやるべきことなど、何でも良いのでアドバイスいただけると幸いです。
一応、調べてみて、今からできることとしては、
・Pythonのゲームライブラリを用いていくつかゲーム開発をしてみる。
というのが妥当かなと思っています。
背景、状況
最近、就職活動の準備を始めました。
これまでは、大学で、データサイエンス(データ分析や機械学習等)を学んできたので、
これらを活かせるデータサイエンティスト等になれればいいやくらいに思っていたのですが、
ふと「本当に自分がやりたいことはなんだろう」と考えた時に、
ゲームプログラマーとして働いて自分の趣味の一つでもあるゲームを開発したいと思いました。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答18件
#1
総合スコア10130
投稿2023/05/23 09:47
ゲーム開発の経験が無いなら、まずはゲーム開発してください。
今では、個人でもある程度ゲーム開発が出来るような状況なので、本当にやりたいのであれば作り始めていないとおかしいです。
・Pythonのゲームライブラリを用いていくつかゲーム開発をしてみる。
ゲームの内容にもよりますが、Pythonは以下の理由から他の人が実行するためのハードルが高いと思っています。
- 実行するためには、プレイする側に環境が必要 or (トラブルが起こりやすい)exe化が必要
- スマホでプレイするのは基本的に無理(一応Pythonでスマホ開発できるのがあるらしいが、ゲーム向けではないでしょう)
ゲームライブラリを使うのではなく、ソシャゲのようなブラウザゲーならサーバー側でPythonを使ってもおかしくはないですが、クライアント側はJavaScriptなどで作らないといけないので、Python一本だと厳しいです。
個人的な体感ですが、2つ目の言語を覚えれば3つ目以降は比較的簡単だと思うので、この際に覚えてしまうのもありだと思います。
C#のような、ゲームエンジン(C#であればUnity)に対応している言語がおすすめです。
#2
総合スコア7
投稿2023/05/23 09:54
#1
貴重なご意見ありがとうございます!
確かにPythonに拘らず、C#などの新しい言語を学ぶのもありかなと思っていました。
これまでにC言語、JavaScriptは基礎文法を一通り学んだ程度で経験したことはあったのですが、
確か初めてPythonを習得しようとした時よりもスラスラ進めることができたと感じました。
ですが、一つ、不安なことがあるとすると、今からC#などの新たな言語を学び、ゲーム開発をするとなるとかなり時間がかかってしまい、就職活動、就職のためのインターンシップなどに間に合わなくなってしまうといった点があります。
もし仮に間に合わなかったとしたら、正直に
「C#などの新たな言語を学んでいて、ゲーム開発の勉強をしている」
などと答えた方が良いですよね。(就職活動の話になってしまい、申し訳ありません。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#5
総合スコア28662
投稿2023/05/23 10:46
大学三年生ですよね?
今からゲームを作り始めて「実績」と言えるほどのものを作るのに間に合うんでしょうか?
そのままデータサイエンスで実績を作ったらいいと思いますよ。
雇う方の気持ちになってみてください。
来るのは即戦力ではなく、これから育てていかなければいけない若い学生です。
「ゲーム作りを学んでいる途中です」と言う人と、「ジャンルは違いますがこのようなものを作りました」と感心するような物を作った人、どっちを選びますか?
人工知能の発達を受け、今からはゲームにもデータサイエンスが求められようとしている時代です。
逆にそれができる人がアピールできるかもしれません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#9
総合スコア5291
投稿2023/05/24 02:09
編集2023/05/24 02:18今回は普通に就職した方がいいと思いますよ。その上でどうしてもゲームプログラマーになりたいなら、「ゲームプログラマーになるには何が必要か」をしっかり調べて、それを実行して、ゲーム業界に知り合いを作って、時期を見て転身すればよいです。
新卒でゲーム会社に内定をもらうのは質問を見た限り現状では不可能です。大学3年生の就職活動は主にインターンシップという形式でもう始まってます。
今できることとしては、まずインターンシップに片っ端から申し込んでください。サマーインターンは大体5月末で募集は終了します。運よく参加できたら、そこで何が必要か具体的にわかるでしょう。それをやらずに独学で勉強しても大抵はゲーム会社にとって「的外れ」な努力になるでしょう。しかし、おそらく募集に応募しても書類や面接で落とされると思います。その場合はその経験を元に改めて何が足りないか、何が必要かを考えて実行してください。
これを読んだ上で、もしインターンシップに申し込まなかったとしたら、そもそも興味はなかったし本当はなりたくもなかったんだ、とあきらめがつくと思います。
それでも大丈夫です。ゲームプログラマーになりたいという人は本当にたくさんいますが、その中でも採用に応募するところまでたどりつく人はほんの一部です。もっと言えば「ゲームを作る」ところまでたどりつくこともできない人がほとんどです。
なお、応募したとしても採用されるのはその中でもごく一部です。参考にゲーム開発会社の社長さんが書いた note を挙げておきます。
私の感覚としては、新卒でゲームプログラマーになるには大体5~6年の「ゲームプログラミング・ゲーム制作経験」が必要だと思います。もちろん極端に熱中・集中してそれを2~3年でできてしまう人もいます。あなたに残された時間はおそらく今年の12月中旬までです。つまりあと半年です。それまでに普通の人の5~6年分の勉強や経験はできない、と考えるのが普通だと思います。
本当になりたいならば、いま必要なのはネットで情報を集めることではありません。「実際にゲーム会社の人と会って話して情報を得る」ことです。それができるのがインターンシップであり、会社説明会です。
上にあげた note で「的外れで論外な応募者」とか「応募する会社を調べていない」と書かれていますが、もしあなたがここに書かれた情報やネット検索で集めた情報で何か始めてそれで応募したとしたら、あなたはそれに該当してしまうでしょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#10
総合スコア11954
投稿2023/05/24 02:34
正直,私には「何をすればゲームプログラマとして就職できるのか」みたいなことはさっぱりわかりませんが…
「ゲームを作ってみる」は時間等の観点で現実的にきついようにも思いますし,それでもどうにか何かを仕上げたとしても,他者(ライバル?)が持ってくる物と比較されるのでしょうから,その場合どうなのか?(戦えるのか?)っていう点でも厳しいのではないだろうか?
…とか思えてしまいます.
「ゲーム作り」ではなくて,「ゲームに関連する何らかの技術的な 問題/課題 をご自身の専門分野で解決する」みたいな取り組みの方が,そういう点ではまだ現実的なのかな? とか.
(私には「データサイエンス」なる分野がそもそも謎なので,何か具体的な例とかは挙げられませんが…)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#11
総合スコア171
投稿2023/05/24 03:04
ゲームのジャンルは?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#14
総合スコア504
投稿2023/05/28 10:28
編集2023/05/28 10:36バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#15
総合スコア2
投稿2023/05/30 01:05
https://www.amazon.co.jp/gp/aw/d/B08H1Z1JV5/ref=ya_aw_dod_pi?ie=UTF8&psc=1
この書籍、無料で読めておすすめです。
ゲーム開発に携わる職業の就職でのポイントなどが書かれています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#16
総合スコア3
投稿2023/05/30 03:50
質問者さんと同じくpythonプログラマだったところから独学でゲーム開発を始めた者です。
他の方も回答されてますがUnityやUnreal Engineを活用するのがおすすめです。
私も未経験から独学でゲーム開発を始めましたがこのあたりの大手ゲームエンジンは良い入門サイトや教材が整備されているので学びやすいです。おそらくなくならないプラットフォームだと思いますし。
個人規模でも仕上げやすいゲームをまず一つリリースしてみるところを目標にすると良いかと。
私は美麗なグラフィックをあまり求めてないのでUnityをメインで使用しています。
ここのUnityの入門サイト( https://3dunity.org/ )でゲームプログラミング講座チュートリアルの数をこなすところから始めて自分のゲームを作ってリリースしました。
ゲーム開発会社はお給料や労働形態の面から考えてちょっとリスキーに感じたので私自身は別業界のITエンジニアをしながらインディーゲーム開発者として活動を続ける予定です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#17
総合スコア58
投稿2023/05/30 06:56
編集2023/05/30 07:37普通に就職して個人で趣味の時間にゲームを作るじゃだめなんです?
何故企業でゲームプログラマーとして働きたいのでしょう
作りたいゲームはありますか?
ゲームを作るって簡単に言いますけど企画はありますか?そこ適当でも極簡単なオリジナルゲームを作るにしてもリソースを用意したりプログラミング以外の面でも大変ですよ。自前で用意しない場合はアセットストアみたいなもので集めたりという作業も発生するわけですがそういったことを今から就活までに終わらせるのは果たして可能なのか疑問です。
テトリスやブロック崩しを作ってみては?
憧れだけでなくゲーム作りが本当にやりたいのかを知る為に1日で作れるレベルのゲームを作ってみてください。
テトリスやブロック崩しのロジックを組みCUIで表示し入力や判定を処理するのです。(手間なく可能ならばGUIの方がより良い)
ソシャゲのプログラマーであっても似たような処理の実装はやってると思いますし。
基本はゲームエンジンを使うこと、しかし…
個人的な感想でしかありませんがDirectXとかC++とかWindowsに触るのは絶対にお勧めしません。
今からでは絶対時間が足りないからです。
UnityやUnreal Engineを使うにしてもそれらにさえ学習コストが当然ありよしんば1ヶ月で2Dゲームが作れたとしてそれがどれだけポートフォリオとして価値があるのが疑問ですね。
増して希望職種がゲーム「プログラマー」であるならば。
Unreal Engineには多くの問題がありそのソースを弄ることでそれを解決する必要がある現場の話を知っています。
ノードスクリプトしか触れないような人間に現場でできる仕事があるのかというと怪しいのではないかとわたしは思います。
また、わたしが先程時間がないから手を出すなと切り捨てた低レイヤ目の部分を理解し触れる人間がライバルにはいるわけです。ゲーム系専門学校には入学から3ヶ月でチームによるゲーム開発をさせるところもあり、そのプログラマーは前途の言語やライブラリを使ってゲームエンジンを使用せずに2Dや3Dのゲームを卒業までに何作か作成します。
専門でない大学生であってもその部分をしっかり学んでる人はいるわけで、在学中にインディーズゲームを開発し金を得ている人間も多数存在します。
そういう人間もゲームプログラマーとして就活するかもしれない中、あなたが今からそれらの言語やライブラリまたはゲームエンジンによってゲームを作ってそれがどれほどのポートフォリオになるか。
そもそも完成できる保証もありませんしね。
ゲームを作ってみるっていったって、要件を定義して仕様を策定し、設計から実装、テストにデバッグにレベルデザイン、その進捗管理全部自分でやるわけですから、それなりに時間はかかりますよ。
あなたの場合言語やエンジンの学習もあるわけですから。
果たして就活に間に合うのでしょうか。
「ゲームプログラマー」って広く言ってますけど希望する部分のプログラミングができるとは限りませんよ。
モダンゲームは非常に大規模であり多くの作業が必要である為に分業体制が敷かれています。
重複や内包する部分もあるでしょうがざっくり挙げるとバトルロジック担当、フィールドロジック担当、メニュー画面担当、ミニゲーム担当、それぞれのUI担当、遷移担当、入力担当、衝突判定担当、グラフィックス担当、エフェクト担当、AI担当…
他にもあるでしょう。
それは会社やプロジェクトの規模やゲームの種類内容によっても違ってくるでしょうが…。
いずれにせよ、全ての作業に携われる企業のゲームプログラマーは現代において恐らく存在しないと思います。もしいても極々少数でしょうね。
あなたが「やりたくない」ような担当になってしまう可能性もあります。
ゲームプログラムといってもグラフィックの処理と衝突判定と入力処理とUIとAIとプログラムの性格つまりやる作業の性格はかなり違います。
何年もUI担当になるかもしれない、本来は別の人の仕事である企画の仕事をなし崩し的にやらなければいけないかもしれない、納期に追われてデスマーチの日々かもしれない、大企業に就職できたとしてもFF15やMGSVのように長年働いてるけど一作しか携われた作品がないという状況に会社都合で追い込まれてしまうかもしれない。
そこらへんをわかった上で就職して人ばかりだとは言いませんがそういうリスクもある中で何故あなたはゲームプログラマーになりたいのか。
わたしは気になるのです。
データサイエンティストとして売り込むという道
逆に言えば、ゲームプログラムの内容が多岐に渡るからこそ、あなたが培ってきた技術や知識が活かせる面もあるかもしれません。
大規模なゲームであるほど多種多様で多数のデータ処理があるでしょうし、昨今のAIの隆盛を思えばゲームに機械学習を使う向きも十分ありえるのでないかと予想します。
そのやり方はあなたの就活の課題であるので結局はご自身で模索していただくしかないでしょう。
どうしても「ゲームプログラマー」になりたいのであれば、ネットで質問もいいですが、実際に企業に当たっていく方が実情に即した情報が貰えるのではないでしょうか。
あなたは何故&どんなゲームプログラマーになりたいのでしょう。
再三になりますがここがふわっとしてるのは他人からみるとオイオイ大丈夫か?となる部分だと思います。
やりたいことを追うのはいいですが報われるとは限らないことはやはり覚悟しておくべきです。
あなたの趣味の一つであるようなゲームを作れるとは限りませんし、ゲーム開発の内情実情を知らないであろうあなたが憧れるゲーム開発が憧れ通りとは限らないのです。
ゲーム開発の片鱗を一日で知る方法
一日でできますから、とりあえずテトリスとかブロック崩しを作ってみてはいかがですか。
PythonやCは一通り学んだということなのでCUI上で作ってみることは可能な筈です。
例えばテトリミノの回転ロジックが自力で15分で思いつかなかったとしても、ネット上に情報が転がっている筈です。
解決策を調べ見つけて自分の環境に適応する能力も必要でしょう。
大きなものを作ろうとするのは非推薦
理系大学生、それもデータサイエンス系専攻の方であればゲームで使うような線形代数は容易に理解してる|できるでしょうから、衝突判定を含むシューティングなども比較的素早く作れる可能性はあるでしょう。
ですがはじめから大きなものを作ろうとするのはおススメしません。
ゲーム開発初心者にとって2Dアクションやシューティングは大きすぎるとはわたしは思います。
グラフィックや入力の処理に時間がかかってしまうかもしれません。
大学一年や二年ならまだしも三年以降にそこに時間をかけるのはいかがなものか。
その部分をゲームエンジンなら吸収してくれるとは思いますがそれがどれだけゲーム開発の理解に繋がるかは個人的に疑問です。
C#に触れるUnityはC#の学習コストがありますから一筋縄ではいかないでしょう。
ブループリントである程度のものを作れてしまうUnreal Engineを使って作ってもそれは「ゲームプログラマーが何をやるかの把握」にはあまり貢献しないのではないかと思うのでわたしは現段階のあなたには薦めません。
飽くまで簡単に、ご自身が既に把握しているであろうCなどで、ゲームプログラミングの片鱗を知る程度の規模感で作ってみてはいかがでしょう。
その道の先人に接触を試みては如何か
わたし自身はゲーム会社で働くゲームプログラマーではありません。
そも、このようなサイトで現職のゲームプログラマー、それもあなたが思い描くような企業やプロジェクト、担当の人間に回答を貰える可能性は低いのではないかと思います。
(もしそのように自称していても根拠がなければ信憑性は薄いわけですし。)
で、恐らくは異なるジャンルのプログラマーやインディーズゲームプログラマーの回答ではないかと思います。
あなたが「ゲームプログラマーとして就職する」にあたっての情報を得たいのならば、企業で働くゲームプログラマーと繋がるアクションを起こしてはいかがでしょう。
今はTwitterなりなんなり、そういう人間と繋がる方法はある筈です。
相手の都合もありますからまあ失礼のないように…。
というか、二人以上のゲーム開発で重要なのはなんと言ってもコミュ力といいますからね。
一般的に許容されるコミュニケーション、もっといえば相手ごとに適切なコミュニケーション力の醸成手段としても接触を試みるのは手だと思います。
現職の方と繋がるメリットは多岐に渡ると思います。
人脈が就活に役立つかもしれません。
そうでなくとも様々な現場の話を聞けるかもしれません。
困った時わからないロジックについて呟けば親切な人から反応があるかもしれません。
人に好かれない、好かれようとしない人が時間をかけて尚曖昧なことがすぐ解決する可能性が一応あるということです。
ないかもしれませんが、やってみる価値はあるのではないでしょうか。
うまく関係を築ければ実質メンターや仲間ができるかもしれないのですから。
学習や努力の方向性を間違えていても自分一人だとなかなか気づけなかったり気づいてもズルズルとその道をいってしまう事があります。
しかし周りに人がいて尚且つ素直に他人の話に耳を傾けられれば軌道修正してもらえるかもしれないのです。
あなたのように「企業でゲームプログラマーになりたい」のであればここにデメリットはそんなにないんじゃないかと思います。
最後に
あなたの人生は他の誰も責任がとれません。
学習や努力の方向を間違えるのも人生だとは個人的には思いますが、あなたの人生の責任はあなたにあり、誰も時間は巻き戻せず、あなたの後悔は誰も癒せません。
その道の先人の話を聞いてみるのは有効ですがその通りにしたからといってその責任はあなたにあります。
逆に「その人が言うからって選ぶのもな」と躊躇していずれ後悔したとしてもその後悔は誰も拭えず晴らせません。
このクソナゲー文字列に耳を傾けるか無視するかもあなたの選択でありわたしはなにも強制しません。
とはいえこれはあなたの質問文に向けた情報です。
あなたが「インディーズゲーム開発者になりたい」のであればまた違う話が出てきますし具体的にどんなゲームのどんな担当になりたいかの話があればまた違った話が出てくる可能性が生じるのではないかと思います。
それをここやTwitterやその他凡ゆる手を尽くして情報を集めるのも一つの方法であると思います。
あなたがどうするかはあなたの選択です。
個人的には#9の方が提示されているアクションをまずとることが最も良いと思います。
作ってみるのは6月以降でもいつでもできますからね。
もし就職でなく個人でいいなら#7や#16の人の話が参考になるでしょう。
- ゲームプログラマー就職を目指すこと
と
- ゲームを作れる個人になること
は別の話として切り分けるべきだと思います。
其々が其々の可能性は上げるでしょうが、大学三年のあなたが前者を目指す場合に於いて、後者の方法論を参考にするのは現実的ではないとわたしは思います
また「個人でゲームを完成させリリースできる人間」になること自体が猛勉強したからといって仮に数年の時間があったとしても容易ではないと思います
あと「転生すればいいや」と適当なネット上のアカウント運用をしていたら恐らくいつまで経っても誰とも深い関係は築けず前途のような関係性の構築は難しいのではないかと思うので其々の場での一期一会は大切にすべきかと余計なお節介で蛇足します
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。