Nuno
Участник форума
- Регистрация
- 22 Авг 2022
- Сообщения
- 3
- Благодарности
- 0
- Баллы
- 25
Hello, my name is Arkadiusz, I'm from Poland. I have been blind since birth so I use a special program called a screen reader to read my computer screen. Since childhood, I dreamed of making Gothic 1, Gothic 2, Gothic 2 Night Of The Raven and the mods for these games accessible to the blind, but this was not possible because the Daedalus scripting engine was too limited to make all the modifications I needed. I had my first hope when the Regoth project started, but then I didn’t know how to program at all, and even if I could, the project was soon abandoned. Now, another hope has come with the release of the Union SDK, which gives you much more options. So, in December 2021, I started working on YAGA, a Union plugin that aims to make the game fully accessible to blind players. However, the task doesn't seem as easy as I first thought as there are many things I need to take into account. The current structure of the plugin is as follows: - ZSpeech: This common interface is used to provide communication between the game and the screen reader, which in turn allows for speech to be made through the screen reader. This interface currently supports most popular screen readers for the blind, namely NVDA and ZDSR. - Readers: Readers are simple structures that are used to read a particular part of the game. For example, MenuReader is responsible for reading menu items and their descriptions, DialogReader is used for reading selections in ETC dialogs. - Trackers: Trackers are simple structures that are used to keep track of various Vobs, to allow the player to "see" or rather "hear" the game environment through sound. Currently I have only written NPCTracker and a generic VobTracker, however I will need to rewrite which as this code is very poorly written. What should my mod do? Read every game interface such as menus, dialogues, inventory, trade, journal, etc. 2. Allow the player to keep track of the most important wobbs For example, NPCs, items and areas of the given world. This would require the use of some kind of pathfinding linked to a turn-by-turn navigation system that would guide the player. 3. Read things like knowing how to use your enemy's weapon if It's because a sighted player can see if the NPC is a 1H weapon novice or a 2H weapon master, etc. The main problem I have and problem, which is the big hurdle for me is point 2. I'm not an experienced developer and YAGA is the first serious project I wanted to write and I'm stuck on writing things like a sound wall detector that will scan the area in front, left and right away from the player in a circular motion to let them know the sound if there is a wall or passage that the player can walk through. This is because, as far as I understand, such an algorithm would require Raycasting, which I know nothing about. I am willing to learn, however I am aware that my lack of vision can make it very difficult for me to write everything correctly as although I understand the concepts there may still be things where my lack of vision will be a problem. So I kindly ask you all to help me in this project, Every Gothic fan will understand how I would like to visit the Valley of Mines and Khorinis myself, and not just watch gameplay or play someone from my family. In case you're wondering, blind people can actually play video games. Some games have been modded (Hades, World of Warcraft Classic, Hearthstone) and some others are available from the start (The Last Of Us 2). If anyone is interested in helping with YAGA, you can visit the project at GitHub - Nuno69/YAGA: Yet Another Gothic Accessibility Attempt.