この記事は Ruby Game Developing Advent Calendar 2016 の18日目の記事です。今日は shinokaro が担当します。
前日は t_tutiya さんの ゲームプログラミングの新手法「コード注入式ステートマシン」の可能性を探る(意図的な煽りタイトル) だったのでした…。
はい、すみません、今26日です。この記事は遅刻しました。
# このコードで作成されたフォルダーの削除にはGIT CMDを管理者権限で起動し、 | |
# rmdir c:\LongestPath /s | |
# を実行する。この方法以外で削除するとエラーが出ることがある。(アプリが最大パスに対応できていない) | |
Dir.chdir("c:\\") | |
first_dir = "LongestPath" | |
Dir.mkdir(first_dir) unless Dir.exist?(first_dir) | |
Dir.chdir(first_dir) | |
len = 247 | |
loop do |
この記事は Ruby Game Developing Advent Calendar 2016 の18日目の記事です。今日は shinokaro が担当します。
前日は t_tutiya さんの ゲームプログラミングの新手法「コード注入式ステートマシン」の可能性を探る(意図的な煽りタイトル) だったのでした…。
はい、すみません、今26日です。この記事は遅刻しました。
この記事は Ruby Game Developing Advent Calendar 2016 の4日目の記事です。今日は shinokaro が担当します。
前日は aoitaku さんのはじめての司プログラミングでした。aoitaku さん、今年も Advent Calendar を開催してくださってありがとうございます!
ゲーム・プログラミング、特にコードだけでゲーム全体を構築(要は即席制作という事)しようとすると最初にぶつかる問題があります。それは初期値です、例えばキャラクターの最初の表示位置です。ゲーム・フレームワーク上で作業しているならば初期値を設定できるように設定ウィンドウ(GUI)や設定ファイルが用意されているでしょう。
設定システムを自作で準備しようとすると結構な手間です。まずはゲームを立ち上げることに集中するべきです(素晴らしい思い付きを忘れる前に)。さらに Ruby では即時にコード実行(コマンドを入力してエンター・キーを叩く!)されるので、操作が必要な数値設定環境よりコード本体に直接記述できる方が望まれます(私は望みました)。
それに Ruby らしく初期値を書くならば Ruby on Rails のように設定ファイルより設定コードで書きたいはずです。設定コードならば面倒な相対値計算から解放されます。計算式や変数を使って値の意味を明示したり、他のオブジェクトを元に値を算出したりもできます。
DXRuby Advent Calendar 2015も6日目になりました。本日は、しのかろがお送りします。
前日はあおいたくさんの記事でした。あおいたくさんには昨年のDXRuby Advent Calendaで大変お世話になりました。(※詳細は今年の記事、8の項目参照)。あの時は私がGitの使い方に不慣れであった事もあり、ご迷惑をおかけしたと思います。リファクタリングのお付き合い、ありがとうございました。
デジゲー博とはインディー・ゲームの展示発表イベントです。インディー・ゲームとは自主制作ゲームのことです。開催日は11月15日、会場は秋葉原UDKです。
当日は朝から雨が降っていましたが、会場は入場開始から大入りでイベント閉会まで人がたくさんいました。内容としては今年も色々な自主制作ゲームが発表されていました。テーブルサイズの大型モニターを利用したゲームなんかもありました。特殊なデバイスを利用したゲームをプレイアブル展示ができるのがイベントの醍醐味ですね!
=begin | |
module OggVorbisはoggやvorbisにあるヘッダーファイルからコピペ書き換えした。 | |
mirichi氏のSoundTestクラスを使う必要がある。 | |
http://d.hatena.ne.jp/mirichi/20150103/p1 | |
これをコンパイルしたり、必要なdllを用意、パスを通すのは各自で行う。 | |
=end | |
=begin | |
/******************************************************************** |
DXRuby Advent Calendar 2014も18日目となりました。
前日の記事は、土井ヴぃさんの「遺伝的アルゴリズムを使ってゲームのAIを作る」です。
記事中のAIに使われている遺伝的アルゴリズムというのは、それなりに歴史があるアルゴリズムです。ですが、一般的に使用されているアルゴリズムではないようです。もちろん、影ながら使われている場合は多いとは思います。
採用例が少ない事情として、それなりにメモリーを使用すること、試行回数が必要なので時間がかかること、が考えられます。これらは現在のPCであれば、たいした問題ではないのですが、今までのゲーム専用機はメモリー量が小さいため遺伝的アルゴリズムを積極的に採用しなかったのでしょう。
さて、今回の内容はサウンド、音声についてです。内容はDXRubyから離れた内容となりますが、DXRubyの主目的がゲーム作成という事もあり、ゲーム・サウンド・プログラミングの観点から記事にしました。
DXRubyにも音を出すための仕組みがあります。標準ライブラリーであるSoundクラスやmirichさんが提供されているAyame、bass、voxのRubyバインディングなどです。
個人的にこれらのRuby用ライブラリーに不満がありました。その理由は逐次ローディングや特定区間ループがない、などなど多数の問題からです。そのため一度はDXRuby掲示板でサウンド周りについて質問したこともあります。
#DXRuby機能リクエスト
DXRuby Advent Calendar 2014、4日目は「しのかろ」が記事をお送りします。
今回はDXRubyへの機能リクエストです。機能リクエストを記事としたのはTwitterでは文字数の制限がありますし、掲示板では複数の話題を同時に扱いづらいためです。
##前日の記事について
前日の記事はmieki256さんの「DXRubyとスプライトエディタ」でした。スライドショーによるプレゼンテーションなど記事としての充実度も素晴らしいものでした。内容はボーン式の2Dアニメーションの実装です。
私が製作しているゲームエンジンはADV形式を前提としていました。ですから表情差分などは本当の差分とせず全身入り画像で処理する方向です。理由としてはキャラクターの立ち絵の場合、この方がイラストレーターが作業しやすくデーター納品も簡単だからです。
しかし、記事にあったボーン式アニメーションを見て「これもあり」と考え直しました。これならばパーツデータの使い回しが可能ですし、アニメーター側の作業で演出を入れることができます。
#デジゲー博2014イベント・リポート インディー・ゲームとDXRuby
DXRuby Advent Calendar 2014 初日はあおいたくさんの記事でした。内容は8時間で作成したシューティングゲームです。さっそくダウンロードして遊んで見てください。
さて、今回2日目は「しのかろ」が記事をお送りします。私は先月11月16日に東京、秋葉原にて開催したイベント、デジゲー博2014に参加してきました。そのレポートをお送りします。
##デジゲー博ってどんなイベント?
デジゲー博は、インディー・ゲームを作っている、遊んでいる、関心がある人たちへ向けたイベントです。ではインディー・ゲームって何でしょうか? それはインディー=独立系、つまり個人または個人集団によって製作されたゲームということです。同人ゲームと言ったほうが判りやすい人もいるかもしれません。つまり、DXRubyに関心があってゲームを作っている皆さんのことですよ!
当日は有名サークルやインディ・ゲーム市場を支えるゲーム関連企業も参加していました。サークルの出展内容としてOculus Riftによるゲームデモを行うサークルもあり、来客者は順番待ちをしてプレイしていました。もちろんSTG、RPG、アドベンチャーゲーム、ノベルゲームなどの出展もありました。
イベント会場の様子はIT系、ゲーム系のインターネット・ニュースサイトが写真と共に記事にしているようです。検索して見てみるとよいでしょう。ここでは幾つか記事へのリンクを紹介します。
$ glxinfo | |
name of display: :0 | |
display: :0 screen: 0 | |
direct rendering: Yes | |
server glx vendor string: ATI | |
server glx version string: 1.4 | |
server glx extensions: | |
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, | |
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, | |
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGIS_multisample, |
$ ./pmx ./KumaMku_Ver1.3/miku.pmx ./KumaMku_Ver1.3/popipo.vmd | |
PMX Ver. 2 | |
Loading vertices...done. | |
Loading faces...done. | |
Loading textures...done. | |
Loading materials...done. | |
Loading bones...done. | |
Loading morphs...done | |
Loading display frame...done | |
Loading rigid body...done |