アーカイブ

‘ver3.00β4’ タグのついている投稿

開発記録 2009/03/15

開発記録

  • 荒巻オンライン ver3.00β4  リリース!
  • ギコぽいでver3.00β4のテストをしました。
  • ネットワーク周りのバグがまだ直っていなかったことが判明
  • スクリーンショット取り損ねた
  • いつも応援してくれてありがとう >名無しさん
  • AS4.1ではsocketのlistenがサポートされるらしい。やったね!
    だ ま さ れ た 詳しくは上のリンクのコメント欄参照

TODO

  • バグの修正
  • マップの追加
  • 作りかけの機能(音声/映像受信機能、イベント機能)の実装

ロードマップ

  1. ver3.00β5リリース
  2. ver3.00RC1リリース
  3. 問題がなければver3.00リリース

開発記録 2009/03/14

開発記録

  • 当たり判定処理ほぼ完成

スクリーンショット

aramaki_2009_03_14

カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/03/13

開発記録

  • このままだとベータテストまでに間に合いそうにないので 、3Dライブラリを変更する前のリビジョンに戻した
  • ネットワーク周りのバグを修正?
    TODO:あとで再確認
  • Papervision3Dを最新版にした
  • 当たり判定処理を作成中

開発記録 2009/03/12

開発記録

  • 本体のAramaki3Dへの対応が完了。ところが・・・

スクリーンショット

aramaki_2009_03_13

  • なんつーカオスだ
カテゴリー: Aramaki3D タグ: ,

開発記録 2009/03/11

開発記録

  • プラグイン完成
  • 本体を改造中
カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/03/10

開発記録

  • 15日までに完成するか怪しくなってきた
  • Metasequoiaから荒巻オンラインのマップをエキスポートするプラグインを作成中
  • またイベント情報が消えてた。どうなってんだコレ

開発記録 2009/02/26

開発記録

  • 3DライブラリをPapervision3DからAlternativa3Dに変更中
    FlashPlayer10対応なので高速な上に、3Dゲーム用のライブラリなだけあって
    当たり判定などの機能がついている

    これは乗り換えざるを得ない

カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/02/25

開発記録

  • マップとの当たり判定を作成中
  • こんな感じ

    package jp.sourceforge.aramaki.objects.maps {
    import __AS3__.vec.Vector;

    import jp.sourceforge.aramaki.objects.maps.CollisionResult;

    import org.papervision3d.core.geom.renderables.Triangle3D;
    import org.papervision3d.core.math.Number3D;
    import org.papervision3d.objects.DisplayObject3D;

    public class CollisionInfo {
    /**
    * 面配列
    */
    private var faces:Vector.<face>=new Vector.<face>;

    /**
    * CollisionResult
    *
    * 当たり判定を取るたびに作ると遅いので、あらかじめ作っておいて使いまわす
    */
    private var collisionResult:CollisionResult=new CollisionResult;

    /**
    * どう見てもコンストラクタ
    *
    * DisplayObject3Dから当たり判定情報を生成
    *
    * @param obj DisplayObject3D
    */
    public function CollisionInfo(obj:DisplayObject3D) {
    generateCollisionInfo(obj);
    }

    /**
    * DisplayObject3Dから当たり判定情報を生成
    *
    * @param obj DisplayObject3D
    */
    private function generateCollisionInfo(obj:DisplayObject3D):void {
    for each(var face:Triangle3D in obj.geometry.faces) {
    faces.push(new Face(face.v0.toNumber3D(),face.v1.toNumber3D(),face.v2.toNumber3D(),face.faceNormal));
    }

    //子オブジェクトも処理
    for each(var child:DisplayObject3D in obj.children) {
    generateCollisionInfo(child);
    }
    }

    /**
    * 当たり判定情報と線分で当たり判定を取る
    *
    * @param lineStart 線分の始点
    * @param lineEnd 線分の終点
    * @return 当たっていたらCollisionResult、当たっていなかったらnullを返す
    */
    private function collide(lineStart:Number3D,lineEnd:Number3D):CollisionResult {
    for each(var face:Face in faces) {
    var crossPoint:Number3D=face.collide(lineStart,lineEnd);

    if (crossPoint) {
    collisionResult.internal::crossPoint=crossPoint;
    collisionResult.internal::hitFace=face;

    return collisionResult;
    }
    }

    return null;
    }
    }
    }

    package jp.sourceforge.aramaki.objects.maps {
    import org.papervision3d.core.math.Number3D;

    public class Face {
    /**
    * 頂点
    */
    private var v0:Number3D;
    /**
    * 頂点
    */
    private var v1:Number3D;
    /**
    * 頂点
    */
    private var v2:Number3D;
    /**
    * 面法線
    */
    private var normal:Number3D;

    /**
    * コンスト☆ラクタ
    *
    * @param v0 頂点
    * @param v1 頂点
    * @param v2 頂点
    * @param normal 面法線
    */
    public function Face(v0:Number3D,v1:Number3D,v2:Number3D,normal:Number3D) {
    this.v0=v0;
    this.v1=v1;
    this.v2=v2;
    this.normal=normal;
    }

    /**
    * 面と線分で当たり判定を取る
    *
    * @param lineStart 線分の始点
    * @param lineEnd 線分の終点
    * @return 当たっていたら交点、当たっていなかったらnullを返す
    */
    public function collide(lineStart:Number3D,lineEnd:Number3D):Number3D {
    //TODO
    return null;
    }
    }
    }

    package jp.sourceforge.aramaki.objects.maps {
    import jp.sourceforge.aramaki.objects.maps.Face;

    import org.papervision3d.core.math.Number3D;

    public class CollisionResult {
    /**
    * @private
    */
    private var _hitFace:Face;
    /**
    * @private
    */
    private var _crossPoint:Number3D;

    /**
    * 当たった面
    */
    public function get hitFace():Face {
    return _hitFace;
    }

    /**
    * @private
    */
    internal function set hitFace(value:Face):void {
    _hitFace=value;
    }

    /**
    * 交点
    */
    public function get crossPoint():Number3D {
    return _crossPoint;
    }

    /**
    * @private
    */
    internal function set crossPoint(value:Number3D):void {
    _crossPoint=value;
    }
    }
    }

開発記録 2009/02/24

開発記録

スクリーンショット

aramaki_2009_02_24

カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/02/23

開発記録

  • マップ表示
  • Papervision3Dを最新版に変更
    最新版にあわせてコードを書き換え

Papervision3Dパッチメモ

org.papervision3d.objects.parsers.DAEの

material = new ColorMaterial(buildColor(lambert.diffuse.color));

material = new ColorMaterial(buildColor(lambert.diffuse.color),lambert.diffuse.color[3]);

に変更

スクリーンショット

aramaki_2009_02_23

開発記録 2009/02/22

開発記録

  • マップの表示、当たり判定をC++版から移植中
カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/02/21

開発記録

スクリーンショット

aramaki_2009_02_21
シュールw

追記: IEだと表示が崩れるのでテーマを変更しました。

カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/02/20

開発記録

  • ネットワーク周りの構造変更完了
  • だがバグだらけ
カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/02/19

開発記録

  • Peerクラスほぼ完成

(記事のタイトルをクリックでPeerクラスを表示)
続きを読む…

開発記録 2009/02/18

開発記録

  • ネットワーク周りの構造を変更中
  • Flex SDKを3.3へアップデート

↓記事のタイトルをクリックするとNetwork.as,Peer.asを表示
続きを読む…

開発記録 2009/02/17

開発記録

カテゴリー: 荒巻オンライン3 タグ: ,

荒巻オンラインver.3.00β4 βテストについて

test21

3月15日 22:00にBARギコっぽいONLINE 一般の開発局、ジュニアの秘密のバーでβテストを行います。
質問などはコメント欄へ

追記
一般のイベント情報消された

event

さらに追記
再登録しました。

event1

開発記録 2009/02/16

開発記録

  • ネットワーク周りを大幅に仕様変更 (途中)

TODO

  • ASDocでドキュメントを作る

構造

aramaki_tree

カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/02/15

開発記録

  • クラスをパッケージに分けた。
  • 本体をピア管理サーバーに対応中
    ついでにリファクタリング

2009/02/16 訂正 ピア管理スクリプト→ピア管理サーバー

カテゴリー: 荒巻オンライン3 タグ: ,

開発記録 2009/02/14

開発記録

  • サーバー側のプログラムを作成
    appStartが複数回呼ばれることに気づかずはまった
  • あどみにたんの鯖が死亡寸前