Skip to content

Instantly share code, notes, and snippets.

View shinokaro's full-sized avatar

shinokaro shinokaro

View GitHub Profile
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)
@shinokaro
shinokaro / gist:7827341
Created December 6, 2013 16:10
DXRuby Advent Calendar 2013 7日目 title: DXRubyのSpriteを継承して拡張する方法について author: しのかろ(Twitter@shinokaro)
=begin
DXRuby Advent Calendar 2013 7日目
title: DXRubyのSpriteを継承して拡張する方法について
author: しのかろ(Twitter@shinokaro)
 DXRuby Advent Calendar 2013 も7日目。
 1週間目の終わりは“しのかろ”が記事をお送りします。
 世にゲーム・プログラマー多数あり、と言えども実際のコードにおいては、
文章の形で公開されることは稀です。
 ですから、今年のこのイベントで公開される記事を楽しみに毎日を過ごしています。

DXRubyからのHLSL使用方法 (DXRuby Advent Calendar 2013 21日目)

Author

しのかろ(Twitter@shinokaro)

URL

gist.github.com/shinokaro/8069531

加筆修正

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
@shinokaro
shinokaro / SoundGeneratorIdea.rb
Created December 22, 2013 14:51
Rubyコードによるサウンド・ジェネレーター試作版
require "dxruby"
# extend
class Array
def to_sound
::DXRuby::SoundEffect.new(self)
end
end
class Object
@shinokaro
shinokaro / gist:8554165
Created January 22, 2014 06:12
PMX Model「熊音ミク[初音ミクKumazoモデル]Ver1.3」 http://bowlroll.net/up/dl4180 Motion「ぽっぴっぽー モーション」 http://bowlroll.net/up/dl2328 ウィンドウ表示後、画面が真っ白。
$ ./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
@shinokaro
shinokaro / gist:8554359
Created January 22, 2014 06:38
MyPC glxinfo
$ 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,
@shinokaro
shinokaro / gist:63d2484ba7163f0cdefd
Last active August 29, 2015 14:10
DXRuby Advent Calendar 2014 デジゲー博2014イベント・リポート インディー・ゲームとDXRuby

#デジゲー博2014イベント・リポート インディー・ゲームとDXRuby  DXRuby Advent Calendar 2014 初日はあおいたくさんの記事でした。内容は8時間で作成したシューティングゲームです。さっそくダウンロードして遊んで見てください。
 さて、今回2日目は「しのかろ」が記事をお送りします。私は先月11月16日に東京、秋葉原にて開催したイベント、デジゲー博2014に参加してきました。そのレポートをお送りします。 ##デジゲー博ってどんなイベント?  デジゲー博は、インディー・ゲームを作っている、遊んでいる、関心がある人たちへ向けたイベントです。ではインディー・ゲームって何でしょうか? それはインディー=独立系、つまり個人または個人集団によって製作されたゲームということです。同人ゲームと言ったほうが判りやすい人もいるかもしれません。つまり、DXRubyに関心があってゲームを作っている皆さんのことですよ!
 当日は有名サークルやインディ・ゲーム市場を支えるゲーム関連企業も参加していました。サークルの出展内容としてOculus Riftによるゲームデモを行うサークルもあり、来客者は順番待ちをしてプレイしていました。もちろんSTG、RPG、アドベンチャーゲーム、ノベルゲームなどの出展もありました。
 イベント会場の様子はIT系、ゲーム系のインターネット・ニュースサイトが写真と共に記事にしているようです。検索して見てみるとよいでしょう。ここでは幾つか記事へのリンクを紹介します。

  • [もっともホットな同人&インディーゲームがアキバに集結!“デジゲー博 2014”注目ゲームチョイス(2D編)【デジゲー博 2014】(ファミ通.com)](http://www.famitsu.com/news/201
@shinokaro
shinokaro / gist:a574e5d2c5cc11f0f88a
Created December 3, 2014 23:04
DXRuby Advent Calendar 2014 DXRuby機能リクエスト

#DXRuby機能リクエスト  DXRuby Advent Calendar 2014、4日目は「しのかろ」が記事をお送りします。

 今回はDXRubyへの機能リクエストです。機能リクエストを記事としたのはTwitterでは文字数の制限がありますし、掲示板では複数の話題を同時に扱いづらいためです。

##前日の記事について  前日の記事はmieki256さんの「DXRubyとスプライトエディタ」でした。スライドショーによるプレゼンテーションなど記事としての充実度も素晴らしいものでした。内容はボーン式の2Dアニメーションの実装です。

 私が製作しているゲームエンジンはADV形式を前提としていました。ですから表情差分などは本当の差分とせず全身入り画像で処理する方向です。理由としてはキャラクターの立ち絵の場合、この方がイラストレーターが作業しやすくデーター納品も簡単だからです。
 しかし、記事にあったボーン式アニメーションを見て「これもあり」と考え直しました。これならばパーツデータの使い回しが可能ですし、アニメーター側の作業で演出を入れることができます。

@shinokaro
shinokaro / gist:2083a8eef23d3571f2af
Created December 18, 2014 17:27
DXRuby Advent Calendar 2014 ゲーム・プログラミングとサウンドについて

ゲーム・プログラミングとサウンドについて

 DXRuby Advent Calendar 2014も18日目となりました。
 前日の記事は、土井ヴぃさんの「遺伝的アルゴリズムを使ってゲームのAIを作る」です。
 記事中のAIに使われている遺伝的アルゴリズムというのは、それなりに歴史があるアルゴリズムです。ですが、一般的に使用されているアルゴリズムではないようです。もちろん、影ながら使われている場合は多いとは思います。
 採用例が少ない事情として、それなりにメモリーを使用すること、試行回数が必要なので時間がかかること、が考えられます。これらは現在のPCであれば、たいした問題ではないのですが、今までのゲーム専用機はメモリー量が小さいため遺伝的アルゴリズムを積極的に採用しなかったのでしょう。

 さて、今回の内容はサウンド、音声についてです。内容はDXRubyから離れた内容となりますが、DXRubyの主目的がゲーム作成という事もあり、ゲーム・サウンド・プログラミングの観点から記事にしました。

サウンド系ライブラリー

 DXRubyにも音を出すための仕組みがあります。標準ライブラリーであるSoundクラスやmirichさんが提供されているAyame、bass、voxのRubyバインディングなどです。
 個人的にこれらのRuby用ライブラリーに不満がありました。その理由は逐次ローディングや特定区間ループがない、などなど多数の問題からです。そのため一度はDXRuby掲示板でサウンド周りについて質問したこともあります。