投稿

ラベル(ぴぺっと制作記録)が付いた投稿を表示しています

おすすめ!自作ゲーム!

【サマーセール参戦】夏休みは『バイサバ』を遊び尽くせ!今だけ驚異の【50%OFF】で爆速サバライフを始めよう!

イメージ
ついに待ちに待った夏休みが到来! まとまった休みのお供に、熱中できるゲームを探していませんか? そんなあなたに超ビッグニュースです! 手軽なのに奥が深い、中毒者続出中の超爽快防衛アクション『バイサバ』が、なんとサマーセールに電撃参戦! 過去最大級のお得なチャンスを見逃すな! 🔥 衝撃の「50%OFF」!今が一番始めどき! 今回のサマーセール期間中、『バイサバ』は驚愕の【50%OFF(半額)】でお買い求めいただけます! ワンコイン感覚でポチれるこの価格は、まさに破格。 「気になっていたけど、まだ触れていなかった」「友達に勧められて迷っていた」という方は、 ぶっちゃけ今買わない理由がありません! 🎮 そもそも『バイサバ』ってどんなゲーム? 「安くなってるのは分かったけど、どんなゲームなの?」という方のために、本作の魅力を3つのポイントでサクッとご紹介します! 操作は超カンタン「左右移動」だけ! 基本の攻撃はすべてオート(自動)。ゲーム初心者でも、キーボードを左右に動かすだけで、バシバシ敵を倒せる圧倒的お手軽さ! 右クリック長押しの「チャージ攻撃」が爽快すぎる! ここぞという時に放つチャージ攻撃は、威力も範囲もHit数もすべてが「倍!バイ!Bye!」。画面を埋め尽くすスライムや邪魔な岩を一瞬で吹き飛ばす快感は、一度味わうと病みつきです! 奥深い「ビルド構築」と「サポート必殺技」! ただ火力を上げるだけでは通用しない特殊なステージも多数存在。様々なアイテムを組み合わせた自分だけの「ビルド」と、キャラごとの「超強力な必殺技」で難関を突破する戦略性もバツグンです! ☀️ 夏休みは『バイサバ』で「時間泥棒」されちゃおう! 手軽に5分だけ遊ぶも良し、コイン稼ぎステージを周回してガッツリ金策に励むも良し。気づけば「え、もうこんな時間!?」となること間違いなしの、最強の“時間泥棒”ゲームです。 クリスタルをお弁当で癒やしながら、お空の彼方に吹っ飛ぶ(ゲームオーバー)恐怖のボスを撃破し、この夏一番の爽快感を体験してみませんか? 📝 セール情報まとめ セール内容: 『バイサバ』本体が 50%OFF(半額) 開催期間: [~9月14日まで] ぜひこのお得な機会に『バイサバ』を手に入れて、最高の夏休みにしてくださいね!ステージでお待ちしています! Bye!Bye!Survivo...

【Unity】タスクをこなします。タスクが増えました!【ぴぺっと制作記録13】

イメージ
昨日、全体の見通しを立てたはずなのに、 今日のタスクを見ると、 作業工程が増えた …? 今日のタスクはなぜか昨日の 見通しの範囲外 。 完成に近づくたびに作業が増えるの がゲーム作成の 醍醐味 ですね! ■ 今日のタスク ・ ギミック   ・ 風を調節できるプログラム   ・ ふみとらのギミック ・ 残りのストックの数でスコアプラス ・ クリア時のUIエフェクト ・ 壁で跳ね返るときのSE なぜかギミックを増やそうとしています。 でも、必要なので、必要なんです!( ;∀;) …頑張って作っても 使わない ことも珍しくないですけどね!

【Unity】私の工数多すぎ!?【ぴぺっと制作記録12】

イメージ
今年がもうすぐ終わる!? 今年中にゲームが完成する 予定 です。 …が、 怪しくなってきたので、 全体の見通しを立てておくべき! ということで、 残りの作業を明確にして、完成日の目安をつけようと思います。 ■ 今日のタスク ・ 全体の見通し   ・ 残りの工程をなるべく詳しく ・ ステージを5個くらい ・ クリアやフレンド土管のアニメ ・ 修正   ・ 土管に入れる位置   ・ ストックが減る数 少し寝不足なので、今日は軽めの作業です。 ■ 残りのタスクをひねり出す  ・ UI    ・ タイトル      ・ セレクトへ移動    ・ セレクト画面      ・ ステージ選択ボタン      ・ 収集要素の状態がわかるように      ・ 動画広告を見るとバフを得られるように      ・ ゲーム画面へ移動    ・ オプション画面      ・ タイトルへ戻る    ・ リザルト画面      ・ チェックを表示するときのエフェクト      ・ リトライ時の初期化処理      ・ クリア時、次のステージへ      ・ セレクト画面に戻る    ・ メインゲーム画面  ・ 遊び方    ・ タップして、ドラッグして、離して、発射!  ・ ギミック    ・ 流水    ・ 水中    ・ 水たまり    ・ オイル    ・ シーソー    ・  風  ・ ステージ    ・ ステージごとの初期化処理    ・ ゲームのステータス管理    ・ 通常ステージ 24    ・ ボス      1    ・ おまけ    15      ・ 収集要素をコンプリートしないと次のステージが出てこない  ・ キャラ    ・ アニメーションで表情を豊かに  ・ モンスター    ・ バランス調整  ・ ボス    ・ ボス戦    ・ ボスの動き    ・ ボスのアニメ    ・ ボスの登場アニメ    ・ ボスの撃破アニメ  ・ OP    ・ オープニングのアニメ  ・ ED    ・ エンディングのアニメ  ・ BGM、SE    ・ まったく進んでいない  ・ クレジット表記 ...

【Unity】タスクは細かく、考えてからにしよう【ぴぺっと制作記録11】

イメージ
昨日はタスクを達成! しかし、 時間が思っていた以上にかかってしまいました。 その所為か、 何をしなくちゃいけないのか 迷子 の状態に。 ゲーム制作は進みましたが、 次につながらず。。。 ちゃんと 次の作業も視野に入れて 、 それを 考える時間 もタスクに入れておくべきでした(;^_^A ということで! 今日のタスクにはゲームの作業だけでなく、 考える時間もタスクに入れ、 より生産的に作業に取り組めるようにしたいです。 今日のタスク ■ 今日はこんな感じ   ・ リザルトUIを表示     ・ スコア     ・ 収集要素のチェックシステム   ・ ギミック     ・ ベルトコンベアの使い道     ・ 回転バー     ・ ちゃっかガン 一言でいえば、UIとギミックを中心に作業・ 数は少なめですが、プログラムが厄介そうな部分なので、 時間がかかりそう😟 仕様をまとめておこう この段階である程度の仕様をまとめて 作業効率を上げようとする作戦です👍 ・ ベルトコンベア 作ろうとしたし、意外と簡単。 Unity標準の AreaEffector2D あたりを使えば大丈夫そう。 …でも、どこで使う? キャラは飛び跳ねるので、 乗っていないときに使ってもしょうがない ・ 回転バー 回転するバー 。くるくる回ります。 アクションゲームではよく見るやつです。 当たり判定を入れて、回転させればOKだ! これは簡単。すぐに完成! ・ ちゃっかガン モンスター? そういうキャラです。 銃の形で、 炎 を出して邪魔してくる。 炎は上へと飛んでいく のも面白そう! ・ リザルトUI 表示は苦も無く DOTween でいいはず。 スコアもそのまま放り込め! ・  収集要素のチェックシステム これが大変そう。。。 すべてのステージで条件は同じ つきちゃんコインの獲得 時間内にクリア! クリア時に、Excellentクリア 時間はステージごとに設定なので、注意。 あれ? 意外と簡単かな? まとめ ...

【Unity】ギミックだ!ギミックを増やそう!【ぴぺっと制作記録10】

イメージ
仕様が毎日変わるデスマーチから、 抜け出せそうな大和です。 昨日のタスクは、 だいたいクリアすることができました。 昨日の作業↓   ■ 変更された仕様   ✔ 土管で跳ね返る     ✔ 跳ね返れる回数は7回まで   ✔ モンスターをとにかく回避   ✔ ゴールの土管に入るとクリア!     ✔ 中心に近ければ、スコアがアップ! 見直していただけなので、 意外と楽にこなすことができました。  今回のタスク  ■ 目下のタスク   ・ 新しいギミック     ・ 勢いに応じて壊せるブロックを     ・ すり抜け床、移動床、落下床     ・ ボール     ・ 爆弾     ・ パラシュート     ・ ボクシングのグローブっぽいやつ     ・ げこレーザー(かえるのレーザーの敵) 今日はギミックの追加をして、 ステージのバリエーションを増やそうと思います。 おまけ 最近、今日やるべきことをブログでまとめると 作業をちゃんとこなすことができるので書いています あまり面白くない記事で申し訳ありませんm(__)m プログラムを公開する予定でしたが、 仕様変更で何度も書き換えています。 ゲームが完成してから、 プログラムの記事を書いていこうと思ってます👍

【Unity】とりあえず、これで【ぴぺっと制作記録9】

イメージ
ゲームの仕様に悩み、丸一日使って考えていた結果、 とりあえずの妥協案をまとめました。  ↑こんな感じ ■ 変更された仕様   ・ 土管で跳ね返る     ・ 跳ね返れる回数は7回まで   ・ モンスターをとにかく回避   ・ ゴールの土管に入るとクリア!     ・ 中心に近ければ、スコアがアップ! ■ 決定したゲームの仕様   ・ ゴールまでの軌道を予測し、   ・ 土管から飛び出す向きとパワーを決定   ・ モンスターや障害物を回避   ・ ゴールにスポッと収まる こんな感じのゲームにしようかなと。 ちなみに、昨日ブログで書いておいた作業の予定が↓ ■ ゲームの仕様の見直し   ・ 回転する土管で飛び出す     ・ 土管のデザインは専用の丸いやつ   ・ モンスターをすべて倒すゲームに     ・ 飛び出したキャラとぶつかると倒せる   ・ 1画面で完結     ・ スクロールしない     ・ おまけのギミックとしてならあり 内容がめっちゃ変わってる(;^_^A 予定はやっぱり未定ですね。

【Unity】悩み中…【ぴぺっと制作記録8】

イメージ
ゲームの仕様に悩んでます。   いろいろと悩んだ結果、時間がかかりすぎた(;^_^A なので、下の仕様で挑戦してみようかなと。。。 ■ ゲームの仕様の見直し   ・ 回転する土管で飛び出す     ・ 土管のデザインは専用の丸いやつ   ・ モンスターをすべて倒すゲームに     ・ 飛び出したキャラとぶつかると倒せる   ・ 1画面で完結     ・ スクロールしない     ・ おまけのギミックとしてならあり …な感じに仕様を変更してみようと思います。 作業を明確にしたいので、 これからはブログにまとめてからゲーム制作をしていこうと思います。

【Unity】アイテムを作ってみた!【ぴぺっと制作記録4】

イメージ
アイテムはほぼ固定のゲームばかり作っている大和です。 というか、このやり方以外を知りません! 開き直って👍 ずっとこの方法でやってました このやり方が正しいのかはわかりませんが、 ずっと創業からのこの方法でやってきました。 考え方は、 アイテムを識別する番号を設定 上に応じた画像を変更 プレイヤーがアイテムを取得した時、 番号でアイテムを識別 それに応じたイベントを! と、いう流れです。 // 実際のプログラム プログラムはこちら↓ using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; public class Item : MonoBehaviour { // 0 コイン 1 あおあめ 2 あかあめ 3 ゴールドあめ 4 はーとすたー 5 つきちゃんコイン public int itemNum = 0; [SerializeField] private Sprite[] itemTex = default; // 切り替えるアイテムの画像 private SpriteRenderer sprite = default; private Sequence sequence; // Start is called before the first frame update void Start() { sprite = GetComponent<SpriteRenderer>(); // アイテムの番号に応じて画像を切り替える sprite.sprite = itemTex[itemNum]; } /// <summary> /// アイテムの削除 /// プレイヤーから送られてくる /// </summary> public void ItemDes() { sequence.Kill(); GetComponent<BoxCollider2D>().enabled = false; // 削除する --- 一度大きくしたからサイズを0...

【Unity】AddForceを使った予測軌道【ピペット制作記録3】

イメージ
作成中のゲーム「ぴぺっと」では ジャンプするときの軌道が大事になります。 これを直観のみで行うと、 何度もミスして嫌気がさします(体験談) ジャンプの弾道を予測軌道を表示したかった! もう最初から軌跡を表示しよう! なので、 軌跡を先に表示し、 タイミングを見計らって、 ジャンプ! という仕様にしました。 ※ 目標画像 次の土管に狙いを定めとジャンプします。 ※ 実際の画像 かなりいい感じにできましたー(/・ω・)/ // 疑似コード 「鉛直投げ上げの公式」を使えばOK! これです↓ y = v 0 t − 1 2 g t 2 …いえ、ぶっちゃけよくわからなかったので、 サイト巡りをしたら見つけました。 →  【Unity勇者の奮闘記】Unityで物理の勉強3(弾道予測線を作成する) まさにこれでOKでした。 こういうプログラムを思いつかないのが、 初心者にはつらい( ;∀;) // 実際のプログラム 私の場合は2Dにしたかったので、 Rigidbody2Dに変更しました。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class DrawLine : MonoBehaviour { // 弾道を表示するための点のプレハブ [SerializeField] private GameObject dummyObjPref = default; // 弾道を表示する点の親オブジェクト [SerializeField] private Transform dummyObjParent = default; // 初速のベクトル [SerializeField] private Vector3 v0 = default; // 弾道予測の点の数 [SerializeField] private int dummyCount = 10; // 弾道を表示する間隔の秒数 [SerializeField] private float secInterval = 0.2f; ...

【Unity】Addforce2Dでジャンプアクション!【ぴぺっと制作記録2】

イメージ
キャラクターの基本動作とUIを作成しています。 今回の作業の内容は以下の通りです。  キャラクターを飛ばす  キャラクターのジャンプ力を調整できるように  キャラクターのパワーUIを表示 ジャンプして進んでいくゲームなので、必須の項目。 さらに、ジャンプ力を調整する仕様。 それをUIで分かりやすく表示することを考えています。 // 頭の中のイメージ こんな感じに // 実際に動かしてみたとき ジャンプしたらUIを非表示にするのを忘れてました(;^_^A 後で追加しておきます。 でも、キャラの右側にUIを表示するのもできています。 もちろん、ゲージの量に応じてジャンプ力は変わります。 // 疑似コード プログラムで書くときにできるだけ、 頭の中のイメージを文字でまとめておきます。 キャラを飛ばすプログラム マウスをクリック キャラに力を加えて移動させる ↑の時に重力を忘れずに 飛んでいく ジャンプ力の調整 変数を作って、 Mathf.PingPongを使えばOK ジャンプ力のゲージUI ゲージの画像を取得 fillAmountに値を入れる ゲージの位置をプレイヤーの横に プレイヤーの位置を取得 ワールド座標をスクリーン座標に変換 ゲージオブジェクトに位置を設定 // 実際のプログラム プログラムはこちらになります。 プレイヤーのプログラムとUIの2つがあります。 プレイヤーのプログラム using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { private UI ui = default; private Rigidbody2D rigidbody2d = default; // これがないと private float jumpPower = 1; // ジャンプのパワー private float power = 10; // 全体のパワー private float u...

【Unity】タイマー作り【ぴぺっと制作記録1】

イメージ
まずは簡単なところから作ろう! ということで、タイマーを設置します。   このゲームは時間内にクリアすることが目的です。 そこまで時間に追われる感は出さず、 じっくり考えてクリアできるようにしたい。 なので、制限時間は長め。 とりあえず、99秒以内にクリアすることを目的にします。 作ってみたタイマー  「Time.deltaTime」を使います。   最後のフレームからの経過時間[ms]が格納されています。 つまり前回のUpdate()からの経過時間がとれます。 というもので、Unityではよく使うものだと思います。 完成するとこんな感じに↓ 流れはこんな感じに 頭の中の映像をまずは文字にしてみます。 経過時間用の変数を作り 表示するタイマー用の変数を作り void Update() の中で変数にTime.deltaTimeの値を加える もしも、1より大きくなったら タイマーを1減らして 経過時間用の変数を初期化! で、問題ないんじゃないかなと。 実際のプログラムはこんな感じに 書いてみたプログラムはこうなりました↓ using System.Collections; using System.Collections.Generic; using UnityEngine; public class GM : MonoBehaviour { private UI ui = default; // UIを更新するために private float timeCount = 0; // 経過時間用 private int time = 99; // 表示する時間 // Start is called before the first frame update void Start() { // 取得しておく ui = GetComponent<UI>(); } // Update is called once per frame void Update() { // --- UIの更新 ----- // タイマーの更新 ui.Timer(time); // -...