「独創アプリ開発日記」カテゴリーアーカイブ

デアゴ管理アプリ制作 第2弾 隣の田所さん 511日目

リリースするタイミングを完全に失った新作アプリ「隣の田所さん」制作第74週目の作業予定です。

512日目:レーザービーム砲実装 その1
513日目:レーザービーム砲実装 その2
514日目:ダミーカラーブロック作成
515日目:お隣さんとの境界色を赤にしてみる
516日目:移動しながらショップやバックを開くと移動が止まる対策
517日目:メニュー開きながらブロック設置/取得出来ない対策
518日目:予備日(次の週の予定を立てる)

先週はレーザービーム砲を立体化しました。

みすぼらしい16*16ドットの三面図から、何とか立体化しました。前方の障害物を感知する、なんかセンサーっぽい赤い光が常に点灯しています。

今週はレーザービーム砲の動作を実装していきます。レーザービーム砲の前に何かが通ったら即座にレーザーを発射する処理を行います。

見えない位置にうまくレーザーを設置して侵入者を撃退しましょう。

(σ´□`)σ・・・・…━━━━☆ズキューン!!

デアゴ管理アプリ制作 第2弾 隣の田所さん 504日目

ついに制作日数が500日を超えた新作アプリ「隣の田所さん」制作第73週目の作業予定です。

505日目:カラーブロック追加 その1
506日目:カラーブロック追加 その2
507日目:レーザービーム砲デザイン
508日目:レーザービーム砲テクスチャ作成 その1
509日目:レーザービーム砲テクスチャ作成 その2
510日目:レーザービーム砲立体化 その1
511日目:予備日(次の週の予定を立てる)

先週はお掃除ロボユニットのロジック可視化作業を完了させました。

ユニットをタップすると、その動作ロジックと現在どのロジックを実行しているかがリアルタイムで表示されます。

今週はロジックを自由に編集可能にする予定でしたが、その前に少しブロックやユニットの種類を増やす作業を行いたいと思います。

(⁎⁍̴̛ᴗ⁍̴̛⁎)

デアゴ管理アプリ制作 第2弾 隣の田所さん 497日目

今週、ついに制作日数が500日を超える新作アプリ「隣の田所さん」制作第72週目の作業予定です。

498日目:ロジック表示 斜め方向対応 その1
499日目:ロジック表示 斜め方向対応 その2
500日目:大砲のロジック動作対応 その1
501日目:大砲のロジック動作対応 その2
502日目:UIによるロジックの編集準備 その1
503日目:UIによるロジックの編集準備 その2
504日目:予備日(次の週の予定を立てる)

先週はお掃除ロボユニットのロジック表示を可能としました。こんな感じです。

赤色が何らかのアクションをし、青色は何らかの判断をするパネルです。矢印の方向は実行するパネルの順番を表しています。

Catamaと似たようなシステムです。Catamaとは違って、パネルの形を四角形にして分かりやすくしました。

上の画像は上下左右方向にしか矢印がありませんが、実際は斜め方向にも矢印を設定できます。今週は、先週出来なかった斜め方向の矢印表示と、お掃除ロボットにつづいて大砲についてもロジック動作対応を実施予定です。

大砲は移動できませんが、玉を発射するタイミングは制御可能にします。

ヾ(゚ー゚ゞ)

デアゴ管理アプリ制作 第2弾 隣の田所さん 490日目

どなたか存じ上げませんが、あけましておめでとうございます。今年もよろしくお願いいたします。

「隣の田所さん」制作第71週目の作業予定です。

491日目:ロジック編集モード切替 その1
492日目:ロジック編集モード切替 その2
493日目:ロジック編集ウィンドウ表示 その1
494日目:ロジック編集ウィンドウ表示 その2
495日目:ロジックの表示 その1
496日目:ロジックの表示 その2
497日目:予備日(次の週の予定を立てる)

新作アプリ「隣の田所さん」はとりあえず完成しました。WebGLベースで制作しているので、スマホでなくてもPCのブラウザで動作します。

このページに、デモ版的な位置付けで公開するかもしれませんし、しないかもしれません。

アプリをリリースしていないにもかかわらず、現在「隣の田所さん」はバージョンアップ作業中です。先週は大晦日にお正月と、ビックイベントがあったにもかかわらず御馳走を食べながら作業は順調に進みました。

お掃除ロボに50バイトのメモリ領域を確保し、そのメモリ内に直進/左旋回/右旋回/前方ブロック判定の命令をセットしました。またメモリの読み込み順番もメモリ内に書き込むようにしました。これらにより、お掃除ロボの動作ロジックをメモリのデータを元に簡単に変更可能になりました。

今週は、メモリ内のデータをお手軽に変更可能なUIの制作作業に取り掛かりたいと思います。

Catamaと似たような作業なので順調に進みそうです。

[* ・´ω`・]っ[あ][け][お][め][♪]

