マガジンのカバー画像

【Unity】ダンスするゲームを作りたい

50
ダンスやってる系駆け出しエンジニアの私が、 ダンスした感を味わえるスマホダンスゲーを目指して開発に挑む葛藤の記録です。
運営しているクリエイター

記事一覧

ダンスゲーを作りたい#49 【内部処理】プレイ関連データのやり取り

ダンスゲーを作りたい#49 【内部処理】プレイ関連データのやり取り

今回はマジで山です。きっといつになく長くなるのでさっさと本題に入るのが一般的でしょうが、逆にどうせ長いなら考えたこと全部書いちゃおう方式でいきますので余計長いことでしょう。

ローカル保存するデータ管理が滅茶苦茶だった件まず、今までなんとなく一時選択データはDataManagerにキャッシュ的に保存させて運用できちゃってたんですが、選択済みのキャラデータを表示する際は選択処理なしで表示処理がやって

もっとみる
ダンスゲーを作りたい#48 【内部処理】ギフト配信、受信、使用

ダンスゲーを作りたい#48 【内部処理】ギフト配信、受信、使用

さて、前回のガチャに続き、データをちゃんとするシリーズ第二回の今回はギフトデータを受け取る一連の流れをやっていきます。

前回はほんとにデータだけだったんでよかったですが、今回はデータ+処理の分岐によるデータ指定がある程度必要です。

受信ギフトはある程度配信方式に違いがあるため、配信モードを置いておいて処理で分岐させる部分を設けます。現状の分岐は以下の通り

・デイリーギフト:次回受け取り可能期

もっとみる
ダンスゲーを作りたい#47 【内部処理】ガチャを引く(サーバ側のデータ絡み)

ダンスゲーを作りたい#47 【内部処理】ガチャを引く(サーバ側のデータ絡み)

さて、前回まででデータさえ整えばガチャが引けて、キャラを使ってプレイが出来るところまで作成しました。

今回からはサーバ側の処理を頑張ってもらって、DBに準拠したデータを返してくれるようにしていきます。

今回はガチャを引く一連のシナリオに必要な情報を洗い出しつつ、テーブルを作成していきます。

ガチャを引くガチャを引く際は以下の感じでデータが欲しそうです。

厳密には演出の対応付けをするテーブル

もっとみる
ダンスゲーを作りたい#46 【試作】ビルド画面(+データ構造の見直し)

ダンスゲーを作りたい#46 【試作】ビルド画面(+データ構造の見直し)

データ構造を見直したいわけです。

主にリスト。

データ構造一覧形式で保存するデータを、List型に保存していました。

例えば所持キャラ一覧情報は、キャラ情報をListとして持っていました。

[ { ID:"000001", Name:"キャラ名", Lv:100, Awake:2 }, { ID:"00

もっとみる
ダンスゲーを作りたい#45 【試作】ガチャフロー

ダンスゲーを作りたい#45 【試作】ガチャフロー

ガチャの演出がマジで思いつかないんですが、

今考えてるのはモニタ付いてる世界大会みたいなフロアにサークル作って、モニタで一覧演出、個別はサークルから飛び出してくるみたいなやつか、

もう少し路上よりにするか、はたまた全然関係ないのもありかと思ったり、というわけで全然決まらないので演出の内容はスキップします。

演出をスキップしたということは全く持って面白みはないわけで、

さらに言うと書くことも

もっとみる
ダンスゲーを作りたい#44 【試行錯誤】ガチャのフローと演出の流れ

ダンスゲーを作りたい#44 【試行錯誤】ガチャのフローと演出の流れ

ガチャはデータと演出がきっぱり分かれる処理で、大抵の人が知っている通り、引くボタンを押したら排出データが確定し、演出はデータフローとは無関係です。

そういう構造を実現するサーバとの受け渡しフローを大体こんな感じだろで作り始めて後悔したので一旦整理します。

処理フローとサーバサイド処理まずフローを一旦書き出します。

こんな感じ?
特にデータが特殊でわけわからんのがデータ確定処理部分です。

もっとみる
ダンスゲーを作りたい#44 【標準化】キャラクターアイコンのテンプレート

ダンスゲーを作りたい#44 【標準化】キャラクターアイコンのテンプレート

前回まででプレイが出来るようになりました。

設定画面の時とかにちらほら必要に迫られるも放置していたCharacterアイコンとか、Character一覧とか、その辺を標準化していきます。

キャラクターアイコンのテンプレート機能としては、

・IDセットでアイコン画像自動取得、表示
・単押しで選択し、キャラIDをネクストアクションに渡す
・長押しで詳細表示
・Newとかみたいな要素はKey指定で

もっとみる
ダンスゲーを作りたい#43 リザルト画面 @プレイフェーズ

ダンスゲーを作りたい#43 リザルト画面 @プレイフェーズ

なんかここ数回突発で気付いて変更って感じだったのでプレイシステムの基盤シリーズの書き方無視してましたが、前回までで

・スコアマネージャーを立ち上げスコアを計測する

が達成されたイメージになります。実際には入力情報を蓄積してあるだけですが、スコアの算出ロジックは後で別途考えましょう。

さらに言うと

・終了したことを検知して画面になんか表示

部分はプレイマネージャーの機能の一部として実装済み

もっとみる
ダンスゲーを作りたい#42 【試作】プレイシステムの基盤その4(CPUってどうやって作る?)

ダンスゲーを作りたい#42 【試作】プレイシステムの基盤その4(CPUってどうやって作る?)

さて、目下最大レベルの鬼門、CPUの作成です。

各種ゲームのCPUって正直一番すげぇんじゃないかって思ってます。

中身まで考えてたら進んだ実感が消えてモチベーション持ってかれるので、ガワだけ進めていきます。

方式の想定最終何があったら嬉しいかに重点を置くと、現在の時間を与えたら入力するかしないか込みで何を入力するかを返ししてくれる子がいたらうれしいなってなります。

それをベースに構成を考え

もっとみる
ダンスゲーを作りたい#41 【試作】プレイシステムの基盤その3(タイマーとスコアとプレイフロー変更)

ダンスゲーを作りたい#41 【試作】プレイシステムの基盤その3(タイマーとスコアとプレイフロー変更)

前回までで「わー踊ってるー」まではいけましたが、重大な問題に気づきました。

ダンスバトルで一曲丸々踊れるのはジャッジムーブくらいでダンスバトルには制限時間があります。

そして開始したらいきなり踊り出すわけではありません。

先攻後攻は自由に取り合って、曲の好きなタイミングでスタートし、好きなタイミングで終了して終了したらそれを合図に次が踊るのです。

よって、ただ曲を流しても踊れないわけです。

もっとみる
ダンスゲーを作りたい#40 【試作】プレイシステムの基盤その2(曲の再生管理とアニメーションの同期)

ダンスゲーを作りたい#40 【試作】プレイシステムの基盤その2(曲の再生管理とアニメーションの同期)

前回なんかものすごく進んだので今回はしょぼく感じますが、今回は曲関係を片付けていこうと思います。

やることとしては

・移動が完了しプレイ開始の段階でAudioManager経由で曲を流す

に相当しますが、実際はゲーム内全体の音系をすべて管理する大枠を作りましょう。

AudioManager
まずこれは独自実装な点に注意してください。今までのマネージャーもそうですが、実態は単なるスクリプトで

もっとみる
ダンスゲーを作りたい#39 【試作】プレイシステムの基盤その1(アニメーションとtweenの移動の共存)

ダンスゲーを作りたい#39 【試作】プレイシステムの基盤その1(アニメーションとtweenの移動の共存)

前回ある程度なに作ればいいかまとめたので今回は以下を作ります。

・Loadしたオブジェクトを初期位置に配置するスクリプトを書く
・DJモデルのアニメーションを叩いて動かす
・カメラを取得し、tweenで適正位置に動かす
・ボタンでキャラのアニメーションのトリガを叩き設定済みの技で動く

Loadしたオブジェクトを初期位置に配置するスクリプトを書く
オブジェクトは最終的にはサーバから配信する形式が

もっとみる
ダンスゲーを作りたい#38 【試行錯誤】プレイフェーズの具体的な実装

ダンスゲーを作りたい#38 【試行錯誤】プレイフェーズの具体的な実装

プレイ画面の実際プレイする部分はある程度考えてますが、前後のエフェクトの部分の仕様や、外部からの読み込み処理の仕組みについては何も考えてないわけで、そこを考えてどんなコードを書いたらいいかの試行錯誤する覚書です。

ちなみに流れは過去記事のものをベースで、実際のダンスバトルを参考にします。

まず始めるにあたって欲しいものとかまずプレイ開始時は3Dモデルとかを準備して、適正な初期配置にします。

もっとみる
ダンスゲーを作りたい#37 【画面】プレイセットアップ画面@プレイフェーズ

ダンスゲーを作りたい#37 【画面】プレイセットアップ画面@プレイフェーズ

いよいよ新規画面に入っていきたいと思うのですが、画像系と連携ポップアップは未設定で要素置いただけなので味気ない感じも?

まぁいいでしょう。

画面遷移フロー

基本的に共通にしたいskill選択とキャラ選択のポップアップが表示されるだけです。

裏方の処理が頑張ってくれるイメージですが、単なる選択画面なのでそんなに機能はありません。

ってか全画面そうなのでもうフローいらんくね?とか思ったり?

もっとみる