Hello.
My name is Constantine.
I published here a topic about the engine for audio games for blind developers.
Today, I ask for your help!
I ask for help from those who are a good developer. I ask for help from those who care.
Also, advise me where I can post this other than Reddit or gamedev.net.
And please share this post. Among your colleagues, acquaintances and friends of the developers!
I'll publish here previously published information. For this reason, if you have already read this, you can scroll down a bit.
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.
You can read more about it here:
https://www.vincit.com/blog/software-development-450-words-per-minute
https://medium.com/free-code-camp/looking-back-to-what-started-it-all-731ef5424aec
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.
In fact, I have a grand and very ambitious idea. Why?
Because I don't want to create an audio game engine. I don’t even want to create a cross-platform audio game engine. I want to create a cross-platform game engine that can be used for both audio games and video games!
Agree. it's important for the sighted developer to see the result of his work. In addition, the blind and the sighted will be able to work on games together, it's wonderful!
The main features of the engine:
1) Creating a game window through a method that gets the window title and window size in argument;
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) Graphics, where do without it;
6) Cross-platform!
What should we get as a result?
The dynamic library that can be connected to any compiled language, the wrapper of which will be in .NET, Java and Python, with which you can develop cross-platform games!
Please note that I'm not interested in the game engine anymore, but the API. That is, only the developer who develops the game directly develops game logic. The task of the library is to give the developer the ability to program graphics, audio, and network cross-platform and without a low level.
I think the surest way to create an Open source project. So that everyone can participate in this.
What am I asking you about?
The fact is that I'm not a professional developer. I know Python more than other programming languages, but I'm ready to learn C++ for this project. I know how it should look.
I'm looking for caring developers who can help get started.
I have never done open source projects, so I ask for help!
The project with C++, I think you will agree that this is reasonable.
It’s not necessary to do everything from scratch. There are different libraries, ready-made codes for graphics and more. The main thing is to do it for different platforms, including Android and IOS.
I'll be waiting for your answers.
Hopefully,
Constantine Ryzhikov!