Rmakeでオンラインゲームを作りたいです。(2DアクションRPG)(質問掲示板)
投稿: #いお
投稿:2012/05/20 12:55:20(最新:2012/05/21 21:50:21)
オンラインゲームを作りたいんです。
僕の考えでは、
っていうのが僕の頭の中の考えなんですが、
まず調べてみたところ
「全国的ジャンケン」のシーンを見つけました。
しかし、
理解ができませんでした。
それに、
なぜか急にゲームクリアしたりするのも少し考えと違います。
ノベルゲームなので何とか2DアクションRPGに僕は移行したいと思ってます。
何かやり方はありませんか?
ツイート
僕の考えでは、
チュートリアル?完了↓ 自分のデータを1ミリ秒ずつ更新(更新中ゲーム可能)↓ 相手のデータを1ミリ秒ずつ読み込み(読み込み中ゲーム可能)↓ どうにかして相手のデータ(キャラクター)に攻撃を出来るようにする↓ どうにかしてキャラクター名を表示させる↓ ゲーム開始。
っていうのが僕の頭の中の考えなんですが、
まず調べてみたところ
「全国的ジャンケン」のシーンを見つけました。
しかし、
理解ができませんでした。
それに、
なぜか急にゲームクリアしたりするのも少し考えと違います。
ノベルゲームなので何とか2DアクションRPGに僕は移行したいと思ってます。
何かやり方はありませんか?
コメントする
コメントするには、ログインする必要があります。
コメント一覧
現在、全ユーザ共通の
ゲームデータをセーブ/ロードする方法は
saveGameData関数、loadGameData関数
でのみ行うことができます。
この関数は実行の制限として
それぞれ、1秒間に1回以上の頻度では
利用することができないようになっています。
つまり、セーブ/ロードの1セットで
必ず2秒以上の時間が必要となります。
また、セーブデータのサイズは
1個の領域につき500文字以内、
1つのゲームにつき100個の領域までとなっております。
各キャラクターの状態を示すのに必要な
全てのデータを50000文字以内に
収める必要があります。
スクリプト実行のタイミングについては
過去の記事にある
経過時間表示方法などが
参考になると思います。
ゲームデータをセーブ/ロードする方法は
saveGameData関数、loadGameData関数
でのみ行うことができます。
この関数は実行の制限として
それぞれ、1秒間に1回以上の頻度では
利用することができないようになっています。
つまり、セーブ/ロードの1セットで
必ず2秒以上の時間が必要となります。
また、セーブデータのサイズは
1個の領域につき500文字以内、
1つのゲームにつき100個の領域までとなっております。
各キャラクターの状態を示すのに必要な
全てのデータを50000文字以内に
収める必要があります。
スクリプト実行のタイミングについては
過去の記事にある
経過時間表示方法などが
参考になると思います。
一応私も答えたほうがいいのかな?
ただ、ちょっと質問が漠然とし過ぎていて、
正直答えるのが難しいですね……。
とりあえず、aoihikawaさんの仰る通り実行制限がありますので、
その考えをそのまま実現するのは現時点では不可能です。
ただ、ターン制のRPG風戦闘なら上手く工夫すればできるかもしれませんね。
問題は、どういう手法でターンを交代するのかですが……。
何でも、まだRmakeではあまり開拓されていない分野らしいですので、
本気で作りたいのならば、相応の気合が必要だと認識した方が良いかもしれません。
>なぜか急にゲームクリアしたりするのも少し考えと違います。
理由をちゃんと説明しようとしたら、かなり長くなります。
とりあえず、このゲームのシステムの性質上必要な動作なだけなので、
あまり気にする必要はないかと思います。
>ノベルゲームなので何とか2DアクションRPGに僕は移行したいと思ってます。
特に問題は無いと思いますよ。
むしろ、プレイヤー名やIDを所得できるので、
オンゲはノベルよりもRPG系で作ったほうが適しているかもしれませんね。
いおの考えは、もう1度バトルを発生させて相手の方から仕掛けたようにしてダメージは回復しないっていうのが思い付きました
>とりあえず、aoihikawaさんの仰る通り実行制限がありますので、
>その考えをそのまま実現するのは現時点では不可能です。
しかし、僕は初心者だけどそれを実現したくて頑張ってるのです。
キャラクターを絶対に表示してみせる!
全ユーザー共通でゲームデータをセーブロードできるなら、
こちらのキャラクターで実現すればいいのかと
座標を取得して
で実行させるのは無理でしょうか・・。
あ、無理を実現するためにやってるんだった
キャラクター表示に上限があると思うので、変数でエリアに入れる人数を指定するっていうのも出来るようにしたい(できるかな?)
うーん。
大きな壁だけどなんとか乗り越えて見せます!
オッケーです。
説明が足りなかったようなので、説明し直しますね。
aoihikawaさんの書き込みを読み直してみて下さい?
データ通信の間には、最短でも1秒の間を空けなくてはならないのです。
その熱意は素晴らしいですが、これに関しては仕様なので
残念ながら、気合や工夫では現時点ではどうしようもありません。
私の言う『ターン交代の問題』とは、要は通信を
どういうタイミングで行い、どういう情報を行き来させるのか……です。
「1ミリ秒が駄目なら、1秒ずつ通信だ!」というのも一案ですが、
Rmakeのサーバー的にちょっと乱暴なゲームになるかもしれませんねww
サーバーへの負荷もなんとかなるとは思いますが、
そうすると結構テンポが悪いですよね^^;
それよりも、万が一途中でブラウザを閉じるなどして
抜けてしまった場合にどうするか・・・
ハッキリとした助言は言えないのですが……。
とりあえず、自分自身である程度のことを試してみては如何でしょうか?
そこで「具体的に何が分からない」という疑問を明らかにしてから、
他人に質問をするという風にするべきかと思います。
あまりに質問が漠然とし過ぎていますので。
っていうところですかね
えーと……確かに、読み込んでその情報を更新する場合はそうですが……。
読み込んで、情報に更新がなければ保存する必要は無いのでは?
座標を読み込んでイベントを動作させたいです
前途多難ですねww まぁ、頑張って下さい
>ゲームをしながら1秒ずつあけてデータを読み込み更新する方法
下のaoihikawaさんの書き込みとそれへの返信などを読んで下さい
>オンラインユーザーキャラクターを表示して動かす
ちょっとRPGのことは分かりません
>オンラインターンバトル
漠然とし過ぎです
>ターンバトル中緊急オフライン動作(ブラウザを閉じるなどして抜けてしまった場合)
時間制限をつけて、パス扱いをすればどうでしょう?
実質的に、抜けた者が負けになると思います。
難しいのが勝敗結果の扱いですが。
>ゲームしながらデータの読み込み、更新
これ、どうだっけなぁ……?
実際にやって、何か問題があったのですか?
>データの保存方法
下のaoihikawaさんの書き込みを読んで下さい。
>読み込みはどうしたらいいんでしょうか
下のaoihikawaさんの書き込みを読んで下さい。
>座標を読み込んでイベントを動作させたいです
すいません、RPGのことは分かりません。
あの……ほんとに、質問はある程度の試行錯誤をしてからお願いしますね。
さらっと文章を読んだだけで、簡単に「分からない」と言われても、
答える側ばかり骨が折れるので。
の間違っている部分を指摘してくれると嬉しいです。
やはり1度やってみないと回答側も大変ですよね
申し訳ありません。
何を目的としていて、
実行した結果はどのようになっていますか?
その意味を理解する、という
基本的なところから
勉強することをオススメします。
・getTime関数は、それ単体では意味がありません。
・if文の条件の中にあるif文の条件が同じ場合、
中のif文の存在意味がありません。
・saveGameData関数のすぐ後に
loadGameData関数が実行されるようになっているため
1秒以上間隔をあけなければいけない仕様を満たしていません。
loadGameData関数が実行されるようになっているため
1秒以上間隔をあけなければいけない仕様を満たしていません。
setBaseTime()、getTime()は例文としてどのように使うのでしょうか
1秒以上間隔を開けたいのですがどのようにして使えばいいのかわからず、使えません。
>・if文の条件の中にあるif文の条件が同じ場合、
中のif文の存在意味がありません。
ごめんなさい。いおくんには理解ができませんでした・・。
>・getTime関数は、それ単体では意味がありません。
それ単位とは何でしょうか?
まだまだ分からないことだらけですけどよろしくお願いします
ランキング関数
スクリプト言語のマニュアル「if文」
時間の計り方
いずれもRmake上部の検索やノウハウで得られる内容です。
必要な情報にたどり着くための調べ方などのコツも
自分で何度も経験することで
勉強されることをオススメします。
例えば、登山で登る道を教えることはできますが、
あなたを背負ってまで登るつもりはありません。
私自身も自分の道を登らないといけませんから。
ご自身の勉強されたことを少しずつ
スクリプト図書館にまとめて、
ノウハウをはじめ
関数リファレンスの内容や
掲示板・wikiの情報までが
スクリプト図書館に全て網羅されたとき
改めて挑戦されてみる、
というのはいかがでしょうか?
ちょっとずつ成長していっても
いつまでも時間がかかっても
一緒ですからね!
頑張ります!