当たり判定処理 前編
2012 年 5 月 21 日 by 山平ゲームに欠かせない処理に当たり判定があります。
当たり判定は大きく分けて「プレイヤーキャラクタと敵キャラクタ(動くもの同士)の当たり判定」と「キャラクタと壁(動くものと動かないもの)の当たり判定」の2通りあります。
当たっているかどうかを調べると言う意味ではどちらも同じなのですが、当たった後の処理に違いがあります。
キャラクタ同士の場合、何と何が当たったかで処理が変わるため、処理(仕様)を決めておく必要があります。
キャラクタと壁の場合、当たった後の処理で座標を修正するのはキャラクタなのであまり難しく考える必要がありません。
前編ではキャラクタ同士の当たり判定について考えてみます。
「性別」列のインデックス付与について
2012 年 5 月 14 日 by yasukuniデータベースのインデックスを張る際によく「性別」に付けても意味が無いと言われたりしますが、実際の所どうなのでしょうか?(SQL Serverで)試してみました。
で。結論から言うと遅くなります。(というか使用されません) ただし…
vimのちょっと便利な小技(4)
2012 年 4 月 20 日 by fujii今回は『選択範囲のテキストを削除』をご紹介しようと思います。
ビジュアルモード中に”d”を押すことで選択範囲のテキストを削除する事ができます。
以下の様なテキストがあったとします。
下記の文章から3行ほど削除したい場合、vi使いの方なら、該当行にカーソルを移動し、「3dd」と入力します。
enchant.jsのサンプルゲームを読む
2012 年 4 月 4 日 by 山平数回に渡ってenchant.jsとゲームについて、周辺の話を進めてきましたので、そろそろ本題に入ります。
enchant.jsにサンプルとして同梱されているアクションゲームのソースを眺めながら、少し手を入れてみます。
ゲームで使う数字の遊び方
2012 年 3 月 19 日 by 山平ちょっと乱暴な言い方ですが、業務アプリと違ってゲームが保持する情報の多くがあまり本質的ではないものだったりします。
例えばアニメーション制御やエフェクトのためのオブジェクトがそれにあたります。
要はズバババ~ンって感じにキャラクターなどを表示するために色んな情報を扱う必要があり、結構面倒くさかったりします。
今回はそういった細々とした情報を扱う際の数字遊びを紹介します。
enchant.jsでゲームを作ることを想定しているのでjavascriptで書きますが、基本的には言語を問いません。
GIMPでドット絵を加工する
2012 年 2 月 24 日 by 山平ゲーム作りに欠かせないのが画像です。
自分で作るのは大変な労力がかかりますが、世の中には高品質な素材がたくさん提供されています。
ライセンスに注意して有効に活用したいものです。
ほとんどの素材はそれぞれの用途を想定した形で配布されていますが、必ずしも自分の思った通りに配布されているものでもありません。
今回はGIMPを使ってそんな素材のうちドット絵を自分の用途に合わせて加工する方法を紹介します。
※使用と加工の際には配布元のライセンスにご注意ください!
※サンプル画像としてenchant.jsに同梱されているものを利用しています。
enchant.jsの概説
2012 年 2 月 12 日 by 山平今回はJavascript+HTML5で簡単にゲームが作れるenchant.jsを紹介します。
少し触ってみましたが、シンプルさとJavascriptの柔軟性、妥当なフレームワーク構成でちょっとしたゲームならすぐに作れます。
凝ったゲームを作る場合のクラス拡張がとても簡単で、設計にセンスを感じます。
リファクタリングという技術
2012 年 2 月 3 日 by yasukuniコーディングを行なっている際に次のような経験はないでしょうか?
・ちょっと前にも同じようなことを記述した記憶がある。
・似たような機能(画面)が既に存在したので、コピー&ペーストでコードを複製した。
・コードの中にコメントを記載しないと意味が解らない変数やマジックナンバーが沢山ある。
・バグが入り込んだ際に、原因の特定に時間を要する(修正が困難)又は、途中でトレースするのが嫌になった。
・仕様変更による影響が多岐に及び、対応/評価に莫大な時間を要した。
この様な経験があれば、リファクタリングが必要なのかもしれません。
リファクタリングとは機能を変更することなく、コードの組み換え等を行い仕様変更への耐性、保守性の向上を行う技術です。
この技術の根本には、仕様というのは変動的であり、多くの場合に漏れ(抜け)があるという考えのもと行われます。
例えば、同様のコードが見つかった際に、共通化する小さな努力を怠ったり複製を行うと、修正が発生した場合に対象が多岐に及ぶことは避けられません。
RoRライクのJavaフレームワーク「Play Framework」
2012 年 1 月 24 日 by nakas普段はJavaをメインに使っていながら、最近はHTML5/JS/Android/iOSなどクライアントサイドの技術が賑わっていることもあって、サーバーサイドの技術、特にWebフレームワークには目を向けていなかったんですが、Java/Scalaエンジニア界隈では、 “Play Framework” が最近注目されているらしいです。
http://www.playframework.org/
JavaによるWebアプリケーション開発を容易にすることを目的とした、
Ruby on RailsライクのOSSフレームワークです。
概要や特徴などは公式サイトで分かりやすく説明されているので、そちらを参照してください。今回紹介する環境構築手順や開発フローが見られる10分程度のムービーもあります。
公式ではありませんが、翻訳サイトもあります。
http://playdocja.appspot.com/
早速、ローカル環境(WindowsXP)に開発環境を構築してみます。
なお、Java5以降がインストールされている前提です。
1.最新バージョン(v1.2.4)をダウンロードします。
http://www.playframework.org/download
ファイル:play-1.2.4.zip
2.ダウンロードしたファイルを任意のフォルダに展開します。
今回は以下のディレクトリに展開
D:\work\play-1.2.4
3.コマンドプロンプトを起動して、新規アプリケーション作成用のコマンドを実行します。
# cd D:\work\play-1.2.4
# play new myapp
途中でアプリケーション名を聞かれるので適当に入力します。
4.アプリケーションの起動コマンドを実行します。
# play run myapp
5.ブラウザを開いて、URLを入力します。
http://localhost:9000/
基本的な環境構築は以上です。
Tomcatなどのアプリケーションサーバ上で動作させることもできますが、スタンドアロンで動作するので、すぐにアプリケーションの開発に取り掛かれます。
テキストエディタをはじめ、Eclipseなどお好みのIDEで開発できるのもGoodです。
環境構築だけでなく、アプリケーションの開発においても、効率的に開発できる機能がたくさん含まれているので、順次試していきたいと思います。