未分類

GitHubを使ったチーム開発に挑戦します!

今回の実践コースでは、GitHubを使ったチーム開発に挑戦します。

前回までの講座では、Claude Codeを使って、一人ひとりが自分の「レトロゲームセンター」を制作しました。

ゲームのアイデアを考え、Claude Codeと相談しながら設計を行い、プログラムを作って動かすところまで、すでに一通りのゲーム開発を体験しています。

今回は、その経験を生かして、次のステップとなるチームでのゲーム開発を体験します。

ゲームは一人だけで作るとは限らない

これまでの講座では、それぞれが自分のパソコンで、自分のゲームを作ってきました。

しかし、世の中にある本格的なゲームやアプリ、Webサービスの多くは、一人だけで作られているわけではありません。

実際の開発現場では、複数の人が役割を分担しながら、一つのプロジェクトを完成させています。

例えば、一つのゲームを作る場合でも、次のような作業があります。

  • ゲームのアイデアを考える
  • 画面のデザインを作る
  • キャラクターの動きを作る
  • 敵や障害物を追加する
  • スコアやランキングを作る
  • 音や効果を追加する
  • プログラムの問題を見つけて修正する

これらをチームのメンバーで分担することで、一人では作るのが難しい大きなゲームも開発できるようになります。

一方で、複数の人が同じプログラムを編集すると、さまざまな問題も起こります。

「誰かが変更したプログラムを、ほかの人のパソコンにも反映するにはどうすればよいのか」

「同じファイルを複数の人が変更したら、どうなるのか」

「誰が、いつ、どの部分を変更したのか確認できるのか」

今回の講座では、このようなチーム開発で起こる課題と、その解決方法を実際に体験します。

GitHubとは?

チームでプログラムを開発するために、今回は**GitHub(ギットハブ)**を使用します。

GitHubは、プログラムやファイルをインターネット上で管理し、複数の人で共有できるサービスです。

GitHubを使うと、次のようなことができます。

  • チーム全員で同じプログラムを共有する
  • 誰がどの部分を変更したか記録する
  • ほかの人が行った変更を自分のパソコンに取り込む
  • 自分が作ったプログラムをチームのプロジェクトに追加する
  • 問題が発生したときに、以前の状態を確認する

GitHubは、実際の会社や開発チームでも広く使われています。

今回はGitHubを使い、教室のみんなで一つのレトロゲームセンターを作っていきます。

今回使用するプロジェクト

今回のチーム開発では、次のGitHubリポジトリを使用します。

https://github.com/saitokodomopg/RetroGameCenter

「リポジトリ」とは、プログラムや設計書など、プロジェクトに必要なファイルをまとめて保管する場所のことです。

今回使用するリポジトリには、レトロゲームセンターを開発するための基本的なファイルが用意されています。

この一つのリポジトリをチーム全員で共有し、それぞれが制作したゲームを追加していきます。

最初にGitを準備します

GitHubを使ったチーム開発を行うためには、パソコンに**Git(ギット)**というソフトウェアが必要です。

Gitは、ファイルの変更履歴を記録したり、GitHubとパソコンの間でプログラムをやり取りしたりするための仕組みです。

講座の最初に、まず自分のパソコンにGitがインストールされているか確認します。

ターミナルで、次のコマンドを実行します。

git --version

Gitがインストールされている場合は、バージョン番号が表示されます。

表示例は次のとおりです。

git version 2.x.x

Gitがインストールされていない場合は、最初にGitのインストールを行います。

インストールが完了したら、もう一度コマンドを実行し、Gitが使用できることを確認します。

リポジトリをクローンします

Gitの準備ができたら、GitHubにあるレトロゲームセンターのリポジトリを、自分のパソコンにコピーします。

GitHub上のリポジトリを、Gitを使って自分のパソコンにコピーすることをクローンといいます。

今回は、次のリポジトリをクローンします。

https://github.com/saitokodomopg/RetroGameCenter

クローンを行うと、GitHubに登録されているプログラムや設計書などが、自分のパソコンに保存されます。

単にファイルをダウンロードするだけではなく、GitHub上のリポジトリとのつながりも設定されます。

そのため、あとからほかのメンバーが行った変更を取り込んだり、自分が行った変更をGitHubへ送ったりできるようになります。

一つのゲームを追加することが目標です

今回の目標は、クローンしたレトロゲームセンターに、自分たちのチームで一つのゲームを追加することです。

前回までの講座では、それぞれが自分専用のレトロゲームセンターを作りました。

今回は、全員が別々のレトロゲームセンターを作るのではありません。

一つの共通プロジェクトに、それぞれのチームがゲームを追加していきます。

最終的には、複数のチームが作ったゲームを一つのレトロゲームセンターに集めることを目指します。

