XC

iPhone 用の画面の作り方

XC

先日書いたガジェット対応を進めていくにあたり、画面の作り方が大きなポイントになってきます。本職のウェブデザイナーの方の中には、 「どんなデバイスで見ても、フルブラウザで見たときの画面の雰囲気が残っている。それがウェブデザインだ!」 という方…

iPhone App と XC サイトのオート接続

XC

XOOPS Cube には仮想サービスという機能があります。「機能統合された便利なハンドラ」があれば、仮想サービスは不要なのではないかと言われることがあるのですが、仮想サービスと大型ハンドラが繋がっていてもいいので、とにかく外へAPIを吐きたいというの…

マルチデバイス対応

XC

コアと並行で開発している XOOPS Cube の新BASEでは、PCブラウザの他に、 iPhone/iPod touch NintendoDS Wii PSP Playstation3 に対応する予定になっています。このうち表画面の対応はテーマで行う計画ですが、管理画面の方はまだ方法論が確定していません。…

XUGJすごい

XC

2月分のひとまとめのブックマークを作ろうとして、フォーラムの2月分のトピックを調べてたら凄い量があってビックリした。あとQ&Aも見ないといけないんだけど、Tips扱いで取り上げていたら凄い量になっちゃいそう。回答率ほぼ100%なことや、回答も的確なこ…

急に XOOPS のことを思った

さっきの話の絡みで、 XOOPS Cube のインストールベースとなっている PHP は、非PGによる質の低いコードが跋扈して、 Web 業界では鼻つまみ者になっている感がある。実際に現場にいる人たちが問題視してるんだから問題なんだろうし、 XOOPS2 の頃も何度か騒…

Tomさんのはてな

XC

いつの間にか、Tomさんがはてなダイアリーを書き始めていた! TomのCMSを作りたい今日この頃日記 しかも微妙に XOOPS Cube の話とかも混じっているでわ。(これのパクリ)

The Orange Box Project は XC 史上もっともお得なプロジェクトだ

XC

実は数ヶ月前にOrange Box Projectというプロジェクトを sf.net に申請しました。が、まだ何も準備していません。 XCL 2.2 のα版までに状況を整えたいと思っています。 このプロジェクトは、メンテナンスが放棄された、あるいは誰かとメンテナンスをしたいと…

include/linkスイッチによる抽象化

仮想関数(抽象化)は、異なる2つの環境に、ひとつのソースコードで対応するための数ある対応策のひとつとしてしばしば利用されます。この方法は、ソースコードの字面は非常に綺麗になりますが、全般的な処理が重くなるため、プログラマにとって "理性が受…

モトザヤ

XC

先日シンプルな形に整えた後、そのとき問題となる点を修正してみたら、恐ろしいことに元に戻ってしまいました。 orz 整えた点は以下です。 テンプレートバッファへの自由なアプローチを「レンダーシステム」という抜本的に大きなシステムの交換で行うのでは…

ここはグリーンスレッド

XC

汎用言語の Ruby や Perl 、 Python は、用途が多彩だから、ネイティブスレッドへの対応が求められるだろう。逆に、ウェブ専用の PHP は本格的な並列処理は求められていないんじゃないだろうか。グリーンスレッドどころか、コルーチンで十分かもしれない。 …

レンダーシーケンス改訂版

XC

できれば今夜コミットしたい。こんな感じになっている。 タスクリストにコレクターが突撃して Drawable を収集 ソート情報に基づいてソート レンダリング開始。レンダリング済みのバッファには色んな方法でアクセスできる フレームバッファを print して出力…

デリゲートの遅延

XC

PHPによるラムダとクロージャの実装で、その役割を終える予感がビンビンするデリゲート。が、デリゲートにはまだ隠された魅力があることをご存知ですか。 デリゲートまわりは遅延機能が旨みにある。例えば、動的リンクが成立しない状況でも、成立するまでリ…

unleashed へのステップ

XC

ロードマップと会社の仕事のロードマップが恐ろしいほどかぶってる…… 修正しないといけないもの レンダーシークエンス レンダーシステムまわり レンダーターゲットから合成要素を分離 仮想サービスのバグ(バインダの研究) Identity 設計が追いついてないも…

レンダーターゲットとレンダーシステム

XC

XOOPS2 では任意のプログラム(モジュールやブロック)を任意の数だけ実行することができました。ブラウザに出力される最終出力では、それぞれのモジュールやブロックの出力結果をバッファリングしたあと、最後にテーマ上に合成して最終出力としていました。…

XCの並列処理への準備状況について

XC

先ほどちらっと書いたけど、1コアの処理速度が頭打ちである以上、カーネルが持つスケジューラ上で振り分けの候補となるスレッドはスクリプトプログラミング上でもしっかり使って行くことになる。PHP6がスレッド処理を積まないという予想外の展開があったも…

オートパラム

XC

テンプレートは様々な外部パラメータにアクセスする。その外部パラメータはあらかじめプログラム側から書き込んでおかなければならない。テンプレートと呼ばれているが、描画シークエンスでみればプログラマブルシェーダを使ったレンダリングによく似ている…

レンダー周りをゴシゴシ修正中

XC

onokazu さんの指摘*1を受け、レンダーターゲットをレンダーシステムにセットしてからレンダーシステムのAPIで描画する方式に切り替え始めている。ちょっと描画済みバッファへのアクセスのところだけが野暮ったいが、これでレンダーシステムとレンダーターゲ…

モジュールの複製

XC

いま牛歩で開発している BASE は、フロントコントローラなので、モジュールの機能を複数配置することができる。これで複製を望むユーザーさんの要望の8割は満たせた(数値の根拠なし)と思う。しかし、「複数配置」と「複製」には大きな違いがあり、ちょっ…

分析!XCL!

XC

XOOPS Cube Legacy の強みは換装機構にあったが、換装パーツを作ることがかったるくて興味の対象にならなかったのは泣きどころだった。あと抜本換装に主軸を置いていたせいで、 user モジュールの機能を生かしながら取りあえずデータだけ差し替えるという MO…

XCode フレームワーク

GLUT いじったときに XCode のフレームワークという考え方に感動して色々調べてみたが、やはり自作する方法もあるようだ。ざっと流し読みしてみると、静的ライブラリの性質にリソースファイルやドキュメントを加えたものらしい。 ADC で見つけたドキュメント…

キュブソンの影

XC

彼はドバイでの任務のあとイタリアに戻ったと聞いていたが、最近になってまた色々動き出したという噂を聞いた。 差出人不明の手紙には「フォローせよ。さればキューブへのフィードは開かれん」という日本語のメッセージが書かれていた。どうやら奴の今回の任…

ルートタスクの設定

XC

タスクシステムで使う最初のタスクを BASE Controller なしで設定できるように改修してみた。これで XCube_Controller は互換専用ということで v0.9 レベルに戻せる。 ルートタスクの生成ルーチンへのポインタを、ルートクラスのコールバック(デリゲート)…

レンダーターゲットのキャッシュ

XC

kilica さんが現状の XCL ではブロックキャッシュに問題がある点を指摘されてます。HTML出力がキャッシュされるのに対して、HEAD部に書きにいく追加 Javascript 情報が書き込まれなくなるのが原因。同じことが CSS についても言えます。 この問題は、 Legacy…

ペリフェラルの検査

XC

XOOPS Cube 0.9 には XCube_ActionForm という検査クラスがある。 これを初めとして、Cube コアには XCube_ActionFilter など、自分自身意味が分かってないのに「名前合わせておけばOK」と思って採用した命名が結構ある。本当に今さらだがこの "Action" って…

サイトコンフィグを用意しない場合、XCはどういう状態になるのか

XC

v1.0 "unleashed" コアでは、メインシーケンスとしてタスクシステム、描画シーケンスも共通のものが用意されたため、 index.php に記述する内容は非常に短くなった。ドキュメントでは、最低2ステップで大丈夫という旨を書いている。 loadConfig("./config/s…

俺がやりたいのはこ〜ゆ〜のの XC 版なんだよぅ!!

テキストベースのプログラミングをしないでゲームを作れる環境 Kodu。リトルビッグプラネットのときにも思ったけど、学生のときにこんなのに出会ってたら絶対引きこもりになってたな (^^; そういう意味では良い時代に生まれたんだか、悪い時代に生まれたんだ…

ガンビットはミスを放置する

ファイナルファンタジーXIIのゲームシステムに採用された「ガンビット」。本作では、序盤に仲間になる「バルフレア」とガンビットについて学ぶチュートリアルシーンがある。 ここでガンビット処理の特性が説明され「よくない設定」を行うと、バルフレアのAI…

HTML グラフィックプロセッサ概要

XC

XOOPS Cube のレンダリング周りの設計はゲームエンジンから取ってきている。これはレンダーシステムの切り替えや、分割レンダリングの考え方が進んでいると考えているからだ。 (一般的な Web プログラムだと XOOPS のような "Mod" 文化がない限り、それにつ…

PSPのテーマ

PSPとPS3のテーマ機能は、「外観を変えたい」というエンドユーザーの素直な要望を満たしている。 ユーザーは「外観を変えたい」という希望と「外観を弄りたい」という希望の2つを持っていると思う。それを切り分けないと、時にとんでもないことになる。今は…

XOOPS Cube Club @Home

XC

PlayStation Home のクラブ機能使って XOOPS Cube Clube 略して XCC を作りました。何にもないけど。クラブってひとつしか作れないのね……orz これ作ったせいでカープクラブが作れなくなってしまったよ…… (ToT) XOOPS Cube に興味のある Playststion3 オーナ…

きゅーぶ犬登場!

XC

わんわん

DSiカメラのチュートリアルに思うこと

DSi のカメラはおもちゃみたいなものだし、デジカメとは比較にならない。しかし、ハンズオンのチュートリアルがあって、撮影と使い方をガイダンスしてくれることを、家電業界の人は触ってみてどう感じただろうか。僕は、これは子供にも使えるし、機械音痴の…

DSiのセットアップ

なにかの参考になると思うので、 DSi をセットアップしたときの画面を置いておく。基本的には Nintendo DS と大きくは変わらない。ちなみに撮影は iPhone のカメラでやったので、画質うんこです。 スクロール可能な Web ページと異なり、ゲーム機には解像度…

デリゲートの今後

XC

XOOPS Cube コアが提供する主要な機能のひとつにデリゲートがある。この機能は「統一的手続きによるコールバック」と説明される。デリゲートの存在意義は本当にシンプルで、 PHP 言語には関数へのポインタがないうえにコールバックの方法が何種類もあり、正…

近況報告

XC

家に帰って寝るだけの平日と、そのシワ寄せの休日の繰り返しを生きています。家に帰ってバッグを置いてGパンと鯉パーカーを脱いで寝て、翌朝そのバッグとGパンとパーカーを着て出て行くというルーティン生活になってます。フリータイムが無いことが申し訳…

XC コア 1.0 に必要なもの

XC

コア1.0 の新しい仕様案は一年前に出して、それなりにフィードバックがあった。国内の反応が1件だけだったのは心残りだったけど。でもその仕様だけでは足らない。 データモデルはいらない XC でデータモデルを持とうかと思ったが、 XC コアの役割は人と人の…

モバイル対応は重要

XC

ちょっとした仕様の実装のために色んなところ弄るのが嫌になって、コードをまとめていたらこんな時間になってしまった。家帰ってもPC触ってる時間なんかないし、電車の中でモバイル弄るのが精一杯。こうなってくると、リモートアプリの性能に優れた「はてな…

XOOPS Cube Legacy 2.2.0 仕様

XC

どうも通勤中は Blogger に打ちにくいので先にこちらに書きます。日曜日に名古屋へ行って、 2.2 の開発に参加する日本側の開発者とミーティングしてきました。まず 2.2 のアルファバージョンを半年先の来年5月頃にリリースするという線引きを行い、その中で…

Next BASE

XC

XC 1.0 の立証サンプルである新型 BASE は Shade というコードネームで動いている(このコードネームは変更予定)。 XC コア 1.0 と合わせて、次のような特徴を持たせていきたい。 携帯(機)対応 NintendoDS や DSi 、PSP、 iPhone のブラウザに自動対応させ…

いざ名古屋へ

Blender Party 参加のため名古屋へ向かいます。最近ロクに Blender を触っていないのですが……日曜日は Tom さんたちと XOOPS Cube の話をしてきます。jidaikoboさんも来るそうです。

Web とオープンソース

IT と Web を外から見ていると、オープンソースが非常に盛り上がっているように見える。その実態は中の人にしか分からないことだが、想像するに、ソースコードは各社でビシバシに弄られ、ブランチとして保守され、一部がフィードバックされまたコミュニティ…

オープンソース vs オープンソース

この前の続き的な落書き。いまアニメ業界ではセルシスの「RETAS」という作画、彩色、撮影ソフトが国内を独占していて、ライバル製品がなく、競争がないせいか非常に高い。一番分かりやすいフリーウェア活動は、高額で個人向きではないプロプライエタリ製品を…

オープンソースという選択肢

しかし、ありものをそのまま使うことが尊いなら、なぜわざわざオープンソースを選択するのだろう。これもカルチャーギャップのひとつだと思う。例えば、物理エンジンのミドルウェアに、世界的に有名なライセンス製品の Havok と、オープンソースの Bullet が…

OGRE 3D コミュとのカルチャーギャップ

XOOPS Cube の設計は OGRE3D をベースにしている。OGRE3D は標準的な空間分割木を持っていて、空中戦ならオクトツリーシーンマネージャ、ダンジョンシージを作りたければクアッドツリーシーンマネージャを使えばいい。もし、その枠から外れたり、もっとパフ…

僕は剣豪ではありません

オープンソースというのは使う以上、同レイヤーのものは基本的に弄るものだと考えていたが、これは業種によって主流となる考え方が異なるということを最近教わった。 Web のプロは、交換部があっても原則徹底的に有りものを使うらしい。その傾向に、彼ら技術…

Garrett 先生にサインをいただきました

最後にサインをいただいたのですが、実は手帳も色紙も持ち合わせておらず、たまたま電車の中で読んでいた「省メモリプログラミング」という本にサインをいただくことになりました。 省メモリプログラミング―メモリ制限のあるシステムのためのソフトウェアパ…

Garrett 先生に先日の N3 質問を直接ぶつけました

あとで読み返してみたらあまりにも言ってることが意味不明なので後で直します。orz CakePHP カンファレンス懇親会で、来日中の CakePHP 開発マネージャ Garrett J. Woodworth 氏に先日の質問を直接ぶつけるという貴重な機会を得ました。写真は Garrett の席…

データベース特性

XC

たとえばゴブリン大部隊にいる指定されたキャラの空間座標を x, y, z に書き換える場合、間違いなく、 pDivison->get( id )->setPosition( x, y, z ); という関係になってくる。 まかり間違っても、 pDivision->setPosition( id, x, y, z ); というような操…

データモデルクラスは何をモデル化してるのか

XC

100体を超えるゴブリンの群集がプレイヤーに襲いかかり、プレイヤーは彼らを一騎当千の力で返り討ちにした。傷ついた一部のゴブリンは撤退を判断する。撤退するゴブリンの中でも残りのライフに余力のある個体がリーダーとなり、リーダーとなった個体の周…

Web MVC の M は Data Model

XC

Web の……というより RoR の……ということですが、まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails ここまで説明してきたMVCパターンでは,モデルがビジネス・ロジック,コントローラが入力制御,ビューが出力制御,という役割分担でした。Rub…