インターネットチャンネル用ゲームについて

え〜、しばらく前から研究していたインターネット向けチャンネルのFlashゲームですが凍結とさせていただきます。
理由としては、
・ActionScript2の情報が少なし、いろいろやってもGoogle先生がAS3の情報ばっかり持ってくる
SDKの手順が複雑で日本語の情報が少なく、なれないActionScriptで出来そうにない
・技術力不足
など。ただ、インターネットチャンネル用のゲームをあきらめたわけではありません。
Flashではなく、javascriptで作ろうと思います。

そもそも私はFlashの知識が少ないので、たいしたことは出来ません。
ということは同じことはjavascriptでも十分可能なはずです。
SDKはここらへんのを使おうかと検討中。
http://wiioperasdk.com/menu_sdk.php
あとはjQuery


とその前に、現在はDSi/3DS用のミニゲームを作ろうとしています。
javascriptで作る簡単ゲームなので、たいしたことは出来ないですが、それなりに動くはず

おまけ(わからなければスル〜)

任天堂のサイトで3DSブラウザーのソースが一部公開されています。Webkitなので、LGPLの公開の義務があるわけです。といっても、中身をNintendoとかで検索してみたのですがヒットなし。まぁ、ライブラリなんだから完全にカプセル化してありますよね。そりゃ。3DS用のソースが含まれているわけないか。

それでもソースが公開されるということは将来的にWebkit脆弱性3DSが攻撃されかねないということ。オープンソースはそこらへんが弱い。

そういえばインターネットチャンネルでも脆弱性でアップデートがありましたね。・・・ということは、インターネットチャンネル脆弱性を見つければFlashとかもまとめてアップデートされるかも・・・?

え〜、せっかくなのでちょっと中身を見学。ソースはC++でたくさんのソースがあり、中には「css」「html」「dom」「svg」なんてわかりやすいフォルダも。やっぱり大きいプロジェクト出す優に1000越えのファイルがありそう。ソースの中にVisualStudio用のプロジェクトファイルがあったので開いてみましたが、変換エラーで開けず。

たとえば、htmlフォルダ内のHTMLBRElement.hの中身。

class HTMLBRElement : public HTMLElement {
public:
    HTMLBRElement(const QualifiedName&, Document*);
private:
    virtual HTMLTagStatus endTagRequirement() const { return TagStatusForbidden; }
    virtual int tagPriority() const { return 0; }

    virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
    virtual void parseMappedAttribute(MappedAttribute*);
    
    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
};

意外とシンプル。HTMLElementをpublicで継承。コンストラクタの定義と、仮想関数をいくつか上書き。ふむふむ。他のソースを見てみると、innerHTMLとか、alingとかわかりやすい名前でいろいろ定義されてる。(関数の後ろにconstがつくのってなんだと思ったらmutableで宣言した変数を変更できるとのこと。(メンバ変数の書き換えも出来なくなるという効果があるそうです)参照渡しといいポインタといいなぜ同じ名前を使いまわす・・・)

C++はほとんどかけないので(私はC#派)他人の書いたソースを読めるとは思えないのでここら辺でソース見学は終了。C++わかる人は一読の価値はありますよ〜。(これじゃなくても他のWebkitのソース読むことを薦めときます)

3DSWebkitのソースはここからダウンロードできます。
http://www.nintendo.co.jp/3ds/hardware/features/sourcecode.html

スター☆キャッチの微調整

スター☆キャッチのバージョンアップを行いました(0.1.1.3)。
ゲームバランスの微調整のみで、大きな変更はありません。

http://www.geocities.jp/ugomemo_harimau/game/game1.html

リリースノート

仕様変更
  • ブラックスターを取ってしまった際の動けなくなる時間が長すぎると判断したため0.5秒短くしました。
  • ブラックスターを撮った後の動けなくなる時間の後に連続してブラックスターが来てよけられないことがあったため、0.5秒間だけ再びブラックスターをとっても動けなくならないように変更。(ただし、得点はマイナスされる)
  • 表示すべきだったとある情報を表示するように変更
不具合修正
  • 画面の右端で見切れた星が出来る不具合を修正
  • バージョン情報が表示されていない

インターネットチャンネル用のゲームを作ろうと思うのでメモ

いくつか調べてみました。
まだ実機で確認していないので、あくまで調査。
FlashはLite3.1で、Flash8相当。
・ExternalInterfaceが使える?後の調査で出来ないっぽいと判明
・ActionScript2で作らなければならない。今はAS3なのでバージョンを下げないといけない
javascriptを利用して各種ボタンとポインタ位置、傾きなどが取得可能。

とりあえず、javascript用のライブラリを探したものの、2コンまで使えないなどの障害があり(たいしたことではないけど)。
せっかくなので、ライブラリさら自作に挑戦。あきらめるかもだけど。

                                            • -

実機での調査記録
・ExternalInterfaceはやっぱりつかえないっぽい
・自分でライブラリを作るのは技術的に無理ww

以下参考になりそうなサイト

フラッシュと通信をしています。
Wii Flash API 公開してみる:Open Sauce(JC - Funcest):So-net blog
http://journal.mycom.co.jp/series/usefullweb/002/index.html

有名なWii専用のフラッシュSDKてきなもの。ソースつきでダウンロードできる。
BLOOMTECH
基本的にかなり優れているみたい。まだ実際に使ったわけではないので詳しくは未調査。
何とかなりそうな気配はしてきました。

                        • -

さらに追加
ココにも情報とSDKが。
http://wiiflash.bytearray.org/ココはパソコン用か。
wiioperasdk.com - このウェブサイトは販売用です! -&nbspWii Opera SDK Internet Channel Nintendo javascript video games WiiMote Wii Remote Wii Chatroom リソースおよび情報これはjavascriptのみか
それよりもAS2が使いにくい・・・
検索してもAS3ばかりでてくるもんだから。バージョンアップしてくんないかなー

ゲーム「スター☆キャッチ」のベータ版を公開

少し前から作っていたゲームをベータ公開。
矢印キーでメモリンを操作して落ちてくるスターを集めるというありがちなゲームです。
http://www.geocities.jp/ugomemo_harimau/game/game1.html
不具合などを発見したらこの記事のコメントにお願いします。

だいぶつくりが適当なので、変な部分がたくさん出てくると思います。運に左右されすぎじゃね?といううわさも・・・

といっても、ActionScriptでの初めて作品なので、ご容赦ください。
なんとなく基本がつかめてきたので、また何かゲームにチャレンジしたいなーと思ってます。次は簡単なシューティングとかがいいかな?いや、それとも・・・?

ちなみに、スカイさん作のブログパーツつけてみました。

ActionScriptを勉強中

スカイさんのうごキャラ日記で、復活の呪文はどうですか?と提案はしてみたものの、説明がへたくそすぎたので、一夜漬けでActionScriptをお勉強してみた。
前々から興味があったし、Greasemonkeyばかりやるのも飽きたので試してみる。

まず、paraFla!を試してみる。簡単にアニメーションを作ったり、スプライトが出来ることに感動。C#じゃこんなことできないよなー。(・・・WPFならできるのか・・・!?)
しかし、いろいろ調べるとActionScriptが古い上にちょっと特殊(?)と判明。
続いてFlexSDKをインストールするも、コマンドプロンプトめんどくせwとなって中止。探してみると、FlashDevelopというのを見つけてインストール。
日本語への対応や、プロジェクト機能はもちろんのこと、VisualStudio張りのインテリセンスが使える。マジで便利。
ActionScriptは、型をはっきりさせられるらしい。型をはっきりさせるのは個人的にかなり必要だと思う派なので、これはうれしい。
機能的にもかなり高機能。ぜんぜんGUI部品を使いこなせていないけど、もう少し練習すれば出来そう

              • -

ActionScriptのところをActiveScriptになっていたのを修正

独自マイリスト機能を作成中

マイリスト機能を作成中。だいぶ出来てきました。楽しいとずんずんやっちゃうね。宿題やらなきゃいけないのに。

ちなみに、これは非公開旧スクリプトからの移植です。
ブックマークと機能が盛大にかぶっているのは気にしないこととします。自分専用ですね。まさに。


ボタンごとに背景色と、上の線、下の線、文字色を変えることが出来ます。非公開旧スクリプトでは枠の色だけだったのがそれぞれ別に変えられるようになっていてとっても便利です。
個人としては、背景色でチャンネル、作品、作者などを見分けるために使ってます。
上下の線(テープとかリボンとか、名称を考えたけど面倒なので線になったw)でお気に入りの作者やチャンネルを識別したり、意味を持たせられますね。

ちなみに、設定ダイアログの色を指定するのはブラウザのに依存します。Opera以外はテキストボックスになると思うので、redなどと文字で指定するか、#FF0000と16進で指定してください。

URLにはアドレスのほかにブックマークレットなども登録できるので、簡単にいろいろで着ますね。

画像では付いていませんが、16px程度のアイコンを表示できます。これも旧版ではなかった機能です。



各種アイテムは右クリックで設定ダイアログ出現。
追加は「★」ボタンか、作品横のサイドバーの[Add+]ボタン、アカウントポップアップの[▼]を右クリック、チャンネルページの「マイリストに追加」から出来ます。


現在は未実装ですが、簡単なフォルダわけに対応する予定です。他にも、ヘッダの透過度の設定などにも対応しなければ。


以前はCookieに保存していたのですが、localStorageは実に使いやすい。JSONと組み合わせれば最高。