チームごとにゲームを考えます

リポジトリをクローンできたら、チームごとに追加するゲームを考えます。

前回までに作ったゲームを参考にしても構いません。

新しいゲームのアイデアを考えても構いません。

チームのメンバーで相談しながら、次のような内容を決めます。

  • どのようなゲームを作るか
  • プレイヤーは何を操作するか
  • ゲームのクリア条件は何か
  • ゲームオーバーになる条件は何か
  • どのように得点を増やすか
  • 誰がどの作業を担当するか

意見が分かれたときには、自分の考えを伝えるだけでなく、ほかのメンバーの考えも聞く必要があります。

チーム全員で相談しながら、一つのゲームのルールを決めていきます。

Claude Codeも活用します

今回も、ゲームの設計やプログラムの作成にはClaude Codeを活用します。

ただし、今回の中心はClaude Codeの基本操作ではありません。

前回までに学んだClaude Codeの使い方を、チーム開発の中でどのように生かすかを考えます。

例えば、Claude Codeには次のような相談ができます。

  • チームで考えたゲームのルールを整理してもらう
  • 必要な機能を小さな作業に分けてもらう
  • 既存のプログラムを確認してもらう
  • 新しいゲームを追加する方法を考えてもらう
  • エラーの原因を調べてもらう
  • ほかのゲームに影響を与えていないか確認してもらう

Claude Codeが作ったプログラムを、そのまま採用するとは限りません。

チームで内容を確認し、実際にゲームを動かして、正しく動作するかを確かめます。

自分の変更を記録します

Gitを使った開発では、プログラムを変更したあと、その変更内容を記録します。

この記録をコミットといいます。

コミットするときには、どのような変更を行ったのかが分かるメッセージを付けます。

例えば、次のようなメッセージです。

プレイヤーを左右に動かせるようにした
敵との当たり判定を追加した
ゲーム選択画面に新しいゲームを追加した

「変更しました」のようなメッセージだけでは、あとから内容を確認しにくくなります。

何を変更したのかが分かるように記録することも、チーム開発では大切です。

ほかのメンバーの変更を取り込みます

チーム開発では、自分が作業している間にも、ほかのメンバーがプログラムを変更します。

そのため、自分のパソコンにあるプログラムと、GitHubにある最新のプログラムが違う状態になることがあります。

ほかのメンバーがGitHubへ送った変更を、自分のパソコンに取り込む必要があります。

また、自分の変更をGitHubへ送る前にも、ほかのメンバーが行った変更がないか確認します。

チームで同じプロジェクトを扱うためには、最新の状態を確認しながら作業することが重要です。

同じ場所を変更するとどうなる?

チーム開発では、二人が同じファイルの同じ場所を変更してしまうことがあります。

Gitがどちらの変更を採用すればよいか判断できない場合は、コンフリクトと呼ばれる状態になります。

コンフリクトが起きた場合、すぐに失敗というわけではありません。

それぞれがどのような変更を行ったのか確認し、チームで相談しながら残す内容を決めます。

今回の講座では、順番に作業を進めながら、できるだけ同じ場所を同時に変更しないようにします。

それでも問題が起きた場合は、その原因と解決方法を一緒に確認します。

今回体験してほしいこと

今回の目的は、Gitのコマンドをすべて暗記することではありません。

GitHubを使って、複数の人が一つのプログラムを開発する流れを体験することが大きな目的です。

今回の講座では、主に次のことを学びます。

  • Gitがインストールされているか確認する
  • GitHubのリポジトリをクローンする
  • チームで作るゲームを相談する
  • 作業をメンバーで分担する
  • Claude Codeを使ってゲームを開発する
  • 自分が行った変更をGitに記録する
  • ほかのメンバーが行った変更を取り込む
  • 一つの共通プロジェクトにゲームを追加する
  • チームで相談しながら問題を解決する

自分一人のプログラムであれば、自分が分かるように作るだけでも動かせるかもしれません。

しかし、チーム開発では、ほかの人にも分かるように作り、変更内容を伝え、相談しながら進める必要があります。

プログラムを書く技術だけでなく、コミュニケーションや役割分担も大切です。

一つのレトロゲームセンターを完成させよう!

今回から、これまで一人ひとりが行ってきたゲーム開発を、チームでのゲーム開発へと発展させます。

最初は、GitやGitHubの言葉、コマンド、操作方法に戸惑うかもしれません。

しかし、実際にリポジトリをクローンし、プログラムを変更し、チームのプロジェクトに追加することで、少しずつ仕組みが分かるようになります。

それぞれのチームが一つずつゲームを追加し、みんなで遊べるレトロゲームセンターを完成させましょう!

-未分類