さくらんぼのlambda日記

lambdaちっくなことからゲーム開発までいろいろ書きます。

2011-01-01から1年間の記事一覧

clangで相互参照の情報を取得する!

前回からだいぶ間が開いてますが、やっと解析の方法をまとめることができそうなのでまとめます。目標は「clangのIndexerを使ってコードの相互参照の情報を取得する」です。 Indexerを作る IndexerにTranslationUnitを複数個渡していく IndexerからAnalyzerを…

clangで相互参照の情報解析

前回の記事の続きです。ソースコードから以下の情報を取りたいです。 定義されている関数、変数の詳細 関数、変数の参照関係 前回の内容では、「定義されている関数、変数の詳細」の情報は取得できました。ですが、「関数、変数の参照関係」を取る方法がわか…

Let's ソースコード静的解析!

ふとソースコード静的解析で遊んでみたくなりました。そこで、最近活発なclangでC++のソースコード静的解析プログラムを書こうと思います。大分昔clangで遊んだことがあって構文木をXMLで出力させるのは標準機能であったなぁと思い出していたら、どうやら最…

コルーチンをCommon Lispで簡単に定義

また更新滞ってしまいました...。なかなか長続きしませんね。久しぶりに日記のネタが浮かんだので、メモがてら書きます。ゲームを作っているとコルーチンが欲しくなることが多々あります。例えば、敵の行動が「飛行状態から通常攻撃をして着地から必殺技を出…

Common Lispでゲーム用の状態遷移マシン 完成?

やっと、コード書く時間がとれたので、記録用に書きます。 singletonクラス作成用のパッケージ とりあえず、singletonをつくるためのパッケージを作成しました。 http://cadr.g.hatena.ne.jp/g000001/20081202/1228199756 この記事が超参考になりました。clo…

移植にあたっての課題とその解決方法

ここでは、FSM/State.hとStateMachine.hをCLOS上に移植する上での課題とその回避策について考えます。 移植上の2つの課題 簡単に移植できると思うのですが、CLOSで扱うのが面倒臭そうな技術上の課題がいくつかあります。 上記のコードでは、以下のテクニック…

C++の場合はどうなるか?

いきなりCommon Lispで挑戦するのでもよかったのですが、ここは先人の知恵を借りたいところです。 C++でゲーム用の状態遷移クラスを作っているサンプルや枯れているものはたくさんあるので参考にしようと思います。ここでは、以下の本に載っている状態遷移ク…

ゲームに使える状態遷移マシン for Common Lisp

さて、前回の続きです。 クラス構成と要件を前回説明しました。今回は実際にCommon Lisp上に状態遷移マシンを実装します。

ゲームに使える状態遷移マシン

備忘録的に吸闘紀で採用している状態遷移マシンの設計と実装について書いておきます。 ゲームに必要な状態遷移マシン ゲームに使える状態遷移マシン。そこまで複雑な状態遷移マシンは必要とはなりません。 簡単に要件をまとめておきます。まず、各遷移する状…

Mac環境構築ガイド for 自分

MacBookPro(15インチ)を購入しちゃいました!! Apple MacBook Pro 2.2GHz 15.4インチ MC723J/A出版社/メーカー: アップル発売日: 2011/02/25メディア: Personal Computers クリック: 10回この商品を含むブログ (2件) を見る今後の備忘録もかねて環境構築ガイ…

ガンダムUC読了

とりあえずガンダムUCを10巻全部読了しますた。なかなか良い話だった気がします。文句があるとすると筆者がガンダム好きすぎ。そのせいで、セリフのほとんどがガンダムのオマージュになっててちょっともったいない。そんなことしなくても魅力的な話なのに。…

ランニングを始めて見ました

最近どうも体力がない & 今年は体力をつけるのが目標!なのでランニングを始めて見ました。とりあえず、iPhoneのNike+アプリでランニングの記録を取りつつランニングを始めて見ました。結構このアプリとサイトが使いやすくて楽しいです。詳細はこちら http://…

最近やってたこと

地震から約一ヶ月が立ちました。自分の親族も若干被災してたり、消息不明だったのがやっと先週あたりに判明して精神的に一段落つきました。自分はできることもない & 停電に協力のつもりでPCは可能な限り使わない作業してました。 で、何をしていたかという…

hoge

hgoehgoe hogeghoe

行列の積の性質について

行列の積について勉強中なので、性質をまとめてみます。 行列の積の定義 型行列と型行列があるとき その、行列がそれらの積であるとき、の各成分は以下で求められる。 行列の積の転置 行列の積のトレース 次正方行列に対し、対角成分の和をのトレースと呼ぶ…

数学の勉強を開始してみました。

停電その他あるので、あまり計算機触らない物で遊ぼうかなと思いまして、数学の勉強を始めました。 結構楽しいですね。プログラミングだいぶ習熟してきたので、用途と割とすぐ結びつくのが良いのだと思いますが 大学の時と比較して物覚えが良い気がします。…

色々について

色々世の中で大変なことが起きていますね。 みんなで再建しましょう。私も微力ながらお手伝いさせていただきます。

全ゲ連で講演するらしいです

なにやら勢いで講演してみることにしました。第8回 全日本学生ゲーム開発者連合(全ゲ連) 交流会で発表します。 http://d.hatena.ne.jp/zengeren/20110120 Common Lispによる高速ゲーム開発入門編 講演者:さくらんぼ(さくら=卑猥乙=んぼ (lambda_sakura) o…

Visual Studio 付属のプログラムまとめ

MSDNに基本的に載っているのですが、どういう物があるのか今まで把握していなかったので調べてみました。 bscmake.exe MSDNによると、Microsoft Browse Information Maintenance Utilityらしい。 http://msdn.microsoft.com/ja-jp/library/87x7wc99(v=vs.80)…

Visual Studioのコマンドラインについて色々調べてみた

ECLがVisual Studioのコンパイラを使うので、Visual Studioのコマンドプロンプトから起動しないといけなくて面倒なのでVisual Studioが何してるか把握できれば、一々専用のコマンドプロンプトから起動しなくて済むようにできるかと思ったので調査してみまし…

lispbuilder-sdlでウィンドウ表示

大体lispbuilder-sdlの環境構築は前回と前々回書いてきました。 なんとなく、今回は実際にウィンドウ表示などでもしてみようかと思います。 lispbuilder-sdlウィンドウ表示するための最小限のコードは以下のような感じになります。 (sdl:with-init () (sdl:w…

lispbuilder-sdlのインストール(SBCL編)

ここではSBCLを使うひとのためのlispbuilder-sdlインストール方法について説明します。 lispbuilder-sdlのダウンロード まずは、lispbuilder-sdlの公式サイト(http://code.google.com/p/lispbuilder/)から、バイナリをDLします。 このリスト(http://code.goo…

lispbuilder-sdlとは?

ゲームを作るためには、マルチメディアの機能が必要となります。 マルチメディアの機能の例としては ウィンドウの表示 画像の読み込みと表示 音楽データの読み込みと再生 ゲーミングデバイス(ジョイパッドとか)の入力 などがあります。これらのマルチメディ…

WindowsでのSBCLとCLISPのインストール

SBCLとCLISPは公式のサイトにインストーラが置いてあります SBCL(http://www.sbcl.org/) CLISP(http://www.gnu.org/software/clisp/) インストーラを実行すると、適当な場所にインストールしてくれます。インストールが完了したら、コマンドプロンプトを起動…

lispbuilder-sdlのインストール(CLISP編)

続いてCLISPの場合について説明します。 CLISPではSBCLと違って若干手間がかかります。 ASDFのインストール CLISPではSBCLで標準添付のASDFというシステムが利用できないのでインストールします。ASDFはCommon Lispではデファクトスタンダートといって良いラ…

Lisp開発環境の構築

ゲームといえばWindowsな世の中ですのでWindowsを前提にして、Lispのゲーム開発環境の構築方法についてまとめます。 完成した環境は以下のようなものになります。 SBCL or CLISP lispbuilder-sdl quicklisp + 便利なライブラリ群 Emacs + SLIME

Common Lispゲーム開発環境構築その2

昨日の記事が中途半端なので今日の記事に一緒にまとめていまいます。

Common Lispゲーム開発環境構築(Lisp実装の選定)

Lispの実装(インタプリタ/コンパイラ)には複数の実装が存在しています。ゲームの開発には以下の2種類がお薦めです。 SBCL CLISP SBCLはユーザのシェアが大きい処理系です。特徴としては速度が早いのが特徴です。 CLISPはユーザのシェアがそこそこ大きく移植…

Common Lispゲーム開発環境構築その1

とりあえず正月が終わりましたね。今年は情報整理の意味も兼ねてゲーム開発環境としてのLispのノウハウをまとめておこうと思います。 今回はその第一回目です。とりあえず、今回はLisp自体の環境の整備について説明しようかと思います。

新年あけましておめでとうございます

新年あけましておめでとうございます。コミケに向けた準備でずーっと死んでたんですが、ようやっと体力 & 気力が回復してきたところです。 コミケ当日は、参加者の皆様おつかれさまでした。スペースまで来ていただいた方々ありがとうございました。今回の修…