Как создать свою игру на ZDooM ?
| |
Alkosha | Дата: Вторник, 22 Сентября 2015, 09:06 | Сообщение # 1 |
участник
Сейчас нет на сайте
| бОльшая часть туторов по думовским движкам касается лишь созданию очередного мода игры ДУМ.
Меня же интересует более углублённая модификация.
С карто-строением в GZDoomBuilder малость разобрался. Могу уже сделать многоэтажный уровень. Возможно многих нюансов ещё не знаю Например, с 2д-скайбоксом непонятно. Это же получается своего рода шейдер плоскости (F_SKY). Но применим он только к потолку. К стене применить его нельзя (для отображения панорамы, находясь на крыше здания, или же для вида из окна внутри здания). В принципе, это не так важно. Можно сделать и 3д-скайбокс в виде огромного сектора вокруг всей карты.
Для изменения шрифтов в меню есть утилита... Но как изменить само меню, в смысле пункты меню (настройки) чтобы не были думовскими (в моём случае Zdoom-овскими) ? Возможно ли это изменить ACS-скриптами или нужно перекомпилировать исходники? Тот же вопрос касается и игрового интерфейса.
Так же с ресурсами ещё не пробовал работать. Пошарился чуток в SLADE. Пока мутновато всё. Насколько я понимаю, оригинальные WAD'ы обязательно должны присутствовать. А уже в нём заменяются спрайты противников, звуки, текстуры на свои. А так, чтоб создать свой WAD с нуля, и запихивать постепенно в него текстурки, спрайты, звуки - нельзя?
Для начала хотелось бы своего родa hello world сделать. Есть 3д-максовая модель. Отрендерить её с 8-ми сторон, и закинуть в WAD как статический объект.
То есть спрайт не будет ни как реагировать на игрока, только когда ходишь вокруг него, меняется угол обзора пререндеренного спрайта.
|
|
| |
Hobo_Gus | Дата: Вторник, 22 Сентября 2015, 10:19 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Я видел total conversion моды (т.е тотально переделываеться в них все), они от дума (Zdoom) брали только движок во многом, но - меню так и не сильно менялось). И в ваде вроде могут только те что надо заменить файлы. А пункты меню судя по всему тоже можно менять, взять Brutal Doom хоть к примеру. К слову в Project Brutality даже менюшка изменена чутка. По zdoom насколько мне известно есть форум, так вот туда тебе и надо.
Weedman
|
|
| |
OpenGOO | Дата: Вторник, 22 Сентября 2015, 11:16 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| http://zdoom.org/wiki/Menus читаем Changing the menus
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
Alkosha | Дата: Воскресенье, 27 Сентября 2015, 14:42 | Сообщение # 4 |
участник
Сейчас нет на сайте
| Цитата Hobo_Gus ( ) По zdoom насколько мне известно есть форум, так вот туда тебе и надо.
не силён в инглише.
А русскоязычного комьюнити не нашёл. Разве что iddqd.ru , но там мало чем помогут, да и забанили меня там сразу через несколько часов после регистрации, хотя ни единого сообщения нигде не оставлял. Мож ник подозрительный им показался. Добавлено (22 сентября 2015, 21:21) --------------------------------------------- Ухххх... с текстурами и спрайтами вообще не ясно, что к чему. Добавлено (27 сентября 2015, 14:42) --------------------------------------------- Свои текстуры осилил добавлять. Только теперь не знаю, как быть с тайлингом, как растянуть текстуру на всю грань сектора.
|
|
| |
linux | Дата: Понедельник, 12 Октября 2015, 23:34 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Зачем вообще использовать именно этот двиг?
|
|
| |
Alkosha | Дата: Пятница, 16 Октября 2015, 11:56 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Цитата linux ( ) Зачем вообще использовать именно этот двиг?
А почему бы и нет?
Вы не подумайте, я не предпочитаю кичиться "олдскулом" в духе шкальников >2000-ого года рождения
Дело всё в том, что для серьёзных двигателей типа UE нужно рисовать качественные текстуры и не менее качественные модели лепить (в противном случае получим результирующую картинку уровня перво-дума, если не хуже... так зачем "платить" больше? ).
К тому же я адепт минимализма. И приятно, когда программа не особо требовательна к железу. Zdoom пашет даже на первом пентиуме без 3д-ускорителя.
|
|
| |
FlyOfFly | Дата: Пятница, 16 Октября 2015, 12:23 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Цитата linux ( ) Зачем вообще использовать именно этот двиг? потому что многие начинающие пользователи и так делают одно этажные уровни и нормальные 3д движки им мало пригодятся, а псевдо 3д движки пойдут для их целей достаточно. Зачем для Dendy'ка покупать плазму?
Сообщение отредактировал FlyOfFly - Пятница, 16 Октября 2015, 12:24 |
|
| |
Alkosha | Дата: Пятница, 16 Октября 2015, 13:16 | Сообщение # 8 |
участник
Сейчас нет на сайте
| Цитата FlyOfFly ( ) потому что многие начинающие пользователи и так делают одно этажные уровни
Соль в том, что мне как раз многоэтажный уровень нужен (в стиле Zero Tolerance на мегадрайве. Только там уровни всё равно были двухмерными, а подгружались динамически). На Zdoom могу сделать несколько плоскостей по вертикали, но сделать именно лабиринты будет крайне сложно, учитывая по-секторную специфику.
Ещё есть вариант сделать телепотацию из сектора в сектор. Надо убрать анимашку телепортации, озвучивание, и сохранить скорость вектора движения игрока.
Так же кто-то за бугром делал порталы в Zdoom (как в дюке-нюкеме ТРИ ДЭ). То ли скриптами, то ли модифицировали сорсы движка, я так и не понял.
Сообщение отредактировал Alkosha - Пятница, 16 Октября 2015, 13:41 |
|
| |
TLT | Дата: Пятница, 16 Октября 2015, 13:57 | Сообщение # 9 |
Сейчас нет на сайте
| Цитата Alkosha ( ) многоэтажный уровень нужен (в стиле Zero Tolerance на мегадрайве. Сделай также швами 2 локации.
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
Alkosha | Дата: Пятница, 16 Октября 2015, 19:44 | Сообщение # 10 |
участник
Сейчас нет на сайте
| Цитата TLT ( ) Сделай также швами 2 локации.
не понел...
Это как?Добавлено (16 октября 2015, 19:44) --------------------------------------------- Между прочим, тут такая непонятная штука происходит: В редакторе одно, в движке совсем другое.
Причём SLADE тоже выделывался. Названия у текстур PLASTINA1 и PLASTINA2 А PLASTINA2 отображалась там, как PLASTINA1. Пришлось переименовать текстуру просто- PLAST
И ещё один момент Просвет между тайлами (хотя тайлы 128*128 пикселей.):
|
|
| |
linux | Дата: Пятница, 16 Октября 2015, 21:20 | Сообщение # 11 |
частый гость
Сейчас нет на сайте
| Возьми к примеру Irrlicht, тоже по сути ретро движок (хотя поновее и возможности побогаче), тоже кстати запускается на компах, где нет 3D (у него же в комплекте пара софтовых рендеров) Результат вроде должен быть лучше, в добавок на русском полно информации
|
|
| |
Alkosha | Дата: Суббота, 17 Октября 2015, 00:29 | Сообщение # 12 |
участник
Сейчас нет на сайте
| Цитата linux ( ) Возьми к примеру Irrlicht, тоже по сути ретро движок (хотя поновее и возможности побогаче), тоже кстати запускается на компах, где нет 3D (у него же в комплекте пара софтовых рендеров)
Уже было. Причину, по которой я отказался от него уже указывал. http://gcup.ru/forum/69-45974-1
Слишком низкоуровневый, чтобы вообще зваться движком. Скорее - библиотека. Да и форум по нему держится благодаря 3-ём 4-ём участникам, и те уже скептически настроены на дальнейшее его существование.Добавлено (17 октября 2015, 00:29) ---------------------------------------------
Цитата linux ( ) тоже кстати запускается на компах, где нет 3D (у него же в комплекте пара софтовых рендеров)
Софтовый рендерер в нём ооочень кривой. Вы этот рендерер видели вообще? Нет какого-либо тонирования, поддержки прозрачности (даже однобитной), коррекция перспективы (афинное преобразование) напрочь отсутствует (даже на первых плойках и то так сильно не карёжатся текстуры), отсечение трианглов не менее кривое, шаманство с near\far камеры не помогает, отсекает треугольники даже попадающие в поле зрения. Z-буфер с огромной погрешностью. Вообще не понимаю смысл от этого софтового рендерера. Да и к тому же на старых компах под win9x движок работать не будет, так как заточен под ядро NT.
|
|
| |
OpenGOO | Дата: Суббота, 17 Октября 2015, 10:07 | Сообщение # 13 |
почти ветеран
Сейчас нет на сайте
| Цитата Alkosha ( ) Да и к тому же на старых компах под win9x движок работать не будет Неужели это еще актуально?)
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
linux | Дата: Суббота, 17 Октября 2015, 11:57 | Сообщение # 14 |
частый гость
Сейчас нет на сайте
| Цитата linux ( ) Софтовый рендерер в нём ооочень кривой. Вы этот рендерер видели вообще? Вообще то их там два, один из них очень даже приличный...
Цитата linux ( ) Слишком низкоуровневый, чтобы вообще зваться движком. Скорее - библиотека. А мне наоборот показалось, и я взялся потихоньку свой делать - не люблю клгда мне контроль ограничивают ))
Цитата linux ( ) Да и к тому же на старых компах под win9x движок работать не будет, так как заточен под ядро NT. Тогда встречный вопрос, а ZDOOM будет работать на современных ОС, без эмулятора?
|
|
| |
FlyOfFly | Дата: Суббота, 17 Октября 2015, 12:24 | Сообщение # 15 |
заслуженный участник
Сейчас нет на сайте
| Цитата linux ( ) А мне наоборот показалось, и я взялся потихоньку свой делать - не люблю клгда мне контроль ограничивают ))
тоже самое, хочешь сделать хорошо, делай сам Цитата linux ( ) Тогда встречный вопрос, а ZDOOM будет работать на современных ОС, без эмулятора?
да, на него ещё как бы моды выходит, Цитата Hobo_Gus ( ) взять Brutal Doom хоть к примеру. К слову в Project Brutality даже менюшка изменена чутка.
|
|
| |
Alkosha | Дата: Суббота, 17 Октября 2015, 19:10 | Сообщение # 16 |
участник
Сейчас нет на сайте
| Цитата linux ( ) Вообще то их там два, один из них очень даже приличный...
А, ну да. Бёрнинг-софтвэйр... И очень даже требовательный к железу. Пробовал запустить на интел-кор ай 5-ом в 3.2 Гигагерца экземпл Quake3Map - FPS скачет то 30 то 55. Даже если бы DLL стартанула на 98-ой винде первопентиума, он бы один кадр в 10 секунд отрисовывал в лучшем случае. Софтовый рендерер в иррке так, для галочки.
Цитата linux ( ) А мне наоборот показалось, и я взялся потихоньку свой делать - не люблю клгда мне контроль ограничивают ))
Чтоб допилить этот движок (библиотеку) до уровня зэт-дума, нужно не одну сотню тыщ строчек кода дописать. На ирлихте из доведённых до ума проектов очень мало. Стратежка с корабликами, да тетрисы всякие. Дилемма в том, что для создания именно игры, а не техно-дэмки помимо программиста, нужен ещё и художник\моделер. На этом движке (библиотеке) шаманят в основном программисты, и делают всякие демки с той низкополигональной md2-моделью гнома. В визуальном плане всё очень печально, не смотря на кучу шейдеров, которые пытаются прикрутить эти самые программисты (напоминает ситуацию с клонами quake III arena на линуксах: шейдеров дофига, но всё равно графика кривая).
Цитата linux ( ) Тогда встречный вопрос, а ZDOOM будет работать на современных ОС, без эмулятора? Да. Последняя версия порта датирована 2013-ым годом. И сам движок кроссплатформенный. При желании можно даже на андроиде настроить через doom touch.
Цитата OpenGOO ( ) Неужели это еще актуально?) Для меня - да. А иначе, какую тогда ОС для игыр ставить на старенькую машину без ТРИ ДЭ ускорителя ? Хоть на Pentium MMX вполне адекватно работает и двухтыщька, но 98-ка кошернее.
|
|
| |
Hobo_Gus | Дата: Суббота, 17 Октября 2015, 19:42 | Сообщение # 17 |
постоянный участник
Сейчас нет на сайте
| Если вернутся к названию темы - инфа есть только на английском, а если на русском что-то и найдется, то мало. Активное более-менее комьюнити у дума где-то в америках.
Цитата Alkosha ( ) не силён в инглише. Придется как-то справляться) Я бы поиграл во эту игру наверно. До сих пор играю в дум и очень его люблю.
Weedman
|
|
| |
linux | Дата: Суббота, 17 Октября 2015, 20:45 | Сообщение # 18 |
частый гость
Сейчас нет на сайте
| Alkosha, тогда дерзай ) Не забывай инфой делится, по движку, на русском... Мало ли кому понадобится
|
|
| |
Alkosha | Дата: Среда, 11 Ноября 2015, 14:33 | Сообщение # 19 |
участник
Сейчас нет на сайте
| С фонтами на статус-баре не могу расчехлиться. Вывести сообщения своим фонтом могу (через фонт-генератор создал люмп, в слэйде импортровал, и прежде чем вывести текст, в скрипте прописываю SetFont("FONT"); где FONT - название созданного люмпа). А как же быть со статусбаром?
Добавлено (23 октября 2015, 13:54) --------------------------------------------- Кажется понял. Надо создать люмп с названием SBARINFO и в нём уже прописывать нужные атрибуты, в том числе указать шрифты возможно.
Это в теории. Вечером проверю.
Добавлено (24 октября 2015, 11:23) --------------------------------------------- Со шрифтами статусбара разобрался.
Теперь с 2д скайбоксом расхлёбуюсь. В оригинальном думе скайбокс F_Sky разрешением 64*64. Но когда я задаю свой скайбокс - слишком часто тайлится, будто ему нужно разрешение 512*256 или что-то около того.
Добавлено (24 октября 2015, 23:59) --------------------------------------------- Только щас узнал, что в ACS скриптах прямо как на СИ циклы работают. Сделал анимашку стены скриптом.
Код For(int i=1;i<20;i++) { Delay(30); ReplaceTextures("STENA4","STENA5"); Delay(30); ReplaceTextures("STENA5","STENA4"); }
Походу и проверка условий есть. По синтаксису очень смахивает на сишку. Только непонятен момент с функциями. То бишь, Script 1 OPEN , чем отличается от Script 1 ENTER ?... Да и вообще, если будет набор скриптов (получается, что функций), какая последовательность выполнения их?
Ещё бы сделать проверку, что выстрел попал в стену, можно было бы сделать повреждение стен. Но пока не знаю, каким образом сделать эту проверку.
с int'ом ладно, а вот дробного типа переменной похоже, что нет. Ни float ни double не подходят. Даже в примере с тригонометрией не фигурируют дробные переменные. http://zdoom.org/wiki/Cos Сплошные инты.
Добавлено (11 ноября 2015, 09:24) --------------------------------------------- Очень долго парился палитрами. Дело в том, что какую бы текстуру я не загружал, она автоматом конвертится в серые или коричневые тона (думовская индексация цветов).
Нашёл тулзу генерации *.act палитр из имеющихся текстур. Текстуры по цвету становятся уже ближе к исходному варианту.
Но так как затенение в глубину, по-секторное тонирование и прочие цвето-фильтры реализованы тоже операциями с индексами палитр, то возникает следующий артефакт
То есть если разглядывать текстуру в упор, или если в секторе освещённость 255, то текстура более-менее нормальная.
Но чуть какое тонирование, сразу кислота.
Градацию оттенков при тонировании задаёт маркер COLORMAP. Долго гуглил утилиту, для её генерации, находил лишь исходник древней проги, которую нужно компилировать ДОСовскими си-компиляторами.
Но оказывается в самой последней версии SLADE (на стадии бэты) есть опция генерации колормапы. Воть.
Как было с думовской пол-литрой.
И как стало (правда некоторые оттенки пропали, видимо при генерации файла *act. Хотя когда я создавал общую индексацию на все-все-все текстуры, эти оттенки умещались в 8 бит. В общем, кривовато пока act-палитра генерится).
Добавлено (11 ноября 2015, 14:33) --------------------------------------------- Подскажите, может кто в курсе, как сделать так, чтоб скрипт срабатывал тогда, когда игрок оказывается в определённом секторе ? И как скриптом изменить освещённость определённого сектора ?
Сообщение отредактировал Alkosha - Среда, 11 Ноября 2015, 09:28 |
|
| |
Hobo_Gus | Дата: Среда, 11 Ноября 2015, 17:54 | Сообщение # 20 |
постоянный участник
Сейчас нет на сайте
| Тебе надо однозначно на англоязычные форумы. Во всяких модах же все это уже делали, значит там есть те кто умеет.
Weedman
|
|
| |
|