К созданию этого проекта меня подтолкнуло сразу несколько факторов, которые накапливались на протяжении долгого времени.
Во первых, дело в том, что я когда-то написал неплохой интерпретатор КуСи для старого ксаша, взял туда qclib из FTE для канпеляции, вообщем оформил красивую виртуальную машинку, которую впоследствии пришлось похоронить еще тогда, в 2008-м году. И вот оно мне не даёт покоя, что такая красота пылится без дела. Ну это как основной фактор - незавершённый гештальт.
Во вторых, у нас тут есть товарищи, которые могут в КуСи, однакож немогут в С++, но при этом на куси писать любят всякие там моды какие-то пишут, а один даже в подписи написал "I love to want QuakeC in XashNT", да прямо так и написал или совсем по другому, но QuakeC и XashNT там точно были.
В третьих, по большому счёту 20 лет форка первого квейка так и не привели к желаемому результату. Здесь придется остановиться по подробнее. Большинство форков первокваки внедряли в движок новые эффекты, которые начинали работать изкаропки. Такие движки в принципе неплохо воспринимались игроками (еще и потому, что там сразу был включён +mlook и выставленая 32-битная глубина цвет, ну и регулятор гаммы работал), но для разработчиков он не несли в себе ровным счётом никаких преимуществ. Одно время была даже мода форкать форки, когда их накопилось достаточное кол-во. Т.е. был некоторый обязательный набор, которым должен был обладать форк, типа того же 32-битного цвета, регулятора гаммы и отремонтированных фуллбрайтов в GL-режиме. А дальше разрабы форков тупо копировали друг у друга наиболее понравившиеся фишки, по принципу, один написал - семеро к себе скопировало. Ну и неудивительно, что на таком засилье форков, оригинальных проектов было весьма мало. MHQuake, Tenebrae, Darkplaces. Вроде бы и всё. Но не было чёткого вектора развития, кто-то если и пытался что-то внедрить, то максимум это согласовывалось на уровне других таких же форкеров движка. А вот РЕАЛЬНЫЕ РАЗРАБОТЧИКИ под первокваку срать хотели на все эти дополнения, как правило. Собственно, похожая ситуация наблюдается и в HL-Коммунити, большинству не нужны ни новые эффекты, ни новые энтити. Возьмем Arcane Dimensions для примера. Была проделана фундаментальная работа. Новые монстры, новые энтити, новые модели, новые уровни, всё новое. А теперь держитесь крепче за стул: в игре нет внешних текстур. Всё буйство красок обеспечено шареной палитрой в 256 цветов из первокваки. Этим автор как бы намекнул где он видал любителей внешних текстур. Из всего богатства возможностей, которые предоставляет тот же даркплейс (кому?), были заюзаны ровно две фичи - effectsinfo (это описание кастомных эффектов для партиклей) и формат BSP с увеличенными лимитами. Т.е. автор не стал даже привязываться к какому-то конкретному форку. Вот вам наглядный пример взаимодействия между программистом и дизайнером, первый делает то, что второму не нужно, а то что нужно второму - первый не делает. А ведь это ключевой момент в вопросе выбора движка.
В четвертых, сделав римейк Кваки и почти доделав римейк Хипнотика, меня посетила мысль, что это занятие хотя и интересное, но весьма тяжкое. И одновременно пришла в голову мысль, что ведь тех, кто что-то до сих пор делает под кваку, можно было бы перетащить на ксаш куда надежнее, чем римейком кваки. Для этого надо сделать, чтобы квака и её моды запускались под ксашем нативно. Вот собственно об этом и мой проект. Он не отменяет мои римейки никоим образом, и я не считаю что та работа была проделана зря. Скорее выводит совместимость на новый уровень. Итак, что же нам потребуется для того, чтобы научить Ксаш понимать кваку и её моды? На самом деле не так уж и много:
1. научить его грузить спрайты из кваки. done
2. научить его грузить и рисовать модельки из кваки. done
3. научить Ксаш грузить карты из кваки и рисовать кушные эффекты done
4. Самое интересное: враппер между движком и виртуальной машинкой кваки. Если быть точным, это то, что в кваке находится в файликах pr_exec.c, pr_edict.c, pr_cmds.c. Ну, конечно моя задача чуть сложнее - надо ведь будет подружить это всё с сейв-рестором халфы, но в целом - тоже работы весьма немного. done
5. Меню на манер кушного. Достаточно простой копипасты из движка. Самое главное, чтобы оно грузило эти картиночки. done
И на выходе мы получаем полноценную поддержку большинства кушных модов с кастомными моделями и кодом. Разумеется это всё можно будет портировать на андроид к примеру.
Дядя Миша писал: Разумеется это всё можно будет портировать на андроид к примеру.
при помощи забаненных на форуме учаснегов? ну-ну
А по сабжу мне сказать почти нечего: квакеСи я ненавижу и стремлюсь уничтожить не использую, а для нормальных людей придумали angelscript. Тем более что он источник многих бед, таких как string_t. Ну что ж - если люди хотят, то должны получать.
Но лучше бы ты силы направил в мирное русло. Портабельная физика, рагдоллы, машинки...
~ X ~ писал: А по сабжу мне сказать почти нечего: квакеСи я ненавижу и стремлюсь уничтожить не использую, а для нормальных людей придумали angelscript.
Ты рассуждаешь с позиции "вон тот язык мне нравится больше, но я сам не пробывал". А я рассуждаю с позиции "на QuakeC написано дочерта модов".
Цитата:
~ X ~ писал: Тем более что он источник многих бед, таких как string_t
ухты.
Цитата:
~ X ~ писал: Портабельная физика, рагдоллы, машинки...
Та чота мне физика не особо интересна стала. Сами возитесь.
На уродский синтаксис не обращайте внимание. Щас все куси компиляторы дают писать нормально, как в чистом Си.
Ждём волнующих комментариев от Мастера по поводу увиденнова.
>Ждём волнующих комментариев от Мастера по поводу увиденнова.
Дык Мастер же _в принципе_ ненавидит всё что интерпретируется вместо того что бы байты дрочить.