« 2009年01月 | メイン | 2009年04月 »

2009年02月25日

【よみもの】うすあじコラム

*ゲームってどうやって作るの?

「テキストやWEBサイトで勉強した。でもその先がわからない。」
と、もやもやしている人も多いはず。

そのもやもやしたものを形にする考え方を紹介します。

とりあえず、シューティングゲームが作りたいとしましょう。
最初の段階で、今日のプログラムのゴールを決めます。今日の分の
ゴールを決めるのは、何日もかかると忘れたり飽きたりするからで
す。プログラムはなんども書き直すことができるので、最初はとび
きり簡単なゴールがいいでしょう。

ゴールを決めるには、画面上の登場人物を決めます。でてくるのは
自機、敵、ミサイル、隕石などでしょうか。

ここでは最初のゴールは「自機を動かす」にしましょう。

さて、まだあまりやることが決まっていない時の基本の進め方は
これです。

1)とにかく画面にだしてみる。
2)とにかく動かしてみる。
3)カッコつけてみる。

では、順番に説明していきます。

1)とにかく画面にだしてみる。

ここで、最終的に何日もかけて、完成した様子を妄想してみます。
グラフィックで描いた自機がキーで左右に動いて、それが動きにあ
わせて傾いたり、アニメーションしたり、手前にある障害物に隠れ
たりしたいなとか、ミサイルの種類は・・・などと、どんどん妄想
してかまいません。でも、1日目から全部をやる必要はありません。

最初に画面上に自機を表示します。それもグラフィックが用意でき
なければboxfで四角を書くだけでOK! これを一般にダミーといい
ます。

2)とにかく動かしてみる。

さて、画面上にダミーの自機が表示されたところで、次は自機をう
ごかします。動かす場合には以下のルールを決める必要があります。

・動く範囲
・入力するキー
・動くステップ(1回の入力でどれだけ動くか)
・使う変数

最初は「画面の端まで」動けるように、そして上下左右動かしたい
場合なら、とりあえず「左右」だけ作って動かしてみるといいでし
ょう。

ここでスクリプトは、「キー入力」->「表示」の繰り返しです。
ゲームでは、ぐるぐる回る部分が必要になります。

動かしてみると、前のキャラが残ってしまうからどうしよう?など
の問題点が判明します。慣れないうちは、このように次から次に問
題が出てきますが、それを乗り越えるのもプログラムのおもしろさ
と言えます。次からは、簡単に対処できるようになります。

3)カッコつけてみる。

さて、次に出来たものに何か手を加えます。
疲れたらここで1日の終わりにしてもOKです。

左右だけから上下も動くようにしたり、背景にグラフィックを表示
したり、得点を表示するのもいいでしょう。

ここからは、1に戻って、作って直して、作って直しての繰り返し
です。また、スクリプトの中身にもコメントを書いたり、わかりや
すい変数名をつけてカッコよくすることも重要です。人には見せな
くても、常にカッコをつけると、きっといいことがあります。

さて、簡単なゲーム作成の流れを書いてみました。
もやもやしているあなた!ぜひ、何か作ってみてください。
(うすあじ)

投稿者 usuaji : 02:27

【講座】「教えて!おにたま!!」

<松尾 さんからのおたより>

先日は、n88-basicで言うところの「line input」に
変わるノートパット命令による代替え方法を教えていただき、
あらゆる方向に応用でき、感謝しています。
今回は、instr関数やstrmid関数中で、chr$("&h"22)や、
chr$("&h"0d)といった、文字列では指定できないキャラクタ
コードを指定するには、どのようにすればいいのか
教えてください。
また、「mid$("abcdef",2,3)="123"」といった、文字列の1部
書き換えはどのようにすればいいのでしょうか。


<こたえ>

またまた、n88-basicなど昔のMicrosoft系BASICにあった
文字列操作に関連した質問ですね。chr$というのは、HSPには
存在しない文字列関数で、指定したコードの文字列に変換する
機能を持っていました。
さて、HSPに限らず最近の言語では、キーボードから直接入力
できない文字をエスケープシーケンスという手法で記述する
ことができるようになっています。
chr$関数の中に入るコードは、ASCIIコードと呼ばれていて、
「chr$(&H22)は「"(ダブルクォーテーション)」」、
「chr$(&H0d)はCR(改行)」ということになります。

http://ja.wikipedia.org/wiki/ASCII

HSPでこれらの文字を入力する場合は、
「\"」がダブルクォーテーション、「\r」が改行になります。
(Windowsの改行では、「\n」の方が多く使われています)
ただし、この記述方法だと、chr$のように自由なコードを
指定することはできません。
自由なコードを記述する場合は、poke命令を使って直接
文字列が格納されているメモリを書き換えることで同様の
処理になります。

s="*":poke s,0,$60
mes s

これを応用すれば、文字列の1部を書き換えることも可能です。
文字列の操作や格納方法については、付属するドキュメント
hsp3str.htm(HSP ver3文字列のひみつ)に情報が書かれている
ので、参考にしてみてください。

それでは、またまた。HSPに限らず、PCのコトや
プログラミング関係どんなことでもお便り待っていますね。

(おにたま)

投稿者 usuaji : 02:26

【よみもの】ゆめゆめ日記 第2回

こんにちは、ゆめゆめゆうかです。

HSPTV!トップページのバナーを
変えてみました。
「もーりお」がいるからね。
みんな見てね。

このイラストのイメージは、
HSPの大波にもーりおが
飲まれてしまっている
イメージだよ。

HSPのビッグウェーブが
来てるってことだよ!

ビッグウェーーーーブ!

うん
言ってみたかっただけ。

帰ったら、スチームを浴びようと
思います。

冬は肌が乾燥するからね。

知ってるかな?
「イオンスチーマー」

水蒸気がもくもくでてきて
それを顔にあてるんだよ。

みんな家電好き?
男の子って家電に詳しいよね?

これも家電みたいなものだよ。

20代女子はそーゆうものが必要なんだよ。

テレビ見ながら
スチームをもくもく。
気持ちいいなーー♪

明日は肌がつるつるだよー。

イオンスチーマーについて質問があったら
メールください。

宛先は”うすあじ”( hsptv@hspcenter.com )までで~す。
(ゆめゆめゆうか)

投稿者 usuaji : 02:25

HSPTV!メルマガ 第70号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第70号 N0.0070 2009/02/25 発行

編集長:うすあじ ( hsptv@hspcenter.com )
発行:HSPTV!(ONION software)
WEBサイト:http://hsp.tv/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録解除などはこちら http://hsp.tv/play/service.html

■はじめに

こんにちは、うすあじです。

お久しぶり、という感じで時間があいてますね。
コンテストも終わって、一段落。

春が待ち遠しいけど、花粉は困るという微妙な毎日です。

今回は新企画「うすあじコラム」を掲載。
”ゲームってどうやって作るの?”というぼんやりした問題に
ついて書いてみました。

桜の知らせを待ちつつ、メルマガスタートです。
(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今回のインデックス

【よみもの】ゆめゆめ日記 第2回 (ゆめゆめゆうか)

【講座】「教えて!おにたま!!」

【よみもの】うすあじコラム「ゲームってどうやって作るの?」

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【よみもの】ゆめゆめ日記 第2回

こんにちは、ゆめゆめゆうかです。

HSPTV!トップページのバナーを
変えてみました。
「もーりお」がいるからね。
みんな見てね。

このイラストのイメージは、
HSPの大波にもーりおが
飲まれてしまっている
イメージだよ。

HSPのビッグウェーブが
来てるってことだよ!

ビッグウェーーーーブ!

うん
言ってみたかっただけ。

帰ったら、スチームを浴びようと
思います。

冬は肌が乾燥するからね。

知ってるかな?
「イオンスチーマー」

水蒸気がもくもくでてきて
それを顔にあてるんだよ。

みんな家電好き?
男の子って家電に詳しいよね?

これも家電みたいなものだよ。

20代女子はそーゆうものが必要なんだよ。

テレビ見ながら
スチームをもくもく。
気持ちいいなーー♪

明日は肌がつるつるだよー。

イオンスチーマーについて質問があったら
メールください。

宛先は”うすあじ”( hsptv@hspcenter.com )までで~す。
(ゆめゆめゆうか)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】「教えて!おにたま!!」

<松尾 さんからのおたより>

先日は、n88-basicで言うところの「line input」に
変わるノートパット命令による代替え方法を教えていただき、
あらゆる方向に応用でき、感謝しています。
今回は、instr関数やstrmid関数中で、chr$("&h"22)や、
chr$("&h"0d)といった、文字列では指定できないキャラクタ
コードを指定するには、どのようにすればいいのか
教えてください。
また、「mid$("abcdef",2,3)="123"」といった、文字列の1部
書き換えはどのようにすればいいのでしょうか。


<こたえ>

またまた、n88-basicなど昔のMicrosoft系BASICにあった
文字列操作に関連した質問ですね。chr$というのは、HSPには
存在しない文字列関数で、指定したコードの文字列に変換する
機能を持っていました。
さて、HSPに限らず最近の言語では、キーボードから直接入力
できない文字をエスケープシーケンスという手法で記述する
ことができるようになっています。
chr$関数の中に入るコードは、ASCIIコードと呼ばれていて、
「chr$(&H22)は「"(ダブルクォーテーション)」」、
「chr$(&H0d)はCR(改行)」ということになります。

http://ja.wikipedia.org/wiki/ASCII

HSPでこれらの文字を入力する場合は、
「\"」がダブルクォーテーション、「\r」が改行になります。
(Windowsの改行では、「\n」の方が多く使われています)
ただし、この記述方法だと、chr$のように自由なコードを
指定することはできません。
自由なコードを記述する場合は、poke命令を使って直接
文字列が格納されているメモリを書き換えることで同様の
処理になります。

s="*":poke s,0,$60
mes s

これを応用すれば、文字列の1部を書き換えることも可能です。
文字列の操作や格納方法については、付属するドキュメント
hsp3str.htm(HSP ver3文字列のひみつ)に情報が書かれている
ので、参考にしてみてください。

それでは、またまた。HSPに限らず、PCのコトや
プログラミング関係どんなことでもお便り待っていますね。

(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【よみもの】うすあじコラム

*ゲームってどうやって作るの?

「テキストやWEBサイトで勉強した。でもその先がわからない。」
と、もやもやしている人も多いはず。

そのもやもやしたものを形にする考え方を紹介します。

とりあえず、シューティングゲームが作りたいとしましょう。
最初の段階で、今日のプログラムのゴールを決めます。今日の分の
ゴールを決めるのは、何日もかかると忘れたり飽きたりするからで
す。プログラムはなんども書き直すことができるので、最初はとび
きり簡単なゴールがいいでしょう。

ゴールを決めるには、画面上の登場人物を決めます。でてくるのは
自機、敵、ミサイル、隕石などでしょうか。

ここでは最初のゴールは「自機を動かす」にしましょう。

さて、まだあまりやることが決まっていない時の基本の進め方は
これです。

1)とにかく画面にだしてみる。
2)とにかく動かしてみる。
3)カッコつけてみる。

では、順番に説明していきます。

1)とにかく画面にだしてみる。

ここで、最終的に何日もかけて、完成した様子を妄想してみます。
グラフィックで描いた自機がキーで左右に動いて、それが動きにあ
わせて傾いたり、アニメーションしたり、手前にある障害物に隠れ
たりしたいなとか、ミサイルの種類は・・・などと、どんどん妄想
してかまいません。でも、1日目から全部をやる必要はありません。

最初に画面上に自機を表示します。それもグラフィックが用意でき
なければboxfで四角を書くだけでOK! これを一般にダミーといい
ます。

2)とにかく動かしてみる。

さて、画面上にダミーの自機が表示されたところで、次は自機をう
ごかします。動かす場合には以下のルールを決める必要があります。

・動く範囲
・入力するキー
・動くステップ(1回の入力でどれだけ動くか)
・使う変数

最初は「画面の端まで」動けるように、そして上下左右動かしたい
場合なら、とりあえず「左右」だけ作って動かしてみるといいでし
ょう。

ここでスクリプトは、「キー入力」->「表示」の繰り返しです。
ゲームでは、ぐるぐる回る部分が必要になります。

動かしてみると、前のキャラが残ってしまうからどうしよう?など
の問題点が判明します。慣れないうちは、このように次から次に問
題が出てきますが、それを乗り越えるのもプログラムのおもしろさ
と言えます。次からは、簡単に対処できるようになります。

3)カッコつけてみる。

さて、次に出来たものに何か手を加えます。
疲れたらここで1日の終わりにしてもOKです。

左右だけから上下も動くようにしたり、背景にグラフィックを表示
したり、得点を表示するのもいいでしょう。

ここからは、1に戻って、作って直して、作って直しての繰り返し
です。また、スクリプトの中身にもコメントを書いたり、わかりや
すい変数名をつけてカッコよくすることも重要です。人には見せな
くても、常にカッコをつけると、きっといいことがあります。

さて、簡単なゲーム作成の流れを書いてみました。
もやもやしているあなた!ぜひ、何か作ってみてください。
(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PR]オススメHSP3の本
・はじめてのHSP3

・3Dゲーム・クックブック HSP+Easy3D入門

・HSP3.1プログラミング入門

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■編集後記

そんなこんなで、そろそろ新学期。

転勤の人、卒業の人、またこれから入学の人、などなどいろんな人
がいると思います。新しい生活は慣れるまで大変でしょうが
無理せずがんばってください。

花粉に注意してお過ごしください。
(うすあじ)

■バックナンバーについて

バックナンバーの公開ページはこちら
http://www.hspcenter.com/hsptvm/

■解約方法

 登録解除などはこちら
http://hsp.tv/play/service.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
編集長:うすあじ ( http://hspcenter.com/ )
記事の投稿、ご意見、ご希望はこちらまで hsptv@hspcenter.com

ONION software Copyright 2009(c) All rights reserved.
メルマガ本文の再配布・商利用、転載は禁止させて頂きます。
HSPのスクリプトサンプルは自由に再利用しても構いません。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

投稿者 usuaji : 02:23