おはようございます. はじめまして.
NTTドコモ 先進技術研究所 1年目社員 實成です.
僕は社内でも自分の時間が取りやすい部署[要出典]で働いています.
なので,普段の業務では取り扱っていないテーマの記事にしました.バラエティ重視!!
普段の業務はこんなことしてます.
(ちょうど3日前にまとまった進捗を報道発表する機会がありました.)
僕は上記の解析担当をメインでやっています.
背景
入社してから
大学生のときは週2でテニスをしていましたが,社会人になってからは一切運動をしなくなりました.
せめて家でできる運動はしたい と考えて入社早々に腹筋ローラーを買うもこれだけだとすぐ飽きます.
世間では運動不足解消が流行っていて,こんなアニメも流行りました.
運動したい欲に対して満足のいく回答がないまま生きていた僕はリングフィットアドベンチャーに出会いました.
リングフィットアドベンチャーとは??
公式動画
「Nintendo Switchで冒険しながらフィットネス」というキャッチフレーズのゲームです.
身体に1つセンサーを,コントローラに1つセンサーを装着して全身がコントローラーとなる新感覚ゲーム.
2つのセンサーが腕や脚やお腹などの動きを認識し,ゲームの中のキャラクターを自在に操ることが可能.
ファンタジー世界を己の身体1つで冒険しながら,スリムで引き締まったボディを目指すゲームです.
任天堂は過去にもWiiFitシリーズを製作し,見事ゲームと運動を結びつけています.
僕も過去には大人から「ゲームばかりして」という言葉を頂いていましたが,今となってはそれは無縁.
加えて,最近のゲームは操作が難しく,遊ぶ人を選んでしまっている要素が増えてきてもいると感じています.
その点,直感的な操作が可能なこのゲームは,誰とでも一緒に遊ぶことが可能です.
これによって,家族や友達との仲を繋ぐ,素晴らしい側面も併せ持っていると考えています.
ぜひこれからもこのようなシリーズが続いていって欲しいです.
勘違い
- リングフィットアドベンチャーをやりたい
-
でもSwitch買うまでのモチベはない
-
加速度センサーあれば作れそうじゃね?- 手元にはAndroid端末が都合よく転がっていました
よくある勘違いでした.
リングフィットアドベンチャーは直感的な操作であるため,
3日ぐらいで実装できて良い小ネタになると考え,このタイトルでAdCを投稿すると宣言しました.
準備
最初はTwitterでバズった動画しか見てませんでした.
これが盛大な勘違いの主因であり,実装中に上記の公式動画を見たときに
クオリティの高さ(選べる運動の数の多さ)に驚きました. 流石任天堂.
実装
Android版リングフィットアドベンチャーの製作方法概要を書きます.
用いるセンサーは加速度センサのみです.
本来,正確な自己位置推定には地磁気センサーも必要なのですが,そこまで正確に求めなくても
動作検知は可能だと感じたので今回は取り扱いませんでした.
センサー情報を取得するViewとスタート画面や操作説明などViewの2種類を行き来しています.
センサー情報の取得はOnSensorChangedで逐一取得する簡単な実装です.
現状,スクワットと腿上げと腰回しの3種類のトレーニングを実装しています.
各トレーニングの1回行ったという判定処理がif文のオンパレードになってしまっています.
もっと効率よく書けたら良かったなと感じています.
demo
プレイ中の自分も撮影したのですが,自分の顔が写ってしまったので,アップできませんでした.
Qiitaは動画を上げられないので,無理矢理.gifに変換しました.
コード
例外,効率一切度外視のパワー系実装です.すみません.
1億と2千年ぶりにJava書いたら全然分からなかったです.
コードはこちら
今後の予定
-
OpenHouse2020に出します.
- もしよかったら遊びに来てください
- OpenPoseを使用した実装に切り替えるかもしれません.
結論
- 任天堂しゅごい.(見た目簡単そう≠実装簡単.)
- デザイン系のお仕事の人しゅごい
- 画面遷移やボタン配置などのゲーム設定.レイアウト設定に一番時間がかかった.