Good evening, esteemed company.
I am writing in Ukrainian because it is easier for me to formulate my thoughts. I think most of it will be clear, and whatever isn't can be put through Google Translate.
If anyone has been following along, they might notice that the development speed has slowed down lately; new things are being added sluggishly, and in the reports, I mostly wrote that I "fixed this and that."
That is actually the case. I once wrote a post about how I would write Heroes in a browser. I broke it down into three parts:
1. Write the battle in the browser.
2. Write some simple duel template (for example, JC).
3. Write the AI and the rest of the templates.
In March, quarantine started almost synchronously in all countries. Everyone coped in their own way; the transition to quarantine wasn't a big problem for me, the biggest challenge was developing the discipline to be able to work from home.
A crisis, on the other hand, began in Heroes. I had 3 months left that I could play OX, won in a bet in-game. It was painful to feel that SoD was dying, and all the players were moving to Hite.
I don't know exactly what pushed me toward this activity. In December 2019, I took my old project
http://hexagonapp.appspot.com/ and started slowly rewriting it for SoD.
At that time I was streaming; I remember dave_hun even stopped by, which was a pleasant surprise. I managed to get the angel, champion, and minotaur to move instead of those three creatures from Heroes 2.
Then I abandoned it for half a year. I had just received six months of OX and started using them to the fullest.
Then the quarantine started, and I got the feeling that Heroes stopped bringing the pleasure I received before. Exactly what pushed me to continue working on the project—I don't know for sure.
At the time, I estimated the time to write the battle in the browser at one year of work. Of course, that's full-time work, where you work 5 days a week, 8 hours a day.
In short, I worked on them for a year. Only the work mostly took place on weekends. You can see the schedule in the image from GitHub, which I pulled and which you probably won't be able to see.
Looking back, I realize that knowing what I know now, I would probably have given up and done something simpler.
Now it has simply turned into some kind of obligation that I imposed on myself. Like "I need to write some Heroes on the weekends." This is not good. In the beginning, it brought me pleasure.
Now I don't know anymore. Over the last two weeks, I've opened the IDE several times, hypnotized the code, and closed it.
I don't know what the reason is. It could be that I changed jobs in March. It could be that I'm tired. It could be that the community and everyone doesn't give a damn. It could be that I've developed other priorities that I'm currently dealing with (not on weekends, but still).
Therefore, this post is a kind of writing out of self-awareness; maybe after this, it will become easier and clearer what and how to proceed.
As for the state of Heroes in the browser—currently, battles with magic are implemented in various formats: hero vs hero, against neutrals, and in a vacuum. With bugs, but bugs are actually trivialities. State is saved in the browser, but it's not a problem to restore its saving on the server, which was there since June of last year. It's just easier for me to develop this way. Plus, on the site where I publish, you can't attach servers.
There are a few fundamental problems. One that I need to solve now is the appearance of widgets and their reuse. I've hit a dead end, although this is most likely fatigue and despair.
There were many problems during writing. First, I made a mistake trying to do it on canvas as it was in hexagonapp. Then I made a mistake writing in svg. Then I made a mistake incorrectly rendering the graphics.
Reworking each of these mistakes took a couple of weekends. Of course, other things were added after that. Then I made a mistake by moving everything to the database too early, and that's how I live now (a simple json would have been enough, which is actually what's in the demo).
There is a lot of tedious work that eventually needs to be solved alone, because the people who promised to help are flaking out. However, this was expected.
This includes writing a resource extractor from the .lod file, parsers for the tables of the heroes.thelazy site (great wiki), and writing sql-scripts from which the necessary json-files are then formed.
Currently, a problem is the positioning of various graphics that I extracted, but for them, I need to find "magic" numbers to then use to render everything on the battlefield.
I no longer count small design errors, such as a slightly different pathfinding algorithm, writing a monstrous class for magic, which I then spent a long and boring time breaking down and rewriting to make creatures also perform magic, etc.
It seems like I've done a lot, but I realize that in its current state, nobody gives a damn about it, and I wouldn't want it in this state myself. In principle, if I were given another year, I think I would have finally brought the battles to a decent state, including city sieges.
But I no longer know if I want this. I don't understand why I'm doing it. It was interesting, you can show it to people, and they say "wow, cool," but it's not work that is completed. And it is not a finished project.
Now it has turned into a kind of burden that is hard to carry, but a pity to drop.
I don't know. There probably won't be any updates in the near future, as I need to understand what's what and find motivation, or give up and put it in the drawer with the projects that I also didn't finish.
In the next few months, I think I'll understand what's next and what I want.
That's it for now.