1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Первый порт Blood [BloodGDX]

Тема в разделе "Мастерская", создана пользователем M210, 19 май 2017.

  1. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Всем привет :) Довел свой source порт Blood до состояния бета релиза
    M210 Projects - Unreal, eDuke32, BloodTC, DoomTC, Serious Sam, Half-Life, maps, mods

    Порт основан на реверс-инженеринге оригинального blood.exe, поэтому использует все ресурсы и всю механику/логику оригинала.
    BloodGDX абсолютно играбелен, и уже может составить конкуренцию Dos версии, от которой отличается только отсутствием вокселей.
    Воксели, hires, mp3 и другие примочки буду добавлять в процессе разработки.
    Для запуска необходима JRE не ниже 1.6, собственно по этой причине минимальная версия Windows - 2000
    Также были небольшие тесты на Mac OS X и Linux

    P.S. Привет, VEG! Спасибо за начинания в сфере assembler :))
     
    Последнее редактирование модератором: 14 авг 2018
    Petrov-Vodkin, AxXxB, Slavaaa и 34 другим нравится это.
  2.  
  3. PVS

    PVS

    Регистрация:
    4 дек 2009
    Сообщения:
    34
    MAN-biker
    Не думаю, что это поможет, т.к. вижу, что BloodGDX пытается использовать свои OpenALxx.dll, пакет этих библиотек под 32/64бит у него с собой, внутри jar. Я пробовал сам закидывать в system32 более старые версии OpenAL32.dll, которые совместимы с Win2k, регистрировал их руками - не помогает. Да и в лаунчере и ченджлоге 0.799 значатся версии openal 1.15.1 / 1.18.1, уверен, что не просто так. Любые 1.15.1, которые я находил - уже не совместимы с Win2k. По приколу, так же пробовал перехитрить M210, менял его версию dll в темпе на свою, не прокатило, хе-хе. Можно еще поменять эту dll сразу внутри BloodGDX.jar, но не буду уже этим заниматься, т.к. это однозначно - не верный путь.

    give_all
    Интересно - десинк на моей демке у тебя воспроизводится на 0.799? Или ты не совсем понимаешь, что я имею ввиду?
    Демок оригинального Blood 1.21 как-то и нет, никто не пишет, не интересно наверное. Всё, что нашел - это 9 штук, можно взять в этом архиве:
    http://www.r-t-c-m.com/knowledge-ba...od-tools-ini/BME(ILMHB)_OUWBDemoBrowser10.zip
    Там весь первый эпизод, записанный Krypto на Well Done (Skill 4) в 2015, хорошие демки, весёлые, на Skill 4 это не так легко, только часто уж, сидит за углами. Так же, там E2M5 от Sir Seizhak на Skill 3 и утилитка для запуска демок под ДОС.

    Из своих. Осенью, записал максы, для всех босс-карт в эпизодах 1-5, на Well Done (Skill 4). Если кто-то это будет смотреть, то там может быть не совсем понятно, что происходит в b2m81703, но я больше ничего не смог придумать, чтобы убить 2-х паучков одновременно, только такой, смешной вариант. Еще записан весь 5 эпизод на (Skill 4), но текстовиков к ним, пока еще нет.

    Если у кого-то есть еще демки Blood 1.21, или свои - поделитесь, если не трудно, мне интересно будет посмотреть игру в живую, прямо на движке, а не ютуб.
     

    Вложения:

    MAN-biker нравится это.
  4. give_all

    give_all

    Регистрация:
    12 апр 2012
    Сообщения:
    14
    Да, поэтому и интересна эта демка. Я в свое время записал демки всех оригинальных уровней, по которым потом м210 фиксил синхронизацию в своем порте. Думал после такого количества рабочих демок проблем больше не останется.
    Если интересно, скинул свои демки.
     

    Вложения:

    • Blood.zip
      Размер файла:
      1,1 МБ
      Просмотров:
      59
    Последнее редактирование: 21 фев 2019
    MAN-biker и PVS нравится это.
  5. PVS

    PVS

    Регистрация:
    4 дек 2009
    Сообщения:
    34
    give_all
    Ничего себе, весь Blood записал! Вчера-сегодня уже посмотрел несколько эпизодов - здорово играешь, со знанием предмета, плавное управление мышкой - такие демки приятно смотреть. Я просто поигрываю Блад иногда, с давних пор, но у тебя уже подсмотрел ряд моментов, которые сам, то ли не додумался, то ли - не привык применять. Газовый баллончик - никогда его не бросал, даже мысль не приходила, нажать алт-огонь с ним, череп - вот совсем бестолковый ствол для меня, помню, что так и не понял - зачем он выкидывается, просто стоит и все, а то, что его нужно выставлять под монстряков, и он начинает лупить по ним сам - это я только сейчас увидел, с твоих демок. Динамит под ноги себе не бросал, чтобы выше прыгать, через решетки и закрытые двери - себя им проталкивать, хех Дезматчевая техника и прыжки - так же весело смотрятся, против аи движка. В общем, много чего познавательного для меня тут. Да и записать целых 5 эпизодов, чтобы помочь человеку с движком, это тоже, нужно много желания и времени вложить - спасибо за это!

    Получается, основные эпизоды в демках уже есть, Cryptic Passage эпизод остается еще, из оригинальных. Вот с ним и раньше у меня были проблемы - записать демо можно, но проиграть его не получается. В Cryptic.exe "сидит" параметр командной строки -nodemo, в этом случае - Blood.exe вообще не проигрывает демки, ни в круге, ни по команде -playback. Пробовал в hex-е убирать -nodemo из Cryptic.exe, разными способами, все равно нет старта проигрывания демо. Ты с таким не сталкивался? Или, может, подскажешь - как проиграть демки для Cryptic Passage? В данном случае, меня больше интересует решение для дос-оригинала. BloodGDX так же, пока ошибается, при попытке проиграть демо первой карты Cryptic Passage - он загружает E1M1 с обычного, первого эпизода. Это М210 поправит, конечно, если захочет, но вот как проиграть на оригинале?

    На счет десинков, то тут может быть все что угодно, от редкого стечения обстоятельств в движке, до редкой игровой ситуации. Иногда бывает - 10 человек пишут десятки демок для одной карты и все нормально, но потом, записывается очередная - в десинке. У меня есть небольшой опыт в этом, но на Дум-движках. Если, данный десинк в моей демке, быстро не найдется, то я бы пока не искал, подождал следующего.
     
    MAN-biker нравится это.
  6. give_all

    give_all

    Регистрация:
    12 апр 2012
    Сообщения:
    14
    Можно просто заменить оригинальные ресурсы ресурсами криптика, и запускать игру обычным блад.ехе. В то же время делал себе батник для быстрого переключения туда-обратно и успел записать пару демок. Но демки скучные) Играл в них с одной клавы и без авторана, чтобы посмотреть, как поведет себя порт.

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

    Вложения:

    • cryptic.zip
      Размер файла:
      26,6 КБ
      Просмотров:
      44
    PVS и MAN-biker нравится это.
  7. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    @PVS, спасибо за демку, обязательно посмотрю, что там не так, исправлю). По поводу openal, openal32.dll трогать нельзя, это версия чисто от libgdx, и я как не пытался обновить до 1.18 у меня не получилось...из-за этого пришлось юзать тормозной JNA, а чтобы не было конфликтов со старым openal, я положил jar вторую либу - nopenal32.dll, вот ее то ты и можешь попробовать подменить, JNA понимает все dllки, главное, чтобы названия методов внутри были такими же. Ну и отпишись, мне тоже интересно как это все работает на старом железе))
     
    MAN-biker нравится это.
  8. PVS

    PVS

    Регистрация:
    4 дек 2009
    Сообщения:
    34
    М210
    Если оно интересно, запускаю на таком железе: начальный пень-3 550МГц, RIVA TNT2, 400 с лишним памяти, Win2k SP4, JRE 1.6.0_15. На 640х480, всё дополнительное в минимум/откл - вполне нормально шевелится твой BloodGDX, в сложных сценах со взрывами и большим количеством монстров - просадки до 10fps, в среднем - около 30, бывает и 100.

    Попробовал подменять nOpenAL32.dll в temp и внутри самого BloodGDX.jar - не помогает, звука нет. Из того, что у тебя в темпе - только dll, имя которых начинается на gdx и lwjgl.dll - совместимы с Win2k, остальные нет, в том числе - не совместим JNA (у меня в темпе, сейчас он такой jna3716804646186504824.dll).

    Я прикреплю свой лог, запущено как: Java -jar BloodGDX.jar, можешь глянуть, но я бы на твоем месте - не тратил на это время, Win2k не актуальна уже давно, но мин. требования BloodGDX для винды - тогда лучше поставить в ХР, если бы не было музыки - то это обычное дело, а без sfx звука - совсем скучно на Win2k :) Хотел еще спросить про память, я тут часто упираюсь в какие-то 63МБ, не пойму, кто их ограничил - то ли порт, то ли джава, то ли система. Не нашел, где увеличить эту память, могу и 128 дать, хватает. В этом логе видно - опять упал по java.lang.OutOfMemoryError: Java heap space.

    Другой вопрос: если поднимаю взгляд вверх, то вижу край текстуры неба, это только у меня так или у всех?
    BloodGDX-Sky.png

    Из основого, что я хотел проверить - BloodGDX действительно совместим с оригинальным демо форматом, и это здорово. Сразу, несколько моих хотелок по демкам, которые могут хотелками и оставаться, я просто озвучу:
    - оригинальный движок, при проигрывании демок в круге, показывает главное меню только раз, перед началом проигрывания первой демки - BloodGDX открывает меню постоянно, при стартах следующих демок в круге, это мешает нормально смотреть "плейлист";
    - возможность ставить на паузу проигрывание демо;
    - возможность открывать карту, во время проигрывания демо;
    - показывать экран статистики, после окончания демки и перед началом следующей в круге, лучше таймером, в секунд 5-10, чтобы не требовалось жать клавиши для продолжения, а можно - так и так;
    - к счетчикам kills/secrets - добавить items на карте, это то, что помещается игроку в девайсы/рюкзак (аптечки, ботинки, скафандры и пр.)
    - добавить нормальный таймер нахождения игрока на карте, сразу в часах:мин:сек, который может отображаться на HUD, или только на карте, или, хотя-бы, только на финальном экране статистики уровня, чтобы знать время прохождения уровня в сингле или в демках;
    - конечно, возможность записывать демки в оригинальном формате, причем, если делать - так сразу с возможностью перехода на следующую карту, т.е. не останавливать запись в конце уровня, чтобы иметь возможность - записать эпизод целиком в одном демо, если кто-то сдюжит такое. Оригинал это не проиграет, да, по идее - будет остановка в конце первого уровня, но вот уже есть и NBlood, который так же, пока только проигрывает оригинальные демки, можно быть совместимым с ним (или ему с BloodGDX), в этом моменте, по договоренности.
    - добавить кнопку/команду остановки проигрывания/записи демо, что можно так же использовать, для пропуска текущего демо и перехода к следующему, при просмотре демок в круге/плейлисте.
    - при записи демо - отключать счетчики kills/secrets принудительно, т.к. это чит и не честно, против записи под оригиналом, хочешь записать max - должен знать карту целиком сам, до последнего монстряка и секрета, хотя тут, могут быть разные мнения.

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

    give_all
    Спасибо еще раз, твой батник помог, посмотрел демки Cryptic Passage. Возможно, некоторые или многие люди на этом форуме - когда-то были "трактористами", я таким был точно :) Потому, твои тракторные демки, так же, весьма интересны, хоть ты их и записывал, только в тестовых целях.
     

    Вложения:

    MAN-biker и Neitan нравится это.
  9. MAN-biker

    MAN-biker

    Регистрация:
    17 авг 2008
    Сообщения:
    4.171
    Даже не знал про такое явление как "ДЕМОДРОЧЕРЫ"!
    Открываю для себя новое явление в этом мире...
     
  10. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Запусти программу так: java -jar bloodgdx.jar -Xmx128, так ты дашь машине больше памяти. Но для некоторых аддонов и 128мб может не хватить, т.к они загружаются с уже загруженным blood.rff, а не как это было в досе (плата за запуск аддонов из меню) ну и с управлением памятью у меня в проге есть изъяны :)
    --- добавлено 24 фев 2019, предыдущее сообщение размещено: 24 фев 2019 ---
    Мда, с openal все сложно...но у меня в планах написать драйвер звука и с использованием Java-звучалки, тогда и 2000я сможет работать со звуком) Когда до этого дойдут руки, пока не знаю.

    Также на счет записи демок - сделать можно, но пока есть более важные моменты. Записать сразу несколько уровней подряд тоже сложно...изза синхронизации и сброса счетчиков после каждого уровня....в общем этот геморой того не стоит)
     
    Oldfrag и MAN-biker нравится это.
  11. Valeran

    Valeran

    Регистрация:
    10 ноя 2012
    Сообщения:
    76
    @M210 Помоги, пожалуйста, решил отмазаться апскейленными нейросетью текстурами, положил кучу архивов в папку autoload, и из большей части он просто не грузит def файлы и они не погружают текстуры. Плюс как дать больше памяти для паков текстур?
     
  12. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    также, как я написал постом выше...

    При загрузке zip архива, порт проаеряет наличие ОДНОГО def файла с тем же названием, что и у самого архива. а в этом defe должны быть прописаны остальные defы, если они есть
     
    MAN-biker нравится это.
  13. PVS

    PVS

    Регистрация:
    4 дек 2009
    Сообщения:
    34
    Что-то не добавляет это памяти для меня, все равно вижу это:
    ***** Heap utilization statistics [MB] *****
    on id : create
    Total Memory: 49
    Free Memory: 21
    Used Memory: 27
    Max Memory: 63

    При добавлении -Xmx128 - должно стать Max Memory: 128? Или я ошибаюсь? При этом, на запуске BloodGDX свободно около 250МБ RAM в системе. Мне, как ты понимаешь - особо не до аддонов, т.к. порт иногда падает по памяти уже на оригинальных уровнях, без аддонов.
     
    Последнее редактирование: 26 фев 2019
  14. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Да, но Java еще вроде не позволяет выделить больше определенного значения, уже не помню, толи больше половины физической памяти, толи еще какого то значения. Может причина в этом, не знаю.
     
  15. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Прошу прощения, функцией расширения памяти пользуюсь очень редко, поэтому написал не совсем правильно :)
    Писать надо так: java -Xmx256m -jar bloodgdx.jar
    -Xmx должен стоять перед java.exe, а не после -jar....после jar идет передача параметров самой программе, а не яве. Ну и надо добавлять m в конце
     
  16. MAN-biker

    MAN-biker

    Регистрация:
    17 авг 2008
    Сообщения:
    4.171
    Думаю, что еще не маловажно:
    1. Разрядность ОС.
    2. Объём памяти (свободной физической).
    3. Есть ли доступный НЕПРЕРЫВНЫЙ свободный кусок в физической памяти нужного размера.
     
  17. PVS

    PVS

    Регистрация:
    4 дек 2009
    Сообщения:
    34
    Так заработало, Max Memory устанавливается в то значение, которое задаю. Немного потестировал, вроде больше не падает там, где раньше были проблемы. Вообще странно, получается, вопрос на счет этой памяти, я первый тебе задал? Т.е., у других, на современных ПК и осях - проблем тут не бывает? Если не задавать -Xmx - какое значение у тебя в Max Memory получается, на нормальном ПК, то же - 63 МБ? Просто, интересно...
     
    MAN-biker нравится это.
  18. MAN-biker

    MAN-biker

    Регистрация:
    17 авг 2008
    Сообщения:
    4.171
    Я точно не помню, но с джавой под игру я отдельно плясал с бубном, ибо та, что у меня в системе была установлена (под другие проекты и задачи) не работала.
    И параметры виртуальной машины я тоже кажется под себя подгонял, просто это уже было не столь важно.
     
  19. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    У меня на рабочем компе JRE8 стоит, там выделение 256мб, это хватает. На современных компах обычно ставят JRE10 и выше, там выделение 4гб
     
    PVS нравится это.
  20. Valeran

    Valeran

    Регистрация:
    10 ноя 2012
    Сообщения:
    76
    Я таки не пойму, где эту команду прописывать и как на увеличение памяти? Может есть видеоинструкция
     
  21. MAN-biker

    MAN-biker

    Регистрация:
    17 авг 2008
    Сообщения:
    4.171
    Какую инструкцию? По работе с виртуальной машиной JAVA?
    Ты чего запускаешь, BloodGDX.jar? А что такое файлы *.jar? Посмотри, чем они у тебя в системе открываются. Очевидно каким-то java.exe или типа того, т.е. этой виртуальной машине передаётся в кач-ве параметра имя JAR-файла. Соответственно, в качестве других параметров можно ещё что-то джаве указывать.
    Поэтому создаёшь или ярлык на JAVA где потом вписываешь все нужные параметры, либо создаёшь командный файл, где всё то же самое.
    В итоге, там будет строка типа такой:
    java -Xmx128 -jar bloodgdx.jar
    где
    java - сама виртуальная джава-машина (java.exe)
    bloodgdx.jar - имя исполняемого файла, который ты в этой джаве запускаешь
    Xmx128 - размер памяти (maximum Java heap size), там много разных типов, кури мануалы по джаве, либо пользуйся готовыми строками для запуска.

    Запусти в консоли команду
    cmd /k java -?
    И посмотри какие там есть опции.
    Тебя интересует в вопросе выше эти:

    cmd /k java -X
     
    Последнее редактирование: 12 мар 2019
    Valeran нравится это.
  22. Valeran

    Valeran

    Регистрация:
    10 ноя 2012
    Сообщения:
    76
    Разобрался как запустить с расширенной оперативной, обмазался нейросетевыми
    текстурами, теперь фпс высокий под 200, но стоит почему то появится спецэффекту на экране (подбор здоровья, урон, искажения экрана от яда пауков) как игра начинает фризить по полминуты, что эта?
     
    Последнее редактирование: 7 мар 2019
    MAN-biker нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление