2018年12月20日木曜日

自作カラコロッタ54 コロッタストーンの確率とPO率

コロッタストーンのレベル別のメダル推移を調べてみた。
上のグラフは、系列nというのが常にNEXTカードがnラインというのを表している。
どうやら、NEXTが6,5,4,2,3,1の順によくなるらしい。突然がたっと上昇しているのはコロッタボーナスという30倍配当による。

さて、それぞれのPO率であるが、
NEXT1 68.40%
NEXT2 95.38%
NEXT3 74.63%
NEXT4 106.94%
NEXT5 160.26%
NEXT6 373.80%
という感じになっているらしい。NEXTが6にもなると、すぐさま8ラインが出てくるので当然ながらコロッタ30ラインの可能性が一気に上がり、メダルはうなぎのぼりである。
POを100%にしようと思えば、だいたいNEXTを4あたりにすればいい…?
なおこのゲームの最低POは、どうやら68.40%あたりになる模様。
まあ100~200ゲーム程度なので正確な値ではないが。

ところで、なぜNEXT2のPOが高いのか。これはおそらくカードの性質などにかかわっているのだろう…。なのでレベル2よりレベル3が出やすい台があるヤッターとかいうのは少なくともこのグラフによると間違いなのか…?

次はあにまだまをもうちょっと詳しくみていく。当分はPOの話で持ちきりか…?
実はほそかに裏でビルダーズ2をやっている。はたして我はすごい建物を作れるのか…?

2018年12月19日水曜日

自作カラコロッタ53 サルサルベージの確率とPO率

さて、いよいよ100個分のデータができた。
マルチ6ゲームで、それぞれ赤ピンク青緑黄赤、と600000CREDITから初めて1000BETずつ、つまり1ゲームではマルチなので6000BET、ということでメダルの変化をみた。
上がメダルの各ゲーム後の状況である。途中で寝たのでPCがちゃんと仕事をしてくれたかはしらないが、それを信じると上の状況からPOを計算できる。
なおメダルの増減がなだらかなのは、6ゲームかけているのでアップダウンが少ないからである。
これがもしシングルでサルサルベージに1つだけかけていると、当然ながらもっとアップダウンの激しいグラフとなる。なにしろアウト以外の全色にかけたので平和な減り方である。
しかしそれでも減ることに変わりはない。あかんな…。

POは、一律6000BETであり、これを100ゲーム。しかし手違いで99ゲーム分しか保存されていなかったので、まあ594000BETがINとなる。そしてOUTは389500BETである。
よってPOは65.57%ということになる。
ほかの人物のでは72.77%だったが、我のものは600ゲーム分しかしていないし、ちょっと条件が違うのでしょうがない。
だがPO70%切りでは、当然ながらかてるはずがないことが分かる。

また継続した球数とWINとの関係は以下。
かなり強い正の相関を持っている。まあ理由は、まんべんなくいろんな色にかけているので
かたよりがあってもなくてもほぼ継続球数が配当に直結する、ということ。
これが1ゲームなら、もう少し上下に散らばるのかもしれない。

サルサルベージのオッズの線形性から、やはり出てくるグラフの近似もどうやら1次関数になりそうである。またアウトやSPの場合も調べたいが、とりあえずコロッタストーンにうつるとする。

まとめ
600回分のサルサルベージのPOは65.57%
マルチ6面でBET分の配当を得ようと思えば15球以上続くことが望ましい
継続する球が増えてもメダルの増加は一次関数的な増加で、爆発力はない
結局のところ普通にどんどんメダルが減っていく

2018年12月18日火曜日

自作カラコロッタ52 CSVファイル化

さて、いよいよなんかPOやメダルのCREDITに関する専用の変数を作り、それに基づいてCSVを構築していくことになるわけだが…。

我自身、自分でCSVのコマンドを使用したことがない。さる大昔、我は自分のしょぼすぎるRPGで「お楽しみ広場」なるものを作って誰かのコモンを使ってCSVファイル化する、という「お店」をつくったりして遊んだ。当時はまだ全然やったのお…。

どうやら可変などのデータをCSVに保存することができるらしい。
というわけで、1ゲームが終わるごとに残りCREDITの値をある可変に格納していき、最後に
CSVファイル化すればいいということになる。

だが、当然たくさんゲームをやってPOを叩き出すので、それだけ多くの試行回数が必要となる。
まあとにかく、可変データベースが100個なので、100ゲームをめどに実行させる。
さすがにこれだけのためにウェイトや演出のないバージョンを作るのはあまりに面倒なので、おとなしく100ゲームまつか…?

とりあえず我は、サルサルベージ6面、コロッタストーン6面、あにまだま6面を実施してみようと思う。これの100回分のメダル推移を考える。マルチだとおそらく最終平均POへの収束が早いので、より正確なPOを求め、かつメダルの減り具合などを見ることができる。

まずは手始めにサルサルベージ6面でいく。OUTはその性質上POが変わるはずなのでOUTは6面で選ばない。かわりに赤を重複させる。(そうするしかない)

結果は次の記事で。期待

自作カラコロッタ51 特別配当内部処理

漢字ばっかりだが、ようは全消し、コロッタ30ラインのものを追加しただけ。
演出は面倒だからやってないが。
さて、これができたと言う事は…。
カラコロッタ初代3ゲームの配当に関するほぼすべての条件が整ったというわけである。

となればもうやるのは決まってるやろ…。

POを叩き出し、そしてBETしてメダルがどれだけ減るかをグラフに表すということや。
ついに条件が整ったのでこれができる日がきた。くっくっくっ…
未だ誰も解析できていない(はず)あにまだまも含めて、我がカラコロッタとはいかなるものかを暴いてくれる…。
ちょっと遊んでみた。楽しい

