Whatever happened to the in-progress AGS engine?

All the inane chatter goes in here. If you're curious about whether we will support a game, post HERE not in General Discussion :)

Moderator: ScummVM Team

Serious Callers Only
Got a warning
Posts: 173
Joined: Thu Feb 25, 2010 7:44 am

Whatever happened to the in-progress AGS engine?

Post by Serious Callers Only »

Meaning, is this never going to progress in scummvm anymore so i might as well start asking for Retroarch port of the existing open source ags engine?
User avatar
sev
ScummVM Lead
Posts: 2272
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

The developer who started the work has no time and no interest. Especially after a major uproar in the AGS community.


Eugene
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3522
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

sev wrote:The developer who started the work has no time and no interest. Especially after a major uproar in the AGS community.
At least judging by the comments to AGS4 and the death of legacy - Issue #403, they're not opposed to a ScummVM engine for older AGS games. Of course, that only solves the "major uproar" part, not the "no time and no interest" part.
ikmspb
Posts: 9
Joined: Sun Dec 24, 2017 7:00 pm

Post by ikmspb »

Hello.
I am one the coders who were continuing development of AGS since 2012, probably the "unofficial leader" of that development, which happened rather by circumstance than my own decision.

To be honest, I came here after reading the recent article on PC Gamer, in particular what Eugene Sandulenko (sev) said about AGS port, because the depiction of 2012th events baffled me a lot and left me very much bothered by the whole situation.
"AGS is... unfortunate for us," admits Sandulenko. "Once the original author published the source code, we were pretty excited and we started working on it. We really had high hopes. But then when we mentioned it in the AGS forums, where the game authors are, there was a huge uproar. They didn't want it. They disliked the idea. They jumped on our poor developer so hard that they left in disgust, not wanting to touch it any more. I don't know why there was such opposition. We wanted to do it in the proper way, in the ScummVM spirit, and keep it updated as AGS was upgraded and improved over time. Later there was some talk of 'letting' us handle old game compatibility and so on, but... well, yeah... thanks? That’s not really in the spirit of our project."

I was not present on AGS forums at the time when Chris Jones opened the engine code, neither when fuzzie (Alyssa Milburn) and sev had a discussion with the members of AGS; I missed this discussion by mere 3 or 4 months. But re-reading the forum threads of that time made me question how accurate sev's claims are.

For the reference, this was one thread where both fuzzie and sev participated:
First post by fuzzie -
http://www.adventuregamestudio.co.uk/fo ... #msg608519
First post by sev -
http://www.adventuregamestudio.co.uk/fo ... #msg608761


As far as I understood that, there was a rather heated discussion between members of AGS community, but I haven't seen anything that could be classified as "jump" or "attack" on developer (fuzzie). Most heat was exchanged between the members of community and few occasional participants in the thread, when they tried to discuss possible advantages and disadvantages of developing AGS as a part of ScummVM framework.

Might that be that I missed something? Please, correct me if I am wrong.

From what I gathered, when it came to idea of continuing developing AGS as a part of ScummVM framework, the most notable points of consideration were:
1) Licensing the games which has ScummVM code in them,
(apparently, many people were not quite versed in how licensing works, so there was a lot of rumpus about that), and being able to sell them on Steam.
2) Adding new features to the engine while being a part of ScummVM framework, which might be troublesome, because ScummVM's priority is maintaining compatibility with all supported engines and backends. Basically this was a question of the freedom of development and experimentation, and AGS members had a right to worry about that IMO.

The latter point is especially important, because AGS is not just an engine to run games, but also an IDE (editor) to make ones. ScummVM team is probably interested only in running them, which makes sense, but also creates a conflict of priorities.

There seemed to be a consensus about supporting "old" games in ScummVM. That was an immediate suggestion by members of AGS community back in 2012, and was also noted by ScummVM developers:

For example, this is what sev said:
http://www.adventuregamestudio.co.uk/fo ... #msg608761
We would love to see AGS engine as part of ScummVM. However, if the AGS community does not want to develop their engine in our tree, we would prefer to concentrate on legacy, i.e. 2.x code, because otherwise we would have to continue constantly synchronising two codebases.
And fuzzie:
http://www.adventuregamestudio.co.uk/fo ... #msg608519
...to be clear, we'd love to support the existing AGS games in ScummVM. That has been a very common request from many, many users for a long time. If there had been a code release which supported all the older AGS games we'd have *jumped* on it. Perhaps at some point we'll take a look at the ports which added support for older games and see if we can't make something of that code ourselves.

