krok

since: 2004-01-01 update: 2004-01-24 count: 5102

これは影踏みシューです。

動作環境

OS は Windows と Linux で。

CPU はそれなりのものを。 Athlon 700MHz でまあ問題無く動くようにしてます。

グラフィックカードは 3D アクセラレートが効くやつなら問題無いと思います。 GeForce3 Ti500 にて動作確認しています。

動作が遅い時は OpenGL のドライバを確認したり、 設定ツールで背景描画をやめたりフルスクリーンにしたりしてみて下さい。 ノートマシンなど、まともなビデオカードを積んでいないマシンでは まず厳しいと思われます。

実行方法

krok.exe をダブルクリック。

Linux なら make して ./krok

操作方法

上下左右で移動、 z もしくはジョイスティックの 1つ目のボタンが A ボタン、 x もしくはジョイスティックの 2つ目のボタンが B ボタン、 c もしくはジョイスティックの 3つ目のボタンが C ボタン、 です。 あとエスケープで終了です。

システム

移動

上下左右で動いて下さい。 敵弾に当たると 1 ミスで、三回死ぬとゲームオーバーです。

影踏み

敵弾が自機の後ろに過ぎていくと、 その敵弾は色が暗くなり速度が落ちます。 この状態になった敵弾は人畜無害で 取ることによって rok レーザーを溜めることができます。 rok レーザーは 15本まで一度に溜めることができます。

A ボタン

A ボタンでショットが出ます。 A ボタンを押しっぱなしにするとレーザーが出ます。 レーザーを撃っている間は自機の速度が落ちて弾幕を避けやすくなります。

→ 特にボスなど、固い敵はレーザーで攻撃すると速く破壊できます。

B ボタン

B ボタンで溜まっている rok レーザーを発射できます。 rok レーザーは敵を誘導して攻撃する、攻撃力の高い攻撃です。

→ 敵弾をこまめに回収して rok レーザーを有効に 使用することによってゲームが格段に楽になります。

rok レーザーが画面に存在できる最大数は 15 です。

C ボタン

C ボタンでガードバリアを撃つことができます。 ボタンを押し続けることによってバリアを大きくすることができ、 ボタンを離すとガードバリアアタックを発射します。

→ ガードバリア中は完全無敵なので、弾に囲まれて危険になったら これを使うことによって危機を回避することができます。

ガードバリア展開中はガードバリアゲージを消費します。 ガードバリアゲージはガードバリア開始時に 25% 消費し、 あとは押している時間に応じて消費していきます。

→ ゲージは 1% でも残っていればガードバリアを使えますので、 25%*4 と消費するよりも、C ボタンを多少押しっぱなしにして、 例えば 33%*3+1% といったゲージ配分をするとお得です。

ガードバリア展開中は rok ゲージは減少しません。

スコアシステム

基本

敵を破壊するとその敵の素点が入ります。

rok システム

このとき、画面上に rok レーザーが出ているか、 rok レーザーが消えてから 1 秒以内であれば、 その本数に応じて敵の素点に倍率がかかります。 前述の通り、 rok レーザーは 15 本まで溜められるので、 最大 16 倍の倍率がかかることになります。

rok chain

倍率が 16 倍になっている最中に rok レーザーを発射すると、 倍率に発射した本数分のボーナスが加算されます。 このボーナスは倍率が 16 倍でなくなった時になくなります。 これにより、倍率は最大 100 倍までかかります。

ボスボーナス

ボス撃破時に、残り時間に応じたボーナスが入ります。

各種設定

設定は attohttpd.exe を起動して行います。 実行するとブラウザが起動すると思われますので、 それで後は見た目通りの操作をして下さい。 終了する時は現れた黒い箱を閉じて下さい。

まだ実験的なものなのでうまく動かないかもしれません。 うまくいかなかったらご連絡ください。

これはその名の通り Web サーバです。 外部からのアクセスは拒否する設定になっていますので、 セキュリティとかそういうことは気にしなくて良いと思います。 詳しくは下記を見て下さい。 http://shinh.skr.jp/attohttpd/

その他

しばらくいじるひまもなさげなのでとりあえず出しました。 詳しくは こちら とかを参考にして下さいませ。

少しいじりましたが、相変わらず 1面以外はまともに作っていません。

GPL2 に従って配布します。

save/kk.rc をいじれば何かが起きます。 BGM を鳴らしたければ kk.rc で指定されているファイルを data/sounds 以下に置いて下さい。 例えば、 data/sounds/stage1.ogg を置けば一面が鳴ります。 kk.rc で stage1.mp3 とかに変えてしまえば mp3 も鳴ります。

SE データは今のところ、 sePlayerShot: PARSEC47 の shot.wav 、 sePlayerRok: rR の laser_start.wav をいじったもの 、 seSmallEnemyDestroy: rR の explosion2.wav 、 sePlayerLaser: KDE の startup.wav をいじったもの 、 sePlayerDead: Noiz2sa の shipdst.wav 、 となっています。 sePlayerBarrier と sePlayerBarrierAtack は 音ファイルを置けば鳴ります。他は鳴りません。

ステージをいじる場合は data/stage?/stage.lua を適当にいじって下さい。 LuaBullet.txt が参考になるかも。

CAVE のシューティング (特にエスプレイド) を 極端に意識した作りになっています。あと斑鳩もそれなりに。 しかしまあ、うまくいかんもんです。CAVE はすごいです。

落ちるなど問題がある場合は out.txt を メールなんかで送って頂けると助かります。

FPS はソフトの処理落ちでも落ちます。DROPS の項目を見て下さい。 FRM DROPS はフレームスキップが起きたターン数です。

SYS DROPS はそれでも間に合わなかったターン数です。 SYS DROPS が存在すると実際に速度が遅くなっています。 現状 SYS DROPS は外してみています。

謝辞など

エスプとか斑鳩とか。

D言語 を用いています。

Lua言語 を用いています。

SDL を用いています。

OpenGL を用いています。

ABAさん のソースや音を少し頂いている部分があります。

I-Saintさんのレーザー移動アルゴリズム をほぼそのまま使わせて頂いています。


home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h