2021年6月13日日曜日

Androidゲームアプリ「ホッピング忍者さん」を公開しました

Android用ゲームアプリ「ホッピング忍者さん」を公開しました。

enter image description here

リンクです。
https://play.google.com/store/apps/details?id=dev.hoppoco.hoppingninja
Google Play で手に入れよう

どんなゲームか

激ムズ登山ゲーです。ホッピングでぴょんぴょん跳ねる忍者さんを操作して障害物を超えていきます。

タイトル画面

跳ねる方向は忍者さんの向きで決まるので、忍者さんを回転させて向きを調整するのですが、これがなかなか歯ごたえのある難易度です。

登山ゲーというと壺おじさんこと「Getting Over It with Bennett Foddy」のような、理不尽なやり直しが定番ですが、ホッピング忍者さんではこまめなチェックポイントがあります。難しい障害物を何度でもリトライして挑戦できる親切設計を目指しました。

中盤の山場

普通の初見プレイなら2~5時間程度でクリア出来るかと思います。アクションゲームが得意な人なら30分から1時間程度でクリアできるかもしれません。数回クリアしたら10分以内も目指せます。

UnityRoom版の開発時の記事は以前noteにも書いたので、ぜひそちらもどうぞ。

Unity 1週間ゲームジャム お題「回」 で高難易度アクションゲーム「ホッピング忍者さん」を作りました|ほっぽこ|note

実はテレビにも出ました

このホッピング忍者さんは、UnityRoomさん主催のイベントunity1weekで作成したゲームです。その中で多くの方に遊んでいただき、高い評価を頂きました。

そして、それがきっかけで、テレビ朝日「会心の1ゲー」というテレビ番組の「インディーズゲームに学ぼう」というコーナーで紹介していただきました。

後日、配信で見たときは、緊張で変な汗が出てたのですが、出演者の方々がとても楽しそうにプレイしているのを見て、嬉しさと感謝でいっぱいになりました。

というわけで、「自分の作ったゲームが地上波で放送される」という実績を達成した記念すべきゲームでもあります。

※日々素晴らしいゲームがリリースされたり、ワクワクする開発進捗が投稿されたりする中、ホッピング忍者さんがテレビで紹介されたのは、本当に運以外の何者でもないのですが、こんな幸運おそらく二度とないので、出来る限り便乗しておきたいのでここに書いておきます。

UnityRoom版との違い

Android版と、元になったUnityRoom版の大きな違いは以下です。

  1. 画面タッチの操作
    画面の左半分と右半分をタッチして操作出来るようにしました。
    両手で操作できるので、UnityRoom版でのカーソルキーよりは操作性は良いと思います。
  2. タイトルに戻るボタンを追加
    UnityRoom版を公開した当初は全く想定していなかったのですが、どうもタイムアタックをするガチ勢の方がいるみたいです。
    クリアタイムが3分を切るなど、人間離れしたやりこみ具合の方々です。
    そのようなレベルに達すると、理想の動きができなかった時点でスタート地点からやり直したいというケースがあるみたいで、
    そのケースに対応するため、タイトルに戻るボタンを追加しました。
    UnityRoom版開発時に、ゲームの場面遷移は変更しない想定だったので、この変更で少し手間がかかりました。
  3. 広告の追加
    タイトルに戻るボタンを押したときに確率で広告が表示されます。
    今後色々要素を追加できればと考えているので、ご容赦いただければ幸いです。

まとめ

ぜひぜひどうぞぉぉ!
かっこいいアングルのホッピング忍者さん
https://play.google.com/store/apps/details?id=dev.hoppoco.hoppingninja
Google Play で手に入れよう

2020年3月23日月曜日

Inkscapeにフォントを追加(「すべてのユーザーに対してインストール」がない人向け)

結論

フォントファイルを右クリックして「すべてのユーザーに対してインストール」を実行すれば良い。

もし、「すべてのユーザーに対してインストール」が存在しなければ、管理者権限でコマンドプロンプトを開き、フォントファイルをC:\Windows\Fonts にコピーする。

2020年3月6日金曜日

Unity room 1週間ゲームジャム 「逆」に参加しました

unityroom さんが定期的に開催している「1週間ゲームジャム」に初参加しました。

作った作品は以下です。ぜひ遊んで見てください。
https://unityroom.com/games/speed-reverse-quiz

1週間でゲームを完成させるのはハードでしたが、達成感は大きかったです。

記憶が残っているうちにやったこととかを残しておこうと思いこの記事を作成しました。

2017年1月28日土曜日

UnityのButtonのOnClickに列挙型の引数を与える

調べた際のメモです。

概要

Unityでは、特定の契機で実行する関数をインスペクタで指定することができます。
ButtonコンポーネントにおけるOnClickや、EventTriggerでの各種イベント等がそうです。

で、インスペクタから関数を指定する時に「引数にEnumを指定できたら良いのになぁ」と思い、調べてみました。

結論

ググったらUnityのフォーラムが見つかりました。
「Ability to add enum argument to button functions」に投稿された方法 で実現できました。
原理の理解は皆無ですので悪しからず。

方法

  1. 上記リンクの投稿にあるスクリプトをDL
  2. 「UnityEventDrawer.cs」をAssets/Editorフォルダに、「EnumActionAttribute.cs」をAssets配下の任意の場所に保存
  3. EnumActionAttribute.csに「using System;」と「using UnityEngine;」を追記
  4. Enumを用意
    今回はGameManagerにWeaponTypeというEnumを作成しました。
  5. Enumを引数とするメソッドを下記のような感じで用意

    [EnumAction(typeof(GameManager.WeaponType))]
    public void hoge(int type)
    {
        GameManager.WeaponType enumType = (GameManager.WeaponType)type;
        //なんかの処理
    }

