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

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


Crazy Daver

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

Мой мини-проэкт

Эта недоработанная на 50% бета! Так что не ругайтесь сильно много.

Пароль к архиву: "dave". Без кавычек.

Этот архив пока никто кроме жителей этого форума не должен увидеть!

И подскажите ошибки, может я что не заметил.

Для запуска на компе требуется DirectX.

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

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

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

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

Мне пишет, что сайт временно закрыт. :( Не понимаю, как так. Перезалей на другой файлообменник, пожалуйста.

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

Скачал всё-таки.) АААААХХАААХ =)))

Ну а в общем идея неплохая. Давно хотел что-то наподобие "Survivor mod" для Дэйва. Чтобы, скажем, всякие зомби, бабки с ножами и т.п. наступали отовсюду в разумных пределах. Играть в такое будет интересно.)

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

короче вот исходник. у меня щас времени мало будет - модернизация приветствуется.

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

Я в этом чайник, причём полный и даже хуже. =) У меня с трудом то получается редактировать карты по второму Дэйву. :) Чтобы воплотить идею о Survivor Mod, сюда нужен CrazyDaver или Ar888, но он больше работает с движком Doom 2D да и вряд ли он согласится.

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

контакты харча(он разрешил выложить):

Verisomorphism Yagroups - на фейсбуке.

harchvertelol - skype.

568427934 - icq, стучитесь.

http://vk.com/mathem - почти всегда онлайн

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

Да, разрешил :)

Я в этом чайник, причём полный и даже хуже. =) У меня с трудом то получается редактировать карты по второму Дэйву. Чтобы воплотить идею о Survivor Mod, сюда нужен CrazyDaver или Ar888, но он больше работает с движком Doom 2D да и вряд ли он согласится.

А что надо сделать, подробнее. Просто уровень дейва (любой), и чтобы появлялись монстры?

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

Да, разрешил :)

А что надо сделать, подробнее. Просто уровень дейва (любой), и чтобы появлялись монстры?

речь о dave vs dragons))) ты ведь видел)))
Ссылка на комментарий
Поделиться на другие сайты

А что надо сделать, подробнее. Просто уровень дейва (любой), и чтобы появлялись монстры?

речь о dave vs dragons))) ты ведь видел)))

Когда kabuto выложил бету, у меня возникла идея сделать Survivor Mod для второго Дэйва, чтобы монстры появлялись, на очки играть. Только я не умею такое делать, а так просто поделился идеей. А с драконами тоже будет неплохо, но там много новой анимации нужно рисовать, чтобы драконы отстреливались и всё такое.))
Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте, все!

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

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

Своим редактром уровней я уже 3 месяца не занимался, и, видимо, не скоро продолжу работу, но если кому интересно, вот два его скриншота (на кнопки с надписями btn и на текстовое поле не обращайте внимания):

Новый уровень первого Дэйва от Malvineous'a.png

Пятый уровень третьего Дэйва.png

Ну а в общем идея неплохая. Давно хотел что-то наподобие "Survivor mod" для Дэйва. Чтобы, скажем, всякие зомби, бабки с ножами и т.п. наступали отовсюду в разумных пределах. Играть в такое будет интересно.)

Такое лучше делать, по-моему, как отдельный режим игры, например, как в игрушке Crimsonland, а на движке Дэйва это вряд ли реализуемо. В мой проект на GameMaker'е можно было бы такое добавить, но он заморожен на неопределённое время.
Ссылка на комментарий
Поделиться на другие сайты

Вот ещё один интересный проект:

Форум: http://kayin.pyoko.org/iwbtg/forums/index.php?topic=3712.0

Ссылка на последнюю версию: http://www.mediafire.com/?l0gzm2dmjyz

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

Похоже, что меня опередили с написанием ремейка второго Дэйва на GameMaker'е! :)

Вот ссылка >>Dangerous Dave in the Haunted Mansion on Game Maker<<

Жалко, что я раньше на yoyogames не зашёл, т.к. дата релиза игры - 24 мая 2011.

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

Нашёл ещё вот здесь полные скриншоты всех уровней первого Дэйва по ссылке отсюда.

Сюда залил архив со скриншотами.

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

Вот ещё один интересный проект

интересный, но по моему слишком сложный!

Daver, если не против то выложи свои контакты. Как мы.

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

Получилось декомпилировать эту игрушку, т.к. она написана на GameMaker'е.

Исходный файл "I Wanna be the Tribute" можно скачать здесь.

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

Daver, если не против то выложи свои контакты. Как мы.

Почтовый ящик - мой ник без пробела @yandex.ru

Skype - crazydaver

Наткнулся ещё на какую-то версию Дэйва - Dangerous Dave Returns, вот скриншоты.

Нашёл ещё торрент со всеми материалами по Дэйву с сайта Aspirin'а и торрент с версией второго Дэйва для мобильных телефонов на русском языке.

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

ага, второй дейв для мобильных лагает как Warcraft 3 на pentium3 и просит ключ.

а ключ к нему pjin9

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

Похоже, что меня опередили с написанием ремейка второго Дэйва на GameMaker'е! :)

Вот ссылка >>Dangerous Dave in the Haunted Mansion on Game Maker<<

Жалко, что я раньше на yoyogames не зашёл, т.к. дата релиза игры - 24 мая 2011.

В целом неплохой проект, но всё-же это не совсем второй Дэйв - точнее не 100% копия. Можно легко найти к чему придраться. Например, на весь экран не смог сделать.

интересный, но по моему слишком сложный!

Не то слово, сложный. Пока не поймёшь как нужно прыгнуть в той или иной ситуации пройти нельзя. Эта игрушка мне напомнила знаменитую "Марио "Равшан". Кстати, скачайте, игра прикольная - на уровнях (там их 4) творится вообще не понятно что - логике не поддаётся.)) Ну, вобщем нужно поиграть.=)

Мои контакты:

Скайп: Aspirin185

Аська: 428395128

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

В целом неплохой проект, но всё-же это не совсем второй Дэйв - точнее не 100% копия. Можно легко найти к чему придраться. Например, на весь экран не смог сделать.

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

Наткнулся на игрушку для iPhone, автор которой использовал идею и перерисованные спрайты из второго Дэйва. Скриншоты игры.

Немного игрового видео из Ghost Tower (начинается с шестой минуты):

http://www.youtube.com/watch?v=hmd6yioE00U

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

Первая бета Dangerous Dave 5, та которую создаёт Роман Панков Вконтакте: http://zvizdez.ru/download.php?view.4

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

Хотелось бы узнать, каким образом зашифрован EXE-файл и на каком языке написан. В идеале было бы дать прогу которая точно его дешифрует и распакует в ассемблер хотя бы :D хочу попробовать реализовать как раз генерацию монстров и карты больших размеров с большим количеством объектов.

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

Спасибо, вроде распаковал.

А дизассемблировать/декомпилировать точно чем не подскажете? Чтобы не тыкаться...

RecStudioWin не помогла.

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

Вообщем подумал и решил не дизассемблировать (кстати дизассемблировал, подумал и забил :D), а написать римейк, причем реально схожий с оригиналом (не требующий по гигу оперативки). Уже практически со всем разобрался (с программированием графики и так далее, проблемка только с чтением BMP 4-х бит).

Компилирую пока в Borland C++ 3.1, потом перенесу на Code::Blocks, а может и нет.

Мне нужно будет еще разобраться с форматом хранения карт и с остальными файлами (почитаю на сайте), а вот анимацию, звуки и монстров вынесу скорее всего в другой файл. То есть не в EXE будут, так как я не умею паковать ресурсы в EXE. Да оно и не надо - проще будет редактировать.

Что будет нового:

1) Карты любых размеров + любое количество объектов (ну все таки оперативки побольше надо будет).

2) Отдельный режим "арены", с генерацией монстров. Для этого режима будет свой формат карт - на них будут стоять точки генерации определенных монстров (хотя можно и обычные карты приспособить - вместо монстра ставить точку генерации). Так же будут восстанавливаться все бонусы.

3) Сетевой режим (в проекте!). Пока не знаю как внедрить (в Borland C++ 3.1), так что временно без него.

4) Можно увеличить количество монстров, добавив всех из 3-й и 4-й частей.

6) К каждому уровню можно сделать свой набор тайлов

Говорите свои пожелания и замечания - буду рад услышать.

Но так как я учусь работа будет идти не быстро, как обычно у меня, а намного медленнее. Думаю к концу февраля будет готово.

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

Вообщем подумал и решил не дизассемблировать (кстати дизассемблировал, подумал и забил :D), а написать римейк, причем реально схожий с оригиналом (не требующий по гигу оперативки).

Гиг оперативки это намёк на GameMaker? К сожалению, за универсальность и простоту приходится расплачиваться.

Там ещё многое от оптимизации зависит. Dangerous Dave in "Zombies ate Commander Keen!" ест 48 мб против 250-ти вот этого ремейка, .

Уже практически со всем разобрался (с программированием графики и так далее, проблемка только с чтением BMP 4-х бит).

В чём проблема? Я с этим форматом работал, может быть смогу чем-то помочь.

Мне нужно будет еще разобраться с форматом хранения карт и с остальными файлами (почитаю на сайте)

Про карты я уже писал: http://dg-forum.ru/topic/6594-dangerous-dave-опасный-дэйв-1234-всё-об-игре/page__st__180__p__37002#entry37002

И ещё про формат файла с тайлами: http://dg-forum.ru/topic/6594-dangerous-dave-опасный-дэйв-1234-всё-об-игре/page__st__280__p__39171#entry39171

А зачем тебе эта информация? Хочешь, чтобы твой Дэйв мог работать с оригинальными файлами?

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

Гиг оперативки это намёк на GameMaker? К сожалению, за универсальность и простоту приходится расплачиваться.

Там ещё многое от оптимизации зависит. Dangerous Dave in "Zombies ate Commander Keen!" ест 48 мб против 250-ти вот этого ремейка, .

Именно, на него. Я в нем не работал никогда, но ИМХО гиг - жирновато :)

В чём проблема? Я с этим форматом работал, может быть смогу чем-то помочь.

Буду очень рад помощи! Вообщем у меня проблема такая, что не хочет нормально картинку выводить. Вот вывод:

for(int i = 0; i < 32; i++)
	  for(int j = 0; j < 32; j += 2)
	  {
		  putpixel(j, i, (int)(buffer[16 * (31 - i) + j/2] & 0x0F));
		  putpixel(j+1, i, (int)(buffer[16 * (31 - i) + j/2] >> 4) );
	  }
Здесь мне кажется ошибка в первом putpixel :( Потому что если без него - выводится полосы через раз и вроде как все совпадает. Если справиться с этим - начну спрашивать как цвета из палитры применять, потому что так:

for(int i = 0; i < 32; i++)
	  for(int j = 0; j < 32; j += 2)
	  {
		  putpixel(j, i, palitra[(int)(buffer[16 * (31 - i) + j/2] & 0x0F)]);
		  putpixel(j+1, i, palitra[(int)(buffer[16 * (31 - i) + j/2] >> 4)] );
	  }
не получается :(

P.S. а грузится все верно.

Да, и вот весь код:

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <fstream.h>
#include <dos.h>
void init_gr(void)
{
   int gdriver = DETECT, gmode, errorcode;
   initgraph(&gdriver, &gmode, "");
   errorcode = graphresult();
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   }
}
void end_gr(void)
{
  closegraph();
}
//---------------------------------------------------------------------------
 
 
struct  head {
        short bftype; //Тип файла (BM)
        long  bfsize; //размер всего файла в байтах.
        short rez1; //зарезервированы, должны содержать нули.
        short rez2; //зарезервированы, должны содержать нули.
        long  bfoffbits; // содержит смещение в байтах от начала структуры
                         //BITMAPFILEHEADER до непосредственно битов изображения.
        long  bisize; //размер структуры в байтах.
        long  biwidth; //ширина изображения в пикселах. Для Win98/Me и Win2000/XP:
                       //если поле biCompression содержит BI_JPEG или BI_PNG,
                       //здесь указана ширина распакованного изображения.
        long  biheight; //высота изображения в пикселах. Если содержит положительное
                        //значение — изображение записано в порядке снизу вверх, нулевой пиксел
                        //в нижнем левом углу. Если значение отрицательное — изображение записано
                        //сверху вниз, нулевой пиксел в верхнем левом углу изображения.
                        //Поле biCompression должно содержать значение BI_RGB или BI_BITFIELDS.
                        //Такое изображение не может быть сжато.
        short biplanes; //содержит единицу.
        short bibitcount; //указывает количество бит на пиксел. Может принимать следующие значения:
                            //0 — имеет смысл для Win98/Me/2000/XP/. Число бит на пиксел
                                //определяет формат JPEG или PNG.
                            //1 — изображение монохромное. Член bmiColors структуры BITMAPINFO
                                //содержит два элемента. Каждый бит изображения представляет один
                                //пиксел; если бит равен нулю — пиксел имеет цвет первого элемента
                                //таблицы bmiColors, иначе — цвет второго.
                            //4 — шестнадцатицветное изображение. Пикселы определяются 4-х битными
                                //индексами, каждый байт изображения содержит информацию о двух
                                //пикселах — старшие 4 бита для первого, оставшиеся — для второго.
                            //8 — в палитре содержится до 256 цветов, каждый байт изображения
                                //хранит индекс в палитре для одного пиксела.
                            //16 — если поле biCompression содержит значение BI_RGB, файл не
                                //содержит палитры. Каждые два байта изображения хранят
                                //интенсивность красной, зелёной и синей компоненты одного пиксела.
                                //При этом старший бит не используется, на каждую компоненту
                                //отведено 5 бит: 0RRRRRGGGGGBBBBB.
                                //Если поле biCompression содержит значение BI_BITFIELDS, палитра
                                //хранит три четырёхбайтовых значения, определяющих маску для
                                //каждой из трёх компонент цвета. Каждый пиксел изображения
                                //представлен двухбайтным значением, из которого с помощью масок
                                //извлекаются цветовые компоненты. Для WinNT/2000/XP —
                                //последовательности бит каждой компоненты должны следовать
                                //непрерывно, не перекрываясь и не пересекаясь с
                                //последовательностями других компонент. Для Win95/98/Me —
                                //поддерживаются только следующие маски: 5-5-5, где маска синей
                                //компоненты 0х001F, зелёной 0x03E0, красной 0x7C00; и 5-6-5,
                                //где маска синей компоненты 0x001F, зелёной 0x07E0,
                                //красной 0xF800.
                            //24 — палитра не используется, каждая тройка байт изображения
                                 //представляет один пиксел, по байту для интенсивности синего,
                                 //зелёного и красного канала соответственно.
                            //32 — Если поле biCompression содержит значение BI_RGB, изображение
                                 //не содержит палитры. Каждые четыре байта изображения
                                 //представляют один пиксел, по байту для интенсивности синего,
                                 //зелёного и красного канала соответственно. Старший байт каждой
                                 //четвёрки не используется.
                                 //Если поле biCompression содержит значение BI_BITFIELDS,
                                 //в палитре хранятся три четырёхбайтных цветовых маски —
                                 //для красной, зелёной и синей компоненты. Каждый пиксел
                                 //изображения представлен четырьмя байтами. WinNT/2000: маски
                                 //компонент не должны перекрываться или пересекаться.
                                 //Windows 95/98/Me: система поддерживает только один режим
                                 //сжатия, полностью аналогичный режиму без компрессии
                                 //BI_RGB — старший байт каждой четвёрки используется в качестве
                                 //альфа-канала, следующие три отведены для синего, зелёного и
                                 //красного канала соответственно: 0xAARRGGBB .
        long  bicompression; //указывает тип сжатия для сжатых изображений:
                                         //0	BI_RGB	несжатое изображение
                                         //1	BI_RLE8	сжатие RLE для 8-битных изображений
                                         //2	BI_RLE4	сжатие RLE для 4-битных изображений
                                         //3	BI_BITFIELDS	изображение не сжато, палитра
                                             //содержит три 4-байтные маски для красной, зелёной и
                                             //синей компонент цвета. Используется для 16- и 32-битных
                                             //изображений
                                         //4	BI_JPEG	Win98/Me/2000/XP: JPEG-сжатие
                                         //5	BI_PNG	Win98/Me/2000/XP: PNG-сжатие
                                         //6	BI_ALPHABITFIELDS	WinCE: изображение не сжато,
                                             //палитра содержит четыре 4-байтные маски для красной,
                                             //зелёной, синей и прозрачной (альфа-канал) компонент цвета.
                                             //Используется для 16- и 32-битных изображений
        long  bisizeimage; //Указывает размер изображения в байтах. Может содержать ноль для
                           //BI_RGB-изображений. Win98/Me/2000/XP: если biCompression содержит
                           //BI_JPEG или BI_PNG, biSizeImage указывает размер BI_JPEG или
                           //BI_PNG буфера изображения.
        long  bix; //указывает горизонтальное разрешение в пикселах на метр для целевого
                   //устройства. Приложение может использовать это значение для выбора из группы
                   //ресурсов изображения, наиболее подходящего для текущего устройства.
        long  biy; //указывает вертикальное разрешение в пикселах на метр для целевого устройства.
        long  biclrused; //указывает количество используемых цветовых индексов в палитре. Если
                         //значение равно нулю — изображение использует максимально доступное
                         //количество индексов, в соответствии со значением biBitCount и 
                         //методом сжатия, указанным в biCompression.
                         //Если содержит ненулевое значение и biBitCount меньше 16, biClrUsed
                         //указывает количество цветов, к которым будет обращаться драйвер
                         //устройства или приложение. Если biBitCount больше или равен 16,
                         //biClrUsed указывает размер палитры, используемой для оптимизации работы
                         //системных палитр. Если biBitCount равен 16 или 32, оптимальная палитра
                         //следует сразу после трёх четырёхбайтных масок. В упакованном
                         //изображении массив пикселов следует сразу после структуры BITMAPINFO,
                         //biClrUsed должен содержать ноль, либо реальный размер палитры.
	    long  biclrimp; //указывает количество индексов, необходимых для отображения изображения.
                        //Если содержит ноль — все индексы одинаково важны.
} head_file;
 
unsigned char palitra[16*4];

int main(int argc, char* argv[])
{
  FILE *f1, *f2;
  unsigned char buffer[32*16]; //для хранения изображения

  f1 = fopen("1.bmp", "rb");
  f2 = fopen("2.bmp", "wb");

  fread(&head_file,sizeof(head_file),1,f1);  //считываем заголовок с исходного файла
  fwrite(&head_file, sizeof(head_file), 1, f2); //и записываем его во второй

  //char* free = (char*)malloc(head_file.bfoffbits*sizeof(char));
  //fread(&free, sizeof(free), 1, f1);

  //выводим основные характеристик иизображения
  cout << head_file.bftype << endl;
  cout << head_file.bfsize << endl;
  cout << head_file.bisize << endl;
  cout << head_file.biwidth << endl;
  cout << head_file.biheight << endl;

  //считываем палитру из первого файла и записываем во второй
  //кстати, если во второй фалй палитру не записывать, то изображение получается черно белым
  //for (int i = 0; i < (head_file.bfoffbits-54)/4; i++)
  //{
   fread(palitra, 16*4, 1, f1);
   fwrite(palitra, 16*4, 1, f2);
  //}
  init_gr();
  fread(buffer, 1, 32*16, f1);
  fwrite(buffer, 1, 32*16, f2);
  for(int i = 0; i < 32; i++)
	  for(int j = 0; j < 32; j += 2)
	  {
		  putpixel(j, i, (int)(buffer[16 * (31 - i) + j/2] & 0x0F));
		  putpixel(j+1, i, (int)(buffer[16 * (31 - i) + j/2] >> 4) );
	  }
  /*for(int i = 0; i < 32*16; i++)
  {
	putpixel(2*(i%16), (i - i%16)/10, (int)(buffer[16 * (31 - (i - 1%16)/10 ) + i%16] & 0x0F));
	putpixel(2*(i%16) + 1, (i - i%16)/10, (int)(buffer[16 * (31 - (i - 1%16)/10 ) + i%16] >> 4));
  }*/
  getch();
  end_gr();
  fcloseall();


  getch();

  return 0;
}

А зачем тебе эта информация? Хочешь, чтобы твой Дэйв мог работать с оригинальными файлами?

Да, этого и хочу :)

Я же хочу написать максимально близкий ремейк.

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

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

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

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

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

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

Войти

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

Войти

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