Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Battle for Wesnoth needs help (wesnoth.org)
397 points by mproud on July 25, 2015 | hide | past | favorite | 147 comments


Wow -- I've spent countless hours over the years playing this games -- it is one of the best turn-based strategy games (like civilization) to ever be made, IMO.

Back in the day, I used to play this on my linux computer in my room with my brother -- it was one of the games that got me into coding / development in the first place.

I hope they find some good developers to carry the game onwards! It'd be a shame if such an awesome, free game ended up going extinct.

<33 drakes!


So far we've had one major thread calling for a rewrite in a new language, one calling for a new license, and one insinuating the devs should accept the project is done and move on with their lives.

Is it any wonder open source gaming struggles with this kind of broad negativity?


Put this another way: lots of people don't have a second thought about telling this /extremely successful/ project how it really should have been run.


It took me a while to realise, but HN renders text in between stars as italics.

So

    * italics *


Becomes

italics

    Indented text is rendered in verbatim monospace


The text processing of Hacker News is described at https://news.ycombinator.com/formatdoc.

HN only supports the two formatting types you described, plus auto-linking of URLs written out in full, such as the one in the previous paragraph.


Its called https://en.wikipedia.org/wiki/Markdown

But its only a very limited subset of it. For example I cannot do [thing](url) URL links like you can on reddit. Anyone implementing a comment system that wants rich text should be using it, though, if a WYSIWYG editor is too much, or if its targeting a technical crowd.


If it were extremely successful, they wouldn't have written this blog post begging for help to save the project from dying.


On this website I am not at all surprised that people want it to be rewritten in javascript or to be relicensed from the GPL.


There has been some recent discussion with moving the art and music assets away from GPL into a CC or similar license. The developers understand GPL was never really designed for those media. (You’ll have to remember, Wesnoth started in 2003; back then, Wikipedia was using GNU FDL for everything.) The tricky thing would be contacting all the music and art contributors to get their permission first, which is not an easy task for a project of this size.


The GPL was designed for non-code media. It is one of the reasons that GPLv3 has more broad language that does not refer specifically to code. Having the same license for the software and media has obvious advantage: it's a lot simpler to interact between the two of them.

Some artists just get huffy about having "their" art modified, as if their artistic integrity should not allow modifications. They would have the same problem with any free license, though, so just teaching artists how the GPL works has worked ok so far.


I'm a big fan of use-reuse whether it's code, audio, visual or whatever, but it's a bit rude in my opinion to call artists who don't want other people modifying their art "huffy."

I would like for everyone to feel comfortable putting their creative output in the commons but I respect people who aren't comfortable in that way and abide by their wishes.


I think it's undue ego. If a developer gives you code but imposes conditions that the code must not be modified because this damages their artistic integrity, (and I have seen people make this claim), most people would consider that ridiculous, because code is functional and usable. In the context of a videogame, artwork is no less functional and usable. Your ego is not more important than the people who are using your artwork for a videogame.

If you don't want to give people your artwork, then don't. But don't impose conditions that you will give it to them but feel personally offended if they modify it.


That's, in the end, their prerogative. They can choose to give, but under a no-derivative licence, if they so wish.


They can have all the prerogatives they want as long as they understand that their prerogatives have no place in a free game. Their artwork may be scaled, resized, and cropped in order to fit into a playing field. The colours may be changed in order to indicate teams. Additional animations may be required for certain actions. The style might need tweaks to fit the existing style of the game.

Unmodifiable artwork poses many practical problems for a free game. It's simply unacceptable.


Why does the game need to keep advancing? Most games in the industry are written, released, and finished. The best have a timeless nature, still excellent even though they haven't been changed for decades.

Battle for Wesnoth is an excellent game. But declining interest seems to indicate that maybe it is just finished?


I regularly play Wesnoth over the internet with a friend. Though we sometimes explore other games, we always come back to Wesnoth because it's compelling. However, and I say this as a fan, this game has severe issues - it's not just a few bugs and maintenance:

Wesnoth makes current hardware sweat to the point where my relatively new MBP sounds like it's taking off, as is my friend's ThinkPad. It's also the only game capable of slowing my current-generation iMac down to the brink of operating system usability and beyond.

The game itself is slow, UI actions, moving units across the battlefield - pretty much anything happens only after a noticeable pause. There is no apparent reason why a largely static, 2D, tile-based, pixel game should be this slow.

The network code and its underlying model are an unmitigated disaster, by design. If you experience any network glitch during play, including short wifi disruptions, the connection collapses. But it doesn't do so right away. It can take up to a few minutes for the game to notice that a player has disconnected. There is no automatic re-connect, all players have to save, exit, and rejoin. While playing Wesnoth it's advisable to stay in contact over email to coordinate.

Sometimes, the game state gets out of sync between players and the server. When the game notices that, you get the option to cancel the game or ignore and continue. If you do the latter, in-game causality breaks down completely (with hilarious results). If you opt for the former, once again, everybody has to save, exit, and re-join, and hope anyone has a non-corrupt save game. The game state isn't large or complex by the way.

These are not merely bugs; they are deep, architectural problems.


I wanted to verify your comments about speed, and found this interview http://www.linuxexpres.cz/rozhovor/interview-david-white where the original developer says:

"However, I wanted to be able to develop Wesnoth quickly, using the latest technology and latest C++ features. Because of this I didn't spend much time focusing on things like minimizing the memory Wesnoth takes up, or trying to make it ultra-fast. This does limit its portability a little in that it is difficult to get working on systems with limited memory"


Honestly I think it could be written in Javascript with better results than it currently has. I've never tried multiplayer as I found the single player laggy which is unacceptable for a game a "simple" as this. Just goes to show that language alone doesn't alway influence speed...


This game isn't exactly simple. There's an entire meta language called WML (Wesnoth Markup Language), support for a powerful AI and Lua scripting. There's also very intricate multiplayer code that I don't think in any way could be trivial with JS.

Yes, Wesnoth is hamstrung a little by its tech stack. The dev team very much wants to move to SDL 2 and support OpenGL in the future.

How will they do that? With more and interested developers. Hence, the call to action.


Why don't you just stabilize everything and prepare to release a final polished version? Then, you can decide if you want to keep working, or if you want to stop and put the game in maintenance mode. Do you even have enough developers to support that? There is value in completing creative projects.


Isn't the issue that they don't have enough developer hours to stabilize everything?


That was one of my questions. If that's the issue, then why consider moving to OpenGL and SDL 2?


Now I understand!! That is a heck of a good question ...


Are you playing wesnoth 1.12 because they have significantly improved the rendering performance in the latest version. I know 1.10 could lag my computer but 1.12 is very fast and snappy. Also in my experience, playing 1.12, the game state almost never gets out of sync. If it happens it is because one or more players have different version of some add-ons. So yeah, you really should try 1.12 or even checkout and play the version from their repo because it has even more improvements to it.


I too was in love with this game when I only had a cheap pc with windows, but years later started burning my new laptop and got me angry and ended erasing it.


Then, to be extremely frank, it sounds like the game is a technical failure and should be abandoned. Trying to fix an older game such as this seems like an uphill climb. Better to greenfield it and start from scratch. The original engine sounds like it needs a rewrite anyways.

Getting it running on an existing engine (UE4 can do 2d fairly well, for instance) seems like a better investment of resources. What they're building is a solved problem. It was a valiant effort to do it on their own, especially in a time when that was the only way. They could reap the benefits of all those learnings in the backend and instead focus efforts on tweaking gameplay, inventing new forms of play, and smoothing out rough edges in the UI or visuals.


UE4 is overkill for such a game.


Yet it sounds from these comments like it'd be faster and more people would be willing to help maintain it.


The problem there, though, is not the maintenance, it's the actual reimplementation of the thing. At this point it's probably man-years of work to do that sort of a port to a new engine, and getting that sort of commitment doesn't strike me as easier than finding one or two folks to help out.


It'd probably be far easier. Plenty of people would be willing to learn UE4 or already know it. Who wants to learn Wesnoth Markup Language?


Perhaps the cold reality is Wesnoth 2.0 will need to take radical steps away and use some rather modern engine (Unity, MonoGame, etc.) But keep in mind, right now we’re looking at a fairly successful, high production-value FOSS project. it needs short term answers as well as long term ones.


For the same reason my mechanic of a brother always has something to fix on his car : A labor of love never settle for anything less than perfection.


What strikes me as strange is that you don't usually ask others to maintain your unmaintained labor of love for you, because you don't have the time and manpower. Plus, it sounded like they were complaining that they "weren't keeping up".


They were specifically asking for Windows and OSX programmers for example. Labor of love or not, doing maintenance work and testing on an OS you don't use yourself is not something most of us want to do on our free time. These guys are volunteers after all.