デアゴ管理アプリ制作 第2弾 隣の田所さん 483日目

リリースしてないけどバージョンアップすることが決定した新作アプリ「隣の田所さん」制作第70週目の作業予定です。

484日目:カメラ操作オプション その1
485日目:カメラ操作オプション その2
486日目:ユニットに記憶領域を その1
487日目:ユニットに記憶領域を その2
488日目:記憶領域によるユニット動作 その1
489日目:記憶領域によるユニット動作 その2
490日目:予備日(次の週の予定を立てる)

新作アプリ「隣の田所さん」は完成しました。WebGLベースで制作しているので、スマホでなくてもPCのブラウザで動作します。

このページに、デモ版的な位置付けで公開しようと思いましたが、PCの場合はキーボードでカメラ操作するので”リバース”のオプションを付けないと人によっては操作が困ることに気付きました。

そこで今週はまずカメラ操作オプションを実装し、その後バージョンアップ作業を続行しようと思います。

ちなみに先週は被侵入時にログ(侵入されました!)が表示されない不具合などが見つかったのでその修正と、このブログを動かしているサーバのPHPバージョンアップ作業などをしていたこともあり、先週予定していたユニットの記憶領域関連の作業は出来ませんでした。理由はあったのですが作業が予定通り実施できなかったことは事実です。

なので、罰として冬のボーナスはなしにしました。

え?意味がわからない・・・?

えーと・・・

アプリ制作で生計を立てたいこともあり、自分を厳しく律するために、予定通り作業が進まなかった罰として会社から支給されたボーナスは全て寄付しました。

( ´д)ヒソ(´д`)ヒソ(д` )
 

デアゴ管理アプリ制作 第2弾 隣の田所さん 476日目

リリースしてないけどバージョンアップすることが決定した新作アプリ「隣の田所さん」制作第69週目の作業予定です。

477日目:古いユーザーの土地を自動撤去 その1
478日目:古いユーザーの土地を自動撤去 その2
479日目:ユニットに記憶領域を その1
480日目:ユニットに記憶領域を その2
481日目:記憶領域によるユニット動作 その1
482日目:記憶領域によるユニット動作 その2
483日目:予備日(次の週の予定を立てる)

新作アプリ「隣の田所さん」は完成しました。すごく簡単にいうとマイクラのルールで土地の取り合いをするゲームです。PC、スマホ、タブレットなど複数端末からログインして1人でおもしろおかしく遊んでいました。

が、なんか飽きてきたのと、これだ!というアイデアが浮かんだのでバージョンアップしようと思います。

Catamaの「ロジックボード」の仕組みを取り入れて、お隣さんの土地に侵入してお金や土地を奪うために、もっと頭を使うようにしたいと思います。

というわけで今週は、主にお掃除ロボの動作を自分でカスタマイズするための準備をしたいと思います。

〃∩ ∧_∧
⊂⌒( ・ω・)
 ヽ_つ~つ
☆(二二二)
ガンッ

デアゴ管理アプリ制作 第2弾 隣の田所さん 469日目

もう1回完成したけどまだまだブラッシュアップする予定ですってそれって完成したって言えるの?って一人ツッコミしている新作アプリ「隣の田所さん」制作第68週目の作業予定です。

470日目:無駄なUIを削除
471日目:ログを見たい時に見れるように その1
472日目:ログを見たい時に見れるように その2
473日目:侵入ログが表示されない場合がある対策 その1
474日目:侵入ログが表示されない場合がある対策 その2
475日目:ログイン時、一瞬世界の中心地が見える対策
476日目:予備日(次の週の予定を立てる)

先週も順調に作業は進みました。今週で不具合らしい不具合は全て対策される予定です。

来週からは、アプリをリリースしていないのに新機能をどんどん追加してバージョンアップする予定です。

