Отчет о changelogs и краткая сводка версий

Разбор продолжается, и вот, завершен еще один этап — почти полная история изменений Нереала-2. Строго говоря, сюда входит не только 2, но и 1, и даже 0. Я называю всё это вторым потому, что технически это всё же один и тот же проект, просто последние версии были «2.*», и как-то надо противопоставить третьему. Потому и есть Нереал-2 и Нереал-3, и кроме них нет ничего.
На этот раз я решил написать не просто отчет о проделанном, но и этакую краткую ретроспекцию версий Нереала-2. Не всех, но «мажорных», в которых менялась вторая из трех цифр в нумерации версий. Большие изменения бывали не только в них, но и в простых минорных тоже, но всё полностью отследить — слишком долго. Может быть, потом. А пока вот.

  • До 1.0.0 — Не буду разбирать, там нет четкого разделения, только по месяцам.
  • 1.0.0 — Сама по себе не значит совершенно ничего. Просто в некий момент текущая версия объявлена как 1.0.0, и сразу начата 1.0.1. А в ней навскидку ничего особенного, кроме разве что указания пола/стен/потолка у локаций.
  • 1.1.0 — Оптимизация! Объекты вместо строкового словаря стали содержать свойства в более нативном виде, что и обращение не по строкам, и данные не конвертятся каждый раз из строк и в строки. Извиняюсь за, возможно, излишне техническое объяснение, я стараюсь всё по простому, но оптимизацию по самой своей сути иначе и не объяснишь.
  • 1.2.0 — Первое добавление «статсов», основных характеристик персонажа. Ну там, сила, ловкость, и прочее по стандарту. Ранее их не было.
  • 1.3.0 — Введено понятие «тика», равное 1 нереальской минуте или 15 реальным секундам. Вся обработка мира делается раз в тик.
  • 1.4.0 — Реализован вампиризм. А еще у одежды понятие толщины появилось. Несмотря на кажущийся малый объем изменений, в социальном плане вампиризм имел много последствий. Напомню, что мобов не было, только другие игроки, боя тоже не было. И это первое реальное действие против других игроков.
  • 1.4.4 — Сделаю исключение, и упомяну версию не с нулем на конце. Реализация первой боевой системы, с действиями строго раз в тик.
  • 1.5.0 — Ускорение скриптов, введение щитов, и возможность разных ударов в бою, а не только автоатака.
  • 2.0.0 — Полностью новая система навыков. Удаление жрецов. Введение уровней и опыта. Частичный перевод боевой системы под D20. Введение понятия «сущность» (лучше примера не скажешь: если персонаж — скелет человека, то у него раса — человек, а сущность — скелет). Введение метамагии. Изучение заклинаний из книг, и запись в них же. В общем, очень много всего, явно неспроста я тогда расщедрился и сделал 2.0, а не 1.6. :)
  • 2.1.0 — Реализация абстракции от способа хранения данных. Ранее, каждый персонаж, каждая локация, каждый объект, всё хранилось по файлу на штуку, и очень грузило файловую систему, особенно при запуске. Абстракция позволила, не теряя старый вариант, реализовать новый — один файл на всё, но внутри него своя собственная «виртуальная ФС».
  • 2.2.0 — Замена скриптового движка с некого Delphin на написанный КАПом PaScript. Он был и быстрее, и мог хранить разобранные скрипты, просто выполняя их при повторном вызове.
  • 2.3.0 — Снова переделка боевой системы на реалтаймовую. Вместо потикового боя (что по сути равно было пошаговому) стало всё обсчитываться ежесекундно, у оружия и атак появилось понятие скорости, у заклинаний тоже появилось время каста.
  • 2.4.0 — Увы, про это сказать нечего, история утеряна. Что же вызвало смену версии, ныне неизвестно.
  • 2.5.0 — Введение общемировых координат и попытка введения абстракций. Ни то, ни другое, ни к чему конкретному так и не привели, уже было поздно.

Как я и предполагал, очень многое осталось за кадром. Но кое-что, а в частности, про боевую систему, вполне ясно. Второй основной причиной версий были глобальные оптимизации, так как изначально сервер совершенно не был рассчитан на такие масштабы (и то весьма малые для полноценного мира).

По части истории изменений осталось добавить комментарии к некоторым версиям и историю первой попытки Нереала-3. Этим и займусь далее.

Комментарии

Re: Отчет о changelogs и краткая сводка версий

Эх.. я как понимаю вылетел из Нереала (ушел в спячку) где то на версии 2.1 )

Re: Отчет о changelogs и краткая сводка версий

То есть, реалтайм-боя уже не застал. Ну да, там уже совсем другой народ был…

Re: Отчет о changelogs и краткая сводка версий

В Реалтайм бой я как то заходил, но меня быстро убили и я больше не пробовал :)

Re: Отчет о changelogs и краткая сводка версий

Ага. Помню такое. ;)

Re: Отчет о changelogs и краткая сводка версий

Кстати.. еще бы наверное было интересно повспоминать или найти не историю версий техническую, а историю наполнения контентом мира :)

Re: Отчет о changelogs и краткая сводка версий

Ага, несомненно интересно, но и гораздо сложнее, из-за отсутствия записей по этой части. Только вылавливать по разговорам, разве что. Частично можно уловить в моем «интервью», там есть о том, как вы с Ветром горы строили…