トップページgamedev
1001コメント301KB

HSP - Hot Soup Processor

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/10 04:04ID:???
HSPは、お手軽に使うことのできるスクリプト言語システムです。
テキストによるスクリプトを書くだけで、誰にでも簡単にウインドゥズ上で
画像表示、メニューシステムの構築ができます。
多彩な命令セットを使いこなすことでゲームアプリケーションまで作成する
ことができます。

Hot Soup Processor 公式サイト
http://www.onionsoft.net/hsp/
0447名前は開発中のものです。02/04/10 21:06ID:???
まあコンパイラとは書いてないからな
0448名前は開発中のものです。02/04/10 21:16ID:???
>>441
その人の事情とやる気による。

プログラミング初心者で手軽にプログラムがしたい人はHSP。
お金がないけど本格的にやりたい人はBorlandC++。
バリバリのゲームを作りたい、最新のSDKもすぐに使いたい人はVC++。
ツール重視でやる人はDelphi、C++Builder。
ゲームは作らない、ブランド好きでヘタレな人にはVB。
044944102/04/10 22:15ID:???
>>446
ああ、すまん。
俺、VC++しか使ってないんで。
Borlandのほうは正確じゃなかったな
C++BuliderとVC++、だ。

>>448
わかりやすい説明サンクス。
0450名前は開発中のものです。02/04/12 14:53ID:???
ホゥワッチャァ!!
ホゥオゥゥゥゥゥゥゥゥ!!
0451名前は開発中のものです。02/04/12 15:24ID:???
いがみ合ってるね…
HSPは使ったことないから(つか、平気でgoto使うのがむかつくだけだが)どんなのか知らんけど、説明によると小規模なアプリを簡単に作れるのが特徴でしょ。
複雑なものを作ろうとするとC/C++以上に苦労すると・・・
ようするに複雑なシステムを作らない人はHSPのままで良いんじゃないかな?

まぁ、gotoがむかつくから俺は使わんが…
0452名前は開発中のものです。02/04/12 19:05ID:???
>>451はなぜそんなにgotoを忌み嫌うのか
0453名前は開発中のものです。02/04/12 21:09ID:???
>>452
451じゃないけど、C言語やるとわかるよ。
C言語でもgotoがサポートされてるのになぜ各業界・各参考書で忌み嫌われているか

HSPから他の言語移る奴みんなgoto連発する糞プログラマ量産されたりして…
0454名前は開発中のものです。02/04/12 21:24ID:???
>>452
俺も451じゃないが、gotoでポンポン飛ばれると流れがわけわからなくなる。

あ、俺は仕事ゲーム製作はC、趣味ゲーム製作はHSPだからHSP否定派ではない。
(HSPで組んでもCぽなプログラムになるけど)
045545102/04/12 21:43ID:???
あ!俺個人はgotoを平気で使うからむかつくってだけで、他人が触るのは否定してないよ。

HSPは使ったことないから(つか、平気でgoto使うのがむかつくだけだが)どんなのか知らんけど、説明によると小規模なアプリを簡単に作れるのが特徴でしょ。
複雑なものを作ろうとするとC/C++以上に苦労すると・・・
ようするに複雑なシステムを作らない人はHSPのままで良いんじゃないかな?
0456名前は開発中のものです。02/04/12 21:45ID:???
>>453
ほとんどのってないからそりゃないだろ
0457名前は開発中のものです。02/04/12 21:56ID:???
>>456
参考書では解説だけしてあるね。その中にここだけでしか使わないとか書いてあったり。
0458名前は開発中のものです。02/04/13 01:39ID:???
HSPはGOTOを使わないといけないけどCは使わなくてもいい
この差は大きいだろ
0459名前は開発中のものです。02/04/13 08:07ID:???
gotoが嫌われる理由がわからない方はここへ
デジタルトキワ荘
http://www.gamecreators.net/bbs32/wforum.cgi?mode=allread&no=1916&page=0
0460名前は開発中のものです。02/04/13 08:34ID:???
454だけど、
gotoの件はそういうものなんだ程度で憶えておく程度で良いだろう。
流れを見ていると押し付けているようで、そっちの方が不愉快だった。

