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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Точно так же как и любую другую программу:
    1. Формализуете вашу задачу в виде какого-то текстового/графического описания
    2. Формулируете ТЗ с конкретными требованиями, ограничениями и всем прочим
    3. На основе ТЗ разрабатываете ЧТЗ (Частное ТЗ) со всеми полными деталями, описаниями всех действий, событий, взаимодействий и прочее
    4. Используя ЧТЗ подготавливаете проект - архитектура, инструменты, системы, подсистемы и прочее с полным описанием, декомпозированными элементами вниз до самых простых и прочее
    5. Берём проект и по шагам его реализовываем
    6. Profit
    Ответ написан
    Комментировать
  • Что это за игра и есть ли от неё исходник?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Скорее всего просто купили готовую модель на сайте по продаже 3D моделей и других ресурсов для игр. Или может он был в каком-то готовом наборе.
    Ответ написан
    3 комментария
  • Как увеличить размер выделяемой видеопамяти игре/приложению?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Памяти выделяется приложение столько, сколько оно запросит. Если память есть - она выделится и всё будет работать дальше, если памяти нет - то система вернёт ошибку, что памяти нет и приложение уже пользователю покажет ошибку. Соответственно, решение очень простое - увеличить объем памяти. В случае видеокарты - заменой видеокарты.
    Ответ написан
  • Что делать первокурснику для становления гейм дизайнером?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Начать учиться на геймдизайнера параллельно уже изучаемому. Например, можно начать отсюда:

    А еще постоянно и регулярно играть в самые различные игры, причем не только в новые топовые, но и в старые и всякие менее популярные игры тоже важно играть. Приставки, консоли и прочее - тоже очень желательно приобрести и осваивать всякие эксклюзивы. Обязательно поиграть во все топовые игры прошлых лет. Далее, как уже сказали - это моды, дополнения, и всякие модификации игровые. Лучше начать с популярных игр с уже готовыми редакторами и которые до сих пор популярны, несмотря на их огромный возраст - Warcraft, StarCraft, HoMM и прочее. Без опыта игры и без любви играть в игры невозможно создать интересную и играбельную игру.
    Ответ написан
    5 комментариев
  • Как работает 3D в современных играх?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Точно так же как и в старых играх: математика - обычная геометрия и тригонометрия, а так же физика для динамики и анимации. Задаются точки в трехмерном координатном поле. Из точек формируются ребра (отрезки), из трех точек и ребер формируются полигоны. Из полигонов формируются объекты. А уже из групп объектов формируются сцены, уровни и прочие комплексные вещи. Обычная школьная математика. Сцена находится в трехмерном пространстве, а экран - это обычно двухмерная плоскость, то осуществляется проекция трехмерной сцены на двухмерную плоскость экрана. В отрисовке есть куча хитростей и множество различных механизмов и способов оптимизации. Для анимации объектов используются матрицы, которые описывают масштаб объекта по трём осям, его координаты и положение в пространстве - т.к. это проще, чем каждый раз для движения объекта переписывать все его точки. Сам процесс анимации тоже имеет свои нюансы и тут тоже используется много всяких оптимизаций, математики и физики.
    Реализовать на низком уровне простейший движок достаточно просто: мануалов и инструментов в сети полно. Можно как полностью с нуля реализовать так и использовать API видео драйвера.
    Полезная ссылка: Build your own 3D Renderer
    Ответ написан
  • Возможно написать авто бота или кликер на JavaScript под онлаин игры по типу WoW или Lineage 2?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В онлайн играх применяются и постоянно обновляются различные механики и даже шифрование против рерверсинга клиента, написания и применения ботов, кликеров и прочего. Да, такого бота вполне возможно написать и на JS, но вот от задач обратной разработки игрового клиента и написания низкоуровневого кода на ассемблере и C/C++ вас это не спасёт. Это всё равно придется делать. И даже добавит веселья при переносе/конвертации данных между разными ЯП. Кроме того, JS - язык интерпретируемый, хоть он и обладает достаточной производительностью, он может и, скорее всего, станет узким местом в боте, которое будет не успевать за работой игрового клиента или банально не хватит скорости работы при обработке больших массивов памяти (например анализ изображения в реальном времени или сканирование памяти приложения в поисках нужных данных).
    Типовые инструменты разработчика ботов - это WireShark и другие снифферы трафика, различные утилиты для исследования и дизассемблирования скомпилированного кода типа IDA, Resource Hacker и прочее, а так же различные среды разработки, в зависимости от индивидуальных предпочтений. Вообще, софта для реверсинга много разного и всякого для различного рода задач.
    Ответ написан
    Комментировать
  • Дамп игры на c++?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Под виндой ReadProcessMemory, под остальными ОС использовать аналогичные системные API.
    Ответ написан
    Комментировать
  • Как игра понимает, что используется не физическая клавиатура?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проблема с эмуляцией ввода в играх в том, что в винде существует несколько разных АПИ и методов получения пользовательского ввода - возраст ОС, легаси, обратная совместимость и все такое прочее. И каждый разработчик использует то, что нравится/нашел/встроенное в движок/попалось под руку, а некоторые специально усложняют возможности программной эмуляции для блокировки ботов. Поэтому надо пробовать несколько вариантов, а если не работает - то остается либо свой драйвер в ядре ОС либо эмуляция с внешнего устройства.
    Ответ написан
    Комментировать
  • Какое железо купить для своего домашнего сервера?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Любая старая память после апгрейда + Mini ITX мать со встроенным процем + нормальный БП от FSP. Как вариант - малинка/апельсинка и прочие. Для поиграться и потестить - это хватит за глаза. А серверное железо для таких задач совершенно не нужно.
    Ответ написан
    Комментировать
  • Как создать фабрику картинок в windorms c#?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Есть такая штука, называется "Декомпозиция задачи": вот это вам и надо сделать. Разбить свою задачу на несколько подзадач меньшего размера, а потом эти задачи разбить на подзадачи еще меньше и так далее, пока не станет все понятно. Затем следует объединить задачи в какие-то модули и логические блоки. И по шагам реализовывать нужный функционал. (И в очередной раз напоминаю, как вам уже неоднократно сказали: в вашем случае следует сделать карту игрового поля и основываясь на этой карте рисовать игровое поле - вы её сделали?)
    Ответ написан
    Комментировать
  • На каком движке делались ролики к играм PS1?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    На чем получится и что найдут подходящего в рамках бюджета или знаний специалиста в наличии: от типичных макса/майи/блендера до самопала и другой экзотики. В то время для разработки игр для консоли надо было приобрести у производителя консоли набор разработчика, который и использовался для разработки игры под конкретную консоль. А там уже используя SDK стандартный ролик конвертировался в понятный для коносли формат.
    Ответ написан
    7 комментариев
  • Js игра зрение врагов 2д, как реализовать?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Точно так же как и любую другую задачу: спроектировать и реализовать.
    1. Составить задачу
    2. Сделать декомпозицию задачи на более маленькие подзадачи в несколько итераций до самых простых
    3. Взять маленькую задачу и решить её
    4. Выполнять пункт 3 до тех пор, пока есть задачи
    5. Profit
    Ответ написан
  • Что лучше для создания игры?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше то, что соответствует техническому заданию.
    Ответ написан
    Комментировать
  • Как программировать игру в игре?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вот допустим, я хочу создать врага в самой игре. Как я должен реализовать это в самом создателе? Может использовать обычный класс, имеющий обычную физику для врага, и сделать ему атаку из второстепенных функций спавна пуль, и обычных мувов. Но меня интересует другое. Как он будет жить без кода?

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Послать серверу команду через сокет - например числовой идентификатор метода.
    Ответ написан
    Комментировать
  • Как перенести свои теоретические знания о языке на разработку приложений?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Теория-теории рознь, а на практике зачастую приходится вкручивать такое, что никакому теоретику даже в самом страшном кошмаре не приснится. Так что надо искать задачу по своим силам и в рамках своих знаний и решать её. Ибо при отсутствии опыта попытка сделать что-то большое скорее всего приведет к плачевным результатам, которые все равно потом надо будет переписывать полностью и с нуля. Так что самый лучший вариант - сначала научиться делать что-то небольшое, и не просто делать, а хорошо делать. Это даст какую-то базу опыта, опираясь на который уже можно будет решить какой проект посложнее взять. Кроме того, разработка ПО - это не только написание кода, а еще и проектирование архитектуры, модулей и подмодулей, библиотек, поиск решений, проверка решений, тестирование, выбор решений, менеджмент, исправление ошибок, общение с пользователями / клиентами / заказчиками, проектирование UI/UX и его тестирование, написание и оформление документации и тележка других мелочей. В реальности написание кода может составлять 15-30% от всего проекта (зависит от размера проекта и многих других факторов, конечно же). Зачастую ощутимый объем кода просто выкидывается - 10-20% может легко уходить в /dev/null. Теория в отрыве от практики - бесполезна и очень быстро забывается как бесполезный мусор.
    Ответ написан
    1 комментарий
  • Что выбрать в качестве среды разработки для создания обучающей программы-презентации?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Для разработки на JS/Html под десктоп отлично подойдет Node-webkit.
    Ответ написан
    Комментировать