Перейти к содержанию

Сообщения от Создание генератора случайных карт для вторых героев

Пока нет оценок — будьте первым!
Аватар пользователя
17 лет назад
Монца - Насчет рандом-генератора все предельно просто! Нужно сделать, чтобы уже имеющейся генератор создавал карты, где объекты были не так хаотически разбросаны, чтобы карты были более балансны и играбельны. Практически это все что нужно! Можете взять за пример создание карт генератором Г3. Если это удастся как-то сдвинуть с места, более детальную информацию о "весе", "цене", соотношении тех или иных объектов между собой Вы получите незамедлительно!
Надеюсь, что общими усилиями Вы сможете проблить жизнь и интерес к моей любимой Игре еще не на один год. :-)
Аватар пользователя
17 лет назад
Генератор карт? Почему бы и нет?
Поехали! Начнём со сбора информации о формате карт. Если кто желает помочь, делитесь инфой здесь (инфа из небезызвестного FAQ у меня уже есть).
В ответ пользователю AlexSpl
Аватар пользователя
17 лет назад
AlexSpl;197098
Генератор карт? Почему бы и нет?
Поехали! Начнём со сбора информации о формате карт. Если кто желает помочь, делитесь инфой здесь (инфа из небезызвестного FAQ у меня уже есть).
Если это получиться - цены Вам не будет! :-)
Что именно нужно знать о формате карт? Я не совсем понимаю, что нужно для программирования.
Аватар пользователя
17 лет назад
2Dust: Задача создания ГСК - далеко не тривиальная, особенно если его писать с нуля, что я и хочу попытаться сделать. Нужна информация "технического" характера, а именно: куда (адреса) и что "пишет" редактор при сохранении карты, формат "минимальной" карты (чтобы можно было вручную в hex-редакторе создать), размер и формат заголовка, где хранится служебная информация: условия поражения и т.п.

Скачал из сети несколько исходников, но хотелось бы получить более детальную информацию, а не тратить время на "собственное расследование" (подозреваю, его уйдёт уйма).

Самое простое и в то же время самое фантастическое решение - обратиться к бывшим программерам NWC. Шутка :) А если серьёзно, то должны быть люди, которые хотя бы пытались сделать что-то подобное. Так вот: нужны их наработки. Пример - WoG. Эти ребята давно уже "расплавили" экзешник, но где инфа? :) Что-то кроме ERM скриптов ничего не видно. Я понимаю, люди потратили кучу своего собственного времени и не желают делиться знаниями (что вполне разумно). А может быть, всё-таки найдётся кто-нибудь, кто не пожалеет "секретной информации"?
В ответ пользователю AlexSpl
Аватар пользователя
17 лет назад
2 AlexSpl
На нашем форуме есть vbn.

Ещё есть полулегендарный GreatGenius. Я постараюсь с ним связаться и передать твой пост.
Аватар пользователя
17 лет назад
Коллеги, кажется кой-чего нашёл.
Пробую связаться с человеком, который вроде пытается вторых героев разобрать и собрать.
Если что - стучитесь ...
Вложения 1
1 файл • Общий размер: 225,6 KB
Аватар пользователя
17 лет назад
Итак, нужная информация получена! Спасибо, Indigo! Вторая ссылка на вес золота!

Что ж, попробую написать новый ГСК. Надеюсь, уже в следующем году можно будет играть в "двушку" на рандомных картах.

