11-16-2012, 10:34 AM
linliss, вы имеете в ввиду байт код, или исходный код в java формате?
Новый эмулятор Lineage II
|
11-16-2012, 10:34 AM
linliss, вы имеете в ввиду байт код, или исходный код в java формате?
11-16-2012, 11:41 AM
Camelion Написал:linliss, вы имеете в ввиду байт код, или исходный код в java формате?ну в зависимости от того что вы парсите - декомпил или компил...
11-16-2012, 12:12 PM
Не декомпил, насколько понимаю, и не скомпилированные файлы. На самом деле что "компилировать", ai.obj или ai.nasc - вопрос вторичный. У меня была идея сделать компилятор ai-freya.nasc в ai.obj, но размер получаемого в этом случае файла просто ужасен, и по сути он представляет собой инструкции для птс сервера, эмулировать которые в своем java сервере нет желания. Гораздо удобнее было бы загружать классы "на лету", либо делать их промежуточное представление в C++, и оттуда дергать явой через native. Что будет лучше(практичнее) - я не знаю, поэтому задал вопрос.
11-16-2012, 12:24 PM
Camelion Написал:У меня была идея сделать компилятор ai-freya.nasc в ai.obj, но размер получаемого в этом случае файла просто ужасен, и по сути он представляет собой инструкции для птс сервера, эмулировать которые в своем java сервере нет желания.насколько большой? скомпиленое аи фреи весит 428мб... даже если ваш вариант будет весить пару гигов, по мне так это фигня, профит все равно будет, даже если сервер от этого буден на 5 минут дольше загружатся...
11-16-2012, 12:26 PM
Вот, компилируя ai.nasc в ai.obj я получу эти 428 мегабайт, чтоб затем их снова прочитать, и снова столкнуться с проблемой, как обрабатывать полученные классы, байт код или native.
11-16-2012, 01:47 PM
Цитата:не практичными (конвертация в java классы)как раз таки это самый практичный способ... Толи код будет работать уже на прямую как ява приложение, толе он будет превращаться в какой-то изжоп с которым будет работать ваша ява программа... Ваша "обработка" в течении 2-3 секунд это тупой прогон всего в ОЗУ, когда вы заставите код работать то эти 2-3с превратятся в минуты... Цитата:Не декомпил, насколько понимаю, и не скомпилированные файлы.Как раз таки вы парсите декомпил) Цитата: У меня была идея сделать компилятор ai-freya.nasc в ai.obj, но размер получаемого в этом случае файла просто ужасен,А вы попробуйте кодировку ставить человеческую...АИ.obj весит всего 219мб... В вашем случае вы хотите сделать тоже самое, что когда-то какой-то умник прикурил питон к яве, это же кем нужно быть, питон к яве прикручивать... Я к примеру не мучал себе яйца и сразу в Java перегнал ai.obj. Весь компилированый код у меня весит не много. Сервер грузится мгновенно можно сказать...
open-team.ru - Freya, HighFive...
11-16-2012, 02:24 PM
DiagoD, идеология вашего и моего сервера отличаются. Ваши перегнанные java классы не позволят писать
if(i0 == @my_skill_name), как минимум if (i0.equals("@my_skill_name")), либо, самое оптимальное - замена на константу, к пример if(i0 == 655350001). Но это то, как для себя константу видит сервер. Какой же разработчик аи поймет, что 655350001 эквивалентно @my_skill_name?
11-16-2012, 02:57 PM
Camelion Написал:DiagoD, идеология вашего и моего сервера отличаются. Ваши перегнанные java классы не позволят писать Начнем с того, что я делаю не для кого-то, а для себя и мне не важно, что там и как, кому удобно, главное, что бы было мне это удобно... Но если на то уж пошло, то можно написать плагин для своей IDE, который будет понимать if(i0 == @my_skill_name), но оно того не стоит просто... Та и к тому же, i0 - это ИНТЕЖЕР и equals в нем нету) Меня к примеру вполне устраивает вид 65536*id+lvl, к тому же какая разница как оно там будет, если всеравно ты ничего с ним делать не будешь, я к примеру для того и прикуриваю ПТС скрипты, что бы все работало как должно, а не как мне вздумается. Цитата:Время на полную "компиляцию" (загруженные классы готовы к использованию)я вам еще раз повторяю, это всеголиш время загрузки в ОЗУ, не более... Почему не более? Потому, что кроме всего этого, код(спаун мейкеры) при загрузке выполняет свои действия + при загрузке в этом вашем коде, нужно задавать значения переменным + еще куча-куча разных вещей, которые вашу загрузку буду замедлять. У меня сервер апается примерно за минуту, но при этом он грузит ПТС датку, обрабатывает ее, спаунит(ПТС АИ мейкеров это делают) мобов. Поверьте, вам будет глубоко какой вид имеет код, если он плохо(в нашем случае медленно + грузово) работает, к тому же мне приятней глазу видеть java, чем nasc...
open-team.ru - Freya, HighFive...
11-16-2012, 03:23 PM
Кто-то любит Аллу Анналовну хД
Нет бы написать действительно АИ,чтобы монстры реагировали как-то там, в драке допустим хилера пи..дить пошли вместо тупого агра,думали. При загрузке AI PTS формирует конечный автомат с каждого класса и получается не АИ, а схема поведения на реакции внешнего мира. Вам придется в любом случае писать препроцессор. @my_skill_name такие заменяются на константы на стадии подготовки
11-16-2012, 03:30 PM
Gattsu Написал:Кто-то любит Аллу Анналовну хД Ну так АИ по сути это и есть автомат реагирования на внешние раздражители А так то если делать мобов чересчур умными, то поверьте игрокам это не понравится и будут плеваться, что у вас оно сильно криво работает, не по оффу) В нашем трагичном случае, нужно делать все как по гуфу(оффу), что бы эти недотепы меньше ныли.
open-team.ru - Freya, HighFive...
|
« Предыдущая | Следующая »
|