doom2d.org

Главная база плоских морпехов
It is currently 04 Apr 2020, 09:15

All times are UTC + 3 hours




Post new topic Reply to topic  [ 261 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11 ... 14  Next
Author Message
PostPosted: 29 Jun 2013, 01:46 
Offline
User avatar

Joined: 22 Oct 2009, 14:55
Posts: 22
Location: Moscow
ketmar wrote:
... QuakeC ...

Ужасно, почему все так хотят сделать свой ACS с неудобствами и недостатками ? Почему doom сообщество так не любит Lua ?

_________________
Лисенок-извращенец =^-^=


Top
 Profile  
 
PostPosted: 29 Jun 2013, 02:17 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
потому что Lua мне совершенно неинтересна: я столько её раз и встраивал, и использовал, что это уже невероятно скучно. а QuakeC — забавен. в частности забавен и своими ограничениями.

естественно, компилятор QuakeC от D2D:VCD не совместим с оригинальным QuakeC. формат progs.dat тоже. а также в приложении микролицензия, запрещающая распространять моды без исходников, с обфусцированными исходниками или с исходниками, которые нельзя собрать.

впрочем, если кому-то очень поперёк горла QuakeC, то в конце концов этот кто-то может взять исходники, выпилить QCVM и впилить Lua. но судя по тому, что до сих пор этого никто не делал — я не боюсь такого исхода.


Top
 Profile  
 
PostPosted: 29 Jun 2013, 13:20 
Offline
User avatar

Joined: 22 Oct 2009, 14:55
Posts: 22
Location: Moscow
Ну чтож, будем ждать еще один неудобный ACS без классов и т.д. И тут даже дело не в удобстве, а в реальных ограничениях, которые могут мешать разработки той или иной идеи на движке. Чем больше возможностей - тем больше потенциал у игры на долгую жизнь с кучей модов и карт.

_________________
Лисенок-извращенец =^-^=


Top
 Profile  
 
PostPosted: 29 Jun 2013, 14:07 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
помнится, первокваке всё это не помешало получить моды от team fortress до quake rally. а с darkplaces/xonotic и покруче можно.

что такого нельзя написать без бесполезных «классов»? 15 лет софт пишу, никаких мегаудобств в «классах» не вижу.

алсо. don't make me laugh: тут даже карты-то рисовать особо некому, какие уж моды, тем более со скриптами…

p.s. какие вообще могут быть «реальные ограничения» у движка с открытыми исходниками? O_O взял — да допилил что надо. высунул в QuakeC нужные API — и вперёд.


Top
 Profile  
 
PostPosted: 30 Jun 2013, 12:28 
Offline
User avatar

Joined: 22 Oct 2009, 14:55
Posts: 22
Location: Moscow
ketmar wrote:
что такого нельзя написать без бесполезных «классов»? 15 лет софт пишу, никаких мегаудобств в «классах» не вижу.

Без классов можно написать много, но это будет выглядеть костыльно. Имхо ООП полезен в реализации почти чего угодно, где логически есть более чем один объект. И особенно полезен когда нужно писать продолжение или расширять что-то.
В C ты сам работаешь как компилятор ООП - реализуешь классы не явно.
ketmar wrote:
алсо. don't make me laugh: тут даже карты-то рисовать особо некому, какие уж моды, тем более со скриптами…

Ну.. раньше же было мало кого, кто карты делал ? Если будет много возможностей то и публика найдется.
ketmar wrote:
p.s. какие вообще могут быть «реальные ограничения» у движка с открытыми исходниками? O_O взял — да допилил что надо. высунул в QuakeC нужные API — и вперёд.

Могут быть ограничения стандартом - этот клиент еще нужно будет раздать всем, кто захочет поиграть на сервере. Качать сторонние клиенты мало кто хочет.

_________________
Лисенок-извращенец =^-^=


Top
 Profile  
 
PostPosted: 30 Jun 2013, 15:49 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
хороший код на си тоже читаем и расширяем. к тому же в QuakeC есть entity и function pointers. алсо, наличие «большой общей entity» хорошо согласуется с тем, во что я потихоньку превращаю код.

p.s. в оригинале я планировал нечто типа классов. к счастью, вовремя одумался.

p.p.s. зато там есть бесполезные 3d-векторы как primitive type.


Top
 Profile  
 
PostPosted: 30 Jun 2013, 16:50 
Offline
User avatar

Joined: 22 Oct 2009, 14:55
Posts: 22
Location: Moscow
ketmar wrote:
наличие «большой общей entity»

Если ты про worldspawn, то это просто такая структура quake движка.
Если в проекте реализации API следующее, то все и QC сойдет
    + Работа с Entity
      * Создание
      * Удаление
      * Поиск по разным параметрам
      * Изменение свойств
    + Работа с картой
      * Получение информации о карте
      * Работа с триггерами
      * Изменение карты
    + Работа с сетью
      Отправка и получение собственных сетевых сообщений с клиента на сервер и обратно
    + Работа с чатом
      * Получение сообщений
      * Перехват сообщений
      * Отправка сообщений конкретным игрокам или всем
    + Клиентские скрипты
      + Скриптовая отрисовка
        * Enitity
        * Тайлов
        * HUD
        * Мира
        * Фона
        * GUI
      * GUI с системой панелей
    + Работа с консолью
      * Создание convar, concmd на клиенте и сервере
      * Вызов определенных concmd сервера с клиента и наоборот
    + Работа со звуком
      * На клиенте
      * Локально
      * Глобально
      * Задание музыки
    + Система событий (Вызов функций при разных событиях)
      * Отрисовка
      * Join/Quit игроков
      * Изменение команды игроков
      * Общий init или смена карты
      * Таймеры
      * Отдельных entity в целом
      * Сюда наверно и чат и остальные события отдельно связанные
    + Управление игрой
      * Смена карты и т.д.
      * Работа с ботами
      * Kick/Ban и администрирование
    + Мелкие фитчи
      * Кастомные системы частиц
      * Создание стандартных projectiles
    + Создание кастумных классов entity и тайлов
      * Свои мобы
      * Свои пикапы
      * Свое оружие
      * Свои триггеры
      * Тейлы со своим поведением
      * Cобытия Entity (Think, Draw, OnDamage, Init, OnRemove и т.д.)
      * XXX_Наследование_XXX
    + Работа с ФС
      * Ограничение на запись в пределах игровой папки или специальной папки для скриптовых файлов
      * Создание папок
      * Запись/Чтение файлов
    * Подгрузка скриптов XXX_налету_XXX

Если все это можно реализовать и удобно использовать с QC, то наверно ваш QC >= lua.

_________________
Лисенок-извращенец =^-^=


Top
 Profile  
 
PostPosted: 30 Jun 2013, 17:46 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
естественно, всё это в планах есть, хоть и не сразу — по понятным причинам.

задача нумер ноль — это вынесение всей логики игры в QuakeC (монстры, предметы, оружие, etc). это автоматически решает задачу «новых монстров, пикапов, ботов и ты пы» — потому что «стандартные» от «юзерских» будут отличаться только тем, что скриптовый код для стандартных поставляется вместе с игрой.

работа с картой тоже будет, потому что на этом же QuakeC планируется реализация in-game editor.

также активно думаются и пробуются варианты, которые позволят динамически подгружать и выгружать progs.dat — т.е. progs.dat будут чем-то вроде .dll/.so, моды смогут таскать не полные progs.dat, а только свои дополнения, и использовать динамическую линковку с «базовой» progs.dat (ну, или полностью заменить, если захочется). но это очень в стадии дизайн-концепции пока.

возможно, компилятор будет не только standalone, но и вмонтирован в движок (он и сейчас уже библиотека — потому что форкнут из FTEQCC).

фактически, на си-стороне останется рендерер, coldet и всякие штуки типа raycasting — для скорости. остальное я планирую уволочь на скриптовую сторону.

а вот полноценную работу с FS, скорее всего, не дам: зачем?

также рассматривается фича «нескольких progs.dat одновременно». отличается от динамической линковки тем, что у каждой — своя VM, механизм message passing и, возможно, набор shared globals. это позволит достаточно безболезненно отделить реализации всяких менюшек и уёв в отдельные модули: достаточно на обеих сторонах реализовать общий communication protocol.


заодно такая штука отвяжет меня от жёстко прописаной логики и позволит сменить сетевую модель. сейчас и клиент, и сервер обладают одинаковыми копиями «мира», и меняются только состояниями кнопок управления. т.е. клиент «проигрывает» на своей стороне все действия так же, как и сервер. в принципе, эта модель вполне работоспособна, но немного связывает руки. тут я не уверен, буду ли менять.

но если поменять на модель «сервер шлёт дельты», то монстры смогут стать «не более, чем такими особенными ботами». конечно, поведение монстров тогда будет немного отличаться от оригинала, но не настолько, чтобы это можно было сильно заметить. и в потенциале игра будет client/server даже для сингла. плюс — записаные демки смогут корректно проигрываться даже если у проигрывателя progs.dat совсем не такой, как при записи.


работы, в общем, дофига, и вестись она будет итерационно, конечно. как я уже писал, основная задача сейчас — выдрать из движка всю намертво прибитую гвоздями логику, распределить негодяев и вкусняшки по классам, etc. это даст мне foundation для продвижения дальше.

p.s. конечно, можно просто переписать движок заново с учётом всех моих хотелок, но это мне — опять же — неинтересно. хотя вариант рассматривается. может, именно так и будет в конце концов.

p.p.s. а вот что менять точно не хочу — это частоту кадров. привязку к ~50 планирую сохранять настолько, насколько это будет возможно. мне нравится дёрганый олдскульный скроллер.


Top
 Profile  
 
PostPosted: 30 Jun 2013, 18:39 
Offline
User avatar

Joined: 22 Oct 2009, 14:55
Posts: 22
Location: Moscow
ketmar wrote:
если поменять на модель «сервер шлёт дельты»

Ну, с чистыми дельтами может быть рассинхрон. Нужно что-то вроде snapshot, когда игрок получает полностью состояние мира в том случае если только появился или потерял много пакетов. И чтобы были ключевые кадры в перемещении у всего, то есть каждую секунду или более entity будет посылать глобальную позицию, а не дельту. А еще сервер не должен верить в небылицы вроде "я игрок и я нащел бфг на карте без бфг" или "я игрок и я теперь буду находиться там" иначе будет слишком много читеров.
ketmar wrote:
а вот полноценную работу с FS, скорее всего, не дам: зачем?

Не полноценную, а чтение в пределах корневой директории и запись в пределах определенной папки (например в /data, как в Garry's Mod)
ketmar wrote:
p.p.s. а вот что менять точно не хочу — это частоту кадров. привязку к ~50 планирую сохранять настолько, насколько это будет возможно. мне нравится дёрганый олдскульный скроллер.

Ну лучше конечно это сделать опционально.

_________________
Лисенок-извращенец =^-^=


Top
 Profile  
 
PostPosted: 30 Jun 2013, 21:35 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
ну, понятно, что сетка не «в лоб». а «верить» сервер ни во что не может, потому что он Бог и единственный эталонный мир в любом случае, игрок при обеих моделях отсылает только нажатые кнопки (можно их трактовать как вектор перемещения и действия).

в FS по-прежнему не вижу необходимости. честно. учитывая ограниченность типов QuakeC и его неумение нормально работать со строками — тем более.

а частота кадров была, есть и будет (это hard requirement) привязана к досовскому таймеру «18.2 тика в секунду». так что я под «~50» я имел в виду время на кадр, а не частоту кадров. %-)


Top
 Profile  
 
PostPosted: 01 Jul 2013, 03:14 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
p.s. определённо, мир мне благоволит. видеокарта намертво завесила всю систему. после нажатия reset окончательно сгорел тёплый ламповый монитор (чпок! извините, я тут немножко горелым навонял). биос упорно откапывал отключеный юсб-диск и предлагал грузиться или с него, или вообще ниоткуда. после того, как биосу таки удалось вправить мозги заклинаниями «ёб твою мать и разработчиков твоих ебать урановыми ломами» — система загрузилась, запустила fsck… и порубала на диске с /home метаданные о последних рабочих файлах. после чего /home ушёл в r/o, изобразив медитативную позу «ничего не вижу, ничего не слышу, ничего не знаю, идите все нахуй, зачем вообще так жить». ядро заявило в dmesg, что «vmalloc: allocation failure». от сменного монитора вылазят глаза и люто, бешено болит голова. воистину, жить всё пиздатей и пиздатей. такие дела, ромашки.

и не надо мне говорить про бэкапы. они есть, актуальности в них мало.


Top
 Profile  
 
PostPosted: 01 Jul 2013, 04:41 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5911
Location: Владивосток
Подключай другой жёсткий диск, ставь на него систему, потом попробуй с помощью какого-нибудь R-Studio просканировать дохлый диск. Мб и спасёшь какие файлы. Я таким образом при похожей проблеме в своё время вытянул около 400 Гб с диска.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 01 Jul 2013, 04:48 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
да там не всё порубалось, чо. только то, над чем в последнее время работал, гыг. достать ничего невозможно в принципе, потому что поверх обычной fs стоит ещё и шифрованая. так что со стороны всё выглядит тупо как мусор.

это всё фигня, беда то, что монитор ёк. от замены реально глаза вылазят и башка раскалывается, работать с ним невозможно вообще. а достойного CRT по неконской цене уже не купишь, увы.


Top
 Profile  
 
PostPosted: 01 Jul 2013, 04:51 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5911
Location: Владивосток
А на барахолке поглядеть не пробовал? Пускай и б/у будет, но зато глаза и нервы сбережёшь.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 01 Jul 2013, 05:49 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
у меня и есть б/у. к сожалению, у него косит красный луч, и от этого на экране адовая размазня. и цветопередача странная.

увы, это всё, что я смог найти. syncmaser 997 давно уже не делают. %-)


Top
 Profile  
 
PostPosted: 04 Jul 2013, 10:15 
Offline
User avatar

Joined: 22 Oct 2009, 14:55
Posts: 22
Location: Moscow
хм.. неверно это все не спроста. Видимо луче всетаки внедрять луа, потому что без работы со строками будет скучно. Ну или пилить самому. Файлы я хотел чтобы хранить всякую информацию с настройками модов или кастомной информацией и статистикой игроков.

_________________
Лисенок-извращенец =^-^=


Top
 Profile  
 
PostPosted: 04 Jul 2013, 10:34 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
чтобы что-то хранить — есть переменные. у которых флаг permanent. ну, как с волосами в СССР. сделал перманент — и рад. а если в переменные не помещается — то что-то в моде неправильно.

и вообще (пожимает плечами). берите исходники и пилите. в чём проблема, собственно? охота Lua? вперёд: взяли исходник и добавили. куча лет уже прошла — никто не взялся за допилку. ну, тогда жрите, что дадут, чо.

p.p.s. почему-то каждая … считает, что ей должны сделать хорошо. нет, нихуя вам никто не должен. не нравится? идите нахуй. исходники — под WTFPL (что характерно: ни одна скотина не удосужилась ни найти автора — пять минут у меня заняло — ни спросить, под какой лицензией оригинал. я — спросил. я — сказал: давай WTFPL? автор сказал: да ок, не вопрос. вы — не могли? исходник валяется, пойти к автору — впадлу?). взяли — и дописывайте. хуле проблем-то? руки из жопы? ну пардон, я не виноват, что при сборке так примонтировали.

какого хуя за столько лет только Рэмбо сделал портабельную версию, а? да идите в жопу. я вообще занялся дальше только потому, что хотел две вещи: свет и сеть. и то, и другое в моих версиях уже работает. нахуй мне не надо дальше всей этой хуйнёй заниматься. it fuckin' works for me. ok. и по лицензии я не обязан никому давать исходники. и не буду. всё, проект официально закрыт. бай-бай.


Top
 Profile  
 
PostPosted: 04 Jul 2013, 11:32 
Offline

Joined: 21 Jul 2012, 20:24
Posts: 52
Необращайте внимание на ketmar-а, у него сегодня плохое настроение :)
На щет скриптового языка, думаю без разницы какой встраивать, синтаксис у всех встраиваемых языков простой. Главное, насколько я понимаю, хорошо продумать API интерфейс к обьектам игры.


Top
 Profile  
 
PostPosted: 04 Jul 2013, 16:28 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5911
Location: Владивосток
Кетмар, остынь, ради б-га.
ketmar wrote:
что характерно: ни одна скотина не удосужилась ни найти автора — пять минут у меня заняло — ни спросить, под какой лицензией оригинал. я — спросил. я — сказал: давай WTFPL? автор сказал: да ок, не вопрос. вы — не могли? исходник валяется, пойти к автору — впадлу?).
Здесь ты ошибаешься, причём сильно. Контакты Волынскова искали, в том числе и я сам, но безуспешно. Его же единственный известный нам до этого E-Mail был глух к нашим письмам. А вопросов было много, в том числе и по поводу лицензии.
ketmar wrote:
взяли — и дописывайте. хуле проблем-то? руки из жопы? ну пардон, я не виноват, что при сборке так примонтировали.

какого хуя за столько лет только Рэмбо сделал портабельную версию, а? да идите в жопу. я вообще занялся дальше только потому, что хотел две вещи: свет и сеть. и то, и другое в моих версиях уже работает.
И здесь ты ошибаешься. Ещё на старом форуме проводилось масштабное изучение оставленных нам сорцов, это направление возглавлял 3EPHOEd, если мне память ещё не изменяет. После изучения им был вынесен вердикт: без полного переписывания всех основных подсистем движка (звук, графика и ввод) ничего сделать не получится. Сам он рано или поздно хотел сделать порт, но человек он весьма занятой, да и энтузиазма видимо не хватило. Потом ещё был [Mad Cat], который тоже писал Win32-порт на основе этих исходников (кстати, у него это почти получилось), но потом форум рухнул к чертям собачим и контакт с разработчиком был утерян. Так что ты поспешил с выводами.
ketmar wrote:
нахуй мне не надо дальше всей этой хуйнёй заниматься. it fuckin' works for me. ok. и по лицензии я не обязан никому давать исходники. и не буду. всё, проект официально закрыт. бай-бай.
А вот это ты зря. Очень сильно надеюсь, что сказано было лишь в припадке ярости.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 05 Jul 2013, 10:05 
Offline
User avatar

Joined: 25 Feb 2013, 13:24
Posts: 609
>Здесь ты ошибаешься, причём сильно. Контакты Волынскова искали, в том числе и я
>сам, но безуспешно.

мы пахали. почему у меня это получилось за пять минут и два письма?

>Ещё на старом форуме проводилось масштабное изучение оставленных нам сорцов

>без полного переписывания всех основных подсистем движка (звук, графика и ввод)
>ничего сделать не получится

а у Рэмбо — получилось. если посмотреть на оригинальный релиз, то можно увидеть, что изменения весьма небольшие: фактически, эти подсистемы у D2D и так абстрагированы. да, порт был не идеален (и сам Рэмбо писал, что хотел как можно меньше в коде менять), но он работал, и работал неплохо.

>Так что ты поспешил с выводами.
знаешь, я уже лет 15 учусь на гитаре играть. я уже даже почти гитару купил.

>Очень сильно надеюсь, что сказано было лишь в припадке ярости.
и это тоже. но тем не менее, финальный толчок забросить, наконец, бесполезное legacy тоже получен: эту кодовую базу давно пора сливать в помойку, она протухла и ни для чего больше не пригодна. в огонь! хватит насиловать труп.

вады — в огонь. оригинальные спрайты — в огонь. оригинальный формат карт — в огонь. DMM — в огонь. всё в огонь. не надо никаких больше «поступательных изменений», не надо сохранять совместимость с бесполезным legacy, всё переписать. с изначальной ориентацией на сеть, с логикой, сразу вынесеной «наружу», с текстовыми форматами там, где это возможно и имеет смысл, с выкинутой на помойку поддержкой бесполезной винды.

так что проект D2D:VCD действительно официально закрыт. все небольшие мои ресурсы отныне перенаправляются на D2D:They Live! а поскольку линуксоидов среди д2дшников — три с половиной инвалида, да и примерное время релиза хотя бы технической демки неизвестно, то и аннонсировать новый проект я не буду. как минимум до тех пор, пока у меня на руках не будет чего-нибудь играбельного.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 261 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11 ... 14  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
doom2d.org, since 2007