Ответы пользователя по тегу Разработка игр
  • Возможно ли создать хорошую игру одному?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Я хочу создавать игры на языке c++, возможно ли, создать хороший проект одному?

    Можно, большое количество примеров тому есть. Многие «легендарные» игры создавались в одиночку или небольшой группой человек: Minecraft, Dwarf Fortress.

    Плюс, всегда можно начать одному, а по ходу дела найти соратников.

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

    Не совсем понятно почему ты во главу угла ставишь язык программирования. ЯП, конечно, важен, но игру можно сделать на любом языке. В целом, при разработке сейчас важен не столько язык, сколько инструменты, которые на нём написаны.

    Соответственно, лучше начни выбор технологий с движка: Unreal Engine, Unity, Godot, Game Maker, etc. Посмотри какой из них лучше подходит для тебя и игр, которые ты планируешь делать.

    Ещё более более важня штука, чем движок — тип игр, которые хочешь делать.

    То есть, план для тебя примерно такой:

    - Выбираешь тип/жанр игр;
    - Выбираешь движок, на котором эти игры конкретно тебе будет удобно делать;
    - Выбираешь ЯП, если движок умеет работать с несколькими ЯП.

    По жанрам рекомендую посмотреть на головоломки, аркады, roguelike.

    какой уровень знаний нужен для этого?

    Школьной программы хватит для многих простых игр.
    Ответ написан
    Комментировать
  • В какие геймдев компании нужны автоматизаторы тестирования?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Хорошие автоматизаторы нужны всем геймдев конторам. Буквально всем. Но:

    - не все понимают потребность;
    - не все могут им заплатить;
    - часто это не в приоритете, как всегда с тестированием, — рекрутёры скорее всего сосредоточены на других специалистах.

    Если компетенция высокая, рекомендую не искать предложения, а перебирать топ лучших контор и слать им резюме. Дескать я такой-то и такой-то, сделаю вам автоматизацию тестирования.

    Можно ещё напрямую к лидам/менеджерам команд обращаться. Они лучше эту боль знают.

    Особый спрос на автоматизаторов должен быть у разработчиков мобильных игр: там валом моделей телефонов и все их надо проверять. Ребята и нейронные сети уже используют для навигации по интерфейсам. Можно поискать рейтинги прибыльности контор и писать в самые топовые, у них обычно нет проблем с деньгами.
    Ответ написан
    Комментировать
  • Какое направление высшего образования стоит выбрать для gamedev?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Как я понимаю, вопрос про программирование а не, например, арт или геймдизайн.

    Самое важное: программирование игр ничем концептуально не отличается от программирования любой другой штуки. То есть, если научишься хорошо программировать, то сможешь делать игры.

    Второе самое важное: в карьерном и техническом росте программиста теория и опыт важнее знания конкретных технологий — они меняются каждый год. То есть не так важно какой движок ты знаешь и какие библиотеки. Важнее, что ты знаешь теорию, на которой всё это построено и можешь быстро переключаться на нужные инструменты.

    Поэтому.

    большинство вузов предлагает писать десктопный или мобильный софт для работы или общения.

    Сюда и идите. Чем лучше ВУЗ и выше проходные балы, тем больше шансов почерпнуть полезные знания.

    Если хочется копать именно в сторону разработку движков, то:

    - Готовьтесь много ботанить. Движков много индустрии не надо, конкуренция за места их разработчиков большая.
    - Выбирайте специальность, где много математики (разной) и много околопрограммистских штук: архитектура ПО, операционные системы, машинное обучение, etc.

    Ну и в целом про разработку игр:

    - романтики значительно меньше, чем кажется;
    - работы значительно больше, чем кажется;
    - денег в индустрии не так много, как в других местах, хотя они есть;
    - большинство разработчиков игр всю карьеру делает низкосортный продукт — удовольствия от этого ноль.
    Ответ написан
    2 комментария
  • Какие хорошие opensource-игры вы можете посоветовать?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Не указаны критерии хорошести.

    Я делаю open-source браузерку:

    - github: https://github.com/the-tale
    - сайт игры: the-tale.org

    И почему у всех топовых игр закрыты исходники?

    Гемороя больше — открытие исходников добавляет дополнительной работы разработчикам. А профита больше не становится в большинстве случаев.
    Ответ написан
    Комментировать
  • Есть ли варианты создания графики для тех, кто не может в рисование?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Варианты:

    1. деньги;
    2. команда;
    3. процедурная генерация контента — не умеешь рисовать, учи математику :-)
    4. фото + обработка нейронными сетями / фильтрами — хипстерская версия п.3
    Ответ написан
    3 комментария
  • Какой движок выбрать для МОБА игры?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Судя по формулировке вопроса: отсутствии деталей об игре, команде, навыках, формулировке «легче всего»— вам ещё рано делать мобу — слишком сложная вещь. Вы слабо понимаете специфику проекта, а значит и советы по движку вам не помогут. Скорее всего только запутают.

    Сделайте что-нибудь на порядок проще, наберитесь опыта и сможете хотябы минимально оценить собственные силы.

    Если же трубы горят, то берите любой из топовых: Unreal, Unity, Godot.
    Ответ написан
    Комментировать
  • Какой язык нужен для написания серверной части?

    Tiendil
    @Tiendil
    Разработчик ПО.
    нужно внедрить регистрацию игроков и сохранение результата

    Для этого часто не надо писать свою серверную часть. Есть куча готовых сервисов. Как для геймдева, так и более общих.

    Все топовые провайдеры облаков это умеют: amazon, google, microsoft.
    Ответ написан
    Комментировать
  • Какой сервис использовать для ведения анкет персонажей разрабатываемой RPG?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Посмотрите на это: https://lorehub.app/ — вики, ориентированная на дизайн историй и миров.
    Ответ написан
    Комментировать
  • Использование БД для связи клиента и сервера -- в чем подвох?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Не совсем понял как клиент должен взаимодействовать с БД:

    - Если через какой-нибудь CRUD сервис, то почему бы и нет — многие так делают.
    - Если имеется в виду прямое подключение к БД, то будут проблемы с безопасностью, разграничением прав доступа, балансировкой нагрузки. БД на такое использоввание не ориентируются.

    Если я правильно понял, то тут нужна не БД, а очередь сообщений (которая может работать поверх БД, а может и свои хранилища использовать).

    Делаете сервис, к которому подключаетя клиент. Сервис по команде клиентов шлёт сообщения в очередь и пересылает полученные из очереди ответы обратно. Игровая логика сидит с другой стороны, потребвляет сообщения из очереди, делает магию и рассылает результаты обратно.

    Реализаций очередей много на любой вкус, в том числе есть что-то и в Redis.

    Соединение клиента с сервисом можно не держать, но тогда придётся периодически его опрашивать, что добавит нагрузки. Тут есть дилема: либо заморачиваться с поддержанием множества соединенией, либо с повышенной нагрузкой и задержками. Практика показывает, что взаимодействие клиента с сервером со временем обрастает вспомогательной логикой, поэтому держать постоянное соединение может быть выгоднее в долгосрочной перспективе.
    Ответ написан
  • Какой игровой движок начать изучать?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Смотря для чего:

    Godot — если хочешь просто делать игры, небольшого или среднего размера. Или посмотреть что значит «делать игры».
    Unity — если надо делать игру среднего размера уже вчера, возможно под мобилки с монетизацией.
    Unreal — если хочешь погрузиться в глубины геймдева, делать AAA игры, собираешь команду мечты для создания next-gen шедевра.
    Ответ написан
  • Самый легкий в изучении игровой движок для С++?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Рекомендую посмотреть Godot —сейчас я бы назвал его самым интересным, продуманым и понятным из небольших движков.
    Ответ написан
    2 комментария
  • Gamedev что лучше использовать для создания игры?

    Tiendil
    @Tiendil
    Разработчик ПО.
    >Python / Lua (Love). Сразу отпали
    Про renpy вам уже написали в комментарии.

    Из вопроса не понятны ваши конечные цели.

    Если цель — создать игру, то вы смотрите довольно низкоуровневые библиотеки. Смотрите сразу игровые движки: Godot, Unity, Unreal.

    Если цель — создать визуальную новеллу, гуглите специализированные движки. Вот прямо так: visual novel engine.

    Если цель — изучить геймдев, опять смотрите движки.

    >Казалась бы визуальная новелла, но 10-15 картинок в RAM и уже получалась не плохая нагрузка.
    Либо у вас очень специфическое представление о «неплохой нагрузке» либо вы что-то очень сильно делаете не так.
    Ответ написан
    1 комментарий
  • Инструмент для визуального редактирования (дорожного) графа?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Смотри Open Street Map

    У них есть и готовые карты (из которых можно скриптом выдрать всё, что надо) и софт, который позволяет карты редактировать.
    Ответ написан
  • Как найти возможность инвестирования в разработку игр?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Прежде чем искать площадки и проекты, рекомендую:

    1. Изучить рынок хотябы до уровня понимания различия в платформах (какие жанры где лучше заходят, какие люди играют, какой уровень затрат на разработку и какой размер команд, и так далее).
    2. Найти эксперта по разработке игр конкретного жанра на конкретной платформе и с ним обсудить потенциальные возможности инвестирования. А лучше двух экспертов: технического (программист) и нетехнического (геймдизайнер, маркетолог, etc).
    3. С экспертами сформировать набор шаблонных предложений, с учётом специфики рынка (вроде 100500 тыщ на 20 лет под 99% от выручки).

    А потом уже ищите проекты. Тем более, что эксперты вам подскажут где это делать.
    Ответ написан
  • Gamedev - популярные и перспективные технологии?

    Tiendil
    @Tiendil
    Разработчик ПО.
    И наверное в геймдеве вообще нет проблем с удаленкой, в офисе сидеть уже нет никакого желания.

    Большинство сидит в офисе. Особенно программеры. Удалённо может быть локализация, художники, маркетинг.

    С вашим бэком Unity будет вполне приемлемым вариантом. Но это всё равно довольно широкая тема. Раз нравится визуалка, то либо графоний программировать, либо интерфейс и утилиты вспомогательные. Графоний требует отдельной компетенции (алгоритмы те же), поэтому остаётся гуи с утилитами. А это тоска, по сути. Ничем от фронтенда в вебе особо не будет отличаться по ощущениям. И платить будут не шибко много.

    Кроме того, большинство рынка юнити занято простыми мобилками, поэтому что-то сложное в рамках интерфейса вам вряд ли доведётся делать.

    Попробуйте покопаться в подкасте Как делают игры Там должны быть выпуски, который помогут сориентироваться.
    Ответ написан
    2 комментария
  • В каком углу экрана лучше (традиционно принято) располагать шкалу здоровья?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Вопрос сформулирован некорректно и без контекста ответить на него не получится.

    Суть в том, что шкала здоровья (как и любые другие элементы интерфейса) должна располагаться там, где игроку будет удобно её наблюдать в конкретной игре. А это зависит от многих вещей: визуального стиля, динамики игры, жанра, целевой аудитории (кто в игру играет), нагруженности интерфейса, как она сочетается и взаимодействует с другими элементам интерфейса и так далее.

    Что можно сделать:

    - Попробуйте представить как игрок будет взаимодействовать с игрой: где и в какое время будет находиться фокус его внимания. Скорее всего вы найдёте места/моменты на которых игрок «спотыкается» — на их оптимизацию и обращайте внимание.
    - Попробуйте поставить шкалу в разные места экрана и поиграть. Выберите наиболее удобный.
    Ответ написан
    Комментировать
  • Есть ли живые opensource javascript игры, в которые можно контрибьютить?

    Tiendil
    @Tiendil
    Разработчик ПО.
    У https://the-tale.org есть небольшая (клиентская) часть на JavaScript, которой не помешало бы дополнительное внимание.

    Исходники: https://github.com/the-tale
    Ответ написан
    Комментировать
  • Как организовать сервер на питоне для онлайн игры?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Самое главное: не делайте многопоточность на Python, если она не завязана на обработку io. Потому что есть GIL и он не простит.

    Можно делать по одному процессу на матч, но тогда будет перерасход по памяти, так как придётся дублировать статические данные в каждом процессе.

    Возьмите любой современный асинхронный фреймворк и пишите сервис, который может держать несколько матчей. Глобальные переменные тормаза не вызывают.

    P.S. Судя по формулировке вопроса, вам может быть рано делать подобный проект, попробуйте уменьшить сложность задачи на порядок.
    P.P.S. Тут правильно уже советовали: делайте как получается и обзовите это прототипом. Когда появится прототип, станут видны хорошие и плохие решения, можно будет разбираться в теме более предметно.
    Ответ написан
    1 комментарий
  • Какой язык программирования выбрать для первой игры?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Game Maker: https://www.yoyogames.com/gamemaker

    Для 2д игр в качестве хобби — самое то. Есть куча готовых ассетов, примеров, многое разжёвано и упрощено, большое и активное сообщество.

    Из недостатков - собственный ЯП, который вне GM никому не нужен.
    Ответ написан
  • Имеет ли смысл создавать свой собственный игровой движок?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Имеет ли смысл создавать свой собственный игровой движок?

    Зависит от цели создания.

    Если для конкуренции с существующими движками, то не имеет - весовые категории не те.

    Смысл имеется, если целью ставится:

    - получение опыта;
    - наработка портфолио;
    - разработка специфичной технологии для частного случая, который не закрывается популярными универсальными движками;
    - получение удовольствия.

    Какого уровня программисты занимаются созданием игровых движков?

    Любого, в зависимости от цели.

    Если таковой имеется у группы программистов-энтузиастов, что можно ли его предложить существующим российским компаниям по разработке игр, чтобы показать навыки кодинга, после чего применить в обиход для разработки проектов?

    Предложить можно всё, что угодно, но никто не согласится. Можно попробовать найти финансирование под разработку готовой игры с УНИКАЛЬНЫМ геймплеем на этом движке.

    Имеет ли смысл переписывать компоненты существующих движков (например рендер-составляющую в Unity), для собственных нужд?

    Вполне, если это позволяет лицензия движка. В любом сложном продукте существует огромное число узких мест, которые можно сделать лучше.

    Программист 3D-графики и шейдеров ( OpenGL, DirectX ) = программист движка? :)

    Смотря какой программист и смотря какой движок :-D

    Вообще понятие «движок» очень расплывчатое, так что и да и нет.
    Ответ написан
    Комментировать