But it seems clear from this thread that *ongoing* development of AGS within ScummVM is probably not what many AGS devs want - even ignoring the licensing worries, our priorities are compatibility with old games, portability (i.e. games should run on all platforms), longer-term release cycles to make sure all the platforms stay in sync, etc. Obviously things like new features for engines would always be less important to us, because that's not what our project is about.

In end of the forum thread which I am linking, both parties seem to had agreed on further discussing the possible collaboration. But that was it. I could not find any continuation, at least not on AGS forums. I do not know why. Looks like everyone just went their own ways.



Three or four months later I came to the AGS forums after long hiatus, lured by news about open sourced AGS, and started asking around about plans and project. I guess it was my mistake that I did not investigate opportunities of integrating with ScummVM thoroughly enough. I did not know much about ScummVM back then, and there was already a development branch of portable and backwards compatible version of AGS made by Jochen Schleu (JJS), which I joined.

Later, in 2014, I had a small exchange of emails with Alyssa Milburn, in which I asked about status of AGS port and whether my own help would be accepted in finishing it. Although I never actually particupated (due to big change in my own plans), I did not notice any hint of "disgust" in regards to AGS community in her replies. This is why reading that part of Eugene Sandulenko's interview now causes great surprise to me.


Over last years on many occasions I was considering a ScummVM alternative to what we were doing as a way to run "legacy" games (I was also secretly hoping that you release your port someday, giving us an opportunity to remove legacy support from our engine and maybe even start a modern engine from scratch, because keeping that support in actively developed engine became a real torture).

I was even thinking over an idea of moving onto ScummVM framework completely, but there were number of things that were stopping me from actually trying this:

1) I was not completely sure how easy that will be to keep integration between AGS IDE and the engine in ScummVM. The thing is that Editor features debugger (a bit limited, but still), where it exchanges messages with the running engine (breakpoints, errors, etc).
2) I was not sure how well such idea may be received by game developers, especially commercial developers.
3) I did not know how easy that would be to add additional features that would require specific platform support if we decide to do that. For example, full hardware-accelerated support with blending, shaders and fast transformations. AFAIK ScummVM did not have hardware acceleration back then. (I heard now it does?)
4) I was mentally exhausted. Well... yeah. So I choose to keep with something that at least works, rather than trying something unknown with unpredictable results.



Why I am posting all this here.

I would really like to know the nature of this "grudge" the ScummVM team has on AGS community (if there really is one), because frankly it came as a complete surprise to me, and so far looks like some kind of misunderstanding.

If I got it right, ScummVM positions itself primarily as a method of running abandonware, that is games/engines that are no longer maintained or supported on contemporary platforms. As such it seems an ideal choice to recreate legacy AGS support.

The question of whether whole development of AGS should/could be (had been) moved onto ScummVM framework is not simple, and depends rather on how (whether) that would benefit game creators.
Also, frankly, I don't know the ScummVM team's stance on where is the frontier between the games and engines ScummVM intends to support and those that are not intended to be supported.



Sorry for the long post, but I really wanted to clarify this situation.
Ender
Retired
Posts: 106
Joined: Wed Sep 21, 2005 5:06 am
Location: Perth, Western Australia

Post by Ender »

Hi Ivan!
ikmspb wrote:I was not present on AGS forums at the time when Chris Jones opened the engine code, neither when fuzzie (Alyssa Milburn) and sev had a discussion with the members of AGS; I missed this discussion by mere 3 or 4 months. But re-reading the forum threads of that time made me question how accurate sev's claims are.
So as you probably saw from the thread you linked, the conversation with the AGS community rapidly went off-topic and seemed to get caught up with somewhat tangental facts like licensing.

It did seem like the idea wasn't being welcomed, and there was other hostility directed towards fuzzie - the main driver of AGS for ScummVM - outside of the AGS forums.

The combination of personal attacks on the driver of the engine implementation, and the apparent reaction of the AGS community both contributed to killing the teams motivation quite quickly I'm afraid to say. It was quite a drain, especially on Alyssa personally.

Now - I'm just going to say here that people put their blood, sweat and tears into implementing an engine into ScummVM. So when things don't work out it can be a massive blow to those contributors mentally and emotionally. And this has happened on several occasions, for reasons ranging from disagreements in the community, to an objection from the original author. Sadly, these issues usually only come to light after the primary author has already invested themselves.

TL/DR: While I'm sure the team would be receptive to revisiting AGS support, it would most likely require an new contributor to take the mantle as everyone else has "been there, done that, burn-out".


- Ender
Former ScummVM Co-lead (now retired :)
User avatar
snover
ScummVM Developer
Posts: 20
Joined: Sun Dec 17, 2017 6:45 pm

Post by snover »

I would like to affirm what Ender said with regards to being receptive to AGS support in the here and now. I was not involved in this previously, and it sounds like whatever happened in the past is best left in the past. If anyone is interested in working on this engine, I personally would be happy to have ScummVM support such an endeavour.
Barky
Posts: 12
Joined: Sat May 07, 2011 2:12 pm

Post by Barky »

As a ScummVM fan and AGSer (Snarky on the AGS Forums) who was involved in the debate back then, I was really disappointed to see sev's comments in the PC Gamer interview. IMO the description misrepresents what happened, and needlessly paints a negative picture of the AGS community.

The "Later there was some talk of 'letting' us handle old game compatibility and so on, but... well, yeah... thanks? That’s not really in the spirit of our project"-bit is particularly galling, as there are a ton of comments by ScummVM devs from back then proposing just that.
sev wrote:The developer who started the work has no time and no interest. Especially after a major uproar in the AGS community.
There was no "major uproar", though?
Ender wrote:So as you probably saw from the thread you linked, the conversation with the AGS community rapidly went off-topic and seemed to get caught up with somewhat tangental facts like licensing.
The thread was never just about AGS+ScummVM, it was a general thread about the future direction of AGS. And licensing turned out to be a pretty central issue, as a major roadblock to integrating the two projects.

It might be worth revisiting that question, though. Lots of things have changed in the almost six years since then.
Ender wrote:It did seem like the idea wasn't being welcomed,
The idea was definitely welcome. Talking and thinking through everything that full integration of ongoing AGS development into ScummVM would entail, though, the majority of AGSers (who got involved in the discussion) concluded that it wasn't the direction we wanted to go at the time. Licensing concerns were definitely a part of that consideration, but so were things like (as fuzzie put it): "even ignoring the licensing worries, [ScummVM's] priorities are compatibility with old games, portability (i.e. games should run on all platforms), longer-term release cycles to make sure all the platforms stay in sync, etc. Obviously things like new features for engines would always be less important to us, because that's not what our project is about."

There was nothing against ScummVM in that decision, but there was probably a bit of a culture clash as well, and perhaps some mental readjustment needed on both sides. If another attempt towards integrating ongoing development were to be made, those things should probably be given just as much consideration as the technical matter of how to integrate/rewrite the code bases.
Ender wrote:and there was other hostility directed towards fuzzie - the main driver of AGS for ScummVM - outside of the AGS forums.
I'm really sorry to hear that (it's the first I've heard of it). I can't speak to things that happened off-forum/in private and was never reported, but harassment is not tolerated on the AGS forums, and would be grounds for a ban. Given the publicly available responses, what I know of the AGS community, and the fact that she wrote "there's a lot of people who have been very positive about [my work], both from the AGS community and outsiders", I don't believe that any hostility from individuals reflected the overall attitude of the AGS community.

Nevertheless, on behalf of that community I want to apologize to Alyssa for any personal attacks or other negativity she experienced.
snover wrote:it sounds like whatever happened in the past is best left in the past.
Yeah, maybe, though I think it's also important to set the record straight, particularly when these claims are being made to "mainstream media" outlets. Despite the not really positive way it was brought up, perhaps this can spur some more constructive engagement. That would be nice.

Ivan here (ikmspb, Crimson Wizard on the AGS Forums) has been taking a central role in AGS development (and just released v3.4.1) since shortly after all these things happened, and would be a natural point of contact for the programming side of things.

Congrats on the 2.0 release!
User avatar
sev
ScummVM Lead
Posts: 2272
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

I feel like I have to speak now.

First of all, let me clarify: people change, communities change, so whatever is being said below is only in defence of my words and ScummVM Team, as I am being clearly accused of misrepresenting the facts and painting the AGS community black. (An interesting fact is that it is coming from the people who joined projects later in time after these things had happened and were not eyewitnesses of them).

I always was a proponent of the merge and was pretty excited when fuzzie decided to bite the bullet and start her porting efforts. I think that it will serve very well both communities and our users. In a good spirit, we then approached the AGS community but faced a number of misunderstandings.

So, where the word "uproar" comes from?

Let me provide you with just couple of quotes which you can find in the thread on the AGS forums and thread on the ScummVM forums.

ScummVM team's effort was described as posing the danger "to file future lawsuits", and in general described as a "position [which] is intellectually dishonest and morally reprehensible."

In the meantime we were accused that our relevant thread is sitting in the Junkyard forum (the forum where ALL non-ScummVM-related discussions go, nothing to do with "junk"), and suggested to "move on".

In the end, CJ himself expressed that he wouldn't want the projects to merge. And expressed his content to us working on the 2.x branch.

At that time we had only 3.x engine sources, and 2.x sources were not published (I don't know whether they were published since, as I was not following the AGS development), which made all the work we've done by that time futile: chasing a running codebase target is an unthankful pile of work. Moreover, we've been told that the refactoring efforts of 3.x branch will stay within the AGS community.

I tried to amend the situation back then, got a positive response, but the thread just died with the open questions from fuzzie back in 2012.

In parallel, there were discussions over IRC with additional tensions, but I am afraid I do not have those records for quoting.

Now, with the recent quotes: "Then again, perhaps we could let ScummVM team take the old games support on from here." E.g. it suggests that there was still resistance until recently, and finally, it is time to let us do all the hard work. Of course, I understand that it could be a gross misrepresentation from my side, still, it gives hints that there are still incompatibilities in the approaches of both teams which must be addressed if any collaboration is considered.

I hope this clarifies my words. This is just a description of how ScummVM Team felt at the time, as you may see, a number of our devs were actively engaged in discussions, and timofonic is not a ScummVM dev, btw. In the last five years there were no further discussions, thus I assumed that there is no change in the state of affaris. Moreover, there is currently nobody in the team who is dare to touch the topic and spend their time on the engine.

The things could improve, however. It is sad, but not unexpected to see the AGS community getting weakened in time. Unfortunately, similar thing is happens to our project as well. So, the chances are getting slimmer and slimmer.
Barky
Posts: 12
Joined: Sat May 07, 2011 2:12 pm

Post by Barky »

sev wrote:I feel like I have to speak now.

First of all, let me clarify: people change, communities change, so whatever is being said below is only in defence of my words and ScummVM Team, as I am being clearly accused of misrepresenting the facts and painting the AGS community black. (An interesting fact is that it is coming from the people who joined projects later in time after these things had happened and were not eyewitnesses of them).
Actually, I WAS there at the time. And I said "mischaracterize", not "misrepresent" (an important nuance, I think: "misrepresent" suggests deliberate dishonesty, which I wasn't claiming).

(Edit: My mistake. While I've been careful to write "mischaracterize" elsewhere, I see that I did write "misrepresent" in the previous post on this thread. That was the wrong choice of words, and I apologize.)
sev wrote:So, where the word "uproar" comes from?

Let me provide you with just couple of quotes which you can find in the thread on the AGS forums and thread on the ScummVM forums.

ScummVM team's effort was described as posing the danger "to file future lawsuits", and in general described as a "position [which] is intellectually dishonest and morally reprehensible."
OK, so both these quotes are from the same poster (indeed, from the same post), and not representative of the general response. The second is also embedded in a conditional (to the effect of "IF this is what you mean, THEN it's intellectually dishonest & morally reprehensible").

Taking RickJ as speaking for the AGS community is like taking timofonic as speaking for ScummVM.

And finally, those comments weren't about the idea of adding AGS support to ScummVM, but about what to do about the licenses. On that topic, it should be obvious to everyone that RickJ had no idea what he was talking about, and his suggestions were in fact slapped down pretty hard.
sev wrote:In the meantime we were accused that our relevant thread is sitting in the Junkyard forum (the forum where ALL non-ScummVM-related discussions go, nothing to do with "junk"), and suggested to "move on".
Not by any (known) AGSer. In fact, that's the same ScummVM poster whose post was taken as an insult to AGS by RickJ. Go figure.
sev wrote:In the end, CJ himself expressed that he wouldn't want the projects to merge. And expressed his content to us working on the 2.x branch.
Just to get the timeline clear, that happened about a year before any of the other things we're talking about here (and a year before fuzzie started her AGS port/rewrite).
sev wrote:At that time we had only 3.x engine sources, and 2.x sources were not published (I don't know whether they were published since, as I was not following the AGS development)
I believe some version of it was eventually released, but it turned out that almost all of it was already included inside the 3.2 source. I don't believe the very early versions (pre-2.6) were ever released – they may not have been preserved.
sev wrote:which made all the work we've done by that time futile
I don't believe that's actually true (and not only because it happened before you'd done the work).
sev wrote:chasing a running codebase target is an unthankful pile of work.
Well, that's the rub, isn't it? AGS wanted continuing AGS development to stay separate from ScummVM, and you didn't want to work on support for legacy versions of the engine unless you could take control of future versions. That's fine (I mean, it's a shame, but no reason to hold a grudge), but don't paint it as the AGS community not wanting AGS support in ScummVM.
sev wrote:I tried to amend the situation back then, got a positive response, but the thread just died with the open questions from fuzzie back in 2012.
Discussion continued in other threads (which are hard to disentangle after the fact), but the decision had pretty much been made anyway, rendering some of those questions irrelevant.
sev wrote:Now, with the recent quotes: "Then again, perhaps we could let ScummVM team take the old games support on from here." E.g. it suggests that there was still resistance until recently, and finally, it is time to let us do all the hard work. Of course, I understand that it could be a gross misrepresentation from my side, still, it gives hints that there are still incompatibilities in the approaches of both teams which must be addressed if any collaboration is considered.
He can speak for himself, but I think that is a misreading of Ivan's comment. I understand his point as more that maybe it's time to stop trying to drag the whole existing AGS codebase forward, and instead give some major components a fresh start for v4.0 (because backwards compatibility makes it harder to make the kind of radical changes that might really improve the engine). At that point, AGS 3.x would no longer be the "moving target" you're so concerned about, so then it's something you guys might be interested in taking on. Because we thought that's what you wanted. The mutual benefits must have seemed obvious.

Keep in mind that (AFAIK) nobody on the AGS side were aware that there was any bad blood between AGS and ScummVM or that this has been a reason why the ScummVM port wasn't finished. Suggesting that some task might be more in your wheelhouse was not intended as an insult.
Last edited by Barky on Mon Dec 25, 2017 3:06 pm, edited 1 time in total.
User avatar
Raziel
ScummVM Porter
Posts: 1513
Joined: Tue Oct 25, 2005 8:27 am
Location: a dying planet

Post by Raziel »

snover wrote:I would like to affirm what Ender said with regards to being receptive to AGS support in the here and now. I was not involved in this previously, and it sounds like whatever happened in the past is best left in the past. If anyone is interested in working on this engine, I personally would be happy to have ScummVM support such an endeavour.
I can only second that.

I'm just a mere (very) small light in this community, but i would love to hear you all shake hands and start over fresh.

Please leave in the past what is possible and try to find a base on which AGS games in ScummVm could become reality.

AGS games (albeit i never played one lacking the supported platforms) are one of the most versatile and beautiful i've seen (on youtube lets plays).

I'd love to be able to play them on my niche system though ScummVM.

/me is starting to hope again
ikmspb
Posts: 9
Joined: Sun Dec 24, 2017 7:00 pm

Post by ikmspb »

Damn, I really hope I did not ignite another flamewar here.

Even though I honestly felt offended by the quoted part of the interview, my point of posting here was not to accuse anyone, but to find out what is going on.

I have to admit, that discussions on AGS forums do become pretty heated at times, and surely they could do back then.
(Let me say, that when I myself tried to participate in the "future of AGS" discussion in 2012, I had to call upon all of my patience, because there were e.g. people who sincerely suggested to not do anything until Chris Jones comes back and gives "us" a plan.)

It's just that I could not think this went so far.

sev wrote: Now, with the recent quotes: "Then again, perhaps we could let ScummVM team take the old games support on from here." E.g. it suggests that there was still resistance until recently, and finally, it is time to let us do all the hard work. Of course, I understand that it could be a gross misrepresentation from my side, still, it gives hints that there are still incompatibilities in the approaches of both teams which must be addressed if any collaboration is considered.
Ok, since it's my words, I need to also clarify this.
As Snarky/Barky mentioned above, none of us honestly was aware of your view on old events, and I personally could not even imagine that you see it this way.
This comment of mine (and many my other comments in that thread) was made in a very... emotional state, because Alan Drake, who started the discussion, made me finally realize that I spent years doing very stupid thing; that is - keeping legacy support in an actively developed engine. I felt like something I spent a lot of time and effort on was suddenly devalued. So I kept throwing these comments there, without much consideration.

I am unaware of any resistance to ScummVM port idea on AGS forums. The only significant consideration that comes to mind is the one I mentioned in my first post above - it would not necessary be beneficial for game creators if AGS fully becomes a part of ScummVM framework.

But this is actually also a question of what AGS should be (or become), and final decision greatly depends on that.

I also would not put it like making you "do all the hard work". This work was hard not particularily because we had to support old games, but because we had to combine this support with adding new features and expanding old ones, which often required to rewrite same parts of the code several times, trying to keep both. (This, and the fact that our code is still not all refactored)
Besides, I was thinking that you are planning to make that port anyway.


EDIT:
Regarding 3.* and 2.* game support. Currently our version of the engine supports games since AGS 2.5. The biggest amount of work here was made by Jochen Schleu, with bits added by me when he left.
AFAIK Alyssa Milburn's port contains most or all compatibility by Jochen, but may not contain my own compatibility additions, because they were done later.
Barky
Posts: 12
Joined: Sat May 07, 2011 2:12 pm

Post by Barky »

Raziel wrote:i would love to hear you all shake hands and start over fresh.

Please leave in the past what is possible
ikmspb wrote:Damn, I really hope I did not ignite another flamewar here.
Agreed. Like Ivan, I was upset about the quote in the interview. I don't think it's a fair summary of what happened, and frankly I think an apology would be in order. But I've said my piece, I accept that we have different views of events, and personally I'm happy to let bygones be bygones.

It would be great if some kind of AGS compatibility in ScummVM was realized. AFAICT, everyone has always been in favor of it for legacy games, and any impression otherwise has just been a misunderstanding. As for integrating ongoing AGS development into ScummVM and rewriting AGS to sit on the ScummVM core, it's a little more tricky, but if the interest is there among potential devs, it's definitely a discussion worth having again.

If the license concerns are overcome, I think we need to think about the unique needs AGS has. For example, AGS games may want to have custom ports for different platforms, rather than the ScummVM approach where the game runs "the same" on all platforms. AGS games may want to interrogate the platform capabilities to enable/disable various features. (Just a couple of potential issues off the top of my head.)
User avatar
Longcat
Posts: 1061
Joined: Sat Sep 23, 2006 3:15 pm

Post by Longcat »

I think the only need atm is for a dev, actually willing to do the work. Not apologies or demands for special features for AGS.

Is anyone from the AGS team willing to do the work or at least contribute?

It seems you are expecting a lot for free.
ikmspb
Posts: 9
Joined: Sun Dec 24, 2017 7:00 pm

Post by ikmspb »

Sorry, I decided to delete my previous text, because I missed the above post by Snarky, and did not correctly understood what Longcat means.
Last edited by ikmspb on Mon Dec 25, 2017 4:29 pm, edited 6 times in total.
Barky
Posts: 12
Joined: Sat May 07, 2011 2:12 pm

Post by Barky »

Not expecting anything, and I clearly said "if the interest is there among potential devs". I would think interest from the side of AGS engine contributors would depend on how some of these issues are resolved (because no one wants to work on an engine that will be a step back in important respects), which is why I brought them up.

If no one wants to do it then so be it. Maybe give that answer next time somebody asks.
Post Reply