Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.09.2008, 00:29   #1
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию Как сделать бота для онлайн игры?

Да я знаю что это надо быть крутым программистом
Ну так вот просто раскажите как это примерно делаеться
Просто как это делаеться мне надо знать
Не важно под какую игру (все равно!)
В двух словах просто расскажите вот и все большего не прошу
zotox вне форума
Старый 22.09.2008, 01:23   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

хххх$



p.s.: Нет общего алгоритма написания игрового бота, так-как игровая логика во всех играх разная...
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума
Старый 22.09.2008, 12:50   #3
Rio309
Форумчанин
 
Регистрация: 06.02.2008
Сообщений: 140
По умолчанию

Если самого тупого бота, то просто когда ему надо сделать какое то действие(выбор), то задаешь количество вариантов и рандомом выбирается один из них.
Rio309 вне форума
Старый 23.09.2008, 18:29   #4
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию Аспекты ботостроения для игр

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

Давайте рассмотрим на примере: Экшн, РПГ, Стратегия, Квест, Симулятор.

Цитата:
Сообщение от AlDelta
Нет общего алгоритма написания игрового бота, так-как игровая логика во всех играх разная...
Тут не совсем согласен, алгоритмы разные - это верно, а логика одна - "имитировать поведение реального пользователя", ...вот только степень имитации . Звучит обобщающе.

В корне, "бот" и "пользователь" (игрок) - суть, одинаковые системы - "юнит" (unit), у них одинаковые наборы характеристик, параметров, возможностей. Различаются они по их "индексу сущности" - человек это на том конце провода или можно управлять им программно!?
Что вам нужно иметь в виду, ...если пользователь управляет каким-либо юнитом, то он отдает команды в систему перемещения/действия этого юнита, эта система работает автоматически, без участия пользователя, ...есть точка входа и точка выхода, или точка начала действия и точка его конца. В понятии "бот" эти точки входов передаются системе, которая решает как нужно поступить, в зависимости от базы знаний, ...вы меня извините, хочется донести суть, если что, конкретно на вопросах можно будет разобраться, ...так вот, эта база знаний - и есть характер "бота", его душа, если хотите, ...в ней: все параметры бота, радиус его реагирования, набор действий в зависимости от дистанции, условия выбора цели, и мн. др.
Нужно лишь создать юнита, указать его "индекс сущности" и привязать к нему базу знаний. Большинство алгоритмов перемещения и действия "бот" берет из самой игры, так же как это делает реальный пользователь. Например, чтобы переместиться с одной точки в другую, достаточно задать координаты новой точки и отправить их в систему поиска пути, ..."бот" таким же образом отправит координаты точки перемещения в тот же алгоритм поиска пути, ...но если помним, база знаний - это душа "бота", то и решение исходит из базы знаний.

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

Вот "база знаний" - это отдельный разговор - это и есть "алгоритмы различаются", о чем говорил AlDelta. Мои примеры ее содержания - типичные частные случаи.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума
Старый 19.01.2009, 20:03   #5
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

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

Иными словами, бот должен:

Получить данные от сервера напрямую, либо считав их с интерфейса клиента.
Затем бот должен обработать нужные ему данные. (скажем, если он такскает предметы между пунктами А и Б то он должен получить информацию относительно своей дислокации, и о наличии предметов в пункте А/Б если он в них, а так же о предметах, которые у него с собой, в сложном случае, можно брать окружающую обстановку (враги, персонажи) для анализа и действий (уклонения от атак, например))
Затем бот должен выполнить какие-то действия с данными (допустим он решил, что он в точке А и ему надо взять предмет "какая-то фигня" и отнестив пункт Б)
Передача данных серверу, бот отдает данные сервеур напрямую (илипосредством клиента) о своих действиях (в нашем случае он последователньо берет предмет, затем он осуществляет перемещение к точке Б, ну и так далее).

P.S.

Извиняюсь за плохое объяснение, я не умею объяснять.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума
Старый 08.09.2009, 21:47   #6
chiter404
Новичок
Джуниор
 
Регистрация: 08.09.2009
Сообщений: 2
По умолчанию

Давно играю в ганжаварс, и думал над тем что сделать что бы перс был прокаченный и в артах (НЕ ВКЛАДЫВАЯ СРЕДСТВ).
Лазил по форумам, натыкался на то что народ продавал программы которые типо начисляют еуны, или там можно уровень себе сам взломать, но это все такая лажа и лохотрон который только гребет с нубов бабло, после чего я стал просто барыжить купля-продажа, но и это не помогло, начал все сначала лазить на форумах, нашел ботов которые качают перса, попробывал реально качают, но после этого мой перс оказался в блоке, Илья спрайт и на этих ботов нашел скрипт для блока, потом сделали что бы через несколько боев картинки появлялись, для того что бы ботом нельзя было играть, я опять шарился шарился по форумам и наткнулся на чувака который базу данных продает ганжи, спросил что да как заобщался и просто попросил немного помоч обычным людям, он пошел мне на встречу.


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

написали прогу через которую активируется бот, бота вы создаете сами все настройки и едми внутри.
с помощью проги вы можете сделать что бы перс качался автоматом, а можно сделать что бы прога отслеживала все сообщения на форуме по вашим настройкам, например вы сделали настройку что бы прога сообщала вам если кто либо продает еуны или что ли по цене ниже вашей указанной то вам приходит сообщение в почту с сылкойна форум.
Название бота Smile V1.0.1

Вот прямая ссылка на скачивание: http://rapidshare.com/files/277319330/smile.exe.html

пользуйтесь наздоровье друзья.


ГЛАВНОЕ ПРИМЕЧАНИЕ: БОТ ДО 20 ЛВЛ КАЧАЕТСЯ МЕДЛЕННО ТАК КАК ЕГО СКОРОСТЬ СОСТОВЛЯЕТ 0,09, ПОСЛЕ 20ГО УРОВНЯ БОТ КАЧАЕТСЯ В 2РАЗА БЫСТРЕЕ

НЕ ЗАБЫВАЕМ ГОВОРИТЬ СПС. УДАЧНОЙ ИГРЫ!!!



Вот прямая ссылка на скачивание: http://rapidshare.com/files/277319330/smile.exe.html
chiter404 вне форума
Старый 24.09.2009, 02:43   #7
киллемол
Новичок
Джуниор
 
Регистрация: 24.09.2009
Сообщений: 2
По умолчанию

сделай нормальную сссылку а то эта не работает
киллемол вне форума
Старый 24.09.2009, 02:54   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

хочешь скачать файл - плати, тот кто заливал сделал так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 24.09.2009, 10:33   #9
grenles
минимакс
Участник клуба
 
Аватар для grenles
 
Регистрация: 11.06.2008
Сообщений: 1,143
По умолчанию

Цитата:
Сообщение от zotox Посмотреть сообщение
Да я знаю что это надо быть крутым программистом
Ну так вот просто раскажите как это примерно делаеться
Просто как это делаеться мне надо знать
Не важно под какую игру (все равно!)
В двух словах просто расскажите вот и все большего не прошу
я не знаю, серьезных игр еще не писал.
А ответ пишу, основываясь только на логике и информации, которую читал в книгах.

1. Универсального ответа нет. но есть некоторые решения на стандартные часто возникающие ситуации. Например
- выбор пути (что-то вроде нахождения минимакса в заданных условиях). Пример - выбор слабого противника при атаке. Выбор золотой шахты, а не каменной, если в данный момент золотых ресурсов мало.
- различные алгоритмы обхода препятствий.
- поиск в дереве решений (ПРимер - шашки. шахматы). Для игры типа аркады - это выбор действия - стрелять или убегать, чтобы сохранить жизнь, или засесть в укрытие. Узлы дерева - условия, которые могут выполниться, чтобы или завершить принятие решения, или идти искать его дальше. Параметры - жизнь, баллы, атака, число соперников и прочее.
- способ вычисления выстрела (то есть как надо прицелиться, чтобы попасть). Первое что приходит на ум - игровая скорость пули, на расстояние до игрока + смещение в ту точку, где будет играющий, если продолжит перемещаться с той же скоростью. До более сложных решений.
Ну и т.д.

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

3. Далее создающий принимает решение, также, как по графическому и физическому движку, - какие функции ему нужны и насколько сложной будет реализация. Достаточно ли просто придумать несколько простых правил (как в игре "кошки-мышки", где у кота логика простая - обходить препятствия и настичь мышь, решая задачу, чтобы текущее расстояние между объектами не увеличивалось) или надо закладывать в прогу обработчик скрипта, а поведение писать на выбранном скрипте.
Опять же, по анализу виденных мною не слишком сложных скриптов, там подход такой же.

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

если враг то уточнить.

если уточнить то - параметры врага

если сила врага больше 20 то убегать иначе если жизнь врага меньше 10, то стрелять .

ну и т.п.

Вообщем вывод - это своего рода искусство применить стандартные известные решения к своей фантазии в игре.
и это пройдет...
grenles вне форума
Старый 24.09.2009, 11:57   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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

от всего этого варьируется сложность бота
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработка Онлайн игры в стиле РПГ Splo1teR Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 31.07.2008 19:19
Взламывание онлайн-игры.Линейдж Принц Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 13.06.2008 22:48
программист в проект онлайн-игры (Киев) LainUA Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 11.11.2007 14:46