• ベストアンサー

FLASHでネット通信

オンラインカードゲーム「アルテイル」等のように、 FLASHを用いたネット対戦(通信)は、 FLASHのみで行えるのでしょうか? それとも他のものと連携しなければならないのでしょうか。 よろしければ通信を行う具体的な方法も一緒に 教えていただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

実際の登録や対戦はやってみてませんが, アルテイルのサイトを少し見てみました。 簡単に言えばココ(「OKWave」や「教えて!goo」など)と同じです。 いろいろと思考した上で人と人とが対戦ではないですが問答して, 人に点をあげたり,自分の点が貯まったりする機能も同じようなものです。 超簡単に言うと, ココ(「OKWave」や「教えて!goo」など(以下ココと省略))のインターフェイス(ユーザーインターフェイス)がHTMLであるのに対して アルテイルのインターフェイスがFlashなだけです。 「ユーザーインターフェイス」 http://e-words.jp/w/E383A6E383BCE382B6E382A4E383B3E382BFE383BCE38395E382A7E383BCE382B9.html 簡単に言い過ぎていますけどね…。 ゲームの本体はCGIやPHPなどのサーバサイドのプログラムと,サーバ上のデータベースです。 サーバ上には形式はよくわかりませんが,ExcelやAccessような表データ,もしくはXMLにようなデータの入ったファイルがあるのです。 その表のようなデータをダーーっと見せられても面白くありませんし訳がわかりません。 またブラウザで直接ちゃんと見られるような形式のものでもありません。 まず,必要なのは,見る人によって必要な部分を取りだしてくるプログラムです。 それがサーバサイドのプログラムであるCGIやPHPなどです。 次に,取りだすだけでは,対戦(対話)になりません。データベースに人が入力できないとだめです。 そのデータベースの書きかえをするプログラムが必要です。 それもサーバサイドのプログラムであるCGIやPHPなどです。 ここまでで,データを「取りだす」とデータに「書き込む」がなんとかできます。 データ取りだしてきても,まだブラウザに表示することはできません。 取りだしてきて,ブラウザの表示できる形式に変換しなければだめです。 変換するのもサーバ上のプログラムであるCGIやPHPなどです。 それで,ココの場合はPHPでサーバ上のデータをHTML形式に変換して,クライアントPCのメモリ上にHTMLをダウンロードさせています。 そしてそのメモリ上にダウンロードされたHTML形式のものがブラウザに表示されているのです。 その生成したHTMLには「この画像(文字)をクリックしたらコレコレこういう値をPHPに送信しろ」というプログラムも書かれていて,クライアントサイドから送られてくるそのクリック情報を元に,またサーバ上のPHPが作動して新たなるHTMLを生成し,クライアントPCに新たなるページを送信するのです。 また,「質問する」「回答する」などという入力インターフェイスもHTML形式で生成しています。 その入力インターフェイスに書き込まれた新たなるデータをHTMLでPHPに送信し,サーバ上のPHPで受けとって,データベースに書き込むわけです。 だからココの場合は,99%サーバ上のプログラム(PHP)を使っていることになります。 ごく一部,HTMLやJavaScriptなどクライアントサイドのプログラムも使用してしています。 でもHTML形式の生成されたデータは単なるインターフェイスと同時に情報を送信プログラムです。 アルテイルの場合もほぼ同様です。 インターフェイスがHLMLではなくてFlashです。 まず,サーバ上のプログラムが,使う人がどのFlashファイルが必要なのかを選択し,そのFlashファイルとともにデータをこんどはHTMLではなく,Flashで読み込める形式のデータに変換します。 そのFlashのファイルとFlashで読み込める形式のデータをクライアントPCのメモリ上にダウンロードさせています。 HTMLの場合は,基本的に動きません。アクティブに動かそうと思えば,HTMLを1秒間に十数回更新し,更新した都度ブラウザにリロードさせなければなりません。 それはサーバの負担にもなりすぎますし,相当の回線も必要になります。 そこで必要になるのが,JavaScriptやFlashやJavaアプレットなどのクライアントサイドのプログラムです。 これらはクライアントサイドのプログラムはPCのメモリ上に一度ダウンロードされると,更新を度々繰り返さなくても自動的にしばらく,クライアントのPCのCPUやメモリを使用して動作してくれます。 中でも,Flashはインターフェイスを作るのには非常に適しています。 作りやすく,軽く,融通がききます。また,FlashPlayerはゲームをするためにわざわざインストールしなくても,たいていの人は持っています。 ゲーム作成者も本来Playerまで作らないとならないところですが,その手間も省けます。 というわけでFlashがインターフェイスとして選ばれることも結構あります。 ~余談かも,でも重要!~~~ よく知りませんが,対戦型のゲームはFlashはそんなに使われていないのではないのでしょうか。 ShockWaveか,もしくはクライアントサイドで動くプログラムをゲーム作成会社で作ってしまって,それ専用のソフトとしてインストールさせているのが多いように思いますが… ひょっとしたらアルテイルの本体はFlash Communication Server やFlexで作られているのかもしれません。 「Flash Communication Server MX」とは http://www.mitsue.co.jp/case/design/f_048.html 「Flash Communication Server MX 1.5」 http://www.macromedia.com/jp/software/flashcom/ 「Flex ってなに?」 http://www.geocities.jp/takuji_kawata/first/aboutflex1.htm 「Macromedia Flex」 http://www.macromedia.com/jp/software/flex/ それぞれがどういうものか私自身よくわかっていませんが…(;^_^A , まぁとにかく,Flashを使うとそういうクライアントサイドで動くソフトを作る手間が省けるわけです。 ~~~~~~~~~~~~ それで,そのサーバサイドから送られてくる情報を元に,クライアントサイドでFlashが動くのです。 またFlashからサーバサイドのプログラムに情報を送信しているのです。 ちなみにクライアントサイドのFlashからはテキストデータしか送信できません。 アルテイルの場合はカードをやりとりするものなのかどうかわかりませんが,もしするなら,実際には画像のやりとりはできません。 仮に対戦者Aから対戦者Bにカードが送られるとしたら,それは,「AからBにカードを送る」という意味のテキストデータがサーバサイドのプログラムに送信されます。 その「AからBにカードを送る」という意味のテキストデータを元に,そのカード画像をサーバサイドのプログラムがFlashを通して対戦者BのPCに表示させているだけです。 その他,ログインするプログラム,登録するプログラムなどなど…を合わせると, クライアントサイドのFlash部分というのは,10%もあれば良い所ではないでしょうか。 正に「氷山の一角」。 クライアントサイドではFlashとHTMLの部分しか見えませんが,水面下(サーバサイド)にはとてつもないプログラムが動いていると思われます。 ゲームに限らず普通のサイトを見るときでも, 「サーバサイド」「クライアントサイド」というのを意識して見られると,概念みたいなものはわかってくると思います。 CGIとFlashでの具体的な作り方などは,下記参考URLなどを参考にしてみてください。 くわしくはわからないとは思いますが少なくとも入口にはなると思います。 「クジラ式 FLASH CGI」 http://hima.chu.jp/flash/index.htm 「ゲームの作り方 by ねこ伯爵」 http://homepage2.nifty.com/GIZMo/makegame/makegame.html ※ ちなみに次期Flex2ではActionScript3.0が使われるようになり,それの前段階として近々FlashPlayer8.5が出るということです。現在最新版FlashPlayerは8,0,22,0です。 http://www.macromedia.com/jp/macromedia/proom/pr/2005/announcing_flex2.html

templa
質問者

お礼

こんなにたくさん書いてくださって、 ありがとうございます。 詳しく詳しく書かれていてありがたいです。 やはりサーバー側で相当のプログラムを 組まなければならないのですね。 色々と参考になりました、 助かりました、ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • tomuo
  • ベストアンサー率51% (20/39)
回答No.2

こんにちは。 対戦相手と情報をやり取りするには、Flashだけでは行えません。 サーバーサイドのプログラムが必要になります。 サーバー側プログラムを何で作るかはケースバイケースです。 FlashCommunicationServerや、各種XMLSocketサーバ、CGIなどあります。 どの方法にするにしても色々調べて勉強しないといけないと思うので、こうすれば対戦できますというほど簡単には説明できないです。 http://www.macromedia.com/jp/software/flashcom/ http://faces.bascule.co.jp/link.php

templa
質問者

お礼

ありがとうございます。 サーバー側でプログラミングする方法は たくさんあるんですね、 勉強してがんばってみます。 助かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Flashの通信について

    通信についての質問です。現在Flashでオンラインゲームを作っています。 通信は完全に同期の必要はありません(5秒~5分更新で通信状況により非同期で変更しています)がデータの欠落、書き換えによる不正行為を出来るだけ無くすためにサーバー側にデータを全て保存しPHPで処理してそれを読み出す仕組みにしています。 現在HTTP通信で制作しているのですがHTTP通信だとHTTPヘッダにFlashから送信したPOST値が表示されて内容が見えてしまったりFirefoxだとステータスバーに"データを転送しています"と表示されてしまいます。 この2つの問題を解決する方法はないでしょうか? また@gamesなどのオンラインゲームのFlashは一般的にどのような方法で通信を行っているのでしょうか?回答宜しくお願いします。 *Socket通信も考えたのですがそこまでリアルタイム性を要求していないのとサーバー側にデータを保存して読み出す必要があるため余り向いていないと思い断念しました。

  • Wiiでのネット対戦

    寮住みなのですが、通信量が多すぎとのことでPcのオンラインゲームが出来ないように制限をかけられてしまいました。 スマブラやマリオカート等の通信対戦をやりたいのですが、ネットゲームが出来ないという制限がかけられていても対戦は出来るのでしょうか?

  • ゲームの通信が出来なくて困っています。

    ネットは繋がりますが、なぜかゲーム(スイッチ)の通信がゲームによって繋がらないことはありますか?具体的にいうとNintendoのスイッチでフォートナイトは通信で対戦出来ますが、スプラトゥーン(任天堂へのネット契約済)で通信対戦を使用とすると繋がらないのです。すごく困っています。 ※OKWAVEより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • Flash 8のグレード(Basic/Professional)について

     Flashでゲームを作成しようと思っています。  未経験者なので、これからFlashを購入し勉強するのですが、 BasicとProfessionalのどちらを購入すればよいのでしょうか?  作りたいゲームは2つあって、   1)カードゲーム(1人)・ランキング機能あり   2)テーブルゲーム(ネットワーク対戦) の2つです。  描いているイメージは、   1)は、ハンゲームでのFlashを用いたゲーム   2)は、将棋や囲碁をFlashでネットワーク対戦する といった感じです。  回答の方、よろしくお願いいたします。

  • ps3 ネットオンライン環境です

    サッカーゲームWE10はオンライン非対応みたいですね。WEXはXBOXですし、なんとかオンラインでWEできる方法はないでしょうか?またPSPのWE10ユビキタスももっているのですが不特定多数のオンラインゲームではないみたいですね。。近くにいる人のLAN通信対戦オンリーみたいですね。なんか買って損しました。

  • ネットゲーム

    モノポリー2というゲームを買ったのですがネット対戦するにはモデム経由で対戦するときに電話番号を入れなくてはいけないのですが、このときかかる通信料はどのくらいかかるのでしょうか?

  • FLASHはどうやったら手に入りますか?

    わたしはFLASHで、ゲームなどを作ってみたいのですが、 そもそもFLASHとはどのようにして手に入れるのでしょうか? ネットで購入はしたくないので、 他の方法でお願いします。

  • 初心者なので、教えて下さい。通信できる?!

    PS3だと思うのですが・・・Aの家のテレビに接続したPS3と Bの家に接続したPS3があるとして、対戦ゲームとかできるのでしょうか? 離れていても、登録などしたら、オンラインゲームのような感じで 一緒にゲームをする事は可能なのでしょうか? パソコンはないのですが・・・ よその家の中同士(友達)と、ゲームで共有できたりする方法って、 なにかゲームってありますか? 教えて下さい、お願いします。

  • 通信対戦が格闘ゲームってなにがあります?

    今、家庭で通信対戦が出来る格闘ゲームってなにがありますか? 長らく離れていたので昨今のゲーム事情がさっぱりです ハードと一緒に教えていただけるとうれしいです、あと料金とかも。 定額でやり放題とかはさすがにないですよね。。。 パソコンでADSLを使っているのですが将来的にソフトをインストールしてADSLをかいしてネット対戦ができるようになればいいなと^^世界規模で。 まだちょっと時間がかかりますかね。。。 ちなみに2Dゲーム、特にストリートファイターが好きです

  • バーチャーファイター5のネット対戦について

    ゲームセンターでバーチャファイたー5をはじめたので、ネットで他のプレイヤーと対戦したいと思ったのですが、やり方がわかりません。販売機で500円のカードを買い、携帯でVF.netというサイトにカードの番号を入力するところまでいったのですが、いざコインを入れて、カードを挿入したところ、カードの読み込みが始まり、一人でコンピューターとの対戦になってしまいます。どうすればいいのでしょうか?