• Что использовать, int, float или double в современном игровом движке?

    @Mercury13
    Программист на «си с крестами» и не только
    Предварительные расчёты (например, координаты моделей) проводить в типе достаточной точности (и, разумеется, на процессоре). Окончательные — в привычном float.
    И, понятное дело, для открытых миров придётся писать свои «велосипеды» по отсечению далёких горизонтов, и Unity в стандартной поставке не уверен, что подойдёт.

    Ещё раз. Координаты участников игры записываются в double. Координаты вершин модели — во float. Мы на процессоре проводим начальные преобразования координат, убеждаемся, что координаты заслуживают того, чтобы их рендерить, преобразуем во float и гоним на видяху.
    Ответ написан
    2 комментария
  • Как создать 8-ми битную игру (Как майнкрафт)?

    mmmaaak
    @mmmaaak
    в майнкрафте всего лишь текстуры стилизованы под "8 бит"
    Раз есть знания C#, то Unity
    Ответ написан
    Комментировать
  • Как написать структура классов платформера?

    x67
    @x67
    -взять готовый опен сорс движок и посмотреть
    -начать с чего-то попроще, постепенно усложняя задачу
    -отличать структуру классов от структуры движка, дабы не вводить себя и других в заблуждение
    Ответ написан
    Комментировать
  • Какой язык программирования стоит выбрать для создания простой 2D RPG?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    пробовал с++

    ну и как? Что именно пробовали, потому что если бы дошли хотя бы до середины учебника данный вопрос не стоял бы. Unity - это вообще не язык. Python - возможно, но странно.
    Есть куча игровых движков, кроме Unity, которые используют c++. Самые популярные:
    UnrealEngine и CryEngine
    Но вот для создания чего либо, попробовать язык мало, надо бы поучить. Сам язык, движок, сопутствующие технологии и ПО.
    Ответ написан
    Комментировать
  • Что спрашивает менеджер на собеседовании?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Комментировать
  • Выбор типа переменной класса в зависимости от параметра шаблона (C++17, if constexpr)?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Ты можешь добиться желаемого используя частную специализацию, например.

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

    Например:
    enum class AllowedTypes : uint8_t
    {
    	Int8	= 0,
    	Uint8,
    	Int16,
    	Uint16,
    };
    
    template< AllowedTypes TYPE >
    struct AllowedType;


    А для того, чтобы конкретное значение перечисления правильно переводилось в тип, шаблон "AllowedType" нужно специализировать.
    spoiler
    template<>
    struct AllowedType<AllowedTypes::Int8>
    {
    	using Type = int8_t;
    };
    
    template<>
    struct AllowedType<AllowedTypes::Uint8>
    {
    	using Type = uint8_t;
    };
    
    template<>
    struct AllowedType<AllowedTypes::Int16>
    {
    	using Type = int16_t;
    };
    
    template<>
    struct AllowedType<AllowedTypes::Uint16>
    {
    	using Type = uint16_t;
    };


    После этого достаточно использовать "typename AllowedType::Type" в нужном тебе месте.
    spoiler
    template< AllowedTypes TYPE >
    struct spi
    {
    	typename AllowedType<TYPE>::Type*	p_tx = nullptr;
    	
    	constexpr spi() {};
    };


    Вот пример работы:
    spoiler
    // Example program
    #include <typeinfo>
    #include <iostream>
    #include <string>
    #include <cstdint>
    
    enum class AllowedTypes : uint8_t
    {
    	Int8	= 0,
    	Uint8,
    	Int16,
    	Uint16,
    };
    
    template< AllowedTypes TYPE >
    struct AllowedType;
    
    template<>
    struct AllowedType<AllowedTypes::Int8>
    {
    	using Type = int8_t;
    };
    
    template<>
    struct AllowedType<AllowedTypes::Uint8>
    {
    	using Type = uint8_t;
    };
    
    template<>
    struct AllowedType<AllowedTypes::Int16>
    {
    	using Type = int16_t;
    };
    
    template<>
    struct AllowedType<AllowedTypes::Uint16>
    {
    	using Type = uint16_t;
    };
    
    template< AllowedTypes TYPE >
    using TypeFor = typename AllowedType<TYPE>::Type;
    
    
    template< AllowedTypes TYPE >
    struct spi
    {
    	TypeFor<TYPE>*	p_tx = nullptr;
    	
    	constexpr spi() {};
    };
    
    int main()
    {
    	spi<AllowedTypes::Int8> spi1;
    	std::cout << typeid( *spi1.p_tx ).name() << " " << sizeof( *spi1.p_tx ) << std::endl;
    	
    	spi<AllowedTypes::Uint16> spi2;
    	std::cout << typeid( *spi2.p_tx ).name() << " " << sizeof( *spi2.p_tx ) << std::endl;
    	
    	return 0;
    }

    cpp.sh/85p6
    Ответ написан
    2 комментария
  • Исходный код плюсов, где?

    Djaler
    @Djaler
    Сеньор-помидор
    Что значит, на каком языке написан С++? На английском, если речь о документации и спецификации. А если речь про компилятор, так их много разных
    Ответ написан
    1 комментарий
  • Как коректно спросить о том куда расти для повышения ЗП?

    gubin_niko
    @gubin_niko
    Я могу лишь своё мнение озвучить, основанное на практике.

    Всегда говорю прямо и без ужимок. Подхожу к начальству и спрашиваю: "Дружище, какой план мне нужно сдавать, чтобы получить больше денег?". Волнения и переживания нужно забыть, это точно не будет плюсом, ибо руководство такие же люди, которые также могут воспользоваться психологическим состоянием и уйти в сторону от разговора. Или вообще послать.

    Ещё посмею дать совет. Развивайтесь дальше, изучайте свою сферу глубже и шире, задевайте смежные, изучайте иностранные языки и другие языки программирования. Когда будете иметь каждый месят по десятку новых предложений и по 1-2 горячему оферу, уже никаких переживаний не будет, а при отказе поднять ЗП можно смело уходить к конкурентам. Отрастите зубы, чтобы не сосать, а грызть))
    Ответ написан
    16 комментариев
  • Какой у вас алгоритм усваивания материала при чтении?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Чтение - никогда не разовьет практику.
    Какие-то случайные примеры из книги, если вы просто берете и повторяете - они мало чем помогут.
    Пробуйте все примеры адаптировать под ваши нужды. У вас должно быть какое-то увлечение, какой-то проект, для которого можно было бы написать скрипты, софт - вот используя примеры из книги, адаптируйте их и пишите то, чем вы можете пользоваться сами.

    Где-то модерируете форум? Напишите на питоне скрипт, который лезет в базу и собирает оттуда какую-то интересную для вас статистику.
    Играете в игрушку - напишите на питоне доску почета и выводите ее в web через cgi
    Не хотите забыть о важных вещах - разберитесь с отправкой почты из питона, и шлите себе по расписанию СМС, или разберитесь с ботом телеграма на питоне и шлите уведомления в телеграм.

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

    @Plus3x
    c10c573f52694badb316d1aa222bc323.png
    Ответ написан
    Комментировать
  • Как узнать пароль Wi-Fi в отеле?

    GavriKos
    @GavriKos
    Подойти на ресепшн и спросить.
    Ответ написан
    7 комментариев
  • Какой движок лучше для начинающих - Unity 3D или gamemaker studio 2?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Скачайте оба, сделайте арканоид или платформер, а потом возьмите тот, что больше нравится. Бесплатные версии движков для этого и существуют. Что касаемо ограничений в бесплатной версии Unity, их всего два, и они ерундовые: отсутствие тёмного скина и обязательный сплешскрин. Если вы уж сумеете добраться до публикации игры в магазине, то на месяц лицензии можно будет и раскошелиться. И да, в юнити только один язык - C#, на UnityScript никто не пишет, он остался со старых версий движка, его просто ещё недовыпилили.
    Про сеть в гейммейкере ничего не скажу, не знаю, а в юнити есть много решений, есть чистые шарповые сокеты, есть более высокоуровневая надстройка от юнити, есть сторонние плагины.
    Короче говоря, попробуйте оба движка, на практике виднее будет, может вам оба не понравятся, и вы вообще Unreal возьмёте.
    Ответ написан
    3 комментария
  • Как и где работать с изображениями в C++/C#?

    @koronabora
    Человек
    Я, как человек использующий Qt, использовал-бы его.
    При помощи QDir::entryList() переберу рекурсивно все файлы с нужным именем или расширением в папке и подпапках.
    При помощи QImage загружу картинки и логотип.
    Далее - каждую картинку и логотип выгружу в битовый массив и соединю их с нужным мне уровнем прозрачности.
    Потом из битового массива запишу в нужный файл.
    Ответ написан
    Комментировать
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    "И соц. сети писал, и форумы и сервисы"

    Где ваша соцсеть хотя бы на десяток тысяч абонентов?
    Есть ваш форум, с ежедневным онлайном хотя бы 1000 человек?
    Что за сервисы, насколько они востребованы?

    Когда появится проект чуть побольше, чем тот, что помещается в вашу голову, и нужно будет позвать еще несколько программистов, чтобы успевать поддерживать и разрабатывать, писанине на коленке придет белый пушистый зверек, потому что организовать одновременную работу даже 10 человек у вас так, без классов, без ООП, без инкапсуляций и так далее - просто не выйдет.
    Ответ написан
    13 комментариев
  • Плохо ли создавать проекты с нуля? Что значит быть про?

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

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

    opium
    @opium
    Просто люблю качественно работать
    вы взрослый человек и сами можете выбрать себе специализацию
    в мск достаточно работы и для си и шарпа
    Ответ написан
    Комментировать
  • Занижают ли мне зарплату?

    sim3x
    @sim3x
    Сходи на собеседования
    Узнай
    Ответ написан
  • Организация мультиплеера на на мобильной игре с помощью движка?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    По вашей ссылке один из сервисов юнити, они сами по себе опциональны, движок на них никак не залочен, можете использовать любые серваки как угодно и сколько угодно. В лицензии на движок есть только одно ограничение, которое может как-то теоретически вынудить заплатить вас больше денег - доход организации. Если вы сидите на бесплатной версии юнити и зарабатываете больше $100 тысяч в год, то это считается нарушением лицензии. Если вы никакие сервисы юнити не используете, либо используете в пределах бесплатного лимита, то и денег вам никаких платить не надо.
    Ответ написан
    1 комментарий
  • Организация мультиплеера на на мобильной игре с помощью движка?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) Немного разобью ваши мечты. Миллиона установок приложения достичь очень, очень, очень сложно и нереально даже для бывалых разрабов у которых уже много игр и приложений.
    2) Срок пол года для простой игры если она хоть чуть сложнее чем очередной клон flappy bird нереален особенно учитывая, как я понимаю, с полным отсутствием багажа знаний.
    3) Движок абсолютно до лампочки какой изучать, какой удобнее для конкретной игры или чисто вам, на том и делать. Либо берете готовый удобный движек в котором уже все есть и попадаете в анальное рабство на бабки с лицензией либо берете любимый ЯП и пишите свой колхоз с нуля но бесплатно.
    4) На чем делать сервер тоже абсолютно до лампочки. Либо берете удобство и платите за него другим разрабам либо долго и упорно пишите свой велосипед.
    5) Если целитесь на игру типа clash royale то учтите что расходов будет еще в огромное количество раз больше. Не умеете рисовать? Платите художникам. Не знаете где взять звуки и музыку? Платите звукорям и музыкантам или покупайте коммерческие лицензии. Не умете очень хорошо программировать? Будьте добры платите программистам. Жаба душит платить за очень удобный коммерческий движок? Платите за него, купите или платите программистам которые напишут двиг. Хотите мультиплеер? Платите за аренду\покупку библиотек\реализаций серверной стороны. Нет кучи серверов где все это разместить? Платите за аренду серверов. Игру не скачивают? Раскошеливайтесь на огромные суммы ради хорошей рекламы. Не можете сделать нормальные рекламные баннеры и видеоролики? Платите тем кто это сделает.
    В общем либо у вас большой кошелек и вы просто и легко берете готовый двиг с кучей редакторов и сетевой частью, платите\покупаете контент для игры, и за небольшое время в пол года по туториалам собираете аналог clash royale. Либо вы берете набор кирпичей\цемента\гвоздей\досок(к примеру libgdx) бесплатно, пишите необходимую часть движка для себя, пишите собственно игровую логику к этому движку, рисуете все модели\текстуры сами с нуля чтобы не нарушить ничьей лицензии или берете с полностью бесплатными лицензиями, дальше арендуете пару душманских серверов за копейки куда размещаете игровые сервера(чат\мм\сервера игры), платите гуглу за аккаунт разработчика, проходите 9 кругов ада чтобы вашу игру разместили в гуглплее. Дальше остается только собственноручно атаковать геймерские форумы\чаты\группы с целью рекламы вашей игры. Для того чтобы сделать портировать игру на ios придется еще прикупить аккаунт разработчика у эпла, макбук\аймак и желательно айфон\айпад. Дальше останется переписать пол игры или всю игру на другом ЯП с учетом специфичных моментов для платформы и пройти 9 кругов ада для того чтобы разместить игру в айтюнсе.
    Все выше описанное подходит, повторюсь, для игры типа clash royale. Для игры типа flappy bird почти ничего ненадо кроме аккаунтов разработчика, рекламы и эпловской техники если планируется порт на ios. Так что ценник в "$1000 до $20000 в месяц" даже очень низок и затраты как во время разработки так и после могут быть во много раз больше, из за чего собственно стараются сделать донат на каждый чих и пук в играх.
    Ответ написан
    6 комментариев