Вопросы с меткой [разработка-игр]


Как научить ботов избегать границ игрового поля?

Ответить


0

попробуй дать еде больший приоритет чем убеганию от врага, т.е поворачивай чуть ближе к еде а не бери среднее значение

0

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

1

Можно рассматривать стенку как врага. Не очень страшного, но врага... Вектор убегания брать обратнопропорциональный расстоянию до стенки...

0

Саша Рыбкин, еды рядом с юнитом может и не быть.

0

@lambakean то есть длина вектора самого вектора движения - постоянна?

0

Harry , проблема в том, что стенка - это не точка, а длинная прямая, поэтому не получится рассматривать ее так же, как красного врага. К тому же может получится так, что юнит решит отдалиться от стенки вместо того, чтобы убегать от врага, в результате чего юнит погибнет.

0

Miron, извините, не знаю как делать упоминание, чтобы вам приходило уведомление, сейчас подумаю над вашим ответом

0

@Miron <img src="i.ibb.co/3crb97n/20200405-140339.jpg"> Может получиться вот так, и синий юнит выйдет за границу.

0

@Miron у каждого юнита есть такая характеристика, как "страх", которая представляет собой целое число. Чтобы у юнитов в приоритете было убегание от врагов, а не еда, сначала строится вектор, отдаляющий юнита от врага, потом этот вектор нормализуется (длина становится равна единице) и умножается на "страх". А вектор, приближающий юнита к еде, просто нормализуется и ни на что не умножается. Эти векторы складываются и результирующий вектор ещё раз нормализуется и умножается на скорость юнита. По получившемуся вектору юнит будет двигаться.

0

@Miron И да, длина вектора движения всегда постоянна и равна скорости юнита

0

Хорошо бы определиться, какое вообще поведение ожидается от убегающего. Для примера, можно определить, пересекает ли прямая стенки наш вектор и если пересекает, то повернуть его на угол, когда пересекать уже не будет. В случае, если это угол поля, то алгоритм будет сложнее.

0

@AlexKrass решение с поворотом вектора кажется рабочим, потом проверю, как это будет работать на практике

0

А разве юнит не может просто скользить по стенке? Вообще же вы должны определиться - в какую сторону должен двигаться персонаж, когда он подходит к стенке. Это может быть обращение вектора - если он направлен в сторону стенки, то он отклоняется в обратную сторону(вектор смотрит вверх-вправо, а, так как вверху стенка, он изменяется так, что смотрит вниз-вправо) или параллельно стенке(изменяется так, что смотрит просто вправо). Тут много стратегий поведения можно придумать - главное, чтобы вас эта стратегия устраивала.

Можно ли изменить функционал онлайн игры ( с закрытым кодом )?

разработка-игр

Узнать ответ

ответов 2

0

ищи какой-нибудь чат хацкеров в телеграме :) а тут надо задавать конкретные вопросы ru.stackoverflow.com/help/how-to-ask

Помогите реализовать шаг назад в игре 2048

tkinter разработка-игр python

Ответить

ответов 0

0

вы написали приличный рабочий код. Какие у вас проблемы с тем, чтоб перед ходом запоминать состояние матрицы (она маленькая - хоть сто ходов) и на бэкспэйсе брать из стека предыдущее состояние?

0

Проблемы с реализацией вывода матрицы. Вот в этом проблема он не выводит её!

Как сделать мультиплатформенную игру с сохранениями?

разработка-игр

Ответить

ответов 0

2

Дык решение только одно - загружать сохранения в сеть.

1

Ну если простенькая аркада, то можно как в начале 90х было - раз в несколько уровней показывать игроку код, при вводе которого на старте игры игрок начинает не с первого уровня, а с того, перед которым показали код. Так было например в серии prehistoric.

У персонажа не отнимается здоровье при столкновении с игроком

разработка-игр unity3d c#

Ответить

ответов 0

1

добро пожаловать на Stack Overflow на русском! текстовую информацию лучше прилагать в виде текста: а) читать легче; б) можно копировать; в) поиск работает. исправить текст вопроса можно, нажав edit ниже текста вопроса

0

Перевел почти весь код в текст но не получается перевести первые 5 строк. Читал инструкцию.

(UNITY3D) Как "округлить" поворот врага при преследовании игрока

разработка-игр unity3d c#

Ответить

ответов 0

0

вы как то уже меняете направление движения, ограничьте микстмальный угол поворота в одном тике...

Как работают читы или что мне нужно знать?

разработка-игр

Ответить

ответов 0

0

Читы работают по-разному. Очевидно, что это зависит от уязвимостей, которые есть в игре. Поэтому, чтобы понять, как работают читы, нужно понять, как работает конкретная игра. Вы не продвинетесь дальше Script kiddie, если будете изучать только читы. Вам нужно изучать игры, стать разработчиком. И тогда с опытом Вы начнёте понимать, где в системе могут быть слабые места.

0

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

Проектированиe игры

разработка-игр java

Ответить

ответов 0

0

Начните делать, столкнетесь с проблемой - приходите за советом вместе со своим кодом.

0

@dmtr делать я уже начал, кода на три класса и столкнулся с проблемой.. а проблема описана в моем вопросе, т.к. я не знаю как оформлять подобные вещи ибо с этим никогда не сталкивался. Рылся в гугле, но подходящего кода "взаимодействия" обьектов так и не нашел... поэтому и тут(

Хочу узнать о создании читов под игры

c++ разработка-игр

Узнать ответ

ответов 1

0

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

0

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

0

Учить математику и все, что связано с CS (computer science), потом прибавить школьную физику и переключиться на специфику для игроделания. Ну и, конечно, английский язык - без него вообще никуда, вся актуальная дока на нем-родимом.

0

А у вас есть опыт в разработке читов? Если есть,то можете назвать этапы. 1,2,3 и тд.

0

В первую очередь нужно досконально знать язык ассемблера, машинный код, низкоуровневые API операционных систем, чтобы уметь копаться в бинарниках и в памяти процессов

0

А reverse engineering? Он вроде тоже нужен.

0

Чит - это обычная программа, которая меняет значение в памяти устройства. Попробуйте для начала поиграться с программой Cheat Engine.. Там есть например все адреса памяти для разных игр, в которых хранятся данные(например HP, Money, Ammo и т.п.)

0

А вот я хочу для couter-strike читы делать,что нужно,чтобы начать,ото я как слепой кот,не знаю что делать)

Игры на улучшение. Как сбалансировать?

балансировка разработка-игр unity3d

Узнать ответ

ответов 1

1

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

Unity3d HingeJoint

разработка-игр unity3d android c#

Ответить

ответов 0

0

а почему бы просто не добавлять элементы в одну группу, без джоинтов?

0

потому что все модули имеют компонент Rigidbody и они развалятся даже если будут в одной иерархии

0

а зачем всем модулям rigidbody?

0

Танк состоит из 4 модулей: шасси, корпус, башня, пушка. К шасси присоединён корпус с помощью FixedJoint, а к корпусу башня (HingeJoint), к башне пушка (в этом случае без разницы как она присоединена, хоть джоинтом, хоть дочерним расположением в иерархии). Когда к шасси прикладывается сила и оно начинает движение, таща на себе корпус и другие модули. Если модули(убрав Rigidbody) расположить просто в пустой GameObject с Rigidbody и прикладывать силу этому объекту, то танк тоже поедет, но если он перевернётся вверх ногами, то он продолжить ехать уже на спине. Джоинты не работают без Rigidbody.

0

Ну так по мимо общего rigidbody дающему танку динамическую физику, нужен второй на шасси и задавать силу именно ему. А скрепляются части не джоинами а иерархией вложенности объектов. Вроде... =)

0

если я сделаю башню дочерним по отношению к корпусу и им обоим добавлю rigidbody то они просто держаться не будут и упадут, поэтому я их и скрепляю джоинтами

Распарсить файл из игры

разработка-игр json java

Ответить

ответов 0

0

Насколько я понимаю - нет. Возможно, легче форматнуть своими средствами в json и работать уже с ним

Unity создание сборного юнита

unity3d-android model разработка-игр unity3d c#

Узнать ответ

ответов 1

0

дело в том, что у корпуса и шасси нулевая координата находится в их середине, то при совмещении получится так, что шасси окажется внутри корпуса, а оно должно прилегать к днищу корпуса