Considering discontinuing Linux port

Started by EvilTypeGuy, Fri 25/04/2008 04:19:01

Previous topic - Next topic

EvilTypeGuy

Greetings,

As you may be aware, I haven't yet released a version of the AGS 3.x engine for Linux.

This is due to various reasons, including lack of time (real life for me), lack of users (very few people seem to have ever used the Linux version) and concern abouts its ongoing viability.

I have never been happy that the Linux version can't really support plugins, and most ags games these days appear to depend on plugins in one way or another.

I need to know how many people out there actually *use* and *need* the AGS Linux port.

I need to be convinced its worth continuing.

While I agree its been nice to have, there are some major deficiencies:
* No video playback support (main issue here is licensing and compatibility, trying to find an Allegro library that supports video playback on Linux and has friendly licensing has been impossible)
* No plugin support (likely to never happen, you'd have to have the same build system as I do to be able to compile plugins, plus most plugins require DirectX)
* Allegro on Linux not as good as Windows (I've gotten several reports over the years of weird bugs in AGS that don't happen with the Windows version and seem to be related to Allegro)
* Distribution support (it has become impractical for me to support anything other than Ubuntu)


I can only see three ways forward:
* Continue on, but with the drawbacks above
* Rework the Linux port to use winelib and rely on that alleviating most of the problems above
* Discontinue the port

Your tired penguin friend,
-Shawn

Radiant

Well, I must say that I sincerely appreciate having a Linux version available for the games I've written.

Note how the vast majority of AGS games use neither video playback nor plugins, so that shouldn't be too high a priority. Also, there's a large amount of modules these days, and most plugins can be replaced by some clever scripting. And don't Linux executables work on other Linux versions as well, by default?

So I'd say, keep up the good work.

SSH

12

Joseph DiPerla

Hmmm... Not that I have released anything. But if I were to, I like the fact that rather than holding out that SCUMMVM will include AGS games one day, I would like to know that people would play it on all platforms.

An option would be to use Winelib.

Another option is if you could port the engine over using SDL rather than Allegro. I heard SDL is faster, offers more functions and subs and is very powerful and feature heavy and extremely portable.

And to tell you the truth, I am seeing WAY WAY more modules being programmed than plugins. Unless people want a windows only game, thats what they use. I do however see tons of plugins used for the editor, which shouldn't affect the ports at all.

So, I still see a reason for a linux and a mac port.
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

deadsuperhero

Well, if AGS on Linux ever gets truly discontinued (in the sense of "You can't play these games on Linux at all"), then I would definitely kill myself.

However, that said, there's a few things:

-I happen to like the deficiency-riddled version. I just happen to code around things that would normally require a plugin. However, things like Character Control System are invaluable.

-If you have to go with Winelib, by all means do it. Wine's becoming increasingly stable, and can play most AGS games moderately well. Some games are a bit choppy though, and slow processors can't play them at all. Also, what about configuration settings? Will that work out of the box in Wine?

-This is really up to Chris, but the Mono project has made great strides in the past year and a half, maybe if Chris built an editor and runtime framework on top of Mono in the future, so that we'd get BOTH an editor, and a runtime?

Sometimes, I just wish there were more people directly involved with developing AGS. There could be whole teams of people maintaining ports. No, that doesn't mean "Open Source Project". It's just that all the projects I've seen with that heiharchy seem to be doing something right.

In any case, I'm thankful for the work that you've done for AGS and Linux. =]
The fediverse needs great indie game developers! Find me there!

Dusk

Hi Shawn,
I've always been a conviced supporter of AGS Linux compatibility.
(If I remember well, the finally released SOTE tech demo was not only tested by me with your engine port,  but also built under Linux (using the old editor under WINE).  ;D )

BTW, I can understand your problems and here you are my two cents:

1) video playback support: IMHO the ideal and final solution for this would be OGG theora support for embedded videos in the engine itself (getting rid of the "codec needed" problem under windows too). So yes, this is an issue, but nothing we can't live without. Wasn't the OGG theora licensing discussed recently here in the forums about this issue? I remember something...

2) plugin support: we can definitely live without them! And modules rule :)

3) allegro bugs: well I don't know what to say here! I often hear "SDL is better", but I have no direct experiences about these libs : (
And I imagine that such a change would involve a tremendous amount of work.

4) distribution support: I think that targeting Ubuntu for a "working out of the box" distribution is a good choice. Ubuntu  packages would probably work with many debian-derived distros with minor issues, and Ubuntu itself is very popular on desktop linux boxes.

For the wine-libs idea: if can ease things and keep the port alive, why not?
I can see the performances dropping a bit, but hey, we're not writing FPSes :)
My only fear is that wine incompatibilities and problems could be worse than the linux-allegro bugs that you mention... but I hope I'm wrong :)

Bye ;)
D.

Joseph DiPerla

Agreed! Using OGG Theora instead of the "Codecs" would be a wiser thing to do, for any port.

And yes, it would be a trek to port the engine using SDL, but in the long run, once accomplished, it can easily be continued and the MAC port will also be easier to port.

As far as distribution, I think there are a few other distributions that are widely used such as SUSE, Knoppix and RedHat as well. A more universal linux port would be appreciated, especially since I use SUSE and Knoppix mostly. But if its Ubuntu, thats better than not having it on Linux.

Whether you continue or not, thanks a lot for the port!
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

EnterTheStory (aka tolworthy)

#7
Quote from: EvilTypeGuy on Fri 25/04/2008 04:19:01
I need to know how many people out there actually *use* and *need* the AGS Linux port.

Linux was a crucial factor in my choosing AGS. it is why I am, now committed to using 2.72 forever: my first game will connect with future releases using RunAGSgame.  (RunAGSgame DOES work in 2.72 under Linux doesn't it?)

deadsuperhero

Alternatively, here's a thought:
If you're going to discontinue it, why not hand it off to a few Linux devs who would:
1) Be willing to NOT release it under an Open Source/Free Software license.
2) Regularly collaborate together to constantly improve underlying errors.

I mean, if a whole team of people were working on this, then everything would be great and dandy.
The fediverse needs great indie game developers! Find me there!

strazer

Oh man, losing the Linux port would suck! I'll take the crippled version, thank you very much! ;)

Joseph DiPerla

Seriously if there were a few users and programmers dedicated to converting AGS to Linux and a few to do the Mac port, it would keep up a bit more with Chris's port.

Maybe a private CVS site for developers only... This way constant work on the ports can be done.
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

Pumaman

Quote from: Alliance™ on Sun 27/04/2008 17:05:16
If you're going to discontinue it, why not hand it off to a few Linux devs who would:
I mean, if a whole team of people were working on this, then everything would be great and dandy.

This is very easy to say, but not so easy in practice. How many Linux C++ developers are in this community and have the time to maintain and update a port of AGS? It's all about finding the people and people are hard to come by -- which is why I'm really grateful to EvilTypeGuy for sticking around so long with the Linux port :)

Tartalo

#12
@EvilTypeGuy
I don't really *need* the Linux port, but I *use* it. I even wrote a program around it (see my signature).
AGS for Linux is the other big source besides ScummVM for Linux adventurers (In terms of quantity, the biggest). Discontinuing it would make my computer really sad.
Whatever you decide about the future, thanks all the joy in the past.

@CJ
No chance that you reconsider the license of AGS? I bet that it would help a lot in keeping contributions like this alive when the original author needs to abandon the project for whatever reason. To rephrase your question: How many Linux developers are ready to work under the current terms?


nuba

Thanks for the Linux port. Keep rocking!

deadsuperhero

Quote from: Pumaman on Mon 28/04/2008 20:15:36
This is very easy to say, but not so easy in practice. How many Linux C++ developers are in this community and have the time to maintain and update a port of AGS? It's all about finding the people and people are hard to come by -- which is why I'm really grateful to EvilTypeGuy for sticking around so long with the Linux port :)

There's lots of C++ developers for Linux out there. I mean, heck, the K Desktop environment is practically written in it!

Conversely, I had another thought: What if you were to release an older version of AGS under an Open-Source license (not necessarily the GPL, there are tons out there. Although the GPL has been heavily enforced lately in courts)

For example, many of the developers here are using AGS 3.x. So, why not hand off the 2.x code to the community, to repackage and port it? If developers don't want their work to possibly be "de-compiled", they can just go to the newer engine, which reads the XML implementations differently? This could cause the codebase for reading the "Open" AGS to fork considerably, making it alot harder for a third party to reverse-engineer.

Or, there's always Mono, which finally hit a 1.0 completion.
The fediverse needs great indie game developers! Find me there!

Joseph DiPerla

Its coincidental that this has been revived. But I posted something in the General board that might make things possible for AGS to be ported. Personally, I hope the Linux and Mac ports stay alive and continue to be updated.

But at the same time, I don't blame ETG and Steve if they cancel the ports. The libraries that AGS uses, doesn't port well, or so it seems. It involves a lot of work. I would hate to  think that Chris would release AGS, even version 2, as open source. I could only immagine someone ripping off his code and then implementing some new features, porting it and passing it off as their own engine. That wouldn't be cool at all. Keep it closed source in my opinion.

But, I do have a few options for Chris, Steve and ETG. Perhaps there is someway to keep up the port. Some suggestions could be:

1) Put up a private CVS repository on the site that only you guys and any other program who will help with the port can access. Seeing eachother's changes as its happening would allow for quicker and more accurate porting.

2) Bring back the DOS port which can played through a DOS emulator on almost every immaginable system with full speed.

3) Perhaps the main port of AGS can use libraries that are all cross-platform such as the ones mentioned here: http://www.adventuregamestudio.co.uk/yabb/index.php?topic=34792.0
Chris, I dont know which libraries you use, but if I am not mistaken, I think you said you use Allegro for graphics. You use to use SeeR for scripting, now you use your own embeddable scripting language you created. You use WXWidgets for GUI maybe? Would you instead be willing to use different libraries in AGS so its easier to port?

I have heard from many developers who develop true cross-platform applications that the following are the best libraries to use:

SDL (http://libsdl.org/)--- Graphics library. Used in SCUMMVM. Portable to Unix/Linux, Windows, MacOS, AmigaOS and CE devices and more. Requires few changes from OS to OS. Also has a great 3D Renderer.

QT (http://trolltech.com/) --- Great GUI Framework. Used in KBASIC. Code is barely different and noticeable from OS to OS.

Libmpeg2 (http://libmpeg2.sourceforge.net/) -- Mpeg Video stream decoder.

MAD Audio Decoder (http://www.underbit.com/products/mad/) -- Again this seems to be easily portable to all the OS's mentioned for SDL.

HQ2x3x4x (http://www.hiend3d.com/hq3x.html) -- Magnifying an image implementing missing pixels.

AngelScript (http://www.angelcode.com/angelscript/) --- A personal favorite of some of my friends. Great scripting language. But not one thats generally popular. But it is portable.

LUA (http://www.lua.org/) --- This seems to be the scripting engine of choice. Although Chris, if the one you developed works, just stick to that.

Changing libraries is a total gutwrenching task. It would almost not allow for any time to add new features and would require a lot of bug fixes. So I totally understand if it doesn't happen. But if it were, I do think it would pay off being that AGS can then be completely cross-platform allowing for simpler and quicker ports of every new ags version in the future. But what do I know, I am only an amateur C++ programmer still learning the basics....
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

CeilidhaChaos

Um.. there's a new handheld console inspired by the GP2X, called Pandora (www.openpandora.org) which runs Linux - going to be released soon (August/Sept.) Probably see renewed interest.

GrogGames

#17
I'm very sorry for this, sinceraly, because every times I tried my games or I played other projects in my Linux, I was saying: who was the person that port this to Linux...? He must be great. Much users enjoyed your port, I think, as I did.

For this, I want to tell you reasons and solutions for your work continue helping these linux users. About from the library, I think that SDL can resolve your problem. It's got a librery of help that it gives support to videos in differents formats, Moreover, it isn't difficult to program (knowing allegro), and the license allows don't release any code only with the prohibition of profit.

The plugins is another item, in my humble opinion. I think it's typical of the developers, make their own plugins, or port they and distribute. For these, there is a extense comunity in Linux and Windows.

From distributions, don't worry. With a deb file from Ubuntu, I will suffice to make packages for every distributions. I offer to collaborate with it.


Well, I think decision is all your. We can't more that influince it. We are waiting that you decide continue with the port, and thus, do happy much Linux users.


Thanks for your time
Nahuel36, GrogGames Programmer


PS: Sorry for my english. I speak spanish

Makeout Patrol

I've never used Linux, but it makes sense to me that a project like this would be a lot easier to maintain using winelib. Is there any big disadvantage that I don't know about?

WizardStan

I hate to necro a post like this, especially as my first post, but I'd just like to say that I do also appreciate the linux port, even if it did take me significant time to get it running.  64 bit incompatibilities and all that.
Anywho, I'd like to restate the Pandora as a viable platform, finally being released next month with firm dates.  While the existing linux version for x86 desktops may be falling by the wayside in comparison to the Windows release, on the Pandora it could easily be advertised as a killer app.
On the other hand, even a killer app on a console with only 3000 units in it's initial run is only likely to achieve downloads measured in hundreds.  There will be more made, in batches of 3000 presumably, but they'll be several months apart in release.  I don't how many you consider "very few" when it comes to downloads and users, so this may be a negative point for you.
Allegro would need to be ported first, but with the community behind it, it shouldn't be too long before it's done once the hardware actually hits.
One other benefit to the Pandora is that it's a known platform with specific hardware and libraries: there's no risk of compatibility issues from one system to the next; once it's proven functional on one, it will run on all.
Anywho, just a suggestion.  I hope you at least consider it.
Take care of yourself, and keep up the good work, even if that work doesn't involve AGS at all.  I can understand real life issues drawing you away from projects.

SMF spam blocked by CleanTalk