工学じじいの縁側日記について
工学じじいの縁側日記は、ゲーム開発、C++、コンピュータサイエンスなどの技術的な話題から、日常の中で気になったことまで、工学じじいが気ままに書き残していくサイトです。
筆者は工学系の大学・大学院を経て、エンターテインメント分野やVR・AR技術などの研究開発に携わってきました。
そこで学んだソフトウェア技術をはじめ、自作ゲームエンジンの開発記録、実際に遭遇した不具合、その原因を調べて解決するまでの過程などをまとめています。
じじいが確認できた確実な知識や成功例だけではなく、試行錯誤の途中や、うまくいかなかった方法についても、できるだけ具体的に残していきます。
このサイトで扱う内容
ゲーム開発とC++
DirectX、DxLib、自作ゲームエンジンなどを使ったゲーム開発について紹介します。ときどきPythonや、そのほかの技術も扱います。
クラス設計、シーン管理、当たり判定、アニメーション、ゲームAI、経路探索など、実際のゲーム制作で必要になる技術が中心です。
このサイトでは、できる限りC++を使って話を進めていきます。
「なぜ今でもC++なのか」という話も含め、ゲーム開発におけるC++の役割や、ほかの言語との違いについても考えていきます。
ソフトウェア工学
プログラムをただ動かすだけではなく、あとから読みやすく、修正しやすく、機能を追加しやすい形にするための考え方を扱います。
クラス設計、責務の分離、継承、ポリモーフィズム、デザインパターン、アセット管理、シーン構造など、ゲーム開発の中で実際に必要になった設計上の問題を取り上げます。
「正しい設計」を一方的に示すのではなく、規模や目的、学習者の理解度によって、どのような構造が扱いやすいのかを考えます。
作れる→解かる、を意識しています。
コンピュータサイエンス
データ構造、アルゴリズム、ベクトル、行列、探索、ソートなどを、ゲーム開発とのつながりが分かる形で解説します。
数式や専門用語を並べるだけではなく、それらがプログラムの中でどのように使われるのかを重視しています。ゲームを題材にしながら、実際に動かして理解できる、実践的な内容を目指します。
Linux・サーバー構築
Linux、Apache、Docker、Ghost、BookStackなどを使ったサーバー運用の記録です。設定方法だけでなく、失敗した原因、調査の手順、復旧方法についても残します。
人に教えるための記事というより、将来の自分が同じ問題に遭遇したときに困らないための、備忘録としての意味合いが強い分野です。
コーヒー部とじじいの日常
技術以外にも、コーヒー、器具、写真、散歩、道具、日々考えたことなどを書いています。
難しい技術記事の合間に、縁側でひと休みするような気持ちで読んでもらえれば幸いです。
記事について
このサイトの記事は、研究開発、講義経験、個人開発、サーバー運用などで得た知識をもとに作成しています。
内容についてはできる限り確認していますが、ソフトウェアのバージョンや実行環境の違いにより、同じ手順で動作しない場合があります。
掲載しているプログラムや設定を利用する場合は、重要なデータのバックアップを取ったうえで、ご自身の責任でお試しください。
また、このサイトには、以前はてなブログで公開していた記事を修正・整理しながら移行したものも含まれています。
運営者
工学じじい
死ぬまでマッドサイエンティストを目標に、プログラミング、C++、ゲームエンジン、コンピュータグラフィックス、ゲームAIなどを中心に、実際に動かして理解できる教材やサンプルを作っています。
お問い合わせは、サイト内のお問い合わせページからお願いします。