Дальнейшее развитие проекта будет описываться на данном форуме.
И так поехали.
Дальше последует несколько вопросов, я в принципе и сам их могу решить но хочется узнать что другие об этом думают.
Собственно думаю пока хватит рассказывать, это еще далеко не все что я надумал, но хотелось бы узнать ваше мнение что вы обо всем этом думаете )) Почувствовали ли вы в этом соль или идея только лишь мне одному кажется перспективной...
PS за ранее прошу прощение за местами не грамотно составленные реч обороты и тп. Честно говоря устал строчить)
И да я в данной теме не ищу ни спонсоров ни сотрудников.
И так поехали.
Немного лирики, можно не читать.
Еще в далеком 2009 появилось желание создать свой сервер (тогда это было модно). Но будучи еще очень юным (я 94го года рождения) разумеется практики и знаний в этой области было 0. Зато было мощное желание быть админом:Olen':. я тогда еще учился в 9 классе, но случилось так что через 2 недели меня сбила машина, и так вышло что я слег на год. Сначала 3 месяца больничка потом 8 месяцев восстанавливался дома, с аппаратом иллизарова в бедре. Не суть. У меня появилась просто куча свободного времени и я смог посвятить себя своей мечте). Забегая вперед, хочу сказать что если бы не пиратские сборки l2 я бы наверное никогда бы и не заинтересовался программированием, но обо всем по порядку. Первое время все давалось с огромным трудом, ибо материала было много и ничего не понятно... я мускул смог заставить функционировать и подключить к нему сборку только наверное день на третий. В компах был полный ноль. Потом конечно все пошло немного быстрее и со временем начало появляться осмысление, того что я делаю)
Во многом конечно мне помог данный форум, если интересно можно посмотреть во время моего активного "развития" я создал тут не мало тем. Сейчас большинство из моих тем у меня вызывают только легкую ухмылку. Но все же хочу выразить благодарность тем людям которые откликались и помогали. Было конечно и много агра, но как без этого.
Итак, спустя некоторое время шаманства с разными сборками я столкнулся с желанием сделать "лучшую сборку" (смешно не правда ли?)) и начал собственно этим заниматься (небольшая ремарка - я тогда даже не знал что такое ЯП и слово исходники у меня вызывало чувство чего то непонятного и с чем я врятли столкнусь... про компиляцию я вообще молчу) но как вы понимаете на одном датапаке и конфигах далеко не уедешь. И опять же благодаря этому форму я узнал что такое java - и собственно начал активно ее изучать. Вообще я считаю очень хорошим способом изучение языка на фоне игры.... то есть все что ты пишешь ты можешь буквально пощупать в клиенте... это была магия.
Шло время, я изучал яву делал какие то свои фишки в игре (начал с квестов, они тогда еще на питоне были). И вот спустя месяца 3-4 у я уже заметил (боже как же я тогда ошибался xDD) что вроде все збс, я во всем разобрался, можно делать проект и радоваться жизни! Попросил отца положить мне 10к на счет и решил открывать сервер. Короче не суть в итоге я естественно про*бал эту сумму не получив ничего. Потом после еще нескольких про*бов я решил притормозить и не прыгать выше головы а уже постараться серьезно подойти к делу и детально изучить как сборку так и язык.
Вообщем шло время я читал Герберта Шилдта, вникся его идеей именно грамотного подхода к программированию а так же понравилось правило KISS (keep it simple stupid). Но после прочтения его книги и то что я видел в ядре l2j у меня был честно разрыв шаблона... язык то я вроде уже знал, но вот некоторые конструкции в коде понять немог ну не как ... да и вообще начало появляться внутреннее отвращение к написанному таким способом ядру. Все было для меня настолько запутано что пипец... к примеру взять стандартный сервер на селекторе и неблокирующих сокетах... тогда у меня возникло 3е серьезное желание. Угадайте какое =) ну убив еще пару недель так и не добравшись до лобби) просто не понимал как работает шифрование (да и щас особо не понимаю, но мне оно не нужно) и как его прикрутить... короче так прошел мой год, я уже ходил, гулял и вернулся в школу и потихоньку отошел от дел, девушки друзья лагеря учеба - вообщем не до игр... там может изредка писал какие -то программы, в частности кейлоггеры )) но в основном за компом не сидел. И вот я закончил уже колледж, был свой бизнес по ремонту айфонов, щас уже как месяцев 5 нигде не работаю. И тут меня осенило, у меня опять появилась куча времени!!! Работать мне пока что не нужно, деньги на существование имеются, жилье тоже... разве не самое время чтобы творить??)
Да я думаю самое время, но полазив по сети, по форумам понял что я уже немного опоздал, ncsoft испоганила игру, фри сервера открываются уже в наглую ради сруба денег и бл*ть в наглую пишут что мол мы гарантируем что сервер проработает 2 месяца тоже... БОЖЕ до чего все скатилось... а так же ПИЗ*ЕЖ, КРУГОМ СПЛОШНОЙ ПИЗ*ЕЖ. Начиная от онлайна (но бог с ним) и заканчивая фри серверами типа от бывших работников инновы :redlol::redlol: (Не реклама).
Просто для администраторов стало нормой извините за выражение "еб*ать игроков" во все щели, да и к тому же жить за их счет. Не сочтите за грубость но если ты "админ", который "них*я" не делает а только берет все готовое и потом поднимает с этого денег. Ты не админ а просто конченный мудаз*он, и благодаря таким как ты больше половины игроков забила на линейку, и правильно сделала. Сейчас это называется коммерцией. Короче пар выустил, можете минусовать.
И так мы уже приближаемся к основной теме.
Я РЕШИЛ СДЕЛАТЬ СЕРВЕР С НУЛЯ. Но честно говоря копипастить все с оффа я не вижу никакого смысла - на данный момент уже имеются серьезные проекты на сборках с хорошей реализацией. И немного поразмыслив, понял что нужно что то принципиально новое, короче хочется новой игры, но на старом клиенте) (опустим ситуацию с авторским правом). Ибо делать свой клиент одному ну это совсем небыстро xDD. А клиент линейки для масс пвп я считаю подходит все таки больше нежели айон или там скажем архейдж (в котором уже запилили шифрацию), вообщем решил сделать свою игру основанную на клиенте l2, но сам геймплей будет вкорне отличаться от оригинальной l2. Основной упор хочется сделать все таки не на пвп а на экономическую составляющую и на крафт. Но об этом потом.
Во многом конечно мне помог данный форум, если интересно можно посмотреть во время моего активного "развития" я создал тут не мало тем. Сейчас большинство из моих тем у меня вызывают только легкую ухмылку. Но все же хочу выразить благодарность тем людям которые откликались и помогали. Было конечно и много агра, но как без этого.
Итак, спустя некоторое время шаманства с разными сборками я столкнулся с желанием сделать "лучшую сборку" (смешно не правда ли?)) и начал собственно этим заниматься (небольшая ремарка - я тогда даже не знал что такое ЯП и слово исходники у меня вызывало чувство чего то непонятного и с чем я врятли столкнусь... про компиляцию я вообще молчу) но как вы понимаете на одном датапаке и конфигах далеко не уедешь. И опять же благодаря этому форму я узнал что такое java - и собственно начал активно ее изучать. Вообще я считаю очень хорошим способом изучение языка на фоне игры.... то есть все что ты пишешь ты можешь буквально пощупать в клиенте... это была магия.
Шло время, я изучал яву делал какие то свои фишки в игре (начал с квестов, они тогда еще на питоне были). И вот спустя месяца 3-4 у я уже заметил (боже как же я тогда ошибался xDD) что вроде все збс, я во всем разобрался, можно делать проект и радоваться жизни! Попросил отца положить мне 10к на счет и решил открывать сервер. Короче не суть в итоге я естественно про*бал эту сумму не получив ничего. Потом после еще нескольких про*бов я решил притормозить и не прыгать выше головы а уже постараться серьезно подойти к делу и детально изучить как сборку так и язык.
Вообщем шло время я читал Герберта Шилдта, вникся его идеей именно грамотного подхода к программированию а так же понравилось правило KISS (keep it simple stupid). Но после прочтения его книги и то что я видел в ядре l2j у меня был честно разрыв шаблона... язык то я вроде уже знал, но вот некоторые конструкции в коде понять немог ну не как ... да и вообще начало появляться внутреннее отвращение к написанному таким способом ядру. Все было для меня настолько запутано что пипец... к примеру взять стандартный сервер на селекторе и неблокирующих сокетах... тогда у меня возникло 3е серьезное желание. Угадайте какое =) ну убив еще пару недель так и не добравшись до лобби) просто не понимал как работает шифрование (да и щас особо не понимаю, но мне оно не нужно) и как его прикрутить... короче так прошел мой год, я уже ходил, гулял и вернулся в школу и потихоньку отошел от дел, девушки друзья лагеря учеба - вообщем не до игр... там может изредка писал какие -то программы, в частности кейлоггеры )) но в основном за компом не сидел. И вот я закончил уже колледж, был свой бизнес по ремонту айфонов, щас уже как месяцев 5 нигде не работаю. И тут меня осенило, у меня опять появилась куча времени!!! Работать мне пока что не нужно, деньги на существование имеются, жилье тоже... разве не самое время чтобы творить??)
Да я думаю самое время, но полазив по сети, по форумам понял что я уже немного опоздал, ncsoft испоганила игру, фри сервера открываются уже в наглую ради сруба денег и бл*ть в наглую пишут что мол мы гарантируем что сервер проработает 2 месяца тоже... БОЖЕ до чего все скатилось... а так же ПИЗ*ЕЖ, КРУГОМ СПЛОШНОЙ ПИЗ*ЕЖ. Начиная от онлайна (но бог с ним) и заканчивая фри серверами типа от бывших работников инновы :redlol::redlol: (Не реклама).
Просто для администраторов стало нормой извините за выражение "еб*ать игроков" во все щели, да и к тому же жить за их счет. Не сочтите за грубость но если ты "админ", который "них*я" не делает а только берет все готовое и потом поднимает с этого денег. Ты не админ а просто конченный мудаз*он, и благодаря таким как ты больше половины игроков забила на линейку, и правильно сделала. Сейчас это называется коммерцией. Короче пар выустил, можете минусовать.
И так мы уже приближаемся к основной теме.
Я РЕШИЛ СДЕЛАТЬ СЕРВЕР С НУЛЯ. Но честно говоря копипастить все с оффа я не вижу никакого смысла - на данный момент уже имеются серьезные проекты на сборках с хорошей реализацией. И немного поразмыслив, понял что нужно что то принципиально новое, короче хочется новой игры, но на старом клиенте) (опустим ситуацию с авторским правом). Ибо делать свой клиент одному ну это совсем небыстро xDD. А клиент линейки для масс пвп я считаю подходит все таки больше нежели айон или там скажем архейдж (в котором уже запилили шифрацию), вообщем решил сделать свою игру основанную на клиенте l2, но сам геймплей будет вкорне отличаться от оригинальной l2. Основной упор хочется сделать все таки не на пвп а на экономическую составляющую и на крафт. Но об этом потом.
Сериализация вместо Mysql
Раз уж я пишу сервер с нуля, не лучше ли будет изменить основные кирпичики, на которых стоят все сервера линейки?
Как считаете, ведь по идеи (и по тестам) сохранение\восстановление состояний объектов в бинарный файл в десятки раз быстрее нежели коннект к мускулу и SELECT нужных параметров для дальнейшего восстановления объекта. Так может все таки использовать сериализацию? Да могут возникнуть проблеммы с переносимостью на более новые версии, да сложность с статистикой на сайте.... Короче что вы думаете по этому поводу.
Как считаете, ведь по идеи (и по тестам) сохранение\восстановление состояний объектов в бинарный файл в десятки раз быстрее нежели коннект к мускулу и SELECT нужных параметров для дальнейшего восстановления объекта. Так может все таки использовать сериализацию? Да могут возникнуть проблеммы с переносимостью на более новые версии, да сложность с статистикой на сайте.... Короче что вы думаете по этому поводу.
Модель передвижения и PathFinding с Геодатой
Думая над тем как будет обрабатываться передвижение пришел к следующей мысли.
обрабатывать передвижение объекта по следующему принципу.
Модель такова: Персонаж начинает передвижение от точки А до точки Б. Первым делом мы узнаем дистанцию. Потом зная скорость, узнаем время за которое объект достигнет цели если не встретит никаких препятствий и тд. Потом эту дистанцию делим на кусочки, с учетом, скорости персонажа, чтобы один кусочек был равен расстоянию пройденному за 200 мс (чисто на абум - может такая точность и не нужно но пока пускай будет так) для того чтобы сервер каждые 200 мс знал где находится персонаж. Но тут я столкнулся с трудностью. А что если объектов будет 10к 100к эта задача становиться не выполнимой ибо для каждого объекта во время движения будет использоваться отдельный поток...
Мое решение проблемы: Сделать несколько потоков, каждый поток будет обрабатывать таким способом по 500 объектов, в принципе вычисления занимают ну мизер времени на 1 итерацию около 200000 наносекунд что в принципе на мой взгляд приемлемо. Но все таки мне кажется что это бредовая идея... Хотелось бы узнать ваше мнение.
Теперь про гео, тут скорее всего мне понадобится человек, который перенесет за $ разумеется модуль чтения геодаты, а именно реализацию методов типа canSeeTarget, canMove и тп. Ибо я к сожалению не разбираюсь в побитовых операциях и честно говоря мало себе представляю структуру файлов геодаты, да знаю там что то типо стрело на север можно идти на юг нет и тд, но как это программно обрабатывать пока что не дошло до меня, но мне это просто особо и не интересно.
обрабатывать передвижение объекта по следующему принципу.
Модель такова: Персонаж начинает передвижение от точки А до точки Б. Первым делом мы узнаем дистанцию. Потом зная скорость, узнаем время за которое объект достигнет цели если не встретит никаких препятствий и тд. Потом эту дистанцию делим на кусочки, с учетом, скорости персонажа, чтобы один кусочек был равен расстоянию пройденному за 200 мс (чисто на абум - может такая точность и не нужно но пока пускай будет так) для того чтобы сервер каждые 200 мс знал где находится персонаж. Но тут я столкнулся с трудностью. А что если объектов будет 10к 100к эта задача становиться не выполнимой ибо для каждого объекта во время движения будет использоваться отдельный поток...
Мое решение проблемы: Сделать несколько потоков, каждый поток будет обрабатывать таким способом по 500 объектов, в принципе вычисления занимают ну мизер времени на 1 итерацию около 200000 наносекунд что в принципе на мой взгляд приемлемо. Но все таки мне кажется что это бредовая идея... Хотелось бы узнать ваше мнение.
Код:
void moveTo(LocFrom, LocTo)//Метод выполняется раз в 200 мс
{
высчитываем координату в данный момент времени ~ 200000 наносекунд
}
Теперь про гео, тут скорее всего мне понадобится человек, который перенесет за $ разумеется модуль чтения геодаты, а именно реализацию методов типа canSeeTarget, canMove и тп. Ибо я к сожалению не разбираюсь в побитовых операциях и честно говоря мало себе представляю структуру файлов геодаты, да знаю там что то типо стрело на север можно идти на юг нет и тд, но как это программно обрабатывать пока что не дошло до меня, но мне это просто особо и не интересно.
Про экономику
Тут все еще на стадии зародыша, но основная идея такая. Валюта - адена или что там я еще придумаю на сервере будет конечна. Будет определенный ее объем, изначально она будет хранится только у нпц а игроки выполняя их поручения(не квесты побегай туда побегай сюда - этой мутаты не будет), о которых я расскажу позже, будут получать аденку, Но размер награды будет меняться в зависимости от того, сколько общей адены во владении у НПсях
Взаимодействие игроков
Задумка что любой шмот будет создаваться только игроками, никаких безлимитных магазов и прочего, крафт будет достаточно хардкорным.
Но рынок будет работать как с непесями так и у обычных игроков, допустим что у торговца оружием (нпц) раскупили все оружие. Он поручает задание игроку - раздобыть ему оружие которым он торгует, и купит это оружие у него за неплохую цену и игрок по этому задание идтет собирает ресурсы крафтит шмотки и продает их НПС. все адену получил доволен, а у непеси в свою очередь появляется в продаже данное оружие, разумеется дороже (барыга:Olen' в том кол-ве котором он заказывал, и так далее... до тех пор пока все не раскупят или же пока не опуститься ниже критической метки кол-во. (а переноску болшого кол-ва предметов можно сделать аля перевозка паков в арейдже xDD) думаю будет интересно если это реализовать.
Но нужно придумать какие то поощрения за живую торговлю чтобы не убивать живой старый добрый рынок л2.
Но рынок будет работать как с непесями так и у обычных игроков, допустим что у торговца оружием (нпц) раскупили все оружие. Он поручает задание игроку - раздобыть ему оружие которым он торгует, и купит это оружие у него за неплохую цену и игрок по этому задание идтет собирает ресурсы крафтит шмотки и продает их НПС. все адену получил доволен, а у непеси в свою очередь появляется в продаже данное оружие, разумеется дороже (барыга:Olen' в том кол-ве котором он заказывал, и так далее... до тех пор пока все не раскупят или же пока не опуститься ниже критической метки кол-во. (а переноску болшого кол-ва предметов можно сделать аля перевозка паков в арейдже xDD) думаю будет интересно если это реализовать.
Но нужно придумать какие то поощрения за живую торговлю чтобы не убивать живой старый добрый рынок л2.
Оживление Неписей
Неписи тоже люди, не все конечно, но в большинстве своем гуманойды.nichoci
Сделать чтобы НПЦ в городах по ночам расходились по домам, а ночью начинается другая, еще более хардкорная игра. Только тут проблемма, не все НПЦ имеют анимацию передвижения что меня очень расстроило
Сделать чтобы НПЦ в городах по ночам расходились по домам, а ночью начинается другая, еще более хардкорная игра. Только тут проблемма, не все НПЦ имеют анимацию передвижения что меня очень расстроило
Про классы
Все таки склоняюсь к тому чтобы не было такого понятия как класс... ибо коррейцы годами оттачивают баланс между классами но даже у них не все гладко выходит, один я тут точно не справлюсь. По этому задумка следующая - Скиллов будут не так уж и много и будут делиться на несколько типов, атакующие (допустим на персонажа не больше 3-4), защитные(2), восстанавливающие(1), и какие нибудь дополнительные( еще не придумал xDD вдохновение кончилось)
тоесть саппорт классов как таковых не будет, будет незначительное деление на маг класс и файтеров, но незначительное что даже файтер смог бы использывать какой нибудь магический скилл без особого урезания... вообщем тут еще думать и думать но посыл таков.
Способ изучения скиллов будет тоже не обычный, но об этом потом.
тоесть саппорт классов как таковых не будет, будет незначительное деление на маг класс и файтеров, но незначительное что даже файтер смог бы использывать какой нибудь магический скилл без особого урезания... вообщем тут еще думать и думать но посыл таков.
Способ изучения скиллов будет тоже не обычный, но об этом потом.
ПВЕ
МОБЫ
На мой взгляд все таки сейчас настало то время что всем уже надоело гриндить кучу мобов, может я конечно ошибаюсь, но тут задумка такая, мобов убивать сложно но и плюх получаешь с них больше. Причем проработать каждого моба чтобы с ним интересно было драться. (пока только мысли)
РЕЙД
И идея впихнуть РейдБоссам ИИ на нейросетях, - как раз хотел разобраться в данной проблеме, как раз будет над чем поэксперементировать. Дабы было сложно предугадать что будет делать рб в момент времени что на мой взгляд только добавит интереса.
(возможно очень сильно затянется реализация но желание с этим справиться есть.)
На мой взгляд все таки сейчас настало то время что всем уже надоело гриндить кучу мобов, может я конечно ошибаюсь, но тут задумка такая, мобов убивать сложно но и плюх получаешь с них больше. Причем проработать каждого моба чтобы с ним интересно было драться. (пока только мысли)
РЕЙД
И идея впихнуть РейдБоссам ИИ на нейросетях, - как раз хотел разобраться в данной проблеме, как раз будет над чем поэксперементировать. Дабы было сложно предугадать что будет делать рб в момент времени что на мой взгляд только добавит интереса.
(возможно очень сильно затянется реализация но желание с этим справиться есть.)
Дроп
"Ореалить дроп" допустим что если уж моб какое нибудь животное - то дроп с него это блин его труп :bananalama: который потом можно обработать и достать нужные вещи если такие имеются... тоесть ничего из воздуха не должно появляться. (если у него в руках пуха - то эта пуха дропается...)
Собственно думаю пока хватит рассказывать, это еще далеко не все что я надумал, но хотелось бы узнать ваше мнение что вы обо всем этом думаете )) Почувствовали ли вы в этом соль или идея только лишь мне одному кажется перспективной...
PS за ранее прошу прощение за местами не грамотно составленные реч обороты и тп. Честно говоря устал строчить)
И да я в данной теме не ищу ни спонсоров ни сотрудников.