Версия для печати темы
DF2 :: ФОРУМЫ _ Heroes of Might & Magic III _ Девятый игрок
Автор: FCst1 07 Oct 2009, 17:38
Думаю, что уже давно ни для кого не секрет, что NWC планировали сделать в HMMIII не 8, а 9 (а может и больше) игроков. http://slil.ru/28053511. Ещё был скрин из беты с Инферно, где у героя был чёрный флаг.
Так вот, к вопросу - позволяет ли движок Тройки подключить 9-го игрока? Возможно ли это сделать с помощью внешних DLL?
Автор: feanor 07 Oct 2009, 17:58
Черный флаг - ради бога. Если поставить нейтрального героя в битву - он и будет
Для чего золотой флаг в том дефе - сказали.
Так же неоднократно заявляли, что во многих местах кода для работы с игроками используются битовые поля размером в один байт - как раз на восемь игроков. А это таки проблема.
Автор: FCst1 07 Oct 2009, 18:03
Спасибо за разъяснения, но всё-таки в залитом мной файле VwSymbol.def (игроки/ресурсы и т.п. при просмотре земли) присутствует именно игрок с чёрным флагом.
Автор: Docent Picolan 07 Oct 2009, 23:15
он нейтрал.
Автор: FCst1 08 Oct 2009, 06:23
Docent, не срывай мне мозг... Может быть нейтральный герой на карте?
Автор: feanor 08 Oct 2009, 06:50
Ну хоссподи. Для дебага, скажем этот флаг. Или для обработки исключтельных ситуаций.
Я в дампах прошивок телефонов видел иконки, скажем, гпс и бт, хотя ни того, ни другого не было на железном уровне. А в ресурсах ХоММ2 - анимацию получения урона в стиле ХоММ1
Автор: FCst1 08 Oct 2009, 07:27
Ну ладно, допустим разобрались.
Добавлено ([mergetime]1254976065[/mergetime]):
Ну а про внедрение нового?
Автор: Nestor 08 Oct 2009, 09:59
Цитата
Ну а про внедрение нового?
Цитата
Так же неоднократно заявляли, что во многих местах кода для работы с игроками используются битовые поля размером в один байт - как раз на восемь игроков.
Собственно в этом и проблема. Чтобы ее решить надо будет покопаться как следует в коде. Следовательно
если кто-то это все-таки сделает, то возможны различные проблемы при сетевой игре, ИИ может быть тоже придется менять. Получим цепную реакцию - чтобы добавить еще 8/24/и т.д. игроков нужно
а)перелопатить пол-игры
б)откуда-то набрать цвета для всех этих игроков.
Автор: Bugzy 08 Oct 2009, 10:05
Зачем вообще более восьми игроков? На мой взгляд восемь это уже предел. Я обычно максимум 6 использую, т.к. 8 - муравейник.
Хотя о вкусах не спорят, конечно.
Автор: Docent Picolan 09 Oct 2009, 22:54
Цитата(FCst1 @ 08 Oct 2009, 07:23)
Docent, не срывай мне мозг... Может быть нейтральный герой на карте?
я сократил
Цитата
Зачем вообще более восьми игроков? На мой взгляд восемь это уже предел. Я обычно максимум 6 использую, т.к. 8 - муравейник.
Хотя о вкусах не спорят, конечно.
согласен. но для тех кто считает, насколько я знаю, основных проблем две
1. большие карты с подземельями где восьми реально может быть мало
2. новые города и конфюкс в том числе, в связи с чем представить на карте
все фракция становится невозможным.
Автор: Astaroth 09 Oct 2009, 23:14
Итак мнения разделились. Кому-то кажется, что 8 игроков - это достаточно или даже много, а другим - наоборот, 8 игроков слишком мало. Но все равно как сказал Nestor
Цитата
Собственно в этом и проблема. Чтобы ее решить надо будет покопаться как следует в коде. Следовательно если кто-то это все-таки сделает, то возможны различные проблемы при сетевой игре, ИИ может быть тоже придется менять. Получим цепную реакцию - чтобы добавить еще 8/24/и т.д. игроков нужно
а)перелопатить пол-игры
б)откуда-то набрать цвета для всех этих игроков.
Может и найдутся такие храбрецы, которые таки сделают это и вместо 8 поставят например 16 или еще какое-нибудь число...
Короче. Поживем - увидим
Автор: hippocamus 10 Oct 2009, 00:57
Цитата(FCst1 @ 08 Oct 2009, 06:23)
Docent, не срывай мне мозг... Может быть нейтральный герой на карте?
Может. Сейчас он никак не отображается, но при наведении на его место возникает меч. Не отображается, т.к нет дефа, и нет указания на то, какой деф нужно юзать игре.
Добавлено ([mergetime]1255125457[/mergetime]):
16 было бы самый раз.
Автор: Maestro 10 Oct 2009, 11:39
Мне хватает и 8
Играл тут в одну карту на 8х игроков, ХЛ, яблоку негде упасть! В общей сложности дня 3 играли, более 40 часов напряженного геймплея! Меч и магию можно было по несколько раз пройти успеть, чем в 1 карту сыграть
Автор: Green Drekon 10 Oct 2009, 12:11
Цитата
Играл тут в одну карту на 8х игроков, ХЛ, яблоку негде упасть! В общей сложности дня 3 играли, более 40 часов напряженного геймплея! Меч и магию можно было по несколько раз пройти успеть, чем в 1 карту сыграть
А что за карта-то?
Автор: Master Of Puppets 10 Oct 2009, 12:19
Смысл в кол-ве игроков >8 будет, наверное, только при одновременном ходе.
Автор: -=Sn@ke=- 10 Oct 2009, 13:23
8 игроков это и так долго. Ходят по пол часа, заразы... А если их будет больше, то можно будет дохаживать и идти купаться, чай пить..готовить, да что хочешь...Как никак час в запасе!
Что касается нейтрала, то пусть он будет нейтралом и всё... Хватит...
Что касается размещения фракций, есть скрипт, который спрашивает, какие замки ставить, а какие нет...
Автор: Лентяй 10 Oct 2009, 16:52
в 5ке даже с 6 игроками можно чай пить...
Автор: Лорд Хаарт 10 Oct 2009, 17:00
Цитата
в 2-ке даже с 6 игроками можно чай пить...
Православный фикс.
Автор: tolich 10 Oct 2009, 18:08
А мне и втроем в троечку на хотсите надоедает ждать, пока все враги походють. Ну и что?
Автор: Black Phantom 10 Oct 2009, 20:06
На сомом деле изначально была четка ситема - 8 игроков на 8 городов, т.е. какждый игрок мог принадлежат к совей фракции. Появление сопряжения (конфлюкса, слияния) внесло некторый дисбаланс в этот процесс. С одной стороный появляется возможность более широкого выбра, а с другой - это слегка нарушает "классичность" игры. Если и имеет смысл создать 9-го героя, то для того, чтобы на карте полноценно присутствовали 9 рас. Т.к. The 3DO Company, к моменту выпуска "Возрождения Эрафии" уже, как мне кажется, подумывала о будущем городе (не важно, о каком), то она вполне могла оставить задел в виде черного флага. А дальше, наверное уперлась в трудность реализации и забросила это дело на раннем этапе.
P.S. Вот если бы было 16 городов и 16 цветов героев, то на карте, скажем 252x252 это было бы интересным зрелищем.
Автор: -=Sn@ke=- 11 Oct 2009, 12:53
Тогда, это действо, будет напоминать улей)))
Автор: hippocamus 11 Oct 2009, 13:32
Цитата(Black Phantom @ 10 Oct 2009, 20:06)
На сомом деле изначально была четка ситема - 8 игроков на 8 городов, т.е. какждый игрок мог принадлежат к совей фракции. Появление сопряжения (конфлюкса, слияния) внесло некторый дисбаланс в этот процесс. С одной стороный появляется возможность более широкого выбра, а с другой - это слегка нарушает "классичность" игры. Если и имеет смысл создать 9-го героя, то для того, чтобы на карте полноценно присутствовали 9 рас. Т.к. The 3DO Company, к моменту выпуска "Возрождения Эрафии" уже, как мне кажется, подумывала о будущем городе (не важно, о каком
), то она вполне могла оставить задел в виде черного флага. А дальше, наверное уперлась в трудность реализации и забросила это дело на раннем этапе.
P.S. Вот если бы было 16 городов и 16 цветов героев, то на карте, скажем 252x252 это было бы интересным зрелищем.
По идее сама структура карты позволит сделать 255 игроков +1 нейтрал.
Проблема с битовыми полями однобайтовых структур.
Автор: Black Phantom 11 Oct 2009, 14:46
Цитата(hippocamus @ 11 Oct 2009, 14:32)
По идее сама структура карты позволит сделать 255 игроков +1 нейтрал.
Проблема с битовыми полями однобайтовых структур.
Не факт, т.к. каждый город представлен двумя типами героев, то получится 127 игроков. Но с созданием дополнительных игроков скорее всего возникнут проблемы.
Автор: hippocamus 11 Oct 2009, 19:36
А я не понимаю, при чём здесь классы героев? Это типов городов может быть 127, а количество игроков - 255.
Автор: Maestro 11 Oct 2009, 21:16
Цитата(Green Drekon @ 10 Oct 2009, 13:11)
Цитата
Играл тут в одну карту на 8х игроков, ХЛ, яблоку негде упасть! В общей сложности дня 3 играли, более 40 часов напряженного геймплея! Меч и магию можно было по несколько раз пройти успеть, чем в 1 карту сыграть
А что за карта-то?
Арена Смерти
Автор: FCst1 11 Oct 2009, 21:24
Я-то за внедрение 9-го и т.д. игроков, если сделать это не трудно и результат будет востребован. Я смотрю, что нет?
Автор: hippocamus 11 Oct 2009, 21:42
Востребован будет. А вот трудно ли? Тебе виднее!
Автор: FCst1 11 Oct 2009, 21:51
Ну, в связи с развитием технологий (плавный намёк на ЭРУ)... Не мне решать...
Автор: hippocamus 12 Oct 2009, 01:26
Не очень понимаю механизм работы Эры - она подменяет обработчики событий игры, или как?
Автор: CrackedMind 13 Oct 2009, 14:16
Цитата(hippocamus @ 12 Oct 2009, 04:26)
Не очень понимаю механизм работы Эры - она подменяет обработчики событий игры, или как?
именно.
ИМХО, добавление 9го игрока будет тяжелой работой. Т.к. очень много однобайтовых битовых полей, придется не только саму игру патчить, но еще и редактор и прочее.
Автор: Архидедус 16 Oct 2009, 19:47
Побочная мысль: в Героях 4 - всего 6 игроков + нейтрал. Сельмой возможен?
Автор: Kastore the Warlock 16 Oct 2009, 23:37
Цитата(Архидедус @ 16 Oct 2009, 20:47)
Побочная мысль: в Героях 4 - всего 6 игроков + нейтрал. Сельмой возможен?
вот нейтрал и был 7ой по сути...
Автор: hippocamus 17 Oct 2009, 00:47
Ну вот и имеется в виду 8-й. Хотя в 3-ке нейтрал считается -1-м (минуспервым).
Автор: Архидедус 17 Oct 2009, 00:53
Да, имелся в виду седьмой цветной игрок. Формулировка кривая.
Автор: Bisik 22 Oct 2009, 23:29
По идее можно сделать скриптом, чтобы было по 2 игрока, но под одним флагом (цветом). Надо убрать (хотя можно и не убирать) ограничения на количество героев и договориться, что вот такими-то замками и такими-то героями управляет этот человек, а вот этими героями и замками управляет другой человек. Пример: Вася выбирает ледяных а Петя - людей. Оба они играют одним цветом, одним игроком, но сначала ходит Вася за ледяных, а когда его герои больше не могут ходить, он не переключая на следующий ход передает правление Пети, и тот ходит за людей. А чтобы не было проблем с ресурсами, можно сделать, что как только игрок выбирает свою часть королевства, скрипт сохраняет в переменные ресурсы другого человека и достает из памяти ресурсы игрока, который сейчас ходит. Пример: Вася ходит, тратит ресурсы, заканчивает ход и передает мышу Пете. Петя выбирает свой замок и комп автоматически загружает те ресурсы, которые Петя оставил с предыдущего хода + то, что он получает в этот ход.
Можно сделать так, хотя легче было бы убрать ограничения на кол-во героев у игроков и дать всем по 2-3 замка с самого начала, если хочется, чтобы на карте было много героев и замков. А играть с другими людми интересно, пока их не больше 3х-4х человек, ИМХО
Автор: hippocamus 23 Oct 2009, 19:50
Это совсем не то. Т.б. что они обязательно будут в союзе...
Автор: Bisik 25 Oct 2009, 06:16
Вот и я про то же
Насколько я понимаю, чтобы добавить еще игроков, надо будет поменять экзешник?
Автор: Ghost#13 25 Oct 2009, 12:27
Герои 1 - 4 Фракции
Герои 2 - 6 Фракций (? я непомню)) )
Герои 3 - 8 + 1 после клинка.
Вроде четко четное кол-во во всех частях (без аддонов). Добавление 9 будет ещё той морокой.
P.S. Проще Сопряжение убрать и все (кроме любителей сопряжения) будут счастливы.
Автор: gamecreator 25 Oct 2009, 22:18
добавить новых игроков будет очень трудно. имхо, легче написать экзешник заново.
Автор: Aleee 25 Oct 2009, 23:05
Да и еще лучше сделать так, чтобы раком никто не болел.
Автор: tolich 25 Oct 2009, 23:12
Ну, совсем без ограничений не получится, просто рамки будут шире.
Автор: Aleee 25 Oct 2009, 23:28
Долго мы еше будем провозглашать прописные истины? И вообще, насколько вообще реальна задача полностью переписать exe-файл без исходников? По-моему, не очень.
Автор: tolich 26 Oct 2009, 00:59
Довольно-таки реальна...
1) Пишешь исходники.
2) Запускаешь make.
3) Получаешь exe-файл.
4) ...
5) Profit!
Автор: САТУРН 01 Nov 2009, 20:05
Не всё так реально как кажеться.
Автор: Adept 19 Nov 2009, 17:29
Цитата(Docent Picolan @ 10 Oct 2009, 01:54)
согласен. но для тех кто считает, насколько я знаю, основных проблем две
1. большие карты с подземельями где восьми реально может быть мало
2. новые города и конфюкс в том числе, в связи с чем представить на карте все фракция становится невозможным.
1. На самом деле ничего не изменится и при добавлении. Большие карты играются ради интереса, чтобы можно было дольше её исследовать. Увеличение плотности игроков породит лишь ещё желание увеличить карту и дальше чувствовать себя первооткрывателем.
2. Вот этот довод мне всегда казался высосаным из пальца. Полно игр в которых игроков может быть меньше, чем рас: Цивилизация, Эпоха Империй, Казаки, Райс оф Нейшен и т.п. Никогда это не мешало. И при этом, в Героях как раз
каждая раса может быть представлена на одной карте, хоть там и вовсе один игрок.
Лично мне дополнительные игроки иногда бывают нужны при создании кампаний, когда надо чтобы были союзники, разные враги, не способные обмениваться армиями, и, например, какой-нибудь цвет не должен быть занят, поскольку он закреплён за какой-то фракцией в данной карте не появляющейся.
Автор: Odin 11 Jan 2016, 15:11
Решился в первый раз поиграть на G карте. Там мне кажется 8 игроков маловато.
ЗЫ а в чем проблема 1 байт переделать в 2 байта? Дизассемблировать заменить в нужных местах db на dw. Мест много - ну дак п*ть не мешки ворочать=D
До 16 игроков можно увеличить. Но 16 многовато пока, однако задел будет. 8 уже маловато для таких больших карт как G, а представьте, если подземелье будет?
Автор: feanor 11 Jan 2016, 17:30
Цитата
ЗЫ а в чем проблема 1 байт переделать в 2 байта? Дизассемблировать заменить в нужных местах db на dw. Мест много - ну дак п*ть не мешки ворочать=D
Угу, и полетят к чертовой матери все смещения дальше по сегменту.
Опуская чисто технические трудности, да.
Автор: Odin 11 Jan 2016, 19:22
Цитата(feanor @ 11 Jan 2016, 17:30)
Цитата
ЗЫ а в чем проблема 1 байт переделать в 2 байта? Дизассемблировать заменить в нужных местах db на dw. Мест много - ну дак п*ть не мешки ворочать=D
Угу, и полетят к чертовой матери все смещения дальше по сегменту.
Опуская чисто технические трудности, да.
Если смещения через offset высчитываются, то нет не полетят. Я не думаю, что статические адреса там. Если так - то да все плохо.
Автор: hippocamus 11 Jan 2016, 19:37
Они высчитываются через offset, не всегда от начала структуры. И не всегда явно.
Автор: Odin 11 Jan 2016, 19:45
Цитата(hippocamus @ 11 Jan 2016, 19:37)
не всегда от начала структуры.
Ну это нормально, пусть первые 8 бит у нас так и останутся их адреса будут нормально высчитываться(не читал код потому ничего сказать не могу)
Для вторых 8 бит, придется посмотреть и продублировать обращения по адресам, где это есть.
Цитата(hippocamus @ 11 Jan 2016, 19:37)
не всегда явно
Ну дак) я и не думаю, что реверс инженериг это просто) В любом случае вы лучше меня в вопросе разбираетесь - вы хоть в коде разобрались)
На досуге попробую поглядеть уж очень заманчивая задача хотя бы для себя)
Автор: Скорпион 11 Jan 2016, 19:59
тут у нас новый великий программист появился ?
Автор: feanor 11 Jan 2016, 20:02
Цитата
Если смещения через offset высчитываются, то нет не полетят. Я не думаю, что статические адреса там. Если так - то да все плохо.
Эм.
Пусть у нас есть структура карты, которая лежит в гейменеджере с оффсетом пусть 2000h, и занимает 1000h. До нее лежат какие-то данные, после нее лежат какие-то данные.
Если мы произвольно увеличиваем её объем (пусть нам надо для восьми игроков еще 200h байт), то нам надо двигать все данные, которые лежат после нее — вверх.
Впрочем, основная проблема не в этом (ну изменить способ обращения, дялов-то), проблема в том, что обращений таки до усрачки и местами они будут сильно неочевидны.
Автор: Odin 11 Jan 2016, 20:10
Цитата(Скорпион @ 11 Jan 2016, 19:59)
тут у нас новый великий программист появился ?
=(
Что ж так сразу. Я написал, код не видел. Потому всех сложностей в отличие от вас не вижу. Что подумал, то и высказал. Если человеку интересно поглядеть и разобраться в какой-то проблемы. Тем более попытаться вам помочь, если не нужно вам больше 8 игроков - ну не нужно, я для себя попробую разобраться поглядеть, что сразу огрызаться-то.
Цитата
Впрочем, основная проблема не в этом (ну изменить способ обращения, дялов-то), проблема в том, что обращений таки до усрачки и местами они будут сильно неочевидны.
Ну вы насколько я понимаю, от и до знаете где такие неявные места присутствуют, ну или хотя бы имеете об этом представление.
Автор: Скорпион 11 Jan 2016, 20:11
Odin,а разве я говорю из сарказмом ? Может ты реально там что-то шаришь ,а новые люди с какими-то знаниями не помешают ,лично я можно сказать бесполезный тут ,просто сижу и читаю ,что обсуждают знатоки ,массовка кароч
Автор: Odin 11 Jan 2016, 20:28
Цитата(feanor @ 11 Jan 2016, 20:02)
Цитата
Если смещения через offset высчитываются, то нет не полетят. Я не думаю, что статические адреса там. Если так - то да все плохо.
нам надо двигать все данные, которые лежат после нее — вверх
Зачем вверх? Пусть так же лежат после.
Автор: feanor 11 Jan 2016, 20:48
Окау, и откуда тогда будут браться дополнительные данные?
Автор: Odin 11 Jan 2016, 20:54
Цитата(feanor @ 11 Jan 2016, 20:48)
Окау, и откуда тогда будут браться дополнительные данные?
Мб я не правильно вас понял.
Допустим у нас есть данные до структуры карты(x) и после(y).
Нам не принципиально(насколько я понял) увеличить размер структуры карты + 200h
Обращение к адресам данных у у нас будет все равно рассчитываться, что-то типа
offset [x-y], ну или что-то типа такого. mov ebx, NameY
Или я где-то не так вас понял?
Автор: hippocamus 11 Jan 2016, 21:00
feanor
ну, таблицу перенести по другому адресу - как обычно делают...
Цитата(Скорпион @ 11 Jan 2016, 19:59)
тут у нас новый великий программист появился ?
Знаешь, годами на форуме говорили, что увеличить разрешение игры невозможно! пришёл бараторч, который об этом не знал - и сделал! Новые мозги - здорово!
Автор: feanor 11 Jan 2016, 21:01
Цитата
ну, таблицу перенести по другому адресу - как обычно делают...
когда она в динамической памяти и тягается по хитровычисляемому указателю - это сущий геморрой
сорцы хоты вон глянь, как там герои расширяются, ага - то еще развлечение
Автор: hippocamus 11 Jan 2016, 21:14
Ну, понятно. Но если её размерность изменяется - уж лучше перенести. Всё равно многие указатели уже будут пальцем в небо указывать.
Автор: Kastore 11 Jan 2016, 21:31
Мне всегда импонировала идея добавления ещё хотя бы двух игроков - жёлтого и чёрного, к примеру. Но, увы, работа, как говорили ранее - муторная, и вылавливать все затаившиеся косяки - так можно и с нуля писать.
Да и, говоря по правде, ещё +2 игрока - это уже очень вряд ли мультиплеер. Я себе и 8 человек слабо представляю. Но для потенциально сингловых карт это было бы очень даже хорошо. Вот недавно товарищ нарисовал карту Антагарича для Хоты, и там приходится выбирать - какие два замка из 10 оставить нейтралами.
Автор: Скорпион 11 Jan 2016, 21:39
Цитата(hippocamus @ 11 Jan 2016, 20:00)
Цитата(Скорпион @ 11 Jan 2016, 19:59)
тут у нас новый великий программист появился ?
Знаешь, годами на форуме говорили, что увеличить разрешение игры невозможно! пришёл бараторч, который об этом не знал - и сделал! Новые мозги - здорово!
Я же не спорю ))) Гляди и этот что-то откроет )))
Автор: hippocamus 11 Jan 2016, 22:39
Цитата(Kastore @ 11 Jan 2016, 21:31)
Я себе и 8 человек слабо представляю.
Ну, с одновременным ходом - уже легче будет. А со временем, думаю, и вообще найдётся метод до конца идти одновременно.
Автор: igrik 12 Jan 2016, 15:33
Автор: Odin 10 Jan 2018, 11:27
Мб кому интересно будет, занимался дизассемблированием и изучением месяца 2-3 героев в попытке добавить 9 игрока. Успехи были, но их прям скажем было очень мало. Спустя почти год тяжело вспомнить какие-то мелочи.
Но, по факту, основная проблема - это просто ОГРОМНОЕ количество не очевидных и хитровымученных обращений к объектам игрокам.
Понял так же, почему будет проблема со сдвигами адресов, к сожалению компиляторы 90-х были оч крутыми) Ну, или сразу так круто код писали программисты)
Какого-то простого решения я не нашел, а сложные - слишком геморройные=(
Форум Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)