タグ

ブックマーク / thinkit.co.jp (64)

  • AI最前線の現場から【スクウェア・エニックス】ゲーム・キャラクターはどのように意志決定するのか

    はじめに 第1回では「キャラクターAI」(キャラクターの頭脳)の全体像を解説し、その中には5つのモジュール(部品)である「認識」「意思決定」「運動生成」「身体」「記憶」があることを見てきました。今回はその続きとして、これらのモジュールを活用して「キャラクターがどのように意思決定しているのか」について見て行きます。 「認識」モジュールのつくり方 世界から知能に情報を取り入れる部分である「センサー」(感覚)は、視覚を「レイキャスト」や「視野領域」によって作ります。レイキャストでは、キャラクターから対象に向かってレイ(直線)を引き、対象との間に障害物があってレイと障害物が交差すると「見えない」と判断します。例えば、キャラクターの頭部からモンスターの中心に直線を引いて岩にぶつかるのであれば、キャラクターからモンスターは「見えない」と判断するのです。もしぶつかるものがなければ、キャラクターからモンス

    AI最前線の現場から【スクウェア・エニックス】ゲーム・キャラクターはどのように意志決定するのか
  • AI最前線の現場から【スクウェア・エニックス】デジタルゲームのための人工知能入門

    はじめに 今回から全4回にわたって、デジタルゲームにおける人工知能について解説します。デジタルゲームとはゲーム機や携帯電話で動くゲームのことで、その世界は水たまりに虫たちが群れるように、湖に貝や魚が息づくように自律した人工知能が息づく場所です。さまざまなキャラクターたちが意志を持って行動し、目には見えなくてもサポートする人工知能たちもいます。連載では、そういったデジタル世界の住人や生き物たちの人工知能を紐解いていきます。 第1回の今回は、この分野の入門を解説します。第2回では、この分野の中心的課題である「キャラクターの意思決定」、つまりキャラクターたちがどうやって自分の行動を決定しているかを見ていきます。さらに第3回ではキャラクターの身体や運動をどのように作って行くか、第4回ではゲームAI分野の特有AIである「メタAI」を中心について解説します。 第1回 デジタルゲームのための人工知能

    AI最前線の現場から【スクウェア・エニックス】デジタルゲームのための人工知能入門
  • DB、クラウド-実例から学ぶmixiアプリ運用ノウハウ

    データベースの見直し 前回までの対策でリクエスト数は激減、なんとかルーターが処理しきれるようになりました。次はデータベーススキーマとクエリーの見直しです。WebサービスのボトルネックとなりやすいのがDBサーバーなど、ディスクアクセスが発生するサーバーです。ネギ振りカウンタではMySQLを使用しているのですが、急ごしらえで機能拡張を繰り返していったため、恥ずかしいことにインデックスがうまく効いていないクエリーが含まれていることがわかっていました。 前回でも触れましたが、一見自明な問題に見えても思い込みで対策すると何時まで経っても一番のボトルネックにたどりつかず、対策しても対策しても遅いままという状態になってしまいます。そこで、MySQLにはスロークエリーログという遅いクエリーだけを抽出してくれる機能があるのでそれをみてみました。 →「スロー クエリ ログ(MySQL 5.1 リファレンスマニ

  • 「ネギ振りカウンタ」から学ぶmixiアプリ運用

    みなさまこんにちは!株式会社ミクシィでエンジニアをしている井上恭輔と申します。全8回の連載でお届けしている「ミクシィ開発陣直伝! 今日からはじめるmixiアプリ開発」も、いよいよ折り返しです。 今までの連載では、mixiアプリの概要から基礎的な知識、実装方法などについてご紹介させて頂きました。mixiアプリの開発は、HTMLと基礎的な javascriptの知識だけでできる比較的簡単なものです。読者の皆様も、日曜プログラミング程度の軽い気持ちで、mixiアプリを開発できそうなイメージをお持ちだったのではないでしょうか。 第6回と第7回では、読者の皆様が開発されたmixiアプリを広く一般のユーザーの方々に使ってもらうため、無事リリースを迎えた後に問題になってくるであろう、mixiアプリの負荷対策などの運用面でのノウハウをご紹介させて頂こうと思います。 既にmixiアプリを開発されたことがある

  • Flashで作るmixiアプリ

    株式会社ミクシィのtakimoこと瀧晋也と申します。Flashを使ったアプリケーションの実装、セキュリティを担当しています。 第5回となるこの記事では「Flashなmixiアプリを作ろう!」をテーマに、どのような実装を行えばいいのか、つまずきやすいポイント、mixiからどのように情報を取得すればいいのか、最後にFlashアプリ限定ではないですがmixiアプリを作る上で意識したいセキュリティのことについてお伝えできればと思っています。 Flashを使ったmixiアプリの作り方 第2回でも紹介させていただきましたが、mixiアプリはGadgetXMLという定義ファイルを作り、設定することでアプリケーションを動作できます。 まずはFlashを動かすためのGadgetXMLを用意しましょう。 ]]> それぞれポイントとなる点を説明します。 豆知識 wmode=transparentを設定するとF

    se-mi
    se-mi 2010/10/06
    flashとjsの連動がやっかい。ライブラリがメンテされてないなど
  • 社外常駐で学んだアジャイル開発

    (1)今回の事例: 業務システムをWeb化で刷新 第2回では、新人のころに筆者がかかわった事例を取り上げ、「情報共有」の仕方と、「情報共有を通して、どのようにアジャイルの基礎的な内容を学んだのか」を説明しました。 前回の計画をチームで立てるというトピックで、「アジャイルでは、イテレーションを何度も継続して回す」ことを伝えました。ここで大切な点は、「ただ単に繰り返す」ことを意味しているわけではないということです。イテレーションで得られたフィードバックを、次のイテレーションでより良い活動ができるように生かすことが重要です。 今回は、この「フィードバックをもとに、より良くする(改善する)」ことに焦点を当て、筆者が社内SNS構築の次に参画したプロジェクトを取り上げます。まずは、今回の事例で取り組んだ「業務システム」について、簡単に紹介します。 筆者が所属するTISでは、プロジェクトが完了すると、プ

  • 開発前におさえておくべきmixiアプリ企画のポイント

    ポイント3「暇つぶし」―ユーザーの利用状況を想定しよう 前回に引き続き、mixiアプリ設計のポイントを例を示しながら解説していきます。ポイント1「ソーシャルグラフ」、ポイント2「コミュニケーション」に続くポイント3はユーザーの利用状況を想定した重要なポイントです。 単純にゲームを作るとどうしても1回のプレイ時間が長くなってしまいがちです。mixiにアクセスしてきているユーザーには「暇つぶし」が目的の人がたくさんいます。電車での移動中、待ち合わせ、お昼休憩など、何かと何かの隙間の時間にアクセスしてきているのです。そのため、1回のプレイ時間が短いゲームが好まれる傾向があります。また、ユーザーは常にmixiにアクセスし続けているわけではないため、mixiアプリ同士でも時間の奪い合いが発生します。1つのゲームにかける時間を無駄にしたくないので、1ヶ月や3ヶ月などの単位で長期的に遊べるゲームが好まれ

  • アジャイル・ブームの再来

    はじめに "アジャイル"という言葉が、ソフトウエア開発現場において、広く知られています。皆さんも1度は耳にしたことがあると思います。 筆者は、開発者として、新人時代、社外常駐時代、プロジェクト・リーダー時代に、アジャイル開発に携わりました。連載では、これらの経験から得たアジャイルの知見を示します。 第1回では、アジャイルの経緯と現状など、事前に知っておくべき内容を説明します。2000年代前半に立ち上がったアジャイルが「試行錯誤の時代」を経て再び注目されるようになった要因について解説します。 アジャイルに共通する4つの価値と12の原則 あらためて、アジャイルとは何かをおさらいします。 アジャイルとは、いくつかのソフトウエア開発手法の総称です。数多くのアジャイル開発手法が存在します。以下は、具体的なアジャイル開発手法の例です。 Agile Modeling Agile Unified Pro

  • 第1回 なぜmixiの牧場アプリはヒットしたのか | Think IT

    はじめに―mixiアプリ開発のノウハウ 株式会社ミクシィのプラットフォームチームに所属している、mainyaこと森和之と申します。mixiアプリの立ち上げからこれまでずっと開発に携わってきました。 この連載ではmixiアプリの基的な作り方から、mixiアプリで押さえておくべき点と、どうしたらmixiアプリで面白いアプリケーションを作れるか、負荷対策はどうしたらいいかまで一連の流れを追って取り上げたいと思います。mixiやプラットフォームの考え方から、mixiアプリの企画-開発-運用と幅広いテーマを扱うため、どうしても駆け足になってしまうかもしれませんがご容赦ください。 mixiアプリ開発者は熱心なmixiアプリユーザーであることも多いと思います。この記事をご覧になっている皆さんの中には、もっと重要な情報があることを知っているかもしれません。良かったらはてなブックマークやtwitterのハ

    se-mi
    se-mi 2010/09/01
    一番知りたいのはヒットするコツよりmixiのレギュレーション(その他カテゴリ縛り)をくぐるポイントだったりする
  • [Think IT] 第1回:結構良さそうだぞHTML 5! (1/3)

    【即実践!HTML+CSS】ポストWebコーディング 第1回:結構良さそうだぞHTML 5! 著者:吉田 光利 公開日:2008/04/07(月) HTML 5時代はすぐそこまで来ている! HTML 5と聞いたとき、皆さんはどう思ったでしょうか。 筆者の場合は「え?HTML 5?また覚えなきゃいけないことが出てくるの?」「もうHTMLはいいだろ」「今あるサイトはどうなっちゃうの?」「W3Cの勧告なんてあてにならないからなぁ」などというネガティブな感じです。 しかし、HTML 5について学んでいくと「おお!結構良さそうだぞHTML 5」「これは来るな!」という気持ちに変わりました。 2010年の正式勧告される予定で、そこに向かってすごいスピードで広がっています。もしかしたら、それくらいの時期には定着しているのではないかと筆者は考えています。なぜならばあのInternet Exploreもこの

    se-mi
    se-mi 2009/07/08
  • [Think IT] 第3回:「Papervision3D」を試す! (1/3)

    Papervision3Dの現在と今後 最近ではさまざまな3Dライブラリが登場し、Flashでもリアルな3D表現が少しずつ可能になってきました。その1つとして今もっとも知名度が高く、注目を集めているのがPapervision3Dです。Papervision3Dとは、ActionScript2.0およびActionScript3.0で使用できる3Dライブラリで、MITライセンス(http://ja.wikipedia.org/wiki/MIT_License)によって配布されています。 3Dライブラリが広まった背景には、処理速度の高速なAS3.0の登場によるところが大きく影響しています。AS2.0では処理速度が決して速いとは言いがたく、処理に負荷がかかる3Dライブラリを使った3D表現は、あまり現実的ではありませんでした。 ところが、処理速度が格段に向上したAS3.0の登場によって、複雑な処理

    se-mi
    se-mi 2009/05/25
    papervision3d
  • Flash Liteでゲームを作ろう!

    ゲームの概要 前回(http://www.thinkit.co.jp/article/144/3/)は、Flash Lite 1.1での時計待ち受けを作成してみましたが、今回は、簡単なゲームサンプルの解説をしていきます。 ゲームを作る時の基的な注意点はキーの割り当てです。第2回(http://www.thinkit.co.jp/article/144/2/)で説明したように、Flash Lite 1.1のキーイベントでキャリア対応を考慮した場合、左右のキーを使用することができません。そのため、基として数字のキーを割り当てていくこととなります。例えばキャラクターを上下左右に動かす場合などは「2」「8」「4」「6」などのキーを使用すると良いでしょう。今回のゲームも、すべての数字キーを使用する内容となります。 ゲームの内容として、まず数字がランダムに表示されます。その表示された数字のキーを素

    se-mi
    se-mi 2008/10/15
    wktk
  • Flash Lite 1.1の基本的なスクリプト制御

    Flash Lite 1.1はFlash 4ベースの仕様となっています。とは言っても、厳密にFlash 4とまったく同じ仕様というわけではなく、if文や文字の連結などで記述方法が異なる部分があります。 現在、PC版のFlashコンテンツを制作する場合、ほとんどがFlash 5以上の環境で制作を行っていると思います。そのため、PC版のFlashコンテンツ制作の基知識がある方でも、Flash Lite 1.1でコンテンツ制作をする場合は、使いなれた記述方法と少し異なる場合があると感じるかもしれません。 それらの相違点と合わせて、基的な部分からFlash Lite 1.1の解説をしていきます。 ムービークリップのプロパティの取得と設定に関しては、PC版のFlashと同様にドットシンタックスを利用することができます。 まず、ムービークリック「mc」の中にある「a」というムービークリップのプロパ

    se-mi
    se-mi 2008/10/08
    あとで
  • [Think IT] 第1回:携帯サイトとPCサイトはここまで違う! (1/3)

    XHTML Mobile Profileに対応したHTML 連載では、「PCサイトを制作してきたけど、携帯サイトは初めて」といった企業や個人クリエイター向けにPCとモバイルの違いなどをふまえ、携帯サイトを公開するまでの入門的なノウハウを紹介していきます。 まず、今回はHTMLの種類やタグ、CSSなど携帯ブラウザによる違いと、画面サイズやキャッシュ容量などの端末による違いについて紹介していきます。 では、早速携帯サイトを作る上でマークアップの基となるHTMLについて説明します(図1-1)。携帯電話はPCと比べても非常に早い進化を遂げてきたため、どれも基HTMLを基準に作られていますが、携帯ブラウザ(iモード、EZweb、Yahoo!ケータイ)で表示可能なHTMLの仕様には実に多くの種類が存在します。 現在市場に出回っている機種ということに限定すれば、XHTML Mobile Prof

  • モバイルサイトに求められるデザイン力!

    モバイルサイトもデザインの時代 今年になりグッチ(http://www.gucci.com/jp/japanese/gucci-news/about-mobile/)やルイ・ヴィトン(http://lvmonogram.jp/)、カルティエ(http://m.cartier.jp/)、Coach(http://japan.coach.com/mobile/)、ポルシェ(http://m.porsche.co.jp/)などの、いわゆるハイ・ブランドが、相次いでモバイル向けのブランディングサイトをスタートしているのはご存じでしょうか? それぞれのブランドイメージそのままに、インタラクティブFlashや画像をふんだんに使い、デザイン化されたモバイルサイトや、きせかえツールなどのリッチコンテンツは若年層・女性層を中心に圧倒的な人気を得ています。 待受Flashなどのサービスコンテンツも、記録的なダ

    se-mi
    se-mi 2008/10/02
  • Flash Liteの基本を学ぼう!

    Flash Liteの概要と活用法 Flash Liteとは、簡単に言えば、携帯電話でFlashの閲覧を可能としたバージョンのことです。2003年に発表されたNTT docomoの505iシリーズなどから対応されはじめました。 当初は「パケット代がかかる」「処理が重い」などの声も少なくありませんでしたが、パケット定額制などの導入や、機種のスペック向上、そして、携帯サイトの利用頻度が増えている今、携帯でのFlashの需要性は高まってきています。 その大きな理由は2つあります。 1つ目は、Flashの大きな特徴でもある、高度なアニメーションとインタラクティブ性です。アニメーションを活用することにより、楽しそう・面白そうな雰囲気、またはインパクトなどを与えるイメージ訴求力は、ただの静止画やGIF画像よりも高い効果を狙うことができます。また、ゲームや遊び系コンテンツなどもFlashを利用されるケー

    se-mi
    se-mi 2008/10/02
    あとで
  • [Think IT] ユーザビリティの判断基準って何?

    ユーザビリティを気にしてますか? Web制作やWeb開発担当者の皆さん、そして企業のWeb担当者の皆さんは、あなたが制作・開発したWebサイトはユーザビリティに気を配れていますか? 連載では、ユーザビリティを判断するために必須な判断基準と、それを導き出すための方法を紹介します。 また、Webサイトのユーザビリティ評価を簡単に使るチェックツールも提供します。まずはユーザビリティを気にかけるための第1歩として読んでいただけると光栄です。 題に入る前に、まずは「Webユーザビリティの定義」をおさらいしましょう。「ユーザビリティ」を辞書で引くと「使用可能なこと・有用性」(引用:三省堂提供「デイリー 新語辞典」)とありますが、一般的に使われる言葉では、「使いやすさ」「使い勝手のよさ」と言われています。 「使いやすさ」「使い勝手のよさ」とは何でしょうか。周りにあるもので例えると、あなたの使っている

    se-mi
    se-mi 2008/09/02
    あとでよむ
  • プログラムを書くのに便利な機能!

    マルチウインドー機能を使おう 今回はプログラムを書く時に便利な機能をいくつか紹介していく。 「第2回:Vimの基操作をマスターしよう(http://www.thinkit.co.jp/article/123/2/)」で紹介したヘルプ画面は、現在編集しているファイル画面を分割して表示される。Vimではヘルプ画面以外の画面についても自分の好きなように分割可能だ。 新しくウインドーを作るには、「Ctrl-W n」(「Ctrl-W」を押してから「n」を押す)または「:new」と入力する。後者の場合は「:new foo.txt」のようにファイル名を指定することができる。なお、以降については「Ctrl-W n」系の操作を中心に進めていく。 上記のコマンドを実行すると、画面が横2つに分割され、いままで編集していたファイルの上に空のウインドーができる。このウインドーに移動するには「Ctrl-W Ctrl

    se-mi
    se-mi 2008/08/15
  • レプリケーション&負荷分散!

    pgpool-IIのレプリケーション 「第2回:コネクションプールで接続負荷を軽減!(http://www.thinkit.co.jp/article/98/2/)」は、pgpool-IIのコネクションプール機能を使って、接続のオーバーヘッドを減らし、性能を向上させる方法について紹介しました。 今回は、レプリケーションと負荷分散について説明します。レプリケーションは可用性を、負荷分散は性能を向上させる機能です。もちろんこれらの機能は前回紹介したコネクションプール機能と組み合わせて使うことができます。 レプリケーションとは、文字通りデータの複製(レプリカ)を複数のPostgreSQL上に作成する機能です。いずれかのサーバーに障害が発生しても、複製したデータを使って直ちに別のサーバーでサービスを継続することができるため、可用性が向上します。 pgpool-IIのレプリケーションは、クライアント

    se-mi
    se-mi 2008/07/17
    Postgresのレプリケーションの記事。そのうち使うかも
  • WebデザイナーもFlexを使おう!

    Flex Builder 3ってWebデザイナーでも使えるの? Flex Builder3は、AIRと併せてWebデザイナー向け雑誌で多く取り上げられ、話題になっています。しかし、WebデザイナーはFlash CS3を使っていますので、あまり必要性を感じていない方も多いのではないでしょうか。今回は、その辺りを検証しながら進めていきたいと思います。 「第1回:Flex Builder 3って何ができるの?(http://www.thinkit.co.jp/article/102/1/)」では、文字表示だけの簡単なSWFファイルをFlex Builder 3で作成しました。その際、「デザインモード」で作業したように、Flex Builder 3ではデザインを確認しながら作業を行うことができます。 作業を行うためのモードですが、この「デザインモード」コードを編集するための「ソースモード」の2種類

    se-mi
    se-mi 2008/07/10
    Flex