kugi's notebook

やったこと、思ったことなどつらつらと書きます

Mitsuba 2 導入(macOS Catalina)

はじめに

以前macOSでのMitsuba Renderer導入についてまとめました。

kugi-masa.hatenablog.com

今回は新しくなったMistuba 2の導入についてです。

♧Mitsuba 2♧

リリースノートを見ると2020年3月3日にMitsuba 2.0.0がリリースされたようです。

3月3日→♧月♧日

狙った日付だったのでしょうか...?👀

SIGGRAPH Asia 2019で論文としても発表されています。

rgl.epfl.ch

Merlin Nimier-David, Delio Vicini, Tizian Zeltner, and Wenzel Jakob. 2019. Mitsuba 2: A Retargetable Forward and Inverse Renderer. In Transactions on Graphics (Proceedings of SIGGRAPH Asia) 38(6).

今回からかなり見やすいドキュメントも用意されているので、もしかしたら導入ブログは不要かもしれません💦

が、自分も記録として残しておきたいので早速やっていきましょう。

mitsuba2.readthedocs.io

GitHubからfork

ドキュメントでは本家のmitsuba-renderer/mitsuba2リポジトリからcloneするような手順になっていますが、私は本家に影響を及ぼしたくないのでfork🍴します。

ではforkしたリポジトリをローカルに持ってきたいと思います。 (私のようにforkする場合は[yourname]を変更してください)

$ git clone --recursive https://github.com/[yourname]/mitsuba2.git

ただ、forkしてしまうと本家にコミットが追加されてもfork先には変更がないので、ローカルに適宜本家からpullしてfork先に反映するのが良いようです。

以下で本家の情報を取ってきましょう。

$(master) git remote add upstream https://github.com/mitsuba-renderer/mitsuba2
$(master) git fetch upstream
$(master) git merge upstream/master

しかし、このままでは最新版に追従できていません。 Mitsuba 2ではgitのSubmodulesという機能を使っています。

--recursiveオブションをつけることで他のプロジェクトの連携までを管理してくれるためセットアップが楽になるとのこと

git-scm.com

Submodulesをつかっているため通常のpullコマンドのみではダメみたいです。

ドキュメントにしたがって以下のpullallコマンドを追加しましょう

$(master) git config --global alias.pullall '!f(){ git pull "$@" && git submodule update --init --recursive; }; f'
$(master) git pullall

pullallコマンドを実行することでforkしたリモートリポジトリのmasterブランチも

This branch is even with mitsuba-renderer:master.

になっているはずです。 (もしかしたらpushが必要だったかも...)

バリアント(Choosing Variants)

Mitsuba2ではビルドする前にRGB、スペクトル、偏光レンダリングなど、どのようなレンダラーとしてビルドするかを指定する必要があるそうです。

その種類はなんと36通り!! 以下のようにRGB、スペクトルなどを選んで組み合わせることができるようです。

  • Computational backend
    • scalar
    • packet
    • gpu
    • gpu_autodiff
  • Color representation
    • mono
    • rgb
    • spectral
  • Polarization
    • polarized
  • Percision
    • double

まずは以下のコマンドで設定ファイルをmistubaのルートディレクトリにコピーしてきましょう。

$ pwd
<your mistuba root directory>
$ cp resources/mitsuba.conf.template mistuba.conf

コピーしたmistuba.confenableのところでバリアントが指定されています。

"enabled": [
    # The "scalar_rgb" variant *must* be included at the moment.
    "scalar_rgb",
    "scalar_spectral"
],

コンパイル

macOS では以下がインストールされている必要があります。

また、Pythonについてもversion 3.6以上が必要です。 macOSのデフォルトのPythonversion 2.7.16でした。(2020/07/28時点)

$ which python
/usr/bin/python
$ python --version
Python 2.7.16

このままではコンパイルが通らないので、Python3をデフォルトにします。

以下の記事がとても参考になりました!!

opensource.com

pyenvを使ってPython3をデフォルトにします。今回はmistuba2のドキュメントに合わせてversion 3.7.3をインストールします。

