
2025.03.19
ドバイ不動産投資の最前線 専門家が語る、3つの投資モデルと市場の展望
ゲームロジックからデザインまで完全オリジナルの押し相撲ゲーム「オシマル」の紹介(全1記事)
リンクをコピー
記事をブックマーク
宮城采生氏:小学生開発者の宮城采生です。よろしくお願いします。
(会場拍手)
僕は2年前から「ふうセン」「オシマル」の2つのゲームアプリを作ってきました。運良く両方とも大会で優勝しています。開発環境はMacでUnityとC#を使っています。昨年末から4ヶ月ほど「Kids Creator's Studio SEASON2」(KCS)に参加しました。
プレゼン前半はPV動画を使い「オシマル」の紹介になります。後半はスライドにてRaycastまわり、自分なりのコードルールや工夫をお話します。ではさっそくPVを見てください。
この動画はKCSで作りました。
簡単なストーリーを考え、絵コンテを作成しました。このとき初めて絵コンテについて学びました。Premiere Proはフェード、カメラムーブ、音声を付けました。Illustratorでは構図やパースを取りました。
Photoshopで絵を描きました。また、レイヤーで画像エフェクトを作りました。スマートオブジェクトでエレベーターの動きも付けました。レイヤーの前後処理で動物が箱に入るところを表現しました。このシーンはUnityのカメラアニメーションで作りました。ゲーム説明はこの動画を見てください。
このアップデートはKCSの期間中に行いました。マルチモードは対面式にしました。マッチングはお客さんがたくさんいないと見つけられないので、この方法にしました。今回はプロのPVを見てグリーンバック合成でやることにしました。緑の布は、近所で買った普通の布です。
また、KCSのメンターさんから自分を登場させたほうが良いというアドバイスがあったのもきっかけです。「オシマル」はおもしろいのでダウンロードしてください。
プレゼン後半の内容はこの2つです。
「オシマル」ではブロックの重なりや塗りこみのバグの対処に苦労しました。重なるといっても、この図のようにいろいろあります。このエピソードで未熟な小学生の頑張りを感じてもらえたらと思っています。
1作目の「ふうセン」ではバッチ処理をゲームに反映するのにOnTriggerを使っていました。僕のこのときの方法は、細長いコライダで串刺しをするので重なったオブジェクトの判定に弱いです。
Raycastは引数の理解が難しいのですが、「オシマル」ではこれを使う必要がありました。触った表面の情報がほしい場合、Raycastですべきで、最終的にはスケーリングも併用し問題を解決しました。
次はここにたどり着くまでの経緯です。プロトタイプからあったこのバグはタッチパネルの実装時に目立ちました。ゲームを固めるのを優先し終盤にやっと着手しました。
いざ調べ出すとコリジョンの設定やフィジクスレイヤーを見直しても問題なし。いろいろ考えても原因がわからず家族に相談したところ「上から見ていてもわからない」と言われました。いろいろな角度から見る姿勢が大事ですね。
UnityEditorでカメラを動かして確認をしたら、なんとコリジョンがすり抜けていたのではなくブロック生成時にY軸上に重なっていたんですね。プログラム以前の問題でしたね。想像より簡単な問題で、ちょっとズッコケました。
Raycastはよく使われる手法ですが、パッと見は難しそうなんです。すぐにこれを使えばよかったのですが、使いなれない方法は想定外の不安があり勇気が必要です。しかし、臆病になって「もっと簡単な方法を試そうかな」と考えてしまい、新しいバグを作ることになりました。
iOSだけブロックが氷のように滑ったのでXcodeのプリントで座標を確認するとブロックが少し浮いていて「PCとiOSでなぜ違うの?」と悩みましたが、もう少し考えてみるとそもそも重力が働いていないのが問題と気付きました。
実は数日前にY軸上に積みあがらないよう、生成時のPosYと物理演算のPosYをフリーズしていました。これが残っていたのがバグの原因です。
この対処が多すぎてゲームの調整がしにくいので止めました。夢中でいると迷路にハマりますね。この他にもいろいろ試して遠回りしました。時間もアイディアもなくなり、決心してRaycastを使いました。大会に間に合うには運も必要でしたね。
僕のコードルールを紹介します。
メンバ変数とローカル変数で先頭の文字を使い分けます。パッと見てわかるのが大事です。変数や関数の名前はどうしても開発中に変えたくなるので、あまり悩まないようにしています。
Unityではインスペクタが最高に便利です。秒間数十回も値が変わる変数も動いているのが見えます。そのためにはpublicとSerializeです。
この画像はステージの配置用データリストです。ファイルを使うほうがスマートですが、まずはインスペクタを利用するのが一番だと思います。
ゲームは型の種類が多いので、覚えるためや見やすさのためにも僕は型を書くようにしています。
Visual Studioのおかげでスペルミスは少ないのですが、計算順や比較演算子のミスはとりあえず動くので、見落としがちです。ですが、絡み合うと解決が難しいですね。簡単な間違いこそ見つけにくく、また、見つけるとへこみます。
VSは強力でも画面上では見つけにくい場合は紙にプリントして確認しました。
難しい関数などは、あまり間違えません。使い方の勘違いはありますが、パターンがだいたい決まっていて使いながらわかってくるので大丈夫です。
慣れてくると少し難しい処理や一気にたくさんのコードを書きたくなります。失敗しやすいので細かくエラーチェックをすべきですが、一発でうまくいくと快感です。
でも、勢いで書いたコードは全部書き直しになることも少なくありません。「恋は盲目」とシェイクスピアはそう言っています。僕のプログラムはそんな感じです。アプリ開発は超楽しいです!
ご清聴ありがとうございました!
(会場拍手)
2025.03.17
不確実な時代だからこそ「知らないこと」を武器にする ハーバード主席卒業生の逆説的なメッセージ
2025.03.17
いくら読書をしても「成長しない人」が見落としていること 10分でできる「正しい学び方」
2025.03.17
ソフトバンクとOpenAIにとって「歴史的な日」になった 孫正義氏が語る、AI革命の全ぼう
2025.03.19
部下の「タスクの先延ばし」が少ない上司の特徴とは? 研究が示す、先延ばし行動を減らすリーダーの条件
2025.03.21
マネージャーの「自分でやったほうが早い」という行動で失うもの 効率・スピード重視の職場に足りていない考え方
2025.03.18
フェデラー氏が語る「努力しない成功は神話」という真実 ダートマス卒業生に贈る勝利の秘訣
2025.03.18
全知全能の最先端AI「Cristal」が企業の大脳となる ソフトバンク孫正義氏が語る、現代における「超知性」の可能性
2025.03.19
フェデラー氏が語る「ただの1ポイント」の哲学 ウィンブルドン敗北から学んだ失敗からの立ち直り方
2025.03.18
部下に「そうかなぁ?」と思われない1on1の問いかけ エンゲージメントを高めるマネジメントに欠かせない「聴く」技術
2025.03.19
OpenAIのAIエージェント「Deep research」はビジネスをどう変革するのか? サム・アルトマン氏ら4人がデモンストレーション
【手放すTALK LIVE#046】 出版記念イベント 『大きなシステムと小さなファンタジー』 一つ一つのいのちが大切にされる社会へ
2025.02.03 - 2025.02.03
「聴く」から始まる組織変革 〜篠田真貴子さんと考える対話型マネジメント〜
2025.02.14 - 2025.02.14
「目の前の利益を優先する」心理とは:ビジネスに活かせる意思決定の科学
2025.02.12 - 2025.02.12
新刊『組織をダメにするのは誰か?職場の問題解決入門』出版記念セミナー
2025.02.04 - 2025.02.04
会社の体質、これまでどおりで大丈夫? 職場に新たな風を吹き込むための「ネガティブ・ケイパビリティ」入門
2025.02.10 - 2025.02.10