アンブレイカブル

谷孝一(作者)

自分でステージを作ることに重きを置いた作品です。
ステージ作りをより楽しくするために爆弾や1方向ゲートなど新しい試みをしています。
往年の名作アルカノイドを意識した作品ですがこの中にはアルカノイドに対する批判も入っています。
アルカノイドはブロック崩しを革命的に面白くした反面、アイテムを取るだけでステージを簡単にクリア してしまうなど本来のブロック崩しの面白さを損ねている部分を感じるからです。
このソフトはアイテムを取るのではなく、あくまでブロックを狙うことを基本とし、アルカノイドの成功した 部分をを活かそうと作りました。それが成功したかどうかは遊んでみて判断してください。

近田伸矢

エクセル祭りの先陣を切って公開された作品、谷テイスティ100%。通常のブロック崩しではないものを一発目に持ってくるところが谷さんらしい。 面白さ、完成度の高さは説明不要でしょう。この作品公開による他の参加表明者の気持ちは、一様に「やばい・・・」だったはず。
インビジブル

谷孝一(作者)

3Dブロック崩しは一番つくってみたいゲームでした。
3Dのアルゴリズムは比較的簡単にできたのですが、それをゲームとして成立させるのは 至難の業でした。
普通のブロック崩しの視点を変えただけのゲームになってしまったからです。
「3Dを活かすにはどうしたらいいか」「3Dの長所とは」試行錯誤の結果、ブロックの配置が見る見る 変わるシステムを考えました。
3Dの長所を活かすにはボールがブロックの後ろに隠れて見えなくなるスリルを更にあおる必要が あると考えたからです。
突然ボールの前にブロックが現れる。目の前にブロックが積み重なって壁をつくってしまう。
それらをスピーディーに処理することで、今までないゲームができあがりました。
私が一番好きなブロック崩しです。

近田伸矢

谷さんからポリゴン実験というExcel上でポリゴンを動かす作品を見せてもらったことがありました。
やはり速度の壁は高く、ぐりぐり動くところまではいかないまでも、VBAゲームもここまで来たかと思わせるに十分なインパクトでした。
それがこんな形で結実するとは。3Dブロック崩し、めまぐるしく入れ替わる積み上げ式の3Dブロックは、まさにオリジナルな面白さ。
元祖ブロック崩し

谷孝一

既に業務系ソフトの開発では大御所である糸田さんがこのソフトをもって私や近田さんに挑戦状をたたきつけてきました。(笑)
そして、見事に先制パンチをくらってしまいました。
なにしろこれがシートなのかフォームなのかさえ私にはわからなかった。
あ?くやしい。
とにかく見てください。すごい技術と知識です。

糸田正明(作者)

「元祖ブロック崩し Ver2.00」の開発秘話
『動くExcel』に初めて挑戦してできあがった「元祖ブロック崩しVer1.00」を年末にアップしましたが、 思った通り、近田先生から『ボールの飛ぶ角度が常に45度で一定』『画面中程から上へ行くと急にボールが遅くなる』というご指摘をいただきました。
実は、ご指摘があるまでに自分で角度を変えようと、いろいろ試みましたが、ボールの角度を変えると、 なぜかボールが画面からはみだしたり、また、ボールが当たってもブロックが消えなかったりしてうまくいきませんでした。
その時点では、出品期限(正月)も迫っていたので、その原因がわからないまま苦肉の策のお助けブロックを作って出品をしました。
その後、角度を変えていろいろと試行錯誤を繰りかえしている内に、その原因がやっとわかりました。
自分はボールをY方向、X方向へ同じ量だけ飛ばしていて、「ボールがセルブロックや画面枠に当たった時」の判定を 「常にボールがセルブロックや画面枠に丁度接触した(イコールになった)時」と判定していたのが、 実はボールが45度以外の角度で飛んでいるときは、この考え方は通用しないということに気が付きました。
後になって考えると、それは当然のことで、近田さんが書かれているようにボールの角度によって、
距離が違うことに気が付いたわけです。そこで、誤差値を付加することによって見事クリアすることができました。(第1関門クリア)
次に、ボールの飛び方にムラがあるという点にも頭を悩ましました。自分は、ボールがブロックに当たった判定を、 「ボールがブロック領域のいずれかのセルに当たった時」と考えて、   Dim C As Range 'ブロックセル格納用Obj変数
  For Each C In ActiveSheet.Range("BlockArea").Cells
   ・・・
  Next
というコードを書いていました。
すなわち、当たっていないすべてのブロックに対しても当たり判定を行っていたわけで、 ボールが急に遅くなるのも無理がないと気が付きました。
そこで、ボールがある行のセルに当たった時当たり判定を行うという具合に当たり判定をするセル数を減らすというコードに書き直しました。
これで、CPUへの負荷も幾分軽減され、ボールもムラなくスムーズに飛ぶようになりました。(第2関門クリア)
ほっとして、動作確認を続けていると、今度はボールの飛ぶ角度が限りなく水平になったり、限りなく垂直になったりしておもしろくないという現象に出くわしました。
ボールの飛ぶ角度をなんとか30度から60度の範囲内になんとか納めることができないかといろいろと考え、これもなんとか成功しました。(第3関門クリア)
ここまでくれば後はしめたものです。現在のボール角度表示をする機能を調子に乗って付けてしまいました。(^^ゞ
大きな3つの関門を無事クリアし、1/8にアップし、マイボさんに動作確認をしていただいたところ、 記録を登録するときにエラーがでるということでした。早速、自分の開発環境(ExcelXP)で確認をしてみると、おかしい。。。。。
何もエラーがでてきませんでした。そこで、参照ライブラリーを見ると、なんとExcel Ver10(=ExcelXP)のライブラリーを 参照していました。試しにExcel2000で動作確認すると、案の定、マイボさんご指摘のエラーが出てきました。
そこで、それを参照している部分を書き直して、これもなんとかクリアでき、ついに1/10「元祖ブロック崩し Ver2.00」が完成しました。
まあ、このようにいろいろなことがありましたが、お陰様で業務用アプリ作成では経験できないいろいろなことを勉強することができました。m(__)m

近田伸矢

12/1の着信メールを見て私は歓喜に打ち震えました「ついに大長老が動いた・・・」メールの内容を紹介できないのが残念ですが、 あの段階からその後3週間で完成させ、さらにバージョンアップまでされるとは・・・・糸さんなら当然と言えば当然かもしれませんね。
フォームかシートか考えながら楽しむもよし、オーソドックスかつ安定感のあるゲームを楽しむもよし、老若男女問わずおすすめできる元祖ブロック崩しです。
サイクロトロン

谷孝一(作者)

サイン コサイン タンゼント 360°ブロック崩しを作るため三角関数の勉強からはじめました。
以前より、丸いデザインのゲームを作りたかったのが、このソフトで実現しました。
まず、デザインから入ったので実際に遊んでみたら、おっ面白くない;汗。
360°をつくったのにブロックの配置がそれを活かしていなかったからです。
試行錯誤の結果、不定形のブロックをつくってみたところいきなりスリリングなゲームになり、 そこから一気にステージデザインができあがりました。
お試しください。

近田伸矢

とあるニュースサイトで紹介されたブラウザ上で動く「360°ブロック崩し」、 ちょうどブロック崩し競作が作者間で盛り上がっていた時でもあり、掲示板で紹介させていただきました。
フォームの形も自在に操る谷さんなら作ってしまうかもと少し期待しながら。
・・・試作品が出来て完成するまで僅か数日。
・・・完敗。丸いフォームに閉じこめたブロック崩し、お気に入りのペンダントのように持ち歩きたい作品です。
SHEETブロック崩し

谷孝一

「野には不思議な男がいるものだ」
これほどの技術を持ちながら今までほとんど世間に知られることがなかったプログラマ。
マウスを使ったアイデアと技術もさることながら、ブロックの反射処理が完全にシートに依存している ところが面白い。言い換えるとプログラムに関係なくゲーム中でもその配置を換えてしまえる。
これは、エクセルしかできないことであり、エクセルゲームの大きな可能性を感じさせる作品です。
こういうのもありなんだ!

石田聡(作者)

Excelのワークシートで動作するブロック崩しゲームです。
オーソドックスな画面です。
ラケット、ボールは、シェイプで、ブロックは、セルです。
ステージ数は8です。お試し下さい。
Sheet2にてEditできます。が、オリジナルを消す格好になります。
1?30の数字を入力して下さい。または、文字でも可。
楽しいオリジナル面ができましたら、ご連絡下さい。デフォルト面として登録させていただきます。)
詳しい動作、プログラム動作原理、ソースは、コード公開をご覧下さい。(近日)

