youdai O.W.R リファレンス


youdai O.W.R / youdai Open World RPG - Version 20211031 Alpha (C) 2021 youdai

youdai O.W.RはオープンワールドRPGを目指して開発されています。
今現在は歩行することしかできません。

本ソフトウェアはAlpha版です。

公式ホームページ及び連絡先

公式ホームページ
YOUDAI ZONE
http://youdaizone.webcrow.jp/
(契約しているレンタルサーバーのレンタルサービスが終了するため、 URLが近々変更になります。これは2021年内だけのURLだと思って下さい)
メールアドレス
gameryoudai@gmail.com

利用規約

youdai O.W.R は、youdaiの著作物です。
著作者の許諾無しに本ソフトウェアの一部、もしくは全てを再配布や販売することを禁じます。
それは本ソフトウェアの動画を撮影し、動画サイト等で上映することも含まれます。
(ただし、HSP2021コンテストでのみ動画撮影、動画掲載、画像のプリントスクリーン掲載を許可します)
ネットでレビューや紹介する場合に限り、動画以外の画像のプリントスクリーンを掲載することは許可します。
販売禁止
・著作者の許諾無しにこのソフトウェア及び、圧縮ファイルの販売を禁じます。
再配布禁止
・著作者の許諾無しにこのソフトウェア及び、圧縮ファイルの再配布を禁じます。

動作PC環境

OS                     Windows 7/8/8.1/10(32bit/64bit)
CPU                   Intel Core i7 860S 2.53Ghz 以上
メモリ                   8GB 以上
グラフィックボード       nVidia GeForce GT740(DDR3) 4GB 以上
ディスプレイ             640 * 480 以上
OpenGL                   3.1

更新履歴

version 20211031

・ステージに影を追加
・フルスクリーンモード解除(ウィンドウモード化)のconfigを追加

version 20211029

・リリース開始

ゲームの開始方法


(ゲーム開始直後のシーン)

game.exe を起動してください。

画像度の変更その1

画像度の変更.exe を使えば簡単に変更できます。 それ以外にも、configフォルダのiniを直接変更することで、 ライブラリにない画像度も設定することが可能です。

操作説明

プレイヤーの移動

キーボードの方向キーで移動します。

平行横移動

シフトキーを押しながら、左右の方向キーを操作すると平行横移動ができます。

フリーカメラビューモード

キーボードのFキーを押すと、フリーカメラビューモードに入り、 方向キーで自由な方向に視点が変更できます。

ESCキーを押すと、通常の歩行モードに戻ります。

終了方法

メニューから選択して終了できる他、Alt + F4 キーで強制終了します。

シェーダー解説

HGIMG4ではシェーダーを作成することによって、様々なマテリアルを表現できます。 作中で表現しているシェーダーをご紹介します。

Matcap × NormalMap × ColorMap

BumpをNormalMapで表現して、Matcapで描写しています。 ColorMapを用いて、色分けも表現しています。 都合、3枚のテクスチャ画像を用いていますが、負荷はそれほど重くありません。

Matcap

こちらはMatcap単体です。 負荷が非常に軽いのが特徴です。 その半面、光源を用いた表現ができません。 拡散光シェーダーを合体させれば、影をリアルタイムに表現させることもできるのですが、 スペキュラーの位置が全く合わないため、相性が悪く、影はあえて実装しませんでした。

半透明Matcap

こちらもmatcapで、シェーダーも全く同じなのですが、.materialの設定を変更して 半透明Matcapを表現しています。 このような特殊な見た目のマテリアルもmatcapであれば比較的容易に実装できることも 利点です。

テクスチャブレンド

地面を見てください。これは異なるテクスチャを1つのマテリアル内で ブレンドできるシェーダーです。 砂とアルファルトは異なるテクスチャ及び、別々のUVを使っています。

標準シェーダーと共用が可能

もしかして仕様的に出来ないのではないかと思っていたのですが、 1つのノードのオブジェクトで標準のcolordやtexturedと、 自作のシェーダーの共用は可能でした。

機能としては例えば、GPOBJ_LGTOPT_NORMALを自作シェーダー側でも使えます。 (ただし、自作シェーダー側がこの場合、matcapなので色変化程度しかさせていません)

この画像のオブジェクトは個々のパーツで自作シェーダーと標準シェーダーを共用しています。 ただし、実現するには標準シェーダー側の機能に自作シェーダーの構造のかなりの部分を、 合わせる必要があります。

configについて

configフォルダにはゲームの設定がiniファイルとして入っています。

environment_sound_volume.ini
環境音の音量を指定します。
0が最大で-1000が無音です。

far.ini
ファークリップZ値です。

fov.ini
視野(FOV)パラメーターです。

near.ini
ニアクリップZ値です。

quality.ini
GL_FRAGMENT_PRECISION_HIGHのクオリティです。
1=lowp、2=mediump、3=highpとなっています。
デフォルトでは1が指定されています。

screen_aspect.ini
スクリーンのアスペクト比です。

screen_height.ini
スクリーンの縦幅です。

