Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Использование высокоуровневых инструментов разработки в ботостроении

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Результаты опроса: Высокоуровневые инструменты в ботостроении
1. Это всё слишком круто для грязных хаков и ботов. Не использую. 0 0%
2. Я пробовал, но эти инструменты оказались неприменимы в данной сфере. 0 0%
3. Не пробовал, но осознаю своё упущение. Буду переползать на их использование. 3 27.27%
4. Придерживаюсь архаичных подходов вслед за архаичными играми. 0 0%
5. Использую ООП и современную среду разработки, но не более того. 3 27.27%
6. Всё это необходимо, так легче обновлять и поддерживать код. Использую активно. 4 36.36%
7. Другое: на уровне описанного в шапке. 0 0%
8. Другое: на порядок выше описанного в шапке. 0 0%
9. Другое: на уровне редактирования исходников в обычном блокноте. 1 9.09%
Голосовавшие: 11. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы
Старый 09.11.2017, 18:06   #1
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
Question Использование высокоуровневых инструментов разработки в ботостроении

Привет, ребята.

Спорный вопрос: использование высокоуровневых инструментов разработки при создании ботов и других ковырялок памяти для игр, которые по сути трудно назвать полноценным программным обеспечением. Дело в том, что кто-то придерживается чуть ли не энтерпрайз-подходов со строгим использованием codestyle, особых правил именования переменных и т.д., а кто-то предпочитает совершенно ни о чём не париться и пишет код так, словно смотрит на него первый и последний раз.

Используете ли вы объектно-ориентированное программирование в своих ботах и другом софте, предназначенном для ковыряния в памяти приложений? И насколько активно?
Инструменты рефакторинга и анализа? Помогут упростить исходный код и сделают работу с ним эффективнее. Или они неприменимы ввиду обширного использования ассемблерных вставок?
Что на счёт использования систем контроля версий или репозиториев типа Git? Может, кто-то заморачивался до уровня развёртывания GitLab, чтобы иметь удалённые репозитории, но скрыть исходники от публики?
Автоматизированное тестирование, тест-кейсы? Непрерывная сборка?

В обсуждении хочется послушать аргументы ЗА и ПРОТИВ описанных выше вещей, а также по поводу других подходов и инструментов. Если вы не занимаетесь разработкой подобного софта или ботов, можете указать как поступали бы на месте разработчиков.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3

Последний раз редактировалось BritishColonist; 09.11.2017 в 18:12. Причина: я глупенький
  Ответить с цитированием
Старый 10.11.2017, 03:43   #2
 Разведчик
Аватар для genius2
 
genius2 никому не известный тип
Регистрация: 25.07.2009
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Отправить сообщение для genius2 с помощью Skype™
 
По умолчанию Re: Использование высокоуровневых инструментов разработки в ботостроении

Все слишком индивидуально что бы давать четкий ответ.
Если ваш проект - это вывод никнейма и хп чисто побаловаться, понятное дело что можно вообще ни о чем не запариваться.

Для больших проектов(скажем свыше 1000 строк кода) ИМХО без ООП будет сложновато в плане реализации нового функционала и поддержки старого, гораздо удобнее работать когда все лежит по полкам и все четко и ясно)

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


Сам использую сильную среду разработки + ООП + подумываю о git
  Ответить с цитированием
Пользователь сказал cпасибо:
dwa83 (21.11.2017)
Старый 10.11.2017, 06:03   #3
 Пехотинец
Аватар для sabbaot01
 
sabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе ценуsabbaot01 знает себе цену
Регистрация: 27.03.2012
Сообщений: 70
Популярность: 4766
Сказал(а) спасибо: 82
Поблагодарили 37 раз(а) в 20 сообщениях
Отправить сообщение для sabbaot01 с помощью Skype™
 
По умолчанию Re: Использование высокоуровневых инструментов разработки в ботостроении

я очень к этому стремлюсь. однако, другие разработчики по под пв уже даааавно все это используют: и ООП и гитхаб (видел примерно 5-6 разных репозиториев).
один из ярких примеров: FreePVP))) думаю, не зазорно подрочить разок на его код
еще: https://zhyk.ru/forum/showthread.php?t=1104750
  Ответить с цитированием
Старый 10.11.2017, 10:34   #4
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: Использование высокоуровневых инструментов разработки в ботостроении

Спасибо за ответы.
Гит вроде как платный, если делать приватные репозитории? Не хочется, чтобы любой мог обойти встроенную защиту в случае коммерческих разработок, просто удалив её код из исходников ( = не хочется, чтобы код был просто в паблик репах).

А что скажете на счёт разработки согласно методологий типа agile, RAD, V и т.д.?
Может есть какие-то особенные подходы к разработке подобного ПО? Это же что-то типа модуля или плагина для готового софта: дополняет функционал другого ПО, но разрабатывается отдельно. Как вообще их правильно тестировать? Я, например, по тыще раз перекомпиливаю свои либы при каждом желании что-то посмотреть; это влечёт очередной запуск клиента Perfect World (а он стартует, скажем так, не за секунду), присоединение либ, 'успешный' краш клиента в случае ошибки и дальнейшие попытки что-то исправить.

+Интересно, как вы оборачиваете методы классов игры - просто вызываете ассемблерными вставками или реально описываете typedef для __thiscall? Если второе, то метод-обёртку вроде как уже не выйдет запихнуть в свой класс, и тогда начнёт страдать сторона ООП вашей программы.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3

Последний раз редактировалось BritishColonist; 10.11.2017 в 10:38. Причина: добавил вопрос
  Ответить с цитированием
Старый 13.11.2017, 11:12   #5
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Использование высокоуровневых инструментов разработки в ботостроении

Цитата:
Привет, ребята.

И тебе привет, дружище.

Цитата:
Спорный вопрос: использование высокоуровневых инструментов разработки при создании ботов и других ковырялок памяти для игр, которые по сути трудно назвать полноценным программным обеспечением. Дело в том, что кто-то придерживается чуть ли не энтерпрайз-подходов со строгим использованием codestyle, особых правил именования переменных и т.д., а кто-то предпочитает совершенно ни о чём не париться и пишет код так, словно смотрит на него первый и последний раз.

Фреймворки - наше всё. Перед написанием чего-либо пишу красивые врапперы поверх костылей (инжектов, например). Если проект серьезный, то код должен быть читаемым, расширяемым и понятным. Если же это тулза на 1 использование, то можно не заморачиваться.

Цитата:
Используете ли вы объектно-ориентированное программирование в своих ботах и другом софте, предназначенном для ковыряния в памяти приложений? И насколько активно?

ООП просто создано для использования в ботах. Взять PW - в нём очень активно используются принципы ООП, а бот-то чем хуже? Мой ответ - да, очень активно использую. Не во всех проектах, конечно, но в ботах точно.
Про ковыряние в памяти приложений сложно сказать - посмотри какие-нибудь открытые фреймворки для работы с памятью. [Ссылки могут видеть только зарегистрированные пользователи. ], например. ООП можно притянуть за уши, но это не нужно, имхо.

Цитата:
Инструменты рефакторинга и анализа? Помогут упростить исходный код и сделают работу с ним эффективнее.

Инструмент рефакторинга = IDE. Юзаю VS (win) / Clion (*nix). Удобная IDE - залог успешной работы.
По анализу - периодически прогоняю свои проекты PVS-студией для поиска ошибок. Плюс в фоне работает та же IDE/clang-tidy. Тут опять же привязка к языку идёт.

Цитата:
Или они неприменимы ввиду обширного использования ассемблерных вставок?

Зачем нужны ассемблерные вставки, если можно написать какой-нибудь красивый фреймворк и радоваться? А вообще, сам давным давно использую [Ссылки могут видеть только зарегистрированные пользователи. ] - очень мощная вещь, полностью заменяющая работу с ассемблерными вставками.

Цитата:
Что на счёт использования систем контроля версий или репозиториев типа Git? Может, кто-то заморачивался до уровня развёртывания GitLab, чтобы иметь удалённые репозитории, но скрыть исходники от публики?

Система контроля версий - must have. Юзай бесплатный bitbucket и будет тебе счастье. А у студентов есть халявный GitHub.

Цитата:
Автоматизированное тестирование, тест-кейсы? Непрерывная сборка?

Не дорос я ещё до этого, но это точно в плюс пойдёт

Добавлено через 7 минут
Цитата:
+Интересно, как вы оборачиваете методы классов игры - просто вызываете ассемблерными вставками или реально описываете typedef для __thiscall? Если второе, то метод-обёртку вроде как уже не выйдет запихнуть в свой класс, и тогда начнёт страдать сторона ООП вашей программы.

Привет, метапрограммирование.
Код:
struct CECGameRun {
	/* ... */
	const wchar_t* GetNameByID(int id, bool return_non_null = true) {
		return AS_METHOD(0x123456, GetNameByID)(id, return_non_null);
	}
	/* ... */
};
Использование
Код:
CECGameRun* gamerun = ...; // откуда-то получили
gamerun->GetNameByID(1024); // получили имя объекта c ID = 1024
Добавлено через 12 минут
Цитата:
Может есть какие-то особенные подходы к разработке подобного ПО? Это же что-то типа модуля или плагина для готового софта: дополняет функционал другого ПО, но разрабатывается отдельно. Как вообще их правильно тестировать? Я, например, по тыще раз перекомпиливаю свои либы при каждом желании что-то посмотреть; это влечёт очередной запуск клиента Perfect World (а он стартует, скажем так, не за секунду), присоединение либ, 'успешный' краш клиента в случае ошибки и дальнейшие попытки что-то исправить.

Могу посоветовать только использовать хороший отладчик, чтобы быстрее выяснять причины крашей. Других средств не знаю, тоже ломаю не одно окно клиента во время разработок.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.

Последний раз редактировалось Smertig; 13.11.2017 в 11:25. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Официальный набор инструментов для моддинга в Fallout 4 выйдет уже в апреле NewsMaster Игровые новости, анонсы и обзоры 0 05.03.2016 20:20
[Услуги] vk-assistant.ru - набор специальных инструментов, расширяющих фунционал VK Hmelus Товары/услуги в Сети 1 25.02.2016 13:20
[Услуги] Накрутка монет/кристаллов/декораций/инструментов в игре Копатель онлайн. Romcheak Социальные сети 10 20.03.2013 22:31

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 05:55.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net