1read 100read
2012年5月ゲ製作技術191: Tonyu(豆)でゲーム製作-2- (937) TOP カテ一覧 スレ一覧 2ch元 削除依頼
おまえら土日でゲーム作れませんでした☆遅刻専用スレ (790)
2ch版いただきストリート作りませんか? (872)
RPGツクール2000のための… (657)
お前らRPGツクールでゲーム作れって LAWルート (369)
おまいらHSPで適当なゲームでもつくりませんか (376)
◆◆SRCについて語ろう◆◆(゚Д゚) (436)

Tonyu(豆)でゲーム製作-2-


1 :05/02/06 〜 最終レス :12/04/15
ゲーム専用のオブジェクト志向っぽいスクリプト言語。
公式サイト
http://hoge1000.kake.info.waseda.ac.jp/tonyu/
Vectorの新着ソフトレビュー
http://www.vector.co.jp/magazine/softnews/020227/n0202273.html
関連サイト
http://www.geocities.co.jp/SiliconValley/1833/
http://ryota222.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi
初心者向け講座
http://ryota222.hp.infoseek.co.jp/cgi-bin/wiki/wiki.cgi
以下参考になりそうなプログラム。ほとんどソースのみ
もぐらたたき風3Dシューティングゲーム
http://tonyu.kake.info.waseda.ac.jp/uploadcenter/img/1799.zip
リアルタイム戦術シミュレーション
http://homepage2.nifty.com/notatnumber/files/SSF_EXT_v055beta.zip
RPG
http://tonyu.kake.info.waseda.ac.jp/uploadcenter/img/3317.lzh
シューティング
http://khex7495v.kir.jp/Game/CyBreaker/CB_Ver101.zip
http://www5e.biglobe.ne.jp/~a_p/game/mmm105.zip
ドット絵エディタ
http://tonyu.kake.info.waseda.ac.jp/uploadcenter/img/3272.zip
http://tonyu.kake.info.waseda.ac.jp/uploadcenter/img/2186.zip
タイピング
http://2shin.net/cgame/game/game/TonyuType.lzh
ぷよぷよ風パズル
http://tonyu.kake.info.waseda.ac.jp/uploadcenter/img/3112.lzh
ブロック崩し
http://hpcgi3.nifty.com/nobiro/lime/lime.cgi?control
http://hpcgi3.nifty.com/nobiro/lime/lime.cgi?sokai2

2 :

      ___________
    //             \\
   / /                .ヽヽ
   l  l                  l l
  |  |                  | |       :
  .|  |______,,─=─____| |      ::::::
  |___     -'''''  ̄ ̄ ̄  ___|     :::::::::::::
 |_l__ヽ            /__l__|      ::::::
 |_l_`ニ/      。     ヽニ'__l__|   ..............:...............
 `l''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''l' ..:::::::::::::::: :::::::::::::::..
 |''''''l''''''''''''''''''l'''''''l ̄ ̄ ̄l'''''''''l''''''''''''''''l'''''''|::::::::::::::::   :::::::::::::::::
 |::::::|::::::::::::::::::|::::::|___|:::::::::|:::::::::::::::|:::::::|  :::: :: ::: ::
  |;;;;;L,,,,,,,,,,,,,,,'──────-`;;;;;;;;;;;;_l;;;;;;;| :: :::: ::: : :::: :::: :: :
  |::lニl|::::::::::::l──────-l:::::::::::::lニl::::|::::::::: ::: :: :
  `ニニ───────────:::::::::::::::::::::
  |:::::::::::|            (::○::::::::::::::::::::::::::::
  |:::::::::::|                |:::::::::::|
  `─-'                 `─-'
       なんだかわかりませんが、
         とりあえず黒煙を撒いておきますね   デリカ

3 :
>>1


4 :
リンクミス
初心者向け講座
http://ea.uuhp.com/%7etaka/kouza/

5 :
>>


6 :
>>1


7 :
前スレの888でうpったACT素材っぽいのが更新したんで乗せときますわ。
ttp://uploader.zive.net/file/12056.lzh

8 :
>>7


9 :
とりあえず、即死判定にならないように書き込み。

10 :
マップにチップを並べて、実行する時マップが壊れる時が
あるのは使用なのかな

11 :
ところで前スレはへのリンクは貼らないのか

12 :
ほい前スレ。
Tonyu(豆)でゲーム製作
http://pc5.2ch.net/test/read.cgi/gamedev/1015143101/

13 :
>>10
正直豆は全然知らんが、それはお前が実行時に壊してる
だけじゃないのか?

14 :
そういえば、サイズによって変な動きするとか何とか本家BBSの過去ログで見た気がする。

15 :
マップが16x12の場合
□□□□□□□□□□□□□□□□
(略)
□□□□□□□□□□□□□□□□
■の位置(16x12からはみ出た位置)にパターンを置くと
□□□□□□□□□□□□□□□□■
(略)
□□□□□□□□□□□□□□□□■
■■■■■■■■■■■■■■■■■
実行時にこうなる
■■■■■■■■■■■■■■■■■
(略)
■□□□□□□□□□□□□□□□■
■■■■■■■■■■■■■■■■■
原因は多分これ。

16 :
サンクストン!!!

17 :
プログラム経験ないけど豆やってみようかな。。

18 :
function test(x,y)
{
if(x>=0&&x<10&&y>=0&&y<10)
{
print("x"+x+"y"+y);
test(x+1,y);
//ここから
test(x-1,y);
test(x,y+1);
test(x,y-1);
//ここを削除するとエラーが起きなくなった
}
}
↑を実行すると読み込み違反が起きる
これでは再帰が使えないので困る

19 :
>>18
test(9,0);はtest(8,0);を呼び、test(8,0);はtest(9,0);を呼びます。
つまり、永久に呼び続けることになります。
Tonyuは16階層ぐらいまでしか関数呼び出しを使えません。
それ以上深くなると呼び出し元を覚えているメモリが溢れてしまいます。

20 :
>>19
ぅゎ、ひどいミスorz
これじゃ動かないわけだ。
関数呼び出しは30階層位まで大丈夫みたいだった。

21 :
>>1見るとやっぱ厨房が多いでつね。
けどクオリティ高いのもいくつかあったりwwwwwっうぇ

22 :
あくまで道具に過ぎないからな。ユーザの質が道具で決まるわけじゃない

23 :
スタック領域が64(256バイト)
関数を呼ぶたびに引数の数+ローカル変数の数+1消費
関数を抜けるとその関数を呼ぶときに消費した分回復
function A(a,b,c,d,e,f,g,h,i,j)
{if(a)return A(a-1,b,c,d,e,f,g,h,i,j)*2;else return 1;}
↑A(7)なら2+10+10+10+10+10+10=62で大丈夫
 A(8)だと2+10*7=72でエラー発生
64なんてあっという間に使い果たしてしまう。
256バイトと言うのはいくらなんでも節約しすぎ。
スタック領域を設定する関数が欲しい

24 :
再帰が使える仕様なのに実際には使えないなんて面白い仕様だなw
そもそもなんで豆ってわざわざ自前で(しかもやたら小さい)スタックなんか持ってんだろう?

25 :
そんなプログラムに詳しいなら
面白いゲーム作ってよ。

26 :
VMが自前でスタックを持たなくて、ほかの何が持つんだ、と。

27 :
豆は一つのオブジェクトに一つのスレッドをモつんでしょ?
てことは、全てのオブジェクトにそれぞれスタックを割り当てないとダメ。
オブジェクト一つ一つだから、あまり多くを割り当てるとマズイ。
ってことじゃねーの?使ったことは無いんで実際は知らんけど。

28 :
>>1のタイピングの
main.tonyu
function keychk(variable,shift)
......
の部分が分からんのだが
誰かおせーて。

29 :
おまえらわざわざ苦労してるんだねぇw

30 :
>>28
押されたキーのキーコードが何であるかをgetkey()で取得し、そのキーコードと
shiftキーの状態からアスキーコードを算出し、文字と比較している。
合っていれば1を、違っていれば-1を返す。
キーコードはaもAも関係ないのでこういう処理が必要になる。
>>1のタイピングではCAPSキーの判定はしていない。
>>29
苦労は買ってでもしろって言うからな。
それが無料でできるなんてすばらしいじゃないか。
開発環境の優劣なんていう話にはしないでくれよ、無意味だから。

31 :
ttp://prog-etc.bbs.thebbs.jp/1106912195/
the掲示板という大規模掲示板サイトのプログラム板に
ここと似たスレがあり、公式で活躍してるごま太郎がいた。

32 :
>>30
開発環境のうんたらについて同感。
だいたい、作者が「初心者がプログラムに親しむための」と言っているんだから初心者が楽しめばそれでよさげな。
Cと比べられても困るよな^^;
ryota氏のサイトが「準備中」だとか。
以前、彼のサイトでHSPとtonyuとの速度比較の話があったんだけど、実験結果では同等の速度だったとか。
なんだかんだ言っても透明処理なんかのことを考えるとやっぱりトロい気がしてなんないけども、ちょっと救われた気分だった(笑)

33 :
>>30
Thx
タイピングってメンドイな..
日本語に対応するにはどうしたらいいでつか?
「じ」だったら J+I か Z+I とか..

34 :
//日本語入力テストサンプル(Enterの判定甘いです)
extends PanelChar;
$TextEditor.setPosition(4,4,200,16);
$TextEditor.edit();
t = "";
$TextEditor.setText(t);
while (1) {
  if($TextEditor.isEditing()){
    if(getkey(13)){
      gt = $TextEditor.getText();
      if(t==gt && gt!=""){
        $panel.fillRect(4,32,320,240,$Blue);
        $panel.drawText(4,32,t,$clWhite);
        $TextEditor.setText("");
        gt = "";
      }
    }
    t = gt;
  }else{
    $TextEditor.edit();
  }
  update();
}
//それにしても1行・1単語単位の入力処理は向かないね。
//J+IとかZ+Iとかに分けないと>>1タイピングっぽくは動かせないと思う。
//(あんまり豆さわってないのがバレバレで申し訳ない)

35 :
>>33
http://ryota222.hp.infoseek.co.jp/cgi-bin/wiki/dl.cgi?jinput.lzh
拙作だが参考になれば。

36 :
>>32
シューティングで弾500個とか出したらtonyuじゃHSPにはとてもかなわないような…

37 :

>>34-35
Ryota氏かな?サンクス。
さらに複雑になったな(;´Д`)
他のタイピングもその方法なのだろうか...
>>36
いつだか忘れたけど
公式で誰か弾幕作ってた人が居て、
HP見に行ったら何かの命令をはずしたら処理が軽くなったとか書いてあった気がする。
どこのHPだか思い出せなくてスマソ

38 :
それはSTG作る人には耳よりな情報だね
なにかとオブジェクト多いジャンルだし
速度が出るならわざわざフレームレート落とすこともなくなるし

39 :
なんか俺が試しに作った作の未完成版。
http://ababa.client.jp/game.zip

40 :
最初バルカン押しっぱなしで戦っててなんだよこれと思ったけど
ミサイル→エナジータメ→音を聞いて回避→ミサイル→
が分かってくると楽しい。誘導弾を壁にぶつけさせたり
Qボタンの早いミサイルって敵に当たる?

41 :
ミサイルのホーミング性能これじゃやばいと思うんだがかわしたあともっとスム
ーズに敵の方向に移動させたい、どうすればいいだろうか、やっぱ加速度じゃな
くて等速で敵の方向まで少しずつ向かせるほうがいいのか。でも等速にしてしま
うとどうもミサイルって感じがしなくて嫌だ、どうしたものか

42 :
>>41
http://tonyu.kake.info.waseda.ac.jp/uploadcenter/joyful.cgi?mode=res&no=2903
これなんてどうでつか?
>>38
ちょっと探したけどやっぱHP見つからない...
たしかfor in...文によるあたり判定だったと思うけど

43 :
Hosyu!Hosyu!

44 :
>42
本家のUPBBSのNo.1540のレスの事かしら?
今は[直接移動] [58]の所で見られる。

45 :
見てみた。フレームマネージャ−を使って高速化するという記事のとこだね。サンクス。

46 :
age

47 :
イラン戦絶対勝つよな?でもなぁ…

48 :
「あきら」と名乗る者からspamが来た。
「あらき」かと思ってしまったorz

49 :
あらきあきら

50 :
ここはTonyuスレでつよね?

51 :
誰かちゃんねらで作ってる香具師いねーのかよw

52 :
thebbs(某ネット掲示板)ならごま太郎がいたよ。誘導してみるべし

53 :
オブジェクト位置はそのままに背景だけスクロールさせるのってどうすればいいんだろう

54 :
>>53
公式HPのサンプルにあったべ
(http://tonyu.kake.info.waseda.ac.jp/scroll/html/HID00000001.htm)

55 :
もしかして全オブジェクトに対して
スクロール変数分の移動スクリプトを追加せなあかんの?
めんどくせー

56 :
>>55
スクロールの変数をsx、syとしたら、
全部のオブジェクトの頭に
function onUpdate(){
x+=sx;
y+=sy;
}
とつけてみよう。

57 :
>>56
重くなったりしません?
あと、画面表示系をオブジェクト座標との関連ではなく、単純な数値でつけてきていたので、
例えば画面端設定や、敵出現位置指定を、これから全部オブジェクト座標+αで指定しなおさねばならない・・・
トホホ。

58 :
いっそ背景をオブジェクトで表示して流していければいいのだが、
それもまた面倒くさいんだよなん。
マップだけ動かせるような何かがポンとあれば苦労しないんだけど、考えたら実用性薄いか

59 :
$viewX、$viewYを使うって手もある。

60 :
少し高等テクニックだけど
/* CustomDXChar.tonyu */
extends DXChar;
function /*override*/ draw(){
 drawScreenXY(1);
 super.draw();
 drawScreenXY(0);
}
こうしておいて、
extends DXChar;
となっているところはすべて
extends CustomDXChar;
に変える。
TextCharとかSpriteCharも使うなら、CustomTextCharをCustomDXCharと同じ内容で作って継承すればよい。

61 :
>>60
なんだかわからないけれど面白そうですね
とりあえず、一つのオブジェクトを座標(0,0)にして、
全ての値を$**.x+数値、$**.y+数値と組みなおしてみますわ。
ついでに
現在製作中のSTGのプランを言いますと
タイトル・・・architect(仮)
ストーリ・・・電脳世界に送り込まれた結晶化ウィルスが、悪の電脳創造主をやっつける
システム・・・
Aでショット。
Bで、ステルスダイブ発動(短時間無敵特攻)。ダイブ継続中に敵機を破壊することでダイブが継続しコンボ数も増える。
敵を溜めてからダイブで敵の間を渡り歩くゲーム。
回避不能弾幕をダイブで抜けたり、固い敵を挟んでダイブを継続して破壊することなんかが可能。

62 :
一つ、豆で不思議なこと。
少数計算になると何故急に数値が端数になるのだろう

63 :
・・・駄目だ面白くなる気がしない・・・

64 :
作り手が面白くなくなってきたと感じる時期を乗り越えれば
ようやく遊び手が面白いと感じる出来になる
遊び手を面白くするためのスパイスは、作り手には煩雑なことが多い
がんがってちょ

65 :
>>64
同感。
もっとも、俺は「面白くするためのスパイス」が抜けて作り手に優しく遊び手につまらないものしか作れないけど。

66 :
面白いと思った構想が案外つまらなかったりして悲しいものですね。
もうじきここに試作品でもUPしますわ。

67 :
なんだか、アクションゲームでマップの取得がうまくいかない。てか、取得はいいけどマップにちびっと埋まる。
32x64サイズキャラクター(ごま太郎のうんたらで試してみてた使いまわし)で左、左上中央、左上、上、右上、右上中央、右、右下中央、右下、下、左下、左下中央の十二箇所でマップを取得
@*@*@
@***@
@***@
@***@
@*@*@
の@のところでマップを取得。
ある程度はマップに埋まらないんだけど、ほんの少しだけ埋まったりすることがあって潔癖症にはつらい。
マップを取得する箇所は十分すぎるほどだと思うんで、あとはいかに「埋まらない」プログラムをするか。
何かいい方法はないかな?

68 :
x+(キャラクターの幅)/2で右側判定
x-(キャラクターの幅)/2で左側判定
とかしなきゃなんないんじゃないの?
あ、あとvxとかもいれなきゃなんないか。

69 :
俺もなにもわからず最近はじめたばっかりで、いろんなとこからひっぱってきたりこねくりまわしたりしてる
while(1){
if ($map.getAt(x-16,y)==$pat_Block+0) x+=3;
if ($map.getAt(x+16,y)==$pat_Block+0) x-=3;
if ($map.getAt(x-15,y)==$pat_Block+0) x+=5;
if ($map.getAt(x+15,y)==$pat_Block+0) x-=5;
if ($map.getAt(x,y-20)==$pat_Block+0) y+=2;
if ($map.getAt(x,y+23)==$pat_Block+0) y-=4;
if ($map.getAt(x,y-23)==$pat_Block+0) y+=2;
// if ($map.getAt(x,y+20)==$pat_Block+0) y-=2;
anim.pause();
if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0 ) {
x+=3;
f=0;
anim.swing($pat_player+0,$pat_player+2,5);
}
// ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動
if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0 ) {
x-=3;
f=1;
anim.swing($pat_player+0,$pat_player+2,5);
}
// ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動
y+=vy; // vy: y 方向の速度。 yにvy を加える
if ($map.getAt(x,y+24)==$pat_Block+0 ) { // ブロックに当たっていたら
vy=0; // 落下速度を0にする
if (getkey(32) && $map.getAt(x,y+5)!=$pat_Block+0 ) vy=-10; // スペースキーを押したらジャンプ
if (getkey(32) && $map.getAt(x,y-20)==$pat_Block+0 ) vy=-1;
} else { // ブロックに当たっていなかったら
vy+=0.5; // 落下速度を上げる
}
じつにきったないが参考にでもなれば

70 :
tonyu本家のアップローダーはちょっと小さくて、
音声ファイルの多い本作をUPできませんでした。
http://nyannyan3.minidns.net/uploader/File/20050319013847archi.zip
150時間で消えるようですが、やってみてくださいな

71 :
ダイブ気持ちいい。

72 :
>>71
ありがとうございます。

73 :
>>70
文字が震える演出がとてもいいと思いました。
遊ばせ方のレパートリーがすくなさそうなゲームデザインですね

74 :
>53
なかなか良いね、成長を期待。
どうでもいいが震度6弱キター

75 :
>>69
どうもありがとう。
ただ、基本的なプログラムはできているので、問題はもうちょい複雑っぽ。いろいろ試してみますか。

76 :
>>75
とりあえずうpしてくれ

77 :
アプ板に大量にゲームをアップしている人に言いたいことがある。
あなた、じぶんで作ったゲームを一回でも遊んだんですか?と。

78 :
>>77
しかも責められてたな

79 :
やっぱTonyu公式板は消防が多いから、別の板を設けるべきだよ
っと漏れは思う。

80 :
豆は弾幕ゲーには不向きだ・・・
イメファイみたいなのつくりてー

81 :
イメージファイトは弾幕ゲーなのか?

82 :
イメファイは弾幕ゲーでない故につくりてーってワケ

83 :
面白いSTG誰か作れ

84 :
アクション用のはずなのに面白いゲームは別ジャンルばっかり

85 :
面白いゲームなんてあったっけ?

86 :
>>80
それは処理速度が遅いってこと?

87 :
>>87
大量のオブジェクトを出すと処理が落ちること。

88 :
敵弾100発舞うとヤバい
半透明オブジェクトのでかいのがあるだけで処理が落ちる

89 :
イメファイくらいのオブジェクト数ならぎりぎりTonyuでなんとかなりそうだな
Tonyuの有名ゲーってどうも他言語よりアクションがもっさりしてる印象があるが原因不明

90 :
半透明やら回転やらCPUがやれば重いのは当然。

91 :
tonyuの有名ゲーって、んなもんあるんかい

92 :
きーたことない

93 :
>>91
誰が有名ゲーなんていってるんだ?

94 :
初心とかいうのが暴れてるな

95 :
インベーダー作りたいんですが
豆とHSPではどっちのほうが手っ取り早く作れますか?

96 :
ttp://nyannyan3.minidns.net/uploader/FileShow.aspx?FileID=20050405231242
このゲームシステムでの開発はこれ以上やっても発展がなさそうなのでこれで打ち切りにしておきましょう。

97 :
>>95
HSPを知らないので判りませんが
豆のチュートリアルにインベーダーもどきのゲームが入っているのでやりやすいかもしれません

98 :
つ ttp://tonyu.kake.info.waseda.ac.jp/uploadcenter/img/1701.lzh
まんまインベーダー。

99 :
イメファイ風のゲームが出来たのだけど
題名どーしよう。
イメファイ。
イメージイメージファイト。
イマーゲファイト。
パチモン臭のするいいタイトルだれかつけてぇ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
GameDevWikiを何とかするスレ (539)
【最低技術】ファルコム26代目【話題循環】 (219)
3DダンジョンRPGエディタを作るスレ (510)
ゲームクリエイターの人格って・・・ (133)
Android向けゲーム開発スレ Part2 (749)
おまえら土日でゲーム作れませんでした☆遅刻専用スレ (790)
--log9.info------------------
【DAN】月刊I/O(工学社)を語れ2【KIM】 (620)
【3.5,5.25,8】フロッピディスクについて語ろう【FD総合】 (876)
【Computer】コンプティーク Part2【Boutique】 (798)
新・わが青春の秋葉原 - 昔語り4日目 - (589)
昔のパソコンを懐かしんでしみじみと一言ずつ語ろう (310)
[MSX・X68000] 99BASIC・OJTマニュアル [TOWNS・88VA] (746)
\●/ < ワイデス参上、#3! (268)
富士通Kシリーズ (193)
EPSON 98互換機 Part3 (464)
電波新聞社ってよく考えると凄い名前だよな (259)
8インチ・フロッピーの思い出 (722)
究極の8ビット機を妄想するスレ Part 4 (271)
レトロPC書籍/雑誌に関するスレッド 1冊目 (371)
ファミリーベーシック活用テクニック (957)
15.6KHz対応液晶モニタがホスィ〜 (382)
【MSX】名機ソニーHB-10を今からハンマーで壊します (435)
--log55.com------------------
☆【画像】5774
BTSの雑談スレ1189
【ナカの絵みたい】戸塚たくす266【特定しないから見せて】
実質13681
Jざつだん 218
五千七百六
基地外大野智ヲタの悪行を語るスレ741
【出禁厳守】米334【転禁】