長篇 Adventure Game「時の封土」制作にあたって

本文書は、「時の封土」制作にあたっての「技術的な側面」を述べております。実際のゲーム紹介にあたっては、下記のリンクを御覧くださいませ。

制作(というよりは改変)を手掛けた理由

XML や XHTML, そして DOM といった技術は、 Flash や DHTML などといった「見栄えがする技術」と比べ、一般の人達にとって、非常に地味で分かりにくい側面を持ちます。直截目に見えないことも理由の一つでしょうが、「堅苦しい」「理解し難い」などといった先入観も少なからず存在するからとも言えます。

また、 XML や XML DOM といった技術は、主にデータベース管理などで用いられており、一般の人達にとっては「敷居が高い」と思われているかも知れません。

そこで、今回の企劃の目的を、以下のように掲げることにしました。

制作で拘った点

DOM/ECMAScript の使用にあたって

本ゲームのシステムを作り上げていく中で使用した XML/XHTML, DOM の各種仕様と、MSIE/Mozilla の各種実装状況の違いに関して、簡潔に紹介したいと思います。

読み込み

シナリオデータの記述に XML を採用。読み込みは XML DOM で行います。

各種イベント

キーボード及びマウスイベントを埋め込む際には、 DOM で着目する要素にアクセスし、イベントを埋め込みます。(以下、アクセスする要素を element 表します。)

キーボードイベント

マウスイベント

XML/XHTML と DOM/CSS の相性

MSIE の場合

基本的には DOM 1 + 独自拡張のサポートなので、それを考慮する必要があります。

Mozilla/Netscape の場合

DOM 2 までほぼサポートされております。全ての文書に XML DOM が適用されます(ただし例外あり)。