hildsoftの裏庭

メインでは書かない種類の雑記です

最近読んだ印象が強かった漫画(2017/07)

賭ケグルイ

賭ケグルイ(1) (ガンガンコミックスJOKER)

賭ケグルイ(1) (ガンガンコミックスJOKER)

2017年7月からアニメ放送している作品です。

学園が舞台になっており、学園内で序列を決めるのはギャンブルという空想設定の元で繰り広げられる賭博のお話。

純粋なギャンブルの話かと思えば、ギャンブルにありがちなイカサマやルールのトリックがメインの構成になっています。
イカサマが分かっているうえでの心理戦などもあり、2,3回読み返すと新たな描写に気づく面白い作品です。


汚物は消毒です

汚物は消毒です(1) (サンデーうぇぶりコミックス)

汚物は消毒です(1) (サンデーうぇぶりコミックス)

ヒャッハーな世紀末のお話・・・ではなく、親の再婚により潔癖症の姉とズボラな弟が一緒に暮らすことになり、掃除する話です。

何が言いたいのかというと、姉+弟+掃除を含めたギャグ漫画。

この作者の前作「姉ログ」

姉ログ 靄子姉さんの止まらないモノローグ(1) (少年サンデーコミックス)

姉ログ 靄子姉さんの止まらないモノローグ(1) (少年サンデーコミックス)

の類似作品と言いましょうか。

登場人物が変わって、掃除ネタを主軸に据えられている作品です。

これを読めば掃除ネタが少しずつ蓄積されると思いますが、基本は姉萌え作品かと。


ビリオネアガール

ビリオネアガール(1) (アフタヌーンコミックス)

ビリオネアガール(1) (アフタヌーンコミックス)

平凡な大学生の主人公、高遠恵が教授から請け負った姪っ子の家庭教師アルバイトを破格の金額で受けるところから物語は始まります。

実はこの姪っ子、藤岡紫は天才的なデイトレーダーで、とある事情から大学には行かなかったために統計学を学びたいとアルバイトを雇ったわけですが、極度の人見知り、大金を持っているが故の人間不信が重なって少しズレてる子でした。

お金の魔力、恋愛、友人関係が交錯するストーリーです。

打ち切りになったのか、3巻完結で少し内容が浅いイメージはありますが、軽く読む分には面白い作品でした。


RATMAN

RATMAN(1) (角川コミックス・エース)

RATMAN(1) (角川コミックス・エース)

ヒーローという特殊能力を持った存在が実在する世界、子供の頃にヒーローに助けられてからずっとヒーローになることを目指していた少年、葛城修斗。

身長も伸びず、ヒーローには向かない体格な修斗は悪の組織ジャッカルに捉えられ改造人間?RATMANになってしまう。

そしてダークヒーローとして悪事を働き、ヒーローと戦うのであった。

というヒーローものの逆視点から始まるストーリーですが、実際はヒーローの方にも問題があり、お互いの信じる正義のために戦う展開になっていきます。

序盤は短編的なストーリーですが、途中から核心に迫る長めのストーリーに移行していきます。

個人的には好きな作品ですが、後半のシリアスパートはちょっと強引な設定だなぁと感じました。

スカルプトをするための人体モデル資料

f:id:hildsoft:20170724063431j:plain

人体モデルをスカルプトするための資料

粘土でもZBrushでも既に存在するものをスカルプトをするためには、その物についての形状の知識が必要になってきます。

特に人間の場合、見慣れているが故に適当にスカルプトすると違和感を覚えてしまいます。

ネットでの資料収集

ネットでもある程度の資料集めはできます。

何せ人間のモデルですから、普通の写真からでも見る人が見れば十分な資料になります。

ですが、ちょうどよいものを探すのにも時間がかかりますし、初心者はどこを注目するべきかも分かりづらいです。

そこである程度まとまった資料があれば時間の短縮もできるため、いくつか探してみておススメの物を見つけましたので紹介します。

スカルプターのための美術解剖学 -Anatomy For Sculptors日本語版

こちらは初心者におススメです。

骨格、筋肉について、いろいろなポーズでの形状が写真があり、その写真の上に筋肉や骨、トポロジーが描かれているため、立体構造を理解しやすいです。

また、間違いやすい項目についても説明が書かれているのも初心者におススメの点です。

人体についての資料を持っていないのであれば、ぜひ買ってほしい1冊です。

少々高い値段ですが、資料として値段分の価値はあると思います。

3Dアーティストのための人体解剖学

こちらも初心者におススメです。

内容的には上記の「スカルプターのための美術解剖学」と似ています。

被る部分は多いのですが、資料なので余裕があれば両方欲しいところです。

しかしどちらも結構な値段しますし片方持っていれば知りたいことは解決すると思いますので、無理して買うほどではありません。

「スカルプターのための美術解剖学」と比較して図が少なく、説明が多めの印象です。

ANATOMY SCULPTING(アナトミー・スカルプティング) 片桐裕司 造形テクニック

ある程度基本を押さえている人向けに、更なるスキルアップとして注目すべきところを書いています。

ポーズの種類は少ないので網羅的な資料というよりは、幾つかのモデルを作りながらピンポイントでレクチャーをする感じです。

粘土での造形を説明しているので、実際にモデルを作成する場合のテクニックも得られるかと思います。

ZBrushだけで作業をする場合は必須というほどでもないかと思います。

unity1week第三回お題「積む」に参加したので開発まとめ

unity1weekとは

Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

月曜0時開始、日曜20時締切の1週間ゲームジャムです。

毎回お題が発表されるので、それに沿った(拡大解釈可)ゲームを作ります。

時間配分などは各自に任されているので、有給取るなどして1週間ガチでやるも良し、毎日少しずつ作って週末ブーストするも良し、ネタに走って短時間で片づけてもokなお祭りです。

日曜提出なので、自分の技術力やリソースとも相談しながらあまり複雑にならないようなゲームを作るというバランスも求められます。

時間オーバーしても提出できるみたいですが、この辺はルールなので極力守りたいところ。

参加の記録

1日目(月曜日)

お題を見て寝るまで少し考えるもアイディア出ず。

1回目が「跳ねる」、2回目が「転がる」なので、3回目の「積む」は少々難しい。

どうしてもネタ被りになりそうけど、参加者多いのでネタ被りは気にしない。

仕事中の休憩時間に少しずつアイディア出しして幾つかリストアップ。

1日目はコーディング無しで終了。

隙間時間で考えていたので時間は未計測。

2日目(火曜日)

Rigidbodyの仕様を少し調査。

デモ用プロジェクトを作成して、適当にコード書いてネックになりそうなところの検証作業。

作業時間:2時間

3日目(水曜日)

実際にプロジェクトを作成して作業開始。

SDユニティちゃんを出して、少しブロックを積んでみた。

f:id:hildsoft:20170622004824j:plain

調査に時間かかったので、実進捗としては殆どゼロ。

作業時間:2時間

4日目(木曜日)

作る内容を方向修正して、ゲームの基本部分となる仕様がほぼ固まる。

当初はブロックを積み上げてWave方式の攻撃からユニティちゃんを守るゲームを考えていたところ、

かなりの数を積まないといけないことになって、面倒さを感じてレミングス風のゲームにする方向に路線変更。

プロジェクトを作りなおして同じような状態まで戻してユニティちゃんを動かすところまで進んだ。

作る方向性は確定したので、あとは面白くできることを信じて進めるしかない。

f:id:hildsoft:20170623014637g:plain

作業時間:3時間

5日目(金曜日)

ntnyさんの作ったplayGROWndのデモを見ていると、これで作りたいという衝動に駆られる。

しかし、パーツ数的にWebGLで動くかどうかも含め検証している時間が無さそうなので断念。

でも部品として、いくつか使わせてもらいました。

その後、夜更かししながらまったり開発。

Animation部分の知識が無くてハマったため、後回しにしてできるところから進めた。

UI周り間に合わなさそうな雰囲気・・・。

作業時間:5時間

6日目(土曜日)

Animation部分のバグ取り開始。

これが思いのほか、原因が掴みづらい。

デバッグ方法を知らないのもあるかもしれないけど、動いている物でバグの瞬間を捕まえるのがすごく大変だった。

