Tonyu(豆乳)でゲーム製作-2-
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
05/02/06 14:35:02ID:66Eqt5GR
ゲーム専用のオブジェクト志向っぽいスクリプト言語。

公式サイト
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
0002名前は開発中のものです。
垢版 |
05/02/06 14:38:27ID:HvF8RED6

      ___________
    //             \\
   / /                .ヽヽ
   l  l                  l l
  |  |                  | |       :
  .|  |______,,─=─____| |      ::::::
  |___     -'''''  ̄ ̄ ̄  ___|     :::::::::::::
 |_l__ヽ            /__l__|      ::::::
 |_l_`ニ/      。     ヽニ'__l__|   ..............:...............
 `l''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''l' ..:::::::::::::::: :::::::::::::::..
 |''''''l''''''''''''''''''l'''''''l ̄ ̄ ̄l'''''''''l''''''''''''''''l'''''''|::::::::::::::::   :::::::::::::::::
 |::::::|::::::::::::::::::|::::::|___|:::::::::|:::::::::::::::|:::::::|  :::: :: ::: ::
  |;;;;;L,,,,,,,,,,,,,,,'──────-`;;;;;;;;;;;;_l;;;;;;;| :: :::: ::: : :::: :::: :: :
  |::lニl|::::::::::::l──────-l:::::::::::::lニl::::|::::::::: ::: :: :
  `ニニ───────────:::::::::::::::::::::
  |:::::::::::|            (::○::::::::::::::::::::::::::::
  |:::::::::::|                |:::::::::::|
  `─-'                 `─-'
       なんだかわかりませんが、
         とりあえず黒煙を撒いておきますね   デリカ
0007名前は開発中のものです。
垢版 |
05/02/06 20:13:11ID:+JStAXyN
前スレの888でうpったACT素材っぽいのが更新したんで乗せときますわ。
ttp://uploader.zive.net/file/12056.lzh
0009名前は開発中のものです。
垢版 |
05/02/07 04:53:44ID:BPKns4Ql
とりあえず、即死判定にならないように書き込み。
0011名前は開発中のものです。
垢版 |
05/02/07 17:17:30ID:CKbkKr/+
ところで前スレはへのリンクは貼らないのか
0015名前は開発中のものです。
垢版 |
05/02/08 10:05:20ID:PGZ6fGGJ
マップが16x12の場合
□□□□□□□□□□□□□□□□
(略)
□□□□□□□□□□□□□□□□

■の位置(16x12からはみ出た位置)にパターンを置くと
□□□□□□□□□□□□□□□□■
(略)
□□□□□□□□□□□□□□□□■
■■■■■■■■■■■■■■■■■

実行時にこうなる
■■■■■■■■■■■■■■■■■
(略)
■□□□□□□□□□□□□□□□■
■■■■■■■■■■■■■■■■■
原因は多分これ。
0018名前は開発中のものです。
垢版 |
05/02/09 17:51:42ID:db0hRnw9
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);
//ここを削除するとエラーが起きなくなった
}
}

↑を実行すると読み込み違反が起きる
これでは再帰が使えないので困る
0019名前は開発中のものです。
垢版 |
05/02/09 18:02:14ID:okbAhi/R
>>18
test(9,0);はtest(8,0);を呼び、test(8,0);はtest(9,0);を呼びます。
つまり、永久に呼び続けることになります。

Tonyuは16階層ぐらいまでしか関数呼び出しを使えません。
それ以上深くなると呼び出し元を覚えているメモリが溢れてしまいます。
002018
垢版 |
05/02/09 20:21:34ID:zYZCIwHN
>>19
ぅゎ、ひどいミスorz
これじゃ動かないわけだ。

関数呼び出しは30階層位まで大丈夫みたいだった。
0021名前は開発中のものです。
垢版 |
05/02/10 00:34:14ID:4gR3QPbc
>>1見るとやっぱ厨房が多いでつね。
けどクオリティ高いのもいくつかあったりwwwwwっうぇ
0023名前は開発中のものです。
垢版 |
05/02/10 15:25:17ID:3GHEoTOv
スタック領域が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バイトと言うのはいくらなんでも節約しすぎ。
スタック領域を設定する関数が欲しい
0024名前は開発中のものです。
垢版 |
05/02/11 02:59:31ID:h3qzSvz3
再帰が使える仕様なのに実際には使えないなんて面白い仕様だなw
そもそもなんで豆乳ってわざわざ自前で(しかもやたら小さい)スタックなんか持ってんだろう?
0027名前は開発中のものです。
垢版 |
05/02/11 14:25:26ID:acEFUjTr
豆乳は一つのオブジェクトに一つのスレッドをモつんでしょ?
てことは、全てのオブジェクトにそれぞれスタックを割り当てないとダメ。
オブジェクト一つ一つだから、あまり多くを割り当てるとマズイ。

ってことじゃねーの?使ったことは無いんで実際は知らんけど。
0028名前は開発中のものです。
垢版 |
05/02/13 05:26:12ID:dNS9lmQx
>>1のタイピングの
main.tonyu

function keychk(variable,shift)
......

の部分が分からんのだが
誰かおせーて。
0030名前は開発中のものです。
垢版 |
05/02/13 13:37:47ID:mu5oEbAX
>>28
押されたキーのキーコードが何であるかをgetkey()で取得し、そのキーコードと
shiftキーの状態からアスキーコードを算出し、文字と比較している。
合っていれば1を、違っていれば-1を返す。
キーコードはaもAも関係ないのでこういう処理が必要になる。
>>1のタイピングではCAPSキーの判定はしていない。

>>29
苦労は買ってでもしろって言うからな。
それが無料でできるなんてすばらしいじゃないか。
開発環境の優劣なんていう話にはしないでくれよ、無意味だから。
0031名前は開発中のものです。
垢版 |
05/02/13 14:17:57ID:iz1d69bG
ttp://prog-etc.bbs.thebbs.jp/1106912195/

the掲示板という大規模掲示板サイトのプログラム板に
ここと似たスレがあり、公式で活躍してるごま太郎がいた。
0032墓穴
垢版 |
05/02/13 15:58:57ID:6h9BpMmJ
>>30
開発環境のうんたらについて同感。
だいたい、作者が「初心者がプログラムに親しむための」と言っているんだから初心者が楽しめばそれでよさげな。
Cと比べられても困るよな^^;

ryota氏のサイトが「準備中」だとか。
以前、彼のサイトでHSPとtonyuとの速度比較の話があったんだけど、実験結果では同等の速度だったとか。
なんだかんだ言っても透明処理なんかのことを考えるとやっぱりトロい気がしてなんないけども、ちょっと救われた気分だった(笑)
003328
垢版 |
05/02/13 17:15:42ID:dNS9lmQx
>>30
Thx
タイピングってメンドイな..
日本語に対応するにはどうしたらいいでつか?
「じ」だったら J+I か Z+I とか..
0034名前は開発中のものです。
垢版 |
05/02/13 21:29:22ID:mu5oEbAX
//日本語入力テストサンプル(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タイピングっぽくは動かせないと思う。
//(あんまり豆乳さわってないのがバレバレで申し訳ない)
003728
垢版 |
05/02/14 00:05:27ID:dNS9lmQx

>>34-35
Ryota氏かな?サンクス。
さらに複雑になったな(;´Д`)
他のタイピングもその方法なのだろうか...

>>36
いつだか忘れたけど
公式で誰か弾幕作ってた人が居て、
HP見に行ったら何かの命令をはずしたら処理が軽くなったとか書いてあった気がする。
どこのHPだか思い出せなくてスマソ
0038名前は開発中のものです。
垢版 |
05/02/14 13:17:56ID:JdMY6LJR
それはSTG作る人には耳よりな情報だね
なにかとオブジェクト多いジャンルだし
速度が出るならわざわざフレームレート落とすこともなくなるし
0040名前は開発中のものです。
垢版 |
05/02/15 06:48:02ID:Lin1MK5l
最初バルカン押しっぱなしで戦っててなんだよこれと思ったけど
ミサイル→エナジータメ→音を聞いて回避→ミサイル→
が分かってくると楽しい。誘導弾を壁にぶつけさせたり
Qボタンの早いミサイルって敵に当たる?
004139
垢版 |
05/02/15 19:15:38ID:+MrFfSFJ
ミサイルのホーミング性能これじゃやばいと思うんだがかわしたあともっとスム
ーズに敵の方向に移動させたい、どうすればいいだろうか、やっぱ加速度じゃな
くて等速で敵の方向まで少しずつ向かせるほうがいいのか。でも等速にしてしま
うとどうもミサイルって感じがしなくて嫌だ、どうしたものか
0047名前は開発中のものです。
垢版 |
05/02/25 19:20:06ID:KqRGgDmE
イラン戦絶対勝つよな?でもなぁ…
0050名前は開発中のものです。
垢版 |
05/03/02 14:49:38ID:4cHgIc73
ここはTonyuスレでつよね?
0051名前は開発中のものです。
垢版 |
05/03/12 19:59:25ID:7L4F3Iro
誰かちゃんねらで作ってる香具師いねーのかよw
0052名前は開発中のものです。
垢版 |
05/03/12 20:23:47ID:cW59ts7B
thebbs(某ネット掲示板)ならごま太郎がいたよ。誘導してみるべし
0055名前は開発中のものです。
垢版 |
05/03/13 12:05:42ID:9Yt7eoV0
もしかして全オブジェクトに対して
スクロール変数分の移動スクリプトを追加せなあかんの?
めんどくせー
0056名前は開発中のものです。
垢版 |
05/03/13 12:25:19ID:Ob0T/wR0
>>55
スクロールの変数をsx、syとしたら、
全部のオブジェクトの頭に
function onUpdate(){
x+=sx;
y+=sy;
}
とつけてみよう。
0057名前は開発中のものです。
垢版 |
05/03/13 12:33:33ID:9Yt7eoV0
>>56
重くなったりしません?

あと、画面表示系をオブジェクト座標との関連ではなく、単純な数値でつけてきていたので、
例えば画面端設定や、敵出現位置指定を、これから全部オブジェクト座標+αで指定しなおさねばならない・・・
トホホ。
0058名前は開発中のものです。
垢版 |
05/03/13 12:39:52ID:9Yt7eoV0
いっそ背景をオブジェクトで表示して流していければいいのだが、
それもまた面倒くさいんだよなん。
マップだけ動かせるような何かがポンとあれば苦労しないんだけど、考えたら実用性薄いか
0060Kroitz@tonyu.yi.org
垢版 |
05/03/13 15:53:15ID:O5BTFpuF
少し高等テクニックだけど

/* CustomDXChar.tonyu */
extends DXChar;
function /*override*/ draw(){
 drawScreenXY(1);
 super.draw();
 drawScreenXY(0);
}

こうしておいて、

extends DXChar;
となっているところはすべて
extends CustomDXChar;
に変える。

TextCharとかSpriteCharも使うなら、CustomTextCharをCustomDXCharと同じ内容で作って継承すればよい。
006153
垢版 |
05/03/13 18:42:52ID:FkcIHaHj
>>60
なんだかわからないけれど面白そうですね

とりあえず、一つのオブジェクトを座標(0,0)にして、
全ての値を$**.x+数値、$**.y+数値と組みなおしてみますわ。

ついでに
現在製作中のSTGのプランを言いますと
タイトル・・・architect(仮)
ストーリ・・・電脳世界に送り込まれた結晶化ウィルスが、悪の電脳創造主をやっつける
システム・・・
Aでショット。
Bで、ステルスダイブ発動(短時間無敵特攻)。ダイブ継続中に敵機を破壊することでダイブが継続しコンボ数も増える。
敵を溜めてからダイブで敵の間を渡り歩くゲーム。
回避不能弾幕をダイブで抜けたり、固い敵を挟んでダイブを継続して破壊することなんかが可能。
006253
垢版 |
05/03/13 18:46:09ID:FkcIHaHj
一つ、豆乳で不思議なこと。
少数計算になると何故急に数値が端数になるのだろう
006353
垢版 |
05/03/16 22:29:15ID:RMcfDzFN
・・・駄目だ面白くなる気がしない・・・
0064名前は開発中のものです。
垢版 |
05/03/17 07:27:51ID:c36IWw1t
作り手が面白くなくなってきたと感じる時期を乗り越えれば
ようやく遊び手が面白いと感じる出来になる

遊び手を面白くするためのスパイスは、作り手には煩雑なことが多い
がんがってちょ
0065墓穴
垢版 |
05/03/18 14:41:50ID:AUYQEeSt
>>64
同感。
もっとも、俺は「面白くするためのスパイス」が抜けて作り手に優しく遊び手につまらないものしか作れないけど。
006653
垢版 |
05/03/18 21:29:23ID:pmqskpdL
面白いと思った構想が案外つまらなかったりして悲しいものですね。
もうじきここに試作品でもUPしますわ。
0067墓穴
垢版 |
05/03/19 00:05:40ID:N8oUfUva
なんだか、アクションゲームでマップの取得がうまくいかない。てか、取得はいいけどマップにちびっと埋まる。
32x64サイズキャラクター(ごま太郎のうんたらで試してみてた使いまわし)で左、左上中央、左上、上、右上、右上中央、右、右下中央、右下、下、左下、左下中央の十二箇所でマップを取得
@*@*@
@***@
@***@
@***@
@*@*@
の@のところでマップを取得。
ある程度はマップに埋まらないんだけど、ほんの少しだけ埋まったりすることがあって潔癖症にはつらい。
マップを取得する箇所は十分すぎるほどだと思うんで、あとはいかに「埋まらない」プログラムをするか。
何かいい方法はないかな?
0068名前は開発中のものです。
垢版 |
05/03/19 00:35:29ID:gPFYclnz
x+(キャラクターの幅)/2で右側判定
x-(キャラクターの幅)/2で左側判定
とかしなきゃなんないんじゃないの?
あ、あとvxとかもいれなきゃなんないか。
0069名前は開発中のものです。
垢版 |
05/03/19 00:58:43ID:Dez6S2iy
俺もなにもわからず最近はじめたばっかりで、いろんなとこからひっぱってきたりこねくりまわしたりしてる
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; // 落下速度を上げる
}
じつにきったないが参考にでもなれば
007253
垢版 |
05/03/19 21:27:50ID:5oKGUCgi
>>71
ありがとうございます。
0073名前は開発中のものです。
垢版 |
05/03/20 00:08:59ID:QvhXsMGf
>>70
文字が震える演出がとてもいいと思いました。

遊ばせ方のレパートリーがすくなさそうなゲームデザインですね
0074名前は開発中のものです。
垢版 |
05/03/20 13:12:55ID:nS7TWucq
>53
なかなか良いね、成長を期待。

どうでもいいが震度6弱キター
0075墓穴
垢版 |
05/03/20 17:21:50ID:5fecn8LO
>>69
どうもありがとう。
ただ、基本的なプログラムはできているので、問題はもうちょい複雑っぽ。いろいろ試してみますか。
0077名前は開発中のものです。
垢版 |
2005/03/29(火) 20:37:11ID:TIIy7M13
アプ板に大量にゲームをアップしている人に言いたいことがある。
あなた、じぶんで作ったゲームを一回でも遊んだんですか?と。
0079名前は開発中のものです。
垢版 |
皇紀2665/04/01(金) 05:26:43ID:RckzVCX7
やっぱTonyu公式板は消防が多いから、別の板を設けるべきだよ
っと漏れは思う。
0086名前は開発中のものです。
垢版 |
2005/04/02(土) 10:07:15ID:GPALzZiP
>>80
それは処理速度が遅いってこと?
0089名前は開発中のものです。
垢版 |
2005/04/02(土) 12:59:36ID:9tV2sY1J
イメファイくらいのオブジェクト数ならぎりぎりTonyuでなんとかなりそうだな
Tonyuの有名ゲーってどうも他言語よりアクションがもっさりしてる印象があるが原因不明
0095名前は開発中のものです。
垢版 |
2005/04/05(火) 23:11:47ID:iY/qhvwA
インベーダー作りたいんですが
豆乳とHSPではどっちのほうが手っ取り早く作れますか?
0096かつての53
垢版 |
2005/04/05(火) 23:16:17ID:GkNdDQfJ
ttp://nyannyan3.minidns.net/uploader/FileShow.aspx?FileID=20050405231242
このゲームシステムでの開発はこれ以上やっても発展がなさそうなのでこれで打ち切りにしておきましょう。
0097名前は開発中のものです。
垢版 |
2005/04/05(火) 23:18:39ID:GkNdDQfJ
>>95
HSPを知らないので判りませんが
豆乳のチュートリアルにインベーダーもどきのゲームが入っているのでやりやすいかもしれません
0099名前は開発中のものです。
垢版 |
2005/04/08(金) 00:25:39ID:MNVI6vjZ
イメファイ風のゲームが出来たのだけど
題名どーしよう。
イメファイ。
イメージイメージファイト。
イマーゲファイト。
パチモン臭のするいいタイトルだれかつけてぇ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況