[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
C#にも慣れてきたので、長い間放置してきた「移転しました」の開発を再開することにした。
再開といっても、1から作り直しになるけど…
旧バージョンの「移転しました」には以下のような欠点がある。
1. 機能が追加できない
UIが1画面に収まっているので、新機能を入れようとするとウインドウがでかくなる。
タブ化しないとだめだなぁ~
2. 拡張子の自由度が少ない
今のバージョンは、htmlファイルの一覧を取得する際に、拡張子が「*htm*」のものを検索している。
これだと「html」「htm」「shtml」「xhtml」などの拡張子が引っかかる筈。
でも「php」とかのファイルも書き換えたい人もいるだろうし、「xhtml」っていうファイルにHTML4.0なソースを吐き出すのも気持ち悪い…
3. ライセンス
これまでの開発に使っていたDelphi 6(無償版)には、商用アプリの作成はできない、というライセンス条項が含まれている。つまり、会社のホームページの移転には使えないのだ。
新バージョンはVisual Studioで作るのでこの問題はなくなる。
ただし、従来どおり動作保証はないので、注意して頂きたい。あと、技術系の企業(特にIT企業)の方はこんなフリーソフトなんか頼りにせず、自分でスクリプトを組んだほうが良いと思う。閲覧者にナメられるから…
4. デザイン
テンプレートのデザインが古臭いし、数も少ない。カラーバリエーションを作るために既存テンプレをコピーしてCSSを弄って……なんてことをしないで済むように色設定の部分を改良しよう。
現在UIの製作が進行中。
とりあえず設定項目をタブ化してみた。
写真は、「移転しました」ページ生成の対象になる拡張子を選ぶタブ。
俺は過去に2回ブログを作ったことがある。
でもアクセスは少ないし内容も大したことなかったのですぐに消してしまった…
で、今回懲りずに第3のブログを作ったわけだが、最初の記事に何を書くべきか…。
今までのブログはどうも最初の記事がパッとしなかった。
2回とも一言の挨拶で済ませたのだった(内容は忘れたが)。
ということで、「ブログ」について妄言をたらたらと書くことにしよう.。。
そもそも、人はなぜブログを書くのであろうか。
俺の憶測ではブログを書く動機は以下の3つに集約される。
あくまでも憶測なので反論があればコメントしてほしい。
(1) アフィリエイト
(2) メモ帳代わり
(3) コメント
「アフィリエイト」は動機としては最もシンプルであり、長続きもする。なぜなら、「金を稼ぐ」という明確な目的があるからだ。
「アフィリエイト」があれば、ニュー速VIPのスレを延々とコピペする、なんていう面白くもない単純作業でさえ長続きしたのである。(VIPPERの怒りに触れたため、現在はアフィサイトヘの転載が禁止されている)
メモ帳代わりという用途は、実用的だ。
自分に必要な情報を、HDDを増設しなくても保存できる。
しかも、運がよければそのメモを見た誰かが追加情報をくれたり、間違いを訂正してくれるのだ。
「コメント」とは、ブログがブログとして成り立つための最重要機能である。人々は、コメントが欲しくてブログを書いているのである。この現象はブログに限った話ではない。
2ch用語に「レス乞食」「構ってちゃん」なんてのがある。つまり、他のユーザからのレス(返信)が欲しくてたまらない人々のことだ。
しかし、なぜ記事を書くなんていう面倒な作業をしてまでコメントが欲しいのだろうか?
本当の理由は分からないが、俺が思いついたのは、
ブログのコメント欄とは、スコアアタック機能の一種である
という考えだ。
われわれ人類は、オンライン機能のないゲームでさえスコアアタックやタイムアタックを楽しんでいるのである。
ハイスコアやベストタイムを叩き出したとき、我々は己の能力に陶酔するのだ!
インターネットも実は同じなのだ。ブログを書いて、アクセス数が多くなったり、コメントがついたとき、あるいは、2chに書き込んでレスがついたとき、「俺って才能あるじゃんwwwwww」て感じで自己陶酔するのであろう。
結局俺は何を言いたかったのだろうか…
だが、最初の山場は環境構築だった
まず、3Dエンジンとして定評のあるIrrlichtを使うことにした。読み方は知らん。マルチプラットフォームとか、Quake3形式のBSPに対応してるとか、処理が速いとかのメリットがあるようだ。
使い方はIrrlicht A Go GoチュートリアルとかIrrlicht Unofficial Docsあたりが分かりやすいかな?
ただし、これらのチュートリアルは全てVC++2005が前提のようだ。俺の場合は、MinGW(GCC)で開発を試みることに…
1 MinGWのインストール
とりあえずK-na TechNotes MinGWのインストールを参考にしてMinGWをインストールする。MSYSは、UNIX向けのソフトをコンパイルする際に、擬似的にUNIX環境を供給するもの。今回のように1からソフトを作るなら特に必要なさそう。
2 Dev-C++のインストール
いままでBCC Developerという統合開発環境を使ってた俺だが、GCC向けの環境はないものか、と思ってたら、Dev-C++なるものを発見。これが、ツールバーのアイコンとかの見た目が似てるので楽に乗り換えできそうw
Dev-C++は、DevC++JPプロジェクトから日本語化されたのが配布されている。が、俺は英語でも困らないので本家からDL。ていうかこのソフト多言語対応で中国語韓国語が標準で使えるのに…日本語のバンドルはいつになるのか
3 Irrlichtのインストール
まあ、GCCの環境が整ったので、IrrlichtをダウンロードしてCドライブの直下に展開。マイドキュメントには置きたくない。よくファイル整理して移動させちゃうから:-)
4 Dev-C++のプロジェクト設定
さて、Dev-C++を起動し、新規プロジェクトを作成。File->New->Project、次にConsole Applicationを選択し、Name欄に名前をつけて[OK]。
Irrlichtチュートリアルの通りにプログラムを作ってコンパイルしたら、予想通り失敗。
失敗と対処法は後編にて。ちなみに、GCCで開発する場合、Direct3Dは利用できず、OpenGLのみとなる。
ちなみに、Vipper Cityの開発をやめた理由はまあ4つぐらい
1. CGIゲームの衰退
巷ではSecond Lifeが話題だが(遂にVIPにもスレが…)、リアルタイムに活動できない仮想空間なんて作る意味があるのか。ちなみに俺のPCではセカンドライフは動かない。
セカンドライフより手軽に遊べれば十分じゃないか、という意見もありそうだが、それなら「BARギコっぽいONLINE」がある。
2. サーバーがない
BARギコに対抗してリアルタイム化をするのは、技術的には簡単だ。Flex2を使ってFlashベースにすればいいだけだし、サーバースクリプトもCGIよりは楽だろう。しかし、手ごろな価格でソケット通信ができるサーバーなんて殆どない。
3. 仮想世界の秩序維持
掲示板でさえ荒らしやスパムを防ぐのは難しい。今現在セカンドライフでいろいろと問題が起こってるんだから、Vipper Cityの管理は困難を極めるだろう。突撃とかうpとかしてる人々を呼び寄せて大丈夫なのだろうか…
4. バグ
実は、バグが取れないから匙を投げてしまった、というのが正直な理由だったりする。
というわけで、そろそろ3Dゲームの開発を始めようか。
開発環境など詳細は次回
bgsoundタグ
IEでしか再生できない
再生、停止の制御ができない
Quicktime, Media Playerなどのプラグイン
起動に時間がかかる
フリーズすることもある
Flash
MP3しか再生できない
プレーヤを自作しなければならない
この3つのうちどれがベストだろうか?
回線の容量さえ気にならなければFlashを使うのが無難でしょうか。Flashはブラウザの影響を受けにくいという利点があります。また、曲を途中から再生したり、音量をいじったりというのも比較的楽です。
最近はYouTubeなどで、動画プレーヤとしてもFlashが多用されてますね。
Flashで音を鳴らす際に面倒なのがスクリプトの自作でしょう。でも今時FlashなMP3プレーヤなんて大量にありますから…
でもJavaScriptから制御できるもの、となると、SoundManagerぐらいしか見当たりません。ただ、これ自体の完成度は高く、JavaScriptから音量の制御ができたりもします。
俺はFlashなBGMプレーヤにある可能性を感じています。それは、切れ目のないループ再生。
従来のどの方法も、ループ再生をすると必ず音が途切れます。もちろんFlashもそうです。
しかし、Flashがスクリプト側で、リアルタイムに音量をいじれる、ということは、クロスフェードを使って擬似的に途切れのないループ再生ができるかも…
ということです。すでにこの手のFlashは存在するんですが、JavaScriptから操作できるのは見当たらないですね
しかしこれを自作するのも面倒だ…当分はSoundManagerを使うことにしよう。