結局今回は根本的な解決はできず、対症療法的に回避。

細かく見ると違和感あるけど、ゲームを進めるうえでは何とかなるのでこの辺で妥協。

この辺で、時間が無いのでステージギミックを減らして完成させるしかないと舵を切る。

作業時間:8時間

7日目(日曜日)

昼前にようやく開始~終了まで一連のゲーム部分の流れが完成。

気づいたら残り2時間で急いでUI作成。

ビルドの時間もかかるので、ゲーム内のスクリーンショットを少々加工して終了。

サイトに上げるも衝突判定が予定通りに機能しない・・・。

さすがに時間も足りないので、このまま公開することに。

NavigateUnityChan | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

ただ積んで道を作るだけなので、当初考えていたパズル要素もあまり無く、ステージも5個だけと寂しい結果に・・・。

作業時間:6時間

感想

約30時間くらいをつぎ込んでゲームを作ったわけですが、半分以上は調べものと検証の時間に使ってしまったので、 やはり作り慣れていないと1週間である程度のボリュームと品質を両立するのが難しいなと痛感しました。

作業時間の把握や取捨選択など、反省点が多く、勉強になった1週間でした。

また時間が取れる時は参加してみたいと思います。

今度こそはまともな作品に仕上げてリベンジするぞ!

最近読んだ印象が強かった漫画(2017/06)

幼女戦記

幼女戦記(1) (角川コミックス・エース)

幼女戦記(1) (角川コミックス・エース)

2017年1~3月にアニメも放送していた作品です。最近はやり?の異世界転生ものです。2017/06/09に6巻が発売予定です。 アニメでは描写はされても明確な説明がされていなかった部分も漫画では表現されていたり、勢力の書き分けなどで一部を動物で表示するなど分かりやすい描き方になっています。
軍事面での表現などの説明もあり、知識のない方でもすんなりと物語を追っていける読みやすいです。

戦時下に安全に生きることを目的に保身に走る主人公ターニャ・デグレチャフ、しかしその行動がどんどん裏目に出てしまい前線で遊撃部隊として扱われる可哀想なキャラですが、思惑と結果のズレが面白い作品だと思います。


実は私は

実は私は(1) (少年チャンピオン・コミックス)

実は私は(1) (少年チャンピオン・コミックス)

この作品も2016年にアニメ化されました。こちらは完結しています。

以前紹介した「ゲッチューまごころ便」のようなノリのコメディ寄りの作品です。
テンポが良いので、少しずつでも楽しめる作品になっています。
鈍感主人公二人が勘違いから暴走してしまうという見ていて恥ずかしくなる展開も多々あります。

吸血鬼や宇宙人など、人以外の登場キャラが多いファンタジー要素盛りだくさんですが、この辺に抵抗が無い方にはおススメです。

手品先輩

手品先輩(1) (ヤングマガジンコミックス)

手品先輩(1) (ヤングマガジンコミックス)

一生懸命だけどドジっこな手品大好き先輩がかわいい。
失敗してもポジティブな先輩かわいい。

手品部の創立を目論む先輩が部員を集めるところから始まり、運悪く?捕まってしまった後輩君。 そんな二人の掛け合いから始まり、3巻ではさらに個性の強いキャラも登場し今後の展開も面白そうです。

ラディカル・ホスピタル

ラディカル・ホスピタル 1巻 (まんがタイムコミックス)

ラディカル・ホスピタル 1巻 (まんがタイムコミックス)

かなり長い間連載している医療系4コマ漫画。
病院の外科を舞台とした業界あるあるものです。

病院が舞台なだけあって、重い話もいくつかありますが、基本はクスっと笑える作品になっています。
特に専門知識などなくても楽しめます。

変ゼミ

変ゼミ(1) (モーニングコミックス)

変ゼミ(1) (モーニングコミックス)

面白いと言えば面白いのですが、知らない方が良い世界かもしれません。

怖いもの見たさで読みましたが、世の中いろいろなこと考える人が居るんだなぁと参考にはなりました。

特殊な性癖がかなり出てくるのでご注意を。読んで気分を害されても責任持てません。

初心者から始めるMayaLTの独学勉強法

前置き

MayaLTとは

Autodesk社の提供する統合3DCGツールMayaのモバイルゲーム開発向けのエディションです。

ゲーム制作ツール | Maya LT | オートデスク

モバイルゲーム開発用に限定し、各種機能に制限がある代わりに価格を抑えています。

価格

以前は永続ライセンスとして売り切りで販売されていましたが、現在(2017/06)はサブスクリプション制に移行しています。

通常のMayaが、241,920円/年かかるのに対し、

MayaLTは、35,640円/年となっています。

LT版といえど、決して安いわけではないのでまずは使ってみることをお勧めします。

また、学生は商用利用不可の制限はありますが、機能制限のないMayaを無償で使用できます。

Maya 無償ダウンロード

動作環境と体験版

以前は環境依存が大きく、ハードウェア面でもQuadroやFireProが推奨されるなど制約が厳しかったのですが、 現在ではDirectXもサポートされ、GeforceGTXでも動作検証されている物もあり、比較的使いやすくなってきています。

お金に余裕がある方は、無用なトラブルを避けるために個人的にはQuadroなどの対応グラフィックボードをお勧めします。

Maya 認定ハードウェア

1カ月利用できる体験版もありますので、まずはハードウェアが対応しているか、どのような操作体系なのかを知るために使ってみるのが一番です。

MayaLTを使うメリット

一番のメリットは、Mayaがほぼ業界標準と言っていいほどのシェアを占めていることだと思います。

ユーザーが多いのでスキルを持った人を確保しやすく、ノウハウを流用できるためです。

MayaLTを使うデメリット

機能面では他のツールの詳細を知らないのでカタログ的な見方になりますが、最近の統合系のソフトはほぼ同じようなことができるようなので、 無理して価格が高めなMayaLTを選ぶ必要もありません。

LT版はレンダリングができなかったり、プラグインが使えなかったり、fbxの出力制限があったり(UnityやUE4向けには実質無制限)するので、 indie向けの価格を抑えた作りになっています。

もともと業務用というだけあって、書籍代は一般向けではないので部数が出ないせいか、高めです。
また、MayaLT用のものは殆どなく、Maya用のもので勉強することになると思います。
MMDなどで一般にも認知されているBlenderやメタセコイアに比べてデメリットになっています。

それでもMayaLTを使いたいですか?

結局ツールなので、価格、使いやすさ、機能、習得コスト(時間や参考書代など)の4点を重視して判断することになります。

私がBlenderなど無償のツールがあるにも関わらずMayaLTを使っているのは、メリットがデメリットを上回っているからに過ぎないです。

2017Update3でUV展開が非常に使いやすくなってさらにメリットが増えましたが、今後価格が上昇するなどのデメリット面が増えていけば ツールを切り替えることも視野に入ってきます。

初心者向けの勉強法

それでもMayaLTを使いたいという方に、私が実践した勉強法を紹介します。

3DCG全体への理解

まず、MayaLTを勉強する以前に、自分がどのくらい3DCGについて知っているかを把握する必要があります。

全くの素人であれば、3DCGと検索して、どのようなことができるのか、どのようにして作るのかざっくりとで構いませんので見てください。

ある程度理解できるようになったら、実際にツールを使って試行錯誤を繰り返し少しずつツールに慣れていくことになります。

勉強はチュートリアルが一番

LT版ではありませんが、Maya公式チュートリアルビデオです。

Maya Learning Channel | Autodesk :: AREA JAPAN | ムービー

参考にはなるのですが、正直これだけでは不足です。

そこで、書籍レベルのチュートリアルを一つやってみるのが良いです。

私が実際に使ったのがこれです。

f:id:hildsoft:20170603154155j:plain

はい、高いです。
しかも、2012バージョンなので、2015から2016へUIが大幅に変わった時の対応ができていません。

2016からMayaLTを勉強し始めたので、当時はネットでも2016に対応した情報が少なく、体系的に勉強するためにUIの違いをネットで調べながら読んでいきました。

ちなみに、この本「NEW GAME!!」というアニメの主人公が最初に手渡され勉強するように言われた本でもあります。

TVアニメ『NEW GAME!!』オフィシャルサイト

