2013年06月11日
川俣晶の縁側ソフトウェアANGF開発日誌total 1217 count

ANGFの実験的Web Playerが動いた (なんとデスクトップ用モジュール無修正で)

Written By: 川俣 晶連絡先

Web Player

「快挙だ」

「なんだよ」

「ANGFはWindowsフォームのれっきとしたデスクトップのアプリケーションで、そのままWebで動かすのは無理だと思っていた」

「なぜ?」

「Webはリクエストがあってレスポンスを返す。しかし、あれは処理を進めていって入力要求があってメニューを出す。まるで構造が違う」

「なるほど。噛み合わないわけだね」

「でも制限は多いが上手くやる方法を思い付いた」

「だって噛み合ってないんだろ?」

「メッセージをキューイングしておいて、入力要求があった時点でそれをまとめてレンダリングすれば良かったのだよ」

「だって、Webの転送はワンショットだから処理が継続しないだろ?」

「だからね。別スレッドでシナリオ処理を走らせておけば良いわけだよ」

「非同期で両方走って、同期オブジェクトでタイミングを取りながらデータを交換するわけだね?」

「そうだ。だから、正しくセッションオブジェクトが生きていなければ正常に動かない」

「タイムアウトしたらオシマイってことだね」

「そう。プロセスがリサイクルされてしまったら実行途中のシナリオも消える」

「なるほど」

「でもね。それでも過去のモジュールがそのまま動くことは意味がある」

「時間が無い君だからね」

「もちろん、100%は動かない。NG機能も多い。しかし、それを個別対応するとしても、それでも手間的に魅力がある」

「それだけ?」

「スマホでも遊べる」

「そうか。Webに載った瞬間にWindowsへの依存性が消えるわけだね」

「うむ。もうガタガタ文句は言わせない」

「ところで、どんなソースか興味があるよ。ソースを公開する予定はないのかい?」

「ソースはCodeplexで公開されているよ。見る気があるなら見ればいい」

「自信作かい?」

「とんでもない。凄く古い世代のソースが混じっているから卒倒間違い無し」

「ひ~」

「ちなみにソースをビルドすると、デスクトップ用のプレイヤーは過去のANGF用モジュールがそのまま動く可能性があるよ。全部テストしてないから保証はできないけど」

オマケの感想 §

「実は、ANGF相当のプログラムでWebを……という試みはかなり前からやってた」

「なぜ上手く行かなかったの?」

「クライアント側で実行することにこだわったからだ。しかし、想定される規模に対して、あまりにもクライアントが非力であることが分かったので、今回は思い切ってほとんど全てをサーバ側に置くことにした。これで話が進むようになった」

「WebブラウザのJavaScriptって性能が上がってるはずじゃないの?」

「PCのブラウザはな。スマホのWebブラウザはお粗末な性能しか出ないし、実はPCと同じIE10が動いているように見えるARMのSurfaceでも速度が落ちるのだ」

「じゃあ、スマホがあればPCは要らないって主張は?」

「とんだ茶番だ」

「でもサーバでやると、みんなで使うと遅くなるじゃない」

「そうだよ」

「Azureに上げれば回避できるの?」

「それは難しい。どうもセッションオブジェクトが保存されないらしいからだ。実行中のスレッドを永続化してストレージに入れることも難しそうだ。楽な負荷対策はあまり無さそうだ」

「対策はどうするんだ?」

「セーブデータを保管するストレージだけ共通にして、重かったらセーブして他の軽いサーバで継続してもらうような遊び方をしてもらうしかないな」

制限事項 §

「主な制限事項ってなに?」

「未実装の機能が多い」

「それから?」

「シングルインスタンスが前提のクライアントアプリだが、これをマルチインスタンスに改造しなければならない」

「大変そうだ……」

「モジュール側の改変も含む」

「他には?」

「既存のモジュールはデスクトップ用のフォームを含んでいるから、これも汎用フォームに置き換えねばならない」

「汎用フォームって、そんなに簡単に作れるの?」

「おそらく可能だ」

「どうやって?」

「デスクトップであってもWebブラウザコントロールがあるからな。Web用のフォームを出すのは用意だろう。もちろん、Web Playerで扱うのもな」

「そこまで考えての暴挙か」

Facebook

キーワード【 川俣晶の縁側ソフトウェアANGF開発日誌
【ANGF開発日誌】の次のコンテンツ
2013年
08月
19日
デフォルメ世界シミュレータという古くて新しいジャンル
3days 0 count
total 943 count
【ANGF開発日誌】の前のコンテンツ
2012年
01月
22日
ANGF: Autumn's Novel Game Framework 4.15公開
3days 0 count
total 1549 count
2013年06月11日
川俣晶の縁側ソフトウェアANGF開発日誌total 1217 count

ANGFの実験的Web Playerが動いた (なんとデスクトップ用モジュール無修正で)

