Current time: 25.11.2024, 20:24 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
HeroWO.js: открытая реализация «Героев 3» для браузера
» Проекту нужны разработчики!
Author Message
HeroWO Offline

Posts: 6
Post: #1

Хочу представить проект, над которым я работал три года.

Реализация «Героев меча и магии III: Дыхание смерти» для браузера

Сайт: herowo.game (запустить Tutorial)

Код: https://github.com/HeroWO-js

Форум: https://forum.herowo.net

Discord: https://discord.gg/UcGCNhJEUx

Написан на JavaScript и PHP. Общее число строк - порядка 100 тысяч.

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

Image: adaptive-layout-yt.jpg

Image: custom-combat-yt.jpg

Карта с тремя уровнямиМультиплеер с наблюдателем
  • Готовы карта, битва, туман войны, звуки.
  • Заклинания, существа, артефакты, навыки, городские здания и города.
  • Мультиплеер без глобальных блокировок (ходы и битвы игроков не мешают другим).
  • Собственный парсер и компилятор .h3m на PHP: h3m2json
В коде заложена максимальная гибкость, хотя не все выведено наружу. Например, в битве может участвовать неограниченное число сторон, на карте может быть сколько угодно уровней, есть запись реплеев, режим наблюдателя и многое другое.

Особенное внимание уделено созданию модификаций, причем как с программированием (JavaScript), так и без (система эффектов и банков данных). Здесь более подробно.

Image: plaague.png

Image: city-lights-1-500.png


Открытая реализация Heroes III на JavaScript | herowo.game
(This post was last modified: 16.05.2023 19:12 by HeroWO.)
02.04.2023 20:37
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #2

Потестировал немного. Это, безусловно, очень и очень круто. Идея эффектов тоже интересная.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
02.04.2023 21:55
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #3

А это не твой проект, представленный на докладе?


Вообще, в этом русле я заинтересован, и могу помочь в разработке.


game bug fixes extended.dll || My Plugins || My GitHub
02.04.2023 23:58
Visit this user's website Find all posts by this user Quote this message in a reply
HeroWO Offline

Posts: 6
Post: #4

(02.04.2023 21:55)Berserker Wrote:  Потестировал немного. Это, безусловно, очень и очень круто. Идея эффектов тоже интересная.
Очень почетно слышать это от тебя!

(02.04.2023 23:58)igrik Wrote:  А это не твой проект, представленный на докладе?
Это проект другого автора. На Хабре есть расшифровка доклада, она меня частично сподвигла на свой труд, но у нас разный подход и технологии (например, у него TypeScript и закрытые исходники).

Кстати, на следующей неделе выложу на Хабр свою статью по мотивам. Надеюсь, найдем еще людей.

(02.04.2023 23:58)igrik Wrote:  Вообще, в этом русле я заинтересован, и могу помочь в разработке.
Это здорово. Ты хорошо знаешь JavaScript?

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

Здесь описано, как поднять локальную версию движка.

Если соберешься помогать - пиши на форум.


Открытая реализация Heroes III на JavaScript | herowo.game
03.04.2023 18:42
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #5

Очень хорошо знаю JS. Как и C++, C# и Dlang. А вот php не знаю, хотя сомневаюсь, что он вызовет трудности. Но чуть разгребусь с личными тяготами - подключусь к разработке
Я правда на убунте сижу, но я думаю разберусь, как развернуть локалку... Если нет - спрошу


game bug fixes extended.dll || My Plugins || My GitHub
08.04.2023 08:25
Visit this user's website Find all posts by this user Quote this message in a reply
HeroWO Offline

Posts: 6
Post: #6

(08.04.2023 08:25)igrik Wrote:  Очень хорошо знаю JS. Как и C++, C# и Dlang.
Шикарно. Буду очень рад тебя видеть в команде!

(08.04.2023 08:25)igrik Wrote:  А вот php не знаю, хотя сомневаюсь, что он вызовет трудности.
PHP используется только для конвертации данных (графика и текстовики из lod → банк данных, парсер h3m) и координации игроквых серверов. Это около 30% кодовой базы и по мере развития движка (JS) процент будет снижаться. Важных задач по этой части сейчас нет, а с теми, что есть, я могу разобраться и сам.

Главное на сегодня - тестировать и исправлять баги, многие из которых мелкие, но трудно воспроизводимые, а также переписать карту на использование Canvas (это два модуля, сейчас по 300 и 800 строк соответственно, но на Canvas кода будет в разы больше).

(08.04.2023 08:25)igrik Wrote:  Я правда на убунте сижу, но я думаю разберусь, как развернуть локалку... Если нет - спрошу
ОС роли не играет, в README описан универсальный алгоритм развертывания. Под *nix я не тестировал его так же детально, как под Windows, но серьезных проблем не ожидаю - напиши, если что.


Открытая реализация Heroes III на JavaScript | herowo.game
08.04.2023 08:55
Visit this user's website Find all posts by this user Quote this message in a reply
HeroWO Offline

Posts: 6
Post: #7

Приглашаю всех, кому интересна разработка игр, оценить мою статью на Хабрахабре о суровых буднях работы над движком HeroWO:

О, «Герои»? Дайте две! Как я писал очередной браузерный клон легендарной стратегии, в который уже почти* можно играть

Image: 2rfv5rdpralxok9zyltejp_0ufa.png


(03.04.2023 18:42)HeroWO Wrote:  Кстати, на следующей неделе выложу на Хабр свою статью по мотивам. Надеюсь, найдем еще людей.


Открытая реализация Heroes III на JavaScript | herowo.game
17.04.2023 15:07
Visit this user's website Find all posts by this user Quote this message in a reply
planetavril Offline

Posts: 87
Post: #8

i know js minimally, but maybe something i can do,I know html and css3 though
(This post was last modified: 22.04.2023 04:57 by planetavril.)
22.04.2023 04:56
Find all posts by this user Quote this message in a reply
HeroWO Offline

Posts: 6
Post: #9

(22.04.2023 04:56)planetavril Wrote:  i know js minimally, but maybe something i can do,I know html and css3 though
Missed your message, sorry! Sure, get in touch via the forum or Discord and we'll figure out how you can help!

(08.04.2023 08:25)igrik Wrote:  Очень хорошо знаю JS. Как и C++, C# и Dlang. А вот php не знаю, хотя сомневаюсь, что он вызовет трудности. Но чуть разгребусь с личными тяготами - подключусь к разработке
Как ты? Личные дела затянули, да?

* * *

На Хабрахабре вышла вторая статья по истории разработки и внутренностях движка HeroWO:

Карта, золото, «Герои»: продолжаем разбираться в технико-исторической части HeroWO.js — браузерного клона культовой игры

Image: j18m2egdzreapjzxzzueh10nkjy.png


Открытая реализация Heroes III на JavaScript | herowo.game
16.05.2023 13:15
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #10

(16.05.2023 13:15)HeroWO Wrote:  Как ты? Личные дела затянули, да?
Да, слишком сильно затянули. Раньше осени точно не смогу помочь, вот прям никак.
Хотя я и довольно заинтересован в вашем проекте, но личная жизнь важнее.


game bug fixes extended.dll || My Plugins || My GitHub
20.06.2023 17:42
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #11

А можно узнать, на каком фреймворке пишется фронт?
И бэк на чём (хотя вроде php, насколько я понял). И где лежит база данных?

Я всё же заинтересован в проекте, и осенью начну помогать, хотя бы по мелочи.
Но нужно ознакомиться с кодом. Прицениться, я бы назвал...


game bug fixes extended.dll || My Plugins || My GitHub
22.07.2023 16:59
Visit this user's website Find all posts by this user Quote this message in a reply
HeroWO Offline

Posts: 6
Post: #12

(20.06.2023 17:42)igrik Wrote:  
(16.05.2023 13:15)HeroWO Wrote:  Как ты? Личные дела затянули, да?
Да, слишком сильно затянули. Раньше осени точно не смогу помочь, вот прям никак.
Хотя я и довольно заинтересован в вашем проекте, но личная жизнь важнее.
Да, естественно. У меня по тем же причинам уже месяц лежит почти доделанный рендер карты на Canvas.

(22.07.2023 16:59)igrik Wrote:  А можно узнать, на каком фреймворке пишется фронт?
И бэк на чём (хотя вроде php, насколько я понял). И где лежит база данных?
PHP используется для подготовки данных (конвертации карт и пр.) и для координации клиентов (список карт, чат и пр.). Первое хранится в виде файлов (в основном JSON), второе - в MySQL или SQLite. Но эта часть тебя волновать не должна, обращаться к ней приходится редко.

Собственно движок построен на моем событийно-ориентированном фреймворке Sqimitive. На Хабре есть старая вводная статья. Код, демо и документация. Я целенаправленно избегаю внешних зависимостей и пишу код в старом стиле (<ES6, уровень IE11).


Открытая реализация Heroes III на JavaScript | herowo.game
23.07.2023 12:31
Visit this user's website Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group