danmaq
GAMES, ILLUSTRATIONS and MUSICS
SINCE 1999.MAY

User session

ゲストさん | ログオン

Tag Search

登録タグ一覧

Contents

  • Diary
    • 技術メモ
      • C/C++
      • HTML
    • 更新情報
    • 仕事
    • 単車
    • 学校生活
    • Review
    • 鉄道
  • Profile
    • Website
      • Policy
      • History
    • Manager
      • PC
      • DTM
      • Vehicle
        • YB-1
  • Products
    • Novels
    • Illustration
    • Miscs
    • WebApps
    • Musics
      • BMS
    • Games
      • 弾幕風
      • Windows
      • BASIC(OLD)
      • Java
  • Purchase
  • Works
    • Events
  • Feedback

Page

| 1/48ページ目(全471件:10件/ページ) | 次のページへ>

[2012/5/12]例大祭情報 [詳細]

頒布場所は東3ホール L-48b「danmaq」です。頒布物は以下の通りとなります。

  • (NEW/PCゲーム/プレス)結界幻想録 鏡 最終体験版 \0
  • (PCゲーム/プレス)東方夢終劇 5周年デラックスパック(夢終劇+時封城+おまけ) \1,000
  • (音楽CD/プレス)Leila Prismriver \300
  • (音楽CD/CD-R)danmaq soundtrack \100

自作CMSやっぱ断念

1年間ガラパゴスな自作ブログシステム使ってやってみたけど、やっぱWordPressに移行しよう、そうしよう

今から勉強するんで来月以降になりそうな感じ

[2012/4/1]夢終劇頒布開始します。 [詳細]

160160!/thC/tinami.jpg弾幕風版だけでもプレイしたいとのご意見がいくつかありましたので、(2012.4.4追記)夢終劇の頒布を始めました。ただし、ショップ委託についてはもう少し.NET版のバグ改善パッチを出してからとしたいのでご理解の程宜しくお願いします

例大祭当選しました

東3ホール L-48b "danmaq"です。出し物は夢終劇と、もう一つ制作中のSTGの体験版の予定です。

YASIMCITY2012とは

エイプリルフール終わったので、見たい方はこっち

[2012/1/30][再募集]夢終劇(.NET版)のプログラマ募集します [詳細]

夢終劇.NETですが、バグだらけの状態でリリースしてしまったことをお詫び申し上げます。必ずアップデートをリリースいたしますので、それまでは同梱の弾幕風版をお楽しみいただけると幸いです。

ついては1日でも早くアップデートを提供できるよう、急遽プログラマを1名募集いたします。前回募集で1名も集まらなかったため、再募集いたします。

  • 募集締切:2012/2/13 (月)(〆切りました。今回は数名の方のご応募がありました。誠にありがとうございます)
  • 募集人員:1名
  • 担当箇所:雑魚実装・ステージ配置(C#。希望次第では別の箇所も追加でご担当戴けます)
  • 想定工期:4か月(現状把握・学習に0.5か月、実装に3.5か月。プログラムの熟練度にもよりますが、実際にはもう少し短期で仕上がると思います)
  • 報酬:10万円 + 夢終劇DXプレス版1~10枚(最大10枚までのご希望枚数) + プロジェクト一式(二次利用は若干制限事項があります。詳細はお問い合わせください)
  • その他:スペック確認のため、募集〆切前に若干質問をすることがありますが、ご回答にご協力お願いします。

必須スペック

  • 夢終劇.NET体験版が正常に起動・動作可能な環境を持っていること。
  • プログラム基礎(変数関数、クラス、条件分岐くらいまで)は最低限理解していること。
  • C++、Java(J#含む)、C#、PHP(4以降)のいずれか1つ、またはそれ以上でちょっとは組める程度のプログラミングスキル。(いずれかが理解できるならC#も理解しやすいかと)
  • 明瞭な意思主張、報告連絡相談ができること。

優遇スペック

  • 下記に関しては必須ではありませんが、応募が多数となった場合、下記スペックをお持ちの方は優遇します。
  • C#およびXNAに精通している。
  • SubversionおよびTracの扱いを心得ている。
  • でかいゲームの中身を知りたい、そうでなくても、もっとプログラミングの勉強をしたい。
  • 東京圏まで3時間以内の日本国内在住。
  • STG、または東方が大好き!

応募方法

e-danmaqのお問い合わせ先E-Mailへ、下記情報を本文に入れて送信してください。

  • 件名:先頭に<夢終劇>を入れてください。
  • 名前、ハンドル名、Webページ(あれば)、上記スペックをどれだけ満たしているか。
  • その他スキル自慢、実績自慢など(捏造誇張はNGですが、俺これだけやったんだぜ、と自己主張できる方は凄い優遇します)

どうか、ご参加のほどよろしくお願いします。

[2012/1/24]魔法少女で学ぶオブジェクト指向(ソウルジェムはGoFの香り) [詳細]

「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説が大変面白かったので、2か月遅れですが風邪でぶっ倒れながら二番煎じをやってみるテスト。多分本家程テンポ良い展開にはならないと思う。あと少し難易度上がります。

この世界には(きっと)魔法少女と魔女がいます。それぞれクラス化してみます。名前は Syojo と Majo で良いでしょう( MahouSyojo とか長くてダレる)。さて、魔法少女は魔女を狩るため、早速その機能をつけましょう。


class Syojo
{
public:
 virtual void hunt(Majo *m);
};

まぁ、雑ですがこんなところでしょうか。実際に魔女を狩るためには、以下のようにメソッドを呼び出せばおkです。


Syojo syojo;
Majo majo;
syojo.hunt(&majo);

ところで、魔法少女と一口に言っても色々なキャラがいて、それぞれ狩り方も異なります。これだけだと狩り方がワンパターンになってしまいます。まるで魔法少女のはずが魔獣のようです。一つの解法として、キャラクタ識別定数を持って、分岐させる手があります。


void Syojo::hunt(Majo *m)
{
 switch(this->id)
 {
  case MADOKA:
   arrow(m);
   break;
  case BLOSSOM:
   oshiri_punch(m);
   break;
  :
  :
 }
}

ただ、このやり方だと、例えば「仲間割れ」とか新しい機能を積むたびにswitch分岐を増やすのもなんかダサいですよね。そこでオブジェクト指向でクラスの次に覚えさせられるアレ、継承が出てきます。


class Sayaka : public Syojo
{
public:
 void hunt(Majo *m); // 滅多斬り
};
class Homuhomu : public Syojo
{
public:
 void hunt(Majo *m); // 完全な世界
};
class Mami : public Syojo
{
public:
 void hunt(Majo *m); // ティロなんとか()
};

これならちゃんと個性を持った行動ができますね。この場合の、狩りをさせるロジックも表記してみましょう。


Sayaka sayaka;
Homuhomu homu;
Mami mami;
Majo majo;
sayaka.hunt(&majo);
homu.hunt(&majo);
mami.hunt(&majo);

ここでちょっと不便なことに気づきます。もしかしたら Homuhomu の代わりに Kyoko がいるかもしれないし、そういう状況のたびにコードを書き換えるのはちょっとダサいですよね。そこで、下記のように解釈を変えてみましょう。

  • 「数人の魔法少女が魔女を狩っている。誰が誰だかはよく判らない」

これならクラスの多態性を生かして、このように記述することが可能です。


Syojo *sisters[] = { &sayaka, &homu, &mami };
for(int i = sizeof(sisters) / sizeof(Syojo *); --i >= 0; )
{
 sisters[i]->hunt(&majo);
}

これで狩りをさせる側は「狩りをしろ」と指示するだけで、sisters1号(実体は homu )は時を止めて戦い、sisters2号(実体は mami )は中二病な必殺技で敵を射止めます。

ところで、ここまでは便宜上その場で即席魔法少女オブジェクトを作っていましたが、実際はもっと早い段階で契約して魔法少女を作り、魔力を持たせて、徐々に強い魔女をけしかけて育てています。つまり、魔法少女は戦わせるよりも、死なせる(そして新しい魔法少女を作る)ことのほうがコストがかかるのです。


void Syojo::init(Kyubey *q)
{
 this->keiyaku(q); // 魔法少女の
 this->teatime(); // 初期化は
 this->reajuu();  // 手間がかかる!
}

例えば、某プルプル魔女を狩ることを想定すると、魔法少女が数十人単位で必要になります。しかし、調達できる魔法少女にも限りがあります。仮に調達できた魔法少女を5人とします。この5人だけでは倒すのは困難でしょう。そのため下記のプロセスを繰り返すことになります。

  • 戦う
  • 死骸を破棄する
  • 魔法少女を生成する(生成~契約~育てるetc.)

とても効率が良いとは思えないですよね?実はこれはプログラム側から見ても効率が悪いのです。魔法少女の生成・破棄にはnew・delete、即ちメモリの確保と解放を行うのですが、これは実はとっても重い処理なのです。そこでQBさんは考えました。

「肉体と魂を分離して、肉体は使いまわせばいいじゃないか」

早速QBさんの構想をコードに書き起こしてみましょう。


class Syojo
{
public:
 Syojo(void);
 Soul *soul = NULL; // アクセサとかめんどくせーし
 void hunt(majo *m) { soul->hunt(majo); };
};


class Soul
{
public:
 virtual void hunt(majo *m) = 0;
};

その上で、このように魂を実装すればよいのです。


class Mami : public Soul
{
public:
 static Soul *getInstance()
 {
  static Soul instance;
  return &instance;
 }
 void hunt(majo *m); // ティロなんとか()
private:
 Mami(void) {}
};

魔女と戦わせるには、下記のようにすればおkです。


Syojo syojo
Majo majo;
syojo.soul = Mami::getInstance();
syojo.hunt(&majo);

ただの抜け殻だった魔法少女に魂を入れることでマミさんに変化しました。このノリでMadokaやSayakaなどの魂を作って、入れてあげるとその場で魔法少女の攻撃パターンが変化します。体はマミさんなのに、攻撃パターンを見るとちょっとガサツな槍使い、なんてこともできるようになります。

ただし、魂が入っていないままで魔女をけしかけると、ぬるぽ(C++ではAccessViolationでしょうか)の原因となりますので、空っぽのソウルジェムを常に持たせておかなければなりません。ここは本編とちょっと異なるルールなので注意が必要です。


class EmptySoul : public Soul
{
public:
 static Soul *getInstance()
 {
  static Soul instance;
  return &instance;
 }
 void hunt(majo *m) {} // 何もしない
private:
 EmptySoul(void) {}
};


Syojo::syojo(void)
{
 this->soul = EmptySoul::getInstance();
}

これで、体さえ大量に用意しておけば魂を入れ替え差し替えで魔女を簡単にやっつけることもできるはずです。さらに、死んだ肉体は魂を抜いてストックしておくことでいくらでも使い回しが可能です。これはGoFのデザインパターンのうち、Stateパターンを再現しています。(厳密にはそれに加えFryweightパターンとSingletonパターンの複合技)

Stateパターンのたとえ話としてよくガチャピンが出てきますね。あの青虫はいつ頃からか「ガチャピンチャレンジ」と称して、スノーボードや空手、ロッククライミング、果ては宇宙旅行などと、色々なことをやっています。さて、そんなガチャピンですが、実はチャレンジの種目ごとに着ぐるみの中の人が違う ということをご存知でしょうか?ガチャピン単体では動くことはできず、中に人が入ることでいろんな行動ができます。さらに入る人によっては空手ができたり、また別の人ではロッククライミングができたりなどと、中の人によって同じチャレンジでも出来る種目が違ってきます。この場合ガチャピンの着ぐるみが肉体(Syojo)で、ガチャピンの中の人が状態(Soul)となります。

話がそれたところでまとめ

  • QBは肉体と魂を分離する、即ち実体と状態を分割するStateパターンを再現していた
  • 魔法少女の死体を扱う場合、死体用に空っぽのソウルジェムを付けてあげる必要がある
  • QBマジ合理的
  • ひだまり組を魔法少女化して、ソウルジェムのペアリングをシャッフルして遊びたい
  • ゆのっちに(軽く飲ませてから)罵られたいハァハァ

普段C#・AS3・PHPメインなのでC++の文法自信ないですが、もし間違っていたらTwitterとかで優しく突っ込んであげてください。

[2011/12/19]冬の陣(コミックマーケット81) [詳細]

また暫くの間Web更新してなくてごめんなさい。このまま放っておくとまた1年とか行きそうなので、ここで冬コミの告知を。(出先からの更新なので画像とかないですがごめんなさい)

今回は、12月30日(金:2日目)、東サ-04a「danmaq」にて参加いたします。今回のメインディッシュとして、東方夢終劇の再販を行います。気づけば丁度夢終劇リリース5周年<建前>なので、デラックスパックのようなものを作りました。1枚のディスクに下記のものが全部詰まっています。

  • <NEW!>東方夢終劇 .NET版 (弾幕風版から特別に追加された機能とかは今のところ特にありません。ステージごとのロードが超絶短くなるだけです)
  • 東方夢終劇 弾幕風版v2.01 (過去のリプレイ観賞用<建前>に弾幕風版も同梱しました)
  • 東方時封城 弾幕風版v1.00
  • おまけ:時封城v2(2006夏に出すつもりだったがもにょもにょでお蔵入り)のサントラがwavファイルで入っています

今回も例に倣ってヤケクソな部数作りましたので、大手サークルさんをゆっくり回ってから来ていただけると幸いです。東方夢終劇再販版のショップ委託については、これから考えるので少し遅くなると思います。

出し物まとめ

  • (新刊/ゲーム)夢終劇デラックスパック \1,000(※アップグレード割あり)
  • (新刊?/?)おまけ \0
  • (既刊/音楽CD)Leila Prismriver \300
  • (既刊/音楽CD)danmaq soundtrack \100

※アップグレード割について

200245/!/thC/cap_s.jpgC81にお越しいただいた方限定で、下記のアイテムと交換で特別価格にて頒布いたします。

一部に対し一枚のみ有効です。また、交換用アイテムは回収させていただきます。

  • 時封城(プレス版のみ)のオビ:\1,000→\800
  • 夢終劇v1.00~2.01のオビ:\1,000→\200
  • それ以外orオビなくしちゃったよ!or代わりにジャケ持ってきたよ!:ごめんなさいっ><

注意::夢終劇.NETのシステム要件について

.NET版は弾幕風版と比べて、一部システム要件が異なりますので、ご注意ください。

  • WindowsXP SP3以降が必須です。Windows2000やXP SP2以前は弾幕風版のみ動作します。
  • インターネット常時接続が必須となります。モバイルな方はパケ死要注意!
  • HDDの空き領域が3GB以上必要です(8GB以上推奨)。
  • 一定以上グラボが古くなると、あるスペックを境に突然動作しなくなります。(GeForce4Ti、RADEON8500、i915辺りがボーダーライン)

百聞は一見に如かず!って方は、体験版が動作すればまず大丈夫かと思います。(製品版と同居できませんのでインストール前にアンインストールしてください)

夢終劇.NETのサポートについて

夢終劇サポート ページを設けますので、そちらでお願いします。(現在工事中の為、超簡易版です)

[2011/8/13]夏の陣 [詳細]

240 243 /!/thC/TrialJacket_s.jpg クリックすると拡大します。

告知が当日になってしまい申し訳ございません。C80参加しますので詳細を。今回のメインはC81頒布予定のゲームの体験版と委託ゲーム作品です。

コミックマーケット80 8/13(土) 東ネ-37b 「danmaq」

新刊

  • <PCゲーム/100yen>「結界幻想録 鏡 体験版A2+東方夢終劇v3.0 プレ アルファ版」高音質BGM&サプライズ入りパック
  • <PCゲーム/100yen>「今泉ゲーム専門学校」 (今泉の設立団体 様より委託)

既刊

  • <PCゲーム/400yen>「東方時封城 ~ the Alternative Age」
  • <音楽CD/300yen>「Leila Prismriver」
  • <音楽CD/100yen>「danmaq soundtrack」

[2011/7/28]夢終劇プレ アルファ版をご利用の方へ [詳細]

東方夢終劇プレ アルファ版をご利用の方で、バージョン(タイトル画面右上端に出ます)が3.0.0.48以前の方は、大変お手数おかけいたしますが、一旦アンインストールの上、こちらから最新版をダウンロードいただき、最新版のsetup.exeを実行して最新版に更新してください。

3.0.0.48以前は当方の実装ミスにつき、環境によってはオンライン自動アップデートが動作しない場合があります。

今日は告知のみの更新となります。

[2011/7/13]記事のサルベージ率 [詳細]

移行(ほぼ)完了しました。長かった……。想像以上に時間とられた。

残りは暇があった時にサルベージします。

そのうち実装したい機能

  • RSS
  • ガジェット追加/管理
  • アクセス解析
  • クイックジャンプ
  • コメント機能

BUGS

  • IE5.5だと動かない。IE6も挙動怪しい
  • DBのレコードが必要以上に増えてサイズを圧迫してしまう

[2011/6/23]ねんがんの CMSシステムを つくったぞ! [詳細]

と言うわけで、一時閉鎖してから1か月余りたちましたが、ようやくブログいっこできました。まだ一部挙動がおかしい箇所や不便な個所がありますが……

まだ記事も半分程度しかサルベージできていないので、その辺も今週いっぱいには復活予定です。

[2011/6/1]NUE - XSLで自由度の高いスキンが可能なブログ/CMSシステム [詳細]

Network Utterance Environment

オープンソースのブログ/CMSシステムです。danmaq Webページも従来のテキストエディタによる手書きブログから2011/6/23より全面的にこのシステム上に移行しました。

特徴

  • XSLTを用いた非常に自由度の高いカスタム性のスキンが使用できます。
  • ニコニコ動画風のタグシステムを実装。さらにタグを階層化することで、タグをそのまま「目次」代わりに利用できます。
  • 疑似HTMLを使ったタグを記事中に埋め込むことで、記事の構成や見栄えをカスタマイズできます。

ダウンロード

  • SOURCEFORGE.JPからダウンロードできます
  • SVNリポジトリ(readonly)
  • README
  • 更新履歴(Nightly build)

Page

| 1/48ページ目(全471件:10件/ページ) | 次のページへ>


Network Utterance Environment version 0.6.87
©2011 danmaq All rights reserved.