$ brew install pyenv
$ pyenv install 3.7.3
$ pyenv global 3.7.3
$ pyenv version
3.7.3 (set by /[Your Directory]/.pyenv/version)

ここではまだ、macOSデフォルトのPythonです。

$ which python
/usr/bin/python

なのでパスを追加しましょう。macOS Catalinaからデフォルトのシェルはzshになったらしいので以下を.zshrcに追加します。 (詳細はコチラ)

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

新しいターミナルを立ち上げて、最後にもう一度確認をしてみましょう!!

$ which python
/[Your Directory]/.pyenv/shims/python
$ python --version
Python 3.7.3

ヤッター!!!🐍 🐍 🐍

CmakeやNinjaについては、それぞれhomebrewでインストールしました。

$ brew install cmake
$ brew install ninja
(--- If you haven't installed the xcode command line tool ---)
$ xcode-select --install

では、ビルド用のディレクトリを作成してコンパイルしましょう。 (Python3をデフォルトにする前に以下を実行してしまった場合は一度buildディレクトリを削除しましょう)

mkdir build
cd build
cmake -GNinja ..
ninja

mitsuba2 を動かしてみる♧

mitsuba2のルートディレクトリにあるsetpath.shを実行することで、mitsubaコマンドが使用できるようになります。

$ pwd
<your mistuba root directory>
$ source setpath.sh
$ mitsuba scene.xml

mistubaレンダラーはシーンファイルにxmlファイルを使用しています。

コチラのサンプルを参考に金色のドラゴンをレンダリングしてみました。 Stanford Dragon reference

http://graphics.stanford.edu/data/3Dscanrep/

f:id:kugi_masa:20200728170022p:plain
金のドラゴン

まとめ

今回はmacOSにおけるMitsuba2の導入をしてみました。

かなり長くなってしまいましたね...

冒頭にもあるようにドキュメントが整っているのでそちらも是非!!

やったこと

  • mistuba2をfork
  • Python3をデフォルトに設定
  • mitsuba2をコンパイルして動かしてみた

わかったこと

  • 導入は前のバージョンよりも遥かに楽
  • ドキュメントが素晴らしい

次やりたいこと

  • いろんなシーンでレンダリングしてみたい
  • 実際に中身をいじってみる

Flutter build for iOS ~SDKは更新すべし~

はじめに

Cammelでは4月からFlutterを用いた新プロダクトを開発しています。 クロスプラットフォームReactNativeFlutterとなったときに、どちらとも誰も経験がなかったのでルーレットで決まりました。

f:id:kugi_masa:20200715110246p:plain
Flutterに決まったぞ!🎉

コロナの影響でフルリモートです。

👨‍💻 ))))) (((((👨‍💻

私はMacユーザなので、今回はiOSビルドで困ったことについて書きます。

Simulatorと実機

Simulatorビルド後に実機ビルド(逆もしかり)をしようとすると、 以下のようなエラーが出ていました。

error: Building for iOS, but the linked and embedded framework 'App.framework' was built for iOS Simulator. 
(in target 'Runner' from project 'Runner')

先に結論からいいます。

SDKは更新しましょう!

以下のリンクにもあるように、v1.15.4以降のFlutterプロジェクトであれば、切り替えてビルドをしてもエラーは出なくなっています。 Xcode 11.4 Support - Flutter

何をしたか

ここからは、私が行った手順に沿って書いていきます。

前振り

私たちは開発スタート時Flutter SDKv1.12.13.hotfix+9を使っていました。

Flutter SDKのアップグレード

flutter upgrade

SDKを更新します。

Flutter is already up to date on channel stable
Flutter 1.17.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 8af6b2f038 (11 days ago) • 2020-06-30 12:53:55 -0700
Engine • revision ee76268252
Tools • Dart 2.8.4

現在の最新は

  • Flutter SDK : v1.17.5
  • Dart : 2.8.4

でした。

エラーの確認

上記の公式のドキュメントや以下のIssueにもあるように、v1.15.4以前のFlutter SDKではSimulatorと実機を切り替えたとき私と同じようにエラーが出ていたようです。 https://github.com/flutter/flutter/issues/50568

App.framework、Flutter.frameworkを一度取り除く

公式ドキュメントの手順にそって、App.frameworkFlutter.frameworkを削除します。

コマンドラインから

rm -rf ios/Flutter/App.framework
rm -rf ios/Flutter/Flutter.framework

コマンドラインから削除した場合はios/Runner.xcworkspaceでもReferenceが消えているか確認

Xcodeから

f:id:kugi_masa:20200715112703p:plain
Referenceは残さず完全に削除

ドキュメント通りの設定がされているか念のため確認

Simulatorにビルド

私はAndroid Studioを使っているので、Android Studioでビルドしました。

Embed Frameworksの確認

再度ios/Runner.xcworkspaceを開き以下のようにチェックをつける

f:id:kugi_masa:20200715113258p:plain
Runner.xcworkspace

実機にビルド->Simulatorにビルド-> and so on ...

この後、AndroidStudioに戻り、 iOS実機 -> Simulator -> iOS実機の順で3回ビルドしました。

これで実機からSimulator、Simulatorから実機での切り替えを確認できました。

まとめ

実は開発が始まって1ヶ月がたったぐらいでSDK更新の話は出ました。 (そのときはv1.17.1 or v1.12.13+hotfix.9でした)

しかし、そのときの最新(v1.17.1)ではなぜかiOSで画面遷移後にWidgetが一部表示されないという問題があり、最新SDKに合わせて実装し直すか、チームで統一した現在のバージョン(v1.12.13+hotfix.9)の実装のままでいくかで議論しました。

そのときは開発序盤だったので機能追加を優先して手戻りをせずにv1.12.13+hotfix.9で統一することとしました。

今回ビルドで問題が起きたことでSDKはあげることになりましたが、 v1.17.1時点でのチームの結論はそれはそれでよかったのかなと思います。

何はともあれ、スムーズにアップグレードに移行できてよかったです👍 (現在の実装ではv1.17.1時点でのWidgetのバグも解消されていた...!!)

github.com

やったこと

  • FlutterのSDKを更新してスムーズにiOSビルドできるようにした

わかったこと

  • SDKは積極的に更新していこう!!

次やりたいこと

  • そろそろ右上のDebugラベル取りたい

Scrum Fest Osaka 2020 参加レポート

はじめに

f:id:kugi_masa:20200627155523p:plain

Scrum Fest Osaka 2020に参加してきました!! www.scrumosaka.org

今回はオンライン開催ということもあり、地方スクラム/アジャイルコミュニティの100以上のセッションに参加することができるイベントでした。

今回はenPiTで大変お世話になったmiholoveさんにいただいたアトラクタさんのスポンサーチケットで参加しました。学生のうちにこんなBIGなイベントにできるのは本当にありがたいです...

miholoveさん、アトラクタさんありがとうございます✨

www.attractor.co.jp

ざっと書いているので個人的な主観や間違った認識もあるかもしれません...💦

miholoveさん基調講演「今あえてのスクラム

今回オンラインでの開催と聞き3、4秒程度「うっ」となったそうです。

でも、あえて「うっ」と思うことに取り組んでいこう! そういう機会にこそ成長がある。

確かに...!!

アジャイルマインドセットをもって非秩序な問題に取り組んでいく。

自分とは違う考え方、感性を持つ人とたくさん触れ合って、 ぶつかって、話し合って革命を起こす。

いい話...!!

Zoomの背景をスライドにした発表でした。 (ビールを想起させるスライドによるサブリミナル効果笑)

ご本人のスライドもこちらに載っています。

miholovesq.hatenablog.com

Agile Wars -アジャイルチームの夜明け-

kyon_mmさん、neno nenoさん、Gota Miyazakiさん、Takao Oyobeさんによるセッションでした。

内製開発チームの及部さん、受託開発チームのkyonさん

別々の環境でアジャイルに触れたお二人がどういった経緯でコミュニティに参加したのか、どのように出会ったのかというお話を聞くことができました。

対極かのように思える「内製」と「受託」のお二人もアジャイルコミュニティーでの関わりから見るともはやチームだった。 (CEDECやRSGTでは偶然にもリンクしたお話をされていたらしいです)

STAR WARS要素も満載で

MAY THE TEAM BE WITH YOU

がとても刺さりました。

Episode 9「Agile Wars -アジャイルチームの夜明け-」としてのセッションを受け、最後には「もし来年Episode 10を自分がするならなんというタイトルをつけるか」を参加者全員で考えました。

私は自分のチームであるCammelのことを思い、卒業で一足先にチームを離れたとしても心、気持ちとしてはチームの一員でありたいという思いを込めて、

「チームを離れてもチーム」

をあげました。

演奏付きの講演でもはや「映画」でした笑

アジャイル & プログラムマネジメント

せっかく広島にいるので広島テーブルのセッションに参加しました。

広島修道大学の佐藤達男先生によるセッションで、 プロジェクトマネジメントの歴史からアジャイルの考え方への移行やユーザー参加型のデザイン、ユーザーを巻き込んでいくプロジェクトマネジメントについて聞くことができました。

ユーザーを巻き込んだデザインのところで講義で学んだ 「誰のためのデザイン」を思い出しました。

www.amazon.co.jp

エッセンシャル モブプログラミング 〜実践者が考えるモブの価値,原則,プラクティス〜

モブチームの成長についての話でした。

モブチームのレベル感を図式化、そのレベルでのプラクティスについて聞けました。

ちょうどCammelでもオンラインモブプロで開発をしているので、参考にしたいです!!

上級モブ:One is all, All is one 「僕はチーム、チームは僕」

speakerdeck.com

エクストリームプログラミング」から読み解く現代ソフトウェア開発~「ストーリーポイント」と「自動テスト」の功罪~

アジャイルスクラムについてはこれまで学んできましたが、XPについてのお話を聞く機会はあまりなかったので参加しました。

XPでは工数の見積もりにおいてストーリポイントの使用は外され、時間での見積もりにシフトしているようです。

以下のような話も👀

poohsunny.hatenablog.com

ストーリーポイントやチェックリストといったツールを使用する際に、 なんでこのツール使ってるんだっけ??と忘れたころに再確認することが大事だよねという話もありました。

プランニングポーカーをするのは見積もりをしてコミットメントを確約するためではなく、チームのコミュニケーションを通じて合意をとるためにする

なるほど...

まとめ

今回このような貴重なイベントに参加できて本当によかったです。アトラクタさん、miholoveさんありがとうございました!!

DiscordとZoomを使ったイベントだったので気になるセッションに気軽に参加できるのはとてもよかったです。

学びの場が湯水のように溢れていたので整理して実践までとなるとかなり骨が折れそうですが、自分のペース、チームのペースで成長していきたいです。

オフラインのコミュニティイベントも参加できる日ができたら参加したいです。

運営のみなさんもありがとうございました!お疲れ様でした🎉

(余談:Discordの廊下チャンネルがよかった。オンラインなのにトイレもあった安心🚽。)

やったこと

  • Scrum Fest Osaka 2020でワイワイした

わかったこと

  • コミュニティイベントに参加するのは楽しい

次やりたいこと

  • 今回得た学びをCammelに共有、実践したい

レッドハッカソンオンライン2020振り返り

はじめに

レッドハッカソンオンライン2020に参加しました!

www.pref.hiroshima.lg.jp

レッドハッカソンとは

広島県HMCN(Hiroshima Motion Control Network)さんが主催するハッカソンイベントで、エンジニアだけでなくデザイナーやプランナーとしても参加ができます。

今回はコロナの影響でオンランでの開催でした。 今後ハッカソンはオンラインが主流になっていくのでしょうか...

オンラインでの開催ということもあり、広島以外からも参加する方が多く参加者約40人となかなかな規模のイベントでした。

アイディア出し

テーマは

「人々が安心して外出できて集うことができる日」が来たときに始めたいサービス・プロダクト

オンラインということで、以下のようにアイディア出しが行われました。

  • 参加者がGoogleSlideの自分のスライド(1枚)にアイディアを書いていく
  • 1分間のピッチ
  • 各自3票投票
  • 上位のアイディアを選出し作りたいプロダクトのチームに参加 or どうしても作りたい場合は新しくチームメンバーを募集

私は大学の先輩で今年新社会人のみやぎさんのピッチで「あ、これ作りたい!!」と思いました。 もともと投票では上位アイディアとして選出されませんでしたが、 私からみやぎさんを逆指名してチームに参加しました。

(あとあと、みやぎさんが自分の逆指名メッセージを見たのではなく、 みやぎさん自身もどうしても作りたくメンバーを募集したことがわかりました笑)

f:id:kugi_masa:20200603202627p:plain
みやぎさんのピッチ資料

顔バト

メンバー

みやぎさん(@daking1756)と去年広島エンジニアハッカソンで知り合ったたぞえくん(@jdkfx)と自分の3人でチームを組みました。 お互い顔馴染みではありましたが、開発をともにするのは初めてでした。

ツール

今回のハッカソンではプロダクトの中間発表の時間以外は開発スタイルやつかうコミュニケーションツールなどの指定はありませんでした。 Cammel🐫でも4月からフルリモートでの開発が始まり、コミュニケーションツールとしてDiscordを使っています。 (Cammelでの話は別の機会にでも書けたらと思います)

私たちのチームでもDiscordを活用することにしました。

モブプロ導入

今回のプロダクトはみやぎさんがおうちハッカソンで開発されたものを発展させて制作しました。 根幹の部分は既にみやぎさんが実装されていましたが、以下の点で問題が残っていたようです。

  • 通信をして写真を撮り結果を表示する際、「撮影」をした側でしか画像とその評価結果が表示されない。

まずは、システムの構成を理解することも踏まえ簡単なタスクをモブプロでこなし、開発環境になれてきたら分業する方針を提案しました。

モブプロ(モブプログラミング)とは、

実際に手を動かし実装をするドライバーとその後ろから実装のアドバイスや先回りをして調べたりバグを仕込まないようにドライバーを助ける複数人のナビゲーターに分かれて開発をする手法です。

(モブプロのワークショップに参加したときの内容をコチラに書いています。ご参照ください)

オンラインでも画面共有をすればモブプロはできます👍

「招待URLをクリップボードにコピーする」を最初のタスクにし、

  • ドライバー:たぞえくん
  • ナビゲーター:みやぎさん、kugi

で開発スタートしました。

Firebaseの導入でつまる

たぞえくんはバイトがあったので初日の中間発表以降はみやぎさんと二人で開発しました。

次のタスクは、「お題の情報を通信者間で共有する」です。

現状のシステムとして、撮影を押した側でお題の表情が決まりそのお題が共有されていませんでした。 hostingにFirebaseをつかっていたこと、またお互いFirebaseを使うことが多かったことから、 データベースにはCloud Storeを使うことにしました。

しかし...

なぜか以下のエラーが

The Cloud Firestore API is not enabled for the project

プロジェクトを最初から立て直してみたり、以下の記事を参考にCloud API Managerを確認しににっても有効にはなっている qiita.com

1度はデータを送信できてもまた同じエラーが出てしまいました。

この時点で深夜1時で進展がなくお互い疲弊していました。 とりあえず見栄えや体裁を整えることにしようとFirebaseは一晩寝かせることにしてUIやアニメーションに取り掛かりました。

最終日

初日?は3時に手を止め残ったタスクから逆算して7時に起きればなんとかなりそうとわかったので7時から再スタートすることにしました。

朝起きて試しに寝かせておいたFirestoreにデータをプッシュしてみると...

なんか動いた!!!🙌

昨日の心配はなんだったんだと言わんばかり普通に動いてくれたので安心しました。

Firebaseについて深堀できたので良しとします。

逆算して見積もりをしたおかげか、なんとか動く状態で割と余裕を持ってプレゼン準備をすることができました。

docs.google.com

各チーム本当にいろんなプロダクトを開発されていました! 特に自分が気に入ったのは最優秀賞とオーディエンス賞を獲得された「ガヤ人形」です。 プロダクトもスライドも発表も素晴らしかったです!!

チームリーダーのtantanさんが参加レポートを書かれているのでご参照ください。 tantan.work

私たちのチームは賞を受賞することはできませんでしたが、久しぶりのウェブ開発であったり、新しいチームでの開発はとても楽しかったです!

まさかの(時差)受賞

ようやく2日間のハッカソンが終わり、ちょうどスプラ2のフェスがやっていたので友人と遊んでいるとみやぎさんからDiscordで報告がありました。

f:id:kugi_masa:20200603213902p:plain
まさかの受賞!!

まさかの特別審査員翔を受賞することができました。 月刊アスキーの遠藤様ありがとうございました!!

まとめ

広島に来て5年目ですが、レッドハッカソンは初参戦でした。 オンラインのハッカソンということで運営の方々もかなり大変だったと思います。 運営のみなさま本当にありがとうございました!

オフラインでのハッカソンに越したことはありませんが、これからのハッカソンやイベントのあり方そのものが変わっていくのかもしれないなと感じました。

ハッカソンが終わったあとも実は開発を継続しています!

github.com

やったこと

  • レッドハッカソンオンライン2020に参加
  • 顔馴染みのメンバーで開発
  • 久しぶりのWeb開発
  • モブプロ導入

わかったこと

  • ハッカソンなのでどこで折り合いをつけるかがとても重要
  • タスクの逆算ダイジ
  • モブプロたのしー

次やりたいこと

  • CIの導入
  • 再戦ができない状態なので改善

unity1week「密」振り返り

はじめに

Unity1週間ゲームジャムお題「密」に参加しました! 今回は制作の1週間を振り返ろうと思います。

(少々長くなりますがお付き合いいただけると幸いです。)

f:id:kugi_masa:20200510184344p:plain
蜜蜂~Cluster Bee~

ゲームはこちらから遊べます!!

unityroom.com

Unity1週間ゲームジャム

1週間でUnityを使ってゲームを作り、次の1週間でお互いのゲームをプレイして評価し合いランキングが決まります。

(詳しくはUnity1週間ゲームジャムのサイトを参照)

投稿したゲームはunityroomから遊ぶことができます。

私にとっては今回が2回目の参加でした。

kugi's 1week

Day1

お題が初日の0:00に公開されました。

今回のお題は...

とりあえずアイディア出しをして寝ます。

f:id:kugi_masa:20200510170425j:plain
アイディア出し

蜜蜂の「蜜(Honey)」を「密(Cluster)」に文字って

「密蜂〜Cluster Bee〜」というタイトルで作ることにしました。

ハチを動かして仲間のハチを集め、目標の数が集まったら巣に帰るゲームです。 前回は2Dで参加したので今回は3Dで挑戦です!

初日はUnityプロジェクトを立ち上げて終わりました。

Day2

とりあえずフィールドをおかないとやる気が出ないのでアセットストアでアセットを探します。 GGJでも使用したローポリアセットを使うことにしました!

LowPoly Vegetation Season Pack Lite

2日目はまだデフォルトのCapsuleオブジェクトですが、フィールド上を動くようにしました。 あまりに広すぎると大変なので、動ける範囲を限定して出そうになったらポップアップでお知らせするようにしました。

Day3

ツイートでの宣言通りこの日はBlenderでモデルを作っていました。

f:id:kugi_masa:20200510172409p:plain
Blenderでモデル作成

マテリアルはある程度Blenderで作ってしまし、Unityにインポートした後に調整しました。

羽はTransparentに、花弁の色は青・ピンク・白にしました。

ちなみに、Day2までの領域外に出たときのポップアップは廃止して、半透明な壁を設置することにしました。

Day4

この日は他のハチをフィールドに生成しゲームの核となるCluster処理と時間制限を実装しました。

また、虫取り少年とハチの巣モデルも追加しました。

このときまでは少年が網を振ってハチの妨害をしてくるギミックを考えていました。 まさか、彼があんなことになるとは...。

Day5

ハチをさらに増やし、ある距離直進したら反対方向に振り返って進むようにしました。

しかし、ツイートからもわかるように、たくさんのハチを同時に動かしているのでかなり動きが遅くなってしまいました...。 どうしたものか...

Day6

残すところあと2日!! 処理おもおも問題もありますが、UIやルール画面、スコアを実装してある程度ゲームとして成り立つようにしました。 naichiさんのランキングパッケージも活用してランキング機能をつけました。 naichiさんありがとうございます!!!

とりあえず、処理が重い問題を解決したいのでLightingを調整することにしました。 UnityでLightingをいじるのは初めてでしたが、ドキュメントを読んだりチュートリアル動画を見て調整することができました。

最終的にMixed Lightingを使うことにしました。 CGの研究しててよかった...!!

参考にした動画

今回は1週間の制限があったので深追いはしませんでしたが、もう少し詳しく勉強したいと思います。

Day7

さて、ライティングも調整でき最終日はレベル調整をして提出しよう!と思い寝ようとしたところ、 彼の存在を思い出しました。

あ...虫取り少年のギミック作れてない...!!

もう1日しかないから置物ってことにしようかな...

でもせっかく網を振るアニメーションもつくったしなー...

まてよ、ハチ取りのゲームにしちゃえばよくない??

気付いたら夜が明けてました。

完成🎉

BeeHunterの方は急ピッチで作ったためランキングスコアのところでバグを作ってしまいましたが、 なんとか1週間で完成することができました!! (バグは修正済みです)

まとめ

2回目として参加したunity1weekでしたが、1回目より学びのある1週間でした。 また、前回よりも多くの方にプレイしていただきコメントをもらいました。 プレイしていただいたみなさん、ありがとうございました!!

実況していただいたPAFUさん、さまシロさんありがとうございます!!!

そして運営されてるnaichiさんもこの素晴らしいイベントを開催していただきありがとうございます!!! 他の方からのコメントや他の方のゲームをプレイすることでたくさん刺激をうけることができました。

何よりうれしかったのは高校の頃の同期がたくさん遊んでくれたことと、 そのうちの一人が全てのランキングで1位をとるまでプレイしてくれたことです。 まだまだ、不十分な点はたくさんありますが1週間で頑張って作ってよかったなと感じました。

次回のunity1weekもできたら参加したいと思います。

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

やったこと

  • unity1weekに2回目の参加
  • UnityでLightingをいじってみた

わかったこと

  • すごい人はほんとうにたくさんいる
  • ゲーム制作は楽しい!!!
  • 遊んでもらって反応を聞くともっと楽しい!!!

次やりたいこと

  • UnityのLightingの勉強

Cammel-LT会🐫⚡️

はじめに

久しぶりの投稿です。

最近はリモート研究したり、Cammelの新プロジェクトのミーティングしたり、高校の同期とZoomでオンライン飲みや「こんい島」で虫取りや魚釣りしています。

(本当は「こんぺい島」にしたつもりだったんですが、入力ミスで「こんべい島」になってしまいました...。)

f:id:kugi_masa:20200422163216j:plain
イースターイベントを満喫した図

今回は3月から月1で開催するようになったCammel-LT会についてお話したいと思います。

f:id:kugi_masa:20200422163205p:plain
Cammel-LT会

LT (Lightning Talk⚡️🗣)

LTはLightning Talk の略称で5分程度の短いプレゼンテーションです。

Wikipediaによると、ピッツバーグカーネギーメロン大学で行われたYAPC(Yet Another Perl Conference) 19100 Conference が発祥のようです。

私は昨年のenPiTの夏合宿で初のLTを経験しました。

Cammel-LT会

プレゼンの練習とお互いが取り組んでいることを共有する、そしてなによりCammelというチームで何かをする機会を増やすという目的で3月から月1でCammel-LT会を開催することにしました。

テーマは特に決めず話したい人が話したい内容を話すという形式で行いました。また、Cammelを知ってもらう機会にもなるのでチームメンバー以外の参加者も募りました。

まだ、チーム外からの発表者はいませんでしたが、次回のLT会ではメンバー以外の発表も聞けると嬉しいです...!!

また、第1回はDiscordで第2回はZoomを使ってオンラインで開催しました。チームとして主催する初のイベントなのでまだまだ手探りです。

第1回登壇資料

第2回登壇資料

まとめ

短い時間で伝えたい内容を端的に発表することは改めて難しいことだなと感じました。

また、発表後の質問タイムが白熱してディスカッションになっていったのはとても楽しかったです。

だいぶゆるくですが、3月4月と無事2回開催することができてよかったです。

参加してくださったみなさん、ありがとうございました! 次回は5月のどこかで開催予定です。 情報はCammelのTwitterアカウントで発信します🐫

やったこと

  • チームでLT会を開催
  • LT登壇

わかったこと

  • 交流の場になった
  • 意外と人来てくれた!嬉しい
  • 発表後のフィードバック!嬉しい

次やりたいこと

  • もっとたくさんの人に参加してもらいたい
  • 「こんべい島」の博物館の充実化
  • 次もLT登壇

enPiT2019成果発表会

はじめに

筑波大学で行われたenPiT2019の成果発表会に広大チームのメンターとして参加してきました。

チームmomi & チームじぃ🍁

enPiT2019に広島大学からは2チームが参加しました。両チームとも夏のアジャイルキャンプ後、約3ヵ月間で1つのプロダクトを作りました。

1週間1スプリントの開発で九工大チームを加えた3チームで筑波の先生方とのオンラインレビューがあり、その後スプリントの振り返りや次のスプリントのスプリントプランニングを行いました。

チームmomiのプロダクトは、掃除がめんどくさい人のためのお掃除通知アプリケーション「お掃除管理くん

チームじぃのプロダクトは、記録した物が買える場所が近くにあるときに自動で通知してくれる、お買い物忘れ防止アプリケーション「CanBuy!」でした。

メンターとして

私は今年度メンターとしてenPiTに参加しました。夏の合宿では他の社会人メンターの皆さんと一緒に参加者をサポートし、たくさん刺激と学びをいただきました。

また、CammelのメンバーをenPiT2019に誘うことでメンバーのチーム開発への理解の向上につながりよかったと思います。

ただ、広島に戻ってのメンターの自分を振り返ると、メンターとしてうまく立ち回れていたとは言えない気がします。

  • メンターとしてどこまで口を出すべきなのかが難しかった
  • 研究や就活でそもそも後半のレビューに顔を出せなかった(申し訳ない...)
  • 両チームを満遍なく見ることが出来なかった

momiチームへサポートする機会は多くメンターとして関わることはできました。

逆にじぃチームの2人はCammelでシステムを担当していて、私の技術的に「できること」と「できないこと」はわかっていたので私を頼ることはほとんどありませんでした。 また、Cammelの2人がチームをリードしてくれていたので開発もスムーズにいっていました。

成果発表会

成果発表会では8分間のプレゼンとその後デモを行い、参加者からの投票を踏まえた審査員の審査によって受賞が決まりました。

今年のプロダクトは昨年と比べても凄いプロダクトがたくさんありプレゼンもデモも見てて楽しかったです。

デモを見に行きたくなるプレゼンをしたかがとても重要だったと思います。

また、いかに共感出来るユーザーストーリーを見据えたプロダクト作るかが大事だと感じました。

振り返り(FUN/DONE/LEARN)

表彰式の後はチームごとにFUN、DONE、LEARNでの振り返りが行われました。

フリカエリダイジ

私も一人で今年度の振り返りをしました(笑)

まとめ

広大チームからの受賞はありませんでしたが、両プロダクトとも本当にいいモノに出来あがっていました。チーム、メンバーとしてもみんな昨年の私を遥かに上回っていて、開発しているみんなが羨ましかったです。

ただ、メンターとして今年度もenPiTに関わることができ新しい学びもたくさんありました! これからもチーム開発頑張るぞぉお💪

やったこと

  • enPiT2019のメンター
  • 成果発表会へ参加

わかったこと

  • デモに行きたくなるようなプレゼンをする

次やりたいこと