Ответы пользователя по тегу Разработка игр
  • Как определить какая ЦА у твоей мобильной игры?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Целевая аудитория нужна не для диздока, а для игры и разработчиков, которые будут её делать. Например, если вы делаете Doom, но для малышей от пяти лет, то наверное управление нужно делать попроще и кровищи плескать поменьше.

    Целевую аудиторию можно описывать с разной детализацией. Можно примерно указывать возраст или социальный статус (студенты, неженатые), либо целиться в конкретные возраста, профессии и пол (женщины-композиторы 30-40 лет). Аудиторию можно описывать по любым признакам, например "посетители сайта toster.ru", всё зависит от того, какую игру вы хотите сделать.

    Указание ЦА не является чем-то таким архиважным и обязательным, но помогает принимать решения при создании игры. Например, вы делаете игру про зомби, тогда ЦА будет определять какие выразительные средства вы будете использовать, уместно ли будет рубить зомбей на куски, насколько милыми/страшными они должны быть, насколько сложными должны быть игровые механики.

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

    Повторюсь, что знание ЦА нужно в первую очередь вам, вы можете её чуйкой чуять, но мысль, выраженная словами, всё же ценнее.
    Ответ написан
  • Как "раскрутить" проект игры Android?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Одних друзей для рекламы не хватит, как минимум, нужно общаться с журналистами.
    На тостере был похожий вопрос, почитайте: Почему не загружают мою игру?
    Ответ написан
    Комментировать
  • На чем написать клиент игры 2d?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    На питоне кроме текстовых игр и графических новелл ничего не напишешь, можете сразу про него забыть. Искать графическую библиотеку я бы тоже не советовал, вам нужен именно движок, а не то замучаетесь каждую фичу реализовывать. Движок ведь это не только GUI, это ещё и работа с атласами, батчинг, анимации, шейдеры и прочие удобные мелочи. Берите Unity, Unreal или ещё что, сэкономите себе кучу времени.
    Ответ написан
    2 комментария
  • В каком направлении развиваться?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Вздор, в геймдеве у программистов работы хоть отбавляй. Появление доступных движков просто позволяет меньше заниматься низкоуровневой фигнёй, которая не относится к непосредственному геймплею. Это всё равно что сказать, что вот в средние века художники были настоящие: им надо было изготавливать краски, готовить холст. А сейчас им всё готовенькое с завода и делать больше нечего. Наоборот, всё самое интересное только начинается.

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

    Я бы сказал так, если вы будете уметь делать игры под мобилки, то начать делать приложения у вас не составит труда, а вот в обратную сторону придётся многому учиться.
    Ответ написан
    Комментировать
  • Как расчитать угол поворота объекта?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Лучше всего было бы найти библиотеку с векторной математикой, самостоятельно такие вещи писать чревато багами и потерянным временем. Если такой библиотеки с нет, то нужна, как минимум, библиотека со стандартными математическими функциями.
    57729dc17ce844e3b39a06bc2769e767.png
    Угол α между вектором A и осью X можно получить с помощью функции atan2:
    α = atan2(A.y, A.x)

    Угол поворота θ от вектора A к вектору B можно получить вычитанием:
    θ = atan2(A.y, A.x) - atan2(B.y, B.x)
    Ответ написан
    Комментировать
  • Как правильно сделать разрушаемый мир(на подобии minecraft)?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Вам нужны воксели, только писать их самому придётся несколько лет, так что лучше берите плагин:
    voxelfarm.com
    github.com/volumesoffun/cubiquity-for-unreal-engine
    sandermeessen.weebly.com/terravox.html
    И читайте этот блог с самого начала, там расписано почему это суперсложная задача:
    procworld.blogspot.ru
    Ответ написан
    2 комментария
  • Уже существуют простые способы игры в Виртуальной реальности через Cardboard?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Существуют простые способы игры в Виртуальной реальности через Cardboard?

    С помощью Cardboard - нет, с помощью Gear VR - да. У Samsung сейчас самый отполированный процесс работы с виртуальной реальностью: вставил мобилу в шлем, надел на голову, всё. Мобила сама догадается, что её вставили в шлем, датчик в шлеме сам распознает, что вы надели шлем, и само запустится виртуальное окружение с магазином и библиотекой, а дальше вы можете делать что хотите: играть, смотреть фильмы, качать приложения. На кардборде такого и близко нет, потому что это просто баловство с картонкой, а не платформа. Oculus с Samsung сделали платформу, поэтому у них всё хорошо.

    Какие проблемы мешают возникновению чего-то крутого связанного с Виртуальной реальностью?

    Расскажу про мобильный ВР. В первую очередь современным мобильникам не хватает производительности, чтобы показывать интересную картинку. Для того, чтобы игрока не укачивало, игре нужно держать стабильные 90 FPS. Лучше больше, но экранов таких ещё нет. Одна из самых красивых игр для мобилок на сегодняшний день это Land's End. Разработчикам игры, чтобы добиться такой частоты обновления экрана, пришлось использовать низкополигональные модели, убрать все источники освещения и задействовать кучу трюков оптимизации. А всё потому, что рендерить картинку нужно на два глаза и с большим разрешением.

    Предположим, что проблему с железом решили и во всех мобильниках теперь есть топовый Core i7. Остаётся проблема софта. Никто не проектировал мобильные операционные системы в расчёте на то, на них будут запускать ВР. Соответственно доступ к железу предоставляется через кучу слоёв абстракции, в каждом из которых понатыканы планировщики и менеджеры. Проход через все слои приводит к увеличению интервала "motion-to-photon": человек поворачивает голову, датчики движения регистрируют поворот, программа рассчитывает новую картинку, картинка отправляется на экран. На каждом из этих этапов происходят задержки, и это касается не только информации с акселерометра, даже банальные тапы по экрану могут попасть в приложение с задержкой в десятки миллисекунд. Похожая ситуация на PC. У линукса в этом плане дела всегда были плохи, там ситуацию старается исправить Valve с Nvidia и AMD. А в Windows в последние пару лет сильно переделали ядро, в последних версиях ОС всё довольно хорошо.

    Предположим, что и эти проблемы решили, чего ещё не хватает? Не хватает устройств ввода. Если вставить мобильник в шлем, то остаётся не так много способов взаимодействия с игровым миром. Можно крутить головой, отдавать голосовые команды иии... всё. У Cardboard ещё есть кнопка, а у Gear VR примитивный трекпад. Управление голосом отпадает, технологии пока не те. Позиционного трекинга на мобилках пока нет и не ожидается, в итоге остаётся эдакий перископ с кнопкой. Много ли игр можно сделать с таким управлением? Не очень много.

    Кроме перечисленных проблем, есть ещё множество других, которые тоже вносят свою лепту. Поэтому и получается, что "повсюду новости, ажиотаж", а игр мало. Тем не менее игры есть и появляются новые, так что нужно просто ещё немного подождать.
    Ответ написан
    1 комментарий
  • Кто знает соревнования по разрабоке игр типа ludum Dare??

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    globalgamejam.org
    itch.io/jams
    7dfps.com
    7drl.org
    Ещё видел геймджемы на gcup.ru
    Ответ написан
    Комментировать
  • Разработка игр с умом?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Категорически не советую начинать с Disciples, если раньше игры не делали, не потянете. Начните с классических игр 70-х и 80-х: Asteroids, Space Invaders, Pac-Man и т. п. Скорее всего, одной подобной игры вам хватит на недельку-другую развлечений. Когда набьёте руку, тогда можете двигаться к более сложным играм. Ещё можете походить на хакатоны и геймджемы, на них бывает много разработчиков, будет с кем пообщаться. Если в вашем городе их не проводят, то можете поучаствовать по сети, например в эти выходные будет проходить Ludum Dare.
    Ответ написан
    Комментировать
  • Как сменить цвет текста для кнопки при наведении и нажатии в Unity3D?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    У Button есть параметр targetGraphic, перетаскиваете туда свой текст и всё.
    rLFkS
    Ответ написан
    Комментировать
  • Как заблокировать элемент в Unity чтобы в инспекторе не было возможности его редактировать?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    У Object есть hideFlags, можете выставить скриптом значение HideInInspector или NotEditable. Например так:
    using UnityEditor;
    using UnityEngine;
    
    public static class Readonly
    {
        [MenuItem("GameObject/Set readonly")]
        public static void SetReadonly()
        {
            foreach (var o in Selection.objects)
            {
                o.hideFlags = HideFlags.NotEditable;
            }
        }
    
        [MenuItem("GameObject/Set writable")]
        public static void SetWritable()
        {
            foreach (var o in Selection.objects)
            {
                o.hideFlags = HideFlags.None;
            }
        }
    }
    Ответ написан
    Комментировать
  • Как сменить шрифт в игре?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    На хабре были статьи про локализацию игр
    https://habrahabr.ru/post/160603/
    https://habrahabr.ru/post/140930/
    Ещё можете поспрашивать на форуме ZoG.
    Ответ написан
    Комментировать
  • Как правильно организовать процесс загрузки сложной сцены в unity3d?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Можете вынести планеты, астероиды и прочее в отдельные контроллеры, в таком духе:
    public class AsteroidsController : MonoBehaviour
    {
        public GameObject asteroidFieldPrefab;
    
        private GameObject[] asteroids;
    
        public void SpawnAsteroids(GameObject star, AsteroidBelt[] asteroidBelts)
        {
            asteroids = new GameObject[asteroidBelts.Length];
            for (int i = 0; i < asteroids.Length; i++)
            {
                AsteroidBelt ast = asteroidBelts[i];
                asteroids[i] = (GameObject) Instantiate(asteroidFieldPrefab, new Vector3(0, 0, 0), Quaternion.identity);
    
                //Поскольку система изначально имеет радиус 1, она начинает спавнить астероиды внутри звезды. Не надо так
                asteroids[i].SetActive(false);
    
                asteroids[i].name = ast.name;
                asteroids[i].transform.localScale *= Units_class.MetersToUnityUnits(ast.radius);
    
                //А теперь надо
                asteroids[i].SetActive(true);
    
                AsteroidFieldOrbiter_script orbScript = asteroids[i].GetComponent<AsteroidFieldOrbiter_script>();
                orbScript.astdField = ast;
                orbScript.star = star;
                orbScript.SetStartPosit();
            }
        }
    }

    В LevelBuilder дёргаете SpawnAsteroids, а контролер астероидов дальше сам по себе живёт, так будет аккуратнее, чем один большой класс.
    Ответ написан
  • Как оживить игру?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Почитайте книжку Game Feel, посмотрите видеоролики по ссылкам ниже:
    www.youtube.com/watch?v=216_5nu4aVQ
    www.youtube.com/watch?v=Fy0aCDmgnxg
    www.youtube.com/watch?v=1Z5WqC97uZQ
    www.youtube.com/watch?v=pmSAG51BybY
    Ответ написан
    Комментировать
  • Гейм-дизайн - что это и с чем его едят?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    1) В СНГ рассчитывать особо не на что, рынок не развит, и мало кто умеет делать игры, на вакансию "геймдизайнер" вас возьмут, только если вы уже сделали несколько игр и заработали миллион.
    2) Если вы будете регулярно выдавать дельные предложения по улучшению игры, то рано или поздно окажетесь в какой-то руководящей позиции, где вы сможете заниматься дизайном. Проще всего, наверное, начинать программистом, потому что без кода можно сделать только настолку или текстовую игру, а когда умеешь кодить, то проще делать прототипы.
    3) Вообще говоря, есть две плоскости развития геймдизайнера: универсал и управленец. Первый знает весь процесс разработки игры, умеет делать всё, что нужно для создания игры и может самостоятельно довести идею до магазина. Второй тоже знает весь процесс разработки игры, но не делает ничего сам, а служит связующим звеном между всеми членами команды, точкой синхронизации, хранит в голове видение игры и запихивает его в головы всем остальным. В жизни встречаются разные вариации: программист-геймдизайнер в паре с художником-звуковиком, художник-геймдизайнер, который пишет тексты и рисует концепты, а дальше с ними работает армия разработчиков. А ещё есть просто умные управленцы, которые следят за креативщиками и режут/полируют чужие идеи, это тоже геймдизайн.
    4) Есть какие-то общие вещи, но очень много зависит от игр и платформ, которыми человек занимается. На мобилках все писаются кипятком от статистики и манипуляции игроком, эдакий "тёмный геймдизайн". В виртуальной реальности сейчас все бьются над визуальной составляющей и юзабилити. А кому-то хватает чутья и здравого смысла. Все выживают по-своему.
    5) Смотри пункт выше, люди разные, игры разные, компании разные.
    6) В большую фирму с улицы просто так не берут, нужен опыт проданной игры. То, что кажется вам суперским прототипом с безграничным потенциалом на деле чаще всего оказывается немасштабируемым тупиком. У нормального разработчика в закутке валяется десяток прототипов, в них особой ценности нет. Я бы сказал, что нужно стремиться к завершённой игре, пускай маленькой, но самостоятельной и цельной.
    Ответ написан
    Комментировать
  • С чего начать изучение Gamedev'а?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Комментировать
  • Почему не загружают мою игру?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Без рекламы на одной органике не выехать, тем более на перенасыщенном мобильном рынке. Почитайте про рекламу и работу с прессой, можете начать с видеороликов по ссылкам ниже.
    https://www.youtube.com/watch?v=SkEQtMP2CuA
    https://www.youtube.com/watch?v=qxsEimJ_3bM
    https://www.youtube.com/watch?v=hD31xc5NDxY
    Ответ написан
    Комментировать
  • Существует ли четкое руководство по GDL (game description langauge)?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    В английской википедии есть ссылка на спецификацию языка. Но, должен вас разочаровать, никто GDL для игр не использует, это чисто теоретическое размышление на тему "как научить компьютер думать". То есть, написать крестики-нолики с помощью GDL вы сможете, а тетрис уже не получится.
    Ответ написан
    Комментировать