こいつらを引き取ってください
公式サイト
http://www.onionsoft.net/hsp/
過去スレ
http://pc.2ch.net/test/read.cgi/tech/1004022176/ HSP - Hot Spup Processsor Part 8
http://pc.2ch.net/test/read.cgi/tech/1002478838/ HSP - Hot Spup Processsor Part 7
http://pc.2ch.net/test/read.cgi/tech/1001122847/ HSP - Hot Soup Processor Part 6
http://pc.2ch.net/test/read.cgi/tech/993489862/ HSP - Hot Soup Processor Part 3
関連スレ
http://pc.2ch.net/test/read.cgi/tech/1004522141/ HSPの評価って
http://pc.2ch.net/test/read.cgi/tech/1000213553/ HSP質疑応答スレ
http://pc.2ch.net/test/read.cgi/tech/1003825283/ HSPの詳しい解説とプログラムの仕方
http://pc.2ch.net/test/read.cgi/tech/1002027440/ 10分以内でHSPを使って何か作るスレ
★ゲーム製作期待の星! HSP Part 9 ★
■ このスレッドは過去ログ倉庫に格納されています
01/11/09 22:49ID:???
100名前は開発中のものです。
2009/12/02(水) 10:09:58ID:rmtb1xkZ HSPはアクションゲーム作るのにも適してますか
101名前は開発中のものです。
2009/12/02(水) 12:46:21ID:1D6t3Ert それを解決するためにはアクションゲームとはなにか。
という定義から考えなければならない。
という定義から考えなければならない。
102名前は開発中のものです。
2010/01/16(土) 15:02:23ID:ehDf6fp6103名前は開発中のものです。
2010/03/04(木) 20:54:15ID:LD9yAEkV >>100が昨年12月に出したお題、「HSPはアクションゲームを作るのに適しているか?」
について、私なりの論考を書いておくものである。
1.HSPはゲームを作るのに適しているか?
これはもう素晴らしくYESである。私は後述するノートン問題により、HSP以外の選択肢は
ないものかと検索してみた。どうやら次の候補に来るのはDXライブラリであるようだ。が、
「意味は分からないだろうけどとりあえずこの通りにして開発環境を築きなさい」として
長々と書き連ねてあるのを読むと、それだけでやる気がなくなるのである。他にBASICに
似た言語としてDarkBasicというのがあるらしいが、有料のようだ。無料で、しかも簡単。
HSPは素晴らしい。
2.HSPはアクションゲームを作るのに適しているか?
HSPなら画像、音声出力、キー、ジョイパッドからの入力も簡単である。ポインタ、構造体
も関係ない。逆に言えば、そういうプログラム上の煩雑さを除いて、アルゴリズムだけに
特化するならば、何言語だろうがその構造は同じである。ここでは、格闘ゲームではなく、
悪魔城ドラキュラのようなアクションゲームについて考えてみる。地形、敵、敵の弾といった
ものは、HSPの場合配列変数に格納されるだろう。C言語の場合(ポインタを使う場合、と
いってもいいだろうが)、敵が1匹死ぬと、該当する変数を不要のものとし、ポインタをつなぎ
直す、といった処理が必要になってくる。座標や敵の種類、現在どういった状況であるのか、
といったすべての変数について、ポインタのつなぎ直し処理が必要になってくるのだ。
それを防ぐためには、敵に関するすべての情報を構造体とし、一つの変数に格納する必要が
あるかもしれない。
について、私なりの論考を書いておくものである。
1.HSPはゲームを作るのに適しているか?
これはもう素晴らしくYESである。私は後述するノートン問題により、HSP以外の選択肢は
ないものかと検索してみた。どうやら次の候補に来るのはDXライブラリであるようだ。が、
「意味は分からないだろうけどとりあえずこの通りにして開発環境を築きなさい」として
長々と書き連ねてあるのを読むと、それだけでやる気がなくなるのである。他にBASICに
似た言語としてDarkBasicというのがあるらしいが、有料のようだ。無料で、しかも簡単。
HSPは素晴らしい。
2.HSPはアクションゲームを作るのに適しているか?
HSPなら画像、音声出力、キー、ジョイパッドからの入力も簡単である。ポインタ、構造体
も関係ない。逆に言えば、そういうプログラム上の煩雑さを除いて、アルゴリズムだけに
特化するならば、何言語だろうがその構造は同じである。ここでは、格闘ゲームではなく、
悪魔城ドラキュラのようなアクションゲームについて考えてみる。地形、敵、敵の弾といった
ものは、HSPの場合配列変数に格納されるだろう。C言語の場合(ポインタを使う場合、と
いってもいいだろうが)、敵が1匹死ぬと、該当する変数を不要のものとし、ポインタをつなぎ
直す、といった処理が必要になってくる。座標や敵の種類、現在どういった状況であるのか、
といったすべての変数について、ポインタのつなぎ直し処理が必要になってくるのだ。
それを防ぐためには、敵に関するすべての情報を構造体とし、一つの変数に格納する必要が
あるかもしれない。
104名前は開発中のものです。
2010/03/04(木) 20:56:07ID:LD9yAEkV もちろん、配列においても、几帳面な人は死んだ敵の変数は不要のものとし、それ以降の
変数をひとつずつ前にずらす、といったことをやっているかもしれない。
これならば、敵の処理にかかる時間を最小限におさえることができるからだ。しかし一般的
には、敵のフラグという配列変数を用意し、敵の出現と同時に1とし、死ぬと同時に0とする
だろう。この場合、画面に登場する敵の最大数を100とするならば、1フレームごとに100
個のフラグをチェックすることになる。だが現代のPCは十分に高速であるので、気にする
必要もないだろう。
現実には敵の出現数はせいぜい10匹程度であると思われる。HSPの場合注意すべきは、
むしろ地形の方である。例えば32*32ドットの矩形を1ブロックとする。画面が640*480で
あるならば、最大20*15=300個のブロックが配置可能ということになる。存在するブロック
すべてについて、主人公と地形の当たり判定を行わなければならないのだ。インタプリタ
型言語であるHSPにとって、これは苦しい問題だ。敵が壁に当たったら反転する、地面の
端に来たら反転する、といったアルゴリズムである場合、敵と地形との当たり判定も発生
するのだ。例えばawait 16としている場合、16ミリ秒をオーバーすることは由々しき問題
だ。自分のPCでゲームバランスを調整するのであるから、もしも16ミリ秒をオーバー
しているのであれば、自分より速いPCの持ち主では速すぎてものすごく難しいゲームに
なっている可能性もある。この、地形との当たり判定問題に関しては、より巧妙なアルゴ
リズムが必要であるかもしれない。例えば、地形の配列が
chikei(3)="100000000000011"
となっているとする。これは左から4ブロックめの、縦1列の状況である。今主人公がジャ
ンプして、着地しようとしているところだとする。ここでは、主人公の足元の1番前と1番後ろ、
2点の座標だけについて当たり判定を行うものとする。前の座標が今、x=100、y=418である
場合、int(100/32)=3、int(418/32)=13、つまりchikei(3)の14番目の数字を見てただちに
当たりと判定することができる。
変数をひとつずつ前にずらす、といったことをやっているかもしれない。
これならば、敵の処理にかかる時間を最小限におさえることができるからだ。しかし一般的
には、敵のフラグという配列変数を用意し、敵の出現と同時に1とし、死ぬと同時に0とする
だろう。この場合、画面に登場する敵の最大数を100とするならば、1フレームごとに100
個のフラグをチェックすることになる。だが現代のPCは十分に高速であるので、気にする
必要もないだろう。
現実には敵の出現数はせいぜい10匹程度であると思われる。HSPの場合注意すべきは、
むしろ地形の方である。例えば32*32ドットの矩形を1ブロックとする。画面が640*480で
あるならば、最大20*15=300個のブロックが配置可能ということになる。存在するブロック
すべてについて、主人公と地形の当たり判定を行わなければならないのだ。インタプリタ
型言語であるHSPにとって、これは苦しい問題だ。敵が壁に当たったら反転する、地面の
端に来たら反転する、といったアルゴリズムである場合、敵と地形との当たり判定も発生
するのだ。例えばawait 16としている場合、16ミリ秒をオーバーすることは由々しき問題
だ。自分のPCでゲームバランスを調整するのであるから、もしも16ミリ秒をオーバー
しているのであれば、自分より速いPCの持ち主では速すぎてものすごく難しいゲームに
なっている可能性もある。この、地形との当たり判定問題に関しては、より巧妙なアルゴ
リズムが必要であるかもしれない。例えば、地形の配列が
chikei(3)="100000000000011"
となっているとする。これは左から4ブロックめの、縦1列の状況である。今主人公がジャ
ンプして、着地しようとしているところだとする。ここでは、主人公の足元の1番前と1番後ろ、
2点の座標だけについて当たり判定を行うものとする。前の座標が今、x=100、y=418である
場合、int(100/32)=3、int(418/32)=13、つまりchikei(3)の14番目の数字を見てただちに
当たりと判定することができる。
105名前は開発中のものです。
2010/03/04(木) 20:56:48ID:LD9yAEkV 3.NORTON INTERNET SECURITY 2010問題
最近になって起こった問題である。私のPCもそうだが、これがインストールしてある。HSP
の実行ファイルをノートンが勝手に消してしまうのである。おにたま氏がノートンに改善を
求め、ノートンが「修正しました」とおにたま氏に連絡したが、直っていない。つまりこれは、
同セキュリティソフトをインストールしてあるすべてのPCで、HSP製のソフトが動かないと
いうことを意味する。このため私は>>100に、アクションゲームを作るのに最適なソフトと
してHSPをお勧めすることができない。驚くべきことに、おにたま氏を初めとするこの問題
に言及している人は、誰も怒っていない。私は昔ソフトウェアの品質保証の仕事をしていた
こともある。烈火のごとく怒るべきである。ノートンは徹夜してでも直せよと。
ノートンは世界からHSPを抹殺しようとしている。
最近になって起こった問題である。私のPCもそうだが、これがインストールしてある。HSP
の実行ファイルをノートンが勝手に消してしまうのである。おにたま氏がノートンに改善を
求め、ノートンが「修正しました」とおにたま氏に連絡したが、直っていない。つまりこれは、
同セキュリティソフトをインストールしてあるすべてのPCで、HSP製のソフトが動かないと
いうことを意味する。このため私は>>100に、アクションゲームを作るのに最適なソフトと
してHSPをお勧めすることができない。驚くべきことに、おにたま氏を初めとするこの問題
に言及している人は、誰も怒っていない。私は昔ソフトウェアの品質保証の仕事をしていた
こともある。烈火のごとく怒るべきである。ノートンは徹夜してでも直せよと。
ノートンは世界からHSPを抹殺しようとしている。
106名前は開発中のものです。
2010/03/08(月) 18:40:40ID:KjIgRWrY 「論考」ってバカじゃね?
107名前は開発中のものです。
2010/03/08(月) 23:52:36ID:xLHwVxSC 一生懸命長文書いたんだから、そんなに責めてやるなよ
108名前は開発中のものです。
2010/03/09(火) 10:24:36ID:rBu1byup ここまでHSPついて真面目に考えてくれる人も少ない
109名前は開発中のものです。
2010/03/21(日) 16:18:43ID:IJrbN5IE 割と素直に感動した
110名前は開発中のものです。
2010/04/02(金) 13:38:46ID:PHi8AHxO HSPユーザに質問があります。
ぼくはプログラミングのとっかかりはHSPだったので、使い勝ってがいいのはわかります。
簡単なゲームならすぐに作れるし。
しかし、 ぼくは出会ってしまったんです。 FLASHに。。
確かにムリョウではないですFlashは。
しかしFlashのあまりのすばらしさに感動してしまったのです。
グラフィックを描くことが前提で作られている。 オブジェクトも階層化できるので
HSPみたいに変数がかぶるなどという低次元な心配がいらない。
はっきりいって、HSPで軽くプログラミングを楽しみたいという自分程度のプログラマー
なら、Flashのほうが断然いいのでは?? と思ってしまいました。
HSPユーザーのみなさんはどう思われますか?
HSPを使う理由ってなにかあるのでしょうか?
ぼくはプログラミングのとっかかりはHSPだったので、使い勝ってがいいのはわかります。
簡単なゲームならすぐに作れるし。
しかし、 ぼくは出会ってしまったんです。 FLASHに。。
確かにムリョウではないですFlashは。
しかしFlashのあまりのすばらしさに感動してしまったのです。
グラフィックを描くことが前提で作られている。 オブジェクトも階層化できるので
HSPみたいに変数がかぶるなどという低次元な心配がいらない。
はっきりいって、HSPで軽くプログラミングを楽しみたいという自分程度のプログラマー
なら、Flashのほうが断然いいのでは?? と思ってしまいました。
HSPユーザーのみなさんはどう思われますか?
HSPを使う理由ってなにかあるのでしょうか?
111名前は開発中のものです。
2010/04/02(金) 13:42:42ID:PHi8AHxO つづきですが、Flashのスクリプトにはactionscript3.0という高速に実行できる
環境もありますし、
世界中で3DエンジンやらLightWaveなど有名ソフトと連携するためのライブラリが
あります。
さらにブラウザ上で動かすので、windowsでもmacでも遊ぶ事が出来ます。
環境もありますし、
世界中で3DエンジンやらLightWaveなど有名ソフトと連携するためのライブラリが
あります。
さらにブラウザ上で動かすので、windowsでもmacでも遊ぶ事が出来ます。
112名前は開発中のものです。
2010/04/02(金) 13:43:09ID:312z5Jcj ゲームしか作らないならそれでも良いけど
4がつばかは昨日までですよ
4がつばかは昨日までですよ
113名前は開発中のものです。
2010/04/02(金) 16:57:57ID:PHi8AHxO >112
ぼくはまさにゲームの話をしてるんですよ。
HSPでPhotoshopでもつくろうっていうんですか?
ぼくはまさにゲームの話をしてるんですよ。
HSPでPhotoshopでもつくろうっていうんですか?
114名前は開発中のものです。
2010/04/03(土) 13:13:58ID:9Yh2mBFe 2dスクロールアクションをつくっているんだけど、
SFCのスーパーマリオみたいなオフセット位置の決め方が分からない
具体的にいうと、マリオの向いている方向が、より遠くまで見えて、
急に向きを変えたりしても、違和感なくオフセット位置が動くような。
どなたかアイデアありませんか?
マリオのコードが見たい・・
SFCのスーパーマリオみたいなオフセット位置の決め方が分からない
具体的にいうと、マリオの向いている方向が、より遠くまで見えて、
急に向きを変えたりしても、違和感なくオフセット位置が動くような。
どなたかアイデアありませんか?
マリオのコードが見たい・・
115名前は開発中のものです。
2010/04/03(土) 14:21:31ID:/HNuBj6+ >>114
キャラクターの向き boolen D (false右向きR,true左向きL)
キャラクターの位置 integer X,Y
ビューポイントX integer VX (Xに対しての相対位置)
ビューポイントXL const VlX (VXが最終的にあるべき位置)
ビューポイントXR const VrX
if D
{
XVがVlXと同じじゃなければ近づける
} else {
XVがVrXと同じじゃなければ近づける
}
キャラクターの向き boolen D (false右向きR,true左向きL)
キャラクターの位置 integer X,Y
ビューポイントX integer VX (Xに対しての相対位置)
ビューポイントXL const VlX (VXが最終的にあるべき位置)
ビューポイントXR const VrX
if D
{
XVがVlXと同じじゃなければ近づける
} else {
XVがVrXと同じじゃなければ近づける
}
116名前は開発中のものです。
2010/04/03(土) 18:50:36ID:GPcMKza7 C++しか知らん俺にHSPはどんなことが出来るのか教えてくれ
○○の処理がどんな風に出来る、とか
○○の処理がどんな風に出来る、とか
117名前は開発中のものです。
2010/04/03(土) 20:52:08ID:2IE5q2HF ウインドウの作成が1行でできる
他色々
他色々
118名前は開発中のものです。
2010/04/04(日) 14:23:19ID:hFzrHQaf >114
洞窟物語のような感じかな?
洞窟物語のような感じかな?
119名前は開発中のものです。
2010/04/05(月) 07:33:20ID:cS3R7I9s >>116
何も書かなくても問題なく実行できる
何も書かなくても問題なく実行できる
120名前は開発中のものです。
2010/04/05(月) 13:48:01ID:dc21abzx >>116
Win32 API他、既存のDLLがけっこうお手軽に利用できる。COMも使える。
Win32 API他、既存のDLLがけっこうお手軽に利用できる。COMも使える。
121名前は開発中のものです。
2010/04/05(月) 13:50:56ID:dc21abzx ていうか、マニュアル読むかコンテストのページ見た方が早い。
122名前は開発中のものです。
2010/04/05(月) 20:01:05ID:dKgEjKp6123116
2010/04/05(月) 23:05:57ID:LnGtu5ZQ なるほど、なんとなく分かった。ありがとう
124名前は開発中のものです。
2010/04/07(水) 08:40:57ID:Vkp0Vww4 >>103
変数には文字型配列を使うと管理が楽だよ。
応用すれば何かを重ねて表示する場合にも使える。
基本入出力命令と文字列操作関数はマスターした方がいいかも。
キャラ同士も地形と同じ考え方でいいよ。
移動するたびにキャラ番号を座標から導き出したマスに置く。
ただすでに味方が置いてあるマスの場合、そこには一つしか番号が置けない欠点があるね。
サイズが異なったものや斜面処理でも条件式を加えれば応用は可能だよ。
昔のゲームソフトは速度的に遅かったからそういう処理が多かったんだ。
変数には文字型配列を使うと管理が楽だよ。
応用すれば何かを重ねて表示する場合にも使える。
基本入出力命令と文字列操作関数はマスターした方がいいかも。
キャラ同士も地形と同じ考え方でいいよ。
移動するたびにキャラ番号を座標から導き出したマスに置く。
ただすでに味方が置いてあるマスの場合、そこには一つしか番号が置けない欠点があるね。
サイズが異なったものや斜面処理でも条件式を加えれば応用は可能だよ。
昔のゲームソフトは速度的に遅かったからそういう処理が多かったんだ。
125名前は開発中のものです。
2010/04/07(水) 21:28:29ID:h2+BYV8H >>124
RPGならともかく、アクションはそれじゃダメだろ
ポインタですべてのインスタンスを配列かリストで管理すべき。
使用中のインスタンスと未使用のインスタンスを持って、
適宜相互にインスタンスを移動するのが普通だし、汎用的。
それより、アクションはインスタンスの状態管理が重要
状態遷移マシンを作ると楽にアクションゲームが作れる
RPGならともかく、アクションはそれじゃダメだろ
ポインタですべてのインスタンスを配列かリストで管理すべき。
使用中のインスタンスと未使用のインスタンスを持って、
適宜相互にインスタンスを移動するのが普通だし、汎用的。
それより、アクションはインスタンスの状態管理が重要
状態遷移マシンを作ると楽にアクションゲームが作れる
126名前は開発中のものです。
2010/04/11(日) 13:00:42ID:sX0GCi0v127名前は開発中のものです。
2010/04/11(日) 18:27:05ID:60JK+RHt 今hmm.dll使ったゲームを何人かにテストプレイしてもらったんだけど
画像の表示位置が微妙にずれる人がいたんだが
グラフィックボードによっては表示位置や仮想画面からの取得位置がずれたりするもんなのかな?
画像の表示位置が微妙にずれる人がいたんだが
グラフィックボードによっては表示位置や仮想画面からの取得位置がずれたりするもんなのかな?
2010/05/12(水) 20:33:05ID:zIpdnuJi
前半
; 重力を考慮した状態で硬いバネを複数繋ぎ、ヒモの動きを再現する ※位置と速度の更新方法が、ここまでのサンプルと変わっています
#define N 20 ; 制御点の数
#define L 10.0 ; 制御点を繋ぐバネの長さ
#define G 1.0 ; 重力
#define R 0.98 ; 速度に掛けるダンパー値
#define K 1.0 ; ばね定数
; データ領域の確保 (x,y = 現在の座標、ox,oy = 移動元の座標、vx,vy = 速度)
ddim x, N : ddim y, N : ddim ox, N : ddim oy, N : ddim vx, N : ddim vy, N
*MAIN
stick bt, 256 : if bt & 128 : end
; 移動元の座標を保存
repeat N
; 地面と接触していたら速度を減らす(摩擦)
if y(cnt) >= 460 : vx(cnt) *= 0.8
ox(cnt) = x(cnt) : x(cnt) = limitf(x(cnt) + vx(cnt), 20, 620)
oy(cnt) = y(cnt) : y(cnt) = limitf(y(cnt) + vy(cnt), 20, 460)
y(cnt) += G ; 重力を加える
loop
; 重力を考慮した状態で硬いバネを複数繋ぎ、ヒモの動きを再現する ※位置と速度の更新方法が、ここまでのサンプルと変わっています
#define N 20 ; 制御点の数
#define L 10.0 ; 制御点を繋ぐバネの長さ
#define G 1.0 ; 重力
#define R 0.98 ; 速度に掛けるダンパー値
#define K 1.0 ; ばね定数
; データ領域の確保 (x,y = 現在の座標、ox,oy = 移動元の座標、vx,vy = 速度)
ddim x, N : ddim y, N : ddim ox, N : ddim oy, N : ddim vx, N : ddim vy, N
*MAIN
stick bt, 256 : if bt & 128 : end
; 移動元の座標を保存
repeat N
; 地面と接触していたら速度を減らす(摩擦)
if y(cnt) >= 460 : vx(cnt) *= 0.8
ox(cnt) = x(cnt) : x(cnt) = limitf(x(cnt) + vx(cnt), 20, 620)
oy(cnt) = y(cnt) : y(cnt) = limitf(y(cnt) + vy(cnt), 20, 460)
y(cnt) += G ; 重力を加える
loop
2010/05/12(水) 20:34:43ID:zIpdnuJi
後半
; 結果を安定させるため、ある程度繰り返す
repeat 16
; マウス操作(クリックで端を引っ張る)
if bt & 256 {
x(0) = double(mousex) : xv(0) = 0.0
y(0) = double(mousey) : yv(0) = 0.0
}
; 力の解決
repeat N-1 : t = cnt + 1
; バネにかかる力の式 (f = kd)
dx = x(t) - x(cnt) : dy = y(t) - y(cnt)
d = sqrt(dx * dx + dy * dy) : if d = 0 : d = 1.0
f = (d - L) * K : ff = f * 0.5 / d
; 作用・反作用の法則に基いて、力を加える
x(cnt) += dx * ff : x(t) -= dx * ff
y(cnt) += dy * ff : y(t) -= dy * ff
loop
loop
; 速度の更新(元の状態との差を次フレームの速度とする)
repeat N
vx(cnt) = (x(cnt) - ox(cnt)) * R
vy(cnt) = (y(cnt) - oy(cnt)) * R
loop
; 描画
redraw 0 : color : boxf : color 255, 255, 255 : pos x(0), y(0)
repeat N : line x(cnt), y(cnt) : loop : redraw 1 : await 15
goto *MAIN
; 結果を安定させるため、ある程度繰り返す
repeat 16
; マウス操作(クリックで端を引っ張る)
if bt & 256 {
x(0) = double(mousex) : xv(0) = 0.0
y(0) = double(mousey) : yv(0) = 0.0
}
; 力の解決
repeat N-1 : t = cnt + 1
; バネにかかる力の式 (f = kd)
dx = x(t) - x(cnt) : dy = y(t) - y(cnt)
d = sqrt(dx * dx + dy * dy) : if d = 0 : d = 1.0
f = (d - L) * K : ff = f * 0.5 / d
; 作用・反作用の法則に基いて、力を加える
x(cnt) += dx * ff : x(t) -= dx * ff
y(cnt) += dy * ff : y(t) -= dy * ff
loop
loop
; 速度の更新(元の状態との差を次フレームの速度とする)
repeat N
vx(cnt) = (x(cnt) - ox(cnt)) * R
vy(cnt) = (y(cnt) - oy(cnt)) * R
loop
; 描画
redraw 0 : color : boxf : color 255, 255, 255 : pos x(0), y(0)
repeat N : line x(cnt), y(cnt) : loop : redraw 1 : await 15
goto *MAIN
130名前は開発中のものです。
2010/05/13(木) 14:52:42ID:b/2h1Ezh131名前は開発中のものです。
2010/05/15(土) 20:29:54ID:aV0xMDug 九年たって。
132名前は開発中のものです。
2010/05/17(月) 09:35:01ID:k4j0vMVC >>80
Yahoo! JAPAN IDが無効です。
Yahoo! JAPAN IDが無効です。
2010/07/11(日) 13:53:45ID:0C7+sX7X
#moduleの内部では#constの設定が効かないみたいなんだがこれは仕様なのか?
134名前は開発中のものです。
2010/07/12(月) 02:20:26ID:y80fjAsy #defineヘルプよく読め
135名前は開発中のものです。
2010/07/12(月) 17:17:00ID:WvTwcvl6 サンクス。俺はまだモジュールの事がよくわかってないみたいだ。
136名前は開発中のものです。
2010/09/09(木) 11:43:02ID:/waQP0kc 「ラベル名はすでに使われています」
が出まくって困る
なにかよいノウハウはありますか
が出まくって困る
なにかよいノウハウはありますか
137名前は開発中のものです。
2010/09/09(木) 21:35:35ID:3g70NkqJ _oreno_sukuriputo
138136
2010/09/09(木) 22:51:35ID:/waQP0kc ああそうか、頭にアンダーバーつける手があるね
思いつかなかったわ、ありがと
思いつかなかったわ、ありがと
139名前は開発中のものです。
2010/09/10(金) 00:06:34ID:EGCifdrw 名づけに自分ルール作るといいぞ。文字数がやや長めになるが。
140名前は開発中のものです。
2010/11/29(月) 18:51:35ID:sJ2fbJyl #deffuncと#defcfuncって何が違うの?
141名前は開発中のものです。
2010/12/08(水) 00:09:27ID:0lCsgori >>140
非常に重要なちがいがあるからちゃんと覚えよう
#deffuncは命令を作る。
だから、#deffuncで定義したモノは命令として他の場所で使える
命令ってのは
screen 0,800,400 みたいに、それ自体で何かを行うモノだ。
一方、
#defcfuncは関数を作る。
関数はあくまで変数や定数のような「値」であり、命令のように突然は使えない
hoge=2+関数+変数 のように使わなければいかないわけだ。
そのため、returnで戻り値(具体的にどういう値なのか?)が必要なわけだ。
関数は、この戻り値を求める間に、色んな命令を実行できるので、使いこなすと捗ったりもするわけだ。
このちがいがわからないと、モジュール変数を使うようになるとちんぷんかんぷんになるから気をつけてね
非常に重要なちがいがあるからちゃんと覚えよう
#deffuncは命令を作る。
だから、#deffuncで定義したモノは命令として他の場所で使える
命令ってのは
screen 0,800,400 みたいに、それ自体で何かを行うモノだ。
一方、
#defcfuncは関数を作る。
関数はあくまで変数や定数のような「値」であり、命令のように突然は使えない
hoge=2+関数+変数 のように使わなければいかないわけだ。
そのため、returnで戻り値(具体的にどういう値なのか?)が必要なわけだ。
関数は、この戻り値を求める間に、色んな命令を実行できるので、使いこなすと捗ったりもするわけだ。
このちがいがわからないと、モジュール変数を使うようになるとちんぷんかんぷんになるから気をつけてね
142名前は開発中のものです。
2010/12/08(水) 20:02:59ID:x1mcEdPI 命令と関数分けてるのって最近じゃ珍しいよね。なんか理由あるのか?
143名前は開発中のものです。
2010/12/09(木) 20:26:44ID:kzVSdZtX 未代入の変数を式で使用できなくする方法はありませんか?
144アジェグ4倍 ◆4xAJeG.COM
2010/12/17(金) 10:17:55ID:fH3VO3w1 >>103
>敵が1匹死ぬと、該当する変数を不要のものとし、
>ポインタをつなぎ直す、といった処理が必要になってくる。
>座標や敵の種類、現在どういった状況であるのか、
>といったすべての変数について、ポインタの
>つなぎ直し処理が必要になってくるのだ。
コピペかもしれんし遅レスにもなるが、
単にポインタの説明のために考えられたサンプルに過ぎない
そのやり方が、実際の現場で使われてるのが
なんとも嘆かわしい限りだねぇ。
その後、そのテーブルのソートが必要になって、
vectorでインデックス作ってる記述を見たときは、もう・・・
>敵が1匹死ぬと、該当する変数を不要のものとし、
>ポインタをつなぎ直す、といった処理が必要になってくる。
>座標や敵の種類、現在どういった状況であるのか、
>といったすべての変数について、ポインタの
>つなぎ直し処理が必要になってくるのだ。
コピペかもしれんし遅レスにもなるが、
単にポインタの説明のために考えられたサンプルに過ぎない
そのやり方が、実際の現場で使われてるのが
なんとも嘆かわしい限りだねぇ。
その後、そのテーブルのソートが必要になって、
vectorでインデックス作ってる記述を見たときは、もう・・・
145名前は開発中のものです。
2011/01/23(日) 12:34:19ID:q+kP4u3W >>142
HSPが最近の言語の仕様じゃないからだろ
HSPが最近の言語の仕様じゃないからだろ
146名前は開発中のものです。
2011/01/25(火) 00:52:33ID:pM2xeLh6 当たり判定でぶつかった相手の実数XY情報をreturnで返したいのだが
数値は一つしか返せない。うーむ、設計を見直すか。
数値は一つしか返せない。うーむ、設計を見直すか。
147名前は開発中のものです。
2011/01/25(火) 04:23:55ID:pM2xeLh6 寝て起きたら解決した。
refdvalを利用して
#modfunc e_retX
return x
#modfunc e_retY
return y
を作ってそれぞれ呼んで値を返させた。
refdvalを利用して
#modfunc e_retX
return x
#modfunc e_retY
return y
を作ってそれぞれ呼んで値を返させた。
148名前は開発中のものです。
2011/02/06(日) 16:21:04ID:VYgWoDUh 命令と関数が違うものという理屈がよくわからないな
149名前は開発中のものです。
2011/02/09(水) 19:18:42ID:M3k4P5wE やっと#modfuncと#deffuncの違いを理解したよ。
新しい魔法を覚えたような気分。
新しい魔法を覚えたような気分。
150名前は開発中のものです。
2011/02/10(木) 15:03:09ID:sra5tgS4 #deffuncと#defcfuncのちがいならともかく、
そもそも#modfuncなんてモジュール変数使わなきゃ発見もできないだろ
そもそも#modfuncなんてモジュール変数使わなきゃ発見もできないだろ
151名前は開発中のものです。
2011/06/11(土) 20:37:00.36ID:0fW8fZFA HSPのネットワーク接続のテストをしたいので、協力してくれる人を募集しています。
ttp://pupld.net/07/110611/ns0w2ljveb/index.cgi
こちらよりクライアントのソースファイルをダウンロードして、hspスクリプトエディタ3.2(以降)でF5実行して
ip 218.44.29.42 に接続してみてください
本日24:00まで待ってます。
ttp://pupld.net/07/110611/ns0w2ljveb/index.cgi
こちらよりクライアントのソースファイルをダウンロードして、hspスクリプトエディタ3.2(以降)でF5実行して
ip 218.44.29.42 に接続してみてください
本日24:00まで待ってます。
152名前は開発中のものです。
2011/06/12(日) 00:02:41.99ID:VV0zrgj8 あちゃー1人も協力いただけんかったか・・・
この板人少さ過ぎワロタw
この板人少さ過ぎワロタw
153名前は開発中のものです。
2011/06/12(日) 00:41:31.82ID:AwFFX73i154名前は開発中のものです。
2011/06/12(日) 00:42:34.18ID:VV0zrgj8 今VIPでがんばってるが食いつき悪くて・・・orz
155名前は開発中のものです。
2011/06/12(日) 02:06:21.11ID:efbIRhOu156名前は開発中のものです。
2011/06/12(日) 02:25:29.24ID:AwFFX73i ひどい有様だった
HSPっていうと敬遠されるのが分かる気がした
HSPっていうと敬遠されるのが分かる気がした
157名前は開発中のものです。
2011/06/12(日) 03:04:49.37ID:VV0zrgj8 ちゅーか、Sockgetの仕様がヘルプで紹介されてなさすぎでしょこれ
getした部分はソケットから消えるとか書いといてよー
getした部分はソケットから消えるとか書いといてよー
158名前は開発中のものです。
2011/07/04(月) 21:34:05.74ID:MGPyNUuC159名前は開発中のものです。
2011/07/06(水) 16:55:53.23ID:qXo8fmDv windows7もまたまたsp1がきたな
勝ってに更新されてた
勝ってに更新されてた
160名前は開発中のものです。
2011/08/17(水) 23:35:39.18ID:a4dY4tJb 今コンテスト期間中だよね
そういうのを話するスレとかってない?
そういうのを話するスレとかってない?
161名前は開発中のものです。
2011/08/18(木) 00:25:08.46ID:vkpPW8Fo >>160
ム板にあるよ
ム板にあるよ
162名前は開発中のものです。
2011/08/18(木) 00:27:07.80ID:opSVPQTh >>160
ありがとうございました
ありがとうございました
163名前は開発中のものです。
2011/08/19(金) 07:13:20.23ID:iNoTS0T1 HSPってPS2ぐらいのゲームなら作れるという話を聞いたんだけど本当?
コンテストのゲーム見るに見た目的にSFCからPS程度のものしかなさそうなんだけど
あんまり綺麗なグラフィックは重くて使えないって事なのかな、2DのRPG作りたいんだけども
コンテストのゲーム見るに見た目的にSFCからPS程度のものしかなさそうなんだけど
あんまり綺麗なグラフィックは重くて使えないって事なのかな、2DのRPG作りたいんだけども
164名前は開発中のものです。
2011/08/19(金) 07:45:30.06ID:mRGQwp4k165名前は開発中のものです。
2011/08/19(金) 07:55:49.31ID:iNoTS0T1 さすがにtypeXの格ゲーぐらいになるとPS2じゃ厳しいよね
とりあえずPS2レベルでドット描き込みまくるぶんにはHSPで大丈夫って事かな
安心したよありがとう
とりあえずPS2レベルでドット描き込みまくるぶんにはHSPで大丈夫って事かな
安心したよありがとう
166名前は開発中のものです。
2011/08/19(金) 08:11:49.05ID:mRGQwp4k167名前は開発中のものです。
2011/08/19(金) 08:25:48.29ID:iNoTS0T1 今の所16色でドット打とうと思ってるんだけどあんまり書き込みすぎて容量デカくなると画像表示大変なのかなぁと思って
コンテストのゲーム見ると簡素な2Dゲームが多いからそこが不安になったんだよね
ゲームのグラフィックはPS2ぐらいので満足というか好みなんで解像度もソレでやってみる
コンテストのゲーム見ると簡素な2Dゲームが多いからそこが不安になったんだよね
ゲームのグラフィックはPS2ぐらいので満足というか好みなんで解像度もソレでやってみる
168名前は開発中のものです。
2011/08/19(金) 08:52:02.11ID:iNoTS0T1 調べてみた感じフルカラーじゃなければ大して問題なさそうだね
256色でもいけるみたいだ
初心者な質問でスマンかった
256色でもいけるみたいだ
初心者な質問でスマンかった
169名前は開発中のものです。
2011/08/19(金) 10:06:00.51ID:kxdLG7Tu PS2ぐらいってのは理論上は〜ってやつだね
そもそも何人ものプロが朝から晩まで頑張って何十日もかけて作ってるものを
アマチュアが1人〜数人で仕事や学業の合間の時間で完成させるのは無理な話
そもそも何人ものプロが朝から晩まで頑張って何十日もかけて作ってるものを
アマチュアが1人〜数人で仕事や学業の合間の時間で完成させるのは無理な話
170名前は開発中のものです。
2011/08/19(金) 10:25:21.90ID:iNoTS0T1 理論上できると知っただけでもかなりやる気になったよ
C++までになるとさすがに無理だと思ってたからね
プログラム板のほうに質問スレあるみたいなのに親切にありがと
C++までになるとさすがに無理だと思ってたからね
プログラム板のほうに質問スレあるみたいなのに親切にありがと
171名前は開発中のものです。
2011/08/19(金) 18:21:26.69ID:mRGQwp4k 意識が上を目指すのはとてもいいことだと思う
それがムリ無茶無謀でも俺は好きだよ
それがムリ無茶無謀でも俺は好きだよ
172名前は開発中のものです。
2011/08/28(日) 20:44:57.03ID:MduuGjyU スレ立てから10年が経とうとしている
ゲ製作から手を引いた人はどれくらいいるだろう
ゲ製作から手を引いた人はどれくらいいるだろう
173雨島珠洲歌 ◆hpQKE7cBAE5Y
2011/11/02(水) 21:00:02.12ID:5qGBDxfw ここを俺の日記帳にする
174雨島珠洲歌 ◆hpQKE7cBAE5Y
2011/11/02(水) 21:03:25.27ID:5qGBDxfw メモ
メモリ上の png を読み出すには GDI+ (a2d.hsp に細工をすると楽) を使う
メモリ上の png を読み出すには GDI+ (a2d.hsp に細工をすると楽) を使う
175雨島珠洲歌 ◆hpQKE7cBAE5Y
2011/11/02(水) 21:06:59.65ID:5qGBDxfw GDIベースならネットブックで fps60 はかなり難しい
176雨島珠洲歌 ◆hpQKE7cBAE5Y
2011/11/08(火) 19:48:44.14ID:x9yT+23z ペロッ
これは一日坊主の味だ
これは一日坊主の味だ
177名前は開発中のものです。
2011/11/23(水) 14:20:26.90ID:aX9kTeHZ すみません。知恵を貸して欲しいのです。
現在、ロードモナークみたいなリアルタイムSLGを作っているのですが、
素人技でくみ上げたらものすごく重くなりました。メインのルーチンは
キー入力→(0〜9or10〜19or…480〜489or490〜499)味方駒処理→(0〜9or10〜19or…480〜489or490〜499)敵駒処理
→(0〜5or6〜11or…288〜293or294〜299)味方拠点処理→(0〜5or6〜11or…288〜293or294〜299)敵拠点処理→
各グラフィック表示→各情報表示→戻る
といった感じでまわしています。
メインルーチン内ではサブルーチンを出来るだけ使わないようにしてまっすぐ下へ流れるように組んでいるつもりです。
モジュールは現在使用していません。
抽象的過ぎるのは承知ですが、なにかお心当たりが有る方、ご教授ねがいます。
現在、ロードモナークみたいなリアルタイムSLGを作っているのですが、
素人技でくみ上げたらものすごく重くなりました。メインのルーチンは
キー入力→(0〜9or10〜19or…480〜489or490〜499)味方駒処理→(0〜9or10〜19or…480〜489or490〜499)敵駒処理
→(0〜5or6〜11or…288〜293or294〜299)味方拠点処理→(0〜5or6〜11or…288〜293or294〜299)敵拠点処理→
各グラフィック表示→各情報表示→戻る
といった感じでまわしています。
メインルーチン内ではサブルーチンを出来るだけ使わないようにしてまっすぐ下へ流れるように組んでいるつもりです。
モジュールは現在使用していません。
抽象的過ぎるのは承知ですが、なにかお心当たりが有る方、ご教授ねがいます。
178名前は開発中のものです。
2011/11/23(水) 14:22:10.59ID:2rKPW63Z 原因がわからないなら描画回数減らせば?
179名前は開発中のものです。
2011/11/23(水) 14:25:34.25ID:+B6YWhEg 適当な範囲でコメントアウトしていってどの処理が重いのか調べるところから始めてはどうでしょう
180名前は開発中のものです。
2011/11/23(水) 14:35:24.07ID:aX9kTeHZ181雨島珠洲歌 ◆hpQKE7cBAE5Y
2011/11/23(水) 14:56:38.29ID:71Od6Kju >>177
描画関連だけ
毎度 celput とかでマップチップを並べるよりも
背景専用に buffer を用意、変更があるときに buffer に描画したほうが圧倒的に早くなる
gmode 4 は遅いので gmode 2 に置き換えられるところは gmode 2 を使う
描画関連だけ
毎度 celput とかでマップチップを並べるよりも
背景専用に buffer を用意、変更があるときに buffer に描画したほうが圧倒的に早くなる
gmode 4 は遅いので gmode 2 に置き換えられるところは gmode 2 を使う
182名前は開発中のものです。
2011/11/23(水) 15:11:52.66ID:Krno6R4j >>177
まず描画と他処理の処理時間を分けて計測
これが分からないと改善の方向が分からない>
#uselib "winmm.dll"
#cfunc global timeGetTime "timeGetTime"
*main
redraw 0
処理開始=timeGetTime()
repeat 50000
a+
loop
描画開始=timeGetTime()
処理時間=描画開始-処理開始
color
boxf
pos 0,0
color 255,255,255
mes "処理時間="+処理時間+" 描画時間="+描画時間
redraw 1
描画終了=timeGetTime()
描画時間=描画終了-描画開始
await 16
goto *main
秒間60フレなら16msぐらいに収める必要がある
まず描画と他処理の処理時間を分けて計測
これが分からないと改善の方向が分からない>
#uselib "winmm.dll"
#cfunc global timeGetTime "timeGetTime"
*main
redraw 0
処理開始=timeGetTime()
repeat 50000
a+
loop
描画開始=timeGetTime()
処理時間=描画開始-処理開始
color
boxf
pos 0,0
color 255,255,255
mes "処理時間="+処理時間+" 描画時間="+描画時間
redraw 1
描画終了=timeGetTime()
描画時間=描画終了-描画開始
await 16
goto *main
秒間60フレなら16msぐらいに収める必要がある
183名前は開発中のものです。
2011/11/23(水) 15:36:52.14ID:aX9kTeHZ184名前は開発中のものです。
2011/11/23(水) 15:38:48.35ID:aX9kTeHZ 日本語が崩壊してしまっている。
つかって無いのですが、は飛ばして読んでいただければ幸い
つかって無いのですが、は飛ばして読んでいただければ幸い
185名前は開発中のものです。
2011/11/23(水) 16:06:26.92ID:Krno6R4j #uselib "winmm.dll"
#cfunc global timeGetTime "timeGetTime"
winmm.dllって言うDLL内にあるtimeGetTimeをHSPの関数として使えるように登録
timeGetTimeはPC起動してからの経過時間を1000分の1秒(1ms)単位で収得できる
winmm.dllはWindowsなら最初からあるDLLだから登録するだけで使用可能
gettime(7)も1ms単位で収得できるけど0〜999なのと何故か16ms未満ではまともに収得できない
>正直に申し上げますと、モジュールはわけわからんで手を付けてないんですが、
モニュールと外部DLLは別物
外部DLL使うときに使いまわししやすいようにモジュールが使われる事が多い
#cfunc global timeGetTime "timeGetTime"
winmm.dllって言うDLL内にあるtimeGetTimeをHSPの関数として使えるように登録
timeGetTimeはPC起動してからの経過時間を1000分の1秒(1ms)単位で収得できる
winmm.dllはWindowsなら最初からあるDLLだから登録するだけで使用可能
gettime(7)も1ms単位で収得できるけど0〜999なのと何故か16ms未満ではまともに収得できない
>正直に申し上げますと、モジュールはわけわからんで手を付けてないんですが、
モニュールと外部DLLは別物
外部DLL使うときに使いまわししやすいようにモジュールが使われる事が多い
186名前は開発中のものです。
2011/11/24(木) 09:10:09.98ID:3U67mdMm フルカラーでやってない?
ウインドウモードは8ビットカラーでやらないと遅いよ
それかDirectXを使えば速くなる
ウインドウモードは8ビットカラーでやらないと遅いよ
それかDirectXを使えば速くなる
187名前は開発中のものです。
2011/11/25(金) 22:42:51.84ID:jagBkXOx 結構重い処理をやっていて、速度が不満なのですが、
HSP用のDLLとやらについて学べるサイトはありませんでしょうか
HSP用のDLLとやらについて学べるサイトはありませんでしょうか
188名前は開発中のものです。
2012/01/07(土) 15:47:33.42ID:zBk2jzhf hsp dish早くアンドロイドアプリ作りたい・・・
189名前は開発中のものです。
2012/07/02(月) 20:57:19.34ID:a9pvN7LL hsp3.3を落として久しぶりにソースさわったら
コピーやペーストや検索なんかのCTRLキー(CTRL+F)を使うショートカットキーが効かないんだが
標準エディタのバグなのだろうか?
OSはWin7
俺以外にそうなったやついる?
コピーやペーストや検索なんかのCTRLキー(CTRL+F)を使うショートカットキーが効かないんだが
標準エディタのバグなのだろうか?
OSはWin7
俺以外にそうなったやついる?
190雨島珠洲歌 ◆hpQKE7cBAE5Y
2012/07/02(月) 22:10:23.14ID:4dXQHTJy >>189
メッセージボックスが出たまま画面裏に隠れてると思う
---------------------------
script editor message
---------------------------
終わりまで検索しました
---------------------------
OK
---------------------------
みたいなの
メッセージボックスが出たまま画面裏に隠れてると思う
---------------------------
script editor message
---------------------------
終わりまで検索しました
---------------------------
OK
---------------------------
みたいなの
191名前は開発中のものです。
2012/07/03(火) 19:44:33.82ID:GnOexX5+192名前は開発中のものです。
2012/07/04(水) 09:30:14.84ID:3alZFXXb assetsフォルダに入れても
実機で音がならないなぁ
実機で音がならないなぁ
193名前は開発中のものです。
2012/10/22(月) 17:48:11.35ID:lI8ZNjql194名前は開発中のものです。
2012/11/30(金) 19:34:04.04ID:JUa2wAxY 画面のストレッチの関係なのか
文字位置がずれて表示されてしまうなぁ
音関連もmmplayだと同時再生がきつい
文字位置がずれて表示されてしまうなぁ
音関連もmmplayだと同時再生がきつい
195名前は開発中のものです。
2012/12/25(火) 06:36:39.49ID:eglmk8RA vsaveで大量に保存したらシステムエラーで落ちる・・・
196195
2012/12/26(水) 23:03:49.92ID:Ja3vGXSB なぜかvsave_putとvload_getでコメントアウトしている配列変数も
保存、読み込みできててしまう・・・
保存、読み込みできててしまう・・・
197名前は開発中のものです。
2012/12/27(木) 01:17:35.75ID:U83rCPjZ198195
2012/12/27(木) 23:18:14.52ID:FHdLe6j2199名前は開発中のものです。
2013/01/15(火) 00:57:18.97ID:3hjLgc0x iPadゲーム作ったけどマルチタップはまだだったか・・・
対応するまで完成せん、期待
対応するまで完成せん、期待
200名前は開発中のものです。
2013/01/15(火) 18:28:18.30ID:1VhUqOsN Arueちゃんまた大賞とってるね
すごいなあ
すごいなあ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- たぬかな、結婚していた SNSで報告 生配信では入籍時期も説明 祝福殺到「おめでとう!」「幸あれ」 [muffin★]
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 東京・足立区の盗難車死亡ひき逃げ事件 11人死傷のうち死亡した男女の身元を発表 80代の男性と20代フィリピン国籍の女性 警視庁 [どどん★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 「営業妨害ですよ」小野田紀美氏、銀色ドレス揶揄に怒りをあらわ [バイト歴50年★]
- ド、ド、ド リ フ の
- 精神科行ったらさ。。
- 最近銭湯にハマってる
- 【動画】慶應准教授の有野氏、高市答弁の問題点を理路整然と指摘しまいネトウヨ発狂wwwwwwwwwwww [271912485]
- なんか寝れないのでウマ娘の雑談とか募集
- 機械に疎いのほんと大変