Catamaのロジックボードの仕組みを取り入れて時代に逆行する超お手軽ではないアプリに仕上げるつもりです。でもガチャは導入するつもりです。

 (´。`)

デアゴ管理アプリ制作 第2弾 隣の田所さん 462日目

制作したアプリをリリースした瞬間に、そのアプリに興味がなくなってしまうのでそこそこ完成しているけどリリースをあと1年くらいは引き延ばそうと思っている新作アプリ「隣の田所さん」制作第67週目の作業予定です。

463日目:勝利 or 敗北メッセージ の改良
464日目:被侵入ログメッセージ表示時に改行を調整
465日目:土地購入決定ボタンを赤色に
466日目:侵入時に相手ユーザー名をメッセージタイトルに表示
467日目:メッセージ内のフォントを調整
468日目:メッセージ表示の最終調整
469日目:予備日(次の週の予定を立てる)

今作のアプリはWebGLベースで、メッセージの表示にJSのalertやconfirmを使っています。

alertやconfirmだとあまりに質素で味気ないので、先週は、SweetAlert2というJSライブラリを導入してメッセージ表示を置き換えました。

敵の土地に侵入して703TD (TD=通貨単位) の強奪に成功したことを示すメッセージ

ちなみに、SweetAlert2でconfirmを記述するとこんな感じになりました。

async function mySweetConfirm(msg) {
    let result = await Swal.fire({
        text: msg,
        showCancelButton: true,
        allowOutsideClick: false
    }).then((result) => {
        return result.isConfirmed;
    });
    return result;
}

呼び出し元:

if (await mySweetConfirm("よろしいですか?")) {
    // 「OK」の処理
} else {
    // 「いいえ」の処理
}

※呼び出し元もasync functionの必要有。一時的にasyncにするなら
(async()=>{
    if (await mySweetConfirm("よろしいですか?")) {
        // 「OK」の処理
    } else {
        // 「いいえ」の処理
    }
})();
のようにすれば大丈夫です。

JSのalertやconfirmは同期処理ですが、SweetAlert2のメッセージ表示は非同期処理のため、asyncやawaitを利用して同期処理になるようにしています。

SweetAlert2により表現の幅が広がったため、今週はSweetAlert2の機能を使ってより良い/分かりやすいメッセージ表示となるよう調整を行ないます。

(´ー`)y-~~

デアゴ管理アプリ制作 第2弾 隣の田所さん 455日目

m1のmac miniが3台くらい欲しいなぁと思って制作者がニンマリしながら制作している新作アプリ「隣の田所さん」制作第66週目の作業予定です。

456日目:サウンドが再生されないことがある対策 その1
457日目:サウンドが再生されないことがある対策 その2
458日目:リッチなメッセージ表示ライブラリ調査 その1
459日目:リッチなメッセージ表示ライブラリ調査 その2
460日目:リッチなメッセージ表示実装 その1
461日目:リッチなメッセージ表示実装 その2
462日目:予備日(次の週の予定を立てる)

「隣の田所さん」は超大規模MMOです。お隣さんは全て油断のならないプレーヤーです。先週は、留守の間に誰が侵入したか分かるログ表示対応を行いました。

ログオフしている間にめっちゃ侵入されていることが分かるログ

これで仕返しすべき相手の名前が分かります。

(๑¯ – ¯๑)

また、jsの圧縮及び連結を行うために terser を導入しました。

macOS Catalina (10.15.7) で、brewはインストール済みの場合の手順です。

1. nodebrewをインストール

$ brew install nodebrew
〜略〜
$ nodebrew -v
nodebrew 1.0.1

2. nodeの安定版をインストール

事前にディレクトリ を作らないとエラーになるため作ります。インストール後、useでインストールしたバージョンを選択。

$ mkdir -p ~/.nodebrew/src
$ nodebrew install-binary stable
〜略〜
$ nodebrew ls
v14.15.1
current: none
$ nodebrew use v14.15.1
$ nodebrew ls
v14.15.1
current: v14.15.1

3. 環境パスを通す

macOS X 10.15 Catalinaからはzshがデフォルトになったみたいです。パスを通したらsourceコマンドで読み直してバージョンを確認します。

$ echo ‘export PATH=$HOME/.nodebrew/current/bin:$PATH’ >> ~/.zprofile
$ source ~/.zprofile
$ node -v
v14.15.1
$ npm -v
6.14.8

4. terser をインストール

$ cd プロジェクトディレクトリ
$ npm install -D terser

5. jsを結合&圧縮

パス通すの面倒なので相対パスでterserを叩きます。下記は入力ファイルが2つですが、いくつでも指定できます。output.jsが結合&圧縮されたファイルです。

./node_modules/terser/bin/terser -c -m -o output.js input1.js input2.js

十数個あったjsファイルを1ファイルに結合し、さらに圧縮したことでロードがかなり早くなり大満足の結果となりました。

今週も引き続き、アプリをリリース出来る状態にするための調整作業を行なっていこうと思います

(๑¯ – ¯๑)

デアゴ管理アプリ制作 第2弾 隣の田所さん 448日目

iPhone12 Pro Max が大きすぎて嫌になってiPhone12 miniを買ってやっぱこのサイズだよねって嬉しくなって新作アプリ「隣の田所さん」制作どころじゃない第65週目の作業予定です。

449日目:被侵入ログ表示 その1
450日目:被侵入ログ表示 その2
451日目:被侵入ログ表示 その3
452日目:webpackで高速化 その1
453日目:webpackで高速化 その2
454日目:webpackで高速化 その3
455日目:予備日(次の週の予定を立てる)

iPhone12 Pro Maxは売りました。iPhone12 mini最高です。

   _,,, 
  _/::o・ァ 
∈ミ;;;ノ,ノ 
( ・ω・)