Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile


Age of Heroes Headlines:  
5 Oct 2016: Heroes VII development comes to an end.. - read more
6 Aug 2016: Troubled Heroes VII Expansion Release - read more
26 Apr 2016: Heroes VII XPack - Trial by Fire - Coming out in June! - read more
17 Apr 2016: Global Alternative Creatures MOD for H7 after 1.8 Patch! - read more
7 Mar 2016: Romero launches a Piano Sonata Album Kickstarter! - read more
19 Feb 2016: Heroes 5.5 RC6, Heroes VII patch 1.7 are out! - read more
13 Jan 2016: Horn of the Abyss 1.4 Available for Download! - read more
17 Dec 2015: Heroes 5.5 update, 1.6 out for H7 - read more
23 Nov 2015: H7 1.4 & 1.5 patches Released - read more
31 Oct 2015: First H7 patches are out, End of DoC development - read more
5 Oct 2016: Heroes VII development comes to an end.. - read more
[X] Remove Ads
LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info mods forum | HOMM4: info CTG forum | HOMM5: info mods forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Heroes 3.5 - WoG and Beyond > Thread: HeroWO.js: open source implementation of HoMM 3 in JavaScript
Thread: HeroWO.js: open source implementation of HoMM 3 in JavaScript
HeroWO
HeroWO

Tavern Dweller
posted April 05, 2023 08:59 AM
Edited by HeroWO at 19:50, 17 May 2023.

HeroWO.js: open source implementation of HoMM 3 in JavaScript

I'd like to present a project which I've been working on for three years.

• Web site: https://herowo.game
• Play Tutorial: https://herowo.game/#VHV0b3JpYWwv
• Open source: https://github.com/HeroWO-js
• Forum: https://forum.herowo.net
• Discord: https://discord.gg/UcGCNhJEUx

Written in JavaScript and PHP. Total number of lines - about 100k.

The current version is very bogus and works slowly but it can be all fixed if we find skilled contributors!

• Adaptive UI for desktop/tablet/phone screens: https://youtu.be/p8KIeIfkwgU (teaser!)
• Custom combat with larger field, 4 heroes and 10 creature stacks per hero: https://youtu.be/Sv41KuMesQE
• Map with three levels: https://youtu.be/FBiKVuTR9lY
• Multiplayer with a spectator: https://youtu.be/gvi1NU7Hq54
• More videos: https://www.youtube.com/@PlayHeroWO





• The map, combat, fog of war, sounds are done.
• Spells, creatures, artifacts, skills, buildings and towns.
• Fully parallel multiplayer (one player's turn or combat don't lock out everyone).
• Standalone .h3m parser and compiler written in PHP: https://github.com/HeroWO-js/h3m2json

The code is fundamentally flexible although not every feature is currently on the surface. For example, combat allows custom number of parties and dimensions, maps - unlimited number of levels, there's built-in recording of replays, spectator mode and many more.

The engine is especially focused on facilitating modifications - be it with programming or without (using the system of effects and databanks). More info: https://forum.herowo.net/t/introduction-to-modifications/48





Everyone can help, not only programmers!
https://forum.herowo.net/t/how-to-help/14

____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
gnollking
gnollking


Supreme Hero
posted April 05, 2023 04:27 PM

It's very interesting, but... why?
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
yogi
yogi


Promising
Famous Hero
of picnics
posted April 05, 2023 06:09 PM


wow!
____________
yogi - class: monk | status: healthy
"Lol we are HC'ers.. The same tribe.. Guy!" ~Ghost

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
LordCameron
LordCameron


Known Hero
Veteran of the Succession Wars
posted April 06, 2023 02:20 AM

Very neat

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fiorin
fiorin


Promising
Famous Hero
☠️
posted April 06, 2023 03:21 PM

I have tried a few times in different browsers and keeps freezing in advanced options on the map selection screen. But, seems a really nice herculean work.

Good job dude

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
HeroWO
HeroWO

Tavern Dweller
posted April 06, 2023 08:18 PM
Edited by Corribus at 04:20, 07 Apr 2023.

Thanks everyone supporting me with kind words! I honestly value it.

gnollking said:
It's very interesting, but... why?

To have a classic HoMM where gameplay rules are not totally hardcoded, where you don't have to jump out of your pants to start a multiplayer game, where you can create modifications with a breeze and ditch C++ and reverse engineering - basically a better classic and a better game.

fiorin said:
I have tried a few times in different browsers and keeps freezing in advanced options on the map selection screen.

I have heard this before but I can't put my finger on it. Apparently some networks/browsers fail to load map files (that's what happens when you press Advanced Options or BEGIN), or this process takes too much time. If you are willing to help me solve the issue, please get in touch via the forum (forum.herowo.net), email (admin at herowo game) or Discord.

____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Dydzio
Dydzio


Adventuring Hero
VCMI contributor
posted April 06, 2023 08:25 PM

Well, apart from ditching C++ the VCMI project has exactly same goal

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Macron1
Macron1


Supreme Hero
posted April 06, 2023 08:40 PM

The only question - why there are 4 heroes in combat?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
phe
phe


Famous Hero
Life and Freedom
posted April 06, 2023 09:59 PM

Macron1 said:
The only question - why there are 4 heroes in combat?


not why they are but why so large?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
HeroWO
HeroWO

Tavern Dweller
posted April 07, 2023 07:38 PM
Edited by HeroWO at 19:41, 07 Apr 2023.

Dydzio said:
Well, apart from ditching C++ the VCMI project has exactly same goal

It's an important nuance. An interpreted language allows mods to be written more pleasantly and with less skill, not to mention the unparalleled degree to which you can modify the system. And it instantly runs in any web browser.

Besides the tech stack, HeroWO supports 100% simultaneous multiplayer (you can have several parallel combats too), unlimited dimensions for combat, combat with any number of parties (2, 3, 8, 50, any), arbitrary number of map levels (not just overground and underground), and a unique effects system where you can modify creature and hero stats, hero APs and move costs, experience gaining factor, constructed town buildings, available spells and their cost and strength, player's income, world rumors, monsters' aggression, number of spell casts per combat round, bonuses for any map object (think of Pandora's Box parameters attached to a Faerie Ring!), visibility of map shroud in any point (such as on Cobblestone Roads), semi-visible shroud state, scouting radius around owned objects, type of fortifications used in a combat - literally 155 different aspects of the game - with a single declarative JSON line specifying up to about 50 different conditions (current date, owning player, hero class, opposing creature, terrain, spell school, number of visits, etc.) when the change must be applied.

For example, this causes heroes to move 10 times slower over the adventure map during the plague week:

{"target": $hero_actionCost, "ifWorldBonus": $plague, "modifier": [$relative, 10.0]}

And this more sophisticated example causes all treasure chests to produce either gold or artifacts (by removing experience options) but only for human players on Mondays:

{"target": $quest_choices, "modifier": [$diff, "exp500", "exp1000", "exp1500"], "ifBonusObjectClass": $treasureChest, "ifPlayerController": "human", "ifDateDay": 0}

With comparatively small amount of work, HeroWO can encompass HoMM II (and fheroes2). With further work, one may build other old TBS like Disciples on top of it.

HeroWO is not a HoMM 3. It's a superset of all classic turn-based strategy games.

Macron1 said:
The only question - why there are 4 heroes in combat?
phe said:
not why they are but why so large?

It's a demonstration of what the engine can do, that it's not limited to HoMM 3 gameplay. Of course, HoMM-compatible combats are normal 2-hero, 15*11 in size.

____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Khadras
Khadras


Famous Hero
posted April 08, 2023 03:49 AM

A great idea and a great work! Bravo!

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
NimoStar
NimoStar


Responsible
Legendary Hero
Modding the Unmoddable
posted April 08, 2023 02:48 PM
Edited by NimoStar at 14:54, 08 Apr 2023.

That's a very weird and intriguing battlefield, I will give you that

Three+ level maps and extra heroes in combat have already been my dreams before

The UI button should probably show a golden number overlay to the level
____________
Never changing = never improving

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Warmonger
Warmonger


Promising
Legendary Hero
fallen artist
posted April 08, 2023 06:40 PM
Edited by Warmonger at 18:41, 08 Apr 2023.

Quote:
Custom combat with 4 heroes

But what's the point? How do you even start this kind of battle and what is the outcome?
____________
The future of Heroes 3 is here!

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
HeroWO
HeroWO

Tavern Dweller
posted April 09, 2023 08:49 PM
Edited by HeroWO at 20:52, 09 Apr 2023.

Warmonger said:
Quote:
Custom combat with 4 heroes

But what's the point? How do you even start this kind of battle and what is the outcome?

A joint combat is triggered when there are monsters, towns and/or heroes adjacent to the travel destination:

It allows combining armies to face a single strong foe:

Or creating complex configuration, like protecting an area with two monsters at once. If red and green are enemies, green acts as a guardian preventing red from getting into the fight alone (green will join it if attacked):

The combat ends as soon as less than 2 different teams remain alive (a draw is technically possible).

This behaviour is an extension to HoMM 3 rules and is not enabled by default.

____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
MattII
MattII


Legendary Hero
posted April 10, 2023 10:39 AM

Hm, are armies with more than seven stacks going to be allowed?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
HeroWO
HeroWO

Tavern Dweller
posted April 10, 2023 07:57 PM

MattII said:
Hm, are armies with more than seven stacks going to be allowed?

They already are - look at the combat demo carefully, you'll notice the defending hero (Blue) has 10 creatures, that's not counting the two towers.

In fact, even in HoMM 3-compatible mode a hero may get more than 7 stacks since war machines are regular albeit temporary creatures created for the duration of a combat, as can be observed from the hero info box:


____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
BrandochDaha
BrandochDaha


Hired Hero
posted April 10, 2023 08:10 PM

This is a very nice work!

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
MattII
MattII


Legendary Hero
posted April 11, 2023 10:34 AM

HeroWO said:
MattII said:
Hm, are armies with more than seven stacks going to be allowed?

They already are - look at the combat demo carefully, you'll notice the defending hero (Blue) has 10 creatures, that's not counting the two towers.

In fact, even in HoMM 3-compatible mode a hero may get more than 7 stacks since war machines are regular albeit temporary creatures created for the duration of a combat, as can be observed from the hero info box:


Huh, cool. The Interface will need to be redone a bit to account for that.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Salamandre
Salamandre


Admirable
Omnipresent Hero
Wog refugee
posted April 11, 2023 01:39 PM

Congratulation for your work, a lot of interesting ideas, I hope you succeed into completing it. I like a lot the concept of joining forces, the first game allowing that was Romance of the Three Kingdoms. However that game heroes had given and non scalable stats from the start, which Heroes 3 does not.

So, what would be the interest of joining forces when by game's nature, you have one main then all others are weak. That would require a total rethinking of the leveling system.
____________
Era II mods and utilities

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
HeroWO
HeroWO

Tavern Dweller
posted April 11, 2023 08:17 PM

MattII said:
Huh, cool. The Interface will need to be redone a bit to account for that.

Yes, the project needs somebody who can mark up the game UI properly, without using background images with hardcoded layout. This may require an artist's touch as well. But the task itself is trivial.

Salamandre said:
Congratulation for your work, a lot of interesting ideas, I hope you succeed into completing it. I like a lot the concept of joining forces, the first game allowing that was Romance of the Three Kingdoms. However that game heroes had given and non scalable stats from the start, which Heroes 3 does not.

So, what would be the interest of joining forces when by game's nature, you have one main then all others are weak. That would require a total rethinking of the leveling system.

Thanks. The current combat system was inspired by Age of Wonders I && II:



AoW has a much more evolved concept of towns, with separate level-up tiers and separately constructed fortifications (both can be fully replicated in HeroWO), and this blends perfectly with the joint combat system where the only way to lay siege to an enemy's capital (hosting 3 or 4 fully rigged heroes behind stone walls) lies through a cooperation.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Jump To: « Prev Thread . . . Next Thread »
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.0597 seconds