Всем заинтересованным: Нужны конкретные пожелания по генерации карт. Иными словами, опишите карту своей мечты :) Только учтите, что рисовать её будет не человек.
В ответ пользователю AlexSpl
Аватар пользователя
17 лет назад
Сугубо ИМХО: сухопутная карта, без телепортов и барьеров, участки карты (респы) отделены друг от друга, проходы охраняют довольно мощные отряды. Есть возможность при генерации задавать союзы (как в третьих героях).
Ещё раз повторю: сугубо ИМХО.
В ответ пользователю AlexSpl
Аватар пользователя
17 лет назад
2Qwerty: Я тоже не люблю островные карты :) A вода вообще нужна (в плане передвижения, а не декорации)?
В ответ пользователю AlexSpl
Аватар пользователя
17 лет назад
Хотелось бы, чтобы PReDS, Captain, Kama, Brennan и конечно Dust сказали своё веское слово.
Я рассуждаю следующим образом. В трёшку играют без воды. Значит наверное и нам вода не сильно нужна. Вода - это с одной стороны разнообразие стратегии, что вроде как гуд, с другой стороны - троечники накопили колоссальный опыт и играют без воды (а там есть магия специальная и арты на этот случай!). Тоже и с барьерами/палатками. Штука очень неоднозначная, тем более в генерации. Сфинксы тоже не нужны. Ещё нельзя, чтобы курганы были (где можно привидений нанимать). Ибо находка кургана делает дальнейшую игру в 95% бессмысленной. Теперь к вопросу о телепортах. Как известно, во вторых героях (в отличие от третьих) существует тактический приём "затык телепорта". Плюс отсутствует возможность управления телепортом пробелом. Поэтому я бы и телепорты порезал бы.
Ещё раз повторяю: всё это моё ИМХО.
Крайне нужны мнения опытных онлайнщиков.
В ответ пользователю AlexSpl
17 лет назад
На дружественном ресурсе идет разработка аддона для героев три - Хота, в рамках этого проекта разрабатывается новый редактор карт и новый генератор карт, имеет смысл обратить внимание.
Пока все достаточно сырое, но то что есть я уже видел) Редактор позволяет просматривать карту.
Можно совместно с этим попытаться сделать и генератор для двойки, контакты у меня есть.
В ответ пользователю Qwerty
Аватар пользователя
17 лет назад
Qwerty
Хотелось бы, чтобы PReDS, Captain, Kama, Brennan и конечно Dust сказали своё веское слово.

Крайне нужны мнения опытных онлайнщиков.

Попросили -скажу- всё не читал- тут что-то много написано, буковок :)
сорри
но как я понял разговор идет о генераторе рандом-карт для онлайна по 2-м..

хз-моё мнение. У меня одна проблема- вообще найти игрока для онлайна во 2-х..их на пальцах пересчитать сейчас можно.. и кого найдешь, те согласны и на фиксы. вот такое мое мнение :(
В ответ пользователю AlexSpl
Аватар пользователя
17 лет назад
Копирую пост еще и сюда.
AlexSpl
Я плохо представляю по какому принципу работает генератор в г2, мне кажется, что он вообще "рисует" от балды... :-)
Придумывать особо ничего нового не нужно! Хотелось бы, чтобы в г2 карты гинерились по примерно такому же принципу, что и в г3. Т.е. по определенным шаблонам, каждый из которых имеет свой смысл и структуру, расположенеи зон, важных объектов и т.д. Вы знакомы с этим принципом в г3?
На рандом-карте я бы хотел видеть максимально равные позиции, т.е. стартовые зоны. Удаленые, примерно, на одинаковом расстоянии, наполненные одинаковыми по классу объектами. Объекты должны охраняться соответтвующими по силе монстрами. Эти соотношение, я думаю, можно обсудить уже позже. Главное для начал получить от генератора боле-менее симметричную по позициям карту. Дать возможность классифицировать зоны "по важности", по наполнению "вкусным", а из них уже составлять карту по определеному принципу, задумкам.
Надеюсь у Вас получится! Держи в курсе! :-)
В ответ пользователю AlexSpl
Аватар пользователя
17 лет назад
Чтобы распаковать файл heroes2.agg,нужна эта прога=
Dragon UnPACKer 5.0.0
Она позволяет доставать текстуры, анимацию, музыку из специализированных файлов-ресурсов. Главной отличительной чертой этой утилиты является поддержка большого количества современных игр (более 100 штук). Из поддерживаемых утилитой игр, можно выделить GTA Vice City, Hitman 2: Silent Assassin, Quake 3 Arena, Age of Empires 2: Age of Kings, The Sims и многие другие. В программе имеется возможность подключения внешних модулей, это позволяет увеличить ее функциональность. В настройках можно задать ассоциацию для всех поддерживаемых форматов файлов. Кроме того, там же можно сменить язык интерфейса (языковые модули скачиваются отдельно). В этой версии исправлены ошибки, касающиеся неправильной поддержки некоторых типов файлов.
ОС: Windows 98/NT/ME/2000/XP/2003 | Многоязычный интерфейс | Бесплатно.
Скачать здесь=

http://sourceforge.net/project/downloading.php?groupname=dragonunpacker&filename=dup500-setup.exe&use_mirror=ovh