引数はintで定義します。メソッド内でEnumに変換して利用します。Enumは内部ではint型なので、単純なキャストで変換できるそうです。

すると下記のようにButtonのOnClickで列挙型を指定できました。



こういうのをエディタ拡張って言うんですよね。凄いです。Unityの素の機能ですら理解が追い付かないのに。

2017年1月16日月曜日

Unityで画面全体でタッチ入力を受け取る

Unityでハマったとこのメモです。

概要


  • 画面のどこをタッチしても入力を受け取るようにしたい
  • uGUIの要素で隠れていると入力を受け取れないようにしたい


結論

下記のようにすればよい
  1. Canvasに、画面サイズのTextを作成して、文字列を空にする。
  2. 作成したTextに、EventTriggerコンポーネントを追加する。
こうすると、画面全体がタッチ可能にしつつ、かつ、他のuGUIの要素を重ねてタッチできなくすることも可能になります。

経緯

画面全体でタッチを検出したい時、下記のようにしてました。

  1. シーン上のGameObjectにスクリプトを追加
  2. Update内でInput.touchesからタッチを取得
これで、「画面をタッチすると攻撃する」ということを実現していました。

けど、これだと、例えば「メニューを表示しているときはタッチしても攻撃しない」ということを実現するのが若干面倒です。
Inputを直接使うと、画面に何が映っていようと関係なくタッチを検出してしまうためです。

そこで、「uGUIの要素は重なって隠れているとタッチできない」という仕組みを利用したいと考えたわけです。

で、調べたところ下記のページに行き当たり、「結論」の方法を知りました。

補足

上記ページにもありますが、画面全体にタッチ検出できるImageを引き延ばして、アルファ値を0にして透明にする。という方法はダメです。「透明な色で画面全体を描画する」という処理が動きますので、パフォーマンスに悪いです。

上記ページでは他の方法も紹介されていますが、Unityのバージョン依存だったり、訳すの大変だったりしたので、ここで紹介はしません。興味があれば読んでみてください。

2017年1月9日月曜日

新アプリ「3D脱出ゲーム 古ぼけた小屋からの脱出」リリース

お久しぶりです。
約2年ぶりの投稿です。

Android用ゲームアプリをリリースしました。

3D脱出ゲーム 古ぼけた小屋からの脱出


リンクはこちら

脱出ゲームは定番ジャンルですが、3Dでキャラを動かす探索ゲームになっています。
10分もあればクリアできるかもしれません。



カメラ固定の探索ゲームはPS時代によくありましたね。


裏話的なもの

前の投稿から、色々ゲームを作っては諦め、作っては投げと、
だらだらやっていました。

長く時間がかかる趣味も大変だなー、と思っていたそんな時に、去年の後半から私のTwitterのタイムラインで「和尚本」や、「Unity一週間チャレンジ」といったワードがよく見られるようになりました。

「和尚本」とは「UnityではじめるC# 基礎編」のことです。監修の「いたのくまんぼう」という方の通称からそう呼ばれています。これを読んだら簡単にゲームが作れた!という声が続々上がっています。

「Unity一週間チャレンジ」はその名の通りUnityで一週間でゲームを作って、その経過を報告することです。元ネタは「game a week」というゲーム開発の訓練法のようですが、短期間でどんどん面白いアプリが公開される様子を見てると非常にモチベーションが上がってきます。

で、去年の終盤から「和尚本」を買ってUnityの勉強を始めてみたところ「Unityすげえ!」となり、一つゲームを作ってみようと思い立ったわけです。

作成の過程は記録していませんが、期間は2週間程度だと思います。まさかこんな短期間でできるとは思ってませんでした。一週間はいつかチャレンジしてみたいですね。

今回のゲームの作り方は主に「和尚本」をベースにしてます。3D部分はUnity標準アセットと、チュートリアルを参考に頑張りました。

久しぶりにゲームを完成まで持って行けたのは内心かなりうれしかったです。
今後ゲームを作っていくモチベーションにもなったと思います。

そんな裏話のあったこのゲーム、ぜひぜひ楽しんでください。

2015年3月12日木曜日

制作中のAndroid用アクションRPGゲーム



久しぶりの投稿です。

最近はAndEngine講座動画は放置気味でアクションゲームを作っています。
完成には程遠いですが、ひと段落ついたのでプレイ動画をアップしてみました。

今のところ動画に含まれているのはステージ選択と戦闘場面ですね。


ステージ選択画面です。動画にありますがスワイプで左右に場面を切り替えることができます。左右のアニメーションを滑らかにするのに苦労しました。
画像素材は仮のものです。

で、四角いボタンをタッチして戦闘場面に移行します。



戦闘場面では剣を持ったキャラクターを左右ボタンで操作して敵に突進させます。
主人公キャラクターは前方へ自動で加速するので、向きを変えると慣性でドリフトします。
この操作感がゲームの売りになればなぁ。と思っています。

時間経過で敵キャラが沸き、一定数の敵を撃破すればステージクリアになります。

ちなみに敵キャラは、移動、待機、攻撃などの行動を選択して動くようにしています。緑色のスライムは攻撃行動をとっていることを表しています。

敵キャラクターは動画ではスライムだけですが、他にも追加する予定です。

犬か猫かよくわからない生物(仮)等の素材も作っています。

ステージ追加やキャラの成長要素などのゲームの骨格はもちろん、グラフィックやサウンドなど、完成までに必要な要素はまだまだあります。完成度は5~10%程度です。

・・・完成するのか?