2018-04-10 14:11:47 (edited by Xsense 2018-05-11 09:55:46)

Hello Everyone,

Introduction To Luna Stories:
Luna Stories is going to be a 3d Binaural Audio Horror Game.
The aim of the project is trying to make a extremely immersive audio game.
This means that all the little details would have to match real life Physics and sound.

The story:
I do not want to spoil any story line yet.
As the intention is to have the player experience it in their own ways.
But i will let you know a little bit of it.
You are Elyssa.
A young 6 year old girl, that lost her father.
But how did this happen and where are you?
The Engine:
Audio Sphere is my own game engine build from scratch.
The engine has highly detailed configurations.
So anyone withouth programming knowledge can build their own 3d binaural audio game.
The engine will be open source once i finish Luna Stories Chapter 1: The Crimson Stone.

What language is Audio Sphere:
The engine is programmed in C Sharp.
I have used the following library's for ease of use.
OpenTK: For Multiple purposes including user input and openGL.
FMOD: This is a port from c++ to c# for audio engine purposes.
Oculus Spatializer: For binaural audio purposes.
.NET Framework 4.6.1: For mathmetical purposes i have used this version.

Below you can read the Engine status.
Completed Functionality:
TTS Engine: Supports Windows Default, Jaws, NVDA.
Physics Engine: Movement , Jumping, Crouching, Rotation, And Character States.
Audio Engine: Using the Binaural system and modifying its values for realistic sound  in 3d.
Object Collision: Character and objects can block movement and change the collision state.
Dynamic Weather: The weather system includes Rain, Thunder, Wind these values can be set to None, Light, Medium, Heavy and changes dynamicaly.
For example: When you have no roof above you the rain sounds directly on your head, but with a wooden roof you can hear it hit the roof.
The same goes for the floor types, Sand, Water, Concrete and so on.
Item System: Combining, Picking Up, Dropping, Equipping, Using.
Inventory system: Where you can interact with the items you have.
Map System: You can select points on the map once selected pressing the F key will make a sound direct you to its location.
Compas System: Pressing C will open the compas, when rotating the player it will tell you the direction.
Trigger System: Triggers are used for special events in the current map.
For example: Warp a player to location, Turn on and off a switch, Open or close object and so on.
Interface: Use W and S to navigate trough them the menu's are Main, Options, Pause and so on.
Attack System: For attacking , Damage, Defense and related.

In progress:
The engine is always in progress.
Small or major things could be added.
And i have not listed everything above because it is a lot to say.

Dynamic Engine:
The engine i have programmed was with in mind that it has to be easy to create a game with.
So for example the movement system has auto detection of floor type, envirement type and related.
If for example you choose a map to have Grass as floor the foot step sounds will be those of walking in the grass.
If the area is very small there will be almost no rever to it.
And the sounds used for those footsteps can be simply replaced in the data folder for your own liking.
These are highly detailed features another example would be.
When you walk into a object the sound of walking into it can be customised so each object make their own sound and your character as well.
There are way more details in the engine, but those will be in the Developers guide which will be included and worked on every update that i make.

What to expect in the future?
The project is free and will be open source in the future.
As stated before the language is C Sharp.
I will give some levels of support for other developers but i cannot make promises on how much support i can give.
Due to having a lot of things going on in life as well.

Free?
Yes the project is free i have no wish to make money of it.

Do i need help?
Yes i am looking for voice actors.
To make this game immersive Text to speech wont cut it.
I am looking for the following.

Female voice actress: Main character Elyssa.
Male Voice Actor: Main Character (Father) .
Both male and female voices for the Demons / Entity's in the game.

What can you expect right now fomr the game?
There is not much to play in the game.
Becuase its a development release.
This is for testing the engine and capabilities.
Meaning, Testing the 3d sound, The actions you can do and so on.
So do not expect to play a game right now.
Expect just a small sandbox with functions to test.

You can test:
The start location contains a radio which you can turn on and off.
You can use this to test the binaural sound.
You can find a key on the map to unlock the gate in top of the map.
Also when you have the key you can use the inventory system to see those functionalities.
You can also hear the dynamic weather system.
And in the cabin once you enter it, you cannot leave it.
This is ment for the story plot line.
In the cabin you can turn on and off a television for now.
And of course hear different types of sounds for movement.

Note: i have not finished all sounds for the footsteps those will be added upon updates.

Installing the game:
You can download the game below:
Version 0.1.6:
You can find it on my homepage: http://xsense.venict.nl

When you finish the download simply unzip the zip file.
Then go to the installation folder and install the .NEt Framework included.

Once that is done open up Luna Stories and give it a go.

As you can imagine the game has a lot of controls please read below for the main controls.
The documentation will be updated in the game folder as well.

Menus:
Use W or S for browsing the menus , and enter to confirm the selected menu item.
When ingame use the mouse for character rotation, looking up and down.
You can open close, turn off and on objects using the right mouse button.
if you do not have a mouse please see below.
Numpad 1: Turn Left.
Numpad 2: Look Down
Numpad 3: Turn Right
Numpad 4: Left Click
Numpad 5: Look Up.
Numpad 6: Right Click

Keyboard:
Walk Forward: W
Walk Backwards: S
Step Left: A
Step Right: D
Jump: SpaceBAr
Run: Left Shift
Crouch: Left CTRL
Inventory: I
Compas: C
F: Find Target Object on map.
Map: M (Used for selecting object).
Pause Menu: P
Interact: E (Describes object and used for picking up items).

The game pad is also partially programmed.
But i need to work on the details for it.
So i will not include the configuration for it.
But you will be able to use your Playstation, Xbox, Or Other Game pads for playing as well.

ChangeLog:
Version 0.1.6:
Refactored: Handler/Collission.cs (Object collision big cleanup).
Refactored: Sounds/Data.cs (Cleaned up loading and assigning sounds).
Refactored: Handler/Compas.cs (Cleaned and optimized).
Refactored: Handler/Input.cs (Now clean and simple).
Refactored: Handler/Indicator.cs (Cleaned and optimized).
Refactored Handler/Interact.cs (Clean and good).

Added Entity Manager (Spawn,Move,Attack,Sounds).
Added Entity find target functionality.
Added entity Trace target functionality.
Added Entity Collission (Intelligent corrections for movement when colliding / path finding).
Added binaural option to sound manager.
Added Hide Trigger for models.
Added breathing for running action.
Added breathing for hiding action.
Added heart rate for hiding.
Added basic defense with simple calculations.
Added global function for calculating distance between objects. (All affected classes now point to one function).
Added Static Lists for each sound type (Now it will only need to create the list once instead of creating it each time you want a specific list).
Added static Sound List assigned to each model. (Now we can simply use CurrentModel.HitSounds or BumpSounds etc).
Added Intersecting sound type (Used for when moving through a object).
Added roof dynamic sounds for weather (Weather dynamically changes according to roof types).
Updated Outside Cabin Script (Water pond, Animals etc).
Updated Collision system (Now none solid object are done).
Updated Calculations for extra reverb effect (Fine Tuning).
Fixed Weather system (Now finished).
Fixed Fade Function for sounds. (Release issues).
Fixed movement system (Speed including stamina reduction).

Version: 0.1.5:
Added Full Support for Game Pad (Xbox, Playstation etc).
Added Game Pad Vibration.
Added Auto Detection for game pad.(IF you switch on the game pad , keyboard will be disabled).
Added Few Guides to developers guide.
Added Config for start map and position.
Fixed Keyboard and button spamming issues.
Fixed Disabling Trigger After Destroying Object.
Fixed Map Indicator Sound Issues.
Fixed DSP Release issues in main engine.
Fixed Positions for footstep and character collission sounds.
Fixed Weather System issues with DSP.
Fixed re loading map when starting new game from in game.
Refactored Movement Update (Cleanup).
Fixed sounds when returning to main menu from in game.
Fixed character start position and map when starting new game when allready playing before.
Updated And Activated Tutorial Script. (This is still incomplete).
Updated weather system (Still work in progress).
Updated TTS Engine to speak lines depending on  game pad state on / off , keyboard usage.

Version: 0.1.4:
Fixed issue with  FMod stopping sounds (lowlevel issues).
Fixed DSP Channel issues when resetting sounds.
Fixed Trigger Function To Work With Attacking And Broken Objects
Added  attack power modifier to attack system (When using an item to attack).
Added character attack sounds.
Added Rotation Support For Keyboard See Controls For Infomration
Refactored Play Function for sounds, from Sounds.Manager.Play(Filename) to Sounds.Manager.PlayStop(FileName,Boolean StopPlaying)
Updated Intro CutScene, to proper positions (Music is centered, Childs voice goes in front of you adAnd movement of trees around your character).
Updated Cabin Script (Tv can now be attacked, broken).
Updated Cabin Script (Ghost Entity Added).
Added Kitchen to the cabin (Lets get cooking).

Version: 0.1.3
Fixed bug in NVDA Screenreader entrypoint issues.
Fixed bug reloading binaural dsp when stopping sounds.
Fixed Credits in ScreenManager.
Fixed Map indication sound issues with sound positioning.
Modified wooden footstep sounds running, walking, crouching.

Version 0.1.2:
- Re-Enabled binaural engine (Sorry i forget i was testing something).

Current Released
version: 0.1.6 Development build.

Final Words.
If you wish to help me on this project or talk to me for questions.
My email is [email protected]

Kind Regards,
XSense

Put your coding where your mouth is.

2018-04-10 16:34:08

Hi,  well am downloading now to give it a test

2018-04-11 00:59:18

The engine sounds really, really cool.
Oculus spatialicer is a library itself? Or is a extension for fmod?

Now trying the concept demo.
Really we need a complete game engine with binaural audio, for a powerful languagelike c#... and you made it real tongue

thanks! Waiting for the github link when the engine will been releaced!

2018-04-11 02:56:10

Hello,
The Oculus Spacializer is a plugin for FMod.
There are a lot of different types of the plugins but i am using the " Raw" version.
Which means i can really dig into the low level system of it.
And modify specific things to the engine.

For example the Fmod full source code is inside the Audio Sphere / Luna Stories project.
Meaning it's not a dll included in the reference but the source code directly editable.
And this will alow developers to basically change anything they want in the engine itself.

I am glad to hear that you are looking forward to the release.
But i am not able to tell when it is going to be because still a lot of work has to be done in the game itself.
The reason i want the game finished when releasing the source code.
Is that the public will have a good example to start with.
And hopefully teach new developers a thing or 2 while they look at it and modify it.

But of course i will try to work as much as i can on the game.
And be sure to check back in the topic.
As i will release new dev builds and updated documentation for developers.
So you can start looking at the file structure and learn about it so that you are prepared smile.

Anyways if you have questions or suggestions they are always welcome.

Regards,
XSense

Put your coding where your mouth is.

2018-04-11 08:50:38 (edited by defender 2018-04-11 08:51:48)

Maybe look on the following sites for Voice actors, as we only have a handful here and their all amature or part time as far as I know, with often incompatible schedules.
https://www.reddit.com/r/RecordThisForFree/
www.behindthevoiceactors.com/casting-call/
www.voiceacting.space
http://voiceacting.boards.net/
https://www.castingcall.club/
I'm sure you'll need to register and learn how to use all of those, but when that's done it'll be easier to cast a wide net, so maybe just when you have a couple hours free time.

2018-04-11 15:21:04

Hi,
well, I tried a long time to use fmod in c#, which wrapper did you use? Or o you use p/invoke? I ask because I need this audio stuff and when you need time to release it, I will try it for myself.
Thank you a lot, for the good work!

sorry for my english, I hope you have understood me.

2018-04-11 18:41:39

defender

Hello, thank you for the links.
When i have more free time to really dig into it i will certainly take a look at them

chpross

HEllo i understand your question.
I have used the Fmod c# wrapper port from github and modified several functions to make it work the way i intended it to work.
I will put the direct link to their github project in the credits file when releasing.
The rest of it with modifications are in my engine simple to use for example.

Sounds.Manager.Play("SoundsName.mp3.wav.etc");

The sound will automatically use the binaural system for each sound.
So will the reverb effect.
However in the folder Data/Map/Sounds/file.luna.
You can set the position and attached value if its attached the sound will be set to the current character location and only reflect the enviroment reverb and related.

Then modifying the sound etc can simply be done by the function i have made :
var CurrentSound = Sounds.Manager.GetSound("Filename.wav.mp3.etc");
CurrentSound.SoundChannel.FModChannel..... etc etc.

But i will document them all for developers of course.

Regards,
XSense

Put your coding where your mouth is.

2018-04-11 20:23:21 (edited by Xsense 2018-04-11 22:13:11)

Released new version 0.1.2
The first release was badly done sorry for this.
I forget to re enable several functions in the engine before relasing it.
However this is all fixed now.

I have had reports that the NVDA has issues.
So please test out the new version and let me know if you have errors or bugs.
Also to get a good feeling of the audio try to turn on the radio in the starting map or the tv in the cabin.
Kind Regards,
XSense

Put your coding where your mouth is.

2018-04-11 22:33:33

@Xsense, just out of curiosity, by the fmod wrapper in github, do you mean the one that comes with FMOD when you download it? I know that they provide FMOD for C# prepackaged already. If that's not the one your using, why don't you use that?

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2018-04-11 22:51:21

Hello Ethan,
Back when i began this proejct i was browsing around on github for audio library's.
So i came across one that sounded interesting.
https://github.com/martindevans/SupersonicSound

So i kept working with that one and never looked into any other library as you can imagine when it contains all i need then research time is pretty much done.
And then its time to modify it to your liking.

So when i was satisfied with that, i started looking into sound spatializing.
And i came across Oculus Audio SDK.
And implented that into the engine.

Once implented, and finishing the classes for that library.
I was pretty much pleased with the result of it.
So until today i keep using those , while expanding the engine itself.

Hope this answers your question.
If not let me know.

Regards,
XSense

Put your coding where your mouth is.

2018-04-11 23:49:05

It does. Just curious.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2018-04-12 02:02:08

Hi there, I’ve downloaded and ran the game as it is so far. I quite enjoy it. But the only thing I’m really able to enjoy right now are the main menu sounds and music. I was able to get it to Talk very briefly by doing something and I’m not exactly sure what it was. But I had to eventually close it from the task manager. For some reason when the game starts up in the main menu comes up, it doesn’t talk out of the box.

2018-04-12 03:55:59

Hello Sean,

Could you please tell me the following:
Your operating system.
Your operating system language.
Open the folder containing luna stories and open ErrorLog.txt and paste it here.

Put your coding where your mouth is.

2018-04-12 04:39:47

Hello folks! Hey dude, got an error when clicking on the link in the first post. I'll try again using chrome to see what happens.
Best regards, Haramir.

The true blind is the one who refuses to see.

2018-04-12 08:35:47

Hi there, I got it to work. I went to the screen reader.luna file and opened it with notepad. Then I changed the part that says screen reader=… I changed it from nvda to sappy. Then everything worked fine. When you do switch it to nvda, nothing is read out whatsoever.

2018-04-12 10:50:32

Haramir
Ok please let me know if it works for you , if not i will re upload it.


Sean
Oh yes sorry i forget to reset the config in the release to default.
Because i use jsaw on my system.

I will fix that on next release.
As above said the release version 0.1.2 screenreader settings are set to jaws.
open the folder data then settings, then open screenreader.luna with notepad.
then set the line with Jaws to default and save it

Put your coding where your mouth is.

2018-04-12 13:24:00

Hello everyone,
Today's new release 0.1.3 contains the following.

Fixed bug in NVDA Screenreader entrypoint issues.
Fixed bug reloading binaural dsp when stopping sounds.
Fixed Credits in ScreenManager.
Fixed Map indication sound issues with sound positioning.
Modified wooden footstep sounds running, walking, crouching.

Also after this release.
I will be releasing update files.
Simply because they are not that big to download.
I asume that everyone in this topic will know how to replace old files with new ones.
So i wont have to create a patching system for it.
As usually you will just simply download the update package extract it then copy and replace it in the main folder.l
Again this will be started from release 0.1.4

Please test it out, and let me know if you encounter bugs.
Also i have added some sounds for attacking objects.
But i have not added this to the changelog since it needs more work.
You can hear this when left clicking on the radio in the main map.

The download link can be found in the first post.

Regards,
XSense

Put your coding where your mouth is.

2018-04-12 17:03:07

Hi there, could you possibly add full keyboard support to this game? I don’t use a mouse or the touchpad. Thanks.

2018-04-13 15:25:05

hi, i just have a programming related question:
if i can program using bgt, do you think i will be able to use this engine to make audiogames with? i know that the sintax will more or less not be the same...

best regards
never give up on what ever you are doing.

2018-04-13 22:41:05

@ashleygrobler04, I don't know. I found it easy to move away from BGT because I'd learned C++ before I started with BGT. But for those who learned BGT first, you get locked in and will find it much, much harder to move away with it than usual because lots will be different. This engine simplifies things, but you still might find much harder than usual because you'll be so used to BGT's syntax.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2018-04-14 05:52:59

Sean

I will be adding this maybe in the next release of the development build.
So no worries there.
I didn't relize that some people don't use the mouse or such.

ashleygrobler04
I have no experience in BGT and never looked at the code and syntaxes.
But the engine should be very easy to work with for anyone.
That's why i want to release the source code once the game is done.
This way you have a complete example of the content of making a game.

For example in the source code:
There's a folder named Scripts, with classes named to their respective maps in the Data / map directory.
Each script simply loads the Triggers from the data folder.
Then assigns them to the functions in the engine.

In further development releases i will also release the Luna Stories Map Editor.
This can be used of course for modifying maps.
But also creating maps , addings sounds , assigning triggers.
So basically you will be able to make your own maps and story so to say.

In the end there's always going to be the development guide which will be included in the releases.
And contains all the information needed to build your own game.
Including modifying and creating your own functions in the source code.

If you have any further questions please let me know.
Ethan thanks for clarifying because i have no idea about BGT syntaxes or how it works.

Regards,
XSense

Put your coding where your mouth is.

2018-04-14 09:35:29

If I had a desktop, it wouldn't be a problem, however, since I am on a laptop, the touchpad is less than optimal. I actually have it turned off in windows, but if I were to turn it on, even in some games it wouldn't be right because this is one of those that determines left or right click by your position when you press it, so you can't right and left click at the same time, I've tried with games that support this, such as GTAV, where you can hold right click to aim and left click to fire.

Luckily, having it off doesn't turn off the embedded biometric sensor in the top right corner of the touchpad, because I do use that.

Facts with Tom MacDonald, Adam Calhoun, and Dax
End racism
End division
Become united

2018-04-14 10:43:23

Hi.
Wow, this project sounds awesome.
I would like to hear more about how people who don't know any programming are able to make games using the engine.

Best regards SLJ.
Feel free to contact me privately if you have something in mind. If you do so, then please send me a mail instead of using the private message on the forum, since I don't check those very often.
Facebook: https://facebook.com/sorenjensen1988
Twitter: https://twitter.com/soerenjensen

2018-04-14 16:41:34 (edited by Xsense 2018-04-14 17:09:21)

ironcross32
Yeah that makes sense i can imagine how that would be pretty annoying.
I have now implented full keyboard support for mouse movement.
Controls: Numpad 1 Turn Left, Numpad 2 Look Down, Numpad 3 Turn Right, Numpad 4 Left Click, Numpad 5 Look Up, Numpad 6 Right Click.

SLJ
Thank you for the interest.
So your question would be a very very long reply.
But i will have to cut it short.
The documentation will include full support from installing the development enviroment.
Upto opening it, and making new classes.

But also the engine is programmed in a way.
That you can simply add new models, sounds , actions etc etc by using the Data folder in the game.
And adding on top of that i am working on a World Editor for the Engine.
So you can simply use a interface and add models add sounds to those models, triggers, maps and so on.
I hope this clarifies it a bit, if not let me know.
Just know that the question is a very broad reply.

Regards,
XSense

Put your coding where your mouth is.

2018-04-14 17:24:11

A new fresh update is done.
See the changelog below for more information.

Important:
I have released a update zip file.
This means if you have not yet download the full game first.
Then download the update 0.1.4 version.
Once you extract the 0.1.3 FUll release.
Then extract the 0.1.4 update.
And copy all files in that extracted folder.
Then paste it in the main game folder.
Replace all files and all should be ok.


Version: 0.1.4:
Fixed issue with  FMod stopping sounds (lowlevel issues).
Fixed DSP Channel issues when resetting sounds.
Fixed Trigger Function To Work With Attacking And Broken Objects
Added  attack power modifier to attack system (When using an item to attack).
Added character attack sounds.
Added Rotation Support For Keyboard See Controls For Infomration
Refactored Play Function for sounds, from Sounds.Manager.Play(Filename) to Sounds.Manager.PlayStop(FileName,Boolean StopPlaying)
Updated Intro CutScene, to proper positions (Music is centered, Childs voice goes in front of you adAnd movement of trees around your character).
Updated Cabin Script (Tv can now be attacked, broken).
Updated Cabin Script (Ghost Entity Added).
Added Kitchen to the cabin (Lets get cooking).

Put your coding where your mouth is.