近田伸矢

ずばり私のいちばんのおすすめ作品です。理由?最もExcelらしいから。
ブロックを自由自在に変更できるのです。
条件付き書式でブロックの描画消去をしているのも私好み。
たとえば、プレイ中にブロック範囲を選択、DELETEキーを押してみましょう、当たり耐久回数として設定されているセルの値が消去され 、一瞬でゲームクリアー、すばらしい!さらにはボールの通り道を予測してセルに数字を打ち込み、 ボールを囲ってしまうとか、セルの中にボールを閉じこめるとか!とにかく自由度が高い。
いずれもきっちりと当たり判定がなされていればこそ、ユーザーにあらゆるExcelインターフェイスを残したまま 、ゲームとして完成させている、これは石田さんにしか作れません。
「在野に士あり」・・・かつて「何でもアップ」に投稿いただいた作品を初めて見たときの驚愕を反芻しています。
CELLVADER崩し

近田伸矢(作者)

所詮ブロック崩し、何とかなるだろうと思っていた私は浅はかだった・・・。
あれ、sin?cos?ラジアン?そもそも角度と速度から、距離は計算できたっけ?
真っ先に調べたのが数学のサイト、ふう、何とか法則だけは掴めたぞ。

いざ1ドット四方のボールを動かしてみる・・・げっ、ボールに見えない。困った。
CELLVADERの自機は動かすと同時に消している(余白の黒で)ので1回の書き換えで 済むが、ボールは駄目だ。速度が速くなると、前のボールを消すという1ステップ 増えてしまう。

5×5ドットのボールで何とかやってみたのが「ブロック崩し実験」、 やはり遅い。これは仕方ないと割り切ろう。

ブロックの当たり判定は、ブロック先端の3ドットを常に走査しています。
もし位置が変わっていれば当たり判定を行う。色セルにぶち当たれば当たりと判定 反射角度を算出後、反射させます。ラケットには1セル毎に反射角度が設定されています。
もし、当たり判定時、該当セルに数値が入っていれば、ラケットと判断、 当たった分(最大3ドット)の平均値を反射角度として設定して、反射させます。

そこができれば、あとはCELLVADERに組み込むだけでした。
一つ、思わぬ障害が発生しましたが、まあ何とか完成した次第です。

思うことは、VBAはやはりゲーム向きだということ。
最初にしっかりと作っていれば、全く異なる二つのゲーム(インベーダーとブロック崩し)が コードを合体させるだけで動いてしまうこと、これはExcelVBAでしか為し得ないでしょう。

ワークシートセルをドットと見立てて、どこまでゲームが作れるか・・・・ 2003年もこの可能性を追求していきます。
必ずや、初期のファミコンまではいけると思っています。

谷孝一

セルベーダより面白いんじゃないか?
これが最初に遊んだ印象です。
このソフトはセルドットに見立てるセルベーダの手法とセルのを使ってワークシートにBMP画像を 描写するエクセル画の手法を見事に融合させています。
美しいそして面白い!!
シューティングとブロック崩しのいいとこ取りで面白くないはずがない。
ぜひダウンロードしてください。

BreakTheBlock

Yasuhiro(作者)

最初に近田さんから2003年新春Excel祭り「ブロック崩し競作PJT」への 参加を勧められたのが去年の11月21日。

しかしその時はちょうどDelphiの最初の作品(マインスイーパ風ゲーム) http://www.geocities.co.jp/HeartLand-Kaede/5123/BombRemover.lzh を製作している最中で、しかも谷さんの「アンブレイカブル」の試作を見た後。

以前製作したブロック崩しは全然かなわないし、 こんなにすごいブロック崩しは作れないと思い、 「ブロック崩し競作PJT」への参加はあきらめていました。

そこにymatsuさんから1月2日。
>Yasuhiroさん、BreakTheBlockSystem をVBAアクションゲーム博物館 >競作プロジェクトに隠れた名作ブロック崩しを登録ください。
失敗作のため隠しておいた迷作に登録のお誘いが...

ホームページを作成する前に製作した作品で、 配布するつもりも全然なかったものなので、 レジストリもVBAで使えるのかな?と思って使っていました。

あまり出来のいいものではなく、以前からいつか作り直そうと思っていて、 Delphiのマインスイーパも完成した後だったので、作り直すことにしました。

谷さんの「アンブレイカブル」のステージエディットは便利だし、 ボールやバーもラベルに画像を表示させてみよう。
近田さんの「ブロック崩し実験」のバーの反射も使ってみよう。
パソコンの性能に関係なく一定の速度で表示させるには 「セルと仙人」の「第4章 3箇条その3 同期Wait処理?後編?」の処理が使えそうだ。

少し苦労したのは、ボールの無限ループ。
ブロックの高さや幅を変えてみても、どうしてもどこかで無限ループになってしまう。
そこで考えたのが、ボールがブロックと壁に当たったときに、 ボールのX座標Y座標を乱数(?1?+1の範囲)で微妙に変化させることです。
具体的には、ブロックと壁の縦の面に当たったときはボールのY座標を、 ブロックと壁の横の面に当たったときはボールのX座標を、下の関数を 使って(BX = BX + AntiPermanentLoop)のように呼び出して変更しています。

  Function AntiPermanentLoop()
    Randomize
    AntiPermanentLoop = Rnd * 2 - 1
  End Function

ymatsuさんからの登録のお誘いと、谷さんと近田さんの作品を 参考にできたお陰で新しい「BreakTheBlock」が誕生しました。

谷孝一

以前、近田さんにはメールでお話したんですが、私がエクセルゲーム作りを始めたきっかけは あるブロック崩しを見て驚いたことです。その作品のおかげでエクセル→動くということを 初めて認識しました。
その作品がなんとYasuhiroさんのブロック崩しです。
時を経てそのYasuhiroさんの作品と同じところに自分の作品が並んでいる。
光栄というか恐縮というかまさに感無量です。
この作品を見て思ったのは自分がいかにYasuhiroさんの影響を受けていたかということです。
ゲームデザイン 操作性 アイデアその全てが私の作りたいものそのものです。
このマウスを使った操作はゲームの可能性を大きく広げます。
まずはダウンロードしてください。また、新たなエクセルゲーム作家が生まれるかも知れません。

近田伸矢

ExcelVBAゲーム関連サイトが相次いでOPENした2002年、その先陣をきられたのがYasuhiroさんでした。
一度作ったソフトにメスを入れるのは、勇気がいること、コードも覚えてないし、新たに作ったほうが早いこともあるくらいで・・・・。
本祭りのために、Yasuhiroさんは作品をリニューアルされました。
しかもラベル画像表示、無限ループ解消、ラケット反射、同期Wait処理・・・大幅な機能性アップが図られています。
新しい「BreakTheBlock」、まさに「帰ってきたブロック崩し」です!
ブロック崩し実験

谷孝一

このソフトを見て「起動と同時に全画面表示にすれば」と提案したところ答えはNOでした。
普段使っているエクセル画面をそのままゲームにしたいということです。
遊んでいるうちにそのこだわりの意味がはっきり分かりました。
仕事で使っている普通のエクセルなのにその中に別の宇宙があるような奇妙な感覚、 不思議にして引き込まれるこの感覚はエクセルゲームでしかあじわえない世界です。
エクセル画の手法を使った美しいグラフィック、シェイプ1枚使っていないのにこの質感。
近田さんしかできない仕事です。
ブロック崩しfor Excel

ymatsu(作者)

マイボさんの掲示板での出来事、 ブロック崩しを作ってよ。という書き込みに、 じゃあ、作りますよ。と答えたものの、 実際に作ってみると大変でした。

ブロック崩しと聞いて、私が連想するのは、 アルカノイドです。
アーケードゲームで熱中して、その後、パソコンでも遊んだ記憶があります。
もちろん、ファミコンでも、 どうせ作るなら、アルカノイド風に作ろう。
そこまでは、良かったのですが.....、

まず、画面の縦に作りましたが、画面半分が余ってしまう。
それではもったいないと、思い切って横型に仕様変更 そして、今度は、ブロックもボールもバーも全部シェイプで作成しましたが、 処理が遅くなり。駄目。ブロックは、セルに変更。
ボールが動くようになったのは良いが、ボールがちらつく。
ごまかす為に、Zoom小さく表示 (何のために横にしたのかわからなくなった。)
そして、セルのブロックが全く消えない。反射通りに消えない。
ボールの処理を細かく、前後でチェックしよう。
駄目だ、動作が遅くなった。また元に戻す。

そういうわけで、思考錯誤の連続でした。
その頃、谷さんの1作目が公開されて、 面作成機能、ブロックの種類など、フォームを使うことの他は、 自分の方向通りの作品でした。

これでは、もう作れない。と作成をストップ。
.....................................。

暫くして、糸田さん(私の師匠)が作品が公開されて、 その作品を試して、意欲に火がつき、 とりあえず師匠がアップしたことで、 ストップしていた作品を試作としてアップしましたが、 全く駄目。ボロボロ。

アップしたその日は、伊豆の戸田村へ食事&温泉&ドライブで、 車を運転しながら、頭の中で試行錯誤....あれこれ。
そして、 ボールの動き、ブロックの種類を改善して、ちらつきもなくなり、 最初の考えていた画面いっぱいで、 ブロック崩しが楽しんでいただけるようになりました。

ブロックの種類は、15種ほど作りましたが、 チューブ型のブロックが面白い。
ボールが当たると、ブロックを潜る。
このブロックを使って、面白い面も作成しています。

当たりの判定方法など、いろいろ不満な点もありますが、 今後改善できればと思っています。

今回は、わけあって作成をストップしましたが、 別バージョンとして4つ(テニス風、縦形、アイテム有り、色判定) ほど作成しているのもあります。
アイテム有りの破壊型ブロック崩し(仮名)では、ボールの加速モードがあり、 弾む様にボールが反射します。アイテムが落ちてきます。バーが長くなります。
ボールが2個になります。ミサイルを打てます。
今後、皆さんにお見せできることができたらと思っています。

谷孝一

業務用ソフトやパズルゲームなどで有名なymatsuさんの作品です。
ブロックの種類,ステージの多さは今回の作品の中でも群を抜いています。
モニターをいっぱいに使うためにブロック崩しを横型にし、カスタマイズの豊富さも随一です。
この作品1本でブロック崩しが極められます。とにかくすごい!!

近田伸矢

工程表、電子印鑑、数々の実務系ソフトで培われたシェイプ操作テクニックを、 どのようにブロック崩しに生かすのか、そして本人苦手とおっしゃるアクションゲーム固有の恒常ループや同期をどう扱うのか、 リリース前から興味が尽きない作品でした。ymatsuさん・・・脱帽です。
何よりも高い拡張性がその完成度を物語っています。
現在ブロック崩しが一段落して、一旦実務系へシフトされるご様子、しかしながら再びアクションゲームを作られる日もそう遠くないと拝察申し上げます(笑)。