[過去ログ] HSP初心者が<ゆうなま>っぽいゲームを作る (68レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(2): 亜院主他院 2012/04/28(土)10:37 ID:4Teh0eDo(1/6) AAS
HSP初心者の俺がゆうなまっぽいゲームを作ろうと思う

魔物をどうやって生み出すかは考え中
2: 亜院主他院 2012/04/28(土)12:54 ID:4Teh0eDo(2/6) AAS
ゆうなまの掘っているブロックと掘っていないブロックどう判定するのか
謎だ
3: 亜院主他院 2012/04/28(土)12:55 ID:4Teh0eDo(3/6) AAS
ゆうなまの掘っているブロックと掘っていないブロックどう判定するのか
謎だ
4: 2012/04/28(土)12:56 ID:4Teh0eDo(4/6) AAS
ゆうなまの掘っているブロックと掘っていないブロックどう判定するのか
謎だ
5: 2012/04/28(土)13:08 ID:4Teh0eDo(5/6) AAS
ゆうなまの掘っているブロックと掘っていないブロックどう判定するのか
謎だ
6: 2012/04/28(土)16:49 ID:4Teh0eDo(6/6) AAS

7
(1): 2012/04/29(日)11:28 ID:mccNZChT(1) AAS
ゆうなまって動画でしか知らないけど、

0:ブロックなし(掘ったブロック)
1〜6:掘っているブロック
7:掘ってないブロック

こんな感じでないの?
8
(1): 2012/04/29(日)15:40 ID:iZDksGt/(1) AAS
ゆうなまってゲームしらないが、テトリスの動いてるブロックと固まってるブロックの扱いの違いとかで応用きくかも とか適当レス
9: 2012/04/30(月)11:45 ID:nRELCOL0(1) AAS
>>7
>>8
ありがとう
ここさえ出来れば後は大丈夫
10: 2012/05/03(木)14:44 ID:NEVPgAzC(1) AAS
勇者が一度いった通路と
まだいっていない通路は
どうやって判別しているのか
11
(1): 2012/05/03(木)17:37 ID:9eGww88H(1) AAS
要は魔王のところまでどう勇者を自動でいかせるかだよね?
魔王は最初に位置決めるんだから 「A*アルゴリズム」(エースター)ってのを調べるといいと思う。
12
(1): 2012/05/04(金)02:05 ID:ty/DK0gE(1/3) AAS
>>11
エースターとは?
13
(1): 2012/05/04(金)08:44 ID:BeLt5uBy(1/2) AAS
A*の読み方だよ おれが間違って読んでたから書いといた
14: 2012/05/04(金)10:21 ID:ty/DK0gE(2/3) AAS
>>12
センキュー
15
(1): 2012/05/04(金)15:00 ID:EQiybbJm(1) AAS
Aはアヌスの頭文字、*はケツの穴を表すのによく使われる記号
正しい読み方知らなければ変な勘違いしたってまぁおかしくはないよな
>>13は全然悪くないよ
16: 2012/05/04(金)16:36 ID:ty/DK0gE(3/3) AAS
>>15
納得
17
(1): 2012/05/04(金)23:52 ID:BeLt5uBy(2/2) AAS
アーッ アナル アルゴリズムと読み間違って…なわけあるかー
18: 2012/05/05(土)10:10 ID:07SuUf/N(1) AAS
>>17
www
19
(1): 2012/05/10(木)20:22 ID:ZZ1xcYYu(1) AAS
>>1はやってるの?ゆうなまってやったことないけどようつべで見てたらつくりたくなってきたw
20: 2012/05/11(金)16:18 ID:WVxD7ms5(1/2) AAS
>>19
あるが、勇者のAIがわからずつまっている
21
(1): 2012/05/11(金)18:41 ID:PAZZuyqn(1) AAS
おれA*を勧めたものだけど、A*は最短距離だから違ったな
あのあと興味もって、ファイナルステージの動画見たら寄り道してモンスター倒してたから。
経路探索った基本が最短距離だから、寄り道するAIずばりはないのかな?

あと厳しいこというと、ここのローカルルール的にサイトがあったほうがいいらしいよ

そのもののAIはないんだけど、ゲーム開発者のためのAIっていうオライリーの本に経路探索の話が詳しくのってたよ
動画見ただけだから正確に再現は難しそうだけど、スタート地点→経由地→魔王ってやって、魔王から直でスタート地点にいくならA*でなんとかなりそう
ただ製品は経由地まで、も最短距離じゃないんだよな。
22: 2012/05/11(金)19:05 ID:WVxD7ms5(2/2) AAS
>>21
詳しい助言サンクス
23: 2012/07/21(土)20:53 ID:adjw6zXw(1) AAS
HSPか、俺も初心者だぜー

元々の養分の設定とか考えてマップのサイズにもよるけど
マップエディタがないときつい気がするでござる
24: 2013/09/16(月)06:18 ID:cFQgBT/g(1) AAS
ゆうなまって何
25: 2013/09/16(月)07:03 ID:0z6G+V2t(1) AAS
地底最大の作戦
26: 2013/09/16(月)13:36 ID:aGtV6M1R(1/2) AAS
HSPより前にPSPっていう言語があってな
そこで人気があったゲーム
27: 2013/09/16(月)15:31 ID:uFkJLhaR(1) AAS
HSP使いじゃないが、ゲームシステムには興味がある。
ちょっとルールを説明してもらえないかな?
28: 2013/09/16(月)15:35 ID:aGtV6M1R(2/2) AAS
ぐぐれ
29: 2013/09/17(火)10:24 ID:nd9Mgcbp(1) AAS
「ゆうなま」
1:ゆうなおまえが一番星
2:ゆうやけなま放出中
30: 2013/09/17(火)12:59 ID:u9XGuM+F(1) AAS
今時没落したHSPとか
31: 2013/09/20(金)23:14 ID:uveWXQ3J(1) AAS
既に>>1が居ないようなので、スレタイの『HSP初心者が』を改め、
『C++で〈勇なま〉っぽいゲームを作る』ということで再利用しますね。
32: 2013/09/21(土)01:35 ID:xR7oqrjS(1) AAS
おう、頑張れや
33: 2013/09/21(土)04:25 ID:v3Zy5yAz(1) AAS
「勇なま」
1:栄勇、なまでお願い
2:勇気を出して飲んだら、なまっぽい
34: 2013/09/21(土)06:58 ID:JvVHJClK(1/2) AAS
では最初にゲーム内容の確認をしますね。適宜補足、修正をしてください。

プレイヤーは、地下世界を表すタイル状のマップに、
蟻の巣状の迷路を作成していきます。
時々、地上から勇者が冒険にくるので、プレイヤー側は作成した迷路の
どこかに魔王(防衛対象シンボル)を配置します。

以後は基本的にオートマチックにゲームが進行し、
勇者に魔王を連れ去られたらゲームオーバーになります。
35
(1): 2013/09/21(土)10:29 ID:8w7nNenr(1) AAS
ゲームのキモが抜けてるから全くゆうなまじゃない

地中に「養分」がバラ撒かれている
穴を掘る時に養分を壊すと魔物発生
養分のマスは量が増減し、レベルの高い養分マスからはレベルの高い魔物が出る

養分を吸収・運搬する下級の魔物をコントロールして
養分を一箇所に集めるのがゲームのミソ
ただし直接操作できないのでマップの掘り方を工夫する必要性が生じる
36: 2013/09/21(土)18:00 ID:JvVHJClK(2/2) AAS
>>35
慌てなさるな。

さて、地下マップの未掘削1セルごとに、「養分」「魔分」という量が設定されています。
養分、魔分が含まれるセルをプレイヤーが掘削して通路に変えたとき、
その含有量に応じてその場所に「魔物」が発生します。

養分については、ゲーム開始時に予め分布しているほか、近傍通路での魔物が活動することで
吸収、放出されるほか、勇者との戦闘の結果次第で再散布されることがあります。
省4
37: 2013/09/22(日)03:57 ID:aiGKsK/e(1/3) AAS
別スレ建てよう
38: 2013/09/22(日)14:20 ID:sG+aRWz1(1) AAS
いらん
早くもエターナル臭がぷんぷん
39: 2013/09/22(日)15:53 ID:4KdgXx53(1) AAS
続けます。

魔物は、種類別のアルゴリズムに基づいた養分等の吸収、運搬および成長プログラムを
実行する以外に、他の個体と接触した際には捕食による調整が行われます。
具体的には、食べられる側が保有していた養分などが食べた側に吸収され、
食べられた個体は死亡扱いで消滅する一方で、食べた側は規定のプログラムに基づき、
繁殖して新たな個体を産み出す場合があります。

なお、この食物連鎖による生態系のなかで、魔王を求めて降りてきた勇者の肉体および
省1
40: 2013/09/22(日)16:34 ID:aiGKsK/e(2/3) AAS
 
それは良いとして、いつになったら作り始めるの?
大志を抱くのはいいけど、書いている処理をいきなり実装するのかな?
41
(1): 2013/09/22(日)21:06 ID:aiGKsK/e(3/3) AAS
「説明だけするから作ってくれ」ですか?
42: 2013/09/23(月)13:31 ID:Kz2U6kXX(1) AAS
勇者が侵入を始める時点にかぎり、魔王を移動させることができます。
勇者は侵入時点では地下迷路の形も、魔王の位置も知り得ませんので、
個性的な探索アルゴリズムを駆使してさ迷いながら魔王を捜します。

その道中で勇者が魔物と接触すると、戦闘によって体力やアイテム等を消耗しますが、
その結果、体力が尽きてしまえば養分と亡骸を残して消滅します。
勇者が回復呪文等を使えば、その近辺に魔分が散布されます。

このため、プレイヤーが産み出した魔物たちは、自らの生存と繁殖を目的に
省2
43
(1): 2013/09/23(月)13:59 ID:LZmlaTXa(1) AAS
>>41
お前馬鹿だろ
44: 2013/09/23(月)18:04 ID:T/L+nbDM(1) AAS
>>43
おまえアホちゃうか?
45: 2013/09/25(水)04:40 ID:gw9JmMKI(1) AAS
プレイヤーが穴を掘るためには『掘パワー』というパラメータを消費します。
掘パワーはゲーム開始時に規定量配備されるほか、『ステージ』と呼ばれる
ミッションクリアごとに、その成績に応じて補充されます。

1つのステージは、規定の戦闘、探索能力が設定された勇者の集団の到来という
形で設定されており、彼らを全滅させることができればステージクリアになります。

ステージが進むごとに勇者は強くなっていくため、補充された掘パワーを活用し、
より強力な魔物を数多く配置できるよう迷路を拡張する必要があります。
省3
46: 2013/09/25(水)21:06 ID:4U3cl5Yv(1) AAS
-------------------------------------------

日記スレ終了

-------------------------------------------
47: 2013/09/26(木)04:46 ID:kJr8YGqM(1) AAS
産み出した魔物および勇者には、各々について保有する養分と魔分に加え、
『体力』が設定されています。この数値は、以下の通り変動します。

・迷路を移動すると、わずかずつですが減少します。腹が減るような意味合いです。
・草食系魔物が土から養分を吸収すると、保有養分増加とともに、体力は回復します。
・肉食系魔物が他の魔物を捕食すると、被捕食者が保有していた魔分養分を引き継ぐとともに、
 体力も回復します。
・勇者の場合、回復呪文等を使うと、保有魔分発散か所持品消費と引き換えに体力を回復できます。
省3
48
(1): 2013/09/28(土)05:41 ID:jGSBR8Wu(1) AAS
さて、ゲームの概要と基本的な流れについては、これぐらいにして、
次の段階として、ゲームシステムの基礎部分の検討に移りたいと思います。

手始めに、ゲームの主要な舞台となる地下迷路のマップデータの持ち方を
考えてみます。
既に述べた通り、地下迷路には最初から散らしてある養分や、ゲームが進むと
散らされる魔分を含む土で充填されており、プレイヤーがつるはしで掘れるように
なっています。この仕様から単純に、
省4
49: 2013/09/29(日)04:51 ID:3plIPMO8(1) AAS
Width,Heightはマップのサイズを決める定数ですが、具体的にどれぐらいにするかというと、
ゲーム中に狭苦しく感じない程度に広ければ十分で、概ね100×100ぐらいで十分だと思います。
#define Width 100
#define Height 100

開発を進めていくときに不都合を感じたら、そのとき訂正すればよいでしょう。

なお、今後のメソッド実装のときには2次元配列を頻繁に参照することになるので、
次のような引数確認用のメソッドをひとつ作っておくと便利です。
省3
50: 2013/09/30(月)20:36 ID:++qhlA+w(1) AAS
>>48で養分、魔分、掘削状態について、何も考えずにint,int,boolとしましたが、
土から生まれる最上級魔物のドラゴンでさえ魔分17で生み出されますので、
養分と魔分に関しては、unsigned char型で十分な気がします。
unsigned char youbun[Width][Height]; // マスごとの養分
unsigned char mabun[Width][Height]; // マスごとの魔分

けち臭い気がするかもしれませんが、セーブデータのサイズにもかかわってきますし、
過剰に集積してしまうとゲーム的に詰んでしまう可能性もあるので、マス目ごとの集積上限を
省3
51: 2013/09/30(月)21:00 ID:Uzqe1u9+(1) AAS
 
以上、この後の手法は各自で考えてください。
52
(1): 2013/10/03(木)20:56 ID:cKHSPTzX(1) AAS
その一方で、diggedフラグについては、例えばyoubunかmabunの想定外の値(例えば255)を
マジックナンバーとすることで、独立の配列を持つことを省略する方法もあります。

例えば、掘削後のマスのyoubunを255とするなら、
bool isDigged(int x,int y){
return youbun[x][y]==255;
}
のような書き方が可能です。
省9
53
(1): 2013/10/05(土)13:44 ID:HeYyFSsK(1) AAS
マップデータに対する主要な変更操作は、プレイヤーの指示による「掘削」です。
ただしルール上、どの地下空間も勇者が侵入する入り口とつながっていないといけませんので、
どこでも好き勝手に掘ることは出来ないように処理します。

そのためには「プレイヤーが掘削しようとした地点が、掘削可能か否か」を判定することからはじめます。

必要十分条件は、「その地点が見掘削」かつ「その4つのとなりのいずれかが掘削済み」ですので、
bool canDig(int x,int y){
if(!isInside(x,y) || isDigged(x,y)) return false;
省7
54: 2013/10/05(土)16:31 ID:pQSHmq99(1) AAS
さて、ゲームの概要と基本的な流れについては、これぐらいにして、
次の段階として、ゲームシステムの基礎部分の検討に移りたいと思います。

手始めに、ゲームの主要な舞台となる地下迷路のマップデータの持ち方を
考えてみます。
既に述べた通り、地下迷路には最初から散らしてある養分や、ゲームが進むと
散らされる魔分を含む土で充填されており、プレイヤーがつるはしで掘れるように
なっています。この仕様から単純に、
省4
55: 2013/10/07(月)09:54 ID:kL3YAyNm(1) AAS
期待age
56: 2013/10/07(月)09:56 ID:bkgfHQWg(1) AAS
晒しage
57: 2013/10/07(月)10:14 ID:OihFMSOT(1/2) AAS
kakiage
58: 2013/10/07(月)10:43 ID:HiWWBNmC(1) AAS
からあげ
59: 2013/10/07(月)15:34 ID:OihFMSOT(2/2) AAS
蛸age
60: 2013/10/07(月)23:10 ID:QVbcD2sp(1) AAS
なまを作ると言ってるのにどうして揚げたがるんだ
61: 2013/10/08(火)04:19 ID:iXH+/mAO(1) AAS
だって生を授かるには、生で「大切なもの」を a g e なきゃいけない
62
(1): 31 ◆bQ58yym6a2 2013/10/16(水)22:58 ID:CLPttDcX(1) AAS
>>53のつづき)

掘削可能であることが確認できたら、そのマスを掘削済み状態に更新します。
それはつまり、depth[x][y]を-1以外の値にするという意味ですが、具体的にいくつにするかというと、
「周囲の掘削済みマスのdepth値に1を足したもの」を入れていきます。

プログラムで書く場合は、例えば以下のような書き方ができます。
void dig(int x,int y){
  int min=Width*Height;
省7
63
(1): 2013/10/20(日)06:40 ID:0tYNwsQx(1) AAS
その一方で、diggedフラグについては、例えばyoubunかmabunの想定外の値(例えば255)を
マジックナンバーとすることで、独立の配列を持つことを省略する方法もあります。

例えば、掘削後のマスのyoubunを255とするなら、
bool isDigged(int x,int y){
return youbun[x][y]==255;
}
のような書き方が可能です。
省9
64: 2013/10/20(日)21:52 ID:khuaVB1t(1) AAS
>>63
>>52
65: 31 ◆bQ58yym6a2 2013/10/28(月)21:36 ID:vuaiF4qS(1/2) AAS
(>>62のつづき)
このようなルールでdepth配列を構築すると、掘削済みの任意の地点から地上に至るまでの
比較的上りやすい経路を簡単に一意に探すことができるようになります。
参照しているマス周囲の掘削済みマスのうち、
depth値の一番小さいほうへ繰り返し移動すればよいのです。

ただし、この方法で得られるルートは必ずしも最短にはなりません。
典型的な例外としては、枝分かれさせた2本の迷路が奥のほうで貫通し、
省2
66: 31 ◆bQ58yym6a2 2013/10/28(月)21:38 ID:vuaiF4qS(2/2) AAS
繰り返しになりますが、depth値の配列は、
「周囲4方向の掘削済みセルのdepth値の最小値に1を加えたもの」
というルールで統一しようとしています。

貫通するように穴を掘ったとき、最後に掘ったところのdepth値は
上の処理によって適切な値に設定されることが期待できます。

問題が発生するのは、そのセルに隣接するセルのうち、
今掘って設定したdepth値よりも大きい値を持つセルです。
省3
67: 31 ◆bQ58yym6a2 2013/11/05(火)21:54 ID:X4wPsGV1(1) AA×

68: 2014/06/24(火)09:50 ID:JIvkZz2v(1) AAS
『俺は屍をこえてゆく』が面白かった。

ファーストプレイのとき、おみくじで、ショップで売ってる
一番いい武器(10万円ぐらいするやつ)を引き当てて、
無双っぽい状況だったんだけど、別のデータを上書きしちゃった><
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.037s