HSP使っている全ての人が本気でプログラム組んでいるとも思えない。
仕事はプログラミングとは関係無い人も居るだろうしね。
実際HSPは、うちとかじゃデザイナ連中が色々と
面白いモノを作って見せてくれるので楽し過ぎる。
046145102/04/13 09:20ID:???
>gotoの件はそういうものなんだ程度で憶えておく程度で良いだろう。
頭の片隅でも良いからそういうもんだと認識しておいて欲しいね。

ってことで、goto話は終了しないか?言いだしっぺは俺だけど。)w
0462名前は開発中のものです。02/04/13 09:39ID:???
gotoは嫌いっつーか、C/C++では実際使わないし、使いたいとも思わない。
HSPでプログラミングを学んだ人も他の言語に移ったら自然とgotoは使わなくなると思うよ。
その場合心配なのはむしろグローバル変数をやたらと使うとか
メンバ変数を全部パブリックにしちゃうとかかな。
これはプログラムを組む前にちゃんと設計するかどうかにかかってる。
HSPでもある程度のプログラムを作るときは設計を少しでもする癖をつけよう。
0463名前は開発中のものです。02/04/13 13:13ID:???
バカがまたきたよ
0464名前は開発中のものです。02/04/13 16:25ID:???
C++じゃgotoなんて使わんからなぁ。
Cじゃループが深くなったときgoto、関数の入れ子が深くなった時
setjmp、longjmpを使うんだったね。いやぁ、懐かしいね。
HSPでもsetjmp、longjmpを導入したら面白いんじゃないかな。
十中八九ソースが読みにくくなるけど(w
046545102/04/13 18:44ID:???
まだやってたのか…とりあえず、
>>463
お前は氏ね

C/C++/C3/Javaでもgotoは使わないよ。Javaにはgoto自体ないけど。
ハーバート・シルトが言うには
無条件でほかの場所に処理を移すための文がgotoです。プログラム中にgotoが出てくると、処
理の流れはそこで指定された場所に移ります。goto文は、「スパゲッティコード」の原因にな
りやすいという理由で、何十年も前からプログラマに嫌われる存在となっています。しかし今
でも時にはgotoが使われることがあり、またそれが有効なこともあるのです。本書では、プロ
グラム制御の手段としてgotoを使うことの妥当性については、判断を差し控えます。ただ、次
のことは申し上げておきます。プログラミングにおいて、goto文を使わないと解決できない問
題というのは1つもありません。
こんなとこ。原文「独習C#より」
046645102/04/13 18:45ID:???
× C/C++/C3/Java ○ C/C++/C#/Java
0467名前は開発中のものです。02/04/13 21:08ID:???
>>465
だから反応するな
0468名前は開発中のものです。02/04/13 22:00ID:???
>>465
>Javaにはgoto自体ないけど。
break, continueでのラベル指定があるけどね。
つーかJavaとかC++はおいといて、Cは
gotoで使わないとかえって分かりにくい場合がある。
そんな時はgoto使ってもいいよ、乱用しなければ。
詳しくはK&Rでも読んでね。
046937402/04/14 01:42ID:???
っていうか、HSPと、
BCC+ゲームライブラリって、難しさ的にあまりかわらないと思うんだけど。
コンパイラの設定とかは、HSPに比べるとちと複雑かもしれないが。
dxとかいうライブラリ(DXライブラリにあらず)はかなりHSPに似てる。
EasyLinkLibraryとかSimpleXとかもいいかもね。
HSP独特の言語からC言語に変わっただけみたい。
とりあえず、構造体が使えるようになってよかった。
0470名前は開発中のものです。02/04/14 13:27ID:???
設定のしやすさがどれだけ重要かを知らないようだ
0471名前は開発中のものです。02/04/14 14:35ID:???
>>470
そういう人のために自動設定をするプログラムもでている。
BCCのためのIDEもある。
何も問題ないね。人並みの頭脳を持っていれば(w
0472名前は開発中のものです。02/04/14 18:01ID:???
ほんとしつこいやつだな。
まあそれしかとりえがないんだろうけど
0473名前は開発中のものです。02/04/14 18:14ID:???
はよif文に『{』カッコを利用して文字列の比較を使えるようにならんかな
一行ずつif使うの面倒だし、サブルーチンなどで飛ぶと流れが狂うんだよな
つーか文字列の比較以外でif文使うことってあるのか?
047437402/04/14 19:17ID:???
>>471
貴方はどんな開発環境なん?

っていうか、VisualC++ホスィ・・・。
0475名前は開発中のものです。02/04/14 20:27ID:???
いくつかライブラリを見てみたがどれも大体
ウィンドウを簡単に、あるいは自動的に作ってくれて
画像のロード・表示も一行づつでできるし
HSPのgetkeyみたいのがある。
これを見るとHSPの存在価値なんてねーな。

>>474
VCっす。BCCはたまに使うだけ。
BCCについてはこことか
http://homepage2.nifty.com/tenk/prog/free_cc.htm
047637402/04/14 20:53ID:???
>>475
いいなぁ。
VCになったら、対応ライブラリがもっと増えるんだがなぁ。
っていうか、HSPの利点は、
導入が多少簡単なのと、コンパイル時間が必要無いことぐらいか。
0477名前は開発中のものです。02/04/14 20:59ID:???
あげ
0478名前は開発中のものです。02/04/14 21:09ID:???
>>476
>VCになったら、対応ライブラリがもっと増えるんだがなぁ。
BCCに色々ツールが付いてたと思うが使ってみた?
COFF2OMFとかさ。
あとはWebを漁ればいろいろ出てくるよ。

>導入が多少簡単なのと、コンパイル時間が必要無いことぐらいか。
あとはVCとかのIDEは結構重い。
IDE自体が重いしコンパイルには結構メモリがいる。
HelpはHtmlHelp形式なんだがこれまた重い。
その上ブラウザを常時立ち上げるとなるとちょっとした環境が必要。
旧式のノート等の人は辛いだろうな。
0479名前は開発中のものです。02/04/14 21:15ID:???
>>472
君は人に説教できるほど知識あるの?
048037402/04/14 21:54ID:???
>>478
俺の能力は、そこらへんのHSP使いと大差ないよ。
dxは、チュートリアルがあったから、すんなり逝けただけで。
よって、細かいところは、全然わからんのね。
makeとかも知らんし。マジでHSP風に開発してるよ。
というわけで、IDEは使ってない。
なんか、詳しいホームページないかなぁ。
大概、Windowsプログラムの開発はVCを基本にしていて、
VCを持ってない自分にとっちゃ、苦しいものがあるよ。

とりあえず、C言語マンセーということで。
0481名前は開発中のものです。02/04/14 21:55ID:???
HSPからほかの言語に乗り換えると
今まで培った資産はすべて失われるの?
0482名前は開発中のものです。02/04/14 21:59ID:???
>>469
>とりあえず、構造体が使えるようになってよかった。
マジ?
HSPで構造体が実装されたのか?
0483C使い02/04/14 22:07ID:???
構造体使いだしてどれだけ楽になったことやら。
048437402/04/14 22:20ID:???
>>481
HSPで開発できるものは、HSPで開発したほうがいいと思うよ。
>>482
いやいや、Cに乗り換えたからね。
0485名前は開発中のものです。02/04/14 23:46ID:???
構造体でそんなにありがたがってたらクラスつかって日にはショック氏しちゃうよ
0486名前は開発中のものです。02/04/14 23:59ID:???
構造体のない言語なんて珍しいからなー。
未開社会の人間が文明の利器をみて驚いているといったところか(w
0487名前は開発中のものです。02/04/14 23:59ID:???
構造体のない言語なんて珍しいからなー。
未開社会の人間が文明の利器をみて驚いているといったところか(w
048837402/04/15 00:45ID:???
>>485
クラス使おうかな。
まだC++は使いこなせないんだが。
クラスってそんなに便利?
>>486
構造体もクラスも、ちゃんと使えるから驚いた。
これから勉強がてらに、ぼちぼちプログラミングすることにするよ。
0489名前は開発中のものです。02/04/15 10:58ID:???
gae
0490名前は開発中のものです。02/04/15 13:26ID:???
>>488
ここはHSPのスレです
0491名前は開発中のものです。02/04/15 14:47ID:???
HSPってアクションゲームとか作るとCPUによって
動きの速度が全然違ってくる気がする。
スペックの低いマシンで作ってからハイスペックマシンで
動かしたらあまりの速度の違いにまいった。
0492名前は開発中のものです。02/04/15 15:50ID:???
>>491
それはWaitの取り方がまずいだけじゃなかったっけ?
FAQ
0493名前は開発中のものです。02/04/15 18:03ID:???
>>491
タイムカウンター取ってフレームレート調整するとかできないのか?
049437402/04/15 18:13ID:???
>>488
HSPに似ている開発環境として例を挙げたわけだが。
なにか問題でも?
0495名前は開発中のものです。02/04/15 19:30ID:???
>>491
await値が低すぎるだけだろう
0496名前は開発中のものです。02/04/15 19:39ID:???
ここも相変わらずだな。
0497名前は開発中のものです。02/04/15 21:20ID:???
どうも荒らしがひそんでるな
049849102/04/15 21:23ID:???
ペンII333MHzとペンIII1GHzとで比べると全然違って・・・。
awaitでやってるんですけど、単にペンIIではパワー不足なだけでしょうか。
0499名前は開発中のものです。02/04/15 21:29ID:???
>>498
いや、だから await 値は?
低すぎるんじゃないの?
0500名前は開発中のものです。02/04/15 22:31ID:???
そりゃフルにまわせば違いすぎるのは
あたりまえだぞ
0501名前は開発中のものです。02/04/16 04:09ID:???
http://www.onionsoft.net/hsp/img/s_255_9.jpg
コレってhspで作ってるの?
分かる人いましたら、製作者のhpかタイトル名教えて下さい。
050250102/04/16 05:40ID:???
これってベーマガが作ったサンプル?
0503名前は開発中のものです。02/04/16 06:19ID:???
>>501
 2.55からhgimgのサンプルとして入っているやつだよ。
 ロボの作者はR.Hideyuki.Kato氏。これでゲーム作ってるのかな?

 今作っているネットゲームが一息ついたら、コレで撃ち合う
ネットゲーム作ろうかと考えているのだが。
0504名前は開発中のものです。02/04/16 06:25ID:???
落ちこぼれたCプログラマが厨房率の高いところで鼻高々になっているというのはこのスレですか?
050550102/04/16 06:57ID:???
>>503
ありがとう、早速見てみました。

検索使って直接hspのhpに行ってしまったんで見逃してました。
オニオンさんとこが以前作ったギャル&ロボゲーのモデリングデータ
みたいですね。(最近行ってなかったんで一瞬戸惑った(^^;)

お!ネットゲームですか凄いですね。頑張ってください。
050649102/04/16 08:44ID:???
await 30から50くらいです。
>>504なんかHSPってだけでCにむちゃくちゃ叩かれるんですけど。
0507名前は開発中のものです。02/04/16 09:17ID:???
構造体ってどんなの?
0508名前は開発中のものです。02/04/16 11:15ID:???
異なる型のデータをまとめて一つのデータ型として扱うもの。

struct hoge {
  int no;       /* 番号 */
  char name[20]; /* 氏名 */
};

みたいな。
配列だと同じ型が並んでるだけだけど、構造体なら異なる型を集められる。

……で良いんだっけ?
0509名前は開発中のものです。02/04/16 15:04ID:???
>>506
ゲームの処理や描画にかかった時間をawaitさせる時間から引いてる?
 await 固定値
って入れてるだけじゃCPU速度やビデオカードの性能でゲームの速度が
変わってくるのは当然なんだが。
0510名前は開発中のものです。02/04/16 15:12ID:???
>>508
ひとまとまりのデータを一つの型として扱うもの。
配列とは目的がまったく違うよ。

たとえば、敵10匹のデータを宣言するとき、
int enemy_type[10];
int enemy_x[10], enemy_y[10];
ってやるより、
struct Enemy {
  int type;
  int x, y;
};
としておいて、
struct Enemy enemy[10];
としたほうが分かりやすいでしょ?ということ。
分かりやすいだけじゃないけどね。
051149102/04/16 17:04ID:???
>>509あ、引いてないです。うまくマシンによって速度を合わせるには
どうしたらいいですか?
0512HSPは良く知らないけど02/04/16 17:39ID:???
>>511
HSPって現在時刻をミリ秒単位とかで取得することできたっけ?
WindowsAPIでいう、GetTickTime()に相当するもの。

要するに、awaitする時間を、
 await (次のフレームの開始時間 − 現在時刻)
とすればいい。
ttp://ven.virtualave.net/misuzu.cgi?augment=142
このプラグインでできるのかな?
0513HSPは良く知らないけど02/04/16 17:44ID:???
おっと、GetTickCount()だった。
http://game.2ch.net/test/read.cgi/gamedev/1006052623/241-242
ここも参照のこと。
051450802/04/16 18:10ID:???
>>510
あ、言い方が悪かったね。ありがとう。

>>509 >>511-513
いや、await だったら勝手に合わせてくれる。(^^;

> wait命令と似ていますが、await命令は前回waitした時間からの待ち
> 時間を指定します。これにより、描画速度の違いなどから時間が
> 早く過ぎることを防止することができます。リアルタイムで更新
> される画面などの速度を一定に保つ時に使用します。

↑こういうこと。
0515名前は開発中のものです。02/04/16 18:12ID:???
>>512
awaitだったらそんなことする必要ないような
0516名前は開発中のものです。02/04/16 18:15ID:???
基本的に2chねるでは叩かれないものの方が珍しいよ。
ム板で典型的なのはVBね。これでも勝手ぐらい叩かれてる。
同じように、君らは知らないかもしれないけど、C/C++もずっと叩かれている。
0517名前は開発中のものです。02/04/16 18:15ID:???
await30から50くらいって
固定にしてないのか?
0518名前は開発中のものです。02/04/16 18:17ID:???
>>516
おそっ
0519名前は開発中のものです。02/04/16 18:23ID:???
awaitの値は変数にして
設定とかで変えられるようにしとけ。
052037402/04/16 19:43ID:???
>>516
叩いてるつもりは無いんだがなぁ。
まぁ、仕方が無いか。
0521名前は開発中のものです。02/04/16 20:10ID:???
>>514
そうなのか。適当なこと言ってすまん。
というと、原因は描画が重すぎなのか、めちゃくちゃなループをくんでるかのどちらかかな。
052249102/04/17 00:37ID:???
>>519そうですね。変数にすると便利かも。
あと画像はBMP使ってるんですけど、JPGのほうが
処理が早いとかあるんですか?
一応色数で処理の速さが変わるとは聞きましたけど。
0523名前は開発中のものです。02/04/17 05:28ID:???
 普通、前処理で画像ファイルをbufferにロードしてから、メイン
ルーチンではgcopyでscreenにコピーするんだが…描画のたびに
ファイルから読みこんでいるように読めるのは気のせいだろうか。
052449102/04/17 08:50ID:???
>>523一応ちゃんとbufferで読み込ませてからやってます。
でも画面が640×480のサイズなので、
少し大きいかもしれません。
それとウィンドウ表示とフルスクリーンでは
どっちが早くなるのでしょうか?
0525名前は開発中のものです。02/04/17 10:16ID:???
>>524
先に buffer に読んであるならBMPもJPGも関係無いと思われ…

まぁ256色でいいならパレットモードの方がいいでしょ。
ウィンドウだったらフルスクリーンの方が速い…よね?
0526名前は開発中のものです。02/04/17 11:58ID:???
>>525
DirectDraw/3Dでメインメモリにサーフェスやらテクスチャ置いてなければな。<フルスクリーン

>>491
JPEGは圧縮したのを展開する分遅い。ただし、PNGに比べるとJPEGの方が早い。
ちなみにビットマップのコピー速度は640x480 24bitだと5ms以下程度。
(ただし、redrawが1になってるとウィンドウへのコピーが入るので2倍かかる)
052749102/04/17 13:24ID:PImbIDoI
どうもありがとうございます。
redrawを調節してみます。
0528名前は開発中のものです。02/04/17 13:43ID:???
>>526
え、初めに一度 buffer にファイルから読み込んで、そこからコピーするわけだから
BMPもJPEGもPNGも関係無いんじゃないの?
読むのは一回だけでしょ?
0529名前は開発中のものです。02/04/17 14:39ID:???
>>524
 計測したまい。

#include "hspdx.as"
screen 0,640,480,1 : buffer 2,640,480,1
gsel 0 : gmode 0,640,480,128
es_timer a.0
redraw 0
repeat 1000
gcopy 2,0,0
loop
redraw 1
es_timer a.1 : a.3=a.1-a.0 : mes ""+a.3+"ms"
stop
0530名前は開発中のものです。02/04/17 14:40ID:???
 参考値(1000で割った値が1回の描画)
 cel500Mhz 256MB(66) 8MB-AGP

○フルカラー
0:8874ms、1:12324ms、2:14227ms、3:32875ms

○256パレット
0:3017ms、1:4160ms、2:13471ms、3:4154ms

 256の30fps(33ms)ならgmode 0と1の組み合わせで2重スクロールも素でできると思われ。


>>521
 サブルーチンでもawait使ってて一定速度が保てなくなってるのでは。
0531名前は開発中のものです。02/04/17 21:28ID:???
君らさ、馬鹿正直に相手の質問だけに答えるなよ。

まずJPGだけど、これは画質が劣化するからゲームには向かない。
次にパレットモードはかなり制限がきついから今はお勧めできない。
で、ゲームはテーブル系などをのぞいて基本的に
フルスクリーンに対応しているのが良い。
ウィンドウモードは小さくて見難く、疲れるから。
0532名前は開発中のものです。02/04/17 21:36ID:???
>>531
JPEGは量子化、標本化を100%にした場合、ほとんど劣化しないよ。
0533ネタ?02/04/17 22:10ID:???
それは本末転倒というもの。
そもそもJPEGはCGと相性が悪い。
ゲームにわざわざ使うことはなかろう。
0534名前は開発中のものです。02/04/17 23:32ID:???
>533
シーッ!! 量子化、標本化って言いたい年頃なんだから。
053549102/04/18 08:30ID:8nwlI7Ts
みなさん、いろいろとありがとうございます。
0536名前は開発中のものです。02/04/19 00:05ID:zMOB3jfM
>>532
532がホントに量子化、標本化の意味を理解しているか、
小一時間問い詰めたい、問い詰めたい。
0537416 ◆HoSW/FCI02/04/19 04:40ID:???
 まぁ、バックグラウンドぐらいやね、JPEG形式の使いどころは。
 しかしなんでMAG形式が標準サポートなのか…。2.6からはPNG形式を標準サポートしてほすぃ。
0538416 ◆HoSW/FCI02/05/02 05:25ID:SMP1Pq.2
 この板にはHSPユーザーは居ないですか…。ナンカサミスィ。
0539名前は開発中のものです。02/05/02 08:45ID:???
居るよ。
折れ的にはHSP+BCCがいい感じ。
0540名前は開発中のものです。02/05/02 16:33ID:???
HSPデコンパイラのスレで中間言語の仕様を見たが
「酷い」の一言に尽きるな。
プログラミング言語処理系作成の素養のかけらもないって感じ。
誰かドラゴンブックをおにたま氏に買ってやれよ。
あとyaccとlexのマニュアルもな。
あんな厨丸出しの仕様見ているとこっちが恥ずかしくなるからさ。
0541名前は開発中のものです。02/05/02 17:07ID:???
ひさしぶりにアホがきたな
0542名前は開発中のものです。02/05/02 18:09ID:???
>>540
HSPがアレなのは仕方ない事
何せ逆ポーランド記法すら知らなかったようですから
0543名前は開発中のものです。02/05/03 11:31ID:???
>>540
どんなヘタレな仕様だろうが完成させた人は神
ガタガタ言う前にキミが(・∀・)ツクレ!!
0544名前は開発中のものです。02/05/03 13:37ID:???
しかもかなり有名になってるから
すごい神だな。
0545名前は開発中のものです。02/05/07 06:50ID:???
>>542
それマジですか?
ってことは天然要素だけでここまでのものを作ったのか。
0546名前は開発中のものです。02/05/09 08:04ID:7NoMqDDM
・たとえ最も単純なテトリスだろうと、パッケージとして公開するところまで辿りついた人は
 偉大である。一定の敬意を払うべき。
・ソフトウェアをパブリッシュするというのは見た目以上の労力が必要なんだよーん。
・「9割完成した時点で、新たに9割の作業が必要になる」

全部どっかからの受け売り。
■ このスレッドは過去ログ倉庫に格納されています