Feyola » 16 фев 2014, 13:55
Когда мы переходили на GreenServer, у нас в буквальном смысле был "пожар". Сервер выдавал 0.2 тика в секунду при номинальных 20. Вы не ошиблись, все работало именно в 100 раз медленее, чем должно было. Люди разбегались как с тонущего корабля, играть было просто невозможно. Проект был под угрозой полного исчезновения. Мы должны были выпустить что угодно на чем можно играть хоть как-то, как можно быстрее. Выпустили очень очень сырую версию, в ней не то что не было более половины запланированного функционала (в частности, агрессивных мобов не сделали до сих пор!) - даже минимальный функционал (блоки, регионы, крафт) - сильно глючили. Даже просто стабильная работа сервера как программы тоже не была достигнута. Еще полгода после перехода сервер регулярно падал не сохранив данные игроков (откат), терял данные просто по ходу работы, либо просто вдруг начинал очень сильно лагать. Эти полгода и были потрачены на базовую стабильность многопоточной программы. Конечно это дало огромный опыт, но даже с опытом это было бы много работы.
Объем работ по клиенту оценивается больше чем по серверу, для этого есть много сложных причин, я не решусь их все называть. Я скажу очень гуманитарно и упрощенно: клиент работает с графикой. Иными словами, клиент обрабатывает данные от сервера и выдает их на экран в понятной человеку форме, а так же принимает данные от игрока(интерфейсы, клавиатура). Серверу же достаточно обрабатывать и хранить данные, приходящие от клиента в той же форме, в которой они приходят. Это все заставляет многих игроков думать, что клиент это и есть игра, а сервер это какая-то непонятная прослойка.
Сейчас у нас по крайней мере можно спокойно играть в тот функционал, который уже есть. Все что есть сейчас - работает, и будет работать стабильно сколько угодно. Игра работает. Клиент запускается, сервер не падает каждый день, у нас не происходят откаты на 10 часов, люди видят друг друга и не теряют свои регионы или целые города просто из-за ошибки работы сервера. Но людям этого мало, они считают что игра (сервер) умирает, если регулярно не вводится ничего нового. Именно нового - увеличение стабильности, огромный рефакторинг кода, переход на другой движок или даже язык программирования, месяцы работы над оптимизацией - все это фигня. Никому это не интересно, никто этого не заметит и не оценит(кроме 3.5 гиков на форуме) Должна меняться именно обложка, видимый функционал игры.
Я немного отвлеклась. Игра работает, старый клиент работает. В среднем по времени и в среднем по пользователям клиент даже выдает приличное число FPS (лично у меня 500, но у меня хорошее железо). У нас работают многие функции: можно крафтить, видеть и убивать существ, можно общаться в чате, строить из блоков, вы можете сами продолжить список. Заменять этот клиент на что угодно с меньшим количеством функций было бы не правильно, в таком случае просто станет хуже. Чтобы сделать такой клиент понадобятся тестирования.
Некоторые функции нельзя однозначно назвать хорошими или плохими, они относительные. Каждый считает по своему. И если речь идет об игре - то таких функций большинство. Буквально все от самого жанра игры до роста зомби разные игроки будут считать фичей либо проблемой, плюсом или минусом. Нельзя сделать правильно, нельзя сделать чтобы понравилось всем. Например, некоторые считают основной фичей пиксельные текстуры, а мы хотим нормальную графику. Обе точки зрения по своему верны. Если даже вроде бы абсолютные и многократно доказанные вещи вроде эволюции или возраста земли некоторые люди считают оскорбительной выдумкой, то конечно, любые элементы игры точно будут кому-то не нравиться, кто-то будет истошно вопить что все неправильно и все испортили. Ну так к чему я это... к тому, что если мы все сделаем абсолютно правильно по нашему мнению, то форум скорее всего будет бурлить как похлебка на большом огне.
Но и это не все. Память людей устроена так, что люди идеализируют прошлое. Постепенно частички данных забываются и на их место встают выдумки. А иногда просто прочитав чужие слова человек может интерпретировать их как ему хочется, таким образом поняв совсем иное, нежели хотел сказать автор слов, а иногда слова вообще не точны и дают пространство для выдумок. Таким образом, мы можем заключить, что в прилично части умов (возможно, треть), которые читали наши анонсы, существует ожидание того, что мы никогда не планировали ввести. Но все еще хуже - наши планы сами по себе меняются. Мы становимся опытнее, умнее, либо просто решаем сделать иначе, мы же делаем игру, а не решаем уравнение с одним верным решением. А еще мы всегда можем допустить новые ошибки.
Таким образом, прогноз не утешительный. Если мы все сделаем и очень быстро, и очень правильно одновременно, будем очень довольны своей работой и грамотно представим её в выгодном свете, то все равно найдется множество людей, которые будут считать что мы все сделали либо неправильно, либо все испортили, либо не так как обещали ранее.
Если вы хотите написать мне в личку: