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

ゲームプログラマになる前に覚えておきたい技術

ADVエンジンはだいぶほっぽらかしです。 何となく縦シュー作ってみたりiアプリ用ライブラリ構築してみたりいろいろしています。 昨日本を買いました。 「ゲームプログラマになる前に覚えておきたい技術」 http://d.hatena.ne.jp/akkera102/20081117/p1 プロ…

ギャルゲーってなんでギャルゲーなん?ギャルじゃないじゃん。

でもだいたい絵に描いたような美少女じゃん。美少女ゲームじゃん。 渋谷を舞台にしたらギャルゲーでも良いと思うんだ。 だから428はギャルゲー。 ギャルゲー買うためにwii買わないと。

簡単な文法って難しい

ある程度固まってきたエンジンの文法について友人に意見を聞いた。 俺「どう? XMLならHTMLっぽいし誰でも覚えられそうじゃない?」 友「ない」 だそうです。 どうしたもんか。

ロゴ〜タイトル画面〜ゲーム開始 の流れを作ってみた

ボタンが押されるまで次の処理を呼ばない用にすればいいのだから選択肢と同じ感覚でいいんだよなーと思いながら作った。 一応それっぽくなった。 FlashのノベルエンジンはLemoNovelが頭一つ抜けている格好だけど、他にもそれっぽいことしている人が何人かい…

バックログの実装

マウスホイールを上に回すとバックログします。 ホイールの憑いていないマウスは後でボタンを作って対応しようかと。 ひとまず最低限の機能が揃ったので(セーブも音もタイトル画面すらないですが) ADVエンジンを作るにあたって一本ゲームを作ってみようか…

TIPSを実装 シナリオデータなどを外部に変更

シナリオデータなどを外部読み込みにしました。 中身が気になっている人がいるかどうかは分かりませんが以下に置いてあります。 初期設定ファイル http://www3.ocn.ne.jp/~lime/fla/xml/ini.xml シナリオファイル http://www3.ocn.ne.jp/~lime/fla/xml/Scena…

ADVツール作成 画像の表示、移動などを実装

『明日の君と逢うために』をちょいちょいやってます。 話の内容は良く覚えてないけど、とにかく絵がぐりぐり動くのが気持ちよくてそれだけで楽しい。 ということは話を作る技術がなくても動かしまくれるADVツールなら自分でも面白おかしいADVが作れるかも? …

きーみーだーけーをー きみーだーけをー

言ってみたかっただけ。 クラナドみたいなの作りたかったんだよな。 なのになんでプログラマやってんだろ。

明日の君と逢うために

ノベルエンジンを作るにあたって、システムの凝ってるエロゲはないかと友人に尋ねたところこれを上げてくれました。 実際やってみると確かに凝ってますね。 ズームしたり立ち絵が歩いたり背景がアニメーションしてたり。 自分が最近のエロゲをやってないだけ…

F50fd

先週カメラを買いました。 機種はFujitsu FinePix F50fd 名機と呼ばれたらしいF31fdと最近売れてるらしいF100fdの間の子で評価も良かったり悪かったりいろいろな機種です。 カメラについてはまったくの初心者なので、とりあえず携帯のカメラより綺麗になれば…

XMLまとめ

XMLの構成 XMLは要素(Element)と属性(Attribute)で構成される。 要素値の呼ばれ方はコンテンツとかプロパティとかあるけど、ここでは以下の呼び名で統一する。 要素値を持つもの <要素名 属性名="属性値">要素値</要素名> <ElementName AttributeName="AttributeValue">ElementValue</ElementName> 要素値を持たないもの <要素名 …

ノベルエンジンに変数宣言とか計算とか

そういえばADVといえばフラグを立てなければいけないのだった。 ので変数くらいは必須かなと思う。 実際吉里吉里もNScripterもLemoNovelも変数くらい宣言できてる。 とりあえずこんな実装にしてみた <Expression>hoge = 10 + 5</Expression> 変数hogeに対して10+5の結果を渡す。 hoge…

シナリオデータをXMLにしてみた。

ちょっと更新。 使ってる背景はむきりょくかん。さんの素材 http://mukiryokukan.sakura.ne.jp/ 立ち絵はwikipediaのウィキペたん頁から拝借。 都合良く透過pngだったのでお借りしていますが問題あれば直します。 カンマテキストで適当に入力していたシナリ…

基本だけ

とりあえずメッセージを表示できるだけやってみた。 中はゴリゴリ書いてるけどめちゃくちゃ重いってほどでもないね。

AS3でノベルエンジン作ろうぜ

理由は二つ。 1.割と暇してるので 2.遊ぶ金がないから そんな気になってきた。 探してみるとFlashでノベルゲーム作ってる人は割といるし、既にエンジンもあるんですね。 ・LemoNovel AS2のノベルエンジン http://www.le-mo.jp/lemo/products/LemoNovel/・THE…

FlashDevelopのASファイルテンプレートを変える

FlashDevelopで新規クラスを作成するとこんなコードになる。 package foo.bar { /** * ... * @author DefaultUser (Tools -> Custom Arguments...) */ public class Hoge { public function Hoge() { } } }個人的に public class hoge{派なので毎回これを直…

ARMは未だ来ない

なので今月は他部署がやってたFlashの仕事をしこしこやってた。 既に時間がない状態だと聞いていたから大変なのかと思ったら結構時間にゆとりがあってあれこれ遊べた。 これから結構こういう仕事がアルっぽいのでiアプリで作ったライブラリを移植してみよう…

ARMが来ない来ない来ない

シコシコBREWing どうなってるのかは未だ良く分かりませんがARMコンパイラはまだきません。 締切も伸びたとだけ伝わっていて、具体的にどうなってるのかはわかりません。 とりあえずシミュレータ上で動けばいい的な流れだけど 「さぁ! シミュレータ上で動い…

X3360でエンコ

X3360(Q9550同等)を買ったのでエンコしてみた。 Pentium4 2.4Cだった頃は毎日毎日エンコしてたけどここ数年は離れていたのでどの程度パワーアップしたのか気になっていた。 環境は CPU:X3360(2.83GHz) MEM:DDR800 2GBx2 M/B:P5K PRO HDD:7200回転のやつ 使用…

また一人辞めて行った

消去

アプリを移植してて気がついたこと

アプリを移植してて気がついたこと 他言語の予約語は使わない javaでクラス内を空っぽにする関数にdeleteという名前の関数を使用していたけど、 当然Cに移植する際にぶつかってしまい書き換える必要が出る。 他の言語で予約されている文字列は可能な限り避け…

char*型を関数に渡して文字列を代入する

char*型を普通に渡しても配列を渡すように受け渡し元のデータは変わらない。 //関数側で配列内のデータを書き換える void func1(int num[]){ num[0] = 7; } //関数側で文字列を書き換えたい? void func2(char* c){ c = "new name"; } int main(void){ int n…

C3203 テンプレートクラスのテンプレート型にテンプレートクラスを指定する

//二つのテンプレートクラス Foo Barがある。 template<T> class Foo{} template<T> class Bar{} //Fooのテンプレート型を、『intをテンプレート型にしたBarクラス』にしたい int main(const int arg){ Foo<Bar<int>> hoge; //error C2947 Foo<Bar<int> > hoge;//OK return 0; } なん</bar<int></bar<int></t></t>…

C2091関数は関数を返せません

void func()(//←なんだよこの()は int a, int b, int c, int d, int e){//error C2091関数は関数を返せません } 何言ってるのかさっぱり分からず数時間悩みましたが、 明らかに()()になってるのがおかしいだけでした。 こんなアホな所でどん詰まる人もそうい…

引数なしのコンストラクタを持たないクラスをローカルで宣言する

いつも忘れる //このクラスには引数無しのコンストラクタがない class Hoge{ public: Hoge(int foo){} } int main(const int arg){ Hoge a; //エラー Hoge b(0); //OK return 0; }

C++で配列長を求めたいのに

うわ、やられた。 配列長求められねぇ。 array.lengthができればどんなに快適か。 //テスト用のどうでもいいクラス //変数二つ用意しているのはクラスのサイズが4byteだと //アドレスのサイズと見分けがつかないので class Hoge{ int a; int b; }; //スタッ…

BrewSDKで外部テキストを一行ずつ読み込みたい

読み込むテキストファイル t abc ddd ←最終行を作る(改行を入れる) ソース //ファイルを読み込む BrewFileInputStream fis = BrewFileInputStream::Open("test.txt"); //メモリの確保 char* c = new char[fis.GetSize()]; //読み込む fis.Read(c,fis.GetSi…

もしかしてBREWってコンストラクタない?

Brewはnew/deleteがないのでオーバーライドして中にmalloc/freeを書くようだけど、 それじゃコンストラクタ通らないん? という嫌な予感がしたので class Hoge{ public: Hoge(){Debug::trace("HOGEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!!!");} }; mainl…

new と delete と malloc と free と スタック と ヒープ

new delete と malloc free メモリ確保解放の方法new deleteとmalloc freeの差 new delete C++から実装 newで確保するとコンストラクタが、deleteで開放するとデストラクタが呼ばれる。 malloc free Cで実装。C++でも使える mallocしてもコンストラクタは呼…

関数内に宣言した変数とポインタとnewとmallocとコンストラクタとデストラクタについて

Javaの参照型はnewした時にその実体が生成されるわけだけど、C++はどうなってるのかテストしてみた。 テストは以下の4パターンで、main関数内に明示的なブロックを作ってその中に宣言しているので、スタックに確保されるものはブロックの終了で寿命が終わる…