Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

хххх$



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

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

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

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

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

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

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

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

icq: 380871124
skype: russian_pinky
По умолчанию

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

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

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

P.S.

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

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

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


Дал базу данных всех картинок, базза данных постоянно обновляется, знакомый соединил обычного бота с базой картинок и все норм пошло, мне понравилось перс 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
Репутация: 10
По умолчанию

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

icq: 446843180
skype: phoenix_proger
По умолчанию

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

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

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

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

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

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

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

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

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

ну и т.п.

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

icq: 446843180
skype: phoenix_proger
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработка Онлайн игры в стиле РПГ 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 15:46


19:39.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru