プログラミング

その1

VoIP技術が確立されたのはもう10年も前の話で、現在は音声チャット、動画チャットが当たり前の時代になっています。(自分は使ってないのですが^^;) そんな当たり前のソフトウェアなのにまだ作った事がない! という訳で今日から音声チャットを作成して…

実は、就活中。

ゲームなどを作った場合、セーブデータをバイナリでシリアライズすると思うんですが、 キー設定等はXMLで読み書きした方が何かと便利です(ユーザーが自分でも触れますし)。 今までのゲームでは実装毎に適当なパーサ書いていたのですが、今回XMLに統一する…

ぷるぷるシミュレーター

昨日あるものを見て、気になったので作ってみました。 たぶん他の方のとは違う計算方法です。 波紋シミュレーションとか参考にしようかと思ったのですが、時間がないので思いついたアルゴリズムをそのまま入れてみました。 用意するものは、元となる画像と揺…

DirectX9 SDKを VC6/Win2000 に導入する

・DirectX9 SDK (October 2004) http://www.microsoft.com/downloads/details.aspx?FamilyId=B7BC31FA-2DF1-44FD-95A4-C2555446AED4&DisplayLang=en・VC6パッチ http://www.microsoft.com/downloads/details.aspx?FamilyId=D6F237DE-A6EE-4DED-8BB6-13953616…

テキスト編集コンポーネントを検索したら結構存在してました^^; その中のGreenPadはソースコードも公開されております。(個人的にとても美しいと思う ソースコードです) 他にもViViで有名な津田さんが書かれたテキストエディタ実装の技術文書も発見しま…

EC2 - 拡張エディットコントロール 「EC2」はWindows標準のエディットコントロールを参考に色々機能を追加したテキスト編集コンポーネントです。 基本的な機能も実装しているので、そのまま標準のエディットコントロールに置き換えて使用できます。 キーワー…

前回の続き という事でどうしようか考えた所、自分で作ろうかという結論に。 エディットコントロールだって元はといえばMSのプログラマがWinAPIを使って書いてるわけです。 きっとやってできないことはない!(・ω・*) エディットコントロールを作る! まずキ…

事の発端 Advエンジンの専用エディタを書いていた所、キーワード色分け機能が欲しくなりました。 オートインデントなどはエディットコントロールにフックかませば問題ないのですが、オーナードローとかも使えない為、フックプロシージャだけでは描画関係がど…

スクリプトの仕様

最近、他のADV系スクリプトエンジンを見てまわっていたりします。 既存で同じものがあるなら、公開する意味もないですし… その中で有名な吉里吉里のW.Deeさんの日記を読みました。http://kikyou.info/diary/?200809#i28 主な内容としては、吉里吉里の設計思…

フラクション演算

今回は新しく追加してみたフラクション演算についてです。 サンプルとして、BMSを使った音ゲーを書いてたのですが、 時間単位から描画単位に変換する式で乗算除算がでてきます。 例えば小節単位で変換すると 描画位置 = 描画範囲 * (時間位置 / 時間範囲)整…

その14

Advシステムは簡易スクリプト形式で文法を記述していくのですが、 プログラム用言語、プログラム用スクリプトと違って単純明快でなければなりません。 プログラミングをしたことがない人でもすぐ覚えられ、且つ開発効率が良いこと、さらにメンテナンス性が求…

その0

弾管理 どういう構造で管理するかの話です。 思い出すと初めて作ったときはテーブルでやってました。 しかしそれだと衝突判定の度に全てごりごりかき回さないとだめでした。 そしてfast_listなのですが、これも途中が抜ける場合には適しません。 一番望まし…

その13

アップデート時のセーブデータの整合 http://d.hatena.ne.jp/nepo_n/20051030 一つは、ラベル名と読み取り位置をもち、スクリプトのバージョンが変われば 読み取り位置ではなくそのラベルから開始する、というものです。 これは処理が簡単で、ラベルごとの画…

その12

その11

返り値 これは引数に関数を指定できるようにする為のものです。 スクリプトがややこしくなるのでしなかったんですが、 いろいろ追加してくうちに結果を変数で受け取って、ifで分岐して、とか 余計にややこしくなってしまったので実装することにします(*´∀`)>…

その3

現在対戦モードしかないんですが、ストーリーモードを追加しようと思ってます。 いろんなAIを用意するのですが、小さな動きの組み合わせでどんなものが出来上がるかが すごく楽しみです。 …グラフィックをいっぱい用意しないと。・゚・(ノД`)・゚・。

日記CGIの話

公開用CGIの投稿ルーチンを潰したらぴたっと止まりました。 ロボットによる自動投稿だと思うのでパラメータ名(formタグ内の)を変えるだけでも大丈夫かと思います。 …ってブログ(ry。・゚・(ノД`)・゚・。

続 日記CGIを作る話

前回の話のような感じのをそのまま置いてたんですが、広告ロボットに襲撃されました(;´ω`) 作成用cgiが狙われたのかなと思ったのでいろいろ仕掛けしたんですがスルー。 たぶん読み込み用の方の投稿ルーチンが使われたんだと思います。 ごにょごにょして様子…

その2

・連鎖が止まらなくなる病 変数の未初期化が原因でした。 でもまだ治ってません。 うーん、他にも変なとこがありそうです。 ぷよが消えないから連鎖は続くんだということで、その辺のコードを見ました。

その1

なかなかとれなかった不具合のお話です。 現象は、連鎖が止まらない、です。 永久にお邪魔ぷよが増殖してくわけです。 タイミングはランダムです。 始まった瞬間もあれば、連鎖した瞬間止まらなくなったりします。 (つづく)

アーカイバ

書庫ファイルを操作するユーティリティを用意するにあたって、気を付けるべき点を考えてみました。 ・不正なサイズの防止 →あまりにも大きいサイズの場合に確認ダイアログをだすとか…うーん。 ・展開時に「../」の駆け上がりパスを禁止 →スタートアップなど…

その1

電車・バス・教習所での待ち時間、iアプリのゲームで遊んでます。 動的なゲーム(シューティング、アクションなど)はまだ辛そうなので パズル的なものとかトランプ系とか単純なゲームをします。 いつも同じだと飽きるので、AIとかシステムとか変えたいです…

その10

ループ構文 part2 しくしく…。

MIDI再生

現行バージョンではサポートを切ってたんですが個人的な用途で追加することにしました。 DirectShowにお願い midiOut系API MCIにお願い DirectShowは既にあるのでまずMCIコマンドを使ってみました。 といっても::mciSendCommand()を使うだけなのですが。 MID…

ネットワーク処理にはWindowsなのでWinsock2を使います。 ・非ブロッキング・シングルスレッド DWORD dw = 1; // 非ブロックモードに ::ioctlsocket(Soc, FIONBIO, &dw); // Nagleアルゴリズムを使用しない ::setsockopt(Soc, IPPROTO_TCP, TCP_NODELAY, (ch…

とりあえず、サーバとクライアントは別になります。 // サーバ側 1P = new ServerSend(); 2P = new ClientRecv();// クライアント側 1P = new ClientSend(); 2P = new ServerRecv(); サーバ側はクライアントからの入力を受け付け、コリジョン判定などの後に…

前にぷよぷよの話で input = new AI(); input = new Player(); とかしました。 input = new Network(); 次はネットワーク対戦をしようという目論見です。 ネットワークなのでいろいろ問題が起こります。途中で切断されたり、回線が詰まったり。 帯域、タイム…

コードを短くすること

「コードを短くするのって楽しいですよね?」でコメントを含めて計算しました。 コメントを含めて「ソースコード」だと思うんです。*1 自分が過去に書いたのを見ると、コメントが大量にあります。 「三日前のコードは他人のコード、とにかくコメントを書く」…

Re:

http://d.hatena.ne.jp/yaneurao/20051125 : コードを短くするのって楽しいですよね?(1) やねう企画入社試験のときは解答発表の前日とか出遅れましたが、今回は大丈夫(ですよね?^^;) うーん、1046byteになりました。 200byteを切ろうという方も居るよ…

その9

・マルチスレッディング part3 後で更新