Так товарищи, важное объявление. Любая разработка, если она хочет увенчаться успехом делится на два чередующихся этапа. На первом этапе мы внедряем всяческие новшества, на втором отлавливаем баги и тщательно тестируем. Этапы повторяются до тех пор, пока программа нуждается в обновлении. Если всё необходимое уже добавлено, то проект переходит в режим вялотекущего исправления багов, апдейты выходят, ну может раз в году, не чаще.
На данном этапе стояла задача внедрить полноценную потдержку сети с докачкой ресурсов, кастомными логотипами игрока, итд. Объем работ - гигантский. Я понял, что если не стопнуть первую фазу сейчас, то к 26-му апреля мы получим крайне нестабильный билд. А народ между прочим и так заждался. Но в то же время сделано самое главное - устаканены интерфейсы и протоколы. Самое неприятное в разработке, когда очередное обновление ломает соседние продукты, типа ксаш-мода, паранои квейк-врапперов и приходится всё это обновлять в авральном режиме, лезут различные баги, возиться и.т.д.
Последние два года между прочим шла фундаментальнейшая работа над форматами, протоколами и API. Как вы помните был разработан кастомный формат моделей с развесовкой, кастомный формат уровней с повертексным освещением моделей, теперь была проделана работа над ядром движка в плане совместимости, окончательного устаканивания всех интерфейсов с пользовательскими библиотеками и конечно же сетевого протокола. Там где я не был на 100% уверен в том, что интерфейс не будет расширяться - я оставил заглушки. В протоколе у меня осталось пять зарезервированных сообщений. Так что в случае необходимости можно будет что-то поменять уже не ломая совместимости. Начиная с этого билда наступает удержание совместимости с нативными проектами самого ксаша, квейк враппером, римейком кваки, ксаш-модом, параноей. Поскольку это весьма ответственная задача, бета-тестирование будет разделено на две части, приватную и публичную. В приватной части мы совместно с Кувертусом протестируем синглплеер, пройдем моды для халфы и убедимся что всё работает корректно. А вот во второй части будем публично тестировать мультиплеер, предиктинг, докачку файлов и корректность работы ваших мультиплеерных модов, The Specialists как вариант.
Релиз намечен на традиционное 26-е апреля.
Публичное тестирование начнётся ориентировочно в десятых числах апреля, может немного раньше, смотря как управимся.
Ну и приведу вам небольшой отчёт о проделанной работе на текущий момент:
1. поддержка докачивания ресурсов с сервера
2. закачка кастомизации на сервер (логотипы игрока)
3. экспериментальная возможность определения полосы пропускания канала для соединения.
4. Переписан код VGUI (до этого движок крашился в некоторых редких случаях).
5. Поддержка user.scr и settings.scr (пока что только в движке, в меню еще нельзя редактировать)
6. Новая система игровой петли, позволяющая корректно менять уровни, грузить сейвы. Классический вариант потенциально мог сработать из любого вызова Cbuf_Execute, что довольно небезопасно. Есть другие плюсы, но об этом как-нибудь в другой раз расскажу.
7. Поддержка горячего прэкеша с загрузкой файлов во время игры.
8. дописал ремаппинг цветов для алиас-моделей (из кваки)
9. Исправлен баг с водой, который приводил к неоправданным тормозам. Общий фпс значительно вырос.
10. Совершенно новый загрузчик уровней, расширенный анализатор лумпов, позволяет убедиться, что карта валидная, не выгружая текущей. Есть и другие плюсы, потом сам увидите.
11. Проведена ревизия механизма фрагментации пакетов, исправлены баги.
12. Ввёден механизм подобра оптимального баселайна и т.н. instanced baselines. Всё это позволяет экономить траффик.
13. Механизм проверки CRC у моделей и уровней, проверка консистентности ресурсов.
14. Компрессия сетевых пакетов при помощи LZSS. Он явно быстрее хаффмана и включается только на фрагментных пакетах\при докачке файлов.
15. Максимальный размер пользовательских сообщений увеличен с 255 байт до 2 килобайт.
Если я что-то забыл\упустил - пишите, что еще необходимо.