Written By: 川俣 晶連絡先

Web Player

「快挙だ」

「なんだよ」

「ANGFはWindowsフォームのれっきとしたデスクトップのアプリケーションで、そのままWebで動かすのは無理だと思っていた」

「なぜ?」

「Webはリクエストがあってレスポンスを返す。しかし、あれは処理を進めていって入力要求があってメニューを出す。まるで構造が違う」

「なるほど。噛み合わないわけだね」

「でも制限は多いが上手くやる方法を思い付いた」

「だって噛み合ってないんだろ?」

「メッセージをキューイングしておいて、入力要求があった時点でそれをまとめてレンダリングすれば良かったのだよ」

「だって、Webの転送はワンショットだから処理が継続しないだろ?」

「だからね。別スレッドでシナリオ処理を走らせておけば良いわけだよ」

「非同期で両方走って、同期オブジェクトでタイミングを取りながらデータを交換するわけだね?」

「そうだ。だから、正しくセッションオブジェクトが生きていなければ正常に動かない」

「タイムアウトしたらオシマイってことだね」

「そう。プロセスがリサイクルされてしまったら実行途中のシナリオも消える」

「なるほど」

「でもね。それでも過去のモジュールがそのまま動くことは意味がある」

「時間が無い君だからね」

「もちろん、100%は動かない。NG機能も多い。しかし、それを個別対応するとしても、それでも手間的に魅力がある」

「それだけ?」

「スマホでも遊べる」

「そうか。Webに載った瞬間にWindowsへの依存性が消えるわけだね」

「うむ。もうガタガタ文句は言わせない」

「ところで、どんなソースか興味があるよ。ソースを公開する予定はないのかい?」

「ソースはCodeplexで公開されているよ。見る気があるなら見ればいい」

「自信作かい?」

「とんでもない。凄く古い世代のソースが混じっているから卒倒間違い無し」

「ひ~」

「ちなみにソースをビルドすると、デスクトップ用のプレイヤーは過去のANGF用モジュールがそのまま動く可能性があるよ。全部テストしてないから保証はできないけど」

オマケの感想 §

「実は、ANGF相当のプログラムでWebを……という試みはかなり前からやってた」

「なぜ上手く行かなかったの?」

「クライアント側で実行することにこだわったからだ。しかし、想定される規模に対して、あまりにもクライアントが非力であることが分かったので、今回は思い切ってほとんど全てをサーバ側に置くことにした。これで話が進むようになった」

「WebブラウザのJavaScriptって性能が上がってるはずじゃないの?」

「PCのブラウザはな。スマホのWebブラウザはお粗末な性能しか出ないし、実はPCと同じIE10が動いているように見えるARMのSurfaceでも速度が落ちるのだ」

「じゃあ、スマホがあればPCは要らないって主張は?」

「とんだ茶番だ」

「でもサーバでやると、みんなで使うと遅くなるじゃない」

「そうだよ」

「Azureに上げれば回避できるの?」

「それは難しい。どうもセッションオブジェクトが保存されないらしいからだ。実行中のスレッドを永続化してストレージに入れることも難しそうだ。楽な負荷対策はあまり無さそうだ」

「対策はどうするんだ?」

「セーブデータを保管するストレージだけ共通にして、重かったらセーブして他の軽いサーバで継続してもらうような遊び方をしてもらうしかないな」

制限事項 §

「主な制限事項ってなに?」

「未実装の機能が多い」

「それから?」

「シングルインスタンスが前提のクライアントアプリだが、これをマルチインスタンスに改造しなければならない」

「大変そうだ……」

「モジュール側の改変も含む」

「他には?」

「既存のモジュールはデスクトップ用のフォームを含んでいるから、これも汎用フォームに置き換えねばならない」

「汎用フォームって、そんなに簡単に作れるの?」

「おそらく可能だ」

「どうやって?」

「デスクトップであってもWebブラウザコントロールがあるからな。Web用のフォームを出すのは用意だろう。もちろん、Web Playerで扱うのもな」

「そこまで考えての暴挙か」

Facebook

キーワード【 川俣晶の縁側ソフトウェアANGF開発日誌
【ANGF開発日誌】の次のコンテンツ
2013年
08月
19日
デフォルメ世界シミュレータという古くて新しいジャンル
3days 0 count
total 943 count
【ANGF開発日誌】の前のコンテンツ
2012年
01月
22日
ANGF: Autumn's Novel Game Framework 4.15公開
3days 0 count
total 1549 count
【ANGF開発日誌】のコンテンツ全リスト【ANGF開発日誌】の表紙

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20130611172652
サイトの表紙【ANGF開発日誌】の表紙【ANGF開発日誌】のコンテンツ全リスト 【ANGF開発日誌】の入手全リスト 【ANGF開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.27 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.