1  |  2  |  3  |  4  |  5  |  6  |  7  | ALL page

2006年08月06日

ゲーム作りの方針変更

ゲーム作りを亀ペースでやっていたのですが、ここで方向転換。もともとゲームの核となる物理演算エンジンをC言語で作っていたのですが、これをいざLingo上に載せようとすると予想以上に大変。ポーティング作業を甘くみていました--;。そもそもうち自身、まだLingoの理解が乏しいにも関わらず、「最初は手慣れたC言語で作って後でポーティングすればいいや」という考えが間違っていました。

構造体も基本的にはないようで。代替する方法はあるのですが、Lingoの一般的な作法がわかっていないので、この先の融通が利かなくなると思い、やはり断念の方向に。

そもそもこの物理演算エンジン、C言語上の段階で、まだいろいろ問題を抱えています。それに、ゲーム性を高めるため、リアルさを追求して様々な要素を入れた結果、異様に繊細なものになってしまい、デバッグが大変に…。ただでさえな状況に、Lingoへの移植を行なうのは厳しいと判断しました。

今後は、これまで作成してきたエンジンを、Lingoへの実装を考慮して簡素化したいと思います。何だか遠回りしちゃいましたね^-^;。まあ、力学について十分な知識がないのに、少し凝った物理演算エンジンを作ろうとしたことには、無理があったみたいです。

いろいろな作業が水泡に帰したわけですが、今後のやるべき作業が見えたので、気分的にはスッキリです。

投稿者 bokupi : 22:48 | コメント (0) | トラックバック

2006年06月21日

ネットワーク上の知的財産を守るために

なんだろう?アジアの厨は。@脳天気時々雨

海外のネットユーザーが、画像を無断使用をするという話は、今に始まったことではありませんが。言葉は乱暴ですが、知的財産に関してまだ野蛮な状態だと思うので、しばらくはどうしようもないのでしょうね。日本国内でもそういう輩はいますし。

法律の整備も大事ですが、技術による対応も大事です。数年後には完全移行となる地上デジタル放送などは、ARIBにより厳格なコンテンツ保護の仕組みが用意されています(技術的な要素よりも、不正利用ができる可能性を持つ機器は、一切メーカーに製造を許可しないという締め付けが、効果を出すのでしょうね)。こうしたテレビ局を始めとした、力ある権利者団体は、時に疎ましいものですが、自分が同じ側に立つと途端に頼もしく見えます。

「パクリガード」というフリーウェアのコンテンツ保護ツールもありますが、IEのみしか有効でなかったりと十分ではありません。個人的な思いとしては、将来、著作権保護されたコンテンツが不正利用できない仕組みを、ブラウザ自体に備えてほしいですね。特に静止画の場合は、ブラウザがビューアとなっているのですから。

投稿者 bokupi : 01:03 | コメント (0) | トラックバック

掲示板のスパム広告排除の方法

その方法とは、URLを含む書き込みは全て排除することです。スパム広告の目的は、誘導したいサイトのURLを頒布することですから、そこを絶ってしまえばスパム広告の意義はほぼ消滅します(嫌がらせなど、広告目的でないケースを除いて)。

既に1つの掲示板に実施していますが、効果はてきめんみたいで、スパム書き込みはいっさい通らなくなりました。ただこれだと、正規のお客さんも自分のサイトのURLを記述できなくなりますので、完全な対処法にはなりません。ですが、一時的な処置としては、かなり有効だと思いますので、スパム広告にお悩みのかたは試してみてはいかがでしょう?

投稿者 bokupi : 00:43 | コメント (0) | トラックバック

2006年06月12日

Google Maps APIを使ってみました

旅行記などに使えたら面白いかな、と思い、Google Maps APIを導入してみました。APIのバージョンが1から2に上がったらしく、参考サイトの内容で若干ブレに悩みましたが、概ね簡単に使うことができます。

まずは、APIを使うためのキーを取得します。取得するには、Googleアカウントが必要です。Google Maps APIのキーは、利用したいURLを記入してボタンを押すだけで、入手できます。別のURL(ディレクトリ)に設置するには、キーを取り直す必要があるので、Google Maps API利用専用のディレクトリを作ったほうが便利かと思います。

キーを取得すると、サンプルコード(HTMLとjavascript)が表示されるので、コピペしてアップロード。すると、見事に地図が表示されます。結構感動~。でも、このサンプルのままだと寂しいので、マップコントロールなどを追加します。

//<![CDATA[

/*********************************************
 * load
 * 初期化用
 ********************************************/
function load() {
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(36.781115, 139.231491), 13);

        // ポイント
        var point = new  GLatLng(36.781115, 139.23149);
        var html = "<div style='width:350px;font-size:12px;'>鳩待峠</div>";
        var marker = createMarker(point,html);
        map.addOverlay(marker);
    }
}

/*********************************************
 * createMarker
 * マーカー生成
 * point : マーカーを置く位置
 * html  : 表示する説明タグ
 ********************************************/
function createMarker(point, html) {
    var marker = new GMarker(point);
    GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(html);
    });
    return marker;
}

//]]>

ところで、バージョンの違いでやられてしまったのが、GPointクラスとGLatLngクラスの違い。これって、緯度と経度が反対なんですね--;。マーカーを指定してもまったく表示されず、しばらく悩みました。ズームを一番遠くにしたら、遥か世界の外側にマーカーがあって、ようやく誤りに気づいた次第です。。

主に参考にしたサイトはこちらです。

投稿者 bokupi : 12:17 | コメント (0) | トラックバック

2006年06月03日

プログラミング言語のマルチリンガル

マルチリンガルの時代(結城浩の日記)

さきほど、スパム広告に対抗するための仕組みを、掲示板スクリプトに埋め込んだのですが、久々のperlだったため、しょうもないところで躓いていました。それは、変数名の前に"$"を付け忘れたこと。

my str = $_[0]

上のような感じで、普通に書いていました。Apacheのログを見て、エラー行を特定したのに、1分くらいミスの原因に気がつかないありさま^-^;。ここ数ヶ月、お仕事のほうでC言語どっぷりだったもので。その言語を使わない期間が長くなると、設計の感覚まで忘れてしまいそうで、怖いです><)。

マルチリンガルへの道は険しいですね。ちなみに、マルチリンガルという言葉は、最初に記してあるページで見つけました。

ところで、うちが使う主に言語は、こんな感じ。スクリプト系、OO、というように、使い分けています。C言語は、演算処理など、ちょっとしたお試し用途に使います。

あと、phpやVC++など、触ったことがあるものは、他にいくつかあるけれど、あまり自信はないです。とりあえず上の3つがあれば、当面困らないかなあ、というのが、実感です。

投稿者 bokupi : 16:21 | コメント (2) | トラックバック

2006年04月19日

WebDavでネットワークドライブ

サーバにWebDavを導入しました。そしてクライアント側には、試行錯誤の末、NetDriveというソフトウェアを導入しました。これにより、インターネットを介したクライアントからでも、Sambaのような使いかたが可能になります。ファイルのやり取りのみであればFTPによって可能でしたが、WebDavによりサーバ側にあるファイルをローカルに移動せず、直接編集ができるようになりました。

これはやはり便利ですね。これまで別々のPCで作業をしていると、最新版を一方のPCに置き忘れることがありましたが、直接編集できればより確実に一元化ができます。

ただ1つ難点なのが、日本語ファイル名が使えないこと。mod_encodingを使えばいいのですが、それによる弊害対策をしっかりと理解できていないので、保留中です。。ASCII文字に直してもいいけど、できれば日本語ファイル名を使いたいな。

投稿者 bokupi : 23:08 | コメント (0) | トラックバック

2006年04月14日

ブックマークレットを勘違いしてました

ときどき「ブックマークレット」という言葉は聞いていましたが、中身についてはよく知らないままでした。名前からして、ブックマークに関連したAjaxてきな仕組みなのかな?と思っていました。

ところが、少し真面目に読んでみたら、別にブックマークのためのツールではないんですね。何の機能というわけでもなく、そのツール(javascript)を格納する先が、ブックマークというわけです。

うーん、このネーミングはどうなのだろう…--;。

ブックマークレットを公開されているサイト

投稿者 bokupi : 01:00 | コメント (0) | トラックバック

2006年03月22日

またまた名前解決がおかしくなった

直したつもりが、また名前解決がおかしくなりました。現象は同じで、LAN環境なのにサーバのIPアドレスが、WANのIPアドレスになってしまうという現象です。前回の調査からして、どこかで勝手に外部の名前解決を参照していると思われます。

現在、DNSサーバの指定はルータ経由で行なっていますが、これを直接サーバのIPアドレスを指すようにしたら、一挙に解決しました。やはりルータが見えないところで悪さをしていたようですね。。

投稿者 bokupi : 23:57 | コメント (0) | トラックバック

2006年02月26日

内向けDNSが時々おかしくなるけど…

内向けDNSが時々おかしくなります。pingを投げても通るホスト名と通らないホスト名があったり。内向けDNSサーバを停止して、pingを打っても名前解決ができてしまいます。これは、どこかの残骸を参照しているのでは?と思い、順次潰していきました。

まずは、hostsファイル。案の定、サーバのホスト名が書かれていましたので、コメントアウト。あとは、WindowsのDNSキャッシュの削除。

ipconfig /displaydns // キャッシュの一覧
ipconfig /flushdns   // キャッシュをクリア

けれども状況は変わらず。DNSサーバの動いているサーバ本体では名前解決できないけれど、他のWinマシンからだと名前解決できているので、これが有力かと思ったけれど、違ったみたいです…。pingでomoshiro-joho.com宛てに打つとグローバルIPアドレスが返ってくるので、どうも外部のDNSサーバを参照している雰囲気。

そこで、ルータからWAN回線を抜き、DNSサーバを再稼動してpingを打つと、無事プライベートIPアドレスが返ってきました。原因ははっきりしないですが、とりあえず解決。WAN回線を抜いて状況が改善したということは、やはりどこかの外部DNSサーバを見に行っていたのでしょうか。

投稿者 bokupi : 20:09 | コメント (0) | トラックバック

サーバダウンの原因

02/23に起きたサーバダウンが解決しました。現在平日は西東京に滞在しているので、実家のサーバは遠隔保守となり、なかなか大変です。

さて、ダウンの原因ですが、結構複合的です。まず、再起動したため、ランレベルが3になりhttpdが動いていませんでした。本来ランレベル3でも動くはずですが、ssl対応した際に起動スクリプトの修正をランレベル5のものしか実施していなかったためだと思われます。

ただ、今回Telnetでログインすら出来ませんでした。その原因はサーバではなく、ルータにありました。電源が一度落ちたために、回線が切断状態になっていたのです。自動再接続はうまくいかなかった模様で。接続処理を行なったら、無事復旧しました。うーん、他のPCからもネットが見れないなら、連絡をくれれば良かったのに。何も連絡がなかったため、ルータは正常だと思い込んでしまいました。。

というわけで、原因は再起動によるサーバのランレベルの変化と、ルータの接続断の2つでした。遠隔保守は大変だ…

投稿者 bokupi : 19:56 | コメント (0) | トラックバック

ALL page |  1  |  2  |  3  |  4  |  5  |  6  |  7