zillionプロジェクト開発ブログ 忍者ブログ

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今日は、苦手教科の英語が待っているので早めに行って勉強します。

昨夜のブログでXNAを使うという話ですが、visual studio 2008にしかXNAは対応してないようですね。
visual studio 2010を使っているのに、2008も併用するのはなんか面倒です。

どうしようかなぁ~って感じです。

それと、やっぱり今使っている、.NET FrameworkのGDIではやっぱり遅い気がするのでそれでできる限りXNAに入れ替えれば、少しは画面のちらつきは少なくなると思うのですが・・・


拍手[1回]

PR

MMORPGプラグインはようやくゲームにも耐えうるような描画ライブラリ使わなければなりません
DirectXを直接使うか・・・
ManagedDirectXは、もう開発中止なんでしょ?
じゃあ、SlimDX?
さっき初めて聞いたぜ。
どうしようかな?
でも、まぁ3Dにする気がなければ、別に.NET Framework自体で・・・・
無理だな。

というわけでXNA
どうせなら、XBoxにも出力できるようにしようぜと思った。
とりあえず実験してみてだめなら、別の方法かんがえよう

拍手[0回]

エディタ自体の機能は完成しつつあります。
あとは、それに付属させるMMOプラグインの制作、ランタイムの制作です。
当初の予定としては、ランタイムはエディタのデフォルトのものが使える。
そのつもりでしたが、今後もっと普及した場合(とらぬ狸の皮算用ですが・・)
プラグインの開発を外部の人も挑戦してみるのではないかと思い、そうした場合、ランタイムにも柔軟性が必要です。
なので、この前もインターフェースを公開しました。
とはいえ、こちらがエディタを公開するまではプラグイン開発者なんて出るはずがないんですけどね。
また、Apoptosis時代と違って、プログラマーの募集のスタイルが大幅に変わりました。
以前はどんどん募集でしたが、その結果、まとまりのない団体になってしまったので、力のありそうな人でこういうのが好きそうな同年代の人を中心に引き抜きにしました。
その結果、とても信用できそうな人が2人できました。
まだ、頼んだままの方も数人います。

内部インターフェースが完成したら内部も動的dll化するので、そうなればそれぞれが別々に作業ができるので大幅に作業スピードが上がるはずです。
そもそも、Apoptosis時代の失敗はなんだったのか

1,なぜか無意味にもActionScriptを使用しようと考えたこと
2,プログラムのファイルを分割して作業しにくいこと
3,気力、やる気

1,2はC#で解決。それと、3については僕がプログラムに触れた時からこんなエディタが作りたい。
そう思ってたものなので、それは大丈夫です。

あ、そうそうApoptosis時代に募集した素材。
使わなくてすいません。
でも、OEでユーザーが使えるデフォルトの素材にします。
でも、シュミレーションゲーム用の素材がMMORPGに合うかどうか?と言われたら僕は自信を持って答えられませんが・・・

ですが、MMORPGプラグインだけではないんで、『S/O/N/O/U/T/I』シュミレーションプラグインとか作るかもしれないですがね。
でもその前に俺は大学受験とかで忙しくなりそうですが・・・

それでも、僕の後を継いで、何かを作っていく。そんな心を持った人ができるといいな。
たぶん俺よりも、知識持った人なんて、たくさんいる。高校生でもそうだ。
だって、専門学校行ってる人に勝てるはずがないし。

だけど、俺は作る。作る。作る。
そして、決してアマチュアの趣味でプログラムをやってる人が一人ぼっちではないこと証明してみせる。

ネットの世界で相手の顔なんて見たことない。住んでいるところもバラバラ
それでもそれでも、同じ志持ってるやつがいると思うから。

さて、題名と大きく逸れましたね。
というわけで、スクリーンショットです。
バージョンウィンドウ
残念ながら他にはありません。DLL読み込みとか、内部的な処理ばっか書いていたので・・・
実際、プラグインができないと、MMORPG制作画面を作ることはできないんだ。
プラグイン自体がMMORPGを作成するのだからね。










拍手[0回]

寝ている間に目覚ましの電池が切れてた・・・

いつも、6時に起きているのに、ん?あれ?7になってるぞ?
え、ヤヴァイ!!!!


ところが、ダッシュダッシュして、なんとかテスト開始1分前に着きました・・・(セーフw



拍手[1回]

OEのプラグイン開発したいぜ!!
って人のために、ちゃんとDLL用のインターフェースを作りました。
これで、だれでもプラグインが作れるはずです。
(もちろん、C#の知識は必至ですが)

とりあえず、以下がインターフェースです。
これを利用してDLLが読み込まれます。
また、デフォルトでMMORPG用のプラグインを制作しているので、できれば別方面でお願いします。
プラグイン開発者は、メールにて話をいただければ中身の処理に関して、答えます。
こんなのもあったほうがいいのでは?とか致命的なミスがあった場合は、コメントで指摘してくださると非常に助かります。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace OE.src
{
        /// <summary>
        /// プラグインが実装しなければならないインターフェイス
        /// </summary>
    interface PluginDLLInterface
    {
        /// <summary>
        /// プラグインの固有の名前です
        /// </summary>
        String PluginName { get; }
        /// <summary>
        /// プラグインのインストールされたローカルの場所を絶対パスで示します。
        /// 改行文字(\n)はサポートしません。
        /// </summary>
        String PluginLocalAddress { get; }
        /// <summary>
        /// プラグインの簡易説明です。プラグインを選ぶ画面で使用されます。
        /// 改行文字(\n)をサポートします。
        /// </summary>
        String PluginShortDescription { get; }
        /// <summary>
        /// プラグインのバージョンです。プラグインを選ぶ画面で表示されますが、
        /// これで自動更新されたりはしません。自動更新させたい場合、プラグインの中に
        /// 機能を埋め込む必要性があります。
        /// 改行文字(\n)をサポートしません。
        /// </summary>
        String PluginVersion { get; }
        /// <summary>
        /// プラグインのコピーライトです。プラグインのライセンス画面で表示されます。
        /// 著作権に関する情報もこのプロパティに記してください。
        /// 改行文字(\n)をサポートします。
        /// </summary>
        String PluginCopyLight { get; }
        /// <summary>
        /// プラグインの作者名です。
        /// チーム名を書くのも、開発者チーム全員の名前を書くのも自由です。
        /// </summary>
        String PluginFrom { get; }
        /// <summary>
        /// プラグインが読み込まれたときに実行されます。
        /// プラグインホスト(エディター側)のインターフェースの参照を送ります。
        /// *注意!!
        /// --プラグインが選ばれたときに実行されるわけではありません。
        /// --DLLが読み込まれた後に実行されます。
        /// --したがって、プラグインのメインの処理をここに書かないでください。
        /// </summary>
        /// <param name="Host">エディタ側のインターフェースの参照を返します。</param>
        void Initlize(PluginDLLHostInterface Host);
        /// <summary>
        /// プラグインをユーザーが選択したときに実行される
        /// プラグインのメインメソッドです。
        /// ここが押されたときに、プラグインは、メインの処理を実行します。
        /// </summary>
        void Init_Main();
        /// <summary>
        /// プラグインをユーザーが閉じたときに呼び出されます。
        /// 保存などの処理を行い、プラグイン側が、自らフォームをフォームのアイテムをすべて
        /// 不可視の状態にすべきです。
        /// </summary>
        void Close();
        /// <summary>
        /// プラグインがアンロードされた際に呼び出されます。
        /// 基本的には、エディタ自体が閉じられる際に呼び出されます。
        /// </summary>
        void UnLoad();

    }
    /// <summary>
    /// プラグインホストが実装するインターフェース
    /// </summary>
    interface PluginDLLHostInterface
    {
        /// <summary>
        /// エディター自体のバージョンを返します。
        /// 必要とされたバージョンを見込めない場合、プラグインは、その他の処理をせず
        /// メッセージを表示し、ユーザーに警告を出すべきです。
        /// </summary>
        String EditerVersion { get; }
        /// <summary>
        /// このインターフェース自体のバージョンを返します。
        /// インターフェースのバージョンが古いと、エラーが起きる確率が非常に高いです。
        /// プラグインはこのバージョンをチェックし、ダメならば、警告を即刻出して、
        /// プラグインはそれ以上の処理を実行することを避けるべきです。
        /// *このインターフェースのバージョン(0.80)
        /// </summary>
        double InterfaceVersion { get; }
        /// <summary>
        /// OEサーバーへ完成したファイルをアップロードします。
        /// ただしこの処理は、失敗した場合、falseを返し、メッセージボックスでエラーの原因を
        /// 出力します。
        /// </summary>
        /// <param name="url">OEサーバーにアップロードするフォルダのリストです。</param>
        /// <param name="num">フォルダの数です。</param>
        /// <returns>失敗時にはfalseを返します。成功時にはtrueを返します。</returns>
        bool UploadOEfile(String[] url,int num);
        /// <summary>
        /// エディターのエディションを返します。
        /// Basic,Standardなどの文字列が入っています。
        /// </summary>
        String EditerEdition { get; }

    }
}



拍手[0回]

◎ カウンター
◎ カレンダー
08 2025/09 10
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
◎ 最新CM
[10/24 名無しの権兵衛]
[08/30 名無しの権兵衛]
[08/14 no name no future]
[08/05 ゲームサークルEaSt]
[07/28 リオウ]
◎ プロフィール
HN:
solilpquy
年齢:
30
性別:
男性
誕生日:
1994/09/22
職業:
人間
趣味:
趣味ねぇ~~う~ん・・・
◎ ブログ内検索
◎ バーコード
◎ アクセス解析
◎ フリーエリア
◎ フリーエリア
Script: Ninja Blog 
Design by: タイムカプセル
忍者ブログ 
[PR]