The future of AGS III - The plan

Started by Wyz, Thu 15/03/2012 00:37:51

Previous topic - Next topic

Sughly

Quote from: Sinsin on Thu 12/04/2012 00:24:00
With all thats going on in just this thread its a wonder how the heck CJ got here in the first place. My brain hurts just reading it all  (maybe because i have spent too much time away these last few years )

I know I am useless at code, but I care enough to want to know whats going to happen. In fact what is happening? Whos doing what? And where the hell is my ham sandwich?

I read Wyz' plan (kudos) but why do I feel like I should be doing more to help.

I chuckled at this. I keep lurking around all these dev threads, spying on all you people smarter than me, and I feel bad I can't do more. I really wish I could  :(. But in order to avoid making this reply completely useless I just want to say that I appreciate all the hard work and dedication people are putting into this. Pretty exciting stuff!  :-D

timofonic

Quote from: TheMagician on Thu 10/05/2012 18:30:00
Just a quick question: are there still plans to couple AGS with ScummVM?

Well, that's a question for the currently involved developers in both codebases. I think they are mainly JJS and fuzzie :)

Crimson Wizard

As I told in PMs to Alan and WyZ a month ago, I would like to provide any help with refactoring/fixing/anythingelse-ing engine and/or editor, if such help is needed.
WyZ said he will answer when there will be some certaincy in your plans... but a month is passed so I decided to just put this here. :)

I am quite good at C++ and, let's say, average or so in C# (did not have much practice).

timofonic

Quote from: Crimson Wizard on Tue 15/05/2012 18:15:38
As I told in PMs to Alan and WyZ a month ago, I would like to provide any help with refactoring/fixing/anythingelse-ing engine and/or editor, if such help is needed.
WyZ said he will answer when there will be some certaincy in your plans... but a month is passed so I decided to just put this here. :)

I am quite good at C++ and, let's say, average or so in C# (did not have much practice).

Hello.

You have two options:

AGS implementation to ScummVM by fuzzie (Alyssa Millburn). Being part of ScummVM provides many advantages you can check yourself in ScummVM site, but I suposse it can be explained by the developer herself. The main AGS code is now dual licensed to GPL and Artistic License 2.0, so maybe there would be code sharing between this codebase and a possible propietary framework (suitable for propietary platforms that forbid open source, stuff like Steam and such).

- There's JJS work on AGS. He's porting to other platforms. Currently there's PSP, Android and a WIP iOS port. He also worked cleaning the dust a bit and also adding compatibility to games using older AGS interpreter versions.

- There's some people looking and cleaning it seems. I'm too tired to investigate today, but I can explain it after wake up,

I hope there's a merge and collaboration of efforts soon. The engine should be extremely portable in my opinion, and the devkit quite a lot ported (separation of "compiler" and others from IDE would be ideal too, so maybe appear alternative IDEs and specially the ones for alternative platforms

This way it would maximize all the possibile popularity of this game engine. Easing to gamers (portability, a great repository listing games and giving a mobygames/metacritic-like voting system), easing to developers (maybe even IDEs to tablets too) This can improve both AGS and the game genre in popularity (and not just German devs, the return of Ron Gilbert and Tim Schaffer), in my opinion.

Crimson Wizard

#44
Well, I want to refrain from jumping into something without a strict plan, this may end in doing something useless or duplicating other's work.
My main problem is that I may miss information about what exactly is going around, plus I am not as familiar with AGS "insides" as some other ppl here.
I just find this an interesting project and would be glad to participate, if I'd only know any useful thing I could do now ;).

EDIT:
Oh, timofonic, I just noticed your PM :) I will answer in a while.

timofonic

#45
At least the plan is slowly evolving organically...

Now there's JJS fork becoming the de-facto "official" branch these days, gaining a developer and Linux support is improving due to that.

I see there's a total lack of developers, but those get afraid to collaborate or there's a lack of public information about it.

Also, why not just using GitHub? It's easy to look at, to fork and merge, to submit code ("pull requests" are the equivalent to patches in sites like SourceForge but provides many advantages due to Git integration), to submit bugs and much more. You all would make merging easier and have less to maintain, there are all kind of projects using it (and you can do a git mirror too if you want) from small to very big ones.

Crimson Wizard

Well, I am discussing cooperation on refactoring the engine with Sonneveld right now. It took some time for me to gather general information on code structure, but now I have certain considerations; currently awaiting Sonneveld's response in my ideas (we talk via PMs for now).

Quote from: timofonic
Now there's JJS fork becoming the de-facto "official" branch these days, gaining a developer and Linux support is improving due to that.
I spoke with JJS some time ago and he said he did not plan any refactoring, and "would rather stay close to the official SVN branch".
If plans for JJS fork did not change, I would rather stick with sonneveld for now. If we achieve what we aim for and code is refactored, then we probably will find a way to join the branches. At least I hope so.

BigMc

As I understand it, JJS is hesistant to merge new features or refactoring, because he doesn't want to deviate in compatibility from a possible official AGS 3.2.2 or 3.3 or whatever. If there was consensus that the next "official" release will be based on his work, he would maybe consider to merge more stuff and join forces.

timofonic

#48
Quote from: BigMc on Wed 06/06/2012 10:29:02
As I understand it, JJS is hesistant to merge new features or refactoring, because he doesn't want to deviate in compatibility from a possible official AGS 3.2.2 or 3.3 or whatever. If there was consensus that the next "official" release will be based on his work, he would maybe consider to merge more stuff and join forces.

Official? What's official? The official svn repository is officially stalled, that's official for sure...

Quote from: Crimson Wizard on Wed 06/06/2012 10:19:46
Well, I am discussing cooperation on refactoring the engine with Sonneveld right now. It took some time for me to gather general information on code structure, but now I have certain considerations; currently awaiting Sonneveld's response in my ideas (we talk via PMs for now).

Quote from: timofonic
Now there's JJS fork becoming the de-facto "official" branch these days, gaining a developer and Linux support is improving due to that.
I spoke with JJS some time ago and he said he did not plan any refactoring, and "would rather stay close to the official SVN branch".
If plans for JJS fork did not change, I would rather stick with sonneveld for now. If we achieve what we aim for and code is refactored, then we probably will find a way to join the branches. At least I hope so.

People should understand the current situation, the old days of CJ doing the stuff are over. The community must forge a proper development TEAM, learn to collabore and organize.

If not, AGS will die soon...

On the other hand, the fuzzie's reimplementation is dual licensed GPL/AR2. What about code reusing from all parts involved and join efforts? The GPL part would need to be written (for the platforms where this can be an inconvenience, like Steam and consoles) and able to use a standalone framework rather than ScummVM's OSystem, but maybe that's better than less eyeballs and hands on the code.

PS: Mnemonic is making Wintermute 2. It's going to be a complete overhaul and development with portability in mind. No code will be reused at all, the scripting system will be similar (but not compatible).

Crimson Wizard

Quote from: timofonic on Wed 06/06/2012 10:39:24
On the other hand, the fuzzie's reimplementation is dual licensed GPL/AR2. What about code reusing from all parts involved and join efforts? The non-GPL parts would need to be written (for the platforms where this can be an inconvenience, like Steam and consoles), but maybe that's better than less eyeballs and hands on the code.
Few people, including Fuzzie herself, gave me an advice not to use her code directly, but rather as a reference :).
Although I am in no position to decide such things for the whole community, I'd prefer to follow advice given.
Main problem there is that Fuzzie's code was written having only runtime in mind, plus she aimed for using ScummVM codebase. Yet there's whole AGS Editor application, and built-in compiler, which are in certain ways based on original AGS engine code.

BigMc

Yeah, "official" meaning community approved or whatever.

It's a chicken-egg-situation. JJS doesn't take changes, because he is afraid of another branch invaluating his work and other branches (threatening his status as the official branch) appear, because he doesn't take changes.

Maybe if the other developers aggree here to merge their stuff into JJSs repository and JJS agrees to let them do it, the circle could be broken. I suggest the merging should take place in separate git branches of the ags-for-psp repository and slowly and carefully be merged into the main branch when everybody approves.

Joseph DiPerla

Quote from: BigMc on Wed 06/06/2012 11:08:16


Maybe if the other developers aggree here to merge their stuff into JJSs repository and JJS agrees to let them do it, the circle could be broken. I suggest the merging should take place in separate git branches of the ags-for-psp repository and slowly and carefully be merged into the main branch when everybody approves.

Agreed.
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

Crimson Wizard

Well, I guess I will work on refactoring regardless on what branch is considered "official". It's a specific task which is better done separately, at least for the first time.
IMHO.

BigMc

One could still decide on one repository to use. Most projects have a stable branch and a development branch where the refactoring and large changes take place. That doesn't contradict the suggestion.

Crimson Wizard

Quote from: BigMc on Wed 06/06/2012 11:40:52
One could still decide on one repository to use. Most projects have a stable branch and a development branch where the refactoring and large changes take place. That doesn't contradict the suggestion.
I would be glad to work in someone else's repository, if that is proposed. That would be, perhaps, even better, since the current work would be clearly open and visible by others.

Alan v.Drake

JSS is right not to take new changes, he's focusing on retro-compatiblity and porting to other platforms. Besides, isn't the point of git that you can fork it ? Make a fork and work together.

Let's make a recap of the devs and their repos. These seem (to me) the most important:
JJS, tobihan: compatibility and porting
tzachs: Editor with docking (there was still a little issue to root out, but it's great)
Alan: some improvements and new experimental stuff
sonneveld: mac osx and SDL (gee SDL, imagine all the cool clean code we could recycle from other sources)

There are enough ingredients to make a new version, but of course we'd need coordination.



- Alan

monkey0506

tzachs' changes with the docking panels have been checked in and are part of the 3.2.2 dev branch.

Monsieur OUXX

Quote from: Alan v.Drake on Wed 06/06/2012 22:14:16
JSS is right not to take new changes, he's focusing on retro-compatiblity and porting to other platforms.

Well then, still, let's choose an "experiments" branch.
 

BigMc

It might be a good idea to base an experimental branch on the JJS branch and try to keep the engine somewhat working on different platforms. If both branches are in the same repository, it's easier to make sure that bugs that are in both branches get fixed in both.

timofonic

Quote from: BigMc on Thu 07/06/2012 00:45:30
It might be a good idea to base an experimental branch on the JJS branch and try to keep the engine somewhat working on different platforms. If both branches are in the same repository, it's easier to make sure that bugs that are in both branches get fixed in both.

I think the main repository should be Git instead of SVN, Subversion is quite outdated and provides many development limitations on merging the efforts of the heterogeneous visions from different developers.

I would suggest to use GitHub as it provides a nice web interface and other conveniences. There can be a Git mirror in AGS server too, just for backup purposes. You register ags as organization, then having something like https://github.com/adventuregamestudio where projects would be.

This way, forking and merging can be a lot easier. Less maintaining efforts would need to be done in the future too.

What do you devs think of it? Will it be possible?

SMF spam blocked by CleanTalk