Вот список файлов,которые в нем находятся(Пригодится)*=
heroes2/readme.txt (0 mb)
heroes2/sound/mssdrvr.lst (0.02 mb)
heroes2/sound/dig.ini (0 mb)
heroes2/sound/mdi.ini (0 mb)
heroes2/help/heroes2.hlp (0.52 mb)
heroes2/xxx.com (0 mb)
heroes2/xxx2.com (0 mb)
heroes2/editor2.exe (0.91 mb)
heroes2/editor2w.exe (0.56 mb)
heroes2/heroes2.exe (1.42 mb)
heroes2/heroes2w.exe (1.47 mb)
heroes2/install.exe (0.5 mb)
heroes2/sound/mssw95.exe (0.01 mb)
heroes2/uptodate.exe (0.06 mb)
heroes2/anim/zerofile.exe (0.02 mb)
heroes2/mss32.dll (0.15 mb)
heroes2/smackw32.dll (0.08 mb)
heroes2/wing/wing32.dll (0.01 mb)
heroes2/sound/fatman.ad (0 mb)
heroes2/sound/sample.ad (0 mb)
heroes2/data/heroes2.agg (41.35 mb)
heroes2/data/heroes2x.agg (2.48 mb)
heroes2/heroes2.cfg (0 mb)
heroes2/help/heroes2.cnt (0 mb)
heroes2/data/netlodr.dat (0 mb)
heroes2/sound/audiodrv.dig (0.01 mb)
heroes2/sound/iwav.dig (0 mb)
heroes2/sound/jammer.dig (0 mb)
heroes2/sound/nvdig.dig (0 mb)
heroes2/sound/proaudio.dig (0 mb)
heroes2/sound/rap10.dig (0 mb)
heroes2/sound/sb16.dig (0 mb)
heroes2/sound/sblaster.dig (0 mb)
heroes2/sound/sbpro.dig (0 mb)
heroes2/sound/sndscape.dig (0 mb)
heroes2/sound/sndsys.dig (0 mb)
heroes2/sound/ultra.dig (0.01 mb)
heroes2/help/heroes2.gid (0.03 mb)
heroes2/games/1.gmc (0.11 mb)
heroes2/games/2.gmc (0.11 mb)
heroes2/games/3.gmc (0.05 mb)
heroes2/games/4.gmc (0.11 mb)
heroes2/games/autosave.gmc (0.11 mb)
heroes2/games/end.gmc (0.11 mb)
heroes2/games/win_g_01.gmc (0.11 mb)
heroes2/maps/campe01.h2c (0.14 mb)
heroes2/maps/campe02.h2c (0.04 mb)
heroes2/maps/campe03.h2c (0.2 mb)
heroes2/maps/campe04.h2c (0.15 mb)
heroes2/maps/campe05.h2c (0.04 mb)
heroes2/maps/campe05b.h2c (0.04 mb)
heroes2/maps/campe06.h2c (0.13 mb)
heroes2/maps/campe07.h2c (0.15 mb)
heroes2/maps/campe08.h2c (0.14 mb)
heroes2/maps/campe09.h2c (0.13 mb)
heroes2/maps/campe10.h2c (0.19 mb)
heroes2/maps/campe11.h2c (0.42 mb)
heroes2/maps/campg01.h2c (0.16 mb)
heroes2/maps/campg02.h2c (0.04 mb)
heroes2/maps/campg03.h2c (0.15 mb)
heroes2/maps/campg04.h2c (0.14 mb)
heroes2/maps/campg05.h2c (0.04 mb)
heroes2/maps/campg05b.h2c (0.04 mb)
heroes2/maps/campg06.h2c (0.12 mb)
heroes2/maps/campg07.h2c (0.19 mb)
heroes2/maps/campg08.h2c (0.13 mb)
heroes2/maps/campg09.h2c (0.15 mb)
heroes2/maps/campg10.h2c (0.4 mb)
heroes2/data/campaign.hs (0 mb)
heroes2/data/standard.hs (0 mb)
heroes2/maps/camp1_01.hxc (0.05 mb)
heroes2/maps/camp1_02.hxc (0.15 mb)
heroes2/maps/camp1_03.hxc (0.14 mb)
heroes2/maps/camp1_04.hxc (0.05 mb)
heroes2/maps/camp1_05.hxc (0.04 mb)
heroes2/maps/camp1_06.hxc (0.12 mb)
heroes2/maps/camp1_07.hxc (0.17 mb)
heroes2/maps/camp1_08.hxc (0.3 mb)
heroes2/maps/camp2_01.hxc (0.04 mb)
heroes2/maps/camp2_02.hxc (0.14 mb)
heroes2/maps/camp2_03.hxc (0.12 mb)
heroes2/maps/camp2_04.hxc (0.14 mb)
heroes2/maps/camp2_05.hxc (0.32 mb)
heroes2/maps/camp2_06.hxc (0.16 mb)
heroes2/maps/camp2_07.hxc (0.16 mb)
heroes2/maps/camp2_08.hxc (0.31 mb)
heroes2/maps/camp3_01.hxc (0.13 mb)
heroes2/maps/camp3_02.hxc (0.14 mb)
heroes2/maps/camp3_03.hxc (0.21 mb)
heroes2/maps/camp3_04.hxc (0.31 mb)
heroes2/maps/camp4_01.hxc (0.04 mb)
heroes2/maps/camp4_02.hxc (0.24 mb)
heroes2/maps/camp4_03.hxc (0.3 mb)
heroes2/maps/camp4_04.hxc (0.31 mb)
heroes2/deisl1.isu (0 mb)
heroes2/deisl2.isu (0 mb)
heroes2/sound/adlib.mdi (0.01 mb)
heroes2/sound/adlibg.mdi (0.02 mb)
heroes2/sound/esfm.mdi (0.02 mb)
heroes2/sound/iwav.mdi (0 mb)
heroes2/sound/mpu401.mdi (0 mb)
heroes2/sound/mt32mpu.mdi (0.01 mb)
heroes2/sound/null.mdi (0 mb)
heroes2/sound/nvmpu.mdi (0 mb)
heroes2/sound/opl3.mdi (0.02 mb)
heroes2/sound/pas.mdi (0.01 mb)
heroes2/sound/pasplus.mdi (0.02 mb)
heroes2/sound/pcspkr.mdi (0 mb)
heroes2/sound/sbawe32.mdi (0.03 mb)
heroes2/sound/sblaster.mdi (0.01 mb)
heroes2/sound/sbpro1.mdi (0.01 mb)
heroes2/sound/sbpro2.mdi (0.02 mb)
heroes2/sound/sndscape.mdi (0 mb)
heroes2/sound/tandy.mdi (0 mb)
heroes2/sound/ultra.mdi (0.05 mb)
heroes2/maps/beltway.mp2 (0.14 mb)
heroes2/maps/brokena.mp2 (0.13 mb)
heroes2/maps/deathg.mp2 (0.14 mb)
heroes2/maps/dragonr.mp2 (0.16 mb)
heroes2/maps/dragonw.mp2 (0.63 mb)
heroes2/maps/enroth.mp2 (0.28 mb)
heroes2/maps/forsaken.mp2 (0.12 mb)
heroes2/maps/goodvs.mp2 (0.28 mb)
heroes2/maps/heroes.mp2 (0.36 mb)
heroes2/maps/hotspot.mp2 (0.13 mb)
heroes2/maps/lostcon.mp2 (0.46 mb)
heroes2/maps/lostreli.mp2 (0.16 mb)
heroes2/maps/mightv.mp2 (0.27 mb)
heroes2/maps/mineralw.mp2 (0.15 mb)
heroes2/maps/mount.mp2 (0.14 mb)
heroes2/maps/overlord.mp2 (0.14 mb)
heroes2/maps/pandamon.mp2 (0.05 mb)
heroes2/maps/pyramid.mp2 (0.13 mb)
heroes2/maps/revolu.mp2 (0.28 mb)
heroes2/maps/river.mp2 (0.04 mb)
heroes2/maps/scorch.mp2 (0.12 mb)
heroes2/maps/sevenl.mp2 (0.28 mb)
heroes2/maps/shipw.mp2 (0.13 mb)
heroes2/maps/slugfest.mp2 (0.04 mb)
heroes2/maps/spellc.mp2 (0.14 mb)
heroes2/maps/teleport.mp2 (0.26 mb)
heroes2/maps/terraf.mp2 (0.12 mb)
heroes2/maps/theclear.mp2 (0.04 mb)
heroes2/maps/theother.mp2 (0.04 mb)
heroes2/maps/undeada.mp2 (0.13 mb)
heroes2/maps/unholy.mp2 (0.15 mb)
heroes2/maps/vikings.mp2 (0.16 mb)
heroes2/maps/wariork.mp2 (0.26 mb)
heroes2/maps/wastl.mp2 (0.12 mb)
heroes2/maps/whoam.mp2 (0.16 mb)
heroes2/maps/winterl.mp2 (0.33 mb)
heroes2/maps/arrax.mx2 (0.05 mb)
heroes2/maps/carmine.mx2 (0.14 mb)
heroes2/maps/decision.mx2 (0.26 mb)
heroes2/maps/dominion.mx2 (0.56 mb)
heroes2/maps/dragon.mx2 (0.13 mb)
heroes2/maps/foolgold.mx2 (0.13 mb)
heroes2/maps/forhonor.mx2 (0.13 mb)
heroes2/maps/fortress.mx2 (0.27 mb)
heroes2/maps/fullhse.mx2 (0.52 mb)
heroes2/maps/greed.mx2 (0.14 mb)
heroes2/maps/groundze.mx2 (0.14 mb)
heroes2/maps/guardwar.mx2 (0.12 mb)
heroes2/maps/hunicorn.mx2 (0.15 mb)
heroes2/maps/islemaze.mx2 (0.12 mb)
heroes2/maps/kingdth.mx2 (0.04 mb)
heroes2/maps/magic3.mx2 (0.13 mb)
heroes2/maps/newenemy.mx2 (0.14 mb)
heroes2/maps/nvss.mx2 (0.13 mb)
heroes2/maps/peasants.mx2 (0.15 mb)
heroes2/maps/pirate.mx2 (0.49 mb)
heroes2/maps/portals.mx2 (0.12 mb)
heroes2/maps/sandtime.mx2 (0.11 mb)
heroes2/maps/seasons.mx2 (0.13 mb)
heroes2/maps/shrkania.mx2 (0.13 mb)
heroes2/maps/skirmish.mx2 (0.03 mb)
heroes2/maps/surfturf.mx2 (0.42 mb)
heroes2/maps/terrain.mx2 (0.3 mb)
heroes2/maps/theback.mx2 (0.03 mb)
heroes2/maps/valley.mx2 (0.13 mb)
heroes2/maps/witchhnt.mx2 (0.27 mb)
heroes2/sound/fatman.opl (0 mb)
heroes2/sound/sample.opl (0 mb)
heroes2/heroes2.pif (0 mb)
heroes2/install.pif (0 mb)
heroes2/heroes2.reg (0 mb)
heroes2/data/h2xintro.smk (2.44 mb)
heroes2/anim/ivyback.smk (0.14 mb)
heroes2/anim/ivydes.smk (0.19 mb)
heroes2/data/ivydes.smk (0.19 mb)
heroes2/anim/ivypol.smk (0.18 mb)
heroes2/data/ivypol.smk (0.18 mb)
heroes2/anim/ivyvoy.smk (0.18 mb)
heroes2/data/ivyvoy.smk (0.18 mb)
heroes2/anim/ivywiz.smk (0.14 mb)
heroes2/data/ivywiz.smk (0.14 mb)
heroes2/data/sh2xintr.smk (1.57 mb)

Добавлено через 2 минуты
А вот скрипт для Image Hacker,то же может пригодиться)=

Код var count,Image_W,Image_H,x,y,n,i,j,chislox,byte,out_byte,Shadow_counter:integer;
showmessage('Укажите пожалуйста файл содержащий палитру');
openfileas('*.pal');
for i:=0 to 255 do
begin
r:=read(1);
g:=read(1);
b:=read(1);
setcolortable(i,rgb(r*4,g*4,b*4));
end;
closefile;
showmessage('Укажите пожалуйтста файл содержащий рисунок');
openfileas('*.icn');
count:=read(1);
setpos(10);
width:=read(3);
height:=read(3);
showmessage('Картинок в файле найдено: '+tostr(count)+'['+tostr(width)+'*'+tostr(height)+']');
setpos(15);
offset:=read(3);
showmessage(tostr(offset));
setpos(offset+6);
setsize(width,height,8);
x:=0;
y:=0;
byte:=read(1);
chislox:=byte;
repeat
if chislox=0 then
begin
x:=0;
n:=y;
y:=n+1;
end;
if chislox<=127 then
begin
for i:=1 to chislox do
begin
byte:=read(1);
setpixel(x,y,byte);
n:=x;
x:=n+1;
end;
end
else
begin
if (chislox>=128)and(chislox<=191) then
begin
for i:=1 to (chislox-128) do
begin
setpixel(x,y,0);
n:=x;
x:=n+1;
end;
end else
if chislox>=192 then
begin
if chislox=192 then
begin
byte:=read(1);
if (byte mod 4)=0 then
begin
out_byte:=byte;
Shadow_counter:=read(1);
end
else
begin
Shadow_counter:=(byte mod 4);
n:=(byte mod 4);
out_byte:=byte-n;
end;
byte:=read(1);
end
else
if chislox=193 then
begin
byte:=read(1);
out_byte:=read(1);
for i:=1 to byte do
begin
setpixel(x,y,out_byte);
n:=x;
x:=n+1;
end;
end
else
begin
byte:=read(1);
for i:=1 to (chislox-192) do
begin
setpixel(x,y,byte);
n:=x;
x:=n+1;
end;
end;
end;
end;
chislox:=read(1);
until (chislox=128);
savefileas;
closefile;

Статистика

Приветствуем новейшего участника: recijeb