ハックツハッカソン ALO-CUP 参加記

Abstract

クボ太郎の「ハックツハッカソン アロ杯」の参加記だ.

今回のテーマが「タスク管理」ということだったので,その機能を搭載したWebページを作成し最終的に全体2位はという成績を納めた.

各種リンク.

- 作成したサービス

- Githubリポジトリ

- 使用したスライド


イベント概要

ハックツハッカソン 

株式会社Hack'zが主催するハッカソン.

ITサービスを開発したい学生(特にイベントの機会が少ない地方学生)のサポートするために各種イベント及びサービスを運営している.

今回参加したアロ杯はHack'zが運営するの第3回目のコンテストでありコンセプトは「社会人vs学生」であったが参加した社会人チームは1チームのみだった.

各種リンク

- Hack'z 公式サイト

- Hack'z 公式Twitter


開発ログ

・アイデア出し

テーマ出たのち30分程度の時間を設けて,各自程度のアイデアを練ってもらう時間を設けた.この間はアイデアの独自性を高めるためにお互いのアイデアを共有するのは禁止した.

次に,上記の方法によって各自が考案したアイデアを共有する時間を設けた.その結果,チーム名である「タピオカ」やALLO杯にちなんで「恐竜」を強調したサービス,テーマどおり「スケジュール」に関係するサービスなどが出てきた.

次に,お互いのアイデアを聞いたのち,再び各自が考える時間を設ける.これにより新しい視点から自分のアイデアを見つめ直すことができるためより精錬されたアイデアができる.

最後に,最終的なお互いのアイデアを共有し,その中で最も良いと思えるアイデアを話合いにより決定する.

・開発

アルゴリズム部分 (担当:クボ太郎)

プレゼンの際には,すごいアルゴリズムのように話していたが仕組みとしては「条件に合うかのフィルターリング」と「期限,条件数を考慮したソーティング」を組み合わせただけの比較的単純なアルゴリズムである.

ただ,実装量としては結構骨の折れる量だったので,下記のようなコードになった.

ホームページ (担当:ふっけー,トリッピー)

自分は上記のコードを書くのに方針の考察の部分も含め5時間程度かけた為,あまり確認できていない.

担当としては

- ふっけー: 骨組みの作成

- トリッピー: スタイリング

と聞いている.

詳しい内容はふっけーの記事を参考に.

ふっけーのアロ杯の参加記

プレゼン / デモ

ハックツハッカソン では毎回 プレゼン+デモ を5分に納める必要がある.

その為,プレゼン2分+デモ3分 という構成で行くようにした.

実際にあってみたところ,プレゼン時間は多少過ぎたが,デモの時間も十分に確保できたため,比較的成功と言える出来ではあった.

ただ,比較的複雑なシステムである本サービスの解説するのを2~3分に納めるために相当早口になっており,加えてスライド情報も2枚に収めていた.その為,どのようなシステムなのかという点があまり伝わっていなかったという評価を得た.

結果

順位としては全体の2位という結果だった.

順位的には悪くはないが優勝を目的として開発していた我々にとっては不本意な結果ではあった.

優勝チームは同じ学校の先輩がいるUnityのチーム.

2日だけのハッカソンで作ったとは思えない完成度だったので,本当に恐ろしい.チームと「あれ,どうやって勝つの?」という話を終わったあと時ていた.

ふりかえり・反省点

・プレゼンに関してはもっと改善できた.

今までは プレゼン→デモ の順番であったがその点を見直しても良いかもしれない.現状の手順だと複雑な仕組みのサービスを開発した際に5分では足りず,デモかプレゼンのいずれかが不十分になることは自明である.

案としては,アプリの動画をメインに据えるタイプのプレゼンが有力視されている.その場合,プレゼン自体を全く必要としない構成も想定できるが,それだと自分のそのあたりのプレゼン自体のスキルアップに繋がらない為,自分のプレゼン+動画(もしくはデモ)の構成で考えていきたい.

当然だが,今回のようにデモ時間を確保するためにプレゼンが早口になり過ぎたり,伝えるべき情報は欠損してしまっては元も子もないので,そのあたりのちょうど良いバランスを探していきたい.

・Unity製のゲームに勝つには?

恐らく,見栄えだと勝ち目はないだろう.それだけゲームはハッカソンで強力である.特に3Dグラフィックだとなおさらである.

ゲームがある一定以上の完成度だとWebページだと太刀打ちできないだろう.そのような条件下で重要になるのは技術的要素というよりアイデア的内容になると考えられる.Unityでゲームを開発する場合,必ずゲームというものを経由する必要があるためテーマによっては直接的解決法を提供するのが困難なことがある(例えば,課題解決型だとゲーミフィケーションを経由する必要があるように).一方,Webであればどんなテーマであっても直接的な解決法を提供することが可能な場合が多い(抽象的なテーマの場合はゲームの方に軍配が上がるが...).故に,アイデアもプレゼンも極力シンプルで,そのような場面で利用するのか?どれほど実用的か?という点を聴衆に伝えることができると勝機はある.

また,技術的な面だとサーバーサイドまで実装することである.しかし,「ただ,サーバー実装しました」だと意味がないので,なぜサーバーが必要なのかという点を明確にする必要もある上,サーバーを実装したことによりプレゼン中に解説すべきことの量が増え,サービスの解説の時間が確保できないという懸念もある.加えて,相手もサーバーサイドまで実装してきてしまう可能性もあるのでいい案とはいえない.

最後に

今回は比較的,複雑なロジックを持つサービスの開発を行った.

初回,ハックツハッカソン の際もそうだが,その手のサービスの説明にはプレゼン時間が多く必要であることを知ることができた.

今後は実際にアイデアを考える際からプレゼンのことを意識して「それが時間内にプレゼン可能か否か」や「どのような構成」にするのかということを意識する必要があることを学んだ.

次回,参加するであろうイベントは Yahoo! が主催する 「HackU Fukuoka」 になる.

チームメンバーが最大6人であり,現状3人しか集まっていない為,チームメンバーは今も募集中!

一緒に参加したい人は自分のTwitterに連絡を!

[技術分野]

自信のある技術
HTML / CSS / JavaScript / React / Vue
経験のある技術
Swift / UIkit / Golang / Flask(Python) / OpenCV(Python) / Firebase / Golang / MySQL / Docker / C / C++ / TypeScript / Java / AndroidStudio / kotlin / GoogleAppScript / Monaca

この記事が気に入ったらサポートをしてみませんか?