Skip to content

Instantly share code, notes, and snippets.

Avatar

shinokaro shinokaro

View GitHub Profile
@shinokaro
shinokaro / gist:7a1bcd3a2eb50233bb1e54a50ca7112d
Last active Dec 25, 2016
RGDAC2016 (18th day) Ruby っぽいゲーム・プログラミング Tips その2 (簡単にキャラクターイメージを生成する)
View gist:7a1bcd3a2eb50233bb1e54a50ca7112d

RGDAC2016 (18th day) Ruby っぽいゲーム・プログラミング Tips その2

 この記事は Ruby Game Developing Advent Calendar 2016 の18日目の記事です。今日は shinokaro が担当します。

 前日は t_tutiya さんの ゲームプログラミングの新手法「コード注入式ステートマシン」の可能性を探る(意図的な煽りタイトル) だったのでした…。

 はい、すみません、今26日です。この記事は遅刻しました。

はじめに

@shinokaro
shinokaro / gist:a50e023a101c6e31a2be52bd7fe2581e
Last active Dec 3, 2016
RGDAC2016 (4th day) Ruby っぽいゲーム・プログラミング Tips (初期値設定に tap メソッドを使う)
View gist:a50e023a101c6e31a2be52bd7fe2581e

RGDAC2016 (4th day) Ruby っぽいゲーム・プログラミング Tips

 この記事は Ruby Game Developing Advent Calendar 2016 の4日目の記事です。今日は shinokaro が担当します。

 前日は aoitaku さんのはじめての司プログラミングでした。aoitaku さん、今年も Advent Calendar を開催してくださってありがとうございます!

はじめに

 ゲーム・プログラミング、特にコードだけでゲーム全体を構築(要は即席制作という事)しようとすると最初にぶつかる問題があります。それは初期値です、例えばキャラクターの最初の表示位置です。ゲーム・フレームワーク上で作業しているならば初期値を設定できるように設定ウィンドウ(GUI)や設定ファイルが用意されているでしょう。

 設定システムを自作で準備しようとすると結構な手間です。まずはゲームを立ち上げることに集中するべきです(素晴らしい思い付きを忘れる前に)。さらに Ruby では即時にコード実行(コマンドを入力してエンター・キーを叩く!)されるので、操作が必要な数値設定環境よりコード本体に直接記述できる方が望まれます(私は望みました)。

 それに Ruby らしく初期値を書くならば Ruby on Rails のように設定ファイルより設定コードで書きたいはずです。設定コードならば面倒な相対値計算から解放されます。計算式や変数を使って値の意味を明示したり、他のオブジェクトを元に値を算出したりもできます。

@shinokaro
shinokaro / gist:4997033b6d344d7d8b6e
Last active Dec 6, 2015
DXRuby Advent Calendar 2015 デジゲー博のレポートとその時使用したFiberテクニック
View gist:4997033b6d344d7d8b6e

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

はじめに

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

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

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

デジゲー博2015について

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

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

@shinokaro
shinokaro / gist:0c46122e3b80b0c59c92
Created Jan 16, 2015
mirichi氏のSoundTestを利用してoggファイルのストリーム再生をテスト。原典との違いはOggVorbisへのバインディングをfiddleで書いたこと。
View gist:0c46122e3b80b0c59c92
=begin
module OggVorbisはoggやvorbisにあるヘッダーファイルからコピペ書き換えした。
mirichi氏のSoundTestクラスを使う必要がある。
http://d.hatena.ne.jp/mirichi/20150103/p1
これをコンパイルしたり、必要なdllを用意、パスを通すのは各自で行う。
=end
=begin
/********************************************************************
@shinokaro
shinokaro / gist:2083a8eef23d3571f2af
Created Dec 18, 2014
DXRuby Advent Calendar 2014 ゲーム・プログラミングとサウンドについて
View gist:2083a8eef23d3571f2af

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

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

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

サウンド系ライブラリー

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

@shinokaro
shinokaro / gist:a574e5d2c5cc11f0f88a
Created Dec 3, 2014
DXRuby Advent Calendar 2014 DXRuby機能リクエスト
View gist:a574e5d2c5cc11f0f88a

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

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

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

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

@shinokaro
shinokaro / gist:63d2484ba7163f0cdefd
Last active Aug 29, 2015
DXRuby Advent Calendar 2014 デジゲー博2014イベント・リポート インディー・ゲームとDXRuby
View gist:63d2484ba7163f0cdefd

#デジゲー博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
View gist:8554359
$ 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:8554165
Created Jan 22, 2014
PMX Model「熊音ミク[初音ミクKumazoモデル]Ver1.3」 http://bowlroll.net/up/dl4180 Motion「ぽっぴっぽー モーション」 http://bowlroll.net/up/dl2328 ウィンドウ表示後、画面が真っ白。
View gist:8554165
$ ./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 / SoundGeneratorIdea.rb
Created Dec 22, 2013
Rubyコードによるサウンド・ジェネレーター試作版
View SoundGeneratorIdea.rb
require "dxruby"
# extend
class Array
def to_sound
::DXRuby::SoundEffect.new(self)
end
end
class Object