Re: Just released: C library to generate mazes

2021-02-20 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Just released: C library to generate mazes

@16:Agreed. Actually I think implementing a maze algorithm is a great exercise when learning a new language. The blog posts that I linked to in my references section contain more than enough information to implement it from scratch, for anyone who wants to give it a shot.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/617013/#p617013




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Just released: C library to generate mazes

2021-02-19 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Just released: C library to generate mazes

@14:Certainly there are plenty of maze generation algorithm implementations out there, but I could not find one that met my requirements which is why I published this one. If you're in Python, it would definitely not be your primary choice. But if you're coding in C or C++, it might potentially be useful.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616960/#p616960




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Just released: C library to generate mazes

2021-02-19 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Just released: C library to generate mazes

@14:Certainly there are plenty of maze generation algorithm implementations out there, but I could not find one that met my requirements which is why I published this one. If you're in Python, it would certainly not be your primary choice. But if you're coding in C or C++, it might potentially be useful.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616960/#p616960




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Just released: C library to generate mazes

2021-02-19 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Just released: C library to generate mazes

@12:By default, there is no exit as such. You can either break one of the walls at the edges, or simply choose an arbitrary empty cell and mark that as the exit. If you generate the maze in the compact format, every tile is walkable but the passages to and from that tile are not always open. So your approach depends on whether you are generating a blockwise or a compact maze. Let me know if this makes sense; I'd be glad to try to explain further if you have questions.Thanks!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616888/#p616888




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Just released: C library to generate mazes

2021-02-19 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Just released: C library to generate mazes

@9:You certainly don't need my permission to port the code. As per the license, you can basically do whatever you want with the code with absolutely no restrictions.As for a pull request, if you port the entire codebase, I think it's better if you fork the repository since I would then have to maintain two separate versions, one of which I didn't write, in a language I don't use. So you are more than welcome to port, but I think you should do so and publish it yourself.Good luck!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616864/#p616864




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Just released: C library to generate mazes

2021-02-19 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Just released: C library to generate mazes

Thanks guys for the feedback, I hope the library ends up being useful!@6:As long as you've got stdint.h, it should build everywhere. Since this is a single header, you just drop it into whatever build process you're using by defining the macro in one of you're translation units and you're on your way.@7:I'd be surprised if growing tree hasn't been implemented for Python. If not, you can easily do it yourself or you can have a stab at porting this library if you like. It's a simple algorithm, as you'll see if you dissect the code.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616808/#p616808




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Just released: C library to generate mazes

2021-02-19 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Just released: C library to generate mazes

Thanks guys for the feedback, I hope it ends up being useful!@6:As long as you've got stdint.h, it should build everywhere. Since this is a single header, you just drop it into whatever build process you're using by defining the macro in one of you're translation units and you're on your way.@7:I'd be surprised if growing tree hasn't been implemented for Python. If not, you can easily do it yourself or you can have a stab at porting this library if you like. It's a simple algorithm, as you'll see if you dissect the code.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616808/#p616808




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Just released: C library to generate mazes

2021-02-18 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Just released: C library to generate mazes

Hi all,In case some of you are interested, I just wanted to briefly mention something that I put up on GitHub today.It is a library to generate mazes, written in C and placed in the public domain.The library implements something called the growing tree algorithm which, while quite simple, is very flexible and generates mazes with very different characteristics depending on configuration settingsI have tried to write fairly comprehensive documentation, but feel free to suggest improvements if you feel that something is lacking.The link is:https://github.com/blastbay/mazelib/Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616677/#p616677




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Good resources for getting to grips with procedural or maze generation

2021-02-18 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Good resources for getting to grips with procedural or maze generation

@1:This may or may not be of use to you depending on what language you're using, but I have been working on a little library to generate mazes for a few days. When I saw your post earlier, I figured I would go ahead and push it out.I made a post about it here:https://forum.audiogames.net/post/616677/#p616677Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616678/#p616678




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Just released: C library to generate mazes

2021-02-18 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Just released: C library to generate mazes

Hi all,In case some of you are interested, I just wanted to briefly mention something that I put up on GitGub today.It is a library to generate mazes, written in C and placed in the public domain.The library implements something called the growing tree algorithm which, while quite simple, is very flexible and generates mazes with very different characteristics depending on configuration settingsI have tried to write fairly comprehensive documentation, but feel free to suggest improvements if you feel that something is lacking.The link is:https://github.com/blastbay/mazelib/Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/616677/#p616677




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Best audio (code) library for C?

2020-10-29 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Best audio (code) library for C?

Thanks for the answers and the explanation, much appreciated. I haven't read the manual yet, but I've been keeping up to date with the repository at regular intervals. I look forward to seeing where you go with the reverb and HRTF work. I don't think I'll be revisiting my own HRTF any time soon as I've got fairly limited time to work on personal stuff, and am focusing on gameplay mechanics at the moment. So I will continue to watch Synthizer, and I'll take it for a spin when you have reverb in place.Thanks and good luck!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/584446/#p584446




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Best audio (code) library for C?

2020-10-29 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Best audio (code) library for C?

Thanks for the answers and the explanation, much appreciated. I haven't read the manual yet, but I've been keeping up to date with the repository on regular intervals. I look forward to seeing where you go with the reverb and HRTF work. I don't think I'll be revisiting my own HRTF any time soon as I've got fairly limited time to work on personal stuff, and am focusing on gameplay mechanics at the moment. So I will continue to watch Synthizer, and I'll take it for a spin when you have reverb in place.Thanks and good luck!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/584446/#p584446




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Best audio (code) library for C?

2020-10-29 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Best audio (code) library for C?

@camlorn:I have a few questions, if you don't mind.1. Is there any coloration of the sound, e.g. frequency peaks? I had that issue when I started out with my dataset and it took some work to fix.2. How well does it indicate that something is behind you? The dataset I use does have a difference, but it is not obvious enough to be useful in my opinion. It is too subtle, and it would be very hard to make snap judgements when playing something like an fps.3. Do you have any audio samples handy?4. Is the implementation tightly coupled to the rest of the framework, or do you think it would be practical for me to extract it and integrate it into my existing audio infrastructure based on MiniAudio?I am happy with MiniAudio's feature set and its development so am not looking to switch to a different library at this point, but I am very much interested in leveraging the Synthizer HRTF and reverb models. Right now I use the same convolution engine from WDL for reverb and it sounds great, but is fairly limited in terms of flexibility as we both know. So I would be curious to see what advantages the Synthizer reverb model would offer in terms of quality, runtime flexibility and performance.Thanks!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/584421/#p584421




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Best audio (code) library for C?

2020-10-29 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Best audio (code) library for C?

@5:I am actually in a fairly similar position as you describe. I write a lot of C at work, and while I know C++ I don't enjoy it nearly as much. For my current game I am using C++ to save myself some headaches, but I do have a fondness for C and will use it whenever practical. I have experience with PortAudio, DirectSound, SDL and MiniAudio.I used PortAudio back in 2008, and I remember that while it worked fairly well I did have some build issues as well as some strange behavior in the DirectSound backend. But my knowledge is outdated to say the least, and I'm sure a lot of work has been done since then.In a previous game I used sDL, with SoLoud as the mixing engine. It worked well and was easier to build, but I experienced crackling on some machines and SoLoud didn't provide all the features that I needed. So now I am going a different route.For my most recent project I am using MiniAudio and am liking it a lot. It is a single file of C89, and is very well written in my opinion. There is a high level API under development, which you can find in the MiniAudio repository in the research folder. The bleeding edge research code is on the develop branch. I actually use this research code in my game and it works very well. I would only recommend trying it if you are prepared to rip up some parts later as the API will probably change, but a lot of the core infrastructure is already in place and works well. It's got async resource management, streaming from arbitrary sources, a mid level mixing API if you want more control, etc. Simply put, it has three layers of abstraction:* A low level API very similar to PortAudio and SDL, where you simply get a callback and have to do your own mixing, synchronization and resource management.* A mid level mixing API where you can route as you wish, but you still have to have enough knowledge to implement the callback correctly (e.g. lock free).* A higher level engine which implements the callback and does the work for you out of the box, with simple functions that you might see in other higher level solutions. This is the API that I use. It still gives you a lot of flexibility in the sense that you can manage your resources in whatever way you want, including implementing your own data sources and so on. There is still some work to be done regarding routing and effects. In particular, myself and some others are very interested in multiple effect inputs so that you can implement things like sidechain compression, but this is not yet possible. But on that note, the author is great to work with and has been incredibly accommodating to the feature requests I have submitted over the last couple of years or so.MiniAudio can be found at:https://miniaud.io/The high level API does not yet have spatialization, but this is planned. I am not sure if he is intending to do HRTF or not, though. I implemented my own HRTF solution based on the WDL convolution engine and a public domain dataset, but am keeping an eye on Synthizer in case its implementation turns out to be better than mine.Hope this helps!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/584332/#p584332




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Adjusting volume of sounds and music for games

2020-10-24 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Adjusting volume of sounds and music for games

@1:I haven't used Audacity for years, but I happened to have it installed and I quickly verified that the following works:1. Open your file on a new track (this happens by default when you import).2. Arrow to the track.3. Press shift+g. This brings up a dialog which allows you to set a gain value for the entire track.The gain value is in decibel. Without going into all the details of how the scale works, -6 is about half volume, -12 is about a quarter, etc. Experiment and see what sounds good.When you are done, simply export the file again.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/582990/#p582990




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: SAPI Interrupt in Python?

2020-09-10 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: SAPI Interrupt in Python?

@4:Yes, absolutely.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/569231/#p569231




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: SAPI Interrupt in Python?

2020-09-09 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: SAPI Interrupt in Python?

To follow up with some more explanation, the flag you want is:SPF_PURGEBEFORESPEAK    = ( 1L << 1 )To explain this notation in case you haven't come across it before, it's basically saying "take the number 1 and shift it one bit to the left". In binary, this gives you the number 2. In short, the actual value you want to pass if you *only* want this one flag, is 2.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/569181/#p569181




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: SAPI Interrupt in Python?

2020-09-09 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: SAPI Interrupt in Python?

Here is the relevant Microsoft documentation:https://docs.microsoft.com/en-us/previo … 2(v=vs.85)This bitmask would be the second argument to the speak method.In case you don't know how to find the relevant flag values, here they are. I found these in the C/C++ SDK.enum SPEAKFLAGS    {        SPF_DEFAULT    = 0,        SPF_ASYNC    = ( 1L << 0 ) ,        SPF_PURGEBEFORESPEAK    = ( 1L << 1 ) ,        SPF_IS_FILENAME    = ( 1L << 2 ) ,        SPF_IS_XML    = ( 1L << 3 ) ,        SPF_IS_NOT_XML    = ( 1L << 4 ) ,        SPF_PERSIST_XML    = ( 1L << 5 ) ,        SPF_NLP_SPEAK_PUNC    = ( 1L << 6 ) ,        SPF_PARSE_SAPI    = ( 1L << 7 ) ,        SPF_PARSE_SSML    = ( 1L << 8 ) ,        SPF_PARSE_AUTODETECT    = 0,        SPF_NLP_MASK    = SPF_NLP_SPEAK_PUNC,        SPF_PARSE_MASK    = ( SPF_PARSE_SAPI | SPF_PARSE_SSML ) ,        SPF_VOICE_MASK    = ( ( ( ( ( ( ( SPF_ASYNC | SPF_PURGEBEFORESPEAK )  | SPF_IS_FILENAME )  | SPF_IS_XML )  | SPF_IS_NOT_XML )  | SPF_NLP_MASK )  | SPF_PERSIST_XML )  | SPF_PARSE_MASK ) ,        SPF_UNUSED_FLAGS    = ~SPF_VOICE_MASK    }     SPEAKFLAGS;Hope this helps.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/569178/#p569178




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-03 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

There is the general festvox documentation which gives a good overview of how to build a clustergen voice, and also how to prepare data for a new language. Generally you need your wav files, plus a file in a subdirectory of your voice's setup folder called etc/txt.done.data. Remember that the bible.is datasets generally give you about 20 hours of speech. It needs this much data to have a chance of mining the text to create your rule set.In case you didn't know, bin/do_found is a script file that you can open and read in your text editor. It will show you all the steps that the script can perform, and what command line arguments it accepts.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/566877/#p566877




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-03 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

I suggest reading further into the log, as all I could see above was a redirect. However, as Camlorn says, you'll have to figure it out on your own for the most part. We can give you a gentle nudge in the right direction once in a while, but you'll have to do the absolute majority of the work. I unfortunately do not have time to go through your log looking for the issue, nor, I suspect, do many other people on here. But I wish you the best of luck, and I will be happy to help if you have a more specific question that you can't find an answer to online.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/566873/#p566873




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-03 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

I can easily imagine that the log would become large rather quickly. However, without seeing the first actual error, there's unfortunately very little I can do to help you.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/566820/#p566820




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-03 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

Probably it didn't download and extract properly from bible.is. It is supposed to download the MP3's, decode them, and then splice. Maybe you will find more useful information further up in the log.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/566803/#p566803




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-03 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

First you have to install the Festvox tools. This includes speech_tools, Festvox, Festival, Flite, and a few other things. There is a script in the Wilderness repository which is supposed to grab all of those things for you. Clone the wilderness repository, and then run:./bin/do_found make_dependenciesThis is from the Wilderness readme. Once you have the entire toolchain installed, continue following the instructions from the readme.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/566762/#p566762




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-03 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

@11:You need to run the toolchain for your specific language, and generate it on your machine. Generating one language should only take a day or so, if I remember correctly. I don't think you can download their pregenerated Flite voices anywhere. To generate a model for a language you will need a Linux machine, either a real one or a VM like WSL2. I have personally used both WSL2 and a Linode to build Flite voices.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/566758/#p566758




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-02 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

@6:Not for now. I got most of the vowels to sound reasonable, but I didn't manage to get the arbitrary phone to phone transitions to sound quite right and I didn't have the patience to bring it to full diphone coverage. Also I only had the cascade model working and I never implemented the parallel one that I wanted for unvoiced sounds either. What I have is a reasonable singing vowel synthesizer and I have a lot further to go. I might pick it up again at some point, but right now I've got another project which I will post about here in due time.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/54/#p54




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-02 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

@5:Not for now. I got most of the vowels to sound reasonable, but I didn't manage to get the arbitrary phone to phone transitions to sound quite right and I didn't have the patience to bring it to full diphone coverage. Also I only had the cascade model working and I never implemented the parallel one that I wanted for unvoiced sounds either. What I have is a reasonable singing vowel synthesizer and I have a lot further to go. I might pick it up again at some point, but right now I've got another project which I will post about here in due time.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/54/#p54




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Making a speech synthesizer

2020-09-02 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Making a speech synthesizer

This is a bit of a long shot, but have you seen the wilderness project from CMU?http://www.festvox.org/cmu_wilderness/It's sort of a spinoff from the Festvox project. Its purpose is to produce text to speech voices automatically from datasets, with no prior knowledge of the language in question. As was said above, you do need a lot of data so if you don't have that for Uzbek, this might not be a good route for you. But I wanted to bring it to your attention just in case. They produced voices for some 700+ languages based on recordings of the bible, if memory serves. Being a native Swedish speaker, I can say that the results obtained for Swedish are reasonable considering there was no manual labor involved. Certainly a dedicated team will beat the automated approaches out of the water (at least for now), but the Wilderness project is a good backup plan. You need some technical skills to be able to generate a voice with the toolchain, but it's not that bad. I've done it multiple times with Festival/Festvox/Flite.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/566594/#p566594




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: file packer other than lucia's file packer

2020-08-24 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: file packer other than lucia's file packer

Personally I use zip for my current project. It's simple but does the job well enough. There's also 7z, but I haven't spent the time to learn the pros and cons of each. There is a zip module in more or less every mainstream language out there, however, so you should have an easy time setting it up. I am assuming that you are packaging your sounds and other assets in order to avoid having lots of little files on disk. if you are doing it in an attempt to try to hide your files, please understand that you cannot. Your assets will always be stolen by someone who is determined enough, and packaging your sounds won't help with that. You can make it a little harder by using some sort of obfuscation so that users can't just open the files and play them right away, but don't spend too much time on it.Good luck!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/564123/#p564123




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: question about bgt network object

2020-08-08 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: question about bgt network object

@13 Oh I know it's rampant. But I tried to do the right thing (see post 12), even though my understanding of the MIT license back then was even more rudimentary than it is now Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/559462/#p559462




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: question about bgt network object

2020-08-08 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: question about bgt network object

@13 Oh I know it's rampant. But I tried to do the right thing (see post 12), even though my understanding of the MIT license back then was even more rudimentary than it is now Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/559462/#p559462




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: question about bgt network object

2020-08-08 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: question about bgt network object

Apologies for the double post, but I wanted to follow up with some additional information.Looking into it a bit further, in the credits section of the BGT help file, ENet is mentioned. There is a link to the ENet project website, followed by a brief description of what ENet is. Below this description, it says:Note: For licensing information related to the ENet library, please see the website linked to above.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/559453/#p559453




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: question about bgt network object

2020-08-08 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: question about bgt network object

BGT uses ENet. I had an email conversation with the author regarding the attribution requirement back in the day. The MIT license has a bit of a legal gray area regarding binary attribution, though most people seem to agree that it *does* require it. Nowadays I avoid the MIT license to be on the safe side. ENet is the only component that was part of BGT which uses the MIT license.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/559449/#p559449




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Multiple State Menus?

2020-07-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Multiple State Menus?

I had to implement something similar a little while ago. I did it in C++ so I'm not sure how it translates to Python, but I had a generic menu class and a factory. The factory would populate the menu with its options, and would use function objects (usually created via lambdas) to store the action that should be performed for each option. So the menu state would go on top of the stack of states in the engine, and would automatically add the appropriate state to the stack when the user made a choice.So in summary you have a generic menu class that remembers its options and their resulting states via std function objects that are assigned at construction time.There are definitely other methods to solve the same problem and I'm sure there are better solutions than the one I went with, but I figured I'd share it anyway in case it helps some.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/555750/#p555750




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: bgt mirror is back

2020-06-30 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: bgt mirror is back

Just wanted to chime in and say that post 6 is absolutely correct. I would like to kindly request that the audiogames.net database not be updated with a permanent download link for BGT.Thanks!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/547120/#p547120




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: BGT Download Link

2020-05-17 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: BGT Download Link

Good evening,Just a heads up to let you all know that I asked the people behind the audiogame archive to remove BGT fairly recently. The reason for this is that I want to minimize its continued distribution. Since I neither intend to update nor answer any support questions about it, it is not a suitable tool for any new development efforts. Naturally there will always be people hosting it in random places, and I neither can nor wish to try to prevent that. But with a larger site like the Audiogame Archive, I want to make a clear statement by removing BGT from it. Hosting abandonware games is one thing, that does not cause any damage to anyone. But hosting a development tool with serious known issues is a different proposition altogether. The audio game archive is a great resource, but it should not promote the continued use of a tool that has the potential to cause serious issues for future developers, no matter the severity of the accompanying disclaimer. I know that some of you will continue to use it no matter what, and that's OK. I have made my position as clear as I possibly can, and I will leave it at that.Thanks for your understanding.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/530275/#p530275




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what are data bases

2020-05-12 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: what are data bases

Absolutely, transactions and error handling are a huge bonus, and is one of many reasons why I keep coming back to SqLite. I agree that rolling out a basic solution is not a hard task, and there's some added complexity when it comes to managing the SQL schema if you have a complex game state, but I'm still seriously considering it. I like the idea of coming up with queries to find the root of a bug via a save file during beta, for instance, which would take me significantly longer to do in code. I can also imagine a simple schema for storing complete input history, so you can record gameplay etc. Naturally you can accomplish the same things in other ways, but SqLite provides a very nice foundation.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/528724/#p528724




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what are data bases

2020-05-12 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: what are data bases

I agree with @14. SqLite is great for a lot of things. I have used it many times over the years for various projects, though never for a game - at least not yet. I'm in half a mind to try it for serialization in my next project, as I never really became friends with boost.serialization and other similar libraries.I can recommend the following article from the SqLite website, called SqLite as an application file format:https://www.sqlite.org/appfileformat.htmlThere are probably better solutions for games in particular, but I have a fondness for SqLite which might push me over the edge.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/528708/#p528708




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what is bgt file sise limmits

2020-04-04 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: what is bgt file sise limmits

I wanted to chime in with some brief information regarding streams. The BGT audio layer was not originally written by me, it was outsourced in 2008. I found and fixed several terrible race conditions quite a few years later relating to streams, but I am not sure whether all those fixes had been done at the time of the last release. If not, that would account for the random crashes. In addition, the last BGT release is using a very old version of stb_vorbis, a version which has several known issues which will cause crashes on some files. I would like to reiterate my recommendation to move to a solution that is maintained.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/515867/#p515867




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what is bgt file sise limmits

2020-04-04 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: what is bgt file sise limmits

I wanted to chime in with some brief information regarding streams. The BGT audio layer was not originally written by me, it was outsourced in 2008. I found and fixed several terrible race conditions quite a few years later relating to streams, but I am not sure whether all those fixes had been done at the time of the last release. If not, that would account for the random crashes. In addition, the last BGT release is using a very old version of stb_vorbis, a version which has several known issues which will cause crashes on some files. That could be another reason for the crashes. I would like to reiterate my recommendation to move to a solution that is maintained.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/515867/#p515867




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: what is bgt file sise limmits

2020-04-04 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: what is bgt file sise limmits

I wanted to chime in with some brief information regarding streams. The BGT audio layer was not originally written by me, it was outsourced in 2008. I found and fixed several terrible race conditions quite a few years later relating to streams, but I am not sure whether all those fixes had been done at the time of the last release. If not, that would account for the random crashes. In addition, the last BGT release is using a very old version of stb_vorbis, a version which has several known issues which will cause crashes on some files. That could be another reason for the crashes. I would like to reiterate my recommendation to move to a solution that is maintained.Kind regads,Philip Bennefall

URL: https://forum.audiogames.net/post/515867/#p515867




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: twitter authorizing in BGT?

2020-03-25 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: twitter authorizing in BGT?

@42:That is absolutely an important question to consider. But I think we have to differentiate between the API and the implementation in this case. If someone reimplements an API compatible engine, older games would still run. That is the only way I can see it moving forward. But releasing the current implementation as open source is not something I am interested in doing, for the reasons outlined above. In order to be viable it would need to be reimplemented anyway, so there needs to be a very dedicated effort behind such an endeavor. Personally I have plans to release more open source projects in the future, but a BGT reimplementation will not be one of them.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/512070/#p512070




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: twitter authorizing in BGT?

2020-03-24 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: twitter authorizing in BGT?

@32:Of course you can still choose to use it, that is not the point I am trying to make. My point is that there are other solutions that will do what you want, and more. Familiarity is one thing, and there's nothing wrong with using something that you are familiar with in general. But when familiarity causes stagnation and an unwillingness to adopt to new and better technologies, it is a problem. Using an unmaintained piece of software which is actively discouraged by the author is not a good idea. Though of course, in the end you must make your own decision. I can only tell you what I recommend as the original author.@33:I have also seen this trend, but let me be clear that I have never claimed that there are no other alternatives out there. If people make that assumption, it is unfortunate and is not what I intended when I released the engine. I intended it to solve a few problems that I had at the time, which it did. But beyond that, there are certainly a lot of limitations that make it unsuitable for production use today. Technology has moved on.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/511904/#p511904




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: twitter authorizing in BGT?

2020-03-24 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: twitter authorizing in BGT?

When I said check for updates, I meant the simplest possible approach where you ask the server if there is a new update and then simply redirect the user to the website. I never actually built an autoupdater with the http facilities. Hashing helps some and I do hope that anyone who has written an autoupdater uses it, but hashes can also be circumvented by someone who is determined enough. So I definitely agree with the points above.Back when I implemented http about 9 years ago, I wanted a quick solution and I did not know nearly as much about cryptography and networking as I do now, and I considered ssl to really only be necessary when submitting sensitive data such as credit cards, which was never the intended usage. But as I said above, were I doing it today, ssl would obviously be a must. And since I have no intention to go back and revive BGT, I highly recommend that people move on.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/511874/#p511874




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: twitter authorizing in BGT?

2020-03-24 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: twitter authorizing in BGT?

When I said check for updates, I meant the simplest possible approach where you ask the server if there is a new update and then simply redirect the user to the website. I never actually built an autoupdater with the http facilities. Hashing helps some and I do hope that anyone who has written an autoupdater uses it, but hashes can also be circumvented by someone who is determined enough. So I definitely agree with the points above.Back when I implemented http about 9 years ago, I wanted a quick solution and I did not know nearly as much about cryptography and networking as I do now, and I considered ssl to really only be necessary when submitting sensitive data such as credit cards, which was never the intended usage. But as I said above, were I doing it today, ssl would obviously be a must. And since i have no intention to go back and revive BGT as I said above, I highly recommend that people move on.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/511874/#p511874




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: twitter authorizing in BGT?

2020-03-24 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: twitter authorizing in BGT?

@19:I decided not to open source BGT because the code is old, and definitely not an example of good coding style as I was learning C++ when I began writing it in 2008 or so. Therefore it does not serve well as a learning tool, and there are better ways of creating this kind of infrastructure. So I feel that I would be doing the community a disservice by having BGT floating around in the form in which I left it. Also, I do not want to have my name attached to a codebase that I don't intend to maintain or support in any way. BGT worked well for the types of games for which it was designed, but I think it is time to move on.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/511662/#p511662




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: twitter authorizing in BGT?

2020-03-24 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: twitter authorizing in BGT?

@14:In order to avoid going off topic, I'll be brief. I have no desire to revive BGT, nor to invent a programming language. This decision was taken a long time ago, and it will not change. I'm sorry. As I have said many times in other topics, there are a lot of options out there and I strongly advise you to explore them.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/511657/#p511657




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: twitter authorizing in BGT?

2020-03-23 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: twitter authorizing in BGT?

I just stumbled upon this topic and I wanted to clear things up. BGT did not have https support. Back when I implemented it, I wanted a quick solution for basic tasks like checking for updates and similar features. I did not want to ship OpenSSL because of the licensing ramifications, and I did not know about the Wininet C interface at the time or I would definitely have used it. But back then, about 9 or 10 years ago, the amount of insecure traffic was unfortunately still quite high. Nowadays many websites will not even operate over an insecure connection, and rightly so. Needless to say, were I to do it over again, ssl would be at the top of the list.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/511512/#p511512




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-22 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

There's dr_wav, dr_mp3 and dr_flac from the same author as miniaudio.https://github.com/mackron/dr_libs/Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/503341/#p503341




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-21 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

Thanks for that! I'll check it out next time I dive back into the HRTF stuff; right now I'm a bit swamped with other things and my existing implementation works well enough for my needs at the moment. Though as I say, I need to profile it properly before I consider releasing it. Though honestly if you put your stuff out under a liberal non-binary attribution license, I'll give it a spin and replace mine if yours is better.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/503224/#p503224




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-21 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

Thanks for that! I'll check it out next time I dive back into the HRTF stuff; right now I'm a bit swamped with other things and my existing implementation works well enough for my needs at the moment. Though as I say, I need to profile it properly before I consider releasing it. Though honestly, if you put your stuff out under a liberal license (other than Apache or MIT etc), I'll give it a spin and replace mine if yours is better.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/503224/#p503224




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-21 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

@26 Yeah, I ended up equalizing by hand. It took hours, and it hurt. A lot. The format took some figuring out. I ended up converting it to tables in C, and it worked well even though the resulting file is a couple of megabytes.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/503217/#p503217




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-21 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

@16:I use the public domain CIPIC HRTF database found at https://www.ece.ucdavis.edu/cipic/spati … hrtf-data/I use the special kemar dataset, which has 5 degree intervals. I snap between them, with a very brief crossfade. This obviously causes a spike which I would like to avoid, but have not yet found a way. However, the transitions are quite smooth and I am personally happy with the result. I had to do a lot of post processing though in order to even out some of the crazy peaks in the frequency spectrum, and to put the low-end back. The MIT dataset suffers from similar peaks and lack of bass, and the MIT license is ambiguous regarding binary attribution so I avoided it.Kind regards,Philip BennefallP.S. I use miniaudio in my framework and it works wonders. And the author is a great guy, too.

URL: https://forum.audiogames.net/post/503193/#p503193




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-21 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

@12 Thank you for the references, I'll have to read up on that when I have some time. My convolution based approach uses slightly larger impulses (200 frames) since that's what the dataset contained, but if I can reduce that without noticeable differences in quality, it's always a bonus. It sounds pretty good at least to my ears, but of course there's always room for improvement.Regarding the Apache license, I am not a lawyer so of course I can't be 100% certain that my understanding is correct, but the following quote can be found here:http://www.apache.org/dev/apply-license.htmlSection 4d of the license provides for attribution notices to be included with a work in a NOTICE file, such that the attribution notices will remain, in some form, within any derivative works. Apache projects MUST include correct NOTICE documents in every distribution.It's not quite clear to me whether this applies to derivative works distributed in binary form, but that's what it sounds like.In any case, best of luck with your efforts. To answer your original question, if you do pick the Unlicense or something similarly liberal, I'm most definitely interested. Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/503164/#p503164




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-21 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

@12 Thank you for the references, I'll have to read up on that when I have some time. My convolution based approach uses slightly larger impulses (200 frames) since that's what the dataset contained, but if I can reduce that without noticeable differences in quality, it's always a bonus. It sounds pretty good at least to my ears, but of course there's always room for improvement.Regarding the Apache license, I am not a lawyer so of course I can't be 100% certain that my understanding is correct, but the following quote can be found here:http://www.apache.org/dev/apply-license.htmlSection 4d of the license provides for attribution notices to be included with a work in a NOTICE file, such that the attribution notices will remain, in some form, within any derivative works. Apache projects MUST include correct NOTICE documents in every distribution.It's not quite clear to me whether this applies to derivative works distributed in binary form, but that's what it sounds like.In any case, best of luck with your efforts. But to answer your original question, if you do pick the Unlicense or something similarly liberal, I'm most definitely interested. Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/503164/#p503164




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Gauging interest in another 3d audio project

2020-02-20 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Gauging interest in another 3d audio project

@1:Welcome back!Personally I am very interested in a liberally licensed HRTF solution. A couple of months ago I implemented HRTF as part of my slowly evolving game framework, but I am not at all sure whether my implementation will scale. Like yourself, I work full time so can only really do it as a hobby. I have been seriously considering releasing my framework, including the HRTF portion, as open source once it has matured a bit. My HRTF solution uses partitioned FFT convolution with precomputed impulse tables, and it seems to work OK. I haven't done any serious profiling yet, though, which is why I'm holding off.I use the convolution engine from the WDL library which I think looks quite reasonable, and is under the Zlib license. Personally I stay away from any dependencies that require attribution in binary only distrubutions. I believe the Apache license falls into this category, so if your work will be published under this license I would not use it myself. But needless to say not everyone shares my idiosynchrasies. This became a slightly longer post than I had intended. I'm mentioning all this now because if you have a better solution in mind, I may turn my efforts in another direction so that we don't end up with two competing products in such a small community.I'll be interested to see what you put out. Good luck!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/503098/#p503098




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: C input?

2020-02-08 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: C input?

How about taking a pointer to the integer as an argument, and simply returning true or false from the function to indicate the outcome? If you actually return a pointer from the function, you'll have to start using malloc and free for a task where it is not needed. If you use a pointer as an output parameter, the user can declare it on the stack as usual without the need for dynamic memory allocations.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/499647/#p499647




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Python how to get the raw audio data from SAPI?

2020-02-07 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Python how to get the raw audio data from SAPI?

Most of the Microsoft voices have some lag, actually. This includes the Windows 10 voices.As for the event, I haven't investigated that. I might look into it when I revisit my Sapi backend at some point. However, while I don't like the idea of allocating a new stream instance each time, it has not caused any noticeable lag in my implementation.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/499426/#p499426




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Python how to get the raw audio data from SAPI?

2020-02-06 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Python how to get the raw audio data from SAPI?

BGT uses DirectSound. In my new engine, I am using Wasapi on Windows, CoreAudio on Mac and so on.Congratulations on getting this to work!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/499186/#p499186




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Python how to get the raw audio data from SAPI?

2020-02-06 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Python how to get the raw audio data from SAPI?

I had the same issue, and the only solution I found was to create a new stream each time. It seems to be a relatively light operation though, at least it has not caused me any trouble thus far.BTW, beware of SAPI's horrible resampler. I ended up having to force the stream to the sample rate of the voice and doing my own upsampling to 44.1.Also, keep in mind that trimming 0's will only get rid of absolute silence. You'll want to go for a slightly higher threshold in order to make this work for most voices, as they tend to output a noise floor.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/499153/#p499153




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: sound positioning formula

2020-02-05 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: sound positioning formula

For a single dimension, you'd just want pan and possibly some volume based on distance.Let's say your panning is between -1.0 and 1.0, you figure out the difference between the player and the object in question, multiply by a factor depending on how much you want the distance to affect pan, and then figure out if it needs to be on the left or on the right (e.g. whether pan needs to be lower than or greater than 0).An example of this very basic approach can be found in sound_positioning.bgt which ships with the engine, so if you have a copy of it, you can read that file if you need some pointers in the right direction. The formulae are applicable to any programming language.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/498743/#p498743




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: sound positioning formula

2020-02-05 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: sound positioning formula

For a single dimension, you'd just want pan and possibly some volume based on distance.Let's say your panning is between -1.0 and 1.0, you figure out the difference between the player and the object in question, multiply by a factor depending on how much you want the distance to affect pan, and then figure out if it needs to be on the left or on the right (e.e. whether pan needs to be lower than or greater than 0).An example of this very basic approach can be found in sound_positioning.bgt which ships with the engine, so if you have a copy of it, you can read that file if you need some pointers in the right direction. The formulae are applicable to any programming language.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/498743/#p498743




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Interfacing with screen readers through programming languages

2020-02-02 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Interfacing with screen readers through programming languages

@12 Are you aware that there is already screen reader support in BGT? They are separate functions rather than a class. Also, there is a Sapi backend. It's outdated, but it works reasonably well.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/498018/#p498018




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Interfacing with screen readers through programming languages

2020-02-01 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Interfacing with screen readers through programming languages

Honestly I don't have any experience with Python, so I'm not really the right person to answer you. I write in C and C++, with a strong preference for C.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/497754/#p497754




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Interfacing with screen readers through programming languages

2020-02-01 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Interfacing with screen readers through programming languages

I'm not sure if Tolk supports retrieving the audio samples. If it doesn't, you will need to implement your own Sapi layer instead of using Tolk for that part. If you are just starting out with coding, this might not be something you'll want to do right away. I suggest accepting the slower response for now, and revisiting it later when you've had some more time to learn. Alternatively, wait for me to release my Sapi wrapper which has this feature built-in. It'll happen one of these days, but haven't decided exactly when.If you do want to write your own Sapi layer, let me know and I'll be happy to give you some additional pointers.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/497730/#p497730




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Interfacing with screen readers through programming languages

2020-02-01 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Interfacing with screen readers through programming languages

@4 Yes. If you are prepared to dig a little deeper into Sapi, what I personally do is to get the raw sample stream into a memory buffer and then trim the silence from the beginning. You can do this by simply removing all 0's until you hit upon a non-zero sample, but chanses are that there won't be perfect silence but something very close to it. I use a cheap approximation of a noise gate with a very low threshold.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/497718/#p497718




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Analgorithmic problem I would like to know to solve

2020-01-23 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Analgorithmic problem I would like to know to solve

Sounds like you are looking for something like the Levenshtein distance algorithm.https://en.wikipedia.org/wiki/Levenshtein_distanceKind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/495137/#p495137




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: making fps in bgt?

2020-01-14 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: making fps in bgt?

@5 I have never seen that code, but certainly it is an option. However, there is a lot more to a fully fledged physics library than rotation. That's why I don't think it will offer a long-term solution that will scale.Bullet3d has bindings for several other languages as well from what I can see, so it is an option even if C++ is not the language of choice.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/492842/#p492842




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: making fps in bgt?

2020-01-14 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: making fps in bgt?

While it is perfectly possible to make an FPS in BGT, might I recommend you look at other options? BGT has no built-in math primitives for simple construction of FPS titles, so you will have to do a lot of the groundwork yourself. In other languages you have ready to use libraries that you can pull in. While these libraries certainly have a learning curve, it is a lot less steap than rolling your own solution from scratch.I personally use C++ so I might recommend the Bullet physics engine, if you want to go down that route.Good luck!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/492749/#p492749




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Encryption Protocol for Game Network Traffic

2019-12-18 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Encryption Protocol for Game Network Traffic

For those interested, I just updated my protocol in post 1 to reflect the changes discussed.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/486560/#p486560




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Survey of cross-platform spatial audio libraries

2019-12-18 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Survey of cross-platform spatial audio libraries

If you want a ready made solution, I would go with either one of the suggestions made above. But if you're like me and want to have a crack at rolling your own, the solution that worked for me was HRTF via partitioned convolution. Luckily I found a library for it so I didn't have to write that part from scratch. I gathered some public domain HRTF impulses, tweaked them a lot, and fed them to the convolution engine and got a result that I am very happy with.Here's the convolution package I used:https://github.com/justinfrankel/WDLKind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/486468/#p486468




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Encryption Protocol for Game Network Traffic

2019-12-17 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Encryption Protocol for Game Network Traffic

@5 I have taken a second, even deeper dive into monocypher and I think I can switch to it without too much trouble. Using the low level primitives is something I would avoid regardless of what library I am using, so that was never my concern. My concern is that I need to know what primitives are used under the hood in case I ever have to reimplement the protocol using a different library down the road.Switching to monocypher is painless, except for the transition to XChaCha20 which I'll get to in a second. Swapping out sha512 for blake2b is a no-brainer, so that didn't require much consideration. As for the key exchange and signing that monocypher implements, it's very close to what I already had in my protocol so all I have to do there is change the hash algorithm and I'm good to go.So now, the IV. For many types of games you are absolutely right that 16 versus 40 bytes per packet makes no difference whatsoever. But for finger twitching games where the server and clients are sending, say, 10 or 20 packets per second, with 8 players per game and lots of games hosted on the same server, it does add up. A lot of network game developers spend countless hours using clever techniques to get their packet sizes down as much as possible - I'm talking bit by bit, not bytes. So I have decided to support both a streaming approach when possible, and fall back to stateless packets when required. So for TCP traffic I can simply use the same trick specified in RFC 7905, where the 64 bit counter is XOR:ed with a static IV which is derived from the shared secret, as that still guarantees a unique IV for every message and the difference between 12 and 24 byte IV's is not even noticeable since it is never transmitted over the whire. So I can actually make the switch to monocypher and maintain my current stateful counter design, which is the same approach used by tls 1.2 and 1.3 with ChaCha20 as the cipher.For stateless messages, such as over a UDP connection, the overhead is unfortunate but cannot really be helped. It does offer the possibility to send messages without keeping track of IV's though, which is obviously a huge plus when packets can get lost and be sent out of order etc.So all in all, I can use my existing protocol with minor modifications (namely the hash algorithm and the application of the counter approach for the 24 byte IV's), and still use monocypher's high level API out of the box.Thanks for the feedback and for making me take a second look into it.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/486239/#p486239




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Encryption Protocol for Game Network Traffic

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Encryption Protocol for Game Network Traffic

Sorry for the double post, but I would like to correct myself. I just double checked and I see that sha512 is indeed used by tls 1.3, but *only* for the RSA certificate signature scheme. The ChaCha20 poly1305 suite uses sha256. So I will either switch to sha256, sha384, sha3, or Blake2b. Thanks!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/486034/#p486034




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Encryption Protocol for Game Network Traffic

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Encryption Protocol for Game Network Traffic

Sorry for the double post, but I would like to add something. I just double checked and I see that sha512 is indeed used by tls 1.3, but *only* for the RSA certificate signature scheme. The ChaCha20 poly1305 suite uses sha256. So I will either switch to sha256, sha384, sha3, or Blake2b. Thanks!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/486034/#p486034




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Games for Linux

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Games for Linux

That's what I was afraid of. it is not impossible, though. Flite from CMU is pretty lightweight and the newer Clustergen voices are of reasonable quality. I'll think about it, for sure.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/486033/#p486033




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Encryption Protocol for Game Network Traffic

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Encryption Protocol for Game Network Traffic

First, thanks for the response! To address your first point, OpenSSL is not installed by default on Windows, which is my primary operating system. I listed some reasons why I don't want to use OpenSSL in the beginning of the post.As a matter of fact, tls 1.3 uses sha512 as part of the cipher suite which includes x25519. I am not aware of any new attacks on sha512 since 2017 when the RFC was published, so I assume that the people behind tls knew about the ramifications of combining sha512 with x25519 when they made that decision. Nevertheless, it would be trivial to use any other hashing algorithm and I have actually looked into Blake2b, but haven't made my final decision yet. I don't think sha512 is a problem in and of itself, though.Regarding monocypher, it is not written by a cryptographer either from what I can tell, but I investigated it very carefully nevertheless. It looks quite good, but my one concern is that it doesn't seem to support the IV/counter construct which is used by tls 1.3. The counter/IV approach makes it really convenient to send sequential messages. If I switch to XChacha20 instead, I will be using a 192 bit IV instead of a 96 bit one, and if I cannot do the counter approach I would have to send 24 bytes for every message. That would bring the overhead of each message from 16 to 40 bytes, which is far from ideal. The 16 byte overhead comes from the poly1305 tag, and right now I don't need to send neither the IV nor the counter over the network as they can be calculated by both parties based on the initial output from the key derivation function.I do care about the overhead because I want to reduce network traffic as much as possible. For a single connection this is not a very big problem, but if a server is hosting a lot of games simultaneously it would quickly add up if packets are sent frequently.I hope this reasoning makes sense. Thanks again for the feedback!Kind regards,Philip BennefallP.S. I did post an earlier draft of the protocol to the cryptography section of Stack Exchange, but it was considered off topic because it was too closely tied to my particular use case. I have tried to make it resemble tls 1.3 rather closely though, so unless I have made some obvious mistake, I think it should be reasonably good.

URL: https://forum.audiogames.net/post/486030/#p486030




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Encryption Protocol for Game Network Traffic

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Encryption Protocol for Game Network Traffic

First, thanks for the response! To address your first point, OpenSSL is not installed by default on Windows, which is my primary operating system. I listed some reasons why I don't want to use OpenSSL in the beginning of the post.As a matter of fact, tls 1.3 uses sha512 as part of the cipher suite which includes x25519. I am not aware of any new attacks on sha512 since 2018 when the RFC was published, so I assume that the people behind tls knew about the ramifications of combining sha512 with x25519 when they made that decision. Nevertheless, it would be trivial to use any other hashing algorithm and I have actually looked into Blake2b, but haven't made my final decision yet. I don't think sha512 is a problem in and of itself, though.Regarding monocypher, it is not written by a cryptographer either from what I can tell, but I investigated it very carefully nevertheless. It looks quite good, but my one concern is that it doesn't seem to support the IV/counter construct which is used by tls 1.3. The counter/IV approach makes it really convenient to send sequential messages. If I switch to XChacha20 instead, I will be using a 192 bit IV instead of a 96 bit one, and if I cannot do the counter approach I would have to send 24 bytes for every message. That would bring the overhead of each message from 16 to 40 bytes, which is far from ideal. The 16 byte overhead comes from the poly1305 tag, and right now I don't need to send neither the IV nor the counter over the network as they can be calculated by both parties based on the initial output from the key derivation function.I do care about the overhead because I want to reduce network traffic as much as possible. For a single connection this is not a very big problem, but if a server is hosting a lot of games simultaneously it would quickly add up if packets are sent frequently.I hope this reasoning makes sense. Thanks again for the feedback!Kind regards,Philip BennefallP.S. I did post an earlier draft of the protocol to the cryptography section of Stack Exchange, but it was considered off topic because it was too closely tied to my particular use case. I have tried to make it resemble tls 1.3 rather closely though, so unless I have made some obvious mistake, I think it should be reasonably good.

URL: https://forum.audiogames.net/post/486030/#p486030




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Encryption Protocol for Game Network Traffic

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Encryption Protocol for Game Network Traffic

For the last little while, I have been doing research into how to do encryption properly for networked traffic in my future games. I could use OpenSSL/tls and call it a day, but I wanted to roll my own for a few reasons:1. OpenSSL is a large dependency; I want something much more lightweight.2. The TLS protocol has more overhead in terms of network traffic than I am willing to put up with.3. I am not required to interoperate with tls servers, so the compatibility is not necessary.4. I find the OpenSSL software license too restrictive.Of course, I did read the tls 1.3 specification and took a lot of ideas from it, as combining cryptography primitives incorrectly can ruin the entire system. SO I am using x25519 for key exchange, ed25519 for the certificate, and the ChaCha20 stream cipher with poly1305 for authenticated encryption.Here is my protocol for those who are interested. Maybe this will help others who are trying to do something similar. In any case, feedback is welcome!Blastbay Studios Game Network ProtocolUpon client connect:* Generate a 32 byte SALT.* Generate an x25519 public and private key pair.* Use the x25519 algorithm to derive a shared secret from the newly generated private key and the server's static public key.* Use HKDF with the SHA512 hashing algorithm to derive 704 bits of keying material, with the SALT that was previously generated.* Use the first 256 bits to make up a key and the next 96 bits to make up an initialization vector (IV), and initialize a ChaCha poly1305 session with 20 rounds using the IV and a 64 bit counter of 0 as specified by RFC7905. This session will be used to encrypt data that is sent to the server.* Use the next 256 bits to make up a key and the final 96 bits to make up an initialization vector (IV), and initialize a ChaCha poly1305 session with 20 rounds using the IV and a 64 bit counter of 0 as specified by RFC7905. This session will be used to decrypt data that is received from the server.* Generate 32 random bytes and encrypt these with the first ChaCha poly1305 session. We call these the challenge.* Increment the sequence counter of the first ChaCha poly1305 session by 1.* Generate a packet containing the following data:1. An eight byte header which represents the name and version of the protocol.2. The 32 byte SALT.3. The 32 random challenge bytes that were encrypted by the first ChaCha poly1305 session.4. The 16 byte tag verifying the integrity of the encrypted challenge bytes.5. The raw export of the public x25519 key, which is 32 bytes.* Send the packet over the whire.When the server receives the connection data described above from the client, it should do the following:* Verify that the protocol is supported. If there is a mismatch, a plaintext failure packet is sent and the connection is terminated.* If the protocol is supported, use the x25519 algorithm to derive a shared secret from the server's static private key and the client's public key.* Use HKDF with the SHA512 hashing algorithm to derive 704 bits of keying material, with the SALT that was received from the client.* Use the first 256 bits to make up a key and the next 96 bits to make up an initialization vector (IV), and initialize a ChaCha poly1305 session with 20 rounds using the IV and a 64 bit counter of 0 as specified by RFC7905. This session will be used to decrypt data that is received from the client.* Use the next 256 bits to make up a key and the final 96 bits to make up an initialization vector (IV), and initialize a ChaCha poly1305 session with 20 rounds using the IV and a 64 bit counter of 0 as specified by RFC7905. This session will be used to encrypt data that is sent to the client.* Use the first ChaCha poly1305 session to decrypt the 32 random challendge bytes received from the client.* Verify that the tag matches.* Use ED25519 to sign the 32 random challenge bytes using the server's static private key (this produces a signature which is 64 bytes in length).* Use the second ChaCha poly1305 session to encrypt the 32 random challenge bytes that were previously decrypted, as well as the 64 byte signature.* Send the encrypted result which will be 96 bytes, plus the 16 byte tag over the whire.* Increment the sequence counters for both ChaCha poly1305 sessions by 1.When the client receives the response from the server, it must do the following:* Decrypt the data using the second ChaCha poly1305 session.* Verify that the tag matches.* Increment the sequence counter of the second ChaCha poly1305 session by 1.* Verify that the 32 random challenge bytes are the same as the ones sent to the server in the first step.* Use ED25519 to verify the message signature using the server's static public key.* If the verification succeeds, the handshake is concluded and the two ChaCha sessions can then be used to securely transmit application data.At the end of the handshake, the sequence counter for both sessions should be 1 for both the 

Re: Games for Linux

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Games for Linux

The only thing I have not figured out yet is the speech synthesis part. I need to send the audio to a memory buffer, not just play it through the default method that the particular speech engine happens to provide. I have this working on Windows and I found some sources for how to do it on Mac and iOS, but nothing for Linux that seems to come bundled with the distribution as of yet. Any ideas?Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/485950/#p485950




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Games for Linux

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Games for Linux

@13 The project I am working on at the moment is not an open source library, it is something very different and will be closed source. My making an open source game in the future is not out of the question, but is not in the pipeline as of yet.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/485908/#p485908




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Games for Linux

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Games for Linux

It looks like an interesting framework, though I have already spent a fair bit of time building up my own from scratch to suit my specific needs, so I think I will continue down that road for now. But I have no doubt this would be very useful for someone who wants to get started developing games in C++!As for statistics, I was asking mainly to get an idea of whether it would be worth spending the time required to deploy for Linux properly. It can be a non-trivial task given the number of distributions etc. But if I limit myself to those based on Debian, such as Ubuntu and friends, it might be viable.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/485845/#p485845




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Games for Linux

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Games for Linux

In my current framework, building for Linux is a no-brainer since I wrote it with cross platform support in mind from the start. Do we have any statistics on how many blind people use Linux as their primary OS?Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/485834/#p485834




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Games for Linux

2019-12-16 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Games for Linux

In my current framework, building for Linux is a no-brainer since I built it with cross platform support in mind from the start. Do we have any statistics on how many blind people use Linux as their primary OS?Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/485834/#p485834




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: the best way to make random events happen in my python game?

2019-12-12 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: the best way to make random events happen in my python game?

For chess and other so called "perfect information" board games, minimax used to be the most common approach plus a bunch of fancy additions. But nowadays, neural networks have shown to be far superior for such tasks, where the search space is vast and there are a lot of rules that determine how good a particular move is. For my Jungle game, I used minimax with some tweaks, but I am not 100% happy with its performance. Jungle's search space is nowhere near that of chess, but it is sufficiently difficult to make minimax complicated to implement (the cost estimation function to be precise).For FPS and other similar games, a technique which seems fairly populare nowadays is called "utility based AI". Combined with behavior trees, it can do some pretty incredible things. There are a lot of posts about it on Google if you are curious.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/484985/#p484985




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Reliability of packets?

2019-11-15 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Reliability of packets?

@15 No, BGT does not use TCP in the network object. It is a thin wrapper around ENet. ENet implements the connection/handshake on top of UDP.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/476850/#p476850




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Reliability of packets?

2019-11-15 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Reliability of packets?

@10 The terms unreliable and reliable packets used in the BGT documentation came from the ENet library which is used under the hood. ENet uses those terms to distinguish between the pieces of data that had to be acknowledged and those that did not. Here's a reference:http://enet.bespin.org/Features.html@12 When I wrote the networking for the Jungle board game, I used TCP. It worked well for that type of game because all you had to transmit was player moves, and matchmaking information to get a new game going.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/476760/#p476760




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Reliability of packets?