次の記事からはいよいよ各ゲームとPOとの関係や、実際にゲームをプレイするとメダルがどのように減っていくのかをシミュレートする。

自作カラコロッタ50 配当表示、次ゲーム発展

上の画像のように、いよいよ配当を示す表示を追加した。
これとは別に、次ゲームへちゃんと移行するようなプログラムも考案。
これにより、いよいよPOが求められる状態がまさに整ったといえる。


まだちょっと枠でおかしかったりするところもあるが、今回は結構堅牢なシステムをくんだので無茶ぶりをしてもたぶんがんばってくれる。


めでたく50個目の作成記事で、ゲームの根幹部分が整ってきた。

2018年12月16日日曜日

自作カラコロッタ49 BETタイム作成完了

難しい、というよりはかなり面倒だったが、プレイヤーが自分でBETを決められるシステムが確立された。これでそのままゲームへの接続もできたので(一部消していないピクチャ、ゲーム時に出てくるピクチャがまだだが)いよいよそのBETでのゲームプレイが可能となる。
そしてもともとリザルトはつくられているので、一応結果のところまではたどり着く。
まだそのWINがCREDITに加算され、次のゲームにいく、というところはまだだが、
おそらくこの自作カラコロッタの見出し記事50に行く頃には、めでたくとりあえずのゲームの形がひと段落するのではないかと思っている。
変な500とついているのは消し忘れ。本来はもっと奥の位置かつ別の場所にこの500という文字は配置されなければならない…。
(注意深くみるとなぞの「1」があるが、これは我がピクチャの消去範囲を20141まで、とするべきところを20140までとミスしていることによる。もちろんこのあと修正した。)

今年が終わるまでにはそこそこのできばえになっているのではないかと期待する。
なお4ゲーム目以降は、とりあえず初代カラコロッタの3ゲームでのプレイスタイルが確立してから実行しようかと思っている。りんご問題に関しては今はノーコメントということで。

自作カラコロッタ48 BETタイム作成中

まずはBET切り替えのシステムを作り、あとは現在のCREDITと照会してBET可能か、また最低BET枚数を勘案したBETタイムの作成を考えている。
以前のアニマロッタ風ゲームみたいにざつなつくりにはさせんで!!
しかしまずはボタン作成ツールを使ってボタンの自作からはじめなければならん…。

とりあえずボタンと数字ピクチャを配置して一応ボタンを押せばある変数を返り値としてだしてくるプログラムのところまで行った。あとは各種ゲームのBET変数への組み込みと、それを許可する条件付けの話となる。
なお緑の枠となっているが、サルサルベージとかなら青色の背景になるようにすでに設定済み。


そしてしばらくして、ようやくBETの条件付けが整った。このあたりはかなり入力が多く、ショップタイムにしろ結構な時間を食う。しかしようやくBETをゲームに反映させてゲームを動かす準備が整った。
あとはBETの残り時間表示、そしてBET時専用のピクチャを消去することくらいである。
上の場合、500BETはできないが、1BETはできるというのがみてとれる。
ただし最低BET5とするので、まだ0BETのゲームには1BETはできない、という具合になっている。

なお、BETタイムの処理が終わればいよいよ次ゲームへの継続処理を行うことになる。
だがはたしてこれがうまく機能するか…。場合によってはコモンの変数を初期化せねばならなかったりするのでそこまで簡単ではない…が、BETタイム作成の面倒さに比べれば全然まし。





自作カラコロッタ47 BETタイム作成開始

さて、いよいよBETタイムを作成しはじめることにした。ということでボタン生成ツールなどを使って非常に地道に再び作り始める。一人だとなにからなにまでがんばらなければならないので、やはりカラコロッタの再現はいろんな点で大変や…。

しかも今作っているのは基本的にマルチ対応。シングル、オールの場合、表示位置やショップタイム、BETの計算から相当な数別処理をつくる必要があり、ぐうあぁぁなわけである。

自作カラコロッタ46 ショップタイム強化

ショップタイムにおいて、売り切れの時のボタンを表示させたり、ボタンにカーソルをあわせると明滅したり、さらには下に文章で効果を表示できるように。ただしまだ価格設定はしていない。
さて次はなにをするか…。実はやるべきことはまだまだ山ほど残っているという事態。

2018年12月15日土曜日

自作カラコロッタ45 ショップタイム実装

いよいよショップタイムを実装。サルサルベージ、コロッタストーン、あにまだまに各3つのアイテムを実装し、それを購入できるように。ただし実はまだ購入無料である。まあここは別にいいか…。
結構いろいろ作業があって大変だということに気づいた。

次はワンダーステップの枠の配置とか、BETの枠にちゃんと文字を表示したり、とりあえず画面下側のメニューをつけて体裁を整えるとするか…?

まだ1ヶ月前は背景画像をはりつけただけだったが、ここまでようやく進化した。
 
そういえばウディコンとかいうウディタでつくるゲームの祭典?みたいなものがあるが、まあ我程度ではうまくいかないだろう。なにしろこれはカラコロッタの真似なので。
しかしカラコロッタの内部処理を作ってみる人はなぜかいないので、ここは我がやってみよう(というか自分がやりたいから作っただけ)ということになったのである。
 
以後も暇で飽きなければカラコロッタを作っていく予定。我の手にかかればまず途中のゲーム作成で行き詰まる、という事態にはならないと踏んでいるので、能力が足りなくて挫折、ということにはたぶんならないと思っている。なにしろ所詮カラコロッタ、という2Dのゲームなので。3Dゲームを扱っているわけではないし…。とはいっても我はカラコロッタとかの案を考えたものには感服するが。
ただし設定を悪くするゲームセンター等は…うむ…。

2018年12月14日金曜日

自作カラコロッタ44 ショップタイム作成開始

いよいよ10球ごとにショップタイムを追加することにした。
もちろんアイテムが何BETかどうかは我もよく分からないが、ここはなんとなく、ということにしておく。
そして、本家カラコロッタではたぶんないと思うが、虹りんご購入もこちらで独自につけようと思っている。価格はだいたい平均BETの20倍にする予定。
なんでかというと、アニマロッタを参考にすると、だいたい20BETだと1000のJPCな気がするかもしれない(確証なし)カラコロッタもそれと同じくらい?と仮定して、成功時1000WIN失敗時はカラコロッタではおよそ2割。これの期待値はJP獲得の確率が確か20%未満だったような記憶があるので、とりあえず15%としておいて、1000*0.15+200*0.85=150+170=320であるから、20倍とすれば消費BETは400となり、期待値を上回るのでこの"賭け"は損、となる。
カラコロッタのゲームは他の人物がPO率を調べたデータなどがあるが、これをみるとやはり100%をきる。そこで虹りんごのときも基本は負けやすいように設定する。

それか、せっかく虹りんごが出たからボーナス的に200くらいにして(だいたいプラス確定)10倍にするかは悩ましいところである。

2018年12月13日木曜日

自作カラコロッタ43 アクティブ判定

そろそろ6ゲームの配置をしっかりとしていこうと思っている。
ゲームのタブをタッチするとぎゅーぅと移動するシステムはさすがにいろいろあってできない。
(ズームや並立処理の問題)
とりあえず以下のような構成に。
次からはいよいよショップタイムの配置となる。

自作カラコロッタ42 背景更新、BET更新

ボール入賞に加え、背景も動くようになり、BETの定義ができるようになった。
10球ごとに背景が変わり、だんだん良くなっていく…?以下は20球超えの状況。
まだショップタイムとかは作っていない。
まだするべきことはあり、実を言うと6ゲームモードでは非アクティブ状態のものはちょっとスリムは表示になることや、なんかその非アクティブ枠の背景?も用意しなければならない。

あと、実はクリックしてもそのゲームがズームしてこない。まあこれは…。
ワンダーステップは結構実装などがややこしいのでおそらくかなり後回しになるだろう。

次はとりあえずリザルトから次ゲームへの接続、そしてやはりBETタイムの作成か…。

2018年12月12日水曜日

自作カラコロッタ41 ボール入賞演出

今日はちょっと夕方に1時間か2時間おやすみしたので目がさえて作業しやすい。
最近よく学校や仕事、おでかけが終わったあとに眠くなることが多く作業が滞りがちなので。
カラコロッタ作成を1日数時間もやっていない状況。

さて、3ゲームのだいたいそろい、そろそろゲーム性をもたせようということでいよいよボールの入賞演出を加えることにした。これもカラコロッタの動画を参照しながらつくっていく。

とりあえずどこか左端の座標からの水平投射、ということでいいか…。
座標はまあX座標とY座標をそれぞれ水平投射の式にしたがって作ればよいか。
あとちょっとした反発があるらしい。
律儀に反発係数を定義してやっていると面倒だしわずかな時間なので等速直線運動*2で近似しておくことにする。
まあウェイトは1フレームずつにしておいて、ピクチャ移動を繰り返して、その繰り返し回数を時刻tとおいてXとYについてtに関する変数を代入する。

まあとりあえずはカラーの種類17種類に対してピクチャを定義しないと始まらないのでまずそれをする。
実際の作業としてはただ単に力学のあれにしたがって定義するだけである。よって省略。

ということでボールがまさに水平投射された動きを導出することができるわけである。
これによってよりカラコロッタ性が増した。

自作カラコロッタ40 SPビーム再現

SPビームに関する動作を追加。
ちょっと誤って毎球SPビームが追加される判定にしてしまい↑のようになったがすぐに解決。

実はここでちょっと気になったことで、SPチャレンジなど3つ同時に発射されたときの挙動(アニメ)に問題があるのでちょっとそれを修正する。
これは直ちに解決された。まあアニメーション発生条件にそのマスが空白でない、という条件を入れるだけなので。
理論上は起こらないが、一応全ラインSPビームになると当然全消しになる。
たとえば↑の画像のどこかにはSPに入ると全けし確定なものが…?

2018年12月11日火曜日

自作カラコロッタ39 あにまだまのオッズについて

今オッズの作成途中で気づいたんだが、初代カラコロッタは最大配当は9連鎖分まで。
しかしそれ以降は10連鎖までオッズ表が存在する…!?

初めて知ったわ…。ということで手書きで10連鎖を作成。

ところで、そろそろデバッグモードなるものをつくろうかと思っている。
そういえばこのゲームを学校や仕事、旅行の合間にちょこちょこやっているがもう20日か…。

自作カラコロッタ38 初代カラコロッタ再現

厳密には初代はマルチはないが、一応初代3ゲームが成立しつつあるのでそれでゲームを組んでみた。…と思ったがあったらしい。カスタムがないだけ。
コロッタ30ラインボーナスや全消しボーナスはまだ未設定。こういうのはちょっと処理が大変…というほどでもないがあまりお目にかかる機会が少ないため。

とりあえず内部値だけボーナスを設定すれば、あとはこのプログラム(ゲーム)を走らせることによりPO情報もおのずと出てくるだろう。そしていよいよ我のお楽しみのPO操作プログラムの作成
がはじまる。

メダルゲームに操作がないとかいうのはとりあえず内部処理での操作は確実といってもよい。
でないとPO設定とか存在しない。PO設定とかほんまにあるんかという話については、我もみたことないので定かではない。しかし我ですら一見普通にできそうなPO設定。これは店側にとって有利な事項であり、そのような機能を製造元がつくれないはずがない…と思う。

自作カラコロッタ37 あにまだま6ゲーム解禁

さて、ゲームがアクティブ時に音をつけ、いよいよあにまだまっぽくなってきたが、ここである問題に気づく。
以前もそうだったが、常時並立処理でピクチャを動かすのと、落下処理での座標移動は非常に相性が悪い。

ということは、もはや座標に依存しないアニメーションとするしかないらしい。
ただ、これ、可能なのは可能だが、作成がめんどうすぎる。こういうときだれかいればなぁ

そういうわけで、そのあたりの細かい演出はまたいつか、ということにしておく。
がしかし処理が重い…。本当は動画処理ソフトを使わないともっとちゃんと動く。
 
配当が光ってないとかはつっこまないこと。これらは先述のアニメーションでなければならないという問題点により一人という状況では放置せざるを得ない。

2018年12月10日月曜日

自作カラコロッタ36 あにまだまの演出

さて、根幹部分が整ったので、いよいよ味付けの時間である。
あのあにまだまのような挙動にすんで。

まだだれも確率を求められていないあにまだまであるが、我は確率を求めてもよいが、それより自分であにまだまを遊び、さらにPO制御することまで考えている。
あにまだまを遊ぶにはやはり本家のあにまだまにできるだけ似せねばならない。

でどこを似せるかというと、やはりHITや連鎖時のあにまだまの消え方、そして落ち方、さらに効果音。あとは高配当ブロックの演出(炎とかリングとか?)である。

とりあえずまずはHIT時、連鎖時の演出から手をつけるか…?

自作カラコロッタ35 一連の動作完成

いよいよ、かなり苦労してあにまだまの補充処理での問題(全部ではなく空いているマスのみ補充する場合に結構処理が複雑なこと)、そして消しだまに関する定義、さらに連鎖における消しだまの判定、他不具合の修正?など、結構時間をとられた。あにまだまを作りはじめて1日くらい経過…?

しかし、我はついに本物のあにまだまのような挙動を示すプログラムをうちたてた。
まだ演出や音は全然だが、その動作はまさにカラコロッタのあにまだまそのものだろう。

ただ、処理が重すぎてウェイト1フレームをある場所に挟まないとまれに500000個エラーが出てきてしまうのが難点だが。本物のカラコロッタでも補充がちょっと遅め?なのはやはりこのことが影響しているのかどうかは知らないが、さすがにこれは憶測の域を超えない。

以下の動画は、まだわかりづらく見苦しいが、それでも動作をしめすのには十分だろう。
実はまだ最下段でHITした場合の消しだまの挙動を定義していないので一番したの消しだまが消えてもとくになにも起こらないが、当然これはあとでつくっていく。

あ、そういえばこのブログ、非常に知名度がないらしい。
もしこれが完成したら配布しようかと思ったりするかもしれないわけではないと思う可能性がないわけではないはずなのだが、これはさすがにまずいか…?もちろん無料。

2018年12月9日日曜日

自作カラコロッタ34 連鎖処理2

ここからは連鎖による演出の部分にうつっていく。
 上がとりあえず無作為に配置してみた。なにしろ普通の補充処理は連鎖しないようにつくっているのでそれを使うとまったく意味が無い。上の配置はまったくランダムな配置。
そしてとりあえず演出はまだだが、下の画像のようにあにまだまが消えるのは問題ないといってよい。いやここまでくるのに丸一日かかったわ…。(まあ朝から夕方まで伊勢安土桃山城下町いってたけど)

すでに連鎖処理は作ってあり、補充処理も連鎖数対応なのでたぶん理論上はこれで動く。
あっHIT処理がまだだったが、これはちょっとしたものをつくるだけなのでたぶん余裕。

そしてとりあえず連鎖、落下、補充が完了。これでゲームは成立する。
補充はやっぱりミスが起こっていたので前作ったのを修正したが。
だがまだ動画にするにはまだまだなので、明日の昼にはあがると見ている。
明日は14時頃よりアルバイトなので。


…あっ消しだま(忘)

自作カラコロッタ33 連鎖処理

おそらくなかなかの作業となるかも。と思ったが1,2時間かかったくらいか…?

今回の連鎖のアイデアとしては、やはりグループ分けを採用した。
まあちょっと複雑だが、できた。
グループ分け(最大48グループ)をしており、同じ組のあにまだまは同じ番号をつけるようにした。
このプログラムは一般ではそう一瞬で思いつくようなたやすいものではない…?
いやしかしカラコロッタの掲示板に詳細な確率を乗せる人物もいることから、みんなカラコロッタを作ることができる…?

もうこうなればあにまだまの連鎖処理は完成したも同然。
各グループの番号が3つ以上あれば、それは連鎖で消えるべきものなので。
この処理は非常に簡単である。
ここで注意すべきは、まずは48個のマスに対し1とグループがふされているものを調べ、それを48個さがすという48^2の処理となりちょっと大変。あと配当ブロックはたとえ3つつながっていてもだめなので、これを除外する必要がある。まあマスのとある変数を参照してある値以外、という条件を付け加えるだけなのでなにも難しくは無いが。

もちろん6ゲームでの動作を見越して作ってある。これが全画面で「ぷひゃー」いいながら(あにまだまが消えるときの音)連鎖するその姿はきっと圧巻に違いない。
なおこれで初代カラコロッタ3つのゲームのPOの調査や動作は思いのままである。



ところが。
実は飢えのプログラムで3つ以上つながる場合にうまくいっておらず、これにけっこうな時間直すのにかかってしまったが、無事どれだけマスがつながっていてもグループ化できるように。
そしてようやく消えるべきマスを取得することができた。ふう

2018年12月8日土曜日

自作カラコロッタ32 落下処理

先ほどの問題、増す3つ以上つながり問題は解決された。
下の画像で3つつながっているのがあるがこれは落下後なので問題ない。

落下処理は、自分自身の下に空白がどれだけあるかを数えれば、それが落下距離である。
その落下距離に応じて処理時間などを変更すれば、うまく落下がかみあう。
以前のチェーンボンバー的なやつでは別のやり方をしていてちょっと処理が重かったので。

そして一応は落下処理ができた。まあ落下の様子を画像でみせろといわれても…。
10フレームの落下なのでスクショもとりづらかった。

しかしだいたい完成したことだけは伝えておこう。
次はいよいよ連鎖処理である。がしかし寝る時間や。寝よ
明日はしまかぜもひかえてるし。
実は落下した場合ピクチャが縦につぶれているように本家を似せてみた…があまり静止画ではわからんらしい…。

カラコロッタでハイベットをする余裕のない、というかできたとしても末路の見えている我はこのようにして自分で作って遊ぶわけである。

自作カラコロッタ31 マス補充処理

とりあえず配当マスも配置。
がしかしWIN数が書かれていない。
よしこんなもんか…。

では次は比較的簡単な落下処理に移る。このあたりはウェイトなどのかかる演出のため、個別にコモンイベントを処理しなければならない。


うん?


ちょっとまって

すでに3マスつながってるやつあるやん!!!これはあかん…。

自作カラコロッタ30 あにまだまのマス配置

とりあえず自分の上下左右に2個以上同じ色が無いようにする、という定義により以下の配置などを得る。
しかしこれはまだ配置しただけで、全然ゲームがはじまってすらいない…。

以後はこのゲームの完成を目指す。これがうまくいけばいよいよ初代カラコロッタの3ゲームができあがることになる。

自作カラコロッタ29 トーテムぐんぐんのメモ

ちょっとここに配当をメモる。実はこのゲーム、ほとんど見ていないのでいまいち仕様が不明。
しかしとりあえず配当などを記す。
200m 5倍
300m 7.5倍
400m 10倍
500m 15倍
600m 25倍
700m 50倍
800m 100倍
900m 150倍

BET×0.3倍の配当が追加され、それになんか配当が1.0倍から始まり0.1や1.5や2.5などの倍率がある。そしてそれの積が特定の色にはいれば配当UP
なおなんらかの条件で配当の鳥が暴れだす。6倍?4倍?
で、HIT後は配当は0になり倍率も1.0に戻る。OUTの場合は何も積まれない。SPで全部が積まれる。

自作カラコロッタ28 あにまだま制作開始

いよいよ第1関門となるあにまだまの制作にとりかかる。

このゲームの根幹は、配置処理、落下処理、連鎖処理の3つである。
しかし配置処理と落下処理は、すぐにおわりそうな見込みなので、やはり連鎖処理が問題。

まあまずは配置しないと始まらないので、とりあえず枠を配置する。
 
すべてはここから始まるのである。
よい解像度の枠がないので残念だが、こういうのはいつでもさしかえが効くので気にすることは無い。
ピクチャは基本的に101から148をあにまだまのマスにしようと思っている。

次の記事ではうまくあにまだまを配置する方法を考える。まあこ答えはでているが。

自作カラコロッタ27 リーチ処理に関する話

あっ…そういえばリーチの文字を表示するのを忘れている…。
まあこれは後でやるか…。
いややっぱりここまでできるとカラコロッタをやっている感はある。

さて、リーチ処理の話だが、リーチの文字は常時ズームを繰り返す。
チャンスはりんごが入手できるときだが、まだりんごは登場していないのでまあリーチ処理はあとでいいか…。

やり方としては、現在のHIT状況は仕様から必ず0ライン状態なので、ビンゴになるHITの組み合わせ8通りを各色に対してみてやればいいだけなので、特に難しい操作ではない。
じゃああとでいいか…。

それより、そろそろPO率の管理やあにまだまへと時代をうつしていきたい。

PO管理ができればなかなか面白そうな気がするし、そのもとでBETとWINのデータをCSVで保存すればこれもまた面白そうな結果が出そう。
あにまだまはみていてとても面白いので、実装できれば一気に我のカラコロッタは華やかになるだろう。
しかしあにまだまには関門がある。それは連鎖処理である。すでにアニマドロップの拡張版ゲームを以前に作っているので、連鎖処理のアイデアはわかっているが、その操作がどれだけ処理を重くするかが問題。
落下処理は簡単。まあいずれ言おう。配置処理は、自分自身の周囲に2マス以下同じ色なら許容。そうでなければやり直し、と各マスに対して行えばいいだろう。

しかしこのあにまだま作成も1日でできるほどやさしいものではない。プログラムが短くなるようにたくさん工夫を重ねているがコロッタストーンでも、下位のコモンイベントを組み込んでそのようにしても1000行ほどある。
まあ以前ハッピーフラワーを変数呼び出し値を使わずに地道にやったときは5000行を超えたが。
当時よりは進歩したので、よりうまくプログラムを作れるようになった。

音がこれにつけばもっと面白くなるとおもう。ただ音はタブのアクティブかどうかで鳴らすかどうか決まることに注意。以前のゲームではどのタブでもなるようにしてしまったので。

自作カラコロッタ26 コロッタストーンほぼ完成

いよいよ配当枠の挙動が完成した。
…さて、これでもう配当の取得が可能となりゲームはほぼ成立したも同然。
あとはこれを6ゲームモードにして動くかどうかや…。サルサルベージのときは大いにつまったからな…。

しかしやはり問題発生。

どうやらピクチャのズームが、とある場所で競合しており、ピクチャがあらぬ方向へ行く。

よってちょっと別の処理にかえることで解決。

しかし6つのゲームをやるとなると、やっぱり6ゲームによる常時移動処理をやっていることから一瞬中心付近にピクチャが表示される問題があったが、うれしいことにこれら常時移動処理を6つのコモンイベントで沸けることにより、この問題は解決。
見事にきれいな6ゲームが仕上がったのである。
今回はスムーズに6ゲームへの拡張ができてよかった。やっぱりサルサルベージでの失敗を生かした甲斐があったか…。
感動の動画は↑。なお我の好きなところにボールが入るようにしている。
8ラインチャンスを含めうまく機能している。と思う。

2018年12月7日金曜日

自作カラコロッタ26 我は見逃さんぞ

ちょっと我は配当枠を作成するときに疑問を覚えた。
高配当部分の枠は動き、そして現在配当に近い枠も動く。

しかしその間にあるものは細い線である。

基本的に、なにもないところからにゅっと出てくる配当枠は、常時番号の大きなピクチャを上にかぶせて下の小さなピクチャを用意してから移動させる、という手法を我は用いている。

だが。

たとえば19→20ラインへとラインが変遷するとき、下の緑っぽい枠はにゅっと出てきて、そして上のオレンジっぽい枠はにゅっと入っていく。ということは何かしらより番号の大きいピクチャがあるはず…だが、実はない。細い線なので。
じゃあどうやっている…?と我は疑問を感じた。

緑の枠を上に描画すると、確かにオレンジの枠はこれで隠れる。しかし緑を隠すものがなくなる。
もちろんさらに上にオレンジを描画すると緑の枠はうまくにゅっとでてくるがまたオレンジを隠すものが無くなり…と以後同じ理論でいつまでたっても両方にゅっとが実現しない。

逆の場合も同様。

じゃあどうすんねん。すると我は見てしまった。
おそらく我くらいしか気づいていないとおもうが、注意して19→20での配当枠の挙動を見てみると…。
(画像はyoutubeのとある動画から借りた)
うん?
19と20の間に明らかに緑とオレンジの枠を隠せる大きさの何かがこのときだけ存在している!!

…そう。このわけのわからない謎の挙動は、ピクチャの手前、奥に関する描画の一般的性質より発生させざるを得なかったのだ。開発者は。たぶん。

カラコロッタのこういう細かいところからも、RPGエディターなどでのピクチャに関する性質が読み取れるのも非常に面白い。

ということで我もこの案を採用する。

自作カラコロッタ25 配当枠の表示

ところで、なぜポワーンと出てくる「nWIN」の表示をしないのかというと、ただ単に処理を忘れている、あるいはやる気がないだけで、これがなくてもカラコロッタは機能するし、後付けがしやすい。
なので今のところ放置。

さて、配当枠についてだが、nLINEと表示された後に配当枠の移動がおこるらしい。
だがしかしとりあえず配当の初期配置を作らなければ話がはじまらない。
とりあえず最初の配置だけやってみた。
しかしここからこの配当を動かす必要がある。

これはなかなか時間がかかるで…。

自作カラコロッタ24 ビンゴ演出完了

いよいよビンゴの演出が完了。

上の画像は何ライン成立したかを示すピクチャを配置したもの。
下の画像は次のカード補充時の挙動。これはちょっと難しかった。

しかし実際画像では分からないとおもうので、動画にしてみた。サルサルベージ同様、なかなか自分でやってみても面白そうである。

まあ一人でしかも数時間程度のものだから規模は知れているが…。

実をいうとカードのレベルが9を超えたり、8ラインしても次に8ラインチャンスになる設定を行っていないなどの問題点はあるが。というより左の配当の枠が完全に放置状態。

自作カラコロッタ23 ビンゴ演出

さて、いよいよこのゲームも成立するようになったので配当に関する話をはじめていく。
6ゲーム個別の処理となるので、ひとつのコモンにまとめてはならないのはすでに経験済み。

まずは本家の動画をみて観察。
はじめのHITは光と枠が中心に集まる。
そしてラインが成立すれば、ラインのところに黄色の太い線が描かれ、かつマスの周囲に光が広がる。
カードチェンジはまあそこまででもないので…。

カードレベルアップは白い四角が枠を占領していき、そしてUPという文字が出てくる。

これらを踏まえて、演出つきビンゴを作ってみた。
SPの場合はライン成立をちゃんと待っておき、ラインが成立すればその部分のHITしたマスは光るようになり、さらにどこのラインかも明白に表示されるようになり、一気にゲームっぽくなった。

次は何ライン成立したか、そして左側の手付かずのオッズ部分の演出である。
あ、それと新しいカードがしたの現カードに挿入されるのも作っておく。

2018年12月6日木曜日

自作カラコロッタ22 HIT処理とレベルアップ処理

…まあこんなふうにHIT処理の根幹は普通にできる…が、問題はカードチェンジやレベルUPの判定である。何しろ複合ポケットで、カードチェンジとレベルアップ2つが起こる場合もあるし、
SPチャレンジで3球分の処理を待たなければいけない場合がある。この2つをどう処理するかが肝となる。なお演出は全然できていない。