screen_width.ini
スクリーンの横幅です。

sysreq_vsync.ini
vsyncです。1がON、0がOFFです。
vsyncがONでゲームを設計しているため、
通常は1を指定してください。

fullscreen_mode.ini
フルスクリーンモードのオン、オフです。
1でオン、0でオフとなり、スクリーンモードで表示されます。

画像度の変更その2

config_w**_h** というフォルダには、画像度のライブラリが入っています。 wはスクリーンの横幅、hは縦幅を表しています。

フォルダの中身をconfigフォルダにコピー&ペーストするだけで、 そのスクリーン画像度に変更することができます。 スクリーンの画像度を変更したい場合に利用するか、参考にしてください。

例えば、横1280、縦720のスクリーンに変更したい場合は、config_w1280_h720の フォルダの中身をconfigフォルダにコピー&ペーストしてください。

ライブラリにない画像度でも、該当するiniファイルを直接変更すれば、対応が可能です。 iniファイルについては「configについて」を参考にしてください。

直接変更する場合は、screen_aspect.iniも変更してください。 大抵は横幅/縦幅がscreen_aspect.iniの値として使用できます。

今後の予定

・ユーザーによるキーマップ変更
・コントローラ操作への対応
・シナリオの実装

利用ライブラリ

本ソフトウェアは以下のライブラリを使用して開発されています。
・Hot Soup Processor ver3.6 / onion software 1997-2021(c)
・HGIMG4 / onion software 1997-2021(c)
・lmes.as / youdai 2021(c)
・mod_sandglass_rotxyz.as / usagi氏のアドバイスを基に作成
・mod_draw_xyz.as / youdai 2021(c)
・mod_camera_fps_ctrl3.as / youdai 2021(c)
・mod_vpos.as / youdai 2021(c)
・mod_game.as / youdai 2021(c)

HGIMG4開発ライブラリ

HGIMG4は以下のライブラリを使用して開発されています。

GamePlay3D v3.0.0
http://www.gameplay3d.io/

Bullet Collision Detection and Physics Library
Advanced Micro Devices, Inc.
http://bulletphysics.org

The OpenGL Extension Wrangler Library
Copyright (C) 2002-2007, Milan Ikits
Copyright (C) 2002-2007, Marcelo E. Magallon
Copyright (C) 2002, Lev Povalahev
All rights reserved.

libpng version 1.6.16, December 22, 2014
Copyright (c) 1998-2014 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.h version 1.2.8, April 28th, 2013
Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler

OpenHSP
Copyright (C) 1997-2019, ONION Software/onitama.
http://hsp.tv

利用ツール

本ソフトウェアは以下のツールを主に用いて開発されています。

3D
・blender 2.92 64bit版

2D
・gimp 2.10

サウンド編集
・Audacity 32bit版

スクリプト編集
・atom

アドバイス・参考

本ソフトウェアは以下の方々によるアドバイスを参考に開発されています。

・砂時 計 氏 / _rotxyz ベクトル変換関係
・usagi 氏 / refrect reflact 反射・屈折ベクトル関数関係
・法貴優雅 氏 / matcap シェーダー関係
・アキアキノヒロロ 氏 / GPBモデルコンバート関係
・遠い空のニック 氏 / アーマチュアコンバート関係

YouTubeより

3D作成をするに当たっては以下のチャンネルを参考にしています。

・Blender 2.8 Beginner Tutorial シリーズ / CGBoost.com
・DUCKY 3D
・Daniel Kreuter

GLSL基礎

・wgld.org

blender Addon

blenderを使用するに当たっては、以下のAddonを使用しています。

・Add Curve: Curve Toos / Mackraken
・Add Curve: Extra Objects / Multiple Authors
・Add Mesh: BoltFactory / Aron Keith
・Add Mesh: Extra Objects / Multiple Authors
・Add Mesh: Low Poly Rock / PIXELDEPTH.net
・Add Mesh: Mtree / Maxime Herpin
・Mesh: Bsurfaces GPL Edition / Eclectiel, Vladimir Spivak (cwolf3d)
・Mesh: PolyQuilt / Sakana3
・Mesh: tinyCAD Mesh tools / zeffii (aka Dealga McArdle)
・Node: Node Wrangler / Bartek Skorupa, Greg Zeaal, Sebastian Koenig, Christian Brinkmann, Florian Meyer
・Object: Array_Tools / Elreenys
・Object: Bezier Utilities / Shrinivas Kulkarni
・UV: DreamUV / Bram Eulaers
・UV: Magic UV / Nutti, Mifth, Jace Priester, kgeogeo, mem, imdjs, Keith (Wahooney) Boshoff, McBuff, MaxRobinot, Alexander Milovsky, Dusan Stevanovic, MatthiasThDs

2Dテクスチャ素材

本ソフトウェアの2Dテクスチャの加工元は、以下の著作物を利用して開発されています。

・ベイツ
・pakutaso
・blender(CC0のmatcap)

効果音素材

本ソフトウェアの環境音の加工元は、以下の著作物を利用して開発されています。

・効果音ラボ