Wesnoth for Löve

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

Moderator: Forum Moderators

User avatar
Pentarctagon
Project Manager
Posts: 4536
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth for Löve

Post by Pentarctagon »

Another question: how would translations be handled in W4L?
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: 1260
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Wesnoth for Löve

Post by fabi »

Not much time spend so far researching about this topic.

Although lua and gettext gives some promising results, so I hope it can be quite similar to how Attic handles it.
A script will parse the source files and extract everything marked for translation.
Then the usual translation process by the human translators.

The client uses gettext to translate its gui, while sending the information about the chosen language to the server.
Every text from WSL is then translated by the server, the resulting text is used to feed the client with whatever kind of message is to be displayed.
"Wesnoth has many strong points but team and users management are certainly not in them." -- pyrophorus
fabi
Inactive Developer
Posts: 1260
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Wesnoth for Löve

Post by fabi »

I recently was moved from the "Developers" forums group to the "Inactive Developer" one.
I am not inactive, it is just that I have not commited to the Wesnoth repository since years.

I like to make the discussion which lead to this change public:
fabi wrote: I wonder if my moderation powers can be rewoked, without leaving the developers group.
I am not much of a moderator and the extra gui elements make me do more mistakes, editing other users' posts instead of quoting them for example.

Regards, Fabi
Wedge009 wrote: Been a while since I looked at forum configurations - is it the case that members of the developer group are automatically given moderator rights? I sometimes get notifications that seem specific to moderation activity, even though I only subscribed to developer updates so I know about messages for things like the board elections and such.

Perhaps moderator group and developer group should be separate entities? (And individuals could be granted membership to both, of course.)
Pentarctagon wrote: IIRC it's that historically it used to be that developers were also doing moderative tasks, so developers still have access to a lot of the same forum tools as moderators do. It'd certainly be possible to remove access to those tools (such as editing other users' posts, moving threads, etc), though.
fabi wrote: Yes please do so. I am fine with normal user powers.
Pentarctagon wrote: I've moved you over to the Inactive Developers group, which is both technically accurate and removes your own mod powers without me needing to customize your specific user permissions. For the Developers group as a whole, I'll wait to see if anyone objects, but otherwise I'll go ahead with that too.
fabi wrote: Having the label 'inactive' is exactly what I wanted to avoid.
It's not only the label on the forums but also the right to participate in future elections for the project's political institutions.

Yeah, technically accurate it is. (Yoda speak will surely work)
In practice it feels like being quite active, at least from my point of you.

The simple trick to put W4L under the same umbrella, as a sister to Haldric, would correct the problem.

Regards,
Fabi
Iris wrote: You are more than welcome to contribute to Wesnoth on a regular basis again, but until the mainline or Haldric teams decide to adopt W4L or the Board of Directors decides to sponsor W4L's development in some capacity, that "simple trick" wouldn't be possible and would in fact go against the spirit of the Constitution.
fabi wrote: Then do your work politician.
Iris wrote: Exactly how am I supposed to interpret this response?
fabi wrote: You are on the High Council of Wesnoth?
Call in the Lords and Ladies, propose to adopt W4L.
Make some democratic stuff like voting or whatever the constitution wants.

And report to your souverain, the members of the community.
Iris wrote: Your tone seems mildly hostile to me.

I am keeping an eye on W4L from a distance anyway, but I'm afraid that as the maintainer of the add-ons server I don't have as much power as you seem to think I do, and I'm only one third of the Board.
fabi wrote: You don't have the power to make proposals?
Pentarctagon wrote: If there's a proposal to be made, I'd usually expect it to be made by the person or people involved in working on the proposal.

Article 5 of the Constitution is also pretty clear on the criteria for being considered active, so really I should have moved over everyone who wasn't eligible to vote in the Project Manager election to the Inactive Developers group months ago. Additionally, there aren't any planned elections until the next Project Manager election, which won't be taking place until after 1.16.0 is released just over a year from now.
Iris wrote: I may add that we opted for a very hands-off approach with Haldric because — years before the current Board was elected and the constitution drafted, mind you — the Haldric team wanted to see what they could make without any unnecessary interference from the mainline dev team. And by hands-off I mean that only Chapter I applies to them, and the inclusion of Bitron in the ratification vote was a formality that we came up with at the last minute to make sure that we wouldn't end up with a situation where one of Haldric's lead devs (the other one being Vultraz) was forced into a deal that wasn't in Haldric's best interests.

If you don't share the Haldric team's opinion that the mainline devs could straightjacket their efforts to oblivion, then your best course of action is to continue to pitch this proposal to the development team and the community at large like you are already doing, and then hopefully we can say farewell to "attic" and Haldric for Wesnoth 1.18 or 1.20 before the world ends. But making even more exceptions before the exceptions justify themselves is not well aligned with the general intent.

I would hope that by now you've read the thread where the current version of the Constitution was proposed, as well as the threads revolving around the removal of WoV so that you understand that there's some decidedly non-trivial historical context behind what could seem like annoying bureaucracy at a glance. I'm not exactly happy with my solution myself, which is why it spent literally 6 months stuck in a private draft phase while other people turned the project's public communication channels into a literal battlefield (EDIT: this last part is common knowledge even among the player base). But the people who were "active" (in the broader sense of the word, not the Constitution's) ultimately accepted the solution and it was ratified accordingly. I would hope you'll bear that in mind in the future.

My PM inbox here and my DMs on Discord are open if you have any more specific questions or want more help getting up to speed with the current state of affairs. But given my experiences with people both within and outside the project for the past 5 years, you'll have to excuse me if I make an explicit request to keep your language clean and devoid of passive-aggressive jabs.
fabi wrote: Yes, I see.
The Wesnoth Project seems to have too much political overhead nowadays.
It seems W4L will have to make its way on its own.
Please read my signature.
"Wesnoth has many strong points but team and users management are certainly not in them." -- pyrophorus
User avatar
Pentarctagon
Project Manager
Posts: 4536
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Wesnoth for Löve

Post by Pentarctagon »

I'll add that while this is definitely not how I expected or intended for this to turn out, I do 100% believe that the structure and organization provided by Wesnoth's Constitution have been a benefit, especially compared to the state of things just prior to it being voted in. So if you disagree with that, then we're at an impasse.

As far as the active vs inactive distinction, while I do understand where you're coming from, activity can't be determined by things that haven't made it back to the project yet. If I were to not contribute to Wesnoth for a few years and then come back saying that I'd done a lot of work reimplementing the Wesnoth client in Rust, or in the Unity engine, or any other way, while that would be a great accomplishment and could ultimately end up solving quite a few problems with the current client/engine, it's still not something that would've had any impact on the Wesnoth project at that point.

In any case, if you ever change your mind in the future, the (metaphorical) door remains open.
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: 1260
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Wesnoth for Löve

Post by fabi »

I strongly believe that good government matters, just turn on your favorite news source and watch how regions of the world do that lack of it in a global crisis.
Same with the Wesnoth project, just compare how it did at times and how it was governed at them.
So I don't complain against a political framework per se,
it's just that I recognize the same patterns repeating,
just that the persons involved have now more official authority.
That is not meant as an attack on all persons involved, I don't have reasons to be mad at Pentarctagon.

For now it shall be settled, it's time for coding now, not politics.
Having made the error to get involved into Wesnoth's politics in the past,
always took me time and energy and it never went anywhere.

When the time comes I will write an open letter to explain my attitude and the history it evolved on.

I promised a Techdemo release, there are only a few bugs left, a bit more polishing to please the eyes, so the release is planned for this sunday, this shall be my focus.
"Wesnoth has many strong points but team and users management are certainly not in them." -- pyrophorus
fabi
Inactive Developer
Posts: 1260
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Wesnoth for Löve

Post by fabi »

Version 0.0.1 has been released.

This is a not playable techdemo, focusing around gui and framework.

Windows self extracting archive
Debian package
Macos zip archive

The Debian packages have been tested on Ubuntu 20.04.
The MacOsX version is known to work when started from the command-line, but fails finding a library else.
It is updated as soon as someone finds a solution (I can't test it myself).
The Windows version has been tested under Ubuntu 20.04 using the Wine emulation.
"Wesnoth has many strong points but team and users management are certainly not in them." -- pyrophorus
fabi
Inactive Developer
Posts: 1260
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Wesnoth for Löve

Post by fabi »

Chess posted in Wesnoth's #general Discord channel:
Chess on Discord wrote: moving to "easy" game development engines often add limitations
So far, there seems to be no access to the 'Notification' feature of modern desktop and mobile user interfaces available.
Wesnoth makes use of them to notify about the starting of the player's turn.
it's interesting I would hope this engine has enough flexibility to be modified as necessary in the future if the project goes into a different direction.
I don't know enough about the Löve engine to speak to whether it's easily adaptable or usable in the future.
Indeed, so far no experience with extending Löve.
I suspect features from the Wesnoth codebase can be ported to Löve more or less easily,
regarding that both are c++ wrappers around libSDL and other libraries.

What kind of direction do you have in mind? 3D graphics?
is it portable to different operating systems?
Löve is already available on Windows, Linux, MacOS, iOS and Android.
It comes with support for touch device input, making UI design easy for mobiles.

On Ubuntu it depends on:
libc6 (>= 2.17), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:3.4), libluajit-5.1-2, libmodplug1 (>= 1:0.8.8.5), libmpg123-0 (>= 1.13.7), libogg0 (>= 1.1.4~dfsg), libopenal1 (>= 1.14), libsdl2-2.0-0 (>= 2.0.4), libstdc++6 (>= 5.2), libtheora0 (>= 1.0), libvorbisfile3 (>= 1.1.2), zlib1g (>= 1:1.2.0)

Porting to additional platforms is a matter of availability of those dependencies or proper substitutes for them.
Will upstream be reliable and not leave us with an unmaintained engine?
Hard to tell.
Currently the Löve project seems more healthy and active than Wesnoth.

On the server side using love2d isn't an ideal solution regarding security anyway, as discussed earlier.
It depends on a host providing lua scripting, a filesystem abstraction and support for lua-enet.

Thus the server part is fine, no matter how Löve does in the future.

The client on the other hand makes heavy use of Löve's features.
I have already started to avoid calling the Löve api from all over the codebase, but concentrating everything engine related behind a layer.
Luigi, the gui toolkit W4L uses, already comes with such a layer, supporting Löve or SDL as backend.

Thus the client will be prepared for a potential engine switch in the future, although this is not as painless as on the server side.
it's kind of weird how the documentation is GFDL and the engine is zlib
weird inconsistency
the engine is permissive but the documentation isn't.
Yeah, I am not an expert on that field.
Do you see any kind of problems?
"Wesnoth has many strong points but team and users management are certainly not in them." -- pyrophorus
Post Reply