20時48分時点で、とりあえずラインが成立して次のカードが出てくる、という部分の流れは完成した。

21時51分時点で、カードのレベルアップ処理が完成。ちゃんとすでにHITした色やもともとない色に入るとNEXTカードのレベルがアップするようになった。次にやるべきはSPチャレンジと通常時の挙動の違いである。
上に表示されているNEXTカードはレベル1のものではない。ちゃんと本家どおりのレベルとその配置にすでになっているはず。このあとラインがそろえば上のカードがちゃんと下に移動してくる。
ただ実は演出が全然できていないので、とりあえず内部処理として動く、というだけのもの。我の目標はカラコロッタのPOを求める、というよりはカラコロッタを演出つきで自ら作り出すということなので、これでは話になっていない。
もちろんちゃんと6ゲーム対応できるようにプログラムは組んでいる。
演出はとりあえずおいておくとして、次に必要なのはやはりSPチャレンジでの挙動、そしてまったく手付かずの左側のオッズ表である。
 
一応ライン成立処理をしてから、これによって新たに増えるライン、配当を取得できるので、それを利用してオッズ表の更新および常時実行の処理(現在の個数の枠が点滅するなど)を行い、そしてNEXTカードを現在のカードに更新(これは完成している)、という操作を行えばよい。
左上の「○に入ればカードがパワーアップ!」的な文言は、すでにこれに関するフラグを可変で取得できる状態なのでそれを利用すればよい。
 
 
さて、いよいよSPチャレンジのときにラインの成立処理を3回分保留する操作も完了した。
理論上はこれでもうゲームが成立していることになる。
ここからは配当の演出や取得、そしてアニメーションへと入っていく。
 
 

自作カラコロッタ21 カードを作るだけ

とりあえず現在のカードの初期状況は表示されるようになったが、完全にまだまだ。
一応レベル1の配置にしている。とにもかくにもまずはスタート地点。
 
次は内部処理がうまく動くかのチェック。
 
なお次のカードも描画しておいた。

2018年12月5日水曜日

自作カラコロッタ20 コロッタストーン製作開始

だいたいサルサルベージの挙動も整ったので、次はコロッタストーンの制作に取り掛かる。

がしかし、画像の加工だけで大変。やっぱり一人だとこういうのが大変や…。

それで、いったいどんなプログラミングになるかというと…。

 さてまずはこの基盤をもとにいろいろピクチャを入れていくか…。先は長い。




2018年12月4日火曜日

自作カラコロッタ19 リザルト画面

さて、制作を再開する。


リザルト画面にはどう突入するのか。そでにゲームが終了するフラグは構築済み。


まずはなんか突然画面が十字型に暗く広がりなってそして傾いた形でリザルトの枠が降ってきて、一瞬の振動ののちに普通にまっすぐに枠がなり、そして上からフェードイン?する形で配当が登場してくる。
そしてTOTALがわずかに時間をあけて表示され、最後に総合計のWINが出てきて、あとはそれで終わり?という感じである。


これをどう演出で処理するかは簡単な話である。
長方形の真っ黒なピクチャを2枚用意して、拡大率と不透明度を処理時間依存にして描画する。
そして角度をつけてピクチャを上から下に移動させ、以後の振動は処理時間と角度をわずかにして繰り返す。そしてフェードインはまた処理時間と不透明度、座標移動、と非常に基本的な処理が多い。

そしてゲーム終了時との配当の橋渡しなどを行い、ある程度完成に近づく。
ゲーム終了のフラグが立たないとリザルトが出てこないようにしている。
周りがまだ透過処理できていないのは気にしない。ちゃんと枠の出現の仕方などもできるだけカラコロッタに似せた。
後は選んだゲームを取得してロゴを出したり、TOTALを算出する。
ただしりんごの処理は全然なのでこれは問題…。
細かいところ(WINとかの文字)はおいておいて次進もう…。

自作カラコロッタ18 あにまだまについて

これまで我はチェーンボンバーのようなゲームを作っており、その連鎖やマスが消えた後の落下の処理としては、とりあえず全変数を1段階下の位置の変数にシフトさせて下にマスがあれば中断、それまで有限回操作を続けて、全てのマスに対して変数シフトが起こらなくなればそこでループ終了、ということにしていた。

しかしこれ、非常にごくまれになんかの処理落ちかは知らないが、変数がうまくシフトされないことがあったり。あと都度ピクチャを移動させるので、6ゲームモードなどになると処理が多くなり、このモードではピクチャを常時ズーム機能を使っているので一瞬もとの場所に表示されてちょっと見映えが悪い。

今回あにまだまが動く様子を動画で見てみると、なんかそのような動作ではなく、上のものほどなんか早く落ちている気がした。これはつまり裏を返せば、落下時点で着弾位置が分かっている…?
その動作にヒントを得て、すぐさま思いついたのが、この着弾地点は計算できる、ということ。

たとえば自分自身より下にn個マスがあった場合、自分の着弾位置は下からn+1マス目である。
そして演出の問題としては、重なったりしないのか、ということだが、これはたぶん同じ処理時間で移動させれば問題ないと思われる。それはまあ、処理時間内の任意の時刻で座標を時刻でパラメータ表示してその大小を比較すればいいがうまく動けばそれでいいのでわざわざ計算する必要はない。

ということであにまだまの落下処理はこれでいくことにする。

あと細かいが、本当はあにまだまの各色はHITや消滅時に口を開き、そして落下中は若干つぶれている。ということでアニメパターンを使って状況ごとにそのパターンを描画するのがこのましいが、我一人では素材の扱いがかなり大変なのでそこのところは飛ばそうと思う。
ただつぶれている、というのは縦方向の縮小でなんとかなるのでそこはやるかも。

消しだまは普通に描画して、上にアニメーションをかさんで表示すればよい。落下処理のときはこれも一緒に。
頼むからズーム機能遅延とかでピクチャが一瞬真ん中に表示されるとかやめてや…

2018年12月3日月曜日

自作カラコロッタ17 ペイアウト計算について

やったゲームに対してのペイアウト率の計算は、以下で表されるはず。

PO=(全ゲーム合計WIN)/(全ゲーム総合計BET)

ゆえに、たとえば100BETをしつづけて平均WINが50WINだった場合。
POの定義よりもしnゲームやったとすると、分母は100nであり、
分子は平均の定義から50nとなる。よってn!=0(nが0でないという意味)の場合(当たり前だが)0.5となり、POは50%ということになる。

決してはじめが10000枚からスタートして、全ゲームを終えたあとに12000枚になっていればPOが120%、というわけではないのである。
なぜなら、10000枚からスタートし、1ゲームで10000枚かけて12000枚を得た場合と、
100ゲームやってうち99ゲームが10000枚をそれぞれにかけて等倍、すなわち10000枚返ってきて、残りの1回で10000→12000枚となった場合ではPOの値が違うのは定義より明らか。
(前者は120%、後者は総合計BETが1000000、戻ってきたのが1002000なのでPOは100.2%)

なので一般に、ゲーム開始時とゲーム終了時の枚数からPO率を判定して今日のPOは何%かふーんとかいうことはできないわけである。

しかし我のつくるワレコロッタでも、当然ながらPOの管理は行う予定である。
設定POより極端に高い場合回収モード(デジタルでの抽選なのでいくらでも変更可能)に移行するなどは簡単な話である。まあ物理抽選になるとそう簡単にはいかないが。

なんかメダルゲーム掲示板によると、サルサルベージの期待値は100BETで70~80と書いていたような気がする。本当にそうなるかどうかは我のカラコロッタで実践するほかない。

もちろんPOは公にみせてはいけないので、当然内部で処理されることになる。
いずれは我のカラコロッタをしたプレイヤーのメダル枚数の推移が我の手中に収まることを期待している。
さいわいウディタには現在の時間などを取得するシステム変数があるので、これを用いてある日のPOなどを計算して、状況把握すら可能。

しかしPOの定義には総合計WINや総合計BETがいるので、やはり早急にBETタイムとリザルトの画面を充実させる必要がある。




自作カラコロッタ16 6ゲームモード降臨

かなりエラーがいたるところで大量発生してその解消に相当な時間を費やしたが、無事6ゲームでサルサルベージを動かすことに成功。その感動の動画を以下に貼り付ける。
なおまだ音とかの演出は全然。とりあえず動くようにはした。ここから、いよいよBETタイムや色の選択などのインターフェイス、そしてリザルト画面を表示し、PO率などの計算にうつっていこうと考えている。

しかし6ゲーム同時開催ともなると、まさかのウィンドウの上に出てくるEv処理、というものが常に20を超えている。やヴぁい

なお以下の動画では、BET枚数や、選択した色、そして倍率の出現率を個別に設定している。
参考程度に、赤、青、緑、黄色、ピンク、白の順に倍率出現率が良い設定にしてみた。
実は船の色がおかしかったりするが、これはいつでもできそうな演出なのでおいておこう…。
やっぱり6ゲーム同時開催を最初から意識していると、プログラムが難しくなる。

余談だが、アウトに入っておらずパーフェクトゲームになっているが、今回だけ全部内周かつレッドピンクの組の部分だけ入らない設定にしたからである。そのためレッドとピンクの数が少なく、アウトが存在しない。

2018年12月1日土曜日

自作カラコロッタ15 クレーンの動きを描画

クレーンの動きは、とりあえずアームの部分はなんか造っておいて、上半分をあけておいて中心に対して回転処理を施せばいけるのではないかと考えた。

ペイントで作った。このピクチャを中心での回転移動とすると我の目的の動作をしないのはいうまでもない。(絵がきたないとかにつっこんではいけない)
そこで無理やり右上中心の回転をさせるために、このピクチャを左下にくるようにあえて画像を引き伸ばす。

あとは試行錯誤で動きを演出するのみである。

そしていよいよクレーンが動き出した。回転や処理時間などを駆使してやった。

実は一気にボールが入ると不具合(連続判定がうまく機能しないことがある)があったが、進行許可フラグをつくることで解決。
たぶんこれで一気に40球ぶち込まれてもうまく機能すると思う。
前回の自作アニマロッタ風ゲームより、より無茶をしても大丈夫なゲーム性にしたいので。
このようになっている。ちゃんと赤が11個になるまで処理は続く。
なお配当が50倍になると上の部分の演出が変わる。
 
えっ何も宝をつかんでない?それに触れたらあかんわ。

自作カラコロッタ14 連続判定3

いよいよ連続で倍率がアップしたときの演出を付け加えた。
あとはいよいよクレーンが宝をつかむ動作、そしてHITしたときのHIT!の文字を描画するくらいである。あ、それとWINとは別に表示されるRED n個 f(n)WINなどの表示も。これらが終われば、たぶんサルサルベージはほぼ完成。以後はゲーム根幹部分に入っていく予定。

そしてしたの枠(RED n個 f(n)WIN)という部分も作成。HIT!もちゃんと作成した。
あとはクレーンの動き。サルの動きはちょっとあれなので今は無視。
次からはクレーンの動きについて詳しく記述していく。