社内ハッカソンに参加したお話

# はじめに

この記事は フリュー Advent Calendar 2022 の6日目の記事となります。

フリューでは、2020年度から社内ハッカソンを開催しています。
**第2回社内ハッカソン**(2022/2/25(金)～2/26(土)の二日開催)に
エンジニアとして参加したので、その時の感想についてまとめます。

ハッカソン及びフリューに、ご興味をもっていただけると大変うれしいです！

# 社内ハッカソンってなんなの？
 ハッカソンとは、短期間で集中的に開発をおこなうイベントで、
与えられたテーマに沿ったモノづくりをします。

社内ハッカソンの目的は
**異部門間、異業種間の交流促進** であり、

期待できる効果は
**モノづくりに大切なマインドの醸成**です。

要するに、**社内でも交流が少ない人達とみんなでワイワイ モノづくりをやりきろうぜ！**
ということです！

<figure>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206269/71b237bc-ec17-e5df-3b2a-25ec14bbe171.png" width="300">
    <figcaption>※イメージです</figcaption>
</figure>

___
第2回社内ハッカソンでは、4チームが参加し、
私が参加したチームは、エンジニア3名、デザイナー1名、プランナー1名の計5人です。
私はエンジニアとして参加しました。

___
### タイムスケジュール
- 1日目 午前：開会～アイデアソン
- 1日目 午後～2日目15時：ハッカソン
- 2日目 15時～18時:各チームのプレゼン・結果発表、閉会

___
テーマは1日目に発表されました。

　**「古き良きもの」**　です。

# 1日目
1日目の前半は、**アイデアソン**から始まりました。
アイデアソンとは、参加者全員でテーマに沿ったアイデアを出し合うことです。

テーマである「古き良きもの」にまつわることについて、
社内ハッカソンの参加者全員で、対話形式でおこないました。
色んな参加者と話をすることで、様々なアイデアをキャッチすることができました！

1日目の後半からはチームごとに分かれて、「古き良きもの」に沿ったモノづくりをしていきます。

まず初めにチーム内で「古き良きもの」について話し合い、イメージを固めていきます。

が、しかし...
これがとても**難航**しました...

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206269/0390375a-497e-2dda-13db-1489fd52a228.png" width="200">

チーム内で話し合えば話し合うほど「古き良きもの」のアイデアが定まらず、
作るモノが決まったのは、22時頃、
アプリの開発は23時からスタートしました。

難航したものの最終的にチーム全員が納得いくコンセプトが決まりました。

**懐かしさの沼にどっぷり浸かれるアプリ**

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206269/cf85f5bc-1b8d-a151-a8e7-365b86bca31d.png" width="300">

です！

# 2日目
開発環境などを整え、実際には0時頃から開発に着手しました。
エンジニアチームの間で相談し、**Unity**を使ってアプリ開発することにしました。

Unityを使うことにしたのは、
- **業務でUnityを使用しており、使い勝手が分かっている**
- **Unityでビルドして、Android端末に出力が可能**

上記2点が理由です。

※Androidでの実機テストについては、チームリーダー(エンジニア)の井内がまとめている記事を参考にしました。
https://iucstscui.hatenablog.com/entry/2022/02/21/080000

**エンジニア3人の役割**
- **リーダー：アプリに使う技術の調査、技術資料の作成**
- **メンバー(自分)：アプリの実装の大体**
- **メンバー：アプリのUIの作成・調整など**

エンジニア3人の役割がはっきりと分かれていたので、少ない時間でも実装をすることができました。
メンバーが作ったものを随時Gitにコミット・プッシュをしていたので、結合確認も簡単でした。

実際に作成したアプリはアルバム形式で懐かしい画像などを発見・投稿も可能で、
思い出に浸るというコンセプトです。

**ホーム画面** ※実際の懐かしさを感じる画像を使用しているため、画像を黒塗りにしています。
縦スクロールで、画像を見ることができます。
また、画像を押下することで、その画像の詳細ページに飛ぶようにしています。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206269/f0efc185-db52-884d-3f31-edc75e0a98e0.png">

カメラ撮影とユーザー同士が繋がれるように通話機能を入れました。
通話機能に関しては **Photon Voice 2**を使用しました。

※Photon Voice 2の利用方法については下記サイトを参考にさせていただきました。
https://www.xeex-ti.jp/rndblog/2021/photon-voice-unity/

ボイスチャット画面(voiceScene)を作成し、ボイスチャット画面を開いたときに、
通話が繋がるようにしています。

**ボイスチャット画面**
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206269/cc471f1e-e965-78a7-f9db-aa1836436c9f.png" width="200">


photonサーバー経由で、別の端末に接続します。
受け取る側の端末もボイスチャット画面を開いておく必要があります。

ボイスチャットを実装することが初めてだったので、photonサーバーへの接続などに苦労しました。。

**イメージ画像**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206269/95560def-d69d-5f44-9216-22331fc109a7.png)



**デザイナーさんは、アプリのロゴやデザインの作成**
**プランナーさんは、資料作成とプレゼンの練習**
を担当してくれました。

全員オンラインで作業していたため、
プロジェクトの管理は**Git**
通話や画面共有は**Discord**を使用しました。

締め切り限界までチーム全員で開発を進めたので、ほぼ徹夜での作業になりました！

**↓実際の発表で使用したスライドの一部です**
![slide1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206269/3d1e16b3-bc66-6cb6-ccf8-10cd983fe1b0.png)

なんとか締め切りに間に合わせることができ、
チーム全員が確かな満足感(深夜テンション？)の中、
成果発表に臨みました！

そして、運命の結果発表...

他チームが作ったモノはどれも素晴らしく惜しくも受賞なりませんでしたが、

- **デザイナーさんのコンセプトに沿った素晴らしいデザインの数々**
- **プランナーさんのプレゼンと分かりやすい資料**

とても素晴らしかったです！

チーム全員一丸となって、実りある経験とやり切ったという充足感を得ることができました！
**ブラボー！！**

# まとめ

チーム全員でわいわい話し合う時間
チーム全員が共通の目的意識を持ち、開発する一体感は格別でした。
時間が全然ない！と焦ったことも後で思い返すと思い出になります。

初対面の方ともすぐ打ち解けることができるのも魅力です！

**二日間でモノを作り切るという経験、チーム全員で一致団結する経験は財産になると思います。**
**そして、モノづくりに対する自信がつくと思います。**
私がそうでした！！

そのため、この記事を読んで、少しでもハッカソンに興味を持ってくれる方がいれば、
是非、参加してみてください！(SPAJAMなどがあります)

**最後まで読んでいただきありがとうございました！**

# 開発環境、使用技術
何かの参考になればと思い、開発環境と使用技術についてまとめます。

### 開発環境
- Windows10
- Unity 2020.3.29.f1
- Android 11
- GitHubEnterprise
- Discord


### 使用しているAPI/SDK/OSS
- SimpleRoundedImage(画像を角丸にするアセット)
https://github.com/blueberryzzz/UIAndShader
- InfiniteScroll(無限スクロールするアセット)
https://github.com/tsubaki/Unity_UI_Samples
- Photon Voice 2(Voiceチャット用アセット)
https://assetstore.unity.com/packages/tools/audio/photon-voice-2-130518