Hello.
Dear moderators, I hope that I post this in the correct forum. If not, I ask you to transfer my topic to the more suitable forum.
My name is Constantine.
I'm blind. Completely blind.
Among blind programmers, there are those who develop audio games.
What does it look like?
Imagine GTA, Mafia, Call Of Duty, any shooter. Only without graphics, and without sight height. And you are guided by 3D sound, shoot at the sound, etc.
Recently, a lot of those who write in Python. But personally, I'd not trust Python with a good online project...
To work with a computer, we use screen access programs. Programs that voice everything on the computer screen.
Why can't we use video game engines?
Because not all of them are access to us. The most popular, Unity and Unreal Engine, are not available for our programs.
It's clear that everyone who starts development from scratch implements every detail. Game window, processing keystrokes, sound output.
One of the developers of sound games, Philip Bennefall, said in one of his interviews (recorded from memory):
Every time, I have to do something at a low level. Work with memory, pointers. I cannot concentrate on the logic of the game. Therefore, I decided to create a game engine. An engine that allows you not to think about things at a low level, but allows you to focus on game logic.
And he really created! The engine was called Blastbay Game Toolkit (BGT).
The engine is very simple. For example, in order to reproduce sound, it was necessary to create an object of the Sound_pool class, set the file name in the constructor, and then simply execute the Play_3D method and transfer the coordinates of the listener and source.
3 cons of engine:
1. Not cross-platform;
2. Discontinued support;
3. Very big lags when transferring packets in online games.
There have been and are other attempts to create such an engine.
The most successful, have now created an API in Python - Lucia. You can see it here:
https://github.com/luciasoftware/lucia
Cons:
1. Not cross-platform (Windows and macOS only);
2. Works on Python.
By implementation, I'd like to make a similar engine. But in C++, so that you can later port to .NET, Java and Python.
The main features of the engine:
1. Creating a game window through a method that get's the window title;
2. Work with the keyboard, mouse and other control devices;
3. Work with 1D, 2D and 3D sound, without complex manipulations, only indicating the coordinates of the listener and source;
4. Work with the network;
5. Cross-platform!
I can, programming in Python, develop audio games for Windows. But I'd like to develop not only under Windows, but also under Linux, macOS, Android, IOS, etc.
What do I need to create such an engine?
I understand that it will be difficult to realize this myself, due to the lack of a lot of experience. I don’t even fully understand pointers in C++, what can I say. But we have interested developers.
I ask you to throw about what I need, how and why.
And if someone can help with the implementation directly, we would be very happy!
Thanks in advance!