【 PentaPiece 製作過程 その2 】 |
---|
Home | PC-6001mkII | Program | etc |
このページでは、PentaPieceのV1.0作成過程を書いています。 |
2015/08/12〜14:付加表示 |
敵の強さ調整は後回しにして、表示関係を作りこむ事にする。 まずは、得点表示だ。空白にピースを置いた時と敵の陣地を置いた時に得点表示を行う。NegaToggの時と同様に、得点表示専用の変数および表示処理を用意する。こういう時に、過去に作り上げた資産(というか考え方)が流用できるのは大きな利点だ。 とりあえず作ったが、表示中に敵のターンも終わって次の自分のターンが始まっている、といったように表示のタイミングは今一つだ。この辺りも考えていかねば。 あと敵がピースをどこに置いたかもわかるようにしたいので、ピースを置く際にピース位置を枠表示する処理を追加する。合わせて処理の各段階を分けるため、処理モードを追加する。とりあえず以下のような感じで。
ところでだ。この時点で規定サイズ6000バイトを大きくオーバーしている。まだする事はあるけど、まずはこの時点でダイエットするか。 start.ax:7,343/6,000バイト |
2015/08/15:ダイエットその1 |
さて、サイズ削減だ。 まずは、敵思考のデバッグ表示部分をコメントアウトする。これだけで、約300バイトの削減。 次に、同じ計算部分を変数化して使い回す。 今回の場合、「(mch*4 + mrot) * 5」が2か所で使われていた。これだと、変数化(+36)と使い回し(-24 x 2)で差し引き-12バイト。重複数が少ないと効果も薄いが、サイズ削減に関して言えば使いどころは案外多い。 あとは、いつも行っている部分について削減を行う。
start.ax:6,291/6,000バイト |
2015/08/16:スコア登録 |
これまでほとんど手を付けていなかった、スコア登録処理を作るとするか。 その前に、登録する情報を考えねば。今回は個人の成績ではなくチームの成績を重視したいのと、あとで様々な集計をしたい。という事で、以下のように色々情報を詰め込んでみた。
合わせて、タイトル画面も少し変える。タイトル画面からEnterキーでゲームスタートしていた部分を、ボタンクリックで始めるようにする。タイトルは、もう少し後回しで。 音が入っていないが、これで概ねやりたい部分は作り終わった。しかし…これは本当に6,000バイトに収まるのか? start.ax:6,799/6,000バイト |
2015/08/17:タイトル |
話は前後するが、今回もタイトルを何にするか悩んでいた。 5に関連して、語感が良くて、頭脳ゲーム的な無機質な感じで、そして検索であまりヒットしないもの。「侵略」や「陣取り」「勢力」といった単語を英語にしてみるも、今一つピンとこない。 「テンタクルズ」ならぬ「ペンタクルズ」だとどうかと思ったが、検索すると似た名前でイカの映画が出てきた。むう、ちょっとイメージと違うな…。 もっと無機質に、5つ一組のピースを使うという事で、ペンタピースなんかどうだろうか。再度検索してみると、今度はなぜかポケモンが検索された。とはいえ、モンスター名などの固有名称ではなさそうだし大丈夫かな。とりあえず「ペンタピース」で仮決定しよう。 まあ、仮決定は決定とほぼ同義なのだが。 |
2015/08/17〜19:ダイエットその2 | ||||
さて、どこから手を付けようか。 まずは、カーソルの表示を変える。これまで、選択色+黒バックで表示していたものを、白色に変更する。合わせて、陣地とカーソルが重なった時の見づらさを軽減させるため、陣地の星部分を少し暗い色に変更する。これで33バイト削減。 次、敵の思考ルーチンで8x8の場所のスコアを求める処理で2段階ループを行っていた所を1段階ループに変更する。これで48バイト削減。 次!処理順序の変更を行う。数値変数の初期値が0なのを利用して、以下のように変更する事で16バイト削減する。
次!出現するピースの種類を事前にシャッフルしていた処理を削除し、都度rnd()で決定するように変更。これで180バイト減! 他にも不要変数の削除等行い、合計で345バイト削減できた。まだ削減も半ばなのだが、ここからまた追加欲が出る事となる。 start.ax:6,454/6,000バイト |
2015/08/20:性格付け |
追加欲、それは敵の性格付け。 せっかく敵の色が4色あるのだから色ごとに異なる性格を持たせた方が面白いのではなかろうか? 今の敵の思考ルーチンでは、空白、陣地レベルアップ、自軍打消しの3項目の評価スコアを足し合わせ、ランダム値を足した値の最大値で敵の一手が決まる。このそれぞれの項目に重み付けを加えれば、性格っぽいものが作れるのではなかろうか。 とりあえず目標として、こんな感じの性格付けを目指す。
start.ax:6,700/6,000バイト |
2015/08/21〜28:ダイエットその3 |
機能追加も行って満足したところで、またサイズ削減に勤しむ。
少し試行錯誤して、ベース色の●に水色がかった白の丸付き数字を重ねたものにした。 この時点で6,294バイト。残り500バイトを切った事で、少し希望が出てきた。だが、まだまだな事に変わりはない。 さらに、地道なサイズ削減を行う。
start.ax:5,932/6,000バイト |
2015/08/29〜30:V1.0完成 |
地道な努力の甲斐あって、少し余裕が出来た。さて、何を付け足そうか。 音を入れられればいいけれど、さすがに残り68バイトでは収まらない。うーむ、もう少しだけランキングの記録内容を充実させるか。 この時点で、色毎の累計得点,色毎のプレイ回数、今回の選択色と敵の色、今回の得点、日付の情報をランキング情報として入れ込んでいるのだが、色別勝利数も追加するかな。という事で、色別プレイ回数の部分を2等分して勝利数の情報を入れ込む。 案の定、また6,000バイトを超えてしまったので、また全体的にサイズ削減の見直しを行った。サイズ削減も必ずどこかに限界は来るものだが、意外となんとかなるものだ。 なにはともあれ、これで完成!集計できるくらいにプレイデータが貯まればいいな。 start.ax:5,989/6,000バイト |
その1 | PentaPiece 製作過程 | − |