おもちゃバコ

中身スカスカ♡

学生の頃に読みたかった本 (ゲームプログラマ志望)

こんちは

職業プログラマなのですが,最近はやる気スイッチやまとまった時間が確保できないなどの関係で学生の時より技術書を読めなくなりました。

そんなこんなで,もし過去に戻れるなら暇でやる気と体力もあった学生の時に読んでおきたかった本を簡単(一言レベル)にまとめてみました。
ゴールデンウイーク中,暇な人もぜひ。

2024/01/20: 少し更新
2024/02/19: ちょっと更新


対象

  • 学生
  • ゲームプログラミングに興味がある人
  • ゲーム業界を目指す人
  • 暇な人

自分が学生の時にゲーム業界を目指していたので, 紹介する本はゲームプログラム関係に偏っているかも。
RustやReact, Kotlinなど,最近のイケイケ技術については疎いでのでその辺を期待している人には微妙かも。

Kindle本のセール推移を予想・確認した人におススメのブラウザ拡張。
過去の最安値を簡単に確認できるので超便利だよ。
yapi.ta2o.net


サブタイトル的なのは省略しています。

プログラミング言語

プログラマの基礎科目ですね。
とりあえず学びたい言語の最新規格に対応している書籍を選ぶのが良いと思います。

新・明解C言語 入門編

望洋本で説明できるぐらい有名なC言語の入門書です。



独習C++

C++17対応のメンテ版。
C++は規格更新がよく行われるので,この本に限らず時代に追従した書籍を選ぶのが良いです。

Effective C++

実質,C++入門書とセットの本。
C++erはこの本を読んだことがある前提で話を進めてきます。

Effective Modern C++

Effective C++ のモダン版。

独習C# 第5版

独習シリーズのC#版。
LINQとかラムダ式とか最近のトレンドは抑えてる。

プログラミングコンテストチャレンジブック

通称「蟻本」と呼ばれる競プロの聖典的な本。
プログラミング言語の本ではないけど,初めて学ぶ言語の訓練所としておススメ。

競技プログラミングの鉄則

2022年以降の蟻本かな。
これから競プロの勉強したい人はこっちがおススメ。

コンピュータ関係

ハードウェアとかOSなどのコンピュータの基礎部分の本です。
(「全部コンピュータ関係だろ」って言われるとその通りなのですが。。。)

論理回路入門

論理回路の教科書としては個人的に一番わかりやすかった。

プログラマーのためのCPU入門

プログラム一筋で頑張ってきました的な人におススメのCPU入門本。

コンピュータの構成と設計

パタヘネ


コンピュータアーキテクチャ

ヘネパタ

動かしてわかる CPUの作り方10講

Quartusを使ってCPUを錬成していく。
CycloneIIIをこのために買ったような。

CPUの創り方

4bitCPUから始める自作CPU入門生活。
ブレッドボードは準備したかい?

作って学ぶコンピュータアーキテクチャ

LLVMについて学びたい人にもおススメ。

コンピュータシステムの理論と実装

コンピュータの基礎を1から学びたい人用。
論理ゲートの解説レベルから。

ゼロからのOS自作入門

通称「みかん本」と呼ばれるOS自作本。
手を動かしながらOSを作りたい人向け。

作って理解するOS

みかん本より理論派な鈍器。
アセンブリでゴリゴリしたい人やアセンブリ入門書を探している人におススメ。

UNIXという考え方

Unixそれは哲学。

ネットワーク

時代的に必須級の知識ですかね?

マスタリングTCP/IP 入門編

TCP/IPはこれ読んどけ的な本。

基礎からわかるTCP/IP

マスタリングTCP/IPを挫折した後に読みました。
自分はこちらを読んでからマスタリングTCP/IPを理解していきました。

ネットワークはなぜつながるのか

ネットワークを広く知りたいならこれ読んどけ的な本。
少し説明が冗長化かも。

実践パケット解析

パケットキャプチャソフトのWiresharkを使ってパケット解析を学ぶ本。
Wiresharkの入門書として。

セキュリティ

チート対策はマルウェア解析書籍で学ぶのが良い...かも?

デバッガによるx86プログラム解析入門

ゲーム解析に注目した本ですが,exeの解析入門としても良いです。
読み物としても面白いと感じました。

初めてのマルウェア解析

Windowsに特化したマルウェア解析の入門本。
実践派向け。

マルウエアの教科書

図が多いので楽しく読めました。

ホワイトハッカーの教科書

セキュリティ関係の知識が皆無なので勉強になりました。

ホワイトハッカーの教科書

ホワイトハッカーの教科書

  • 作者:IPUSIRON
  • シーアンドアール研究所
Amazon

サイバーセキュリティプログラミング

パケット解析に興味があるときに見つけました。
Python3を使った実践的な内容です。

ネットワークプロトコルハッカーズガイド

ネットワーク解析関係全般の教科書的な内容です。

実践バイナリ解析

バイナリ解析に特化した本。
OSを限定しないバイナリ解析の知識が学べると思います。

リバースエンジニアリングバイブル

リバースエンジニアリングってどうやってやるんだろうを解決してくれる本です。

エディタ

作業速度に影響するので何か1つは極めておくと良いと思います。
近年の傾向的にサーバに触らない人の方が少ないと思うので,拘りが無い人はvimを学んでおくと良いかも...?

実践Vim

とりあえずこれ読んどけ的な本。

Emacs実践入門

小指を詰めろ。

ゲームプログラミング

メモリやスレッド管理,ハードウェア毎の最適化など,気を付けるべき要素が多いと感じます。

ゲームプログラマになる前に覚えておきたい技術

とりあえずこれ読んどけ的な本1。
ただし,シェーダとか所々説明は古いので注意。

ゲームプログラミングC++

とりあえずこれ読んどけ的な本2。
開発環境の説明が少し雑だから写経ぎみの人は注意。

実例で学ぶゲーム3D数学

3Dプログラミングに必要な数学知識の参考書。
手元に置いておきたい感じの本。

実例で学ぶゲームAIプログラミング

ゲームAIの図鑑的な印象の本。
学生の時に作ったローグライクRPGの移動AIに,この本のA*を参考にした思い出。

リアルタイムグラフィックスの数学

GLSLで数学を学びたい人向け。
学生の時に読みたかった。個人的におススメな本。

オンラインゲームを支える技術

MMORPGに使われている技術を説明した本。
ゲーム開発者は読んでおいて損はないはず。

GPUを支える技術

3Dゲームを開発する人はとりあえず読んどけ的な本。
ギリギリ学生の時に読めた。

コンピュータグラフィックス

CGの教科書的な本。
手元に置いておきたい本。

コンピュータグラフィックス [改訂新版]

コンピュータグラフィックス [改訂新版]

  • 公益財団法人画像情報教育振興協会(CG-ARTS協会)
Amazon

ゲームエンジン

UnityとかUE5とか。
ゲーム会社だと商用ゲームエンジンを利用していない場合も,ある程度機能は知っている前提で話が進みます。
最近だとゲーム関係以外でも利用する機会が増えている印象。

この手の本はバージョンを合わせて学習した方が良いと思います。

たのしい2Dゲームの作り方

2Dに焦点を当てたUnity入門書。

Unityの教科書

わかりやすいUnity入門書。
恐らくどのUnity入門書よりも挫折しにくいはず。

Unityゲームプログラミング・バイブル

Unity用のゲームテンプレート集,ほぼ鈍器。
見ているだけでも開発意欲が刺激されます。

見てわかるUnreal Engine 5 超入門

UE5の入門書。
UE5の機能を簡単に触る。

Unreal Engine 4 で極めるゲーム開発

通称「極め本」と呼ばれているUE4入門書。
UE5版が出るらしいのでそっちが良いと思います。


ゲームエンジン開発

最近は商用ゲームエンジンが流行していますが,内製ゲームエンジンによるゲーム開発も行われています。
そんなゲームエンジンの開発に興味がある人向けの本です。

会社的には商用ゲームエンジンはロイヤリティがかかるので,内製ゲームエンジンによるゲーム開発の方が利益が出しやすい反面,まずゲームエンジンを開発しないとゲーム開発のステップまで進めないので開発難易度が高い傾向があります。

(ポエム)
「商用ゲームエンジンで作成したゲーム」と「DirectXなどを使用してエンジン部分から作ったゲーム」のどっちが受けが良いか的なお話がゲーム業界就活では話題になりますが,個人的には両方できるのが最強だと思っています(当たり前)
ただ,学生の時に両方を極めることは色々と難易度が高いと思うので,行きたい会社の特性に応じて取捨選択していけばよいと思います。
自分は「エンジン開発」8割,「商用ゲームエンジン」2割って感じに学習コストを割きました。

DirectX12の魔導書

取っ付きにくいと話題のDirectX12の解説本。
DirectXだけでなく,imguiなどのエンジン開発によく使われる技術についても触れられています。

Direct3D12 ゲームグラフィックス実践ガイド

魔導書よりDirectX12に特化した本。
根気が大事。

HLSLシェーダーの魔導書

シェーダに特化した本。
DirectX12で作成されたエンジンも付いてくるので,シェーダ以外も学べてお得。

ゲーム制作者になるための3Dグラフィックス技術

1度は目を通したい3Dグラフィックス図鑑。

CによるCGレイトレーシング

レイトレーシングを基礎から学びたい人向けの本。
古い本なので半分ぐらいはソースコードで埋まっていたり,説明が少ない箇所もありますが,読み終えた頃には自作レンダラを作りたくなっているはず。

テクニカルアーティストスタートキット

スタートキット。

入門Blender

エンジン開発に携わりたいならモデリングソフトにも触っておきたいよね。
最低限使えればよい人向け。

機械学習

機械学習をしなければならない時に読みました。
必要最低限の知識は得られたと思います。

パターン認識機械学習

通称「PRML」と呼ばれる本。
機械学習のバイブルらしい(?)


ゼロから作るDeep Learning

Pythonで学ぶ機械学習の入門書。
順番に読み進めていくのが良いと思います。




設計関係

お仕事するときは必須級の知識ですね。

リーダブルコード

有名ですね。
この本を見るたびにリーダブルコードを読んだことがあるかでマウントを取ってきた同期を思い出す。

プリンシプル オブ プログラミング

リーダブルコードの亜種

リファクタリング

リファクタリング時の考え方の参考に。

テスト駆動開発

テスト駆動とは遠い環境で働いていますが,テストは大事って再認識できました。

継続的デリバリーのソフトウェア工学

ソフトウエア工学はこれ読んどけ的な本。
初めの1冊におススメかも。

Java言語で学ぶデザインパターン入門

お仕事ではJavaは使いませんが,デザインパターンの学習には最適でした。



Game Programming Patterns

ゲーム開発に特化したデザインパターン入門本。通称「キウイ本」。
ゲーム開発に関わらず,デザインパターンの学習には最適だと思います。

C++のためのAPIデザイン

C++に特化したAPI設計の本。
お仕事でC++を使用する人向け。

ソフトウェアテストの教科書

テスト項目を体系的に学びたい人向け。

UML関係

UMLの書き方は色々ありますが,なるべく正しい書き方を覚えた方が良いと思います。
基礎は大事ってことだね。



数学

出来ないよりは出来た方が良いです。
ただ,お仕事に生かせるかは職種次第だと思います。

その数式、プログラムできますか

プログラマのための基礎数学的な内容。
プログラムはおまけで数学がメイン。

IT Text 離散数学

離散数学を簡単におさらい出来る本。
手元に置いておきたい。

グラフ理論入門

グラフ理論に特化した入門書。
自分には少し難しかったです。

プログラマの数学

作業の息抜きに最適な本だと思います。

英語

就職するときは重要視された気がします。
お仕事でもソコソコ使うかも。

DUO3.0

英単語はこれで学びました。

DUO 3.0

DUO 3.0

Amazon

TOEICテスト公式問題集

TOEICはこれ。


TOEIC L&R TEST 出る単特急金のフレーズ

TOEIC用の単語帳はこれ。

一億人の英文法

正直,英文法はこれしか知らない。

その他

ジャンル無差別

認知バイアス 心に潜むふしぎな働き

認知がヤバいぐらい歪んでいる人とも仕事をすることがあると思います。
そんな人たちを理解するための本。

情報を正しく選択するための認知バイアス事典

認知バイアス図鑑。
図がメインなので楽しく読めました。


ゲームをテストする バグのないゲームを支える知識と手法

ゲームテスターになりたい人用の入門書。
テスターになるためのノウハウが書いてある(少し属人的かも)

適性検査関係

就活で軽視しがちな項目ですが,きちんとやったほうが良いと思います。
[asin:B0BS68CWP2:detail]

ゲーム開発補足

自身の専門外についても学んでおくと幅が広がります。



定期購読系

領域外のトレンドを簡単に抑えておくのに便利かも。
シェルスクリプトマガジンは安いのでおススメ。




おわりに

とりあえず思いついた限りを並べてみました。
お金の少ない学生時代に全部読めるかは微妙ですが,知識は無駄になりにくいので多少無理してでも読んでおけば良かったと今になって思います。
誰かのタメになれば幸いです。


ちなみに今年のゴールデンウイークは有給取れませんでした。