カテゴリー「HSP」の記事

2009年12月 6日 (日)

うあーうえーお

昔々。
あうあーあーあーというニックネームが付けられたゲームがありまして。

そういう意味で、今作ろうとしているゲームを、「うあーうえーお」と命名しました

Sb001

ミサイルの多数表示。
けど、逆に当たり判定が大雑把になるという後進状態。
まあ、トッキッキゲームみたいに、期限があるわけじゃないし、ボチボチいきましょ。
(で、完成しないっと)

| | コメント (0) | トラックバック (0)

2009年11月23日 (月)

HSP?それともC++?

大したことしてませんが。
プログラムを勉強する上で、HSPのまま行くのか?Cへ移行するのか?ってのが密かな葛藤でして。

オレの能力からして、HSPの性能も発揮できないと思うのですが(w、標準言語としてのC言語も魅力的なものでして。

C言語で3Dゲームを作ろう、的な本も買ってあったりはするんですけど、とりあえず、スターブレード「みたいなもの」に向けたプログラムをHSP上で作成中。

Te01

下の四角が「標準」。右上の物体は「ミサイル」。
もぐらたたき風のゲームを作るのが第一段階かな。
何体か出てくる「モグラ」(を模したミサイル)を照準をつけて、マウスをクリックして打ち落とすって内容ですな。

| | コメント (0) | トラックバック (0)

2009年3月 5日 (木)

初音ミク、買ってみた。

国体絡みで、やってみたいことがありまして。
一つは、新潟国体のゲーム。
みごとに停滞中ですが、せめて100メートル走だけでも完成させるべく、モデリングを再開中。共同開発者、求めます、マジで。

もう一つが、ガムシャラな風になれを、ヴォーカロイド初音ミクに歌わせてみること。
体験版をちょっと触って打ち込んでみたところ、かなりの可能性を感じたので、製品版買った。

続きを読む "初音ミク、買ってみた。"

| | コメント (0) | トラックバック (0)

2008年9月 6日 (土)

動作検証用プログラム、終了のお知らせ

ようやく、ここで、このプログラムに「敵キャラ」が登場する。

敵キャラの速度は、自分の過去の走行データに、ある程度の誤差を与えたものを使用することにする。
(というより、プログラムが流用できる(w)

最初から数値を決定していても、プレーヤーの技量がわからないと、(敵キャラが遅すぎて、もしくは早すぎて)ゲームにならないかなぁっと思った。
最強の敵は、常に貴方の心の中に居ます(w

さて。

一旦、きっぴーのモーションまで付けてたくせに、先祖がえりで電卓ゲームみたいになってました(笑)
が、これで「動作検証用」プログラムそのものは、完成。

いよいよ、3D表示へと復帰する・・・・・・・・・はづ。

続きを読む "動作検証用プログラム、終了のお知らせ"

| | コメント (0) | トラックバック (0)

2008年8月16日 (土)

自己ベストへの挑戦

とりあえず。
ゲーム終了時に走行データをファイルに吐き出して、再ゲーム時、そのデータを再生するという仕掛けを加えてみた。

まあ、自己ベストへの挑戦風味。

しかし、現在では「とりあえず今回のデータが、次回の自己ベスト」(つまり遅くても自己ベストが更新される)という意味の無い仕様に。

ファイル書き出すときに、読み込んだ自己ベストの記録と今ゲームの記録を比較すればいいだけの話なんだけど、現在デバッグも兼ねているので、このままです。

仕組みを簡単に言うと、このゲーム(プログラム)は31歩でゴールする。
その一歩一歩の時刻を、配列変数に組み込み、ゲーム終了時に「bestlap.txt」というファイルに、その31個のデーターを保存。
ゲーム開始時に、そのデータを読み込んで、ライバル”■”の走行データとする。

余談だけど、最初のプレイではそんなファイルは存在しないので、読み込まずにゲーム開始。

しかし・・・・・・・。
ファイルの保存の「noteadd」の上書きとか追加とかの意味が良くわからんなぁ。

今でもわからん(笑)

偶然、うまく吐き出せたから、そのまま使っているだけ。
今のところ、さほど重要に感じてないので困っても居ないが、歯がゆい。
ファイルの読み込みと配列変数への入力は、わりと素直にできたのだが・・・・。

最大の難関が、読み込んだ自己ベスト(仮)と現在の時刻を参照して”■”を進ませるということ。

自己ベストデータというのは、意外に細かくて1/1000秒単位だったりする。
で、簡単に「自己ベスト=現在時刻」で進めるプログラムだと1/1000秒の違いで破綻してしまう。

まあ、そんなに高速ではないよな、このプログラム(w

全然うまく作動しない。
ものすごく試行錯誤して、1/100単位に数値を丸める方法を使った。
これで、なんとか意図した動きには近づいた。

でもPCの速度によっては、丸めなくてもいいのかもしれないし、もっと冗長性を持たせたほうがいいのかもしれないな。
ある程度の誤差の範囲内だとOK、とか。

けど、あんまり冗長性もたせる(次の一歩を踏み出す条件を緩和させる)と、どんどん進みすぎて大変なんだよな。

最初、
進まない、もしくは新幹線なみに進む
という両極端な動きしかしないので、困った。
不可能な「仕掛け」とも思った。
なぜかウイスキーが進んだよなぁ、昨日は(笑)

けど、エースコンバットとかのリプレイってのは、きっとこういう仕組みなんだろうと思う。
なんか、そういう勉強があると後々楽かなぁっと思って。
あと、シミュレーションゲームとかにも使えるしね。

Ca370316

そういういや、この二人最近出てこないな(w

続きを読む "自己ベストへの挑戦"

| | コメント (1) | トラックバック (0)

2008年8月10日 (日)

タイムの常時表示 その二

なんとか完成した。
HSPは、同じ位置で文字をおいていくと、どんどん重なってしまう。
そこでCLS(クリアスクリーン、画面消去)で古いデータを消そうとしたんだが・・・・。

CLSって命令入れると、(画面をクリアするだけの命令だと思うんだが)マウスの移動を感知しくなるみたいで(原因は不明だが、マウスの座標値もキャンセルされる?)、挙動がおかしくなって大変だった。

とりあえず、ラップタイムの表示位置を白い仮想の箱型で塗りつぶす方法がネットにあったので使ってみた。
時間表示が小数点以下8桁くらいあるのは、とりあえずおいておいて、
あとは、敵(笑)の挙動と、○○○タイムとのガチンコバトルだな。

これができれば、ボート競技も自転車競技も同じプログラムで「絵」だけ変えればいいからな(ひでぇ)

続きを読む "タイムの常時表示 その二"

| | コメント (0) | トラックバック (0)

タイムの常時表示

http://movie-cg.cocolog-nifty.com/gogogo/2008/06/pbcode0.html
上記で書いてあるソースというのは、まあ100メートル走の「ような」ものなんだけれど。

マウスを動かしたときに、初めて(内部的なランナーの移動)処理を行う。
だから、なにもしないときは何も変化が無い。
当然といえば当然だけど、実際はランナーが(仮に)走らなくても時間は過ぎていくわけで。

そこで、常に経過時間を参照して表示。
マウスの座標に変化があったときに、移動処理を行い、メインルーチンに戻ってくるというプログラムを作っているのだけど、なかなか思うような挙動にならんorz。

しかし、もう寝る(w

| | コメント (0) | トラックバック (0)

2008年8月 3日 (日)

HYPER NIIGATA KOKUTAI

プログラムの勉強、トッキッキのモデリング。
その到達点(まだ通過点だけど)がコレ。

まだ一個目の競技も出来てないんだけど、ガチガチのスポーツゲームを作ろうって気はさらさら無くて、県内各地で開催される競技と、その土地のPRが出来たら良いなっと。

このゲーム(らしきもの)の原点は、もちろんコナミ社のハイパーオリンピックなんだけど、もっと適当な操作(w、でゲームが進行できたらいいなぁと思いついたのが、マウスを左右に振る方法。

ちょっとPCでイライラしたときに、マウスを左右にガチャガチャゆするじゃないですか。
ああいった操作なら、老若男女隔てなくプレイできるかなっと。
発想はWiiみたいな直感ゲームというより、昔PSの周辺機器にあった「ネジコン」なんだけどね。

構想としてはカヌー競技と弓道は入れてみたいなぁ。
カヌー競技の操作方法は今回と変わらないし(w、弓道は、ある画期的な方法を思いついた(笑)
圧倒的に新新潟市での開催種目が多いけど、もうすこし県内全体にバラけさせるつもり。
とりあえず、短距離走くらいは完成させないと(w

モーションもっと細かくしたり、カメラワークをもっとダイナミックにしたり。
なにより、もっとインターフェイスを作りこまないと。
サンデープログラマーにとっては、遠い道のりだな(w

| | コメント (0) | トラックバック (0)

2008年6月 8日 (日)

pb=code-'0'

なぜか、今になって(再び?)プログラムの勉強。
このブログでも、エクセルマクロの話したけど、たまにプログラム組んでみたくなる。
なんせ、工業高校の機械科で学んだことで、一番面白かったのがパソコンのBASICの授業だったことは、当時の担任の先生には内緒だぞ(なぞ)。



さて。というわけでプログラム言語(スクリプト言語ともいうらしい)HSPのお勉強です。
最初はね、わりとサクサク理解できるんだけど、ゲームのあたりから微妙に難しくなる。

途中、”ex+=dx”という記述があるんだけど、ページさかのぼってもそのあたりの説明がない気がするんだよな。
BASICで言うところの”ex=ex+dx”の意味らしい。

あと、難解だったのが「pb=code-'0'」。すげぇ悩んだ(w
この場合の'0'というのは、数値としては0でなく48。
確かに説明はされているんだけどね。言い回しというかなんというか。難解。
詳しくは、WIKIのhttp://ja.wikipedia.org/wiki/ISO/IEC_646でも見てください。

「文字コードの数値」と、「数字として文字」のズレを解決するために、pb=code-48という呪文を記述します、
みたいな書き方のほうが(これでもスクリプトはきちんと動作する)良かったんではないかな。

続きを読む "pb=code-'0'"

| | コメント (0) | トラックバック (0)