- Author
-
しのかろ(Twitter@shinokaro)
- URL
- 加筆修正
-
2013-12-26
DXRuby Advent Calendar 2013 の21日目は“しのかろ”が記事をお送りします。前日はaotakさんが ゲーム作りました という記事を書かれました。内容は、実際にゲームを作る上での思考過程についてでした。
ゲームを完成させるには他の作品ジャンルに比べて時間が掛かります。
class Script < Fiber | |
def self.new(*dsl_mods, &block) | |
Class.new(self).tap do |c| | |
# DSLメソッド郡をextendする、DSLを組み合わせ可能にしている | |
dsl_mods.each{ |mod| extend(mod) } | |
# 生成したクラスではnewメソッドでインスタンスを生成するように書き換える | |
c.class_eval do | |
def self.new(*args, &block) |
=begin | |
DXRuby Advent Calendar 2013 7日目 | |
title: DXRubyのSpriteを継承して拡張する方法について | |
author: しのかろ(Twitter@shinokaro) | |
DXRuby Advent Calendar 2013 も7日目。 | |
1週間目の終わりは“しのかろ”が記事をお送りします。 | |
世にゲーム・プログラマー多数あり、と言えども実際のコードにおいては、 | |
文章の形で公開されることは稀です。 | |
ですから、今年のこのイベントで公開される記事を楽しみに毎日を過ごしています。 |
しのかろ(Twitter@shinokaro)
2013-12-26
DXRuby Advent Calendar 2013 の21日目は“しのかろ”が記事をお送りします。前日はaotakさんが ゲーム作りました という記事を書かれました。内容は、実際にゲームを作る上での思考過程についてでした。
ゲームを完成させるには他の作品ジャンルに比べて時間が掛かります。
require "dxruby" | |
f = Fiber.new do | |
loop do | |
8.times do | |
Fiber.yield 0 # alpha 透明度, 0は透明。試すなら128(半透明)が分かりやすい | |
Fiber.yield 255 # red | |
Fiber.yield 0 # green | |
Fiber.yield 0 # blue | |
end |
require "dxruby" | |
# extend | |
class Array | |
def to_sound | |
::DXRuby::SoundEffect.new(self) | |
end | |
end | |
class Object |
$ ./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 |
$ 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, |
#デジゲー博2014イベント・リポート インディー・ゲームとDXRuby
DXRuby Advent Calendar 2014 初日はあおいたくさんの記事でした。内容は8時間で作成したシューティングゲームです。さっそくダウンロードして遊んで見てください。
さて、今回2日目は「しのかろ」が記事をお送りします。私は先月11月16日に東京、秋葉原にて開催したイベント、デジゲー博2014に参加してきました。そのレポートをお送りします。
##デジゲー博ってどんなイベント?
デジゲー博は、インディー・ゲームを作っている、遊んでいる、関心がある人たちへ向けたイベントです。ではインディー・ゲームって何でしょうか? それはインディー=独立系、つまり個人または個人集団によって製作されたゲームということです。同人ゲームと言ったほうが判りやすい人もいるかもしれません。つまり、DXRubyに関心があってゲームを作っている皆さんのことですよ!
当日は有名サークルやインディ・ゲーム市場を支えるゲーム関連企業も参加していました。サークルの出展内容としてOculus Riftによるゲームデモを行うサークルもあり、来客者は順番待ちをしてプレイしていました。もちろんSTG、RPG、アドベンチャーゲーム、ノベルゲームなどの出展もありました。
イベント会場の様子はIT系、ゲーム系のインターネット・ニュースサイトが写真と共に記事にしているようです。検索して見てみるとよいでしょう。ここでは幾つか記事へのリンクを紹介します。
#DXRuby機能リクエスト
DXRuby Advent Calendar 2014、4日目は「しのかろ」が記事をお送りします。
今回はDXRubyへの機能リクエストです。機能リクエストを記事としたのはTwitterでは文字数の制限がありますし、掲示板では複数の話題を同時に扱いづらいためです。
##前日の記事について
前日の記事はmieki256さんの「DXRubyとスプライトエディタ」でした。スライドショーによるプレゼンテーションなど記事としての充実度も素晴らしいものでした。内容はボーン式の2Dアニメーションの実装です。
私が製作しているゲームエンジンはADV形式を前提としていました。ですから表情差分などは本当の差分とせず全身入り画像で処理する方向です。理由としてはキャラクターの立ち絵の場合、この方がイラストレーターが作業しやすくデーター納品も簡単だからです。
しかし、記事にあったボーン式アニメーションを見て「これもあり」と考え直しました。これならばパーツデータの使い回しが可能ですし、アニメーター側の作業で演出を入れることができます。
DXRuby Advent Calendar 2014も18日目となりました。
前日の記事は、土井ヴぃさんの「遺伝的アルゴリズムを使ってゲームのAIを作る」です。
記事中のAIに使われている遺伝的アルゴリズムというのは、それなりに歴史があるアルゴリズムです。ですが、一般的に使用されているアルゴリズムではないようです。もちろん、影ながら使われている場合は多いとは思います。
採用例が少ない事情として、それなりにメモリーを使用すること、試行回数が必要なので時間がかかること、が考えられます。これらは現在のPCであれば、たいした問題ではないのですが、今までのゲーム専用機はメモリー量が小さいため遺伝的アルゴリズムを積極的に採用しなかったのでしょう。
さて、今回の内容はサウンド、音声についてです。内容はDXRubyから離れた内容となりますが、DXRubyの主目的がゲーム作成という事もあり、ゲーム・サウンド・プログラミングの観点から記事にしました。
DXRubyにも音を出すための仕組みがあります。標準ライブラリーであるSoundクラスやmirichさんが提供されているAyame、bass、voxのRubyバインディングなどです。
個人的にこれらのRuby用ライブラリーに不満がありました。その理由は逐次ローディングや特定区間ループがない、などなど多数の問題からです。そのため一度はDXRuby掲示板でサウンド周りについて質問したこともあります。