Skip to content

Instantly share code, notes, and snippets.

View shinokaro's full-sized avatar

shinokaro shinokaro

View GitHub Profile
@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掲示板でサウンド周りについて質問したこともあります。

@shinokaro
shinokaro / gist:0c46122e3b80b0c59c92
Created January 16, 2015 13:47
mirichi氏のSoundTestを利用してoggファイルのストリーム再生をテスト。原典との違いはOggVorbisへのバインディングをfiddleで書いたこと。
=begin
module OggVorbisはoggやvorbisにあるヘッダーファイルからコピペ書き換えした。
mirichi氏のSoundTestクラスを使う必要がある。
http://d.hatena.ne.jp/mirichi/20150103/p1
これをコンパイルしたり、必要なdllを用意、パスを通すのは各自で行う。
=end
=begin
/********************************************************************
@shinokaro
shinokaro / gist:4997033b6d344d7d8b6e
Last active December 6, 2015 11:51
DXRuby Advent Calendar 2015 デジゲー博のレポートとその時使用したFiberテクニック

デジゲー博のレポートとその時使用したFiberテクニック

はじめに

DXRuby Advent Calendar 2015も6日目になりました。本日は、しのかろがお送りします。

前日はあおいたくさんの記事でした。あおいたくさんには昨年のDXRuby Advent Calendaで大変お世話になりました。(※詳細は今年の記事、8の項目参照)。あの時は私がGitの使い方に不慣れであった事もあり、ご迷惑をおかけしたと思います。リファクタリングのお付き合い、ありがとうございました。

デジゲー博2015参加レポート

デジゲー博2015について

デジゲー博とはインディー・ゲームの展示発表イベントです。インディー・ゲームとは自主制作ゲームのことです。開催日は11月15日、会場は秋葉原UDKです。

当日は朝から雨が降っていましたが、会場は入場開始から大入りでイベント閉会まで人がたくさんいました。内容としては今年も色々な自主制作ゲームが発表されていました。テーブルサイズの大型モニターを利用したゲームなんかもありました。特殊なデバイスを利用したゲームをプレイアブル展示ができるのがイベントの醍醐味ですね!

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