長文を流したいけど皆さんのTLを汚したくないときに使う場所です
[6]  [5]  [4]  [3]  [2]  [1] 
不定期刊行します。霧戦争3期のソースをテキストにして、ひとつひとつ解説していきます

まずはテキストを。テキストは*こちら*

これは実際に霧戦争3期で使用したデータと同じものです。言語はPerlで、ローカルサーバー上でシステムを動かし、HTMLを生成するシンプルなものです

簡単に言うと、ファイルを読み込んでもぐもぐするとウェブページが出てくるよ、というシステムです
※注:でてきたウェブページはFTPソフトなどを利用し、通常のサイト同様わざわざアップロードする形です。登録CGIと更新プログラムは別物です。登録CGIは同梱していないので、別に勉強するかお友達からtxtファイルを集める必要があります。最初はtxtファイル手渡しで更新しましょう。霧戦争αテストもtxt手渡しでした
なので、今回はたまたまCGIを利用しているからローカルサーバー立ち上げてるわけで、他のプログラムだったらローカルサーバーの知識はいらないわけです

今回は、環境の作り方を解説しようと思います。でもローカルサーバー構築はもっと詳しいひとや正しいひとがいるので、そういった方に聞いた方が安全で確実です

ではテキストをDLして始めましょう


そもそもPerlってどういうプログラミングなの、というと深夜二時を回っても語り尽せない話ですが、簡単に言えばブラウザ(Firefoxとかchromeとか)を使って動くシステムだよ、という話です。なのでシステムを動かすときはブラウザを使って動かします

じゃあ特別にDLする何かが無いじゃん!というわけでもなく、ブラウザにシステムを動かしてもらうためにはPerlがインストールされたサーバー上のファイルでなくてはいけません

サーバーのレンタルってめっちゃ面倒そう……大丈夫です。ローカルサーバーさえ作れば無料で誰でも自分だけのサーバーを作れます。あなたのパソコンをサーバーにしてPerlをインストールしてしまえばいいのです。しかも、よほどプレシャスなシステムを動かすのでない限りスペックは必要ありません。サーバーとなったパソコンも今まで通り普通に使えます

≪ここまでのまとめ≫
定期ゲーは無料でどんなパソコンでも作れる!

さて、Perlとローカルサーバーを使えばテキストを動かせることに気付いたあなたは、それをどこで手に入れればいいか考えたはずです。ここで情報化社会最強の棍棒である、あるものを使います

インターネット検索です

あなたはプログラミング中飛蝗のごとくバグに襲われるはずです。そして、延々インターネット検索で答えを探すはずです。その癖をつけておくと困ったとき助かります

Perlでググっただけでもたくさんの入門サイトが出てきます。ヒヨッコの私よりもっと上手に教えてくれるサイトばかりです
ローカルサーバーを立ち上げるにはApacheという無料のソフトがオススメです

本を買うのもいいでしょう! 私も入門書を買いました。C#とC++とPerlの本を買って生き残ったのはPerlの本だけでした。rubyの本を買うのも面白そうです

私にできることは、「自分にもできる」ということに気付かせるところまでです。玄関までの道をスコップでペチペチして歩きやすくするまでです

でも私自身がペチペチできることに気付いたので、こうしてペチペチしてみたのでした

≪ここまでのまとめ≫
親切なサイトの力を借りてローカルサーバーを立ち上げてPerlをインストールしよう

できましたね?
できたということにします

ここからは私にしか分からない、私にもよくわからない霧戦争システムの解説に移ります
今回は導入ということで、各部のプログラムの流れがどうなっているか把握してみましょう

SYSフォルダのAOAI.plを開いてみてください。plやcgiというファイルを開くにはテキストエディタというソフトが便利です。これは色々派閥がありますが、私はサクラエディタを使っています。これもフリーソフトです。plやcgiといったファイルを常にこういったテキストエディタで開けるように関連付けしておきましょう

≪ここまでのまとめ≫
plファイルはテキストエディタで開く

AOAI.plがメインの流れを書いたファイルになります。これを眺めると全体の流れが分かるというわけです。行数ごとに解説します

1~28行目……魔法のおまじないゾーン
これが無いとシステムが動きません。ここに書いてあることを完全に理解したらあなたは私を超えた存在になります

30~36行目……画面表示ゾーン
ブラウザに表示される作業進捗を出力するための、前書きです。HTMLをprint命令で書いていくわけです。printはこの先も大事なところでちょくちょく出てきます

38~135行目…グローバルな変数定義ゾーン
下手なのでourという変数を乱打しています。このourという変数はどの領域からもアクセス改変できる、非常に自由度と危険度の高い変数です。ガソリンも墨汁もコーラも冷蔵庫で保管しているみたいな状況です。許してくれ
この変数は大体はキャラデータや機体データのパラメータを表しています

137~139行目…データのロード
キャラデータなどのセーブデータを読み込むゾーンです。めっちゃ短いのは、別な場所に大量に書いてあるためです。&という文字のついた命令は、私が勝手に作ったプログラムの名前を表していて、データのロードという仕事をする機械のスイッチを入れるイメージです。もちろんだらだらと省略せずに書いておいても動きますが、あらかじめ特定の仕事をする機械を作っておいて、スイッチを入れるだけの方が圧倒的に仕事場は整頓されます。
好きな工具、機械……それらは定期ゲーという仕事をするためにあなた自身が完璧に設計してカスタマイズしたものです。だからこそ、上手く仕事を行うことができるのです

文字数が増えてきたので、今日はここまで。次回以降も一つ一つ解説していきます。霧戦争のシステムを動かす奇妙な工具……その分解はまだ先の話です

≪ここまでのまとめ≫
道具の使い方を知り、正しい道具を、正しく使っていくイメージ

【最後に】
最近定期ゲーの波を感じます。全盛期には毎日更新日が訪れるくらいのブームでした。こういった定期ゲーのGMさんになられる方というのは、私自身雲の上の存在だと思っていました。実際プログラムができて、開発に割ける時間と体力の余裕がある方は多くはないでしょう。
それでも、ある日突然スーパーマンがやってきて全部やってくれる……みたいなことを望みながら冷えていくのがいちばん悲しいことだと思っています

もし時間と体力の余裕があって、ほんの少し夢を持っていたら、あなたがスーパーマンになってみませんか?
GMは辛いことも多いですが、それを越える楽しさがあるのです。私の半生で楽しかった思い出のほとんどは……定期運営の出来事で埋められたくらいには!

拍手[10回]

この記事にコメントする
color
name
subject
mail
url
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
霧のひと
Webサイト:
性別:
男性
P R

photo byAnghel. 
◎ Template by hanamaru.