HSP - Hot Soup Processor [11]
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/12/02(金) 11:02:48ID:/jDdeuWB.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-8 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
0682名前は開発中のものです。
2006/02/13(月) 00:58:41ID:IJCDTE/Tテスト じゃねーよ馬鹿
議論板じゃねーだのネタ禁止だの
質問禁止だの言ってるから
なにも話題が出せない罠
せめて話題提供しろ
0683名前は開発中のものです。
2006/02/13(月) 01:06:38ID:L6CFt6cY0684出た!
2006/02/14(火) 17:47:25ID:CDONDwYShttp://pc8.2ch.net/test/read.cgi/gamedev/1092317552/75-
75 :名前は開発中のものです。:2006/02/13(月) 22:10:34 ID:N85o+Hsp
俺も期待。
76 :名前は開発中のものです。:2006/02/13(月) 22:13:26 ID:6dvi6iko
IDがHSPw
0685名前は開発中のものです。
2006/02/15(水) 05:16:14ID:BkrmqjT/自己解決したみたいだけど、参考までに。
標準命令に getstr という便利なものもあるよ。
val :結果の文字列を代入する変数
string :走査したい文字列を代入した変数
rp :走査を開始する位置を代入する変数
〜としておいて、
getstr val, string, rp, ','
rp+=strsize
こんな感じのものを適当に#defcfuncマクロ化しておけば、便利に使えると思う。
(string入れ替えごとに rp=0 にする必要アリ)
',' を '\t' に変えれば、タブ区切りのデータも読み取れます。
0686685
2006/02/15(水) 06:24:14ID:BkrmqjT/失礼…。
0687名前は開発中のものです。
NGNG炎のエフェクトを作ろうと想っているのですが、
gmodeの5と7を一緒に使う方法はないでしょうか?
アルファブレンドで抜いた画像を加算処理したいのです。
0688名前は開発中のものです。
NGNG0689名前は開発中のものです。
2006/02/15(水) 21:00:08ID:sIOPBiW0ageちゃったのかあ・・・
0690名前は開発中のものです。
NGNGマルチスレッドしてて申し訳ないんだけどさ・・・・
おねがひ・・・
0691名前は開発中のものです。
2006/02/15(水) 21:04:34ID:sIOPBiW0マルチポストのことなんだろうなー・・・
それは酷いなあ・・・
0692名前は開発中のものです。
NGNG0693名前は開発中のものです。
2006/02/15(水) 21:25:38ID:re6rwT10ネタですか?
マルチスレッド
ワロタ(w
0694名前は開発中のものです。
2006/02/15(水) 21:35:37ID:aqZkHAvt0695名前は開発中のものです。
2006/02/15(水) 21:38:25ID:sIOPBiW0http://gamdev.org/up/img/4664.zip
0696名前は開発中のものです。
2006/02/15(水) 21:57:05ID:LyS9km6f他ならマルチ氏ねで終了なのに。
0697名前は開発中のものです。
2006/02/15(水) 22:00:16ID:huaN2BC/0698名前は開発中のものです。
NGNG何とか形になりました。
0699609
2006/02/16(木) 01:03:43ID:7Uf3hN24ご助言ありがとうございます。
早速試してみたのですが、上手く行きません。
csvstr val,string
とした場合は、val(0,1,2,3...)に、stringの内容が1つずつ入るのですが、
上記の部分を
repeat x
getstr val,string,rp,','
rp+=strsize
loop
と置き換えると、stringの最初の1つ(=val(0))しか代入されません。
とりあえず、やりたいことはcsvstrで何とかなりそうではあるのですが、
後学の為にも、なにが問題かのヒントなどいただけませんか?
0700685
2006/02/16(木) 01:16:18ID:9Tpc2Kddgetstr の結果代入先が配列変数の扱いになってないからかな?
(原因がこれなら、val(0)じゃなくてval(x-1)が返るはずだと思うけど)
rp=0
repeat x
getstr val(cnt),string,rp,','
rp+=strsize
loop
でダメだろうか。
0701609
2006/02/16(木) 01:32:04ID:7Uf3hN24素早いご回答ありがとうございました。
上手く行きました。
val自体は配列変数として定義していたんですが、
csvstrの引数には配列の指定( (cnt)の部分 )が必要なかったので、
勝手に省いてしまっていたようです。
重ね重ねありがとうございました。
0702名前は開発中のものです。
2006/02/16(木) 02:40:49ID:B9achtIvどうすればいいですか
for i=0 to 8
for j=0 to 8
locate i,j:print"〇";
next j
next i
こういう事をしたいんですが
0703名前は開発中のものです。
2006/02/16(木) 03:29:53ID:UMYCTakLって、最初のループの後に入れれば?
0704名前は開発中のものです。
2006/02/16(木) 07:52:50ID:6yP0ma/w別にcntにこだわらなくてもいいじゃん
0705名前は開発中のものです。
2006/02/16(木) 07:56:28ID:6yP0ma/w見てなかったw
i++:j++
とかでw
0706702
2006/02/16(木) 12:33:10ID:B9achtIvなんか頭固くなってるなぁ、俺orz
レスくれた人サンキュでした
0707名前は開発中のものです。
2006/02/16(木) 13:01:38ID:32SPJz6M0708名前は開発中のものです。
2006/02/16(木) 18:23:14ID:aDFBaNmp全然。
0709名前は開発中のものです。
2006/02/16(木) 18:36:46ID:OR1QcVtL0710名前は開発中のものです。
2006/02/16(木) 20:13:48ID:fl1dUITK0711名前は開発中のものです。
2006/02/16(木) 20:18:39ID:xVcP6DOA0712名前は開発中のものです。
2006/02/16(木) 22:08:31ID:Lq2dGUAJ0713名前は開発中のものです。
2006/02/16(木) 22:11:36ID:UDZwcIAa0714名前は開発中のものです。
2006/02/16(木) 22:40:08ID:X42XqxHr0715名前は開発中のものです。
2006/02/16(木) 22:43:34ID:9NzFbojl0716名前は開発中のものです。
2006/02/17(金) 00:06:30ID:XFNQZiY20717名前は開発中のものです。
2006/02/17(金) 01:31:42ID:ypxuzGtc0718名前は開発中のものです。
2006/02/17(金) 03:31:47ID:fAlg5gHH0719名前は開発中のものです。
2006/02/17(金) 08:42:31ID:omvwf6En0720名前は開発中のものです。
2006/02/17(金) 11:46:57ID:Gp95gavbコントはBASICのcont(コンティニュー)を思い出すなw
0721名前は開発中のものです。
2006/02/17(金) 12:12:55ID:3VB7iSyAなぁ、ネタふっていい?
おまいら、HSPやる前はどんな言語使ってた?
漏れはHu-BASIC(X1)だ(古っ
0722名前は開発中のものです。
2006/02/17(金) 14:04:36ID:CxW0d/H7>>721
C,VB
0723名前は開発中のものです。
2006/02/17(金) 14:32:16ID:QYQR6pMmC,Java
いや、今も平行してやってるが。
0724名前は開発中のものです。
2006/02/17(金) 15:22:54ID:xqqDsZXomacのcode warriorでcに挫折。vcやvbもhdのこやしとなった。
0725名前は開発中のものです。
2006/02/17(金) 16:21:23ID:th/xJ3YP0726名前は開発中のものです。
2006/02/17(金) 16:50:54ID:zCwWbyBHPC-E200→PC-G850V→HSP
0727名前は開発中のものです。
2006/02/17(金) 19:05:32ID:dQi5LboK0728名前は開発中のものです。
2006/02/17(金) 19:53:43ID:CFJe2v+b0729名前は開発中のものです。
2006/02/17(金) 21:16:04ID:3VB7iSyAいや、オチはないんだけどね
>>728
それ言う奴いると思ったw
出来れば
mes "ニホンゴ"
とかして欲しかったなw
0730名前は開発中のものです。
2006/02/17(金) 21:54:20ID:Gp95gavb0731名前は開発中のものです。
2006/02/17(金) 22:33:23ID:yw1tCRrP0732名前は開発中のものです。
2006/02/17(金) 22:44:40ID:Q5aXf9Q50733名前は開発中のものです。
NGNG0734名前は開発中のものです。
2006/02/17(金) 23:47:51ID:8hlPP1QGポケコンユーザー
キタ━━━━(゚∀゚)━━━━ッ!!
漏れは、N88日本語BASIC(86)からはじまり
C→HSP→ポケコン(PC-G850S)BASIC→Z80マシン語→PHP だったかな、
そんな漏れも今は職業プログラマーの端くれなわけだorz
0735名前は開発中のものです。
2006/02/18(土) 00:26:11ID:+1a7THa60736名前は開発中のものです。
2006/02/18(土) 00:46:20ID:iArdHmAc質問が大雑把すぎて答えにくいなぁ…。
それに合わせて、こちらも大雑把に答えるとこんな感じ。
ファイル名 = "スクリーンショット" + 連番 + ".bmp"
bmpsave ファイル名
連番 ++
0738名前は開発中のものです。
2006/02/18(土) 01:27:01ID:PyJ/wHLJ0739名前は開発中のものです。
2006/02/19(日) 11:59:32ID:TuLL78Rthttp://freem.ne.jp/game/cool1.html
0740名前は開発中のものです。
2006/02/19(日) 12:26:52ID:/VgzDsALキーレスポンス、程よい難易度、自キャラの成長性、ステージの仕掛け‥‥など。
ただ‥‥最後までプレイさせる牽引力に欠けると思う。途中で飽きた。放置中。
良くできてるのになぁ。
0741名前は開発中のものです。
2006/02/19(日) 12:32:44ID:nwskC9Fx勝手に習作扱いかよ。お前作者バカにしてんのか。
色々な仕掛け、ボスのバリエーション、
最後までプレイさせる牽引力も欠けてるとは思えないな。
0742名前は開発中のものです。
2006/02/19(日) 13:02:42ID:5Td2crHdおまえ128じゃね?
0743名前は開発中のものです。
2006/02/19(日) 13:30:07ID:nwskC9Fx0744名前は開発中のものです。
2006/02/19(日) 13:42:10ID:6GWBv9Dh美術・音楽・文芸などで、練習のために作った作品。エチュード。
しゅうさく しう― 0 【秀作】
すぐれた作品。
評価orテスト依頼ならともかく、習作進められてもナァ。
0745名前は開発中のものです。
2006/02/19(日) 13:48:41ID:ecAXwEyCたかが作者を認めたり敬ったりすることなどありえません。
よって、740も741も128様ではありません。身の程をわきまえてください。
0746名前は開発中のものです。
2006/02/19(日) 13:53:39ID:Nbzra6UF謎解き部分で詰まった自分を正当化しようとしていると分析したが、どうか。
0747名前は開発中のものです。
2006/02/19(日) 14:20:45ID:h5yHcWK+HSPじゃないだろ
0748名前は開発中のものです。
2006/02/19(日) 17:21:21ID:/3ZYSM28揃いすぎてて習作にはできんだろ・・・
0749名前は開発中のものです。
2006/02/19(日) 18:02:01ID:ICj/jxQIまったくHSPとは関係ないけど
0750名前は開発中のものです。
2006/02/19(日) 19:04:14ID:Vc5DGT2Y洞窟と同じくらい楽しめる物はHSPでも作れる。いや当然だが。
やはりゲームは作者のアイデアとかセンス、そういった物も重要なんだろうな。
何を今更、ってことだろうからスマソ
ただ、洞窟は「おーい」の吹きだしで一度詰まった。まさかヒビがあったとは
0751名前は開発中のものです。
2006/02/19(日) 23:39:41ID:UWV5bgR8そのゲームのジャンル対応したスレに張れ。
0752名前は開発中のものです。
2006/02/19(日) 23:55:26ID:ZplM+7Y3コンテスト作品以外はあんまり知らんし。
ググっても製作中とか講座ばかり引っかかる。
0753名前は開発中のものです。
2006/02/20(月) 00:19:24ID:dDOQFV4jアクションで、ぷちわらの冒険
RPGで、MoonGoddess
とかどうだろう
0754名前は開発中のものです。
2006/02/20(月) 01:46:05ID:c/xTHJV3どうだろう?
0755名前は開発中のものです。
2006/02/20(月) 02:21:39ID:7xOMV0CW自分で遊んだ限りでは別に可能だと思ったが、
出来そうに無い部分なんてあるの?
0756名前は開発中のものです。
2006/02/20(月) 02:35:21ID:gDcgIttc出来るというのなら頭の中でこねくり回さずに
実際に再現して見せるのが一番早い。
出来ないほうは証明そのものが難しい。
0757名前は開発中のものです。
2006/02/20(月) 02:44:30ID:hDuFVv8O0758名前は開発中のものです。
2006/02/20(月) 03:28:16ID:Ce9B91cD0759名前は開発中のものです。
2006/02/20(月) 03:44:02ID:hDuFVv8Oしてないですよ…
0760名前は開発中のものです。
2006/02/20(月) 04:46:38ID:gXQAkQW+俺の知る範囲で言うと、多数ある機能のうち
DirectSound、DirectMusic、DirectShow、DirectInput系の命令は使えてる。
(DirectDraw とDirectGraphics系も一応使えるが、スクリプト終了まわりで
不具合が発生するかもしれない。使い込んでないから確信はないのだけど。)
・・・(´・ω・`)・・・
質問投稿 → 返答の投稿を求めてリロード する暇に、
DLLをダウンロードして、同梱されてるsampleスクリプトを
HSP3.0で実行してみるくらいはしてほしい。
質問に「自分でなんらかの努力をした」という跡が見えないと、
正直、答える気が萎える。
0761名前は開発中のものです。
NGNG0762名前は開発中のものです。
2006/02/20(月) 18:57:47ID:5mOg4EEB0763名前は開発中のものです。
2006/02/20(月) 19:09:35ID:8iJSHECHあるとは思うけど
0764名前は開発中のものです。
2006/02/21(火) 00:33:15ID:QMVrsfPeそうですか、ありがとうございます
(あるサイトを参考にしてゲーム作ろうと思ってたのですが、ウインドウを作る命令で
いきなりエラーになったので、使えないのかなと思って質問を書き込ませてもらいました
今後はもうちょっと努力します、スマソ)
0765名前は開発中のものです。
2006/02/21(火) 19:29:36ID:uvH6s+aw最近某スレで「シューティングゲームはタスクシステムを使うといい」と聞いて
ttp://homepage3.nifty.com/moha/prog_task.html
等を読んでみたのですが、HSPでの実装方法、タスクシステムの良さ共にピンと来ません。
何か簡単なヒント等いただけないでしょうか。よろしくお願いしますm(__)m
なお今は、入門書に良くあるように、メインループの中で自機処理、敵機処理、判定処理、
描画処理を順に置いていく方法を採っています。
0766名前は開発中のものです。
2006/02/21(火) 21:15:50ID:i9t2xeq/入門パターンと名づけてみると、
処理速度に限界があるマシンで、たとえば快適に処理できる限界を超えた画面処理を行った場合
(たとえば、敵や弾や背景を動かしまくったとか)、入門パターンでは
一回のループにおいて、敵が100機いたら100機動かすことになる。結果としてゲームバランスが壊れるかもしんない。
タスクシステムは、「メインループ」っていうのを固定枠から開放して、処理ごとの優先順位を浮動化、
「現在しなければならない処理の予定表」を浮動化しようってなのが、構想というか「良さ」の理想。
0767名前は開発中のものです。
2006/02/21(火) 21:28:47ID:8ybV5jKRHSPの場合、タスクシステムを組むよりも
hspdxfixやhgimgを使ったほうが楽にできると思う。
0768名前は開発中のものです。
2006/02/21(火) 22:06:59ID:uvH6s+awOSのタスク管理に近いイメージですね。ゲームだと、たとえば爆風等の視覚処理を端折っても
判定等ゲームの根幹部分を優先的に実行、という感じで使うのかな?
>>767
オブジェクト指向のプラグインを使った方が良い、ということでしょうか。タスクシステム自体、
オブジェクト指向の手法なんだろうな、とは思っていましたが…
まだHSP初めて数ヶ月ですが、優れた手法なら早めに身につけておくべきかな、と考え質問
しました。でもやっぱりまだ早杉ぽ(=L・ω・`)ショボーン
とりあえず、背伸びせず入門手法で1本完成させてみようと思います。アドバイスどうもありがとう
ございました。
0769767
2006/02/22(水) 06:36:07ID:p34I2Z/Y確かにまずは入門手法でやってみるべきかも。
補足しておくと、タスクシステムをスマートに実現するには
C言語の関数ポインタが必要なので、HSPでは難しいのです。
というかHSPでタスクシステムを組む方法があれば知りたい。
0770チラシの裏(レス不要)
2006/02/22(水) 15:25:57ID:KijsGiKj実はずっと前から知ってたんだけど起動して地味だから
パスしてた。遊んでみたら面白い!こういうフリーのゲームでは
アメルブロート以来ハマりました。
自分が上手くなるよりも難易度がどんどん高くなっていくので
チートしてしまいました…(tserch)。戦車をほぼ無敵で倒した。
現在壁を登って犬人間と会話したところ。もうラスト近いかな?
作り込みがすごい…絵はファミコンレベルだけど実は本当は上手い!
音楽もできるし、ストーリー描ける!作者さんは
万能クリエイターですよ。絵に時間がかかってないぶんゲーム内容の
作り込みがすごい!たとえば大爆発後の廃墟のタマゴ回廊だけど、
適当なマップではなくいやな位置に敵が配置されてて絶妙。
これをいちいち試しながら作っていく
かと思うと気が遠くなりそう…
処理で一番重そうなのは背景表示だろうけど、
別に重ね合わせとかしてるわけじゃなくチップを
並べて一枚で表示してるだけなのでHSPでもDIRECTXを使えば
不可能ではないと思われます。
0771名前は開発中のものです。
2006/02/22(水) 16:40:29ID:1aRHWUiqあっ!128様でしたか。
0772ホスプロ ◆HOTsoUpxjY
2006/02/22(水) 21:09:46ID:AFFY9EgE>「シューティングゲームはタスクシステムを使うといい」〜
>HSPでの実装方法、タスクシステムの良さ共にピンと来ません。
if (a>b)and(c>d){
if(e>f)and(g>h){
if…
こんなふうに、手続きを並べた素直なやり方では、
各処理の前のifのネストが際限なく深くなっていく。
ポーズを押すと一時停止するけど、背景だけ動かそうとか、
クリアすると操作はできないがアイテムと爆風だけ処理したいとか、
親の砲台が死ぬと子の弾は全部消滅するとか、分裂する敵だとか…。
ゲームが複雑になると条件判断も複雑になって、メンテナンス性も最悪。
そこでタスクを使うと、簡潔に書けて、仕様の変更にも対応できるようになる。
ただし言われてるようにHSPは向かない。Cなど関数ポインタを備えた言語を使う。
それでもど〜しても、HSPでも同じようなことを標準命令だけでやりたいという場合、
オモチャのようなものでよければ、とりあえず処理をバラバラにするのは実現できる。
0773ホスプロ ◆HOTsoUpxjY
2006/02/22(水) 21:11:56ID:AFFY9EgE*main
if((instr(point,0,"a"))=0){
mes "aの処理"
point="b"
}
if((instr(point,0,"b"))=0){
mes "bの処理"
point="c"
}
if((instr(point,0,"c"))=0){
mes "cの処理"
point="a"
}
count++ : if (count > 5) : stop
wait 0 : goto *main
単純に発想する。上の「point="c"」のcをbに書き換えると
cは実行されない。これは文字列を使うと何かありそうだ。
0774ホスプロ ◆HOTsoUpxjY
2006/02/22(水) 21:14:07ID:AFFY9EgE*main
point=""
repeat
r=rnd(4)
if r=0 : point+="a"
if r=1 : point+="b"
if r=2 : point+="c"
if r=3 : break
loop
max=strlen(point)
pcnt=0
gosub *task
count++ : if count > 3 : stop
wait 0 : goto *main
*task
mes "point="+point
repeat
if((instr(point,pcnt,"a"))=0){
mes "aの処理"
}
if((instr(point,pcnt,"b"))=0){
mes "bの処理"
}
if((instr(point,pcnt,"c"))=0){
mes "cの処理"
}
pcnt++ : if (pcnt > max) : break
loop
return
もう少し複雑にしてみる。実行するたびにランダムに処理が実行される。
0775ホスプロ ◆HOTsoUpxjY
2006/02/22(水) 21:17:32ID:AFFY9EgEでも処理が増えるとループのオーバヘッドも大きいし、全然スマートじゃない。
とても実用には耐えられなさそうだが、オモチャとしては面白いかもしれない。
0776名前は開発中のものです。
2006/02/22(水) 22:40:57ID:ZhAaOp1w存在価値が微妙だな。
0777765
2006/02/22(水) 23:03:14ID:hIb49XnOそうですね。まず1本、それなりの規模の作品を作りたいと思います。
C言語はHSPで飽き足りなくなったら勉強しようかな。10年後くらいにorz
>>772-775
ソース付きでの丁寧な解説、ありがとうございます!(´∀`)
最初、入門的手法で if や switch〜case を使うのと何か違うのかな?とも思った
のですが、pointの文字列により、処理すべきブロックと処理順を簡単かつ動的に
指定できるのが面白いです。いつか、これを利用したゲームを作ってみます。
アドバイス、ありがとうございました!
0778名前は開発中のものです。
2006/02/22(水) 23:26:48ID:flZ45hqhつ ttp://smile.poosan.net/perl-bin/hsp/ver3/hsp3.cgi?print+200510/05120034.txt
0779名前は開発中のものです。
NGNGおっサンキューっす!
さっそくためしてみよう
0780名前は開発中のものです。
NGNGsendmsgとかstatとかをわかりやすく解説してるサイトとかってないでしょうか・・・
0781名前は開発中のものです。
2006/02/23(木) 09:15:46ID:B3rZv0Iq■ このスレッドは過去ログ倉庫に格納されています