Ответы пользователя по тегу C++
  • Самый легкий в изучении игровой движок для С++?

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

    Tiendil
    @Tiendil
    Разработчик ПО.
    Как минимум Unreal Engine даст представление о том, как устроены джижки на C++.

    Исходя из того, что сейчас у них кастомные движки, нельзя сделать выводы, что так будет и дальше.

    Для первого проекта не обязательно (и даже не желательно) брать что-то монструозное. Попробуй взять движок поменьше и попроще (на плюсах их хватает). Сделай игру, столкнись с реальными проблемами разработки.

    Если сразу начнёшь делать на "комбайне", то не будешь понимать многих решений, которые в нём приняты.
    Ответ написан
  • Каков C++ в геймдеве?

    Tiendil
    @Tiendil
    Разработчик ПО.
    >За последние три месяца мне удалось освоить Python
    не удалось

    >Разобрался с гит
    не разобрались

    >линуксом на уровне пользователя
    не разобрались

    >Lua
    не разобрались

    Для начала приземлитесь. За 3 месяца вы ни в чём из этого разобраться на хорошем уровне не могли.

    >Где писать игры для портфолио
    Это делать не обязательно. Это, конечно, плюс, но не такой существенный чтобы прямо быть обязательным.

    Программистов (да и всех остальных) нанимают, ориентируясь не только на опыт (доступных людей с целевым опытом всегда почти нет), но и на навыки и знания. Их можно получать разными способами, писать законченные игры - один из них, но не самый эффективный. Хотя бы потому, что законченная игра требует навыков из очень разных областей, все из которых прокачивать нет никакой необходимости.

    Определитесь чем конкретно хотите заниматься: физика, графика, логика, сеть, утилиты, etc и делайте что-то именно в этой области (демки, например).

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

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

    А так можешь C# пробовать, он и в геймдеве пригодиться, и вне геймдева используется.
    Ответ написан
  • Функциональное приведение типов?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Вот пары эквивалентных примеров
    // Что то вроде 0.3333333
    std::cout<< (double) 1 / 3 ; 
    std::cout<< double(1) / 3 ;


    std::cout<< double (1 / 3) ; 
    std::cout<< (double) (1 / 3) ;
    Ответ написан
  • В чем преимущество динамически типизированных языков?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Преимущество у динамически типизированных языков, конечно, не в синтаксисе, а в семантике.

    Благодаря определению типов во время исполнения программы сильно облегчается метапрограммирование. Очень сильно облегчается. Оно, в свою очередь, упрощает всю остальную работу.

    Благодаря гибкости кода в рантайме (см. тот же duck typing) и интроспекции (анализ свойств объектов и кода) получается на порядок проще и быстрее писать универсальные алгоритмы и конструкции вроде декораторов, всяческих ORM и подобных вещей. Это сильно упрощает интерфейсы библиотек, что в совокупности ведёт к более простому коду и к плавной кривой обучения новичков.

    Из моей практики (5 лет писал на C++, потом столько же на Python, эти сроки немного пересекались) могу сказать, что с точки зрения ошибок типизации (а собственно их и ставят в недостаток динамически типизированным языкам) разница минимальна — они очень редки и все отлавливаются автоматическими тестами. Конечно, если у вас руки откуда надо растут, а если не откуда надо, то эти ошибки будут далеко не самой большой проблемой. Поэтому в области разработки софта, не требовательного к производительности, такие языки рулят.

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

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

    По производительности питона ссылок уже накидали, но в любом случае тут надо исходить из требований конкретной задачи — проще взять и протестировать самому.
    Ответ написан
  • Тяжело ли устроиться на работу c++ разработчиком?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Все «мейнстримные» ЯП востребованы.
    Для всех не хватает специалистов.
    Профессионалы получают хорогую зп независмо от ЯП. ЗП скорее зависит от проекта и компании.
    Поэтому устроиться не проблема, при наличии знаний.
    Ищите вакансии в крупных компаниях, мелкие и средние не рискуют брать новичков на обучение, т.к. те часто меняют работу, получив необходимый опыт.
    Ответ написан
  • Интересна ли платформа для разработки сайтов на C++?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Не актуально.

    1. Основная задержка при обработке запросов к страницам сайтов идёт на обращение к сторонним сервисам (базам, кэшам и так далее), а не на роутинг, поэтому выигрыш в производительности будет не таким большим, как кажется (и хочется).
    2. Действительно тяжёлые вычислительные вещи и так пишутся на C++, легко встраиваясь в инфраструктуры традиционных веб-ЯП.
    3. Затраты на содержание команды C++/Lua программистов выше, чем на PHP/Perl/Python/Ruby + пару лишних серверов, если понадобится. Плюс, за этими языками ещё и инфраструктура гигантская стоит. Сроки разработки тоже не в пользу С++ программистов.
    4. Уже есть Go — он занимает как раз ту нишу, в которую вы целите.

    Резюме — не стоит. Это не ниша C++ — этот старый благородный ЯП имел достаточно времени, чтобы её занять и не занял.
    Ответ написан
  • Что нужно, чтобы стать разработчиком игр?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Нужно желание и знание ЯП.
    Разработка игр ничем принципиально не отличается от любой другой области. Особенно, с точки зрения программиста.

    Игры сейчас пишут на чём угодно и для чего угодно.
    Доля успешных проектов такая же как и для любой другой области — мизерная.
    Знание математики ещё никому нигде никогда не вредило. В играх, как и в большинстве другого софта, она в большей части проекта не нужна. Необходимый минимум легко гуглится.

    В СНГ это перспективно также, как и вне СНГ — рынок игр международный, для локальных рынков их делают единицы.

    Стоит или нет — решайте сами. Этот вопрос из разряда «нравится / не нравится».
    Ответ написан