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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    1. Найти художника
    2. Найти бесплатно готовое (OpenGameArt, itch.io)
    3. Купить готовое (TurboSquid, GameDev Market, Asset Store, Marketplace)
    4. Научиться рисовать
    5. Стырить ಠ_ಠ
    Ответ написан
    2 комментария
  • Как изменить параметр cellSize элемента GridLayoutGroup из кода?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    1. Открыть документацию к GridLayoutGroup.
    2. Увидеть, что буквально первое свойство на странице это cellSize:
    5b0d7a593487d043570054.png
    3. Написать скрипт:
    using UnityEngine;
    using UnityEngine.UI;
    
    public class Example : MonoBehaviour
    {
        public GridLayoutGroup gridLayoutGroup;
    
        private void Start()
        {
            gridLayoutGroup.cellSize = new Vector2(200, 200);
        }
    }
    Ответ написан
    1 комментарий
  • Что необходимо знать, чтобы создать игру?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Большинство разработчиков-одиночек либо программисты, которые умеют работать с графикой, либо художники, которые немного умеют немного скриптовать. Среди музыкантов инди-разработчики встречаются очень редко, сходу на ум приходит только David Kanaga, который делал Panoramical и Proteus.

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

    Учитывая всё это, могу предложить пару вариантов. Вариант первый - взять готовую игру и озвучить. Например, для линукса полно молчаливых игр с открытым кодом, можно предложить свои услуги, никто не откажется. Либо найти какого-нибудь разработчика на TIGSource и переговорить с ним.

    Второй вариант - забыть про графику и взять Twine, вам же свою музыку надо рекламировать, а не успехи в моделировании. Возьмите какой-нибудь готовый короткий рассказ и переложите в интерактивный формат с музыкой, эдакий радиоспектакль для браузера. Если очень хочется, можете ещё найти художника для иллюстраций. Это и выглядеть будет прилично и работу свою показать будет проще.
    Ответ написан
    Комментировать
  • Как отследить действия при закрытии игры?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Любая потеря фокуса приложения это OnApplicationPause, после этого события приложение может убить операционная система, если, например, ей нужно освободить ресурсы. На мобилках в большинстве случаев это можно считать выходом из приложения. Во время перехода в браузер для авторизации, например, ваше приложение скорее всего выгрузят, а потом перезапустят при возврате обратно.
    Ответ написан
    Комментировать
  • Стоит ли разрабатывать third-person хоррор своей первой игрой на UE4?

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    На диске сохранять, берёте JsonUtility, сериализуете свой ScriptableObject и пишете результат в файлик куда-нибудь в Application.persistentDataPath.
    Ответ написан
    Комментировать
  • Какие отличия между Ferr2d и SpriteShape?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Юнити этим SpriteShape года два-три дразнили, а выпустили только сейчас, в то время как Ferr2D ещё пять лет назад появился в магазине и всё это время развивался. Разумеется, что у Ferr2D функционала больше и он стабильнее, но не факт, что вам нужны его дополнительные фичи, возьмите SpriteShape, да попробуйте, может быть, вам его хватит за глаза и за уши. Такая же ситуация с Tilemap, он, конечно, проще, чем то, что есть в магазине, но для мелких проектов и прототипирования его достаточно.
    Ответ написан
    Комментировать
  • Как делать 3D игры на Python?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    На питоне трёхмерные игры никто не делает, только визуальные новеллы, много документации не ждите. Из новых движков есть Godot с питоноподобным GDScript, можете попробовать его. С Pyglet, Pygame и Blender лучше не возитесь, они для разработки игр плохо подходят, вам быстрее будет другой язык выучить, чем с ними ковыряться.
    Ответ написан
  • Какой выбрать стек для работы в GameDev?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Советую питон пока не бросать, а поиграться сначала с pygame, а потом с pyglet. Так вы разовьёте программистскую эрудицию и заодно поймёте, почему питон в чистом виде используют только для визуальных новелл. После этого спускайтесь ещё ниже к плюсам и чистому OpenGL, только долго там не засиживайтесь, свои движки с нуля нынче никто не пишет. Параллельно можете почитать про шаблоны программирования и полистать GPU Gems, Graphics Gems и Game Programming Gems. Книги из серий Gems нужны не для изучения конкретной реализации, которая, скорее всего, уже устарела, а для всё того же кругозора, алгоритмы и подходы из этих книг в геймдеве встречаются повсеместно. Когда разберётесь с кишками рендеринга и игровыми циклами, переходите к готовым движкам, установите и пощупайте пяток, потом выберите один и изучайте. Кроме этого ещё нужно уметь работать с git, полезно будет хоть раз поковыряться в Max/Maya/Blender, но, в принципе, после этого можно будет двигаться куда угодно, у вас будет полное представление о том как работают игры, дальше вам нужен будет только опыт разработки в команде, сделаете пару тетрисов-арканоидов для резюме и найдёте работу.
    Ответ написан
    Комментировать
  • Как правильно спроектировать архитектуру и UI игры на Unity?

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

    Из общих советов могу порекомендовать избегать циклических связей, когда, например, вы в ui что-то отправляете и в сценарии ожидаете, что оттуда вас дёрнут в ответ, а если не дёрнут, то всё сломается. Для того, чтобы это не случалось, очень удобно использовать такую конструкцию:
    public event Action OnSomething = () => {};
    Так вы всегда сможете вызывать OnSomething и не беспокоиться о том, есть ли какие-либо подписчики у этого события, оно никогда не будет null и снаружи его никто вызвать не сможет. Когда вы начинаете думать в таком формате, то проектировать архитектуру становится проще.

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Берите Unity, для начинающих разработчиков это сейчас самый дружелюбный движок с хорошей документацией и множеством туториалов. На производительность в первую очередь влияет кривизна рук разработчика, движок сам по себе ощутимого оверхеда не даёт, тем более для 2D, а для 3D теперь есть Lightweight Render Pipeline. Другое дело, что раньше у юнити была проблема с размером сборки под мобильники, но сейчас они её практически решили, движок занимает всего 12 мегабайт.
    Ответ написан
    1 комментарий
  • Уместно ли на Тостере создавать вопросы по геймдизайну?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Лучше пишите на специализированные форумы или хотя бы на gamedev.stackexchange.com, спросить-то можете, но здесь вам некому будет отвечать.
    Ответ написан
    Комментировать
  • Как вступить в команду разработчиков игр?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Если хотите опыт, то идите нанимайтесь на работу джуниором или стажёром в какую-нибудь студию. Если будете просто со случайными энтузиастами на форумах шашкаться, то в лучшем случае потеряете время, а в худшем -
    можете нахвататься плохих привычек. Не работая в реальной успешной команде, очень сложно понять процесс разработки, все эти мифы про волшебные дизайн-документы, бытующие среди любителей, к реальности имеют мало отношения. В качестве альтернативы можете поучаствовать в геймджемах (Ludum Dare, itch.io), иногда они проходят не только в интернете, но и в городах. Ищите ближайшие игровые студии, все более-менее крупные студии рано или поздно участвуют в геймджемах. А вообще говоря, если вас интересуют не деньги, а опыт, то команда вам не нужна, берите халявную графику в магазине, у Kenney или где-то ещё и просто делайте разную мелочёвку. Если с фантазией туго, то можете попросить тестовое задание у любого работодателя, это заодно вам установит дедлайн.
    Ответ написан
    Комментировать
  • Unity(C#) - Почему не работают корутины?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Зачем вы в бесконечный цикл засунули пять стартов? Вы же оттуда не выберетесь никогда.
    Корутины запускаются с помощью StartCoroutine, у вас этот метод используется только для запуска Waiting, а старты вы запускаете просто как обычные методы, что есть неправильно. Возьмите лучше пустую сцену и поэкспериментируйте там с корутинами, подключитесь дебаггером и посмотрите, что происходит. И пообождите вкладывайте их друг в друга пока не разберётесь.
    Ответ написан
  • Какие могут быть причины большого Other в Profiler?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Это оверхэд профайлера, если его отключите, то всё будет нормально.
    Ответ написан
  • Разработка игры под iOS 2d по типу Марио?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Берите Unity, изучайте документацию, смотрите примеры. Для новичков это сейчас самый дружелюбный движок.
    Ответ написан
    Комментировать
  • Подойдёт ли Rust для 3D игр?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Если прям горите желанием, то можно, но готовьтесь к тому, что весь функционал придётся писать самому и тулчейн тоже. Ну и багов дофига. Рано ещё, подождите пару лет.
    Ответ написан
    Комментировать
  • Серьезные курсы по Gamedev?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    "Прям качественные игрули" разрабатываются годами, и тратить драгоценное время ещё и на написание туториалов никому не интересно. Если хотите побольше узнать про процесс разработки, то можете почитать блоги разработчиков, вот вам несколько для начала:
    https://rust.facepunch.com/blog/
    https://www.factorio.com/blog/
    the-witness.net/news/category/development
    https://www.reddit.com/r/devblogs/
    Ответ написан
    Комментировать
  • Движок для создания миров?

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Конкретно для VR есть EditorVR, в нём можно гулять по сцене не запуская игру. Для всего остального есть ScriptableObject и префабы, изменения ScriptableObject сохраняются после выхода из приложения, а префабы можно вытаскивать со сцены в окно проекта даже в рантайме. Из коробки больше ничего подобного нету, только с плагинами.
    Ответ написан
    1 комментарий