Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107

Создание Open source игрового движка для аудио и видео игр!

22.04.2020, 20:30. Показов 1566. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Ранее, я публиковал здесь тему о движке аудио игр для слепых.
Сегодня, я прошу вашей помощи!
Я прошу помощи тех, кто есть хороший разработчик. Я прошу помощи тех, кому не все равно.
Кроме того, посоветуйте, где я могу опубликовать это, кроме Reddit, cyberforum, gamedev.net и gamedev.ru.
И пожалуйста, распространяйте этот пост. Среди ваших коллег, знакомых и друзей разработчиков!
Я буду публиковать здесь ранее опубликованную информацию. По этой причине, если вы уже читали это, можете пролистать чуть ниже.
Я слепой. Полностью слеп.
Среди незрячих программистов есть те, кто занимаются разработкой звуковых игр.
Как это выглядит?
Представьте, GTA, Mafia, Call Of Duty, любой шутер. Только без графики, и без высоты прицела. И вы ориентируетесь по 3D звуку, стреляете на звук и т.д.
В последнее время, много тех, кто пишут на Python. Но лично я не доверил бы Python хороший онлайн проект...
Для работы с компьютером мы используем программы экранного доступа. Программы, которые озвучивают все, что на экране компьютера.
Подробнее, можно почитать здесь:
https://habr.com/ru/post/260463/
https://habr.com/ru/post/336600/
Почему мы не можем использовать движки видео игр?
Потому что ни все они доступны нам. Самые популярные, Unity и Unreal Engine, недоступны для наших программ.
Понятно, что каждый, кто начинает разработку с нуля, реализует каждую деталь. Игровое окно, обработку нажатий клавиш, вывод звука.
1 из разработчиков звуковых игр, Philip Bennefall, в одном из своих интервью говорил (записал по памяти):
Каждый раз, мне приходится делать что-то на низком уровне. Работа с памятью, указатели. Я не могу сосредоточиться на логике игры. Потому я решил создать игровой движок. Движок, который позволит не думать о вещах на низком уровне, а позволит сосредоточиться на игровой логике.
И он действительно создал! Движок назывался Blastbay Game Toolkit (BGT).
Движок очень простой. К примеру, чтобы воспроизвести звук, нужно было создать объект класса Sound_pool, в конструкторе задать имя файла, а потом просто выполнить метод Play_3D и передать координаты слушателя и источника.
Минусов движка 3:
1) Не кросс-платформенный;
2) Прекращена поддержка;
3) Очень большие лаги при передаче пакетов в online играх.
Были и есть иные попытки создать такой движок.
Самая удачная, сейчас создали API на Python - Lucia. Можете посмотреть реализацию здесь:
https://github.com/luciasoftware/lucia
Минусы:
1) Не кросс-платформенный (Только Windows и macOS);
2) Работает на Python.
По реализации, я хотел бы создать подобный движок.
На самом деле, у меня грандиозная и очень амбициозная идея. Почему?
Потому что я не хочу создавать движок аудио игр. Я даже не хочу создавать кросс-платформенный движок аудио игр. Я хочу создать кросс-платформенный игровой движок, который может быть использован как для аудио игр, так и для видео игр!
Согласитесь. Зрячему разработчику важно видеть результат его работы. Кроме того, слепые и зрячие смогут работать над играми вместе, это же замечательно!
Главные возможности движка:
1) Создание игрового окна через метод, принимающий заголовок окна;
2) Работа с клавиатурой, мышью и иными управляющими устройствами;
3) Работа с 1D, 2D и 3D звуком, без сложных манипуляций, только указывая координаты слушателя и источника;
4) Работа с сетью;
5) Графика, куда же без нее;
6) Кросс-платформенность!
Что мы должны получить в итоге?
Динамическую библиотеку, которую можно подключить в любой компилируемый язык, обертка которой будет на .NET, Java и Python, с помощью которой можно разрабатывать кросс-платформенные игры!
Обратите внимание, что меня интересует больше не игровой движок, а API. То есть, игровую логику разрабатывает только тот разработчик, который разрабатывает непосредственно игру. Задача же библиотеки, дать разработчику возможности для программирования графики, звука, сети кросс-платформенно и без низкого уровня.
Я думаю, что самый верный путь создать Open source проект. Чтобы каждый мог поучаствовать в этом.
О чем я прошу вас?
Дело в том, что я не профессиональный разработчик. Я знаю Python больше других языков программирования, но я готов изучать C++ для этого проекта. Я знаю, как это должно выглядеть.
Я ищу неравнодушных разработчиков, которые смогут помочь начать.
Я никогда не делал Open source проекты, потому я прошу помощи!
Проект на C++, думаю вы согласитесь, что это обоснованно.
Не обязательно делать все с нуля. Существуют разные библиотеки, готовые коды для графики и не только. Главное, сделать это для разных платформ, включая Android и IOS.
Я буду ждать ваших ответов.
С надеждой,
Константин Рыжиков!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.04.2020, 20:30
Ответы с готовыми решениями:

