Написание программы для Териокрафтинга, нужна помощь  
Автор Сообщение

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

Loldmg писал(а):

скорее всего нет .

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

http://lethal-zone.eu/lolbattlesim/

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

Добавлю 2 очень удачных сим-крафта:

http://www.teryd.net/

http://lolbuildtester.com/

Эти два очень хороши, но все равно не отвечают на мои запросы. Если вам интерен териокрафт, предлагаю посмотреть первую ссылку.

PS считайте эту тему личным дневником, трольте как хотите, мне как-то... Буду кодить потихоньку.



26 июн 2014, 04:07
Профиль

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

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



26 июн 2014, 16:13
Профиль

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

Ребят, незнаю, вообщем нужен совет, извеняйте за сумбурность, у меня в голове инфы столько, из ушей вытекает.

Коротко о главном, задача оказалась для меня слишком сложна, это не значит, что я от нее отказываюсь. В часности самая большая проблемма это симмуляция эффектов спелов, как на пример Аатрокс Q, спелл имеет 3 эффекта, 1) наносит урон 2) переносит персоонажа на растояние не больше 650 (это даш абилка если кто не знал) 3) кодбрасывает таргет на 1000 милисекунд (ну не правильный прорядок мне простите). Теперь перейдем к ее осуществению, есть несколько вариантов:

1) Тупо захордкодить, безумно прохо из-за обновлений. От этого варинта я отказался сразу

2) Закодить части, 1,2,3 а информацию из них получать из базы. 1) + в том, что обновлять надо ДБ, а не код, 2) минус по сути только 1, по моему опыту за рабочий день можно навоять 1-2 персоонажей, если не считать аню с ее тиберсом или хеймдингера где вообще жопа. Получается 119 дня минимум, что неплохо., ну не считая пересекающиеся абилки, коих не так и много.

3) писать собсвенный моба движок(чистая физика), 1) + это охрененно и подойтет к любой игре, плюс, кодить персоонажей надо, но их можно делать пачками.  Последнее время траил, этот подход, оказалось все не так хорошо. И минус состот в том, что у меня опыта не хватит такую штуку написать. Но поробовать можно

4) Прописать базовое поведение абилок и дать юзеру самому забивать данные, для юзера будет что-то вроде заполни таблицу Х и радуйся.

Все кроме подхода номер 3 не предполагает 2на2 и больше симуляций. Соответвенно делать для чего-то большего, это значит все удалять и кодить заново. Ну и посути ООП только 3й подход. Я лично за 3й подход, но он ахренительно сложен. Могу и непотянуть. Поэтому нужен совет, даже не от праграмистов, тут простая всем доступная логика,.

Кому интересно -  5й подход, у меня от подхода №2 осталось закодиорванно много шмоток (в том числе и активные, пасивные хрени) ослатось по шмоту около 120 вещей (про хорошему счету штук 50 не больше, я просто считаю достаточно тупо(все вещи, а в списке есть и варды и башка казикса раз 4-8), кои я кодить и несобирался),  Ну и можно скрещивать 1vs1 любого для базовых атак (да кстати мастери я тоже еще не далал).  Хотя б билды для ад керри протесть, могу доделать за неделю. Сразу предупрежу, даже в таком убогом виде весит моя прелесть 150мб, вот картинки с интерфейса. это так по фану.

Вобщем если интересно. могу 5й выринт доделать сейчас. а потом думать.

 



28 июн 2014, 16:46
Профиль

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

А зачем просчет того, насколько далеко летит абилка? Разве ты не манекены пишешь?



28 июн 2014, 16:51
Профиль Skype

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

Daniel писал(а):

А зачем просчет того, насколько далеко летит абилка? Разве ты не манекены пишешь?

Ну да, я задумывал Моте-Крало симуляцию, где в простейшем виде маникен стоит около маникена. С другой стороны маникен можен сдвинуться немного, тоесть по простому симмулируем (QWER(абилки) + NSWE(движения) + базавая атака), в простейшем варинте убираем движение (QWER + атака), где не нужно кодить движок, тоесть мои варинты 1, 2. Первоначально я думал так, но тут нет способности расшить симмуляцию и показать более достоверный ответ.  Пример. AatroxQ имеет 0.5 и анимацию  300(или 350 точно никто не скажет) радиус приземления, тоесть если в момент каста абилки начать движение можно при скорости больше 300*2(350*2) из ее выбежать, даже если центр персоонажа пришолся на центр удара абилки. Что меняет исход боя очень неплохо, особtнно если учеть 6 айтем билд. Короче, резюмируя, у меня началось горе от "ума". Поэтому и прошу совета.



28 июн 2014, 17:10
Профиль

1
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

Остановись на манекене и все. Смысла делать движение нет, ибо ты уже тогда пытаешься симмулировать игру. А симмуляция игры это дело гнилое, потому что там 1000 и 1 фактор.



28 июн 2014, 18:09
Профиль Skype

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

А как работают скиллшоты? Они попадают с вероятностью 100%?



28 июн 2014, 19:06
Профиль Skype

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

Судя по увиденному да , ловес я уже писал тебе про тех персов которых надо кодить не 1 , начиная с анечки, отсюда http://lethal-zone.eu/lolbattlesim/ вообще не как не поиграть с симуляциями абил ?



28 июн 2014, 20:21
Профиль

0
Сообщение Re: Написание программы для Териокрафтинга, нужна помощь

Вообщем небольшой апдейт,

Спасибо за совет Daniel, после недельной медитации, я все таки решил пойти по 3му пути. Всетаки закодить примерно так,

Loldmg писал(а):

Судя по увиденному да , ловес я уже писал тебе про тех персов которых надо кодить не 1 , начиная с анечки, отсюда http://lethal-zone.eu/lolbattlesim/ вообще не как не поиграть с симуляциями абил ?

можно пограть только там ребята абилки до конца не закодили, snare Ryze'a.

Теперь сам апдейт, вообщем не нашол в интернетах ничего похожего на точно мне надо, за сим, начал кодить собтвенный движок, который состоит из:

1) еффектов (уже готовы СС, в часности стуны, слоу, руты и так далее, вообщем все СС что есть в лоле, которые накладываются через сепллы(писались просто для тестов архитектуры), СС такой как стасис от Зоньи, еще не написанны, ну и естесвенно используя интерфейсы можно написать любой еффект), я пошол по простому пути Observer pattern, если нужно будет что-то сложное придется добвлять кастомные Listerner\ы но пока в этом смысла не вижу, что в итоге будет горазно медленее(если брать "некоторые" другие подходы), с другой стороны я не пишу отнлай игру, так что мне пох. Фишки моего подхода

--внутренний кастомный таймер (пописанный для каждого еффекта)

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

--опции еффектов(удаляемость, стаки(и по времени и по условию), сохраняемоемость после смерти и так далее )

--управление одинаковыми еффектами(к примеру настакивание замедления, или 2 стуна одновременно)

--простое создание новых еффектов(через абстракный класс Effect.(наследник).apply() и/или update())

--простой поиск нужного еффекта(вся библиотека еффектов храниться в абстрактном классе(раньше был интерфейсом, но оказалось что есть парочка функций которых я кодить не хочу для каждого еффекта(тупо лень)) Effect enum Type)

--евенты(пока смысла в них не вижу, но возможно нужно будет, Такие как OnCastStart, OnChanaleTick, OnSomeShit)

2) упрощенной физики (тут только поиск пути, и колизии нужны, что достачто тривиально, такие вещи я уже писал, так что даже не парюсь тут)

--простота использования (еффекты наклыдываюся простым вызовом Effect.(наследник).apply(Unit target), если колизия спелла и чампиона произошла)

--кастомный движатель юнита(по примеру 2014 Ai programming Cup on Mail.ru для передвижения юнита нужно будет вызвать только move(Move.Type) или move(Point p))

--кастомизация карты(Возможность создавать различные преграды, по примеру стена Анивии)

3) Game State, забыл как переводься, это передатчик игровых событий для юзеров(юзер в даном случае симмуляционный чампион), потому, что в итоге похоже придется писать AI для симмуляций.

Ну пока закончу на прокломации намерений, по еффектам как не странно, я отлично понимаю что делать, и что должно получиться в итоге.  Сейчас я занимаюсь созданием архетиктуры приложения, исходя из подходов эксремального и защитного программирования. Буду кодить потихоньку.

PS нах все это надо?

что бы закодить спелл аатрокса Q как

//еффекты

addEffect(new Effect(Type.DamegeAD, null, 100.0//сам демаг));

addEffect(new Effect(Type.KnockUp, new Timer(1000//в милисекундах), 0.0//сила ноль));

addEffect(new Effect(Type.Dash, null, 0.0//сила ноль)); // тут нужно продумать архетиктуру, над этим я и работаю

//таргетинг

setTargeting(new AOE(Точка центр, Радиус))

и все весь Q Аатрокса. Все остальное примут на себя Еффекты, если попал будут первые 2, а 3й произодет полюбому.



07 июл 2014, 20:35
Профиль
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru