126 / 114 / 25
Регистрация: 02.07.2013
Сообщений: 827
|
|
1 | |
Программирование ботов в играх26.08.2016, 15:22. Показов 1598. Ответов 9
Метки нет (Все метки)
прошу простить если не по адресу пришел.
с давних пор есть желание заняться написанием игровых ботов (под виндос), и очень хотел бы уметь делать это хорошо и всеми способами какие есть, а не в готовеньких программах под конкретный случай. но так как я вижу цель только в общих очертаниях, а гуглятся только конкретные примеры, то я даже не понял что мне надо делать чтобы хотя бы начать учиться. мой опыт проганья сводится к решению дифуров и прочих мат задач на "с", но тут нужны другие навыки. своими силами найти выход не смог, надеюсь на вашу помощь. если кто-то из вас знает тему о которой я говорю или может знает куда можно обратиться чтобы продвинутся в этом деле, то пожалуйста помогите, благодарю за внимание. п.с. на хабахабре нашел топик такой-то https://habrahabr.ru/post/212779/. прочитал его и прочитал обсуждения. среди того что нашел подход в этой статье больше всего понравился и комменты тоже, но я говорю о том что не знаю.
0
|
26.08.2016, 15:22 | |
Ответы с готовыми решениями:
9
Как создаются нейросети для чат ботов? Синий экран в онлайн играх, в офлайн играх синего экрана нет Синие и черные экраны в браузерных играх, одноклассниках и оффлайн играх ИП ботов яши |
677 / 551 / 74
Регистрация: 20.09.2014
Сообщений: 3,596
|
|
26.08.2016, 16:49 | 2 |
Ну одно дело писать алгоритм бота в крестиках-ноликах, другое - в шахматах, третье - в стрелялках....
0
|
Модератор
3079 / 2228 / 464
Регистрация: 26.03.2015
Сообщений: 8,662
|
|
26.08.2016, 17:33 | 3 |
Игрового бота можно поделить на две большие независимые части - интерфейс и собственно ИИ.
Сложность и того, и другого сильно зависит от игры (конкретной реализации).
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
26.08.2016, 17:48 | 4 |
Ну получишь ты как то данные из приложения ну двинешь как то мышь в точку x y (кстати зависит от того как игруха получает ее координаты. Если через DirectInput то что то мне кажется что все эти mouse_event в пролете ). Это в принципе элементарные действия расписанные по функциям в справочнике по винапи. А вот чтобы определить куда ему бежать и стрелять понадобится и дифуры и прочий матан считать который вообще нигде не описан. Да кстати расчет точек траектории плавного перемещения мыши из точки А в точку Б это тоже интегрирование дифура по конечно-разностной схеме.
0
|
126 / 114 / 25
Регистрация: 02.07.2013
Сообщений: 827
|
|
26.08.2016, 17:48 [ТС] | 5 |
игра EVE там интерфейс в основном табличный, так что главное будет научиться распознавать окошки внутри игры, текст, отдельные элементы управления(кнопки). научиться водить мышой по экрану и попадать по нужным пунктам меню. игра устроена так, что иногда можно не вникать в красочные 3д составляющие, а более-мение выживать глядя только на табличные данные во множестве окошек. так что думаю первый шаг можно делать не вникая в трудные задачи разборки графики и поиска там объектов, а всего-то решить вопрос как обработать множество табличек. видимо метод будет такой: делать снимок экрана. затем анализировать состояние системы(сумев извлечь информацию из текста в разных местах), а затем уже водить мышей и опять делать скриншот и т.д. только я совсем не вкурсе, как заставить курсор самому ездить, как на скрине найти кнопки, окошки, таблички и т.д. в общем проблема в том как создать приложение что может само делать скриншот, потом по скриншоту понять состояние системы (найти на нем текстовую информацию, обнаружить табличнообразные элементы управления и обзора) а потом действовать т.е. водить мышей куда надо и жать или перетаскивать объекты по экрану. я думаю если я смогу решить подобную задачу, то буду очень рад и буду иметь обширное представление, что делать в дальнейшим.
но опять же я не требую конкретного решения от вас, достаточно только подсказать какие инструменты для этого есть в природе. просто подскажите куда двигаться, но если готовы объяснять мне на примерах буду только рад.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
26.08.2016, 18:02 | 6 |
NetGames.rar сырцы парочки копий логических браузерных игрушек и ботов к ним.
0
|
126 / 114 / 25
Регистрация: 02.07.2013
Сообщений: 827
|
|
26.08.2016, 20:05 [ТС] | 7 |
благодарю за архивчик, можно ли подсказать мне какую литературу на счет языков освоить? тяжело вникать в красоту стихов если букв не знаешь.
0
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
26.08.2016, 21:30 | 8 |
Ну вообще в этой области обычно во всю С++ пользуется. Осваивал без какой то особой литературы. по референсу и лекциям. Но правда это не первый ООП язык был который я осваиал
0
|
38 / 27 / 3
Регистрация: 24.02.2015
Сообщений: 87
|
|
03.09.2016, 01:06 | 9 |
для освоения книга С++ вам поможет Язык программирования С++ (Бьерн Страуструп), сам в свое время размышлял над написанием бота, но до дела так и не дошло.
0
|
38 / 27 / 3
Регистрация: 24.02.2015
Сообщений: 87
|
|
13.09.2016, 22:50 | 10 |
golosalex, если тема еще актуальна, посмотрите тут. Несколько статей про написание игровых ботов.
0
|
13.09.2016, 22:50 | |
13.09.2016, 22:50 | |
Помогаю со студенческими работами здесь
10
запуск ботов Статистика посещений ботов Яктивность ботов Яши мониториннг ботов ПС на сайте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
|
КуМир, исполнитель Чертежник: Решение задач
bytestream 28.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения основам программирования и алгоритмизации.
Исполнитель Чертежник работает на координатной плоскости, где может. . .
|
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
|
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
|
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
|
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
|
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
|
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
|
Как сделать перенос строки в Bash
bytestream 28.01.2025
При работе с командной оболочкой Bash разработчики часто сталкиваются с необходимостью форматирования текстового вывода, где ключевую роль играет правильное управление переносами строк. Умение. . .
|
Поиск подстроки в строке с помощью Bash
bytestream 28.01.2025
Поиск подстроки в строке является одной из важных задач в программировании и обработке текстов. Применение такого поиска можно найти в самых разных областях, от анализа данных до разработки. . .
|
[golang] 169. Majority Element
alhaos 28.01.2025
Тут надо вернуть "мажористый" элемент который встречается в слайсе больше чем в половине случаев. По условиям задачи во входных данных такой элемент обязан присутствовать.
/ / . . .
|
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
|