2019-11-14 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Reliability of packets?

The TCP vs UDP debate has been going on in the game development community for as long as the Internet has been used for gaming. Here is an interesting article on the subject.http://ithare.com/64-network-dos-and-do … dp-debate/It is part of a series, all of which makes very interesting reading so look over the other parts as well if you are curious.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/476473/#p476473




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: A question for developers About something I want to Attempt to create

2019-10-31 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: A question for developers About something I want to Attempt to create

Good morning,I just wanted to jump in since you mentioned my name; thanks for the complement, by the way.First, I did not write the actual language used by BGT. BGT used a scripting engine called AngelScript, from www.angelcode.com. I made a framework with features that were useful for my own audio game development needs, and wrapped them in AngelScript.Having said that, a lot of people create programming languages. Not necessarily to try to become a contender for Python, Java etc, but as a way of learning. Writing compilers is very hard but quite rewarding, if you do it for the right reasons. If you go into it expecting to beat GCC, you'll most likely be disappointed but I think you know this already. But if the intention is to do it as a learning project and to expand your set of skills, I say go for it and I wish you the best of luck.The first thing you will want to do is ask yourself what distinctive features your language should have. What makes it unique? Then you'll run into other questions like do you want static typing? Do you want the language to be focused on OOP or procedural code? Both? There are tons of similar questions to answer and it'll keep you busy for a while.Good luck!Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/471327/#p471327




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-30 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@62 Definitely a good idea. Though my own personal focus is more on C and C++, so I don't think I'll start cranking out _javascript_ libraries any time soon. Then again, one can always use Emscripten to convert C and C++ code to LLVM bytecode and then convert that to _javascript_.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/471200/#p471200




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-29 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@60 Right, it will look very similar to the signature you wrote. I have figured out how streaming convolution is done in theory now, but I haven't had time to implement it yet because I work full time during the weeks. Come the weekend, I will take a stab at it.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/471079/#p471079




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-27 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@57 A general library for convolution, plus higher level wrappers for HRTF is what I want to achieve in the end. I just have to iron out the details of how to do real-time convolution, which is not a trivial task. I'm working on it as we speak.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470796/#p470796




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-27 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

It turns out that I can't use the one-shot interface directly. Running the convolution on 10 seconds of audio with a latency of 256 frames took about 84 seconds, so I definitely need to think of a different approach for streaming.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470791/#p470791




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-27 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@53 That's the part I am investigating at the moment. The easiest and most natural way would be to simply use the one-shot interface and then overlap the results, but I don't know if it will be fast enough. There is a tradeoff between latency and speed, basically.@54 Awesome! I could probably make some higher level abstractions on top of it as well, such as direct access to HRTF impulses via lookup tables etc.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470790/#p470790




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@50 You are absolutely right, it's in no way wrong to release code with a disclaimer. I just do not want to do so for various reasons that I have tried to outline. I personally would not use code from a developer if it has such a disclaimer, but that's obviously down to personal opinion again.@51 Cheers! For now I have written the one-shot version, as it were. It processes the whole chunk at once. Now I have to write the streaming interface on top of it, with the add/overlap stuff etc. I'm not looking forward to that, but the library would be more or less unusable without it.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470767/#p470767




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

For those who are curious, here's a sample of how it sounds.I used a simple mono recording of speech as my data. Note that I have a cold so I only sound half human.https://www.dropbox.com/s/nxn8iqqy3tpqg … h.wav?dl=1And here is the impulse; a free recording of a room that I downloaded years ago.https://www.dropbox.com/s/tqt6hf7ho4ihj … o.wav?dl=1And finally, here is the output.https://www.dropbox.com/s/4a28vflgmaudn … o.wav?dl=1Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470751/#p470751




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@46 I already made such a shell, that's what I am using to test my implementation. Right now it does the whole convolution in one step, so I still need to implement streaming. But the output sounds just like Acoustic Mirror from Sony, which makes me happy.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470696/#p470696




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@44 That would be useful indeed, and I'll definitely think about it, but it's a bit outside my experience at the moment so I would have to do a bunch of research before I would be ready to take on something like that.@42 I'm delighted to say that I just got convolution working. There are some details I still have to iron out, but I have a proof of concept working in the frequency domain and it sounds pretty awesome if I may say so myself.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470679/#p470679




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@41 The combinations stuff is taken from an old boost header-only library that I think is no longer available. It was online for a while but I can't find it anymore. It was never actually accepted into boost, only proposed for review.As for AngelScript, if you have trouble with it I would email the author and ask for help if I were you. Writing a tutorial on how to use AngelScript is a little outside the scope of what I am trying to do with my open source libraries.@42 It's funny you should mention convolution. For the last couple of days I have actually been reading up on exactly that, and I think I figured it out. I'm going to spend a few hours this weekend trying to see if I can get it working in the frequency domain. Convolution has two useful applications in games; reverb of course, but also HRTF (AKA binaural audio). It would be really nice to have a small, self contained library for HRTF processing. We'll see how far I get.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470659/#p470659




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@39 I agree with you 100%, and that's why I started this topic in the first place. To be clear, I will not be publishing these parts from the BGT codebase as they are not particularly well written. Instead, I am rewriting them piece by piece to be done better, and to hopefully have more features and better performance than their predecessors.Some things I have already found public domain libraries for, such as pathfinding, encryption and pack files, so I will not be rewriting those. I might publish a list of libraries that I recommend, though.But the tts stuff I do plan to publish, as I have made some additional optimizations that reduces the latency of the speech way below NVDA's level for example. I also did some work on language detection, and I have recently figured out how to call the Microsoft OneCore voices natively from C.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470652/#p470652




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-26 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@36 If I state in the readme that I will not have anything to do with the project pretty much, and that it is not a good idea to learn from it, then I don't see the project serving any purpose. I don't see what motivation there would be for keeping it online. This is exactly why I decided to discontinue BGT in the first place. Publishing the source at this point would be more than a little counterproductive, and I am not interested in doing so.This topic was not really meant to be about BGT, its future, its internals, or anything else relating to it. My intention was to have a brainstorming topic where people could suggest ideas for self contained, easy to use, minimalistic libraries that would serve some useful purpose.As for generating hardware ID's, there are lots of ways of doing that but none are bulletproof. The options you have also depend on what platform you are targeting, of course. Basically, try to find pieces of information about the operating system and the hardware that you believe will not change frequently, and combine them in some way.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470624/#p470624




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Blastbay Studios Open Source Libraries

2019-10-25 Thread AudioGames . net ForumDevelopers room : philip_bennefall via Audiogames-reflector


  


Re: Blastbay Studios Open Source Libraries

@34 Of course it is on them if they want to lern from it, but many new developers may not actually be able to tell which parts are terrible and which ones that are reasonable. And there is also another important point, which is that I don't want my name associated with badly written code. I would be receiving questions about it, suggestions for improvements, patches that I would have to review etc, and that's the last thing I want. At the end of the day, it would be like having to continue supporting BGT anyway and that's exactly what I am trying to get away from. Simply put, just because a product has been abandoned does not make it a good idea for it to be made available as open source. In the case of BGT, that would be a very bad outcome which is why I am so firm on this point. Of course I can see why many people want the source, but at the same time I hope my reasoning makes sense.Kind regards,Philip Bennefall

URL: https://forum.audiogames.net/post/470610/#p470610




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


  1   2   >