2012バージョンで収録されているにも関わらず販売され続けていますので、比較的良書であることは間違いないと思います。 (独学でMayaを勉強しようという人が少ないから他の本が出なかったとも取れますが・・・)

しかし、最近こういう本が出ました。UIも2016対応しています。
スキニングやアニメーションなどの説明が無いので少し不足している感がありますが、現時点でMayaLTを初めて触るという方にはこちらをお勧めします。

ある程度MayaLTの操作に慣れてきたら、自分の作りたいものを作ってみましょう。

チュートリアルでは出てこなかった疑問や効率的な操作法など、知りたいと思うことがたくさん出てくると思います。

この段階になると、調べて潰していくことになります。

何を調べればいいのかある程度判断できるようになっているはずなので、キーワードで検索をかけて知識を増やしていきましょう。

時々どう調べていいかも分からないような壁にぶつかることもあると思います。

そういう時は思い切ってネットの掲示板やSNSで質問するのも一つの手ですが、 的確な答えを得るためにも、的確な質問ができないと答える側も答えられないので、ある程度の基礎知識は必要になるのです。

そのために、チュートリアルは一通りやったうえで、これを勉強しましたと言えば相手もどのくらいの知識があるかを分かったうえで回答することができるのです。

余談ですが3DCGをやっていくと、他のDCCツールとの連携方法や、データを作るうえでの制約も知る必要が出てきます。
むしろこちら側で困ることが多い気がするのですが、今回の記事とは別の話ですので、ここでは割愛します。

英語が苦手でも英語のマニュアルを読む方法(プログラマ、デザイナ向け)

日本人って英語アレルギーありませんか?

メインサイトの方で、Substance Painterの公式チュートリアルを日本語でまとめたところ、ある程度のアクセスが来るようになりました。

SubstancePainter カテゴリーの記事一覧 - hildsoft開発日誌

閲覧していただきありがとうございます。

このことから日本では中学から高校まで6年間、大学まで含めると10年間英語を勉強しているはずなのですが、苦手な人が多いと感じています。

何より私自身、英語は苦手です。日本語のマニュアルがあればそっちを選びます。


しかし、使いたいソフトが日本語対応しておらず、有志の日本語マニュアルも無い状態って結構あって、日本語化されるのを待つか、頑張って訳したりして理解するしかないのが現状かと思います。

お金のある会社などは業者に依頼して翻訳する手も使えるのでしょうが、個人でそれをやるにはハードルが高いと感じます。


必要に迫られて読んでみるとマニュアルレベルの英語ってそれほど難しいものではないのがほとんどです。

専門的なことを書いているものが多いので、専門外の人には難しく感じるかもしれませんが、専門用語は日本語でも大抵カタカナ語として使われているので携わっている人ならイメージは沸きやすいです。

では、なぜ英語のマニュアルを読めない(読まない)のか。

恐らく、英語アレルギーで、英語自体を拒否しているのではないかと思うのです。

みんなの味方、google先生

英語に抵抗がある人は、まず日本語化して1回読んでみましょう。

今は翻訳の精度も上がっているため、まともな日本語になることが増えてきました。

f:id:hildsoft:20170402153925j:plain

chromeを使っているのであれば、アドレスバーの右にあるボタンをクリックすることで変換できますし、日本語が少しおかしいようなところは、マウスカーソルを合わせれば原文を表示することもできます。

概要を日本語で読んでしまえば、大まかな意味をとらえることができます。

これで必要な情報を十分に得られれば終わっても良いのですが、ここで少しだけ原文を読むことに挑戦してみてほしいのです。

全く分からない状態であれば、高校レベルの英語が不十分である可能性が高いです。

手間はかかりますが、自分のペースでもう一度英語を勉強してみませんか?

英語覚えませんか?

もちろん言語なので、必要最低限のことは覚えないといけませんが、英語のマニュアルを大まかに理解する程度で良ければそれほど難しいことはありません。

少し乱暴な言い方ですが、次の2つを目標にしてほしいです。

  • 中学で習う英語の文法
  • 高校レベルの英単語

言うだけであれば、大学レベルの英語までを全部やれというのが簡単ですし、実際やればマニュアルどころか、英語の文章を読むのに困ることは無いでしょう。

しかし、言われて簡単にできるのであれば、既にやっているはずですし、そこまで時間や情熱を割けないのが実情かと思います。

そこで、最低ランクとして上記の2つを提案します。

文法を理解しましょう

最低限の文法は絶対です。

Aだから、Bとなる。

AはBにCする。

など、因果関係や行為の対象は読み違えると逆の意味になったりするためです。

単語だけ覚えて読もうとすると、自分の都合のいいように文章を組み立ててしまうため、 イメージのわかない単語についてはどれをA,B,Cにするかわからなくなってしまうのです。

必要最低限の文法は中学で習います。

世界一わかりやすい やりなおし中学英語 (中経の文庫)

世界一わかりやすい やりなおし中学英語 (中経の文庫)

自分のペースで構わないので、文法については理解して進めていくことが大事です。


高校で習う英文法は、例外だったり、表現の幅を広げるものなので、実際に英文を読みながら理解していくといいでしょう。

そういう意味では、いずれ覚えないといけないので勉強していってもいいかと思います。

関先生が教える世界一わかりやすい英文法の授業

関先生が教える世界一わかりやすい英文法の授業

単語は品詞の区別と一緒に覚えましょう

英語は動詞が大切です。

動詞によって文が決まるため、その他の文の構成要素(主語、目的語、修飾語)を見つけやすくなります。

受験をするわけではないので難しい単語は辞書を引けばよいのですが、何度も辞書を引いてると時間がかかりすぎるため、よく使う単語については暗記が必要になってきます。

そのレベルの単語になると、中学レベルではちょっと不足します。

なので、大学受験レベルの英単語力は欲しいです。

英単語帳は似たようなカバー率なので、好きなのを使ってもいいと思います。


幾つかおススメを紹介しておきます。

DUO 3.0

DUO 3.0

DUO 3.0 / CD復習用

DUO 3.0 / CD復習用

高校レベルの1600語です。熟語も1000語ついてます。 1文の中に複数の単語を含めているため、効率的に覚えられます。 できれば音声教材もあると、リスニングも同時に勉強できていいです。



英単語ターゲット1900 5訂版 (大学JUKEN新書)

英単語ターゲット1900 5訂版 (大学JUKEN新書)

高校レベルの1900語です。品詞ごとに分かれているので、品詞をイメージして覚えやすいです。
単語が並べられているパターンなので、単純作業が好きな方にオススメ。

こちらは単語を覚えることがメインなので、音声教材は特に必要とは思えません。



中学生レベルの英単語も心配という方は、こちらも検討ください。

基本英単語・熟語ターゲット1100 (大学JUKEN新書)

基本英単語・熟語ターゲット1100 (大学JUKEN新書)

プログラムを覚えるためにオススメしたいこと

f:id:hildsoft:20170331032551j:plain

対象

プログラムもピンからキリまでありますので、言語を覚えて、プログラムがどのような物なのか概ね理解できるまでということを前提で書きます。

プログラムを独学で覚えた経験から、ふと半日くらい考えただけの思いつきに近いものなので、ツッコミ等はコメント欄にお願いします。

前提知識、能力

プログラムを組めるようになるために、前提知識や能力として必要なものはたった二つだと思っています。

一つ目は日本語や英語などの母語ができること。

これ、ものすごく大事です。

プログラムで何をするかにもよりますが、一般的にすべての言語や仕様なんてものを覚えているプログラマは居ないと思います。

参考書やリファレンスを読むことができる知識はどうしても必須になります。

そしてドキュメントは英語であることが往々にしてあり、英語ができると日本語化されていない物も読めるためアドバンテージがあります。

二つ目は、小学生レベルの算数

どうしても足し算、引き算、掛け算、割り算などは出てきますし、小数点なども扱うことになります。

高度なプログラムになると三角関数をはじめとしたライブラリを使うことになると思いますが、こちらは使い方さえ理解できれば最低限プログラムは組めます。

つまり、プログラムを始めるのに、それほど特殊な能力は要らないと思うのです。

ただ、自由自在にプログラムを書けるかどうかは、努力と才能が必要になる場面も多々あると思いますが、時間をかければ大抵は努力で何とかなるでしょう。

お勧めしたい言語など

まずは目的を見つけることです。興味があれば、なんでも構いません。

ゲームを作るでも、ユーティリティを作るでも、業務効率化のためにマクロを作るでも、ロボットを動かしたいでも、やりたいと思ったことを目標にしてください。

いきなりgoogleを超える検索エンジンを作るとか、そういうものは無理かと思いますので、レベルを落とす必要はありますが・・・。

で、言語ですが、やりたいことに適した言語というものがあります。

ゲームを作りたいのであれば、フルスクラッチで作るならCやC++が主流ですし、エンジンを使うならUnityはC#、UE4はC++を選択することになるでしょう。

しかし、検索エンジンを作るような、あまりに大きなものを目標にしてしまうと挫折が待っています。

私の経験談ですが、初っ端からC++で通信機能を持った将棋プログラムを作ろうとして、ソケット部分で挫折しました。

目標の設定については、誰か知識のある人に聞いてみるのが良いと思います。

まだ明確な目標はないけど、どのようなものか知るために始めてみたいという方には、javaかC#をお勧めします。

IDE(統合開発環境)がフリーで提供されているので、参考書やネットを見ながらでも簡単に環境構築ができ、 簡単にデバッグや実行ができるので、トライ&エラーがしやすいのです。

また、どちらもオブジェクト指向世代?以降の言語なので、オーソドックスなプログラム言語を理解するには最適だと思います。

プログラムを覚える(理解する)ためにオススメしたいこと

プログラムに慣れるには、何よりも書くことです。

といっても、いきなり書き出すことは難しいでしょう。

まずは書籍などを参考にサンプルコードを写します。

次にそれをカスタマイズしていきます。

どこを修正したらどこが変わるか、どこを修正したら動かなく(コンパイルできなく)なるかなど、とりあえずいじってみるというのが良いです。

分からない物を触っていて一番怖いのが、元の状態に戻せなくなることです。

パソコンを初めて触ったときに、「壊したらどうしよう」と思いませんでしたか?

やってもいい行動と、やってはいけない行動というのをある程度覚えたら、あとは好き勝手触れば良いのです。

そのためにも、一から自分でコードを書いてみる、修正した部分を元に戻してみるという経験は大事なことだと思います。

こうすることで他人のコードでも壊さずに読むことができますから、知識の幅が広がっていきます。

参考書を1冊終わったころには、自分で何か作ってみたくなるのではないでしょうか。

そして、どう作れば良いのか知らないことだらけであることに愕然とするかもしれません。

ゲームで敵の動きを作ろうとして、敵が自分に向かってくるにはどうすればいいのかなんて、言語の教科書にはまず載っていません。

それが普通だと思います。知らないことは調べて使えるようになれば良いのです。

何度も使うものであれば自然と覚えますし、たまにしか使わない物であれば調べて正しく使うことができれば問題ないのです。

基礎部分を理解したら

ここからが本格的なプログラムの勉強開始になります。

プログラム言語が分かるだけでは、プログラムを書くことは難しいです。

これを読んでいるあなたは日本語の読み書きができると思いますが、300ページの小説を書いてくださいと言われて書けるでしょうか。

文法的に正しくても、表現技法や読み手を物語へ引き込むテクニックなど必要なことは山ほどあると思います。

プログラムも同様で、言語やフレームワークごとの作法だったり、最適なアルゴリズムの取捨選択だったり、ネットワークやハードウェアの知識など勉強することだらけです。

また、専門的な知識も併せて勉強する必要がありますし、顧客向けシステムを作るのであればその業界の知識も必要になってきます。 (会計ソフトを作る場合は税法の知識が必要になる等)

全てを理解するのは時間的にも無理がありますので、自分の専門分野の知識を増やしていくことになります。

それ以外の分野については、リファレンスを調べながらある程度のことができる程度で構わないと思います。

さいごに

ソースコードも文章の一つです。

誰が読んでも誤解無く、読みやすくなるようなコードを書くことを心がけましょう。

完璧である必要はありません。常に心掛けていれば、他人のコードの読みづらさや読みやすさから自ずとコードが洗練されていくと思います。