Движок la2 - Страница 7 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 21.01.2017, 14:13   #61
Пользователь

По умолчанию Re: Движок la2

Цитата:
Сообщение от Alay Посмотреть сообщение
Статья на хабре Архитектура skyforge


где тут down casting как вы выразились если можно сделать так

Код:
public enum ObjectType
{
Avatar,
Kto-to,
Kto-to2
}

if(abonent.objectType != ObjectType.Avatar) // Чтобыстрее сравнить 1-2 байта либо же сигнатуры. ????
{
Cast.logError(****);
return;
}
instanceof говорит лишь о том что архитекторы кода где то смухлевали.

Такой же способ к сожалению используется и во всех сборках l2 эмулей.
Вообще такое впечатление что разрабы пишут instanceof в любой непонятной ситуации когда особо не хочется задумываться. А зря.
А что если такая конструкция будет в коде который очень часто используется ? получаем колосальные задержки которых можно было б избежать чутка подумав. Но нет. Нам лень. Нам нужен продакшен и как можно быстрее.

Да и вообще мне кажется что ответ заданный в этой теме Вам был дан и она начинает скатываться в дебри. Кому лень читать.
Вопрос:
1)Почему java, а не С# или C++?
2)Какие преимущества будут у java над C# или С++, ну или наоборот?
Ответ:
1) Потому что на момент создания первого эмуля всех интересовал линукс. C# не был развит тогда как сейчас. Почему же не С++ - эмуль создавался в торопях и в основном энтузиастами. Они же хотели как можно быстрее увидеть хоть какой то результат. На тот момент java была лучшим решением для поставленных целей.
2) На данный же момент C# более перспективный язык. MS не любили потому-то мало кто знал что у них под капотом. Сейчас же наконец-то мелкософт понял что будущее за OpenSource и работают теперь в данном направлении. А это выталкивает C# вперед. ИМХО. Могу и ошибаться. Сам раньше любил кодить на Java. Пока не попробывал C#. С его WPF и прочими вкусностями. Переходить обратно не собираюсь и нет необходимости.
По поводу цены на win. С выходом Win 10.1 и 2016 сервером. Это того стоит. Темболее раз уж вы пираты - то кто вам помешает скачать KMSAuto Net и ставить серв на win10? или же вам прям так необходим Activedirectory?
Так почему же нет на шарпе работающих эмуляторов. - Потому что придется писать практический все с нуля, что писали 10 лет подряд. Все таки L2 хоть и бессмертная но через 10 лет врятли будет актуально.

Еще одна неоднозначность в Java - HotSpot - оптимизатор паттернов. Если вы пишите четко как робот по популярным паттернам, все ОК. Но как только вы начинаете придумывать свои варианты которые возможно работали б лучше, HotSpot вам все запоганит. Плюс это или минус. Каждый пускай решает сам.
Вот down casting

Код:
final Avatar avatar = (Avatar)abonent;
Ваш вариант быстрее, но он архитектурно кривой. А если у вас enum из 30 типов? И в вашем варианте тоже будет down casting, как только понадобится доступ к полям/методам класса Avatar, просто вы это в коде у себя опустили.
f1redark вне форума Ответить с цитированием
Непрочитано 21.01.2017, 14:19   #62
Пользователь

По умолчанию Re: Движок la2

Хотя вы правы и паттерн Visitor тут более чем уместен. Один хрен его ни в скайфордже ни в l2 не применяют.
Считаю что ответ был дан и тему можно закрыть.
Alay вне форума Ответить с цитированием
Непрочитано 21.01.2017, 16:16   #63
Пользователь

Автор темы (Топик Стартер) Re: Движок la2

Спасибо за ответы. Для себя все решил - С# в тренде сейчас.
REchargeD вне форума Ответить с цитированием
Непрочитано 21.01.2017, 16:19   #64
Пользователь

По умолчанию Re: Движок la2

А вы что собрались писать сервер с нуля?
flopix вне форума Ответить с цитированием
Непрочитано 21.01.2017, 16:58   #65
Аватар для DiagoD

По умолчанию Re: Движок la2

Интересно, почему из тех так бурно обсуждает и делает выводы, не подумал о такой банальщине, как то что те кто начал пилить первый эмуль, не знал ничего кроме явы или на оборот, хотел ее изучить и только по этой причине ее выбрал(как например отписавшийся здесь человек, для своих испытаний выбрал скалу). Я уверен на 100%, что никто не выбирал ее из-за кроссплатформенности или того, что она проще или быстрей разработка, если брать скорость разработки в те года, то наверно можно было смело писать на АСМ(это конечно сарказм, но все же) и скорость бы меньше не была, медленней просто быть не может.

Еще там кто-то носом тыкал, что вот корейцы же выбрали С/С++, а не яву для своей сборки, то этому есть куча объяснений, начиная с того что ява тогда не была такой популярной и заканчивая тем, что у них уже был штаб С/С++ программистов и не было необходимости выбирать язык.
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Непрочитано 21.01.2017, 17:05   #66
Пользователь

По умолчанию Re: Движок la2

Цитата:
Сообщение от flopix Посмотреть сообщение
А вы что собрались писать сервер с нуля?
данный эмуль уже пишится. Но не по ла2 а на основе ее клиента
Alay вне форума Ответить с цитированием
Непрочитано 21.01.2017, 21:49   #67
Пользователь

По умолчанию Re: Движок la2

И как успехи?
В среднем емуле L2 на java наверно не один миллион строк кода.
Это тысячи часов человекочасов не считая отладки и продумывания архитектуры приложения.
flopix вне форума Ответить с цитированием
Непрочитано 21.01.2017, 23:22   #68
Аватар для DiagoD

По умолчанию Re: Движок la2

Цитата:
Сообщение от flopix Посмотреть сообщение
И как успехи?
В среднем емуле L2 на java наверно не один миллион строк кода.
Это тысячи часов человекочасов не считая отладки и продумывания архитектуры приложения.
На самом деле, нужно не так уж и много времени(относительно). Основная проблема была в отсутствии нормальных источников информации, сейчас же их полно(смотря конечно о каких хронах вести речь), по этому нужно потратить в сотни раз меньше времени, к тому же всеравно нужно будет опираться на существующие решения, по той же структуре пакетов.

Просто вопрос в другом, есть ли в этом смысл? Думаю что нет.
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Непрочитано 21.01.2017, 23:38   #69
Аватар для DXVSI
Пользователь

По умолчанию Re: Движок la2

Зачем брать серую массу

Java and C# это игла с которой тяжело слезть

для написания эмуля с 0 лучше уже взять тот же go (Golang)
DXVSI вне форума Отправить сообщение для DXVSI с помощью Skype™ Ответить с цитированием
Непрочитано 22.01.2017, 11:11   #70
Аватар для epmak
aka Lexa

По умолчанию Re: Движок la2

угу.. та же игла. только другого цвета.
нашли о чем спорить...
__________________
Блог
epmak вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движок Для Птс rqrwre Движки сайтов (CMS) 6 05.01.2014 21:36
Движок для pts Deamond Движки сайтов (CMS) 6 04.10.2013 13:03
Движок тех. поддержки Rovskoi Курилка / Yak floor 6 06.12.2012 17:42
1$ Что за движок 12king Движки сайтов (CMS) 11 10.01.2012 01:39


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 08:42. Часовой пояс GMT +3.

Вверх