Сообщений: 555
Тем: 2
Зарегистрирован: Feb 2011
Репутация:
1,507
Ashe Написал:А потом раз и проснулся? Да? :redlol:
Про логику согласен, но вот про "пакет не должен ничего создавать" можно поподробнее, а лучше в примерах, если можно.
Лучше бы не просыпался:redlol:
класс UserInfoDetails, в нем содержится вся информация необходимая для клиента, все переменные. этот класс создается в конструкторе игрока.
при получении героя или начала рыбалки, обновляются данные в UserInfoDetails, и после чего я делаю sendPacket(new UserInfo(player.uiDetails), а внутри UserInfo
[src=java]protected void writeImpl()
{
PacketWriter.onUserInfo(this, this.uiDetails);
}[/src]
последовательность байтов находится в одном месте, в случае изменения к примеру предметов - изменяется в 1 месте, применяется во всех.
уменьшение размера пакета и хранение последовательности байтов в 1 месте. плюс ко всему используя эти переменные мы избавляем сервер от постоянного расчета тех же самых данных для каждого пакета (которые не поменялись)
также я не вижу смысла создавать клиентзапросы, только для того, чтобы прочитать некоторый контент. есть статическая логика, в нее уходит класс с "игроком и байтиками"
Сообщений: 4,692
Тем: 85
Зарегистрирован: Mar 2009
Репутация:
23,364
KID Написал:Лучше бы не просыпался:redlol:
класс UserInfoDetails, в нем содержится вся информация необходимая для клиента, все переменные. этот класс создается в конструкторе игрока.
при получении героя или начала рыбалки, обновляются данные в UserInfoDetails, и после чего я делаю sendPacket(new UserInfo(player.uiDetails), а внутри UserInfo
[src=java]protected void writeImpl()
{
PacketWriter.onUserInfo(this, this.uiDetails);
}[/src]
последовательность байтов находится в одном месте, в случае изменения к примеру предметов - изменяется в 1 месте, применяется во всех.
уменьшение размера пакета и хранение последовательности байтов в 1 месте. плюс ко всему используя эти переменные мы избавляем сервер от постоянного расчета тех же самых данных для каждого пакета (которые не поменялись)
также я не вижу смысла создавать клиентзапросы, только для того, чтобы прочитать некоторый контент. есть статическая логика, в нее уходит класс с "игроком и байтиками"
Спасибо. Это всё конечно очень круто, но такие крупномасштабные "совокупления" с кодом, которые предстоят для того чтобы это полноценно реализовать на имеющейся архитектуре, будут совершенно неоправданны как в деньгах, так и в профите.
Fortuna - non penis, in manus non recipe.
Сообщений: 555
Тем: 2
Зарегистрирован: Feb 2011
Репутация:
1,507
я вас умоляю, было бы желание..
но только в том случае, если желание кодить - а не получать финансовую выгоду стоит первоочередным желанием
Сообщений: 1,660
Тем: 9
Зарегистрирован: Feb 2009
Репутация:
10,142
Ashe Написал:Спасибо. Это всё конечно очень круто, но такие крупномасштабные "совокупления" с кодом, которые предстоят для того чтобы это полноценно реализовать на имеющейся архитектуре, будут совершенно неоправданны как в деньгах, так и в профите.
Смотря с какой стороны подойти к этому вопросу...
В принципе для "сруба бабла" вообще не актуально напрягаться лишний раз, можно и на какашках делать раствор для кладки)
Но вот для морального профита, повышения ЧСВ и т.д., оно более чем того стоит)))
Правда вопрос в другом, нужно-ли начинать такую реконструкцию именно с этих вещей? - я бы сказал нет, есть куда более важные детали, которые нуждаются в кардинальных изменениях.
На первое место, все же стоит вынести игровую механику)
KID Написал:я вас умоляю, было бы желание..
но только в том случае, если желание кодить - а не получать финансовую выгоду стоит первоочередным желанием
А еще лучше, что бы эти два желания, были равносильными
open-team.ru - Freya, HighFive...
Сообщений: 4,692
Тем: 85
Зарегистрирован: Mar 2009
Репутация:
23,364
DiagoD Написал:Смотря с какой стороны подойти к этому вопросу...
В принципе для "сруба бабла" вообще не актуально напрягаться лишний раз, можно и на какашках делать раствор для кладки)
Но вот для морального профита, повышения ЧСВ и т.д., оно более чем того стоит)))
Именно. Только ради прокачки своего "программинг-скила" этим и следует заниматься, что я всячески приветствую, если интересна моя точка зрения.
DiagoD Написал:Правда вопрос в другом, нужно-ли начинать такую реконструкцию именно с этих вещей? - я бы сказал нет, есть куда более важные детали, которые нуждаются в кардинальных изменениях.
На первое место, все же стоит вынести игровую механику)
На первое место стоит вынести проектирование грамотной архитектуры эмулятора, а не этот - drunk code, хотя в последнее время в l2j почитали умных книжек и показывают неплохой код. При грамотно спроектированной архитектуре многие проблемы решаться сами собой.
Fortuna - non penis, in manus non recipe.
Сообщений: 555
Тем: 2
Зарегистрирован: Feb 2011
Репутация:
1,507
DiagoD, писать нужно все по новой, этот антикварный код уже исчерпал свой временной моральный лимит, но начать и закончить так сразу нереально сложно, по себе знаю, нужна неимоверная мотивация.
у программиста должно быть первоочередным желанием кодить, улучшать и постигать новые горизонты, финансовая составляющая идет позади, ровно на таком уровне, что бы программисту хватало на его нужды и причуды. если все-равно есть ощущение недостатка - стоит улучшить свои знания, и попробовать найти более ответственную работу - если не нашли, значит до*я хотелку раскачал с вашим багажником знаний. уж кто-кто, а разнообразий вакансий в программировании валом
но я скажу так, не надо думать с чего начать будет лучше, механика, пакета или что-то еще, нужно взять и начать делать, время думать придет во время кодинга
Ashe, Цитата:Именно. Только ради прокачки своего "программинг-скила" этим и следует заниматься, что я всячески приветствую, если интересна моя точка зрения.
мысли о том, что это код - писофщит, как раз появляются после приобретения навыков, это не средство получения навыков, а результат
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
честно говоря в упор не вижу никакого выигрыша, если я буду все эти переменные изначально объявлять где-то в классе игрока, или в специальном классе для этих переменных, и когда придет время - просто их заполнять нужными значениями. точнее выигрыш то в скорости может и будет, но в пределах погрешности.
да и к тому же - добавлять множество новых переменных в этот самый класс, используемых от силы каждая в 1-2 пакетах - это по мне так еще большая куча дерьма в итоге будет. к тому же как я выше и писал - профита в скорости тут скорее всего почти не будет никакого по сравнению с тем сколько усилий придется потратить на переделку всего этого.
нет, я конечно ничего не говорю насчет того что мой вариант единственно правилен - вы можете тоже извращаться как хотите с кодом, я же предпочту писать так как сейчас - ибо реального выигрыша, в сравнении с тем сколько на это придется потратить и так не хватающего на все времени, в написании по другому не вижу.
P.S. а насчет трат памяти - покажите мне идиота, который будет к примеру для одномоментной рассылки какой-то одинаковой инфы множеству игроков делать для каждого получателя sendPacket(new Packet(...)), а не создат предварительно этот пакет в одном единственном экземпляре и будет всем рассылать уже готовый?
Сообщений: 1,660
Тем: 9
Зарегистрирован: Feb 2009
Репутация:
10,142
Ashe Написал:Именно. Только ради прокачки своего "программинг-скила" этим и следует заниматься, что я всячески приветствую, если интересна моя точка зрения.
На первое место стоит вынести проектирование грамотной архитектуры эмулятора, а не этот - drunk code, хотя в последнее время в l2j почитали умных книжек и показывают неплохой код. При грамотно спроектированной архитектуре многие проблемы решаться сами собой.
KID Написал:DiagoD, писать нужно все по новой, этот антикварный код уже исчерпал свой временной моральный лимит, но начать и закончить так сразу нереально сложно, по себе знаю, нужна неимоверная мотивация.
у программиста должно быть первоочередным желанием кодить, улучшать и постигать новые горизонты, финансовая составляющая идет позади, ровно на таком уровне, что бы программисту хватало на его нужды и причуды. если все-равно есть ощущение недостатка - стоит улучшить свои знания, и попробовать найти более ответственную работу - если не нашли, значит до*я хотелку раскачал с вашим багажником знаний. уж кто-кто, а разнообразий вакансий в программировании валом
но я скажу так, не надо думать с чего начать будет лучше, механика, пакета или что-то еще, нужно взять и начать делать, время думать придет во время кодинга
Ashe,
мысли о том, что это код - писофщит, как раз появляются после приобретения навыков, это не средство получения навыков, а результат
Наверно нужно было мне добавить, что я это вижу с такой стороны ибо на моей сборке стоят живые проекты, которые просто не могут ждать пока я все с нуля запилю)
А так, то выше сказанное вами я поддерживаю в полной мере, просто не могу себе позволить такое на практике)
За исключением сказаного про лыжу 
Там как был дримучий лес, так и остался и я уверен, что и останется)
open-team.ru - Freya, HighFive...
Сообщений: 4,692
Тем: 85
Зарегистрирован: Mar 2009
Репутация:
23,364
KID Написал:нужно взять и начать делать, время думать придет во время кодинга
Золотые слова. :plus1:
KID Написал:Ashe,
мысли о том, что это код - писофщит, как раз появляются после приобретения навыков, это не средство получения навыков, а результат
Ну дэк, а я что спорю
DiagoD Написал:За исключением сказаного про лыжу
Там как был дримучий лес, так и остался и я уверен, что и останется)
Просветы есть, небольшие, но есть, а так да на общем фоне они меркнут.
P.S. Ты там BIOS глянул? Что не отписывашься?
Fortuna - non penis, in manus non recipe.
Сообщений: 1,660
Тем: 9
Зарегистрирован: Feb 2009
Репутация:
10,142
Ashe Написал:P.S. Ты там BIOS глянул? Что не отписывашься?
Не было времени и еще ко всему этому забыл)
Чуть позже отпишусь)
Цитата:но я скажу так, не надо думать с чего начать будет лучше, механика, пакета или что-то еще, нужно взять и начать делать, время думать придет во время кодинга
Этим и занимаюсь, просто расставляю приоритеты так, что бы клиенты получали полезный профит от моей роботы)))
open-team.ru - Freya, HighFive...
|