ihhub / fheroes2

fheroes2 is a recreation of Heroes of Might and Magic II game engine.
https://ihhub.github.io/fheroes2/
GNU General Public License v2.0
2.58k stars 359 forks source link

Create a Tutorial Map #6189

Open JoLiKMC opened 1 year ago

JoLiKMC commented 1 year ago

Preliminary checks

Describe the problem requiring a solution

The current builds of fheroes2 lack the "TUTORIAL.GM1" Standard save game file.

Describe the possible solution

The original Heroes of Might and Magic II: The Succession Wars comes packed with a single save game file. Named "TUTORIAL.GM1", it places players in the shoes of a lone Knight-class hero, "Gwenneth", on Day 5 of an Easy, Small demonstration map simply named "Tutorial" on Normal game difficulty. There, the player must wander around and fend off one Warlock hero, "Skoran", and one Barbarian hero, "Jojosh", as the three vie for the land and resources. The first to defeat the others wins!

Using cheat codes, it's very easy to expose the map in the game, itself, and see how things are laid out. Recreating the map in the editor is very trivial from that point on. However, I think it would be neat if the actual save game, itself, were included in this source port. It shows the game in a somewhat earlier state, based on the hero names and such, and it's just a nice little map to get players acquainted with how the game is supposed to work.

Additional info

heroes2_000 The map information as viewed through the Info menu

heroes2_001 An overview of the entire map as seen through the Map menu

zenseii commented 1 year ago

Hi, @JoLiKMC.

Welcome and thank you for your interest in the project. We have in fact recently been discussing this issue of not having a tutorial map available. The problem with remaking this map into a normal map file and supplying that file with the project is due to licensing and copyright issues, because that would equate to sharing things that don't belong to us. Same reason we don't supply any maps at all with the project.

A second option which you describe is to reverse engineer such a save game file that contains a map and then being able to read that with fheroes2. Since this is the only map that is provided in such a way, I'm not sure it is worth the possible time spent on figuring this out.

A third option which is more likely to happen is that we create our own completely new tutorial not using the original map editor (due to the original license not allowing that) and provide that tutorial with fheroes2. I know this doesn't solve the problem of not being able to play this specific original map in fheroes2, but at least it provides new players with a less frightening introduction to the game.

JoLiKMC commented 1 year ago

Ah, I see.

Well, to your first point, most definitely not. Anything that would push into "legally gray" territory should most definitely be avoided. It's rather odd that this also spills into the third point. I figured since this project uses (or can use) the original game map files, any maps created with New World Computing's editor would be fine. I don't know the specifics about what can and can't be done, legally speaking, so again, best to just avoid anything like that altogether, yeah.

As for the second point… ah, maybe I'll look into this, myself. I've tinkered with hex editing and the sort, before, and I might be able to figure out how to compare a base map file to a "saved state". It probably wouldn't be helpful for the project… but it would be fun for my own personal knowledge!

Thank you for taking the time to explain the ins and outs! And of course, thank you and everyone involved for continuing this project! It looks great, so far, and I'm excited to see what comes of it!

(Not sure if this should be considered "closed" or not, so go ahead if you want to. I'm satisfied with the answers given, thank you!)

zenseii commented 1 year ago

I think we can leave this issue open because this question might pop up again from someone else and also we do plan on making our own tutorial at some point, we just didn't have an issue for it yet.

You're welcome and I'm glad you are enjoying the project!

Stisen1 commented 3 months ago

I can make this map one-to-one if you want me to @ihhub , @zenseii

zenseii commented 3 months ago

Hi, @Stisen1. It would be great to collaborate on a tutorial map. I think we should create a new one and not copy the old one, both because it isn't that good (I've tried it in fheroes2 and sometimes the AI opponents rush you early), and because we want to avoid licensing/copyright issues if we just copy it.

We can make further discussions in discord.

JoLiKMC commented 3 months ago

Recommendations for a new tutorial map (since this topic is active again):

Stisen1 commented 2 months ago

I imagine a map shaped like the fheroes2 logo!

Around the logo, underneath if you will, is the map editor logo, the NWC logo.

On this map we'll have plenty of opportunities to shape areas with lines and signs that tell any player, that there are certain rules to learn about in this and that direction. If you wanna max out your character, go that way, if you wanna recruit creatures from map dwellings, go that way, etc...

We need to ensure that any player can feel like they start up in a player biome, as H3 players on YouTube call it. The place where basic resources and mines are, and the place where you often only meet random monsters from tier 1-2.

We'll place strong enemies between sections, but the player will be able to defeat them no matter what... That is if they pick up all free units hidden in plain sight within the biome.

Lets have routes for battle, some for discovery and some for resources and stuff. All directions need to have points of interests, but we don't want the map to be jam packed with too much for a newcomer's senses to handle... We want something like Heroes 1 maps, quite empty but still enough to keep it interesting! We don't want a Heroes 3 kinda map! Those are waaaay to filled to the brim with too many points of interests. We need to make any path enjoyable, relaxed and not require too much decision making.

Enemies need to stay behind gates or beyond the seas. And let's notify the player about this.