Because the car analogy doesn't perfectly fit. This kind of labor of love is a game that's enjoyed by many. So asking people to help is more like a barn raising than an "engine hoisting".


Counterpoint: Nethack.

Sometimes the best games take a (long) while, and may never be finished.


I remember a friend of mine introducing me to Nethack and telling me that part of the fun was "hacking the game."

So I downloaded the source, inverted application of damage, and recompiled.

To that, my friend said "no! the hacking is supposed to be about manipulating the data files..."

I replied, "my way was easier."

Thanks for mentioning Nethack and reminding me of this :-).


Funny you should mention NetHack as the latest version, 3.4.3[0], was released on the 8th of December, 2003. I'd say it's a pretty good call to consider it finished.

[0] http://nethack.org/v343/release.html


The last few news items on http://nethack.org indicates the code is still being worked on and NetHack 3.5 is in the works.


there are a ton of forks of nethack, and basically the dev team seems to have disappeared[0], so I wouldn't consider it finished as much as "AWOL".

[0] ok, not really, the nethack4 faq mentions 'The development team who worked on versions 1 to 3 of NetHack (the DevTeam) are still working on it (although there was no real evidence of this until 2014), but they don't release their progress, meaning that the situation is effectively the same as if they'd been doing nothing.'


Yeah, I'm aware of the forks and of the empty promises from the devteam. Should a new official release appear, I'll happily retract my statement.

What I don't see is very much momentum toward establishing a proper successor fork a la Dungeon Crawl: Stone Soup.


SporkHack was good for a while, harder than 3.4.3 at least.

Sometimes updates actually make things worse. I like Brogue 1.7.2 a lot more than 1.7.3 for example. You should try that game if you haven't already, it does so many things well!


I love Brogue; ascended it many times. I'm currently hooked on Tales of Maj'Eyal (along with 5 of my friends).


It's just taking a (long) while.


went here to say the same thing. it's ten years old, and while I was super excited at the beginning, playing it and discovering every aspect of the many campaigns, it has felt stale in a while.

the game is basically equals of it's former self, with many more graphic enhancement and sophistication that push the battle system, the maps and the editors to their limits, but while being timeless it also has exhausted its replay value and lives in a market which is vastly different to the circumstances that brought it to life many years ago


I think it's somewhat the nature of open source games. It reminds me of the AoE clone 0 A.D.[0] which has been in development for over a decade and still considered in alpha.

[1] http://play0ad.com


This is a good point.

Also as one who lived through the times when gaming on Linux was almost unheard of, or required a lot of imagination, I think Wesnoth is part of gaming history right now. The future is here and Valve helped bring it about, the quality and quantity of games on Linux has completely transformed in the last 5 years.

So gamers looking for entertainment on Linux have so much more to look forward to right now than Wesnoth. It's time to move on.


I think a lot of these older open source projects have a tough time because they use C++ so extensively. There are plenty of people who "know" C++, but it's not a language many people can be productive in. The argument for using C++ is that it's faster and uses lower memory, but that's not actually true for naive implementations: C++ allows lots of tricks for speed and memory efficiency, but it takes work to make it actually more efficient. These days I tend to think that it's easier to write first in a higher-level language and optimize from a position of knowing where your bottlenecks will be than to write a low level language like C/C++ efficiently from the beginning, not knowing where the bottlenecks will be.

I'm not saying that a rewrite is the answer, however.


This is the case with old code in general, though. 2003 Javascript, 2003 C++, any Java, especially 2003 C#, any C, 2003 Python, etc are all horrible messes to work with today. C++ got so much better with C++11/14 I can't even think of it as the same language. Python literally broke itself. Java is pretty much dead except for on Android (consumer facing) for good reason. C# was practically an infant in 2003 and got so much better with so many frameworks around it since then. C is still as bad as ever, and Rust / Go didn't exist, and Scala came out that year.

It is why frameworks and toolkits are so important. You want to minimize your codes aging surface area, and having individual parts you can manage and age independently kicks the pants off of starting from int main() and hoping for the best. Wesnoth's greatest library dependency is SDL, which honestly should make the engine fairly futureproof if they could get it ported to SDL2. But that doesn't change how everything else is pretty much raw C++, with just AI rules in Python or Lua.

I'd have to look into if they are giving a thumbs up to std=c++14 or not, because if they are I might go poke around just to see how much you can fix. I'll have to read more on that though.


