∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
- 今回の作業
対人戦の実装 13~14時間目(全20時間)
星のドラゴンクエストをアンインストールしました”記録”は3日でした。
え?アプリ開発日記じゃないのかって?
明日から頑張ります・・・
- 明日の予定
対人戦の実装 15時間目(全20時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
対人戦の実装 13~14時間目(全20時間)
星のドラゴンクエストをアンインストールしました”記録”は3日でした。
え?アプリ開発日記じゃないのかって?
明日から頑張ります・・・
対人戦の実装 15時間目(全20時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
対人戦の実装 11~12時間目(全20時間)
昨日と今日は、アプリの”勉強”のため、星のドラゴンクエストをやってました。30周年ガチャということで、ロト装備が出るみたいでした。
初めに無料でもらえる”ジェム”が10000個くらいあったので、それでガチャをやってみました。
30回くらいガチャを回して、ロトのつるぎ、ロトのかぶと、ロトの盾が出ました。幸運なほうだと思います。しかしなんとも中途半端です。是非とも残りのロトのよろい(上/下)が欲しくなりました。
うまくできてるなぁ。
ガチャを1度引くのに300円かかります。
冷静に、いくら使えば残り2つのロト装備が出るのか計算して見ます。もちろん確率ですので、いくら使っても確実にそろう保証はありません。ここではあくまで期待値として、”平均”いくら使えば揃うのかという観点で計算します。
パチンコを知らない方には申し訳ないですが、パチンコが確率内で(確率の分母数を回して)当たる割合は約63%となります。この確率分”回し”、63%の割合で当たる金額をまずは算出したいと思います。
※ジェムを大量に買うと多少値引きされますが、ここでは無視します。
さて、最近のガチャはご丁寧に出現割合が書かれています。
ほしいアイテムはロト装備の残りで
ロトのよろい上 0.5%
ロトのよろい下 0.5%
の2つです。
2個のアイテムを取る過程を2段階で考えます。
1段階目
まず、ロトのよろい上か下、どちらかが出る割合は合計1%ですので、100回=30000円分ガチャをすれば平均1回どちらかが出ます。
2段階目
次に、上下の出なかったほうのロトのよろいが出る割合は0.5%ですので、200回=60000円分ガチャをすれば平均1回出ます。
簡単な計算ですね。というわけで、期待値は3万円+6万円=9万円となりました。
私と同様な状況の人が9万円使えば、100人に63人は装備が揃います!
9万円は約63%で揃う金額となりますが、ほぼ(99%以上)揃うだろうという金額を知りたいところですね。知りたいですよね?え?知りたくない?知りたいということにしといて下さい。
パチンコ経験者限定の話で申し訳ないですが、パチンコで確率の5倍以上のはまりって意外と無いことが経験的にお分かりかと思います。確率の5倍回して当たらない割合は0.7%位となり、99.3%は当たります。
算出した額の5倍の45万円も使えばのこり2こが出てほぼほぼ揃うと思います。
同様の状況の人がいて、実際に課金しても揃う保証はしませんが。0.7% ≒ 142人に1人 は揃いませんからね。
45万円か。安いなあ。ガチャろうかなぁ(棒読み)。
対人戦の実装 13時間目(全20時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
対人戦の実装 10時間目(全20時間)
対人戦を行うにあたって、サーバ内に勝敗記録や各ユーザの組んだロジックをDBに保存します。
このDBのバックアップのため、サーバで定期的にDBの内容をファイルに落とし、外部サーバにメールで自動送信します。
本日はまず下準備として、外部サーバにメールを送れるようにしました。gmailを利用します。
サーバはCentOS6です。
以下、忘備録のための記述です。postfixを使ってメールを送信します。
vi /etc/postfix/main.cf
記述を追加
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
vi /etc/hosts
::1 の行を # でコメントアウト ※後続のpostmapのコマンドでエラーとなるため
echo [smtp.gmail.com]:587 メールアドレス:パスワード > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
service postfix restart
送信テスト
echo メール送るよ | mail メールアドレス
対人戦の実装 11時間目(全20時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
対人戦の実装 4〜9時間目(全20時間)
サーバ側の処理はひとまず置いておいて、対人戦用のステージマップが完成しました。
全部で5タイプ作成し、各タイプ毎に3つの枠を用意しました。計15ステージの支配権を全ユーザで競い合うことになります。
対戦相手に勝てば、対戦相手が使っていたロジックパネルをランダムで1つ奪うことができます。負ければ盗られます。同時に、経験値も奪ったり奪われたりします。勝つとステージの支配者になり、今度は挑戦を受ける側となります。
勝利条件は、ゴールにたどり着くことです。ただし、ステージによっては、実質的に相手を倒さないとゴールにたどり着けないようになっています。99秒たっても勝負がつかない時はドローとなります。
支配したステージの防衛数や、支配したステージ数に応じて、特別なロジックパネルをプレゼントする可能性があります。
敵と味方を区別するために、色違いのキャラも作成しました。
対人戦の実装 10時間目(全20時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
対人戦の実装 3時間目(全20時間)
対人戦の構想が固まりました。
まだ実装は一歩も進んでいませんが、頭の中!では出来上がっています。頭の中では!
実装作業を明日から頑張ります。
使用予定のサーバには既にMySQLが入っています。DBを2つも入れたくないのでDBはMySQL使います。サーバサイドは速度面からJavaを利用しようと思います。
各ユーザがサーバアクセスするたびにDB見に行くと時間かかるので、ユーザ毎に5分に1回程度しかDBにはアクセスできない想定で、かつ対人システムが上手く回るように工夫するつもりです。ハードウェアスペック上げる前にソフト面で工夫します。
1億人くらい来ても大丈夫にします。
・・・
え?
来ないから心配するなって?
ヽ(`д´)ノ うわーん
対人戦の実装 4時間目(全20時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
アイテムの取得演出 1〜3時間目(全3時間)
対人戦の実装 1〜2時間目(全20時間)
アイテム取得演出を実装しました。
対人戦の実装は、頭の中でいろいろ構想を考え中です。
対人戦の実装 3時間目(全20時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
ログのローカライズ(英語) 1〜5時間目(全5時間)
ありがとうGoogle翻訳とWeblio様。
以下の動画の様に、英語環境では、無事ログが英語になりました。もちろん日本語環境では日本語になります。
これで、一通り作業が完成しました。
アプリ完成までに、144日かかりました・・・
(かなり完成していた状態から)
当初は、100日あれば余裕でリリース可能かと思ったのですが・・・
でも1日に1時間しか作業してないから、仕事せずに、1日8時間フルで作業すれば1か月かからないなあ。
仕事辞めてアプリ作りばかりしてれば1月に1本はアプリ出せるかしら?どうなのかしら?
いつでもアプリのリリース作業に取りかかれる嬉しい状態になりましたが、ここはリリースしたい気持ちをぐっと抑えて、アプリをより良いものにすべく追加作業をしていきます。
とりあえず、ロジックパネルを取った時の演出がなく、いつの間にか所持品が増えてる状態なので、ロジックパネルの取得演出をします。
あとは、目玉の対人戦!を実装していく予定です。
せっかく「さくらのVPS」でサーバ借りてるので、対人用サーバとして有効活用したいと思います。
アイテムの取得演出 1時間目(全3時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
サウンドの追加 7〜10時間目(全10時間)
サウンドの微調整をしつつ、新アプリの紹介ページを作成していました。
取っ付きにくいアプリだと思うので、アプリを紹介すると共に、ヘルプ的に使ってもらえるページにしました。
ログのローカライズ(英語) 1時間目(全5時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
サウンドの追加 2〜6時間目(全10時間)
主に、ロジックパネルの種類毎に、機械的な効果音を付ける作業を行っていました。
ロジックパネルでロジックを組むのが、このゲームのメインです。ロジックパネルの効果音はとても大切です。
尚、効果音を際立たせるために、BGM(バックグラウンドミュージック)は鳴らさないことにしました。決して面倒だからではありません。
サウンドの追加 7時間目(全10時間)
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
サウンドの追加 1時間目(全10時間)
Mac App Storeで、3年前くらいに1万7千円くらいで買ったきり何も使っていなかった「Logic Pro」をインストールして、使い方をヘルプ見ながら勉強していました。
勉強だけで本日の作業が終わりました。
いつの間にか新しいバージョン「Logic Pro X」が出てた・・・
買い直さないと新しいバージョン使えないorz
サウンドの追加 2時間目(全10時間)