Перейти к содержанию
Форум Dosgames

Dangerous Dave (Опасный Дэйв) (1,2,3,4). Всё об игре.


Crazy Daver

Рекомендуемые сообщения

Помоги хоть с чем нибудь разобраться!

А зачем тебе это нужно? Собрался свой редактор карт делать или что-то подобное?

Помоги хоть с файломи уровней - буду очень благодарен!

Насколько подробно всё расписывать? Навыки программирования или базовые знания информатики имеются?

Не люблю игры сделанные на Game Maker'е

Почему?

но по моему редактор уровней на нём вполне реально создать

На нём можно почти всё, что угодно сделать.
Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 727
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Про файлы уровней:

(Тут не вся информация, постепенно буду добавлять ещё).

Чтобы можно было редактировать уровни, нужно их сначала распаковать. Оригинальные файлы уровней сжаты алгоритмом RLEW.

В данном случае он работает следующим образом: если есть какие-нибудь два байта, которые повторяются подряд не менее четырёх раз

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

то он заменяет их на следующие 6 байт: первые два байта (FE FE) это знак того, что здесь информация сжата, следующие два это количество повторов, следующие два – сами повторяющиеся байты.

Пример: если была строка AB CD AB CD AB CD AB CD, то получится FE FE 04 00 AB CD.

Распаковывать надо обратным методом.

Вот, написал распаковщик уровней на Pascal'е, могу код выложить. Для распаковки надо положить файл в папку с уровнями и запустить.

Структура файлов:

Изображение

Height – высота уровня

Width – ширина уровня

Там ещё после количества плоскостей есть информация о версии TED редактора карт, но она ни на что не влияет.

Номера тайлов идут вот так:

0 1 2 ...... 12

13 14 15 .. 25

...

845 846… 857

Сами тайлы. Размер рисунка 208х1056, соответственно 208/16=13 тайлов в ширину и 1056/16=66 тайлов в высоту.

Для наглядности сделал рисунок.

(Пример уровня размером (6х6) в редакторе 3EPHOEd'а и его шестнадцатеричного кода в hex редакторе).

Коды:

монстры

FF00 Дэйв

0001 зомби

0002 бабуля с ножом

0003 слизь

0004 призрак

0005 призрак

0007 огн. череп

0009 оборотень

000B босс1

000C босс2

000D Делберт

бонусы

000E красный

000F мешок

0010 синий

0011 свеча

0012 сундук

0013 кепка

двери с бонусами

0680 кепка

0180 красный

0280 мешок

1000 синий

1100 свеча

1200 сундук

Изменено пользователем Crazy Daver
Ссылка на комментарий
Поделиться на другие сайты

Исходник пожалуйста выложи, и если я создам свой map editor, можно там твой код использовать?

И что такое "размер файла'' и ''Размер плоскостей"?

Изменено пользователем kabuto_
Ссылка на комментарий
Поделиться на другие сайты

Crazy Daver - ты кто по профессии если не секрет, не программист ли?

Твой распаковщик - высший класс!!!

А можеш такой-же маленький упаковщик написать?

Ссылка на комментарий
Поделиться на другие сайты

О распаковке уровней и редактированию их в HEX редакторе, думаю стоит написать подробную статью. Я на сайте хочу разместить.

Перевод той статьи продвигается, но не быстро. Перевожу через переводчик Google, а потом редактирую. К концу месяца, думаю, будет готово. Размещу её на сайте и здесь. Очень ценный материал.)

Изменено пользователем Aspirin18
Ссылка на комментарий
Поделиться на другие сайты

Исходник пожалуйста выложи

Вот архив с новым распаковщиком (лишний код убрал), упаковщиком и их исходниками.

Запаковщик работает на файлах с именами LEVEL0*U.dd2. Если попытаться запаковать уже сжатые файлы, то игра при загрузке такого уровня будет вылетать.

если я создам свой map editor, можно там твой код использовать?

Конечно.

Ичто такое "размер уровня'' и ''Количество плоскостей"?

Размер уровня это длина и ширина.

Про плоскости (перевод с ”planes”) я сам не уверен. Взял эту информацию про устройство файлов на форуме http://keenmodding.org/.

Там вообще много чего интересного можно найти.

Crazy Daver - ты кто по профессии если не секрет, не программист ли?

Нет, программирование просто хобби.

Твой распаковщик - высший класс!!!

Распаковщик самый примитивный.

А можеш такой-же маленький упаковщик написать?

Могу. См. выше. И он на самом деле довольно большой. Для примера, вот что можно вместить в те же 4 Кб.

Запускать лучше версию в разрешении 1024х768. Остальные версии даже на мощных компьютерах, скорее всего, будут подтормаживать. Грузиться интро будет минуты полторы-две.

О распаковке уровней и редактированию их в HEX редакторе, думаю стоит написать подробную статью. Я на сайте хочу разместить.

Могу ещё более подробно всё описать и добавить комментарии в исходные коды распаковщика и запаковщика. Изменено пользователем Crazy Daver
Ссылка на комментарий
Поделиться на другие сайты

размер файла в распакованном виде 4*H*W+36

H=6

W=6

6*6*4=144

144+36=180

ЗНАЧИТ размер файла = 180, тогда что такое AC 00 00 00 ?

Ссылка на комментарий
Поделиться на другие сайты

C размером файла разобрался, но твоя формула неверная.

За упаковщик и разрешение - спасибо!!!

Ссылка на комментарий
Поделиться на другие сайты

Я ошибся, в оригинальных файлах уровней (в первых двух байтах) указан размер H*W*4+32, хотя настоящий размер файлов H*W*4+36 байт.

И ещё одна ошибка есть в редакторе 3EPHOEd'а. Если создать новый уровень, то размер, указанный в файле уровня будет равен H*W*4+28, а не H*W*4+32.

Поэтому там должно быть не AC 00 (172), а B0 00 (176), хотя настоящий размер будет равен B4 00 (180).

Ссылка на комментарий
Поделиться на другие сайты

Сначала идут 36 байт, где указывается размер незапакованного файла уровня, его параметры (длина и ширина) и т.п.

Далее идут номера тайлов для каждой ячейки уровня (ячеек соответственно H*W штук), и каждый номер занимает 2 байта т.е. размер равен H*W*2 байт, следом идут номера обектов для каждой ячейки уровня, и опять каждый номер занимает 2 байта т.е. H*W*2 байт.

Суммируем: 36+H*W*2+H*W*2=36+4*H*W

Ссылка на комментарий
Поделиться на другие сайты

Сначала идут 36 байт, где указывается размер незапакованного файла уровня, его параметры (длина и ширина) и т.п.

Далее идут номера тайлов для каждой ячейки уровня (ячеек соответственно H*W штук), и каждый номер занимает 2 байта т.е. размер равен H*W*2 байт, следом идут номера объектов для каждой ячейки уровня, и опять каждый номер занимает 2 байта т.е. H*W*2 байт.

Суммируем: 36+H*W*2+H*W*2=36+4*H*W

и минус те 4 байта в которых это указано. Изменено пользователем kabuto_
Ссылка на комментарий
Поделиться на другие сайты

Ну наконец-то я с кем-то онлайн встретился! Привет flame3!!

Ура!!! Все онлайн!!! Привет Crazy Daver!

Изменено пользователем kabuto_
Ссылка на комментарий
Поделиться на другие сайты

А где можно взять тайлы из dangerous dave 2 порезаные на квадратики па самим тайлам?

И кстати всем советую зайти сюда и написать отзыв тут.

Ссылка на комментарий
Поделиться на другие сайты

А где можно взять тайлы из dangerous dave 2 порезаные на квадратики па самим тайлам?

Нигде. А зачем их резать?
Ссылка на комментарий
Поделиться на другие сайты

Так проще создать редактор.

Сделав из одного изображения восемьсот? Звучит сомнительно.

PS Кто-нибудь ходил по моей ссылке?

Помимо бага в начале игры это обычный Dangerous Dave and Brutal Bob.
Ссылка на комментарий
Поделиться на другие сайты

Сегодня второму Дэйву исполнилось 20 лет! Всех с праздником! :)

Вот, написал программку, которая делает полные скриншоты уровней.

Инструкция: положить саму программу и файл tiles.bmp в папку с уровнями, распаковать уровни, если они запакованы (распаковщик прилагается), запустить её.

Примечание: имена файлов уровней должны быть такого вида: LEVEL0*.DD2

Кстати, Aspirin18 , что там Джон Ромеро, ничего ещё не выложил по Дэйву?

Ссылка на комментарий
Поделиться на другие сайты

Кстати, Aspirin18 , что там Джон Ромеро, ничего ещё не выложил по Дэйву?

Нет, ничего не выложил. :)

Сегодня второму Дэйву исполнилось 20 лет! Всех с праздником! smile.gif

Хорошая дата. С Праздником! :)

Для примера, вот что можно вместить в те же 4 Кб.

Запускать лучше версию в разрешении 1024х768. Остальные версии даже на мощных компьютерах, скорее всего, будут подтормаживать. Грузиться интро будет минуты полторы-две.

Очень красивый видео ролик. Это сжатый видео ролик или что это вообще такое? Как так возможно вместить двухминутный ролик достаточно высокого качества в 4 кб? Таким способом любой ролик можно сжать? Изменено пользователем Aspirin18
Ссылка на комментарий
Поделиться на другие сайты

Очень красивый видео ролик. Это сжатый видео ролик или что это вообще такое? Как так возможно вместить двухминутный ролик достаточно высокого качества в 4 кб? Таким способом любой ролик можно сжать?

Это демосцена (ещё описание).

Вот ещё 3D шутер от первого лица размером 96Кб (описание, сайт, скачать).

По Дэйву:

Разобрался со структурой файла EGATILES.DD2. В скором времени можно будет вставлять свои тайлы в игру. Уже начал продумывать алгоритм для программы, которая будет конвертировать bmp изображение с тайлами в файл EGATILES.DD2.

Изменено пользователем Crazy Daver
Ссылка на комментарий
Поделиться на другие сайты

Добавил на сайт упаковщик, распаковщик, программку которая делает скриншоты уровней, редактор уровней TED5, картинки по Дэйву.)) Завтра добавлю полные скриншоты уровней для всех аддонов, для которых ещё нет. Кстати, спс за программку. :) А перевод статьи выложу в ближайшее время, после как всё несколько раз перепроверю и подкорректирую.

Изменено пользователем Aspirin18
Ссылка на комментарий
Поделиться на другие сайты

Вот и обещанная tiles_bmp_to_dd2.

Программа конвертирует изображение с тайлами tiles.bmp в файл EGATILES.DD2.

Теперь можно заменять изображения стандартных тайлов своими.

Ограничения:

1) Свойства тайлов нельзя менять. Например, если вы нарисуете что-либо на месте тайла с лестницей, то и в игре этот тайл всё-равно будет иметь свойства лестницы.

2) При рисовании использовать можно только те 16 цветов, которые присутствуют в игре.

Изменено пользователем Crazy Daver
Ссылка на комментарий
Поделиться на другие сайты

Файл "tiles.bmp"это просто рисунок. Если нарисовать что нибудь, то я могу случайно задеть кусок другого тайла. Можешь нарисовать "tiles.bmp" с сеткой, разделив тайлы на маленькие квадратики.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×
×
  • Создать...