サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
kenmo.hatenadiary.org
うーん、OBB素晴しい…。 こんなきわどい衝突も検知できてしまいますね…。 個人的にハマったのは、回転行列を掛け合わせる順番を、 「描画」ではrotX*rotY*rotZとしていたのに、 「行列構造体」ではrotZ*rotX*rotYにしていたことですね。 (というか、それはOBBと関係ないよ…(´∀`; 仕様 白オブジェクトのみ操作できます。 緑オブジェクトに衝突すると、赤くなります。 操作方法 オブジェクトの移動 Z・Xキー:X方向への移動 A・Sキー:Y方向への移動 Q・Wキー:Z方向への移動 C・Vキー:X方向への回転 D・Fキー:Y方向への回転 E・Rキー:Z方向への回転 カメラの移動 ↑↓キー:X軸回転 ←→キー:Y軸回転 ソースコード ちょい長めです(´Д`; #include <math.h> #include <string> #include <iostream> #i
はじめに ゲームには、 タイトル モードセレクト メインゲーム 結果 などのシーンがあります。 それらのシーンの遷移をオブジェクト指向で実現する方法を解説します。 シーンクラス まず基底となるISceneクラスを定義します。 /** * シーン基底クラス。 * コイツをインプリするのだ! */ class IScene { public: IScene(); virtual ~IScene(); virtual void Render() = 0; // シーンの描画 };virtual void Render() = 0; っていうのが、仮想関数の宣言で、 この宣言によりISceneは仮想クラスになります。 そしてこれを継承して、各シーンクラスを実装します。 /** * タイトルシーン(タイトル画面) */ class CSceneTitle : IScene { public: CSc
http://gamehell.g.hatena.ne.jp/kenmo/ がなぜか使えなくなってしまっているので、一時的にこちらにメモ。 ⇒復活してました 最近、3Dの勉強をほったらかしにしていたので、そろそろ勉強せねばと、 メッシュアニメあたりの情報を重点的にリンク。 http://www.h6.dion.ne.jp/~game296o/GameMain.html 「DirectX技術編」がメッシュアニメーション周りの情報が充実していて良い感じ。 あと、「衝突判定編」も充実して勉強になります。 http://www5d.biglobe.ne.jp/~ochikko/ HSPで3Dができる「Easy3D」、 六角大王やメタセコに、ボーン・モーションをつけられる「RokDeBone2」、 こういうツールを使ってみて勉強するのもありかもしれない。 http://monsho.hp.infos
ほとんどの方にはどうでもいいことですが、、、 どうやら、Pygameで加算合成ができるようになるっぽいです。 http://www.pygame.org/docs/ref/surface.html#Surface.blit ほぼSDLのPygameだと、光の表現をするのに、それっぽい画像を用意したり半透明で頑張るしかなかったのです。 ですが、 Pygame DocumentationのSurface.blitを見ると、 Surface.blit(source, dest, area=None, special_flags = 0): return Rectspecial_flagsという引数が、、!? さらに読んでみると、 An optional special flags is for passing in BLEND_ADD, BLEND_SUB, BLEND_MULT, BLEND_
はじめに 今回は曲線の作り方を解説します。 「?…なぜ曲線?」 と思われるかもしれませんが、 曲線を作れるようになると、美しい軌道をする敵を簡単に作れるようになります。 実際、市販のシューティングゲームの開発現場では、 曲線を使って、動きのスクリプトを生成しているみたいです。 曲線を使うメリット 例えば、放物線を描いて動く敵を作るとします。 その場合に、 x 0 1 2 3 4 5 6 7 8 y 16 9 4 1 0 1 4 9 16 という座標のパターンを持つとします。 こうすると、その敵のスクリプトは、 move 0,16 move 1,9 move 2,4 move 3,1 move 4,0 move 5,1 move 6,4 move 7,9 move 8,16となります。 これはこれで細かく動きを制御できていいのですが、 この座標のデータを作るのが大変ですよね。 そこで、曲線の
今回はSwaveで効果音を自作してみます。 確かに音素材とかから拾ってくるのもいいのですが、 1から自分で作ると、効果音にも愛着がでるようになりますよ! 波形エディタとして、フリーウェアである「Swave」を使用します。 ほかにも多機能な波形エディタはあると思いますが、 これは、シンプルでとても使いやすいのが特徴です。 「Swave」は以下のリンクからDLすることができます。 http://www.vector.co.jp/soft/win95/art/se089386.html まずは波形! 効果音作りの基本は「波形」です。 下は「SWave」の画面です。 まずは「波形」に注目します。それ以外は気にしてはダメです。 波形の種類 「波形」には大きく4種類存在します。 名称 どんな音? 倍音 備考 サイン波 ポー なし 三角波 ポー(ちょっと強め) 少しあり のこぎり波 ボォー(強い) 大き
kenmoが妄想中のレベルデザインをめも書きします。 経験曲線 レベルデザインの基本は、少しずつ難易度を上げていくことなのですが、 その上げ方を曲線を描くようになだらかにすることで、 心地よいレベルデザインとなります。 ただ、単純な2次曲線にするとインフレが止まらずゲームバランスを崩してしまうので、 ロジスティック曲線(S字曲線)するとバランスがよくなるかもしれません。 ロジスティック曲線については、こちらが詳しいかも。 http://aoki2.si.gunma-u.ac.jp/lecture/Regression/growth/logistic.html ようは、最初は少しずつ累積的に増加していき、 ある点を越えると、増加率が減少していくような曲線です。 例えば式にすると、こんな感じです。 この式は「-10<x<10」の範囲において、「0<f(x)<1」となる解を返すものです。 解が推
日記の中で、個人的に役に立つだろうと思った記事をまとめたページです。 ゲームプログラム えぐぜりにゃ〜ソース解説 えぐぜりにゃ〜ソース解説 えぐぜりにゃ〜ソース解説2 えぐぜりにゃ〜ソース解説3 えぐぜりにゃ〜ソース解説4 OMEGAさん作成のゲーム「えぐぜりにゃ〜」のソースを解説したものです。 ゲームデザインの参考になったり、シューティングを作成するときのアルゴリズムなど、 色々勉強になると思います。 カットイン座標の算出 カットインの座標の算出方法 カットイン加速度算出のソースコード あると便利なカットイン座標の算出方法について。 曲線 曲線 1つ上のレベルのシューティングを作るうえで欠かせない「曲線」について。 キャラの管理・状態遷移 有限状態機械(Finite State Machine) 「状態遷移」を意識してコーディングすると、見通しの良いプログラムになります。 具体的には、h
http://www.gamasutra.com/features/20020821/dawson_pfv.htm を見て知りましたー。 Pythonだとこんなに簡単にマイクロスレッドが、実装できてしまうんですねー。 …今まで知らなかったのが悔やまれます、、。 ウサギとカメのゲーム #!/usr/bin/env python # -*- coding: utf-8 -*- # Pytho 2.2だとこの文が必要 from __future__ import generators class Task: """ ゲームタスク """ def __init__(self, name, x, dx): """ コンストラクタ """ self.__genHandle = self.__updateFunction() self.name = name # 名前 self.x = x # 座標 s
ここは、ゲームプログラム本を買うのが趣味な私が、 オススメのゲームプログラム本を紹介する日です。 目次 初級(ゲームを作ってみたい人) 中級(ゲームをいくつか作ってみた人) 上級(高度なゲームを作りたい人) おしい!(好みが合えば買いです) <最終更新日:2010/01/28> 最初は、ゲームプログラムをあまり意識しないツールで作るといいと思います。 「ゲームを作りたい!!」 と思ってプログラムを始めるわけですから、「ゲームの完成」というゴールが近い方がいいのです。 例えば、CやJavaなどのプログラム言語でゲームを作るとすると、 「画像の表示処理の方法」や「言語仕様」を理解するだけでも半年はかかります。 (私は2年たっても理解できてません…(´Д`;) …目指すのは、プログラム言語の研究ではなくて、「ゲームの完成」のはずですよね? (と、自分に言い聞かすw) ということで、 具体的には、
少し前に、 探索をして素材を見つけて薬を調合する、 というゲームをやっていました。 そのゲームをやってて気になったのが、 素材の取得方法が完全に乱数任せ になっていたことでした。 そのため、ある薬を調合したいのに、 元となる素材が全然手に入らず、 著しく評価が下がってしまう事が多々ありました。 そうなるとリセット、リセットで、 だんだん嫌になって、そのゲームを止めてしまいました。 そのゲームはそれ以外の部分はとてもデキが良かっただけに、 とても残念でした。 という訳で、ゲームデザインにおける乱数、が今回のテーマなのです。 ゲームデザインにおける乱数とは? kenmoの個人的な意見は、乱数は 手抜き であると考えます。 なぜなら、ゲームは決められたパターンを覚え、 そこから攻略法を考え出し、 自分なりの方法でクリアすることを楽しむのがゲーム、 と考えているからです。 確かに乱数にはギャンブル
マップエディタについて調べてみました。 たぶん、こんな感じではないかと…(´∀`; マップエディタの必須機能 自作するとしたら、最低これだけは作らないといけないですね。 マップチップ読み込み マップデータ読み書き マウスでチップをぷちぷち置くことができる マップエディタにあるといい機能 ここまで実装すると、立派な(自慢できる?)ツールですね。 Undo ルーペ cut,copy,paste 矩形cut,copy,paste 属性、フラグの追加(またはレイヤ) オススメマップエディタ 結構すごいツールがありますね。 個人的に使い勝手が良かったツールをピックアップします。 Platinum http://www.valley.ne.jp/~valencia/ ルーペ cut,copy,paste 矩形cut,copy,paste 全体マップビューあり レイヤ Undo,Redo 出力形式 BM
ゲームを作る際に、デザインパターンをどうやって適用するのか、 といったことを書いた日のまとめです。 基本 まとめ 参考書籍 リンク集 パターンごとの分類 目的 生成 構造 振る舞い 範囲 クラス FactoryMethod Adapter Interpreter TemplateMethod オブジェクト AbstractFactory Builder Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy ChainOfResponsibility Command Iterator Mediator Memento Observer State Strategy Visitor id:kenmo:20050625#p1 まずはここからでしょうか。 オブジェクト指向の重要な概念である、 「継
日経ソフトフェアで紹介されていた、VTKPythonを使ってみました。 インストールの方法はこちらがとっても詳しいです。 http://www.cubelab.com/ymasuda/python/vtkpython/installation.html VTKPythonっていうのは、簡単に3Dグラフィックを表示するライブラリのVTKを Pythonに移植したものです。 3Dグラフィックの簡易な実行環境が欲しかったので、 ちょうど良かったです♪(´▽`) …Direct3Dで、簡単な実験をするのはちょっと大袈裟なんですよね。 どれぐらい簡単なのかというと、、、 (実行サンプルに入っているソースです) import vtk import time # 円錐オブジェクトを作る! cone = vtk.vtkConeSource() cone.SetHeight( 3.0 ) # 高さ cone
id:samonaさんがhttp://d.hatena.ne.jp/samona/20050611#p2で ネトゲがもたらす利点について言及されています。 私もネトゲには、光と影があると思います。 今日は光の部分について、お話ししたいと思います。 例えば、現実世界では、人と人との利害がぶつかり、議論になることがあります。 しかし、私は議論が得意ではありません。 そもそも、理論立てて話を組み立てることがとっても苦手です。 人狼BBSは私にそのことに気づかさせてくれて、 それに対するいくつかの解を導いてくれたような気がします。 それが、村人勝利か狼側勝利かの分かれ目となった、 最終日の議論です。 私の推理に対して、以下の発言がありました。 う、うぅむ、ホントにペーター村人騙りの可能性を持ち出してきたか。 とりあえず、もしそうならば、何を思ってペーターが村人騙りをしたのか、 その理由付けがきっち
http://www5.atwiki.jp/yaruhara/pages/89.html 最近、「アジャイル開発」というキーワードが気になって、勢いでまとめてみました。 レベルデザインについてまとめてみましたので、興味のある方はどうぞー。 http://www5.atwiki.jp/yaruhara/pages/84.html こっちを見てくれる人もまだいらっしゃるみたいなので、 有益と思われる情報はこちらにものせるようにします。 http://www.h6.dion.ne.jp/~game296o/DXG_No24_WhatIsFrame.html を参考にXファイルの構造をお勉強。 「フレーム」と「アニメーション」 Xファイルは、 フレーム アニメーション でモデルを管理しているみたい。 そして、 それぞれが別の次元で管理されている というのがポイントになりそうな感じです。 大まかな図
このページを最初にブックマークしてみませんか?
『ゲームプログラムめも日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く