トップページgamedev
299コメント121KB

HSPでRPG

■ このスレッドは過去ログ倉庫に格納されています
0001HSP04/04/25 23:19ID:FQRAx6j0
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0249名前は開発中のものです。2006/03/14(火) 18:35:13ID:GInoHtdf
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでMMORPG(FF11)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0250名前は開発中のものです。2006/03/15(水) 11:35:49ID:5IbhmKpH
・・・。
同じ文ありすぎですぉ・・・。
0251名前は開発中のものです。2006/03/16(木) 00:33:52ID:eRkKGol4
よし、俺について来い!
0252名前は開発中のものです。2006/03/21(火) 08:57:11ID:qDEKE9+t
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。

0253名前は開発中のものです。2006/04/19(水) 21:58:59ID:vhZ7ka1f
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0254名前は開発中のものです。2006/04/20(木) 09:44:57ID:EMny2njT
>>249
 いきなりRPGを作ろうと思わないこと。RPGはいろいろなジャンルのプログラムテクが必要に
なるので、まずそれを身に付けてからでも遅くは無く。あと、プログラミングだけじゃなく、RPG
はシステムを考案する要素が高いので、そのあたりをきちんと決めておかないと、仕様変更の
連続でまともに作れなくなります。

 とりあえずMMORPGが作れるとの事なので、グラフィック表示、キー入力、キャラ移動、
当り判定、1画面分のマッピングはマスターしていると思うから、次はシューティングで背景の
スクロールと他キャラの同時制御を身に付けるとよろし。成長要素(自弾の拡張・耐久力上昇)
を盛り込めば、RPGのレベルアップ処理に応用できるのでモチベーションは維持できるかと。

 次はアドベンチャーでメニューとイベント処理を身に付けること。
0255名前は開発中のものです。2006/04/20(木) 16:56:26ID:kWNL2aTY
>>254
>>1
0256名前は開発中のものです。2006/04/20(木) 17:19:06ID:Anty6Cdq
>>255
>>242,246
0257名前は開発中のものです。2006/05/10(水) 03:29:45ID:MjqwJ3xa
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0258名前は開発中のものです。2006/05/10(水) 10:23:03ID:NUqaBftN
| 釣れますか?                ,
\                         ,/ヽ
   ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄         ,/   ヽ
   ∧_∧          ∧∧  ,/         ヽ
  ( ´∀`)         (゚Д゚,,),/            ヽ
  (    )      (|  つ@               ヽ
  | | |   ___ 〜|  |                ヽ
  (__)_) |――|.  ∪∪                     ヽ
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|                 ヽ
  /⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
  ⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
0259名前は開発中のものです。2006/05/10(水) 10:44:57ID:hiutgL36
>>257
マップ移動できれば大丈夫でしょ
HSPでRPGは難しいというより面倒
大規模なデータ構造だと辛そうだね

サンプルソースは色んなとこにあるよ、下は一例
ttp://www2.pf-x.net/~shink/hspindex.html
0260名前は開発中のものです。2006/05/10(水) 18:27:38ID:n4uiCo3X
HSPじゃなくてもRPGは面倒だけどな。
相当な忍耐がないとファミコン以下のもんしかできん。
0261名前は開発中のものです。2006/07/24(月) 07:50:43ID:oArTn05k
http://www.onionsoft.net/hsp/ ここにhsp3最新版あるよ
0262名前は開発中のものです。2006/09/06(水) 20:22:20ID:aczt72Y/
ttp://www.smith-project.jp/main/index.html
ここは参考になるかな
0263名前は開発中のものです。2006/09/07(木) 23:18:22ID:2FdFXXyi
ここが有名な
「〜で〜したいんですが、正直難しいと思います。 」
のおおもとのスレか
0264名前は開発中のものです。2007/03/11(日) 09:22:38ID:2p/x7h0m
HSPでRPG作りたいんですが、正直難しいと思います。
でもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0265名前は開発中のものです。2007/03/11(日) 21:53:58ID:woiS+kpN
>>264
 いきなりRPGを作ろうと思わないこと。RPGはいろいろなジャンルのプログラムテクが必要に
なるので、まずそれを身に付けてからでも遅くは無く。あと、プログラミングだけじゃなく、RPG
はシステムを考案する要素が高いので、そのあたりをきちんと決めておかないと、仕様変更の
連続でまともに作れなくなります。

 とりあえずブロック崩しが作れるとの事なので、グラフィック表示、キー入力、キャラ移動、
当り判定、1画面分のマッピングはマスターしていると思うから、次はシューティングで背景の
スクロールと他キャラの同時制御を身に付けるとよろし。成長要素(自弾の拡張・耐久力上昇)
を盛り込めば、RPGのレベルアップ処理に応用できるのでモチベーションは維持できるかと。

 次はアドベンチャーでメニューとイベント処理を身に付けること。
0266名前は開発中のものです。2007/03/11(日) 22:22:59ID:C2VUxkMj
なんか悲しい…
0267名前は開発中のものです。2007/03/11(日) 22:34:13ID:k4eFOmxa
俺はワロタ
0268名前は開発中のものです。2007/03/11(日) 23:25:13ID:o8jznlMp
俺はツマンネ('A`)
0269名前は開発中のものです。2007/03/12(月) 08:45:04ID:HjqKfI9M
これはマジ質問なのですが、hspでrpg作る場合
アイテムや主人公・敵キャラクターのデータはどう扱えばいいんでしょうか。
例えばアイテムの情報はあらかじめアイテム情報を書き込んだテキストファイルから読み込むとして、
テキストの一列ごとにアイテムの名前、ステータスなどを書き込んでいってそれをファイル側で読み込む。
だけど、そうした時にプログラム側ではそのテキストを読み込むとき、
そのアイテムがあるラインを指定してやらないと読み込めないので
アイテム名でアイテムの情報をテキストから読み出せなくて、やり辛いと思うんです。
それともインデックスを用意しておいて、指定したイニシャルと同じアイテムリストを全部バッファに
読み込んで比較してアイテムの情報を読み込む???
それと、所持アイテムの処理の仕方もわかりません。
0270名前は開発中のものです。2007/03/12(月) 12:40:58ID:zNGWNd+L
マジレスするとnotegetとcsvstrで読み込んで、配列変数に入れる。
その後、#enumで振った名前でアクセスすれば構造体みたいなもんだろ。
0271名前は開発中のものです。2007/03/13(火) 06:16:11ID:K8oTsumj
>>269
#define gs(%1,%2,%3,%4=',') getstr %1,%2,%3,%4:%3+strsize
#module
//IDに合わせた要素に文字列データを入れていく
//p1=ID順に入る変数名 p2=元の文字列データ statに一番大きいIDが入る
#deffunc setlst array list,str temp,local maxid,local _temp
_temp=temp:sdim list :notesel _temp
repeat noteinfo(0)
noteget n,cnt
getstr id,n,0,','
list(int(id))=strmid(n,strsize,strlen(n))
if int(id)>maxid {maxid=int(id)}
loop
noteunsel
return maxid
#global
load="10,ポーション,100,5,回復(小)\\雑魚が良く落とす\n15,回復剤,200,10,回復(大)\n"
load+"20,解毒剤,320,30,毒消し\\たまに効かない\n100,短剣,2000,100,80,5,5,武器\\一番弱い武器"
setlst item,load:itemmax=stat+1 ;使われてる要素の数はID+1になる
load="1,スライム,10,3,5,10,10,10,15\n10,レッドスライム,15,10,20,15,15\n50,モンスター,25,30,120,20"
setlst mons,load:monsmax=stat+1
load="1,名無しA,5,100,30,5000,12345\n5,ななしB,10,300,200,10000,23456"
setlst play,load:playmax=stat+1
//プレーヤーIDに対応した所持アイテムリストIDが使われる
load="1,3,100,1,10,3,20,5\n5,4,15,1,10,10,20,5,100,2" ;所持アイテムリストID,種類数,アイテムID,個数,・・・
setlst pitem,load:pitemax=stat+1
mess="モンスター名","HP","MP","EXP","所持item1","所持item2","所持item3","所持item4"
pmess="名前","レベル","HP","MP","所持金","EXP","所持アイテム種類数","個","アイテム個数"
imess="名前","値段","重さ","説明","名前","値段","重さ","攻撃力","防御力","魔力","説明"
>272 に続く・・・
02722712007/03/13(火) 06:19:51ID:K8oTsumj
>271 からの続き
repeat playmax:
temp=play(cnt):if temp="" {continue } ;存在しないIDは飛ばす
mes "プレーヤーID: "+cnt:index=0
repeat 6
gs p,temp,index:mes pmess(cnt)+": "+p ;プレーヤーステータス表示
loop
index=0 :pi=pitem(cnt) :gs i,pi,index :mes pmess(6)+": "+i ;所持品の種類
repeat int(i),7:
gs i,pi,index :gs is,pi,index ;アイテムIDと所持数
itemstr=item(int(i)) :getstr n,itemstr,0,',' ;アイテムIDからアイテムデータ取り出し
y=ginfo(23) :button gosub n,*item_mes :butid(stat)=int(i)
pos 70,y:mes is+pmess(7):pos 0,y+24:loop:mes:loop:
pos 300,0:
repeat monsmax
:m=mons(cnt):if m="" {continue }:
index=0:mes "モンスターID: "+cnt:
repeat 4:gs d,m,index:mes mess(cnt)+": "+d:loop ;モンスターデータ表示
repeat 4,4:gs d,m,index:s=stat:itemstr=item(int(d)):getstr n,itemstr,0,',' ;モンスターデータからアイテム名を収得
mes mess(cnt)+": "+n:if s!',' {break}:loop:mes:loop:stop ; , が無かったら所持アイテム終わり
*item_mes:
iid=butid(stat) :a=item(iid)
c=0:screen 1,200,96+(iid>=100)*100,8+16,300,300:cls 1
repeat 4+(iid>=100)*3,(iid>=100)*4 ;ID100以上は装備品として扱う
gs b,a,c :cc=0:bb=""
repeat:gs d,b,cc,'\\' ; "\\" これを改行として文字列操作
if stat!'\\'{bb+d:break}
bb+d+"\n"
loop
if imess(cnt)="名前"{title imess(cnt)+": "+bb}else{mes imess(cnt)+": "+bb}
loop:gsel 0:return
0273名前は開発中のものです。2007/03/13(火) 06:49:46ID:K8oTsumj
>>269
>それともインデックスを用意しておいて、指定したイニシャルと同じアイテムリストを全部バッファに
>読み込んで比較してアイテムの情報を読み込む???

IDを振ってそれを基準に処理すればいんじゃね?
IDで管理しとけばアイテムの名前変えても他を弄る必要ないし
追加削除してもIDを変えなければ直接関係有る物しか弄らなくていい
0274名前は開発中のものです。2007/03/13(火) 21:34:56ID:lw1fUGj9
>>270
>>271
参考にします。ありがとうございました。

それから、ソースを書いてもらってすいません。
よくできていて感心してしまいました・・・
0275名前は開発中のものです。2007/03/14(水) 02:09:15ID:pkgaAWGt
>>274 ゲーム中に変化があるのは整数型でデータを持ってた方が扱いやすいと思う
#define PLAYMAX 10
#enum PLAY1=0
#enum PLAY2
#enum playNAME=0
#enum playLEVEL=6
#enum playHP
#enum playMP
#enum playEN
#enum playEX
#enum playTEMP
#enum playtempEND=playTEMP+10
#enum playEND
#enum playITEM
#enum playitemEND=playITEM+20
#enum playdatEND
pmess="名前","レベル","HP","MP","所持金","EXP","所持アイテム種類数","個","アイテム個数"
load="10,ポーション,100,5,回復(小)\\雑魚が良く落とす\n15,回復剤,200,10,回復(大)\n"
load+"20,解毒剤,320,30,毒消し\\たまに効かない\n100,短剣,2000,100,80,5,5,武器\\一番弱い武器"
setlst item,load:itemmax=stat+1:dim play,playdatEND,PLAYMAX:n="名無しA":
memcpy play,n,strlen(n),playdatEND*4*PLAY1,0:play(playLEVEL,PLAY1)=5,100,30,5000,12345
play(playITEM,PLAY1)=100,1,10,3,20,5:n="ななしB":memcpy play,n,strlen(n),playdatEND*4*PLAY2,0
play(playLEVEL,PLAY2)=10,300,200,10000,23456:play(playITEM,PLAY2)=15,1,10,10,20,5,100,2
repeat playmax:if play(0,cnt)=0 {continue } ;存在しないIDは飛ばす
pid=cnt:mes "プレーヤーID: "+pid :sdim n,5*20:memcpy n,play,20,0,(playdatEND*4)*pid
mes pmess(0)+": "+n:repeat playTEMP-playLEVEL:mes pmess(cnt+1)+": "+play(cnt+playLEVEL,pid) :loop:b=""
repeat :if play(playITEM+cnt*2,pid)=0{icnt=cnt:break}
i=play(playITEM+cnt*2,pid):is=play(playITEM+cnt*2+1,pid) ;アイテムIDと所持数
itemstr=item(i) :getstr n,itemstr,0,',' ;アイテムIDからアイテムデータ取り出し
b+n+" "+is+pmess(7)+"\n":loop:mes pmess(6)+": "+icnt:mes b:loop:stop
↑271のモジュールを使うのが前提
0276名前は開発中のものです。2007/05/17(木) 20:54:25ID:QslptYDj
パーティー数・戦闘参加人数に制限のないツールってあります?
0277名前は開発中のものです。2007/05/17(木) 21:02:55ID:SRf6VBZ+
0278名前は開発中のものです。2007/05/17(木) 22:52:18ID:QslptYDj
……すみません、別スレに投下するつもりが誤爆しました…
0279名前は開発中のものです。2008/07/20(日) 19:07:16ID:2Ijm4eAV
>>120
この人が作ったRPGの紹介動画、ニコニコ動画のコンテストかなんかで賞貰ってたよ
そんな人が数年前にこんなレスしてたってのはなんかあれだね、面白いね
俺も頑張らないと
0280名前は開発中のものです。2009/08/10(月) 13:04:26ID:sFddjEWZ
2年で3レスか…
babelっていうゲームはHSPらしいが
0281名前は開発中のものです。2009/08/11(火) 00:41:24ID:q2fvLOcR
ちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこ
ちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこ
ちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこ
ちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこ
ちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこちんこ
0282名前は開発中のものです。2009/08/16(日) 12:34:20ID:mUJcX4L/
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
0283名前は開発中のものです。2009/08/17(月) 18:09:14ID:rLW8yDpb
たていすかんなにらぜ゜ちとしはきくまのりれれけむむ
0284名前は開発中のものです。2010/02/04(木) 05:44:42ID:AjRDC0nc
なんかもう一個のほうのスレで頑張ってる奴がいるから俺はこっちで頑張ろうかな
0285名前は開発中のものです。2010/02/04(木) 11:10:06ID:j8+pLPQE
じゃあ俺は応援する
0286名前は開発中のものです。2010/02/06(土) 19:45:13ID:eBoJBxgs
>>120
この文字だけのRPGすげーカッケェーっすね
センスがパネェっす
0287名前は開発中のものです。2010/02/11(木) 17:05:34ID:w5NM98dn
マップエディタ作るのが難しいっす
既存のエディタを借用すれば楽だけどせっかくなので全部自作を目指すのだった
0288名前は開発中のものです。2010/02/12(金) 15:57:35ID:etgrazeU
開発中はインタプリタで実行して
exeファイルにするときはコンパイルするってこと出来ないかな
0289名前は開発中のものです。2010/02/16(火) 00:46:29ID:Tfo84wDg
なんかマップエディタよりドット絵が描きたくなってきたです
0290名前は開発中のものです。2010/02/20(土) 01:33:10ID:tShVZmmA
ゲーム制作より絵を描く方に興味を持ったのでそっちに行きます
それではお元気で(・∀・)/ヾ〜
0291名前は開発中のものです。2010/02/21(日) 08:41:22ID:zQLFxu4y
>>289から>>290にいって、自分の素材を使いたいがためにゲーム制作に戻ってきたっていうタイプもいる。
0292名前は開発中のものです。2010/06/18(金) 23:39:46ID:x/+wsHqQ
自分で作ったプログラムと絵と音楽が合わさると感動するわな
0293名前は開発中のものです。2010/06/26(土) 17:41:26ID:p8tPjhCB
自分で使うのが恥ずかしいってことも・・・そうそう無いか
音楽とか作るの苦手だわ、俺
0294名前は開発中のものです。2010/08/05(木) 16:31:18ID:+9m6bvWS
まちびとに話しかける度に、文字を表示したいのですが、文がたくさんありすぎて
画面がみずらくなってきました。
文だけを別ファイルにするほうほうとかはあるのですか?
0295名前は開発中のものです。2010/08/05(木) 22:42:17ID:WhyL8tJg
あります
0296名前は開発中のものです。2010/08/29(日) 10:17:26ID:Oy6sz1B5
>>294
「みずらく」じゃなくて「みづらく」な
0297名前は開発中のものです。2010/10/06(水) 01:38:18ID:p01vOLw3
戦闘部分のソースがカオスになってきた
0298名前は開発中のものです。2010/10/09(土) 21:35:38ID:nr26u1G7
ho
0299名前は開発中のものです。2011/01/06(木) 22:25:24ID:FIV/E0G/
無料RPG製作ツール「ロープレジェネレーター」
ttp://sekisekki.net/index.htm
 直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。
(HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ
ができます)
他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、
乗り物が作れたりゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト
なんかも簡単に作れる様です。戦闘はデフォだとドラクエ系。
移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。
 他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも
しれない機能です。これは、マップエディタで設定することで、「マップに入った時・
出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる
機能です。
■分からないことや要望は掲示板へどうぞ。他にもいろいろ進化中みたい。
■ このスレッドは過去ログ倉庫に格納されています