Аудио игры и игровой движок
Здравствуйте.
Я слепой. Буквально. Ничего не вижу.
Если не знаете, как слепые используют устройства и программируют, можете почитать здесь:
habr.com/ru/post/260463
habr.com/ru/post/336600
Зрение я потерял в 5 лет. Что может делать пятилетний ребенок за компьютером? Правильно, играть. К тому времени, из игр я видел только детские игрушки. Шутеров в глаза не видел.
Далее, я познакомился с моим первым шутером. Call Of Duty.
Слепые и видео игры, может, звучит невероятно, но с помощью 3D звука я вполне мог найти противника и убить его. Понятно, что не все миссии я мог пройти. Но были те, которые проходил.
Далее я познакомился с такими играми, как Grand Theft Auto, Postal 2, Mafia 2 и другими.
Меня всегда привлекали игры в плане их создания. Я делал скрипты для существующих игр, хотел начать создавать свои.
У слепых есть свои игры. Аудио игры. И шутеры среди них тоже есть, как CS, но без графики.
Со временем, я загорелся желанием не писать скрипты для существующих игр (в 10 летнем возрасте я во всю строчил скрипты под GTA San Andreas), а создавать собственные аудио игры.
Тогда Шведский разработчик создал свой движок аудио игр. Как он говорил в его интервью, он слишком много тратил времени при разработке игр на техническую часть, а хотел больше сосредоточиться на логике игры. Потому, используя C++, он создал движок таких игр, который использовал язык Angel Script.
К сожалению, этот движок прекратил поддерживаться. Потому те, кто программировал на нем, рано или поздно начали переходить на языки программирования.
Тогда я начал выбирать языки программирования.
Мне хотелось изучать тот язык, который и с аудио играми поможет, и другие задачи сможет помочь решать. А надо сказать, что я человек амбициозный, и одно время очень горел встраиваемыми системами. Но меня всегда мутило от низкого уровня, потому я смотрел в сторону Arduino, Raspberry Pi.
Соответственно, я пытался найти эдакое уникальное решение. При этом я четко понимаю, чем точно не хотел бы заниматься.
Среди blind сообщества за рубежом, стал достаточно популярным для разработки игр Python. Я никогда этого не понимал. Как скриптовый язык? Очень даже. Для игры использовать? Интерпритируемость, динамическая типизация — рождают проблемы. А про кросс-платформенность я вообще молчу.
Python крут. Это правда. Но не знаю. Мне всегда нравился более четкий, определенный синтаксис, модификаторы доступа, типы переменных. Кроме того, Python медленный. И я не знаю, будет ли этого достаточно для реально хороших аудио игр.
В видео играх, много идет на графику. Здесь графики нет вовсе. Да и физики, кроме летящих пуль. Но всегда преследует мысль, что вот придет время, когда этой производительности Python будет недостаточно.
Unity нам не доступен. Главным образом потому, что там нельзя обойтись без Unity Editor. Это не библиотека, не API.
Проблема еще в том, что мне не нравится низкий уровень. Больше фана, когда я пишу логику. Передвижение игрока по координатам и т.д, а не как он ходит, и прочую техническую часть.
Когда я писал скрипты под GTA 5 на C#, это был реальный фан. Простые условия, методы, и все это работает! Когда я посмотрел на C++ код для таких же операций, просто взрыв мозга. Проверить, что клавиша нажата. Более того, нужно проверять, когда она нажата, когда отпущена. Бррр, меня мутит от этого.
C# кажется привлекательным вариантом, но я никогда не слышал об Android приложениях, созданных с Xamarin или Mono.
Java не позволяет писать под IOS, когда C# позволяет. А еще бесит пунктик в правилах кодописи в Java, когда левая фигурная скобка не на отдельной строке, а в конце строки с объявлением функции, условием и т.д.
Хотя сейчас я понимаю, что от C++ мне не убежать. Никак.
Возникла идея разработки игрового движка. Не аудио игр, а вообще, любых игр.
Таких движков полно, да. Но, покажите мне игровой движок, который был бы API, и который был бы кросс-платформенным.
Идея в чем. Создать движок в виде API, динамической библиотеки. И чтобы этот движок можно было использовать на любых языках программирования, и под любые платформы.
Представьте, команда разработчиков. Работает над одним игровым проектом. Но на разных яп, с одним движком.
Но думаю, это дело нескольких лет. Потому что на C++ простую игру написать непросто, про движок так я вообще молчу...
И вот хотел бы обратиться к вам с двумя такими вопросами:
1) Насколько сложным может быть решение задачи разработки такого игрового движка;
2) Какой язык программирования вы могли бы посоветовать для аудио игр?
Учитывая, что видео игры требовательны из-за графики, а в нашем случае ее нет, можно было бы взять и Python. Но я бы не очень доверял такие проекты интерпритируемому языку с динамической типизацией. Сейчас я выбираю между C# и Java. C# выигрывает за счет Monogame...
Или может, бросить все и лучше сесть на C++?
Посоветуйте, пожалуйста. Буду очень благодарен за ответ.
Заранее благодарен!
19 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів