Unityを使ってお題に沿ったゲームを一週間で制作する「Unity1WeekGameJam」に参加しました!!
期間は2017-05-22 〜 2017-05-28までの一週間でした。
今回の開催で第2回になるイベントでしたが、多数の応募作品がありました。
第一回はツイッター上で話題になっていたので今回は私も参加しましたー!
今回の作品!
今回参加させていただき完成した作品はこちらからプレイできます!
私の作品以外もっとクオリティの高いものがたくさんあるのでそちらも是非プレイしてください!
Roling NO moss
石を転がしてスコアを競うゲームです 石のスピードが遅かったり苔のエリアに入って石が苔にむされたらゲームオーバーです。 マウスのと石との距離に応じて石の転がるスピードが変化します。 かなり荒削りとなっていますのでこれからも少しずつ更新していきます。
今回の題材!
今回のお題の「転がる」を見たときに私はことわざ「A rolling stone gathers no moss.」(転がるいわに苔むさず)が頭に浮かんだのでこの題材にしてみよーうということで
早速ゲームの内容を考えます。
ことわざにあるように
・転がらない→苔がむす
これをゲームシステムに採用します。
「苔にむされたらゲームオーバー!」
私ごとですが最近苔を育て始めました。
品種は…忘れました…
机の上で元気に育ってます。
何から始めるか
題材も決まったところで早速作っていきましょう
初期のイメージ案はこんな感じです(ひどいクオリティですね)
画面はこんなかんじで、いわゆるランゲーですね
ミスをしないように長く走り続けるゲームです。
石の速度が一定以下
苔のエリアに入る
↓
どちらかの条件が満たされると石が苔に侵食されていきます(笑)
操作方法
操作方法を右矢印を押したら回転という感じにもしようかと思ったのですが、ちょっと変わった手法を取ろうと思ったので マウスと石の距離を測ってそれを石に加える力してあります。
最初は座標を取って計算〜という処理がめんどくさいかなあと思ったのですが、ありました、「二つのオブジェクトの距離をとる」関数。
まずマウスを座標をマウス位置座標をスクリーン座標からワールド座標に変換してから二つのオブジェクトをとる関数に放り込んで実装。
下のコードで二つのオブジェクトの距離をdisに代入します。
void calc_distance(){//マウスの距離 Vector3 Apos = distance.transform.position; //Aposiに石の座標を代入 Vector3 Bpos = screenToWorldPointPosition; //Bposiにマウスのワールド座標を代入 dis = Vector3.Distance(Apos,Bpos)*0.3f; //AposとBposの距離をdis代入 }
そのままの値だとdisがかなり大きくなったので0.3をかけてあります。
ちなみにマウスをワールド座標に変換するには以下のスクリプトを使用しました。
void mause_posi(){ position = Input.mousePosition;// マウス位置座標をスクリーン座標からワールド座標に変換する position.z = 10f;// Z軸修正 screenToWorldPointPosition = Camera.main.ScreenToWorldPoint(position);//screenToWorldPointPositionに代入 }
こちらのサイトを参考にさせていただきました。
ありがとうございます。
Unityで2つのオブジェクトの間の距離を取る : ブリブサー開発戦線 〜僕らはあの戦いを忘れない〜
ゲームクリエイターのkinaです。今日はUnityのオブジェクト同士の距離の取り方を書きます。
【Unity】マウスの座標とGameObjectの座標を同期するスクリプト。
【Unity】マウスの座標とGameObjectの座標を同期するスクリプト。
今回の実装ではここがもっとも悩んだところですねー
あとで考えれば簡単でしたが今回はいい勉強になりました。
あとはステージを無限生成するスクリプトを記述してほとんど完成です。
ちなみに今のゲームではステージのパターンは二種類しか出てきません…
最後に
今回参加させていただきとてもいい経験になりました。
次回も開催されるのであれば是非参加したいですね!
他の方々の作品も見れてとてもいい勉強になりました!
初心者の方は自分のゲームをアップロードするのはちょっと…という方も多くいらっしゃると思いますが、私のゲームクオリティをみていただければわかるようにいろんなレベルの人たちが作っているので自分の作品に自信を持ってどんどん投稿していきましょう!
人に作ったものを見ていただくという機会はなかなかないのでこのような機会を作っていただけたUnityroomさんに感謝です!
みんなの進捗をツイッターで見ているだけでもとっても面白いですよ!
ちなみに私のゲームはまだ更新を続けて行く予定ですー
また更新したらブログでお知らせしますのでよろしくおねがします。
後々はスマホの方でリリースできればいいですが…
それではみなさん良いハッキングライフを〜
[…] 前回に引き続き今回も参加しました「Unity1weekGameJam」! […]