I don't really agree. The problem with C++ isn't its age, it's its complexity, or what I'd call the "too many tools" problem. None of the languages you mention approach C++ in sheer breadth of complexity. For a given problem there are 100 ways to solve it in C++ and these ways of solving it may look so different from each other that it's not even apparent they are solving the same problem. Java, in particular, doesn't have this problem: it was specifically designed to avoid this problem (read Guy Steele's interview in Coders at Work) and while I dislike Java for other reasons, it largely succeeded in solving that problem. Python's "there should be one, and preferably only one, way to do it" is similarly trying to solve a similar issue. C's lack of features also addresses this problem.

C++11/14 gives you much better tools, but it doesn't solve the "too many tools" problem. The old tools are still there, and in fact, people are still writing C++11/14 using those tools. The result is that even if you endeavor to only use the new, good C++11/14 ways to do things, you're still going to run into issues with the old stuff and you're going to have to understand a the old stuff: and there is no end to it. Every time you make a significant change to a C++ codebase, you have to learn another dark corner of a language that hasn't had a feature removed in three decades.

Java's solution to this problem is to add features very slowly and carefully, which makes the language hard to use sometimes due to its lack of features. Python's solution is to break reverse compatibility, which makes it difficult to run older codebases. C has this problem too, but they have been more conservative with the features they have added. C# has this problem badly, but it hasn't had as much time for it to get as bad as C++.


I think the real reasons are: Unity, Unreal Engine, HTML5, etc. People who would want to contribute never find BFW, instead they make their own games and satisfy their creativity that way.


I first started playing Wesnoth from version 0.5.0. Countless hours 'programming' in WML introduced me to software engineering. Back then I looked at the C++ source and wondered when I'd be skilled enough to contribute. Reading this, is making me consider returning to Wesnoth once again after years of not having looked at it. Wesnoth is still filed neatly in my bookmarks folder.


I'm not much of a game player but I find the mechanics of building a game engine indescribably cerebral. I'm probably a bit rusty with C++ but my years (and years and years) as an embedded systems programmer taught me a lot about optimizing software to minimal resources. I'm going to take a look at the engine and see if it warrants some of my kind of love.


I am trying to download the latest release (1.12.4a) but I am caught in a never ending loop http://sourceforge.net/projects/wesnoth/files/.

Edit: okay, sourceforge is broken for me for any download, no matter the browser.

Let's consider that my sourceforge rant of the week.


Well, Sourceforge is still recovering from a major fuck up in their storage system a week ago, so it's not that surprising that things aren't entirely working...

http://sourceforge.net/blog/sourceforge-infrastructure-and-s...


Wow, that site has really seen better days. I notice it's still in the uBlock Origin block list as well.


Was trying to diagnose this for KeePass last night...

Between this and the adware scandal, it's like someone slammed the door on an era.

What's the download service everyone's going to move to that won't have these problems?

http://www.theregister.co.uk/2015/06/03/sourceforge_to_offer...


Most new free software projects I've seen just use GitHub's "releases" feature - you can associate an arbitrary set of binary files with a Git tag, and GH will host them for you, with a nice inline link to the commit that they were created from.


I wished something like distributed git for the masses or torrent distribution would replace services that are a single point a failure such as sourceforge or self-hosting.

Maybe even some kind of `Dropbox distributing' ?

Maybe Mega and other file hosting and sharing services are up to the job but most have a very suspicious kind of aura. I remember chasing the web after some rapidshare hosted android rom (they still do that btw) and it's a pain to deal with.

But that's just a technological POV, I don't know what kind of entity should/could distribute apps. FOSSHUB ?


FossHub, from a technological POV is no way different than Dropbox or any other service. FossHub relies on multiple sources to store the content and distribute this via multiple, separated locations. As for the most sharing services, I share your opinion and would like to assure you that FossHub is different. Disclosure: I am a member of FossHub team.


I think we (FossHub) can be the alternative for certain devs and most people were happy with the service we provided so far. Disclosure: I am a member of FossHub team.


I thought Sourceforge had been compromised by bad people and should be avoided on principle.


Sourceforge was compromised by bad people. Dice bought them.


That seems to be a problem with sourceforge. I was trying to download something else earlier today and had the same problem.


here's the (official?) list of open bugs http://gna.org/bugs/?func=browse&set=open&group=wesnoth not on github or the forums


Correct; the issue tracker is still on Gna.

A simpler way to get there is http://bugs.wesnoth.org


If it's got a big fan base they should crowdfund something so they can afford to hire new devs.


The project prides itself with being fully free and open source. Its goal is not turning profits or hiring developers.

Wesnoth has participated in the Google Summer of Code in the past, and it’s possible artwork has been or could be commissioned.


For the most companies your specified reasons are used to start with a clean fresh new Version 2.

New System, new Language, use the good parts rewrite the bad parts.

And new Language would make it more interesting for "younger" developer that start with e.g. Rust / Go / Whatever. (That did not mean the code will be better)


The Battle for Wesnoth was the first game I that I installed and played after getting Ubuntu. I consider it the best game available on Linux platform (maybe except Braid). Sadly I am not equipped with enough C++ or Python knowledge to contribute.


Try out The Ur-Quan Masters a.k.a. Star Control II.


I second the recommendation. It's a great game. It may look simple, but it's quite deep and has a great storyline. It's the first game that actually forced me to start making notes. Also, starship duels in multiplayer (which consists only of starship duels) is so much joy!!.


Just because they’re looking for programmers doesn’t mean you can’t contribute! Many of the games scenarios need maintainers, and Wesnoth has a friendly and budding add-on community that is always looking for new content.


They should do a kickstarter and then they can use the money to have more time to develop the game or to hire people as good as they are looking for.


I wonder how much would it cost to get sort out all the issues? From the look of it, I am wondering whether the architectural and management debt would make the cost unreasonably high.


Isn't this a textbook case for crowd sourcing?


Is that game still not finished? Maybe everybody is happy with it and moved on to something new?


Wesnoth brought me into turn based strategy. Game mechanics and elements aside, the story in various scenarios were surprisingly captivating. I could imagine myself role playing as the protagonist.


I wonder how much work it would be to get the basic game working using Unity with the assets already available...


I guess this will violate the GPL license unless you are not going to release it to the public in any form.


Why will that violate the GPL? Because Unity is proprietary?


You can release the diff.


Out of curiosity, I dug for info on you a little bit after reading your comment. Found your Github: https://github.com/rdegges?tab=repositories

Two things are clear:

1 - you have time to be prolific in open source

2 - you have significant Python skills

Seems like you fit the bill for what Wesnoth needs! Why not step in and help yourself? I don't want to come across as calling you out here - I'm genuinely interested in learning why, because I maintain many open source projects myself and I want to know some of the reasons why skilled programmers who appreciate projects don't contribute to them.


Isn't Battle for Wesnoth looking for C++ programmers to maintain their codebase?

It's not that I don't have significant programming skills myself, nor that I don't work on side projects, nor even that I don't really like Battle for Wesnoth... I've just sworn off every working on a C++ legacy codebase.

So I'm not really sure what I have to contribute to a legacy C++ codebase.

Ed: I went back and read, and they're looking for people to add Python code to their toolchain. My answer is thus amended: I dislike trying to interface toolchains for building data to legacy codebases, and I do that for my job. I have no interest in doing ugly hacky things on legacy codebases for free, because it's honestly sort of soul crushing work.


"I'm not interested in that kind of work" is a fair answer, but it seems pretty rude to dismiss it as an ugly hacky legacy code base without reviewing it first.


For the record, I looked at the Wesnoth codebase in college, so my opinions are outdated (by 5+ years) but not unfounded.

Rather, I'm merely repeating why I didn't help then, instead of particularly why now, which is a much more boring "I'm just busy".

I suppose it's possible the codebase has changed so much in those years that the answers are no longer relevant, but they would be the only open source project (not sponsored by a corporation) I'm aware of that happening in.


It's an old C++ codebase.

By near definition, it's ugly hacky legacy code.

That's just the nature of these things.


Rude like asking someone who has disposable income why they aren't donating to a specific cause? Hmm.


I didn't realize they needed Python help! I was looking through the site, and it appeared they needed C++ / graphics people to help out.

If that's the case, I'll certainly see what I can do!

I spend quite a bit of my free time doing open source work because it's fun =)


I really wanted to disengage, but I've noticed that both of your comments on this article have been calling people out.

Out of curiosity, why call people out?? Has it worked for you in other projects?? Or, have you reached contributor burnout?


I've only made one top level comment on this article. I'm not trying to convince this guy to contribute, I'm trying to find out why he doesn't. Can no one just take me at my word? Yeesh.


That top level and this one (which is in response to someone who answered your question) are both rather combative. If I wanted to create dialogue, I wouldn't attack answers as rude.

"I'm not interested in that kind of work" is a fair answer, but it seems pretty rude to dismiss it as an ugly hacky legacy code base without reviewing it first.

Like I said, I wanted to disengage but I see this kind of attitude repeat itself over and over within open source communities and can't escape the feeling that it only pushes people away from contributing.

Before this conversation, I planned to do some work on Wesnoth, but it reminded me of all the politics involved in contributing. I don't want to be called out when my ideas don't align with those of 'the elite' so why would I possibly get involved in a project?


What is up with so much of the software community getting involved in meta discussion about how everything doesn't suit their perfect little bubble lately? So what, some people are going to be abrasive. Being an adult means doing what you want in the face of that.


Incidentally, I have a history of starting activist organizations and have a nearly two decade long record of attracting volunteers.

Based on my experience, the following things do not work:

A) Accessing someone's personal details with the intention of asking them why they will contribute to one cause but not another.

B) Asking an open-ended question then attacking answers that do not align with yours.

If you are burned out or just need to vent, email me and we can talk about this. I've been burned out from managing/recruiting volunteers and I likely understand the feeling as well as anyone. Use me if I can be of any assistance.


[deleted]


Click profile -> follow link to website -> click "code"

His Github username is also the same as his Hacker News username.

Chill out.


It's not really ok to bring someone's personal details into a thread and ask them to account for their choices. It's good that you were polite about it, and curiosity is a good intention, not an attack. Still, this is a questionable thing to do, so I don't think you get to respond rudely ("Chill out") when questioned about it, or react like what you did is normal; it's not.


[flagged]


This hasn't to do with culture or coddling, but with preserving HN as a place for civil discourse. Arguably nothing on an internet forum rises above trivial or "matters in the slightest", but that doesn't mean you get to violate the rules, which you're doing increasingly. Please stop.

We've detached this subthread from its original parent (https://news.ycombinator.com/item?id=9946787) and marked it off topic.


It's not directly linked, but it is shallowly indirectly linked by going to their home page which is listed on their profile. In any case I agree that presenting information in this manner can feel a bit invasive, as in putting someone on the spot/making the topic about them.


rdegges obviously has a lot on their plate already.


I'd like to explore the possibility of contributing to its development and maintenance. I may not be an "experienced" C++ programmer, but I am an experienced programmer looking for more experience with C++.


[flagged]


If you build a component yourself and own all the copyright in that component, then the fact that you've contributed it to a GPL project doesn't stop you from using it in your own products as well, or licensing it again to someone else under a different (non-exclusive) license.

In fact in this situation you would be better off with Wesnoth as GPL rather than MIT, because that way your closed-source competitors can't use your component in their games.


> In fact in this situation you would be better off with Wesnoth as GPL rather than MIT, because that way your closed-source competitors can't use your component in their games.

Ehh, but there's no direct monetary loss. Not many games stay relevant for a decade, so it's likely the commercial competitors will drop support after X years while you can backport their blackbox improvements. That said, I wonder if components of games are really that able to be copy pasted. My initial impression is NO, unless that was the intent when the component was first written.


Wait, how on earth do you backport blackbox improvements?


So, mainly thinking of usability improvements. See Fallout New Vegas, which had iron sights. Sure you wouldn't have the code (in a universe where Fallout 3 was open source), but you would know how it works by treating it as a black box.


Right - gotcha.


If you can't justify that, then don't contribute. It's that simple.

The license wasn't chosen randomly - it's there exactly so you can't use their time and effort by porting their components to closed source projects. It's not an unintended side-effect.


People don't contribute. That's why they are desperate for developers.


[flagged]


If your code is in fact completely yours, and not derivative work of others, you can simply re-license. If it isn't, you can hardly claim that you were duped. Or are you really saying that anybody mislead you on the copyleft aspects of the GPL?


Regardless of the merits or lack thereof of changing the license, it'd probably present an even larger problem, since they don't seem to ask for copyright assignment and they have 100+ contributors, all of whom would have to consent to the new license or have their code thrown out and cleanly reimplemented.


Agreed here. It's tedious to change license later on. So that's why there's tools to push it along, it's not the first time [1]

As a stop gap - they can implement a contributor clause starting immediately. They can also say future commits post-[ref] are <this license> until the prior code is sunsetted.

Typically there is an uppercrust where a very high percentage of the contributions lay. I haven't looked at the code (played the game all the time back in HS) but I'd bet you 90% of the code contributions are with the top 5 committers.

[1] https://github.com/twbs/bootstrap/issues/2054


Do you tell people collecting for charity that you can't contribute anything unless you're going to see an ROI?


[flagged]


In other news, apples aren't like oranges.


They should build in something like AngularJS, Backbone or Ember.


I'm desperately hoping that this is satire.


Perhaps the issue is that they are looking for intermediate to advanced C++ programmers who have experience with very large code-bases. That's a tiny portion of the programmer population.

I know this is a risky thing to say here, but I wonder if they should re-write the game in a more common/popular language, maybe something web-based like JavaScript. They would have a much bigger talent pool to pull from, gain access to a much bigger audience, AND probably have an easier time developing multiplayer functionality. Not to mention the plethora of open-source tools and libraries they can leverage.


If one of the problems they're trying to fix is not being able to iterate as fast as they'd like then rewriting the entireity of a ten year old game isn't going to help that.


another of the problem is that they need more polish and fixing and there aren't major captivating features in the works, and it's hard to bring unpaid volunteers on board with that prospect in mind.


That's what I'm saying though: they aren't able to iterate quickly because it's a huge codebase written in a programming language that is quite complex and fairly outdated. Besides, I'd assume that intermediate and experienced C++ developers are probably older on average, and are unlikely to be interested in developing games.


You would assume incorrectly.


Why is that? C++ is over 30 years old, whereas JavaScript is 20 years old. Besides, the latter surged in popularity only recently. Based on these facts alone, we can comfortably assume that experienced C++ developers are older on average.

I can see why this is a controversial assumption though.


Your stated assumption was:

  I'd assume that intermediate and experienced C++
  developers are probably older on average, and are
  unlikely to be interested in developing games.
And that is an incorrect assumption. A non-trivial amount of current game development is done in C++. Couple that with the fact that to have the games considered "AAA" on the market now requires advanced techniques employed in the language producing them and that C++ is a frequent choice results in the invalidation of your statement (not harshing you here BTW).

It doesn't hurt my case that I am an experienced "advanced C++" developer which makes video games either tho ;-).


Older on average than JS programmers, that's a reasonable assumption if you also assume that the "surge in popularity" brought a ton of kids to JS. But that they're older in general on average (i.e. not a lot of young C++ developers)? I would doubt that.

Moreover, C++ isn't outdated, it's mature. There aren't any grand new CS discoveries that are in JS but C++ maintainers haven't heard of yet.

As for "older = unlikely to be interested in developing games", I don't see where you get that from. It's like saying "older people are unlikely to be interested in writing books / making movies".


Because you only learn a language at a certain age, and only if the language in question is brand new? That's doesn't make sense (and that's an understatement to be nice).


Seriously, please drop it. Javascript is not used to code games much, C++ is. Javascript is pretty awful performance wise.

Also, porting a whole code base to another language at this stage in the game is such a colossal task.

Are you even a developer? I'm not sure you realise how infeasible what you're suggesting is.


emscripten would like to have a word with you. Also, Javascript is one of the most heavily optimized dynamic languages in existence, and has orders of magnitude more code and programmers using/written in it, than java, scala, ruby, lua, etc. Rewriting any game in javascript is imho a great idea. (I am a C/C++ game developer with ~25 years of experience.)


Orders of magnitude more code written in it than Java? Hohoho good one. HTH: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.... http://githut.info


Java may have been a stretch.. but think about how many web apps have been written.. and consider that a large %age of user time is spent in the browser who's language IS javascript.. Ive removed java from my systems since oracle ganked it. Java is used in lots of business/banking software, true.. but even the tiobe charts u linked show it declining in popularity.. contrasting w js being language of the year 2014. As for the other DYNAMIC languages.. it's no contest.


It wasn't a "stretch." It was flat out wrong.


> Rewriting any game in javascript is imho a great idea.

How do you deal with the fact that the only native numeric type is a 64bit float? Space Engineers currently uses floats as the basis for their world coordinate system. Things get really bumpy when you get far away from [0,0,0].


32/64 bit float is the native float type on the cpu you are running on.. hence you can't really claim "native" support for larger types.. if you mean native in terms of being able to write a+b for a numeric type, then that eliminates all languages that don't have operator overloading..


I mean "native" in terms of what's supported by the language itself, out of the box.

C and C++ offer -at a minimum- the following numeric types:

* signed and unsigned integers in a variety of widths

* 32 and 64-bit floating point numbers

JavaScript offers:

* 64-bit floating point numbers

When performing integer math, JavaScript's numeric type is only safe for arithmetic operations between -((2^53)-1) and +((2^53)-1).

Now that we have that out of the way, my original question remains unanswered. :)


In general 54-bit signed ints are enough for games. Floats are more common for math.


Cool.

Many contemporary games are multi-threaded out of necessity. How would you deal with JavaScript's single-threaded, single-process model of execution? Experimental features like Web Workers?


No disagreement on that one! If your application must be multi-threaded, it does make sense to write it in a language with proper multi-threading support.


nod nod I just wish irascible would come back. I was interested in hearing what -from his 25 years of game development experience- makes him feel that "Rewriting any game in javascript is imho a great idea.".

I'm obviously missing something, and I was looking for the benefit of his insight.


This is not a game that requires the level of precision one would get with C++ (yet it sucks performance wise even when it's being programmed in C++).


I've made a litte patch for Wesnoth long time ago. While the codebase wasn't small it didn't really matter that much. There are a lot of things in the game (animation, networking, ui, game logic) that are separated enough that it's not that much of a big code mess like most commercials projects you see.

Also the C++ used isn't the monster from under the bed people tell tales of. It's mostly simple OOP/procedural code using boost library.

It's not that difficult to learn enough C++ to be useful.


Agreed. Wesnoth's codebase is pretty straightforward, "dumb" C++ (and I mean that as a compliment--smart C++ can get you in trouble really easily). I think most of the bits of it I've wandered through are pretty good examples of how to write C++ for games without killing yourself.


It's shocking how much a wannabe game dev that looks like Philip Seymour Hoffman's younger sister can learn about enterprise development too, when they've never actually worked a day in their life at a typical enterprise shop.


"Bigger pool" maybe, but the average "JavaScript programmer" is less talented than the average C++ programmer and less likely to be aware of the performance issues abstracted away by JavaScript, which was designed "to make the monkey dance when you moused over it".


If you're looking to rewrite the game, I'd recommend looking into Unity3D[1] instead of trying to make it in JavaScript. It'll be a lot less painful.

Out of the gate, Unity3D provides a much better indie game development environment than trying to do it JavaScript. Even though their name includes "3D", their software fully supports 2D games. Plus, there are no royalties/costs for the personal edition.

1 - http://unity3d.com/get-unity

EDIT: Read my response below for context regarding this message. And if you're disagreeing because I said JavaScript game development is painful, then keep hammering this message to your delight.


I'd expect the Wesnoth community to be against Unity because it's not free software.


I respect that the Wesnoth community may not want to go this route, and wouldn't blame anyone for that at all. My suggestion was more along the lines of "here's an option which won't be nearly as painful" than anything else.

While Unity3D is conditionally free-as-in-beer, it definitely isn't free-as-in-speech. Unreal Engine has recently gone kinda free too, but not really.

In any event, best wishes to the Wesnoth community and continued fun to be had by both those playing it and those progressing it.


  $ aptitude search wesnoth
  p wesnoth - fantasy turn-based strategy game - complete s

  $ aptitude show wesnoth
  Package: wesnoth                         
  State: not installed
  Version: 1:1.10.7-1ubuntu0.14.04.1
  Priority: extra
  Section: universe/games
  Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
  Architecture: all
  Uncompressed Size: 21.5 k
  Depends: wesnoth-1.10 (>= 1:1.10.7-1ubuntu0.14.04.1), wesnoth-1.10-data (=
           1:1.10.7-1ubuntu0.14.04.1)
  Description: fantasy turn-based strategy game - complete suite (metapackage)
   This metapackage pulls in the complete set of the latest stable version, most helpful
   if you always want to have all the official campaigns installed. If you only want to
   play over the network with other players or want to play only a few campaigns you
   just need to install the wesnoth-core package and the wanted campaign packages. 
   
   Battle for control of villages, using variety of units which have advantages and
   disadvantages in different types of terrains and against different types of attacks.
   Units gain experience and advance levels, and are carried over from one scenario to
   the next in a campaign.
  Homepage: http://wesnoth.org/


I'm confused. Why did you post this?


Not familiar with the game, was delighted to see that it's in the repository.


Ah. Your comment would have been better received if you'd said this, rather than posting output from aptitude.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: