ゲーム用ライブラリー「ドレミッション♯」 (doremiSsion# - Beyond the Perfect 5th -) は、J.S.BUFFER が開発した独自の C++ 関数ライブラリーです。
本サイト「BWV (バッファ作品目録) 」で公開している、いくつかのゲームで実際に運用しています。
メジャーバージョンアップを実施し、「♯」の文字が後ろに付きました。画像の拡大・縮小機能 など、いくつかの機能が追加され、パワーアップしています。
今後も、本ライブラリーのバージョンアップを行いつつ、本サイトのゲーム制作で運用していく予定です。
自作ゲーム用に開発した独自のライブラリーため、一般公開向けの汎用性が確保されていませんが、情報公開の観点から一般公開しています。
目次
注意点
本ライブラリーは、説明書記載のライセンス事項さえ守っていただければ、 商用/非商用問わず誰でも自由に利用することができます。
本ライブラリーの付属ファイル、ツール類には、再配布に制限があるものも含まれているためご注意下さい。
本ライブラリーは、もともと作者である J.S.BUFFER 自身が自作ゲーム用に開発したものであるため、他者の使用を前提にしたつくりにはなっていません。あくまでも情報公開の一環として公開したライブラリーである点にご留意下さい。
同様の理由から、本ライブラリーは一般的なフリーソフトとしての範疇のサポート (機能追加要求、修正要求、使用方法の質問等) は受付しかねます。 導入の際は、原則「自己責任」でお願いします。
ちなみに、C/C++ を覚えたての方で、初めてゲームを作ってみたい…と思われる初学者の方には、本ライブラリーはおすすめできません。
C/C++ 初学者の方には、入門記事も豊富で比較的手軽に導入できる「DXライブラリ 」をおすすめします。 本ライブラリー「ドレミッション♯」はドキュメントがほとんど整備されておらず、初学者には導入が厳しいと思いますのでご注意ください。
概要
ゲーム用ライブラリー「ドレミッション♯」(doremiSsion#) は、Windows ゲームアプリケーション開発用の C++ 関数ライブラリー群 です。
作者である J.S.BUFFER 自身が、自作ゲームの制作用に開発した「BWV (バッファ作品目録)」独自の関数ライブラリーで、C++ のソースコードとして公開・提供しています。
「♯」で追加された拡大・縮小機能で、付属サンプルプログラム「NikaDius SFC」のように疑似 3D 描画が可能。
本ライブラリーはレトロ風ゲームの開発に適しており、最大の特徴として BGM 再生用の簡易ソフトウェア音源「DoReMIDI」 を実装しています。
一般的に使われている MIDI や、フリーでも高機能な「ピストンコラージュ」 (Pixel 氏作) などに比べると非常にシンプルな音源ですが、楽譜情報に基づいて自前の音色波形を可変音程で再生するだけの音源であるため、配布ファイルサイズの小ささと、あらゆる環境での音の再現性の両方を満足できます。 (MP3 や ogg などを採用したゲームに比べて、ファイルサイズ面で圧倒的に有利です)
特に、ファミコン音源を模したデューティー比可変の矩形波や、振幅の粗い三角波などをあらかじめ内蔵しているため、レトロ風の BGM に強い音源となっています。
また、曲のループ位置を指定できるため、曲の終わりでイントロに戻ることのないシームレスなループ再生が可能 です。
支援ツール「ドレミヒェン」で MML をコンパイルして再生確認しながら、ゲーム BGM の打ち込みが可能。
その他にも、
DirectSound 8 を使用した効果音再生 を行う関数群「doremiMi」 (※「ドレミ」+「耳」=「ドレミミ」)
GDI ベースでソフトウェア演算による 16bit 画像描画 を行う関数群「doremiRu」 (※「ドレミ」+「見る」=「ドレミル」)
が含まれており、レトロ風ゲームの開発をサポートしてくれます。
レトロな味を出してくれるドットの拡大描画 (1 〜 4 倍) が可能なメインウィンドウ
ゲームの実行中であっても動的に変更可能なフレームレート設定機能 (10 〜 100 fps)
基本的なキーボード、マウス入力 受付機能
さらに、ドレミッション♯からは描画対象画像の拡大・縮小機能 もサポート
なども組み込まれているため、Win32API や DirectX などの知識がなくても C/C++ の知識さえあればゲームプログラミングできるようになっています。
癖のあるライブラリー (例えば、画像や効果音等は同梱のツール「ドレミヒェン」を使用して C++ ソース化することが前提) であることや、ドキュメントがあまり整っていないことが難点ですが、ライブラリー本体およびサンプルのソースコードにはコメントが密に書かれているため、それらが説明書代わりになってくれることでしょう。
一般公開を想定したつくりにはなっていない独自のゲーム用関数ライブラリーですが、それでも使ってみたいという方がおられたら使ってみて下さい。ライブラリー本体は BSD ライクな緩めのライセンス方式 (詳細は、ライブラリー同梱のドキュメントを参照) なので、気軽に扱うことができます。
ダウンロード
下記のリンクから、ゲーム用ライブラリー「ドレミッション♯」をダウンロードできます。
doremiSsion2_20170808.zip - 1,721,792 bytes
2017/08/08 版 (2017/08/08)
ソースコードのコメント整理。
ドキュメントタグを使用するようにし、若干の書式変更を実施。
ライブラリー運用支援ツール「ドレミヒェン」の演奏中の音量表示において、Log スケール側 (dB 表示) の下限を -91.2 dB から -48 dB に変更。
公開種別:フリーソフト (各種ライセンス混在)
ライブラリー本体は BSD スタイルのライセンス扱いです。
ライブラリーの付属品 (ドレミヒェンや、各種サンプルデータなど) は、一般的なフリーソフトと同様に再利用の制限を行っているため、注意して下さい。
他者の著作物として M+ BITMAP FONTS および libpng が含まれているため、ライセンスの取り扱いには注意して下さい。
DirectSound 8.0 以降 のコードをコンパイル可能な Windows 環境
作者の J.S.BUFFER 自身は、2015 年 3 月 29 日現在、Microsoft Visual C++ 2012 Express で運用しています。
ライセンス
本ライブラリーの文字列描画処理においては「M+ BITMAP FONTS 」を使用しています。したがって、本ライブラリーを使用する際は、下記のライセンスにも従う必要があります。
These fonts are free softwares. Unlimited permission is granted to use, copy, and distribute it, with or without modification, either commercially and noncommercially. THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.
これらのフォントはフリー(自由な)ソフトウエアです。あらゆる改変の有無に関わらず、また商業的な利用であっても、自由にご利用、複製、再配布することができますが、全て無保証とさせていただきます。
本ライブラリーの付属ツールである、ライブラリーの支援ツール「ドレミヒェン」では、libpng を利用して PNG ファイルの読み込みを行っています。ライブラリー本体からは参照されないため、普通に使う場合は気にする必要はありません が、もしこの PNG ファイルの読み込みエンジンを (自作ゲームなどから) 使用する場合は libpng および zlib ライセンスが適用されます。
Libpng version 1.6.9 - February 6, 2014 Copyright (c) 1998-2013 Glenn Randers-Pehrson (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
zlib 1.2.8 (C) 1995-2013 Jean-loup Gailly and Mark Adler