Создание игрового движка
Не могу найти даже немного информации об архитектуре самого простейшего игрового движка (графика на уровне простейших 2d фигур, без...

Создание игрового движка на C#
Стоит ли создавать свой игровой движок, будучи инди разработчиком?

Создание 2D игр без использования движка
Подскажите где можно найти много инфы по этой теме. Подойдут недоделанные до конца проекты, и исходники и экзешники, просто полезное чтиво....

1
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
23.04.2020, 09:47
Цитата Сообщение от jonikster Посмотреть сообщение
где я могу опубликовать это
github?
Цитата Сообщение от jonikster Посмотреть сообщение
Представьте, GTA, Mafia, Call Of Duty, любой шутер. Только без графики
То есть убрать ключевой момент этих игр? А как ты планируешь перемещаться по карте? По звуку ударов лбом о препятствия? Пример так себе, для игры вслепую гораздо больше подходят как ни странно те, в которых графики либо не совсем, либо она не являеся ключевым моменом игры. Например рогалики и чисто текстовые игры.
Цитата Сообщение от jonikster Посмотреть сообщение
возможности для программирования графики, звука, сети кросс-платформенно и без низкого уровня
Если ты хочешь fps больше 2, то для работы с графикой не плохо бы уметь работать с видеокартами: openCL, Cuda и др. Это достаточно низкоуровневые вещи на минуточку.
Цитата Сообщение от jonikster Посмотреть сообщение
1) Создание игрового окна через метод, принимающий заголовок окна;
2) Работа с клавиатурой, мышью и иными управляющими устройствами;
3) Работа с 1D, 2D и 3D звуком, без сложных манипуляций, только указывая координаты слушателя и источника;
4) Работа с сетью;
5) Графика, куда же без нее;
6) Кросс-платформенность!
За исключением звука, весь этот список применим к SFML, openGL и UNITY. А теперь вопрос: помимо звука твой велосипед будет невероятно отличаться от них в лучшую сторону? Может лучше будет прикрутить работу со звуком к ним?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.04.2020, 09:47
Помогаю со студенческими работами здесь

Open source конфигурация для Беларуси
Возможен ли subj? Не задумывался ли кто-нибудь над таким проектом. А то получается каждый пишет себе что-то, придумывает велосипед.

Open source конфигурация для Эстонии
Собственно? проект уже обсуждается с сентября на outsources.ru Но так как ещё решение об исполнителях не принято, то добавлю и сюда.

Ищу программистов С++ для совместной разработки игрового движка
Здравствуйте! Движок называется Space Games Enginers (SGE). Концепция – реалистичная физика + пространство космических масштабов с...

Поиск open source проектов для совместной работы
Помогите найти опенсорс проекты, в которых можно было бы поучаствовать в качестве начинающего программиста. Может есть какие-то ресурсы в...

Для чего делают крупные open-source проекты?
Есть например, ubuntu, продвигаемая компанией Canoncical.. Как вы думаете : компания хочет выдвинуть на рынок ubuntu и как только эта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru