The Wesnoth.org website and forums will be taken down for maintenance this September 28 at 8 am UTC for 1-8 hours.

You can find more information about affected services in the News post. ― Iris

Wesnoth 2.0 and project Haldric?

Discussion of all aspects of the game engine, including development of new and existing features.

Moderator: Forum Moderators

User avatar
revolting_peasant
Posts: 172
Joined: May 29th, 2012, 5:45 pm

Wesnoth 2.0 and project Haldric?

Post by revolting_peasant »

I read a mention of Wesnoth 2.0 and of project Haldric in the new constitution, and realized I haven't heard about these initiatives (initiative, singular?) before.

Now, I suppose it's a rewrite using a different "engine". But other than that I know nothing, so - I was hoping this forum's denizens could sketch out, roughly and in a couple of paragraphs what this change would mean for Wesnoth' development and perhaps w.r.t. capabilities exposed to the user (if there's any planned feature which depends on this transition.)

To describe myself as an "audience" for this explanation: I'm a C++ (and CUDA) software developer myself, but I've never worked with LUA nor gotten into the Wesnoth codebase.
User avatar
Pentarctagon
Project Manager
Posts: 4507
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 2.0 and project Haldric?

Post by Pentarctagon »

Initiative (singular, since they refer to the same thing). The basic premise is that there's currently a lot of technical debt present as well as a lot of custom implemented functionality (engine, UI toolkit, scripting languages, etc) that needs to be maintained, so it would be beneficial to use a separate engine rather than needing to handle all that ourselves. Haldric/Wesnoth 2.0 then is an attempt to re-implement the same gameplay on top of the Godot engine, and UMC would be created in the Godot editor rather than with WML and lua. This effort is being headed by Bitron and vultraz.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
revolting_peasant
Posts: 172
Joined: May 29th, 2012, 5:45 pm

Re: Wesnoth 2.0 and project Haldric?

Post by revolting_peasant »

@Pentarctagon: So, this Godot, I take it...

I have a few questions, if I may (and if you have the time):
  1. Does Godot really obviate the use of a ubiquitous-markup-language? I understand WML has been central to how Wesnoth works and how its parts interact. Is there some equivalent (or adaptable mechanism in Godot?
  2. Have you "lucked out" to be able to just cut away a bunch of your code out, and keep most of the rest about the same, plus some glue? Or is it more complicated than that?
  3. Will you need to, or want to, extend Godot itself significantly?
  4. How performant is Godot? Or perhaps I should ask - how "heavy" is it on your system when running a game like Wesnoth?
  5. I don't think I can find the time to help you guys (and if I had free time - my LibreOffice RTL language QA work comes first). But - are you perhaps fundraising for this purpose?
User avatar
Pentarctagon
Project Manager
Posts: 4507
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 2.0 and project Haldric?

Post by Pentarctagon »

Yep, that Godot.

For #1: The general equivalent would be Godot's scripting language, gdscript, which is very python-like.
For #2: It's less about lucking out as it is using Godot instead of custom implementing various things. For example, there obviously still needs to be a game engine, but it'd be Godot's engine rather than the custom implementation used in current Wesnoth.
For #3: I'm not really sure - I've not been especially involved in Haldric's development so far.
For #4: There have been some issues, though as I've understood it a lot of the problems stem from too closely following how things are done in current Wesnoth vs what's optimal for Godot. Bitron would be much better able to answer this, though.
For #5: Haldric is still pre-alpha, so there's nothing like that going on for it yet. There is a general Wesnoth Liberapay though.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
dns2utf8
Posts: 2
Joined: August 30th, 2020, 8:19 pm
Contact:

Re: Wesnoth 2.0 and project Haldric?

Post by dns2utf8 »

I am happy to hear that there is some new development.

Would that mean that the python2 dependency would get updated to python3 in the process?
Or get dropped completely?

Cheers
User avatar
ForPeace
Posts: 146
Joined: December 12th, 2015, 3:09 pm
Location: Kraków, Poland

Re: Wesnoth 2.0 and project Haldric?

Post by ForPeace »

Is there any chance of reimplementing WML in Wesnoth 2.0 and thus allowing currently existing UMC to run on it?
My Ladder of Wesnoth profile
I currently maintain the Polish translation of The Battle for Wesnoth.
Jeżeli jesteś polskim graczem, dołącz do wesnoth.com.pl
User avatar
octalot
Developer
Posts: 496
Joined: July 17th, 2010, 7:40 pm

Re: Wesnoth 2.0 and project Haldric?

Post by octalot »

dns2utf8 wrote:
August 30th, 2020, 8:40 pm
Would that mean that the python2 dependency would get updated to python3 in the process?
Or get dropped completely?
The python3 transition is complete - Wesnoth 1.15.4 had the final part of it. :mrgreen: :mrgreen: :mrgreen:
User avatar
Pentarctagon
Project Manager
Posts: 4507
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 2.0 and project Haldric?

Post by Pentarctagon »

ForPeace wrote:
August 31st, 2020, 6:54 am
Is there any chance of reimplementing WML in Wesnoth 2.0 and thus allowing currently existing UMC to run on it?
It's very unlikely. Work on Haldric is progressing very slowly however, so it most likely won't be ready for any sort of release for a while.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
fabi
Inactive Developer
Posts: 1254
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Wesnoth 2.0 and project Haldric?

Post by fabi »

Please note,
Wesnoth for Löve
is another attempt implementing a new engine for Wesnoth players.
"Wesnoth has many strong points but team and users management are certainly not in them." -- pyrophorus
dns2utf8
Posts: 2
Joined: August 30th, 2020, 8:19 pm
Contact:

Re: Wesnoth 2.0 and project Haldric?

Post by dns2utf8 »

Interesting. So is there a 1.16.x release with the current 1.15.x code planed? It would be really nice to ditch python2 on my system since wesnoth is the last program depending on it.
User avatar
Pentarctagon
Project Manager
Posts: 4507
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 2.0 and project Haldric?

Post by Pentarctagon »

1.16 will not be released for about a year, at least in the current plan.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
octalot
Developer
Posts: 496
Joined: July 17th, 2010, 7:40 pm

Re: Python 2 removal

Post by octalot »

dns2utf8 wrote:
September 14th, 2020, 8:48 pm
Interesting. So is there a 1.16.x release with the current 1.15.x code planed? It would be really nice to ditch python2 on my system since wesnoth is the last program depending on it.
Even in 1.14, the only things using python2 should be some tools for UMC authors; tools that are run from outside the game itself. If ditching python2 breaks the game, then that would be a bug (please report it, either here or on Github).

For the UMC-authoring tools, using 1.15's tools should also be sufficient to work on content for 1.14. If we've removed a tool and not provided a replacement, then please say.
User avatar
revolting_peasant
Posts: 172
Joined: May 29th, 2012, 5:45 pm

Re: Wesnoth 2.0 and project Haldric?

Post by revolting_peasant »

@fabl: Can you compare and contrast the two different initiatives? And why there's this bifrucation other than the community focusing on a single engine?
fabi
Inactive Developer
Posts: 1254
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Wesnoth 2.0 and project Haldric?

Post by fabi »

revolting_peasant wrote:
September 16th, 2020, 10:59 pm
@fabl: Can you compare and contrast the two different initiatives? And why there's this bifrucation other than the community focusing on a single engine?
At the time when I proposed the new WSL syntax (2016) and the concept behind W4L (I called it 'Irdya' back then),
Vultraz was not very pleased with the proposals.
Then 2 years later Haldric was started, I have not been around at that time.

I have learned from Bitron that both projects are more different than I first thought.
Please be aware, I am not involved in Haldric yet, everything I write can be horribly wrong.

1) Haldric uses another license, while W4L uses GPL2+ like Wesnoth.
Thus Haldric needs to be reimplemented from scratch, while W4L makes heavy use of Wesnoth's old codebase.
I guess that gives W4L a huge advantages regarding the amount of work that needs to done for reaching Wesnoth's current state.
I can much faster translate c++ code into Moonscript than reimplementing everything from scratch, I guess most coders are like me in that way.
The advantage of Haldric's License is, more freedom, it can for example be used in commercial games, something I feel is a good thing, not every open source developer agrees.

2) The Löve game engine is a specialist for 2d games. It is like Wesnoth more or less a wrapper around libsdl and other libs, offering a similar api.
That helps greatly when it comes to port Wesnoth C++ sdl calls into Löve api calls.
Godot on the other hand needs most likely new concepts, so not even inspiration from the old codebase is so easy to translate into implementation.

I guess that makes Haldric to a long term project,
resulting in a different game.

3) Especially since it needs its own content created, not making use of existing umc.

W4L aims for being a replacement for the current engine, hopefully within the next 2 years.
Haldric aims for being a fancy (3d ?) successor to Wesnoth in a more distant future.

In the W4L development thread I speculated about Haldric being a client to the W4L server in the future.
So both projects have different goals and I don't see a reason why they shouldn't happily coexist.

W4L is not that complex, it can be finished with only a few Moonscript coders, which is far easier than c++, so I can recruit coders from a much broader range, not draining any c++ developers from the main project or Haldric.
"Wesnoth has many strong points but team and users management are certainly not in them." -- pyrophorus
User avatar
Pentarctagon
Project Manager
Posts: 4507
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth 2.0 and project Haldric?

Post by Pentarctagon »

To add a couple bits if information:
  • For licensing, the practical effect is that Haldric would be able to use libraries that are forbidden by the GPL currently. Steam's SDK is not GPL compatible for example, so Haldric would potentially be able to add support for Steam achievements whereas current Wesnoth will simply never be allowed to do that.
  • Haldric isn't going to be a 3D game :P
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
Post Reply