Pull to refresh
196
0
Павел @ProgerXP

Вольный программист и дизайнер

Send message

Как написано в README:

server side that amounts to about 4% of Core is proprietary

В понятие "сервер" входит управление клиентскими подключениями, но не игровая логика (включая синхронизацию), которая является частью Core.

Я работал с Phaser. Это целый комбайн размером с сам HeroWO. Например, у него есть физический движок (расчет столкновений и прочее). Тащить его только ради рисования текстур как-то не камильфо (для звуков уже есть своя вполне адекватная подсистема) — это можно делать и без всяких библиотек.

Напоминает анекдот "а теперь мы попробуем со всей этой фигней взлететь".

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

Как я уже отвечал выше, не нужно считать, что я специально тратил время на добавление нестандартных для "Героев" функций. Текущий вариант — это и есть минимальный прототип.

Я не против GitHub. На форуме для многих нехабровчан должно быть проще, только и всего.

Частично соглашусь, однако с интерпретируемым языком есть степень свободы, при которой опытом/навыками/инструментами можно частично компенсировать необходимость в тестах и отлове багов, и тогда может получиться быстрее. А может и нет. "Геройских" проектов на Си существует достаточно, для меня смысла начинать еще один было мало.

Смысл добавлять столько всего нового, если сама игра нормально не работает?

Вы ошибочно считаете, что я специально тратил время на добавление нестандартных для "Героев" функций. Это не так. Проект писался с нуля, а потому очень многие функции получились сами собой, просто потому, что они были заложены при проектировании. С точки зрения кода разница между картами с 2 уровнями или 22 — никакой. То же самое с битвой — хоть два героя, хоть десять, хоть поле 15×11, хоть 30×20. Да, на данный момент нет подходящей графики и баланса, но их легко добавить, если в движке нет фундаментальных ограничений.

Я упоминаю о таких функциях только для того, чтобы показать отличия от существующих проектов. Жаль, если получается так, что за "багами не видно леса".

Нужно действовать поэтапно. HotA — это надстройка над SoD. Когда будет полная поддержка SoD, то добавить "ребаланс и фичи" не составит труда.

Конечно, можно, только что значит "переписать"? Если имеется в виду переписать движок, то в этом нет необходимости — за графику там отвечает хорошо если 15% всего кода.

Который HTML <canvas>. В движке сейчас используются только DOM-узлы для представления всей графики.

Для того что бы поиграть нужно было иметь оригинальный файл с ресурсами, который нужно было загрузить в браузер.

Это тупиковый подход, если планируешь хоть немного расширять оригинал (а такое желание возникнет рано или поздно, инфа 100%). Например, в картинки нельзя добавить 8-битный альфа-канал и 24-битный цвет. А уж парсить бинарные данные на JavaScript...

Для отрисовки использовал WebGl- во первых это работало намного быстрее, во вторых позволяло использовать все оригинальные графические решения, например вода анимировалась честным colour cycling, цвета флагов подставлялись динамически, и так далее.

Ни в коей мере никого не осуждаю, но, КМК, ошибка многих подобных проектов в том, что работа над ними проходила в режиме бесконечного времени. В этом случае, естественно, нужно сразу писать хорошую графическую подсистему и оптимальные алгоритмы. В реальном мире, увы, упускается очень важный факт: если есть готовый проект (пусть он и медленный, и глючный, и без слез в него не сыграешь), то его можно оптимизировать; если же половина не сделана вообще — то любые оптимизации не приблизят проект к готовности.

Поэтому, как я не хотел бы анимировать воду через палитру, суровая реальность такова: либо у меня будет красивая вода, и кому-то придется дописывать все остальное, либо будет все остальное, и кому-то придется дописывать красивую воду.

Вам я предлагаю дописать красивую воду — или, для начала, отрисовать мини-карту :)

Раздумываю над тем не написать-ли статью про "анатомию" героев- в каком формате хранятся какие ресурсы, как их можно распаковать и как отрисовать в webgl.

Что за вопрос, это же Хабр! Больше статей о "Героях", хороших и разных!

Там явно что-то более заковыристое — у тех же "Приключений" в центре есть остров, на нем вход в подземелье; если рядом с ним поставить объект (еще один вход), то в зависимости от того, что из них изменялось последним в редакторе, этот вход может или перекрывать объект, или нет. Точнее уже не помню, но я потратил много часов на эксперименты.

Конечно, игра жутчайше, адски глючит и лагает

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

Вы когда его отменяете - у вас получается пусть немного, но уже другая игра с другим балансом (кто быстрее нажал).

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

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

Ответа на этот вопрос нет, но вся соль в том, что HeroWO на него и не пытается ответить и не делает за вас этот выбор. В текущей версии все улучшения — косметические, но даже их можно убрать магическим переключателем "Classic" (https://herowo.game/?classic) и игра станет неотличимой от SoD, вплоть до криво расставленных элементов UI.

Задача HeroWO — дать простор для творчества, а не использовать его. Согласитесь, не использовать имеющийся простор проще, чем использовать неимеющийся :)

Однако, если в достаточной мере увлечься внедрением новых механик, получится игра, которая должна будет называться не "герои меча и магии 3 в браузере" а "herowo".

Функционал геймплея предоставляется модулями, как то H3.js ("Heroes 3"). В H3 сейчас нет возможности запустить битву с 3+ участниками, но модуль может сделать это элементарно. Вы при запуске сами решаете, в какую модификацию хотите играть, никто вам "улучшенных Героев" навязывать не будет.

В русской транслитирации звучит не слишком то благозвучно!

Это такой тонкий троллинг от автора и отражение (скептического) отношения к собственным трудам.

Команда HotA - закрытая донельзя и базируется на оригинальных "Героях", так что "официальным" такой проект никогда не станет и пределы роста у него весьма ощутимые. Реальнее было бы вкладываться в VCMI или fheroes2, но там совсем другой стек и свои тараканы, о чем неплохо написано тут.

"Диназавр" на сегодня это единственное человекочитаемое представление того, что, собственно, происходит внутри ЦП, так что вымирание ему не грозит. На многие вопросы однозначный ответ дает только ассемблер, иначе такое "исследование" будет сродни лечению по фотографиям.


Да и полезная разминка для мозгов, коим грозит тотальное заржавление из-за этих ваших "питонов" и прочих "жабоскриптов" :) </irony

1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity