<   2012年 01月 ( 6 )   > この月の画像一覧

JOGLのバグとイージーミス。

先日、JOGLがうごかぇ!
と書いたのだが、実はほとんどの原因は、イージーミスだった。

まず、コンパイルエラーが76件のエラーを吐いていたが、
JOGLの設定ミスにしては、少ない数だ。

これは、ソースを間違えていただけで、sun公式のJOGL使用のソースだった。
早速最新のソースに入れ替え。

次。
ブラウザで実行するも、エラー。
どうやらJOGLのライブラリをネットからダウンロードしてくる部分で失敗しているようだ。

この原因に至っては、無線LAN。
自宅内のフロアの違いで無線LANが極度に遅く、確認してみると、1MBをダウンロードするのに、5分程度かかる始末。
JOGLライブラリは8MB程度あるので、単にタイムアウトしていただけだった。
フレッツ光が泣けてくるわ!

というわけで、ケーブル直刺しで解決。
ここまでがイージーミス。

起動したが、ウインドウが表示されるだけで、フォントが表示されない。
以前にも書いたが、フォントは、1文字ずつ描画して、それをPNGエンコードして、テクスチャ生成しているので、処理過程が長く、どこでエラーが出ているのか、チェックするのも面倒。

で、見つけた原因が、Javaのエラー(笑)。

フォントを描画する前に、クライアントの環境で日本語が文字化けしない書体をピックアップしている。
過去には、実際に描画して、ピクセル単位で文字化けを判定するという力業を使用していたが、
某氏より、

canDisplayUpTo();

で調べられるという情報を聞き、これを使用し始めたのだが、これが罠。

chs_boot

この書体、日本語が化けるくせに、 true が返って来やがんの。
(日本語だけじゃなくて、アスキー文字も化けるくらい酷い)

優先書体を指定できるように作っているので、こいつらを避けて、ゴシック体を指定したら、
きちんとフォントが表示された。

早速除外処理を実装せねば…。
[PR]
by miries | 2012-01-29 13:31 | ゲームを作る

ぐおお、JOGLが…!

久しぶりにJOGLでも触ってみようかと思ったのだが…。

以前開発していたPCのHDDが死んだんだった。

最近は、必要なソースなどをUSBメモリに入れたり、色々なところにコピーしているので、
ゲーム部分のソースはまるっと残っているのだが、Webサーバー部分が抜け落ちてた。

JOGLのアプレットを起動する際、自鯖を立てていて、
そこからJNLPをダウンロードするように設定していたのだが、そのJNLPまではコピーし忘れてたわ。

まぁ、ここに備忘録として記述してたことを読み返せばなんとかなりそうで、
あとはWebサーバーだな。

今までは、anHttpdのお世話になっていたんだが、
最近apacheも使い始めたので、今度は、そっちを入れるかな。

いやー、備忘録と、分類のためのタグさまさま。

mixiは、こういう日記の検索とかができないからダメなんだよな。
(課金すればできるらしいが)
[PR]
by miries | 2012-01-22 11:22 | ゲームを作る

強化システム

これは、SNSを一人で作れと言われたので、四苦八苦しながらの制作記録である。

ところで、課金ゲーに対して消費者庁が動くとか動かないとか噂がでてきたな。
俺は言われて作ってるだけなんで、規制入るなら、どんどん入れてくれたまえ(笑)

今日作ったのは、強化システム。
普通のミッションでガンガン手に入る雑魚カードを、
自分の好きなカードに組み込むことで、強化していくというシステム。

1枚選んで強化するか、一括でまとめて10枚まで強化するか、
という今では普通のシステム。
+うちのゲーム独自の微妙なシステムも実装した。

一応一通り出来てはいるが、まだ仕様ができていない要素があるので、
完璧にできているわけではない。

特に、演出面はFlashになるわけで、そのFlashはさっぱりできていない。
Flashは私の担当ではないが、ActionScriptを組み込むのは、たぶん私がやるんだろうな…(遠い目


さて、SNSをいくつかプレイしていれば、この強化は絶対目にするので、
作れと言われたら作れるはず。
だが、単に作っただけでは3流だ。

作る時点で運用時のキャンペーン要素を実装してこそ、一流だ。
(他にも、コメントや最適化、拡張性やメンテナンス性もあるがね)

今時、強化ボーナスキャンペーンや、経費半減、収入2倍などは当たり前。
これらもすでに組み込んである。

あとはオリジナルのキャンペーンをどれだけ追加できるか、だな。
全機能を今月中にぶちこんで、来月は調整だけの予定だが、無理だろうなぁ。

面倒くさそうなのは何が残ってる?

・対人戦
・フレンド機能
・ギルド機能
・ガチャ
・集団戦闘
・限定イベントミッション
・友達紹介機能

うおー、盛りだくさんだな。
各二日で間に合わんぞ。1日で作れってか…。

問題は、大半の仕様すらできてない点だがな!
[PR]
by miries | 2012-01-07 01:21 | ゲームを作る

apacheの設定

これは、SNSを一人で作れと言われたので、四苦八苦しながらの制作記録である。

今回は少し別の話題。
検索エンジンのクローラー対策として、クエリー文字を使用せず、
ディレクトリの一部と見なす手法がある。

例えば、今月の日記一覧を見るURLとして、以下があったとしても、
http://hoge.jp/diary/index.php?year=2012&month=1
検索エンジンには、
http://hoge.jp/diary/index.php
としか、認識されない。
なので、
http://hoge.jp/diary/2012/1/
という架空のURLを設定し、一番上のURLに変換するのだが…。

やり方を聞いて、自サイトの日記に活用していたにも関わらず、
やり方をすっかり忘れていた。
自サイトの.htaccess を確認して、ようやく思い出した。

っていうか、単に RewriteEngine を利用してるだけやん。

SNS用のPHPのフレームワークで、がんがん利用しているのに、
まったく覚えてないとは…酷すぎる(笑)

まぁ、転送する際のRewriteRuleのメインって正規表現だから、覚えにくいってのあるが。

RewriteEngineって、すげー便利だな。
[PR]
by miries | 2012-01-03 23:50 | ゲームを作る

挨拶ポイント

これは、SNSを一人で作れと言われたので、四苦八苦しながらの制作記録である。

さて、次に作るのは、挨拶周り。
これもSNSでは定番で、他人に挨拶をしてポイントを得る、というもの。

機能的には、そのポイントを貯めて、アイテムと交換できるわけだが、
内部的には、辞めにくくするという効果がある。
挨拶した相手にもポイントを与えることで、やめたときの罪悪感を煽るわけだ。

まぁ、そんな意味づけはおいといて。
この、「相手にもポイントを与える」というのが曲者で、
マイページをリロードするだけでも、その間にポイントが増えているかも知れないのだ。

したがって、毎回DB参照は避けられないだろう。
消費については、アイテムと交換するときに限定されるので、考え方としては、自動ポイント回復と同じ。
他人からもらったポイントをDBから読み出すだけで、合算して、書き込むという処理はしない。

面倒なのは、最近はポイントだけでなく、一言メッセージも送れる、という奴。
NGワード判定やら、絵文字処理など、面倒な処理があるのよ。
[PR]
by miries | 2012-01-02 23:02 | ゲームを作る

回復ポイントまわり

これは、SNSを一人で作れと言われたので、四苦八苦しながらの制作記録である。

SNSゲームの主流として、ポイント制がある。
行動ポイントを消費してアクションを行い、3分で1ポイント回復、などのあれだ。

例外にもれず、私もそれを作らざるを得ないわけだが。
最初に出された仕様は、1分で1ポイント回復。

これを、素直に作っていたら、DBへのアクセスが半端ない。
ということで、どう作っているかというと、
最後に変動したときの値と時刻をDBに記録。
と同時に、参照用のセッションデータにもセットしておく。

あとは、マイページなどで表示の必要があるときは、
記録した値+記録した時刻からの回復値
を常に表示するようにしておけば、参照するだけの場合は、DBへのアクセスなし。

DBへの反映は、実際にポイントを消費したときなどにまとめて行う。
同時に、変動値と変動時刻も更新すればいいのだ。

で、次なる問題は、挨拶だが…。
[PR]
by miries | 2012-01-01 20:35 | ゲームを作る