Adventure Game Studio

AGS Development => Engine Development => Topic started by: Wyz on Thu 15/03/2012 00:37:51

Title: The future of AGS III - The plan
Post by: Wyz on Thu 15/03/2012 00:37:51
For the past two months I've been working on a plan. A plan for the future of AGS. It is by no means a plan what I think the future development of AGS must look like or should look like, no: it is what the future development could look like. I've been reading a lot of discussions and been silently collecting information and opinions; added that with what I would advise if anyone would ask me; and put it all in a document. I also put in insight about some of the subjects that have been debated intensely and try to make them clear also to people that are not really into it.

This document is not just for developers, it is for everyone to read, think about, philosophy about, talk about and have a good laugh at with your pals. I don't care what you do with it really, but I hope it will trigger a positive feeling about AGS' future. A feeling that the we as a community will manage to make this into something great, all differences in opinions aside.

So without further ado:

The plan (https://docs.google.com/document/pub?id=1ZqcDdhvAXPjar60sL77xyYSLPE7r-Be9DzOBr9l_iNo)

I've kept this all under the hood while I was working on it so I didn't get distracted. I've been waiting for some people to review it while others already gave me useful feedback. Now it is in the open this does not stop. If you want to review the plan as well, just send me a PM and I will give you access to the document so you can comment on it.

Thanks for your time!
Title: Re: The future of AGS III - The plan
Post by: Construed on Thu 15/03/2012 01:34:01
Very complete and well thought out plan.

2 thumbs up!
Title: Re: The future of AGS III - The plan
Post by: Snarky on Thu 15/03/2012 10:07:07
Well, that sounds fine in general, though I wouldn't call it progress as such. I think some of the specifics are going to be whatever they end up being, you can't really say for sure in advance that it's definitely going to happen in this particular order.

The tl;dr version seems to be:

1. There are things that need to be set up on the forums, site and repository side in order to make effective progress.
2. The people/team who are going to manage development going forward need to have the access to set up and maintain that stuff.
3. There needs to be good communication between the leads and developers and the community at large.
4. Step one of actual code development should be consolidating the different branches and refactoring/documenting/standardizing the code. That might take a while.

Yes, absolutely. Agree with all of those.

Minor point: I think you're wrong about the Artistic License. It does not prohibit an unsanctioned modified, commercial version of AGS, as long as it is open source.
Title: Re: The future of AGS III - The plan
Post by: on Thu 15/03/2012 19:44:03
Very interesting, sensible and well written. I especially agree on the 'infrastructres' outlined in the doc (dev boards, bug tracker request tracker, etc.).
Title: Re: The future of AGS III - The plan
Post by: straydogstrut on Thu 15/03/2012 20:59:34
A very well thought-out, sensible plan in my humble opinion. This is an overview and there will be lots of nitty gritty details to consider, but I think the future of AGS is in safe hands if an approach like this can be taken.

I don't fall into the developer camp. I'm just one of those pesky community users that expects the world (and 'runs AGS on a separate partition' until the day it gets ported to Mac ;) ) That said, I hope all the community-involvement you've suggested does happen because that's definitely an area i'd want to be involved in: submitting bug reports, voting on features, proof reading the wiki etc. I use other forums for things like web and iOS development and there's big community involvement with documentation, bug reporting, tutorials, plugins etc. I know we have much of that but a cohesive plan for the new site can only be a good thing in my opinion.

Thank you for writing this document Wyz
Title: Re: The future of AGS III - The plan
Post by: on Fri 16/03/2012 01:15:49
If it's the one you showed me it's a good document, I hope to re-read it again soon. Nice one Wyz for going public wi' it! I'd urge others to have a read, now is a good time to yay or nay it if you have a strong AGS opinion of some kind  ;D
Title: Re: The future of AGS III - The plan
Post by: LimpingFish on Fri 16/03/2012 02:58:30
The future of the forums is an ongoing discussion over in Modland, and something that will hopefully result in action sooner rather than later (much sooner!).

I can't fault the plan for moving AGS development forward, though. It makes a lot of sense. Good work. :)
Title: Re: The future of AGS III - The plan
Post by: miguel on Fri 16/03/2012 13:29:13
Not a Dev myself but so much in love with AGS as anybody else!
Thanks for "The Plan" Wyz, good work.

I hope that we get our shit together and start working on it as soon as possible!

I know this has been said before and there's CJ coming and going when he has time but due to the current state of the forums, posting this is a nightmare as is to even open topics...let's fix the forum first please. I think it's priority number 1.
Title: Re: The future of AGS III - The plan
Post by: timofonic on Fri 16/03/2012 14:25:39
I did read the document while it's conception (as it has been shared by using Google Docs to some community members and the link showed in the IRC channel) and was critical with it but at same time agreed on it.

As Wyz already know, there are some things that happened while writing the document. Maybe it should need a second edition after some time...

- Alyssa Milburn (aka fuzzie) from the ScummVM Team is working on an AGS engine for ScummVM. It's in WIP state, but she's implementing it alone and trying to understand the mess the AGS runtime is (. There's even some talking about hardware acceleration of the graphics, due to being needed by AGS and Wintermute engines (another candidate, due to the Wintermute Lite runtime having nice code and implmenting only the 2D part).

- CJ already appeared again, he said about publishing the new website soon and the last stuff is going to be done. While I'm sceptical most of the time and prefer to support on facts rather than faith, I would like to believe that Mr. Chris Jones is going to put the new website soon and assign one or two webmasters (and some admins for tasks like updating information of the site).

- AGS Archives is a very important thing in my opinion, A LOT MORE than people may think. the AGS community is full of creativity and motivation by indie and hobbyist devs, but their projects need to have more visibility and some way to reward the best projects by different criteria in an extensive way (best game, best history, best innovative game, best artistic quality...). The site needs to be totally integrated and maintained in an extremely active and detailed way ( I suggested even show the AGS runtime version, for example).

- A core team must be formed, with at least some experienced (two or more) able to make complex decisions about the design and implementation. They can be the mentors of novices into the project, so they can learn and improve their skills. Of course, this is related to the WIP implementation of the AGS engine for ScummVM, so they should be a strong collaboration in this area (because ScummVM can be the multiplatform runtime to play AGS games on lots platforms, improving the popularity of AGS games so both indie/hobby and commercial game makers benefit of it).

- DRM is a no go, it's retarded and is even worse for commercial developers. This has been mentioned in "The Plan" document, but not enough detailed in my opinion. The work to make DRM difficult to crack is quite big, and the same effort on other areas can improve a lot the project. Plus DRM makes multiplatform and data preservation a lot more difficult, and in my opinion AGS games are worthwhile to be preserved so future generations can enjoy and study them.

- Web server must be actively maintained ASAP! I'm a Linux guy so I can be biased to it, but I think Linux is a lot better alternative for a web server rather than by using Windows Server. The forum is hosted in Windows Server and is showing lots of reliability problems. This is making a lot bad to the community, because forums are the primary communication way of it.

- In my opnion, it's not too early to colllect improvement ideas for the future. This should be done in an organized way , started by people that already know the inner workings of AGS (like jjs, fuzzie and other developers but also game makers with technical level).

The community MUST understand one thing: The most important thing is THE CODE, because the tools used by the community need to be improved and maintained constantly. So please think about it and center the main efforts mainly in this. But please don't continue the solo developers syndrome, there must be formed a properly organized development team. I personally think that all other efforts are irrelevant compared to this one, because it's the main force that makes the project stay alive.

Let's motivate the community and specially their developers, so AGS can stop to be jokingly named  Abandoned Game Studio and being a serious alternative for all kind of 2D adventure game developers!
Title: Re: The future of AGS III - The plan
Post by: Eric on Fri 16/03/2012 16:17:38
Quote from: timofonic on Fri 16/03/2012 14:25:39While I'm sceptical most of the time and prefer to support on facts rather than faith, I would like to believe that Mr. Chris Jones is going to put the new website soon and assign one or two webmasters (and some admins for tasks like updating information of the site).

Well, you can see much of the new site in action at http://www.adventuregamestudio.co.uk/Newsite/Home.aspx

So that's something, at least.
Title: Re: The future of AGS III - The plan
Post by: RickJ on Fri 16/03/2012 18:23:07
Wyz, 

"The Plan" is a great start on documenting what needs to be done.  You present sound and sensible ideas in the plan.  I have some comments that may be helpful in refining the plan.

Phase One-Eleven
The document would have been easier to read and digest if there were descriptive titles.  These sections also seemed to need more structure (i.e. categories,k sub-categories, etc).  It seems to me you were thinking in terms of chronology and so a linear structure was chosen.  I can see where a hierarchical structure would tend to de-emphasize the chronology.   Perhaps chronology could be preserved by assigning categories/sub-categories to phases which could be defined something like the following:  Representation of dependencies could be achieved using do notation (i.e. Phase-1.1 comes before  Phase-1.2).

Title: Re: The future of AGS III - The plan
Post by: on Fri 16/03/2012 18:24:17
Quote from: timofonic on Fri 16/03/2012 14:25:39
- DRM is a no go, it's retarded and is even worse for commercial developers. This has been mentioned in "The Plan" document, but not enough detailed in my opinion. The work to make DRM difficult to crack is quite big, and the same effort on other areas can improve a lot the project. Plus DRM makes multiplatform and data preservation a lot more difficult, and in my opinion AGS games are worthwhile to be preserved so future generations can enjoy and study them.

"The Plan" addresses the point in a sensible way:

Quote
Encryption of resources

[...] everything the game has access to can also be accessed by someone else. They don’t even need to have the source code, when a motivated cracker starts working on it, it can be broken in a matter of days. The reason why no-one ever did this is because they did not see the value of it. Frankly this is the best solution; if you try to encrypt things really well all you are accomplishing is attracting code crackers.

Still, we don’t want to make it too easy. All we need is a simple encryption algorithm (there are tons of them out there) to obscure the package files a bit so they can’t be read by programmers.

Still anyone with the source code could write a decoder so this might not be enough for some users. I think this can be solved with a separate plugin that can encrypt it in a secret way, with no source code available of it. We don’t have to supply this plugin ourselves, but we should enable plugins to have control over package loading.

to sum it up:
    - encrypting is seldom a wise move
    - still, plain data is not a wise move too: we just need to obfuscate the packages a bit
    - if you are, e.g., a commercial developer and are really worried, that could be solved with a closed source pulug-in, not provided by us.

That would: take very little time to implement (and in the case of the closed source plugin: no time to implement, since it won't be developed by the AGS coders).
Multiplatform/data preservation wouldn't be a problem at all! The encrypt/decrypt routines are there for everyone to use (without even studying them), the encryption/decryption routines would be multiplafrom (hell I don't see any reason for them not to be).

So, to stress it again: minimum effort for a little feature many could appreciate.


Quote from: timofonic on Fri 16/03/2012 14:25:39The community MUST understand one thing: The most important thing is THE CODE, because the tools used by the community need to be improved and maintained constantly. So please think about it and center the main efforts mainly in this. But please don't continue the solo developers syndrome, there must be formed a properly organized development team. I personally think that all other efforts are irrelevant compared to this one, because it's the main force that makes the project stay alive.

Wyz's plan clearly states that the first steps would be 'giving the community' (better: setting up) some tools which would instantly make possible a collaborative effort (a common repository, bugtracking system, feature request system). Way to go!

Quote from: timofonic on Fri 16/03/2012 14:25:39
I would like to believe that Mr. Chris Jones is going to put the new website soon and assign one or two webmasters (and some admins for tasks like updating information of the site).

I would like to see someone trusted to be given the keys to the server (for general mantaineance, dealing with events like forum wide announcement for the awards, etc.) too.
Title: Re: The future of AGS III - The plan
Post by: suicidal pencil on Thu 22/03/2012 03:45:03
The plan is very well written Wyz. I wish I could help with the plan but I'm not too knowledgeable of C++, nor have I ever undertook a project of such magnitude. However, I will pledge what assistance an intermediate Perl coder can bring  ;D 

here's my qualification:@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print

:)

Title: Re: The future of AGS III - The plan
Post by: timofonic on Thu 05/04/2012 18:52:45
Any progress about this?

I think the community should not waste time on discussing and start doing something, there's even mentions in sites like RPS...

http://www.rockpapershotgun.com/2012/04/03/exploring-the-lost-world-of-adventure-game-studio/
http://www.rockpapershotgun.com/2012/04/04/play-these-the-best-of-adventure-game-studio/
http://www.rockpapershotgun.com/2012/04/05/wot-i-think-da-new-guys-day-of-the-jackass/
Title: Re: The future of AGS III - The plan
Post by: straydogstrut on Thu 05/04/2012 19:15:07
While it would tickle me silly to see stuff happening, I don't think the lack of public updates means nothing is happening. I got the impression that discussions are going on behind the scenes and some things, like a seperate forum for dev discussion, were partly waiting on CJ to set things up. I would presume the right people are still in discussions and I see no reason to rush into things.
Title: Re: The future of AGS III - The plan
Post by: timofonic on Thu 05/04/2012 19:43:12
Quote from: straydogstrut on Thu 05/04/2012 19:15:07
While it would tickle me silly to see stuff happening, I don't think the lack of public updates means nothing is happening. I got the impression that discussions are going on behind the scenes and some things, like a seperate forum for dev discussion, were partly waiting on CJ to set things up. I would presume the right people are still in discussions and I see no reason to rush into things.


That's the BIG problem, WAITING...

Why wait when other people with more time and/or motivation could do it? That's the advantage of a community project, that's why properly organize Free Software projects stay alive.

AGS needs a community culture evolution...
Title: Re: The future of AGS III - The plan
Post by: on Thu 05/04/2012 20:06:16
In an effort to keep things legit and official waiting is really the only option at this point. Lots of things are on the table, its a matter of cj looking at the options and working with us to bring the best to light. But that doesnt mean I dont agree, only so much waiting can be done before its just pointless to wait any longer.
Title: Re: The future of AGS III - The plan
Post by: BigMc on Fri 06/04/2012 17:00:00
If you have decided on some people who are trusted, why don't you tell them to set up a website and other infrastructure? Has CJ ever announced that he wants to hand over his website to AGS, the free software project? If not, what are you waitig for?  You really need these things to get started.
Title: Re: The future of AGS III - The plan
Post by: Andail on Fri 06/04/2012 18:16:55
As Mods says, we still have to wait some more.
There is a model being worked out, and we more or less only need CJ to greenlight some stuff before changes will take place.
Title: Re: The future of AGS III - The plan
Post by: fuzzie on Sat 07/04/2012 13:43:44
At some point the phases of the plan are going to need a re-think; for example, Nick Sonneveld has made a good start at refactoring the code into sensible commented pieces, so a lot of phase 6 might become irrelevant.

Also note that the ScummVM section is irrelevant now too (my ScummVM AGS engine is largely refactored/rewritten already).
Title: Re: The future of AGS III - The plan
Post by: 2dMatty on Sat 07/04/2012 15:50:57
Engine-wise I think people need to start to look at getting ags titles running for iOS and Android

Seen some Android work in this space and I'd be happy to devote some time looking at getting stuff running well on iOS/Mac
Title: Re: The future of AGS III - The plan
Post by: Alan v.Drake on Sun 08/04/2012 10:23:10
Yeah, let's just wait... those two poor fellows working on the code surely don't need help or anything. ::)

- Alan
Title: Re: The future of AGS III - The plan
Post by: monkey0506 on Sun 08/04/2012 12:20:39
For the record, I haven't been around much lately, but I'm not doing nothing*. I'm working on trying to get a Steam related bug fixed for Dave which may or may not prove to be related to the AGSteam plugin, and I'm working on some other code that ultimately will probably be useless to the main codebase of AGS (because no one's going to want to use it, not because there's no purpose behind it). In any case, what I'm doing is vastly improving my personal familiarity with the ins and outs of various aspects of C++, which presumably would be of some benefit, if nothing else I'm doing is. Over the coming weeks I plan to start really ripping into the engine's code and see if I've learned anything after all.

Those of you who are/have worked on refactoring the code, please PM me to let me know who you are. At the moment I only really know of fuzzie, and possibly Alan(?). I could be wrong, but I think Alan's been focusing more on integrating new features vs. refactoring (yes? no?).

*Arguable. :P But at least I'm claiming to be doing something, which is always a good start.
Title: Re: The future of AGS III - The plan
Post by: Alan v.Drake on Sun 08/04/2012 13:15:01
Quote from: monkey_05_06 on Sun 08/04/2012 12:20:39
[...] but I think Alan's been focusing more on integrating new features vs. refactoring (yes? no?).

Yes, since I got employed I've been focusing more on the gamemaking and adding stuff I need to the engine rather than refactoring it.
I had attempted to split down acroom.h into header and code, but the compiler disagreed so vehemently that I had to give up.

- Alan
Title: Re: The future of AGS III - The plan
Post by: AGA on Wed 11/04/2012 21:10:36
I'm too lazy to read through all these threads, but just so you know, I now have admin access to the AGS forums and server.

The new website design implementation is in progress, but has unfortunately been stalled for a long while due to CJ's real life busyness.  However, with my help it will hopefully start to move again soon.

The forums will likely be upgraded to SMF 2.0 eventually, but that will be a fairly time consuming project (porting themes and plugins and custom hacks and such), so don't hold your breath.

If people have requests for the forum, or community ideas you want me to bring to CJ's attention, do let me know.  If somebody wants to TLDR the whole discussion to date that'd be especially helpful.
Title: Re: The future of AGS III - The plan
Post by: Alan v.Drake on Wed 11/04/2012 21:25:24
Congrats AGA. Perhaps the end of the world is really drawing near :)

TLDR: Wyz said we needed two new boards, one for the developers working on the code and one for users asking stuff about the codebase. Or so he wrote on his plan.

- Alan
Title: Re: The future of AGS III - The plan
Post by: straydogstrut on Wed 11/04/2012 22:52:52
Slightly longer TLDR ;)


Project split over chronological phases which are briefly:
See RickJ's post (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=45572.msg612023#msg612023) for a further breakdown.

Considerations

Licensing - AGS Engine 3.x and Editor have been made public under Artistic Licence 2.0. The 2.x engine and Native subsystem of the editor remain unreleased as of Feb 2012.  Code worked on by community considered the original (with CJ's blessing), everything else treated as distinct from AGS.

Integration with ScummVM - Either refactor old branch or create platform specific builds. Mention of adopting the back-end/front-end approach of the ScummVM team. Alyssa Milburn (fuzzie) working on AGS engine port for ScummVM and has completed refactoring the code.

Portability - Engine should be ported to as many platforms as possible. Editor on at least the major desktop systems

Choice of library - Allegro5 / SDL - should suit AGS licensing (ie. freely distributable with AGS), be portable, lightweight and actively supported

Encryption/DRM - More trouble than its worth, simplest route would be a third party plugin
Title: Re: The future of AGS III - The plan
Post by: AGA on Wed 11/04/2012 23:14:13
Right, I'll start looking at the site stuff tomorrow.  The dev / community stuff you'll have to fight out among yourselves.
Title: Re: The future of AGS III - The plan
Post by: straydogstrut on Wed 11/04/2012 23:16:05
Great! I would point out that what is above is mostly from Wyz's plan document which was a proposal (and a rather good one) but not an agreed plan of action. Still, fixing bits of the website/forums wouldn't hurt imo :D
Title: Re: The future of AGS III - The plan
Post by: 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.


Title: Re: The future of AGS III - The plan
Post by: AGA on Thu 12/04/2012 18:36:26
Okay, so the forums structure has been changed quite a lot now.  This is going according to a plan that's been worked out by the moderators, but hopefully it'll meet everyone's needs.
Title: Re: The future of AGS III - The plan
Post by: Alan v.Drake on Thu 12/04/2012 22:54:46
SO IT BEGINS...
Title: Re: The future of AGS III - The plan
Post by: timofonic on Thu 10/05/2012 04:45:50
Quote from: Alan v.Drake on Thu 12/04/2012 22:54:46
SO IT BEGINS...

Look at it...

It's a snail race! ;)

It seems we need a Indiana Jones to locate AGSNative...

What about merging all the AGS runtime forks into one? Why using that ugly Gitorious instead the prettier and more comfortable GitHub?


A big square with the best winners of the AGS awards should be made, promoting those games to the rest and gaining recognition. Then a link to the more details.

What about making the AGS Foundation? This can solve the donations issue, so people can donate money used for maintaining stuff and prizes for awards (so motivate game developers to participate). Maybe a kickstarter-like system could be nice to do, to promote very ellaborated commercial games using the AGS engine. The foundation could be done in UK or Germany, the last one is the country where it seems adventure games are still considerably popular and there are many benefits (but you need to raise a high quantity of money, look at The Document Foundation case).
Title: Re: The future of AGS III - The plan
Post by: Alan v.Drake on Thu 10/05/2012 05:42:19
Quote from: timofonic on Thu 10/05/2012 04:45:50
It seems we need a Indiana Jones to locate AGSNative...

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=45990.msg617428;boardseen#new

:=

- Alan
Title: Re: The future of AGS III - The plan
Post by: timofonic on Thu 10/05/2012 07:56:02
Quote from: Alan v.Drake on Thu 10/05/2012 05:42:19
Quote from: timofonic on Thu 10/05/2012 04:45:50
It seems we need a Indiana Jones to locate AGSNative...

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=45990.msg617428;boardseen#new

:=

- Alan


WOW!

The miracle has happened!

Now it would be even nicer if he releases older versions or the entire VSS repository dump :D

Sometimes dreams come true, sometimes...
Title: Re: The future of AGS III - The plan
Post by: monkey0506 on Thu 10/05/2012 18:12:21
What's ironic timmoff is that you didn't even realize that you posted on the same day that CJ posted, with more insults.

And for the record, the old source has nothing to do with improving the current engine or editor, which you have stated as one of your goals in these inflammatory posts you like to toss around.

Notably this is lesser than some of your older posts, but still you're not helping just by accusing everyone else. (wrong)
Title: Re: The future of AGS III - The plan
Post by: TheMagician on Thu 10/05/2012 18:30:00
Just a quick question: are there still plans to couple AGS with ScummVM?
Title: Re: The future of AGS III - The plan
Post by: timofonic on Fri 11/05/2012 02:57:48
Quote from: monkey_05_06 on Thu 10/05/2012 18:12:21
What's ironic timmoff is that you didn't even realize that you posted on the same day that CJ posted, with more insults.

I LOVE YOU TOO! ;)

Also, timmoff sounds so intimate and affrectionate... It remembers me of "Tim off". Thanks for name it that way, my darling...


Quote from: monkey_05_06 on Thu 10/05/2012 18:12:21
And for the record, the old source has nothing to do with improving the current engine or editor, which you have stated as one of your goals in these inflammatory posts you like to toss around.

It has different reasons, like historical or better check of backwards compatibility. This maybe can be helpful for the fuzzie's quest on implementing AGS into ScummVM.

Quote from: monkey_05_06 on Thu 10/05/2012 18:12:21
Notably this is lesser than some of your older posts, but still you're not helping just by accusing everyone else. (wrong)

I'm very happy our relationship is improving, love is in the air...
Title: Re: The future of AGS III - The plan
Post by: Bjyman on Fri 11/05/2012 06:10:17
Can we get 3D support and the return of AGS for dummies?
Title: Re: The future of AGS III - The plan
Post by: Dualnames on Fri 11/05/2012 09:50:05
All I have to say is that, if Wyz's move triggered the change of the forums then kudos. I've read the plan ("yeah some months late") and I feel it's wonderful. It could work as a wonderful guideline.
Title: Re: The future of AGS III - The plan
Post by: Sughly on Sat 12/05/2012 12:06:34
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
Title: Re: The future of AGS III - The plan
Post by: timofonic on Tue 15/05/2012 02:03:45
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 :)
Title: Re: The future of AGS III - The plan
Post by: 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).
Title: Re: The future of AGS III - The plan
Post by: timofonic on Wed 16/05/2012 05:25:17
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) (https://github.com/fuzzie/scummvm/tree/ags/engines/ags). Being part of ScummVM provides many advantages you can check yourself in ScummVM (http://www.scummvm.org) 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.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Sat 19/05/2012 13:03:33
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.
Title: Re: The future of AGS III - The plan
Post by: timofonic on Wed 06/06/2012 05:43:19
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.
Title: Re: The future of AGS III - The plan
Post by: 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.
Title: Re: The future of AGS III - The plan
Post by: 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.
Title: Re: The future of AGS III - The plan
Post by: timofonic on Wed 06/06/2012 10:39:24
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).
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Wed 06/06/2012 11:02:55
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.
Title: Re: The future of AGS III - The plan
Post by: BigMc on Wed 06/06/2012 11:08:16
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.
Title: Re: The future of AGS III - The plan
Post by: Joseph DiPerla on Wed 06/06/2012 11:22:30
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.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Wed 06/06/2012 11:26:22
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.
Title: Re: The future of AGS III - The plan
Post by: 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.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Wed 06/06/2012 12:13:03
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.
Title: Re: The future of AGS III - The plan
Post by: 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. 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
Title: Re: The future of AGS III - The plan
Post by: monkey0506 on Wed 06/06/2012 22:41:12
tzachs' changes with the docking panels have been checked in and are part of the 3.2.2 dev branch.
Title: Re: The future of AGS III - The plan
Post by: Monsieur OUXX on Wed 06/06/2012 23:24:28
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.
Title: Re: The future of AGS III - The plan
Post by: 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.
Title: Re: The future of AGS III - The plan
Post by: timofonic on Thu 07/06/2012 01:55:42
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?
Title: Re: The future of AGS III - The plan
Post by: BigMc on Thu 07/06/2012 02:26:52
Let's not get distracted by details yet. First we need at least to know what sonneveld and JJS think about having a main repository.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Thu 07/06/2012 07:32:14
Quote from: timofonic on Thu 07/06/2012 01:55:42
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 dont' understand why are you keep saying this. JJS uses Git already (https://gitorious.org/~jjs/ags/ags-for-psp). Sonneveld too, although different service (https://github.com/sonneveld/ags).

Personally, I dont' have any experience using online services for keeping Git repositories, so I have no idea which is better and why.
Title: Re: The future of AGS III - The plan
Post by: monkey0506 on Thu 07/06/2012 13:39:09
Quote from: Crimson Wizard on Thu 07/06/2012 07:32:14
Quote from: timofonic on Thu 07/06/2012 01:55:42Git

I dont' understand why are you keep saying this.

Coz the ScummVM team uses Git. He has stated multiple times that unless AGS uses the exact development model of ScummVM that it will fail and die, which is of course nothing more than cross-eyed camel spit.
Title: Re: The future of AGS III - The plan
Post by: JJS on Thu 07/06/2012 20:14:58
I am of course fine with people basing the official repo on my repository. I think merging the changes from the 3.2.2 branch in the SVN would be no big deal since they are solely to the editor side afaik.

A problem I would see with people implementing new features and myself working on the same repository is that retaining backward compatibility will be a big hindrance. But I don't want to give it up because it is the biggest selling point of my fork besides the multiplatform aspect. Either everything that changes the runtime behaviour has to be wrapped in if(loaded_game_file_version > xx) calls or we have to make a clean cut. Such a cut was obviously already present in the 3.2.1 engine since it didn't support the old audio system anymore and I had to hack it in again :)

If people prefer Github over gitorious I see no problem in switching. Gitorious is a bit lacking in some departments, especially the web interface to the repository is hardly usable. E.g. you cannot view diffs for large files, this includes any changes to ac.cpp for example.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Fri 08/06/2012 11:29:20
Anyway, I have started my own refactoring branch, forked from recent JSS's:
https://gitorious.org/~ikmspb/ags/ikmspbs-ags-refactoring

There are couple of txt files in the Documents folder (inside repository) where I tried to make a general explanation of my plans.

As I said earlier, I am open for any proposals for merge/collaborate etc. I chose "gitorious" for one reason: it was simpler for me to arrange things while cloning from JJS.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Sun 10/06/2012 21:58:55
Quote from: monkey_05_06 on Thu 07/06/2012 13:39:09
Coz the ScummVM team uses Git. He has stated multiple times that unless AGS uses the exact development model of ScummVM that it will fail and die...

Well, anyway, JJS moved his repository to github, and added changes to Editor from dev/3.2.2 branch (something I did not know about...), so I guess it is all coming to github :P
https://github.com/adventuregamestudio


(I followed: https://github.com/ivan-mogilko/ags-refactoring)
Title: Re: The future of AGS III - The plan
Post by: timofonic on Mon 11/06/2012 13:28:54
Quote from: Crimson Wizard on Sun 10/06/2012 21:58:55
Quote from: monkey_05_06 on Thu 07/06/2012 13:39:09
Coz the ScummVM team uses Git. He has stated multiple times that unless AGS uses the exact development model of ScummVM that it will fail and die...

Well, anyway, JJS moved his repository to github, and added changes to Editor from dev/3.2.2 branch (something I did not know about...), so I guess it is all coming to github :P
https://github.com/adventuregamestudio


(I followed: https://github.com/ivan-mogilko/ags-refactoring)

Nice. It seems there's some merging of your work into JJS repo too :)

I see both repositories lack a proper README file and maybe the history needs to be cleaned (I see your name, but not linked to your GitHub username). But after all, this seems a very good effort!

What about the other forks?

@monkey_05_06

Thanks for your appreciative comments to me :)

I think a distributed Open Source development model is more successful in a project of this nature, for different reasons. Git is one of the best options for it and GitHub is one of the best services these days for many reasons. You can do forks, pull requests, commenting parts of code for further reviewing of the involved developer(s) and a lot more.

I recommend you to read the book Producing Open Source Software (http://producingoss.com) (it's free to download) and this page about Git (http://git-scm.com/about) for further information :)
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Tue 12/06/2012 18:11:42
Quote from: timofonic on Mon 11/06/2012 13:28:54
Nice. It seems there's some merging of your work into JJS repo too :)
These are few fixes made before I started refactoring.
Quote from: timofonic on Mon 11/06/2012 13:28:54
What about the other forks?
If you mean my other branches, they are for internal use atm... I can't propose that for a merge right now while I am in the middle of the module splitting process. I want to reach a certain checkpoint when it will be clear that my work actually achieved something.
Then, there's still a need to check that all the platform ports are compiling, since there was a lot of structure changes.

Quote from: timofonic on Mon 11/06/2012 13:28:54
and maybe the history needs to be cleaned (I see your name, but not linked to your GitHub username).
I used to push changes from two computers when I used 'gitorious', and I had not have a chance to register second ssh key at my github account. I guess that could be the reason.

EDIT: nah, that was user email in the GIT settings.
Title: Re: The future of AGS III - The plan
Post by: sonneveld on Thu 14/06/2012 09:13:33
It all looks good.  I won't be able to contribute in the short term as I'm a bit busy with other things at the moment.  You're welcome to use/borrow/ignore my code if you like!  I do think that eventually there needs to be a product manager/benevolent dictator to make some decisions about the direction of AGS.  Possibly someone like CJ but with more time I suppose!
Title: Re: The future of AGS III - The plan
Post by: timofonic on Tue 19/06/2012 14:29:55
@Crimson Wizard

It seems you are doing a GREAT refactoring work, would you like to set up a development blog? So your effort would gain more visibility in the community.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Tue 19/06/2012 15:24:27
Quote from: timofonic on Tue 19/06/2012 14:29:55
It seems you are doing a GREAT refactoring work, would you like to set up a development blog? So your effort would gain more visibility in the community.
Erm. My results there are quite raw at the moment. I did some mistakes and it ended up in a messy code structure. Right now I am checking Sonneveld's implementation to use his ideas and clear things up a bit.
But, yes, I finally splitted that ~30k line ac.cpp :D (and all other big files there).

I feel reluctant about any kind of "development blog" right now. My work won't affect 99% of AGS users, in other words those who do not work on code themselves.
My branch has yet to be tested under other platforms; and there are some fixes that need to be done prior to that (I mainly focused Windows). Tobias Hansen (aka Tobihan) is fixing Linux compilation right now.
I actually hope I will be able to give my work to JJS and thus make my code useful to community.
Title: Re: The future of AGS III - The plan
Post by: monkey0506 on Tue 19/06/2012 16:17:36
timofonic : Coding Project Management :: iceyfresh : RPG Development

It's funny, the GCC uses SVN. Amazing how quickly that project died from not being run by some ScummVM fanboy that knows nothing about programming or project management.
Title: Re: The future of AGS III - The plan
Post by: Snarky on Tue 19/06/2012 16:41:04
Let's keep this thread productive and on topic.
Title: Re: The future of AGS III - The plan
Post by: timofonic on Wed 20/06/2012 03:44:09
Quote from: monkey_05_06 on Tue 19/06/2012 16:17:36
timofonic : Coding Project Management :: iceyfresh : RPG Development

It's funny, the GCC uses SVN. Amazing how quickly that project died from not being run by some ScummVM fanboy that knows nothing about programming or project management.

You are funny, you should be the AGS project leader :)

By the way, there's an unknown project called Linux. It was the main reason of making Git, named after the creator of the project himself (that he likes to say "fsck you!" these days too). There's tons of other of bad examples of unknown projects here (https://git.wiki.kernel.org/index.php/GitProjects).

JJS, Tobihan and Ivan are doing the most interesting work. Most of that work isn't in the official repository. Now JJS's fork becomes an inofficial repository of AGS in GitHub (https://github.com/adventuregamestudio/ags) but it seems the SVN repository still coexists.

Can anyone explain about this? :)
Title: Re: The future of AGS III - The plan
Post by: monkey0506 on Wed 20/06/2012 04:25:43
Sure, I'd love to explain that.

The source code for AGS has been released under the Artistic License v2.0 because Chris Jones is intelligent enough to understand the underlying implications of using the GNU Public License and the Lesser GNU Public License, and understands that they do not fit his personal requirements for the program which he himself was practically the sole contributing author of (giving note to those who did the Mac and Linux ports) for more than a decade.

Because the source code has been released under the Artistic License v2.0 and not the GNU Public License, Chris Jones is able to retain more control over what changes are persisted into the official trunk of the AGS source code. All other forks (etc.) are explicitly required to be labeled as derivative works.

Chris Jones himself is not highly active around the forums, but he has given rights to a select few (myself included mind you) who are able to use things like discretion to determine when the time would be appropriate to merge code into the official development branch. JJS' code has undergone a fair amount of peer review (at least in terms of the compiled engine), but as he is developing it as a separate fork, it wouldn't make much sense to just commit every change he makes into the development branch.

The refactoring efforts are also a point of concern, primarily as they are extremely likely to cause a break in backwards compatibility. This is a major issue for those who understand AGS. The common regard is that a more stable 3.2.2 should be developed prior to integrating refactoring efforts, and the latter can be implemented in a later version (discussed as a potential AGS 4.0). This would allow the refactoring to break a few things here or there without having to worry about disenfranchising the 3.2.* branch of the program.

Believe it or not, there has been quite a lot of consideration given to these points and they are not simply being ignored. The SVN is, and will for the foreseeable future remain, the official repository used by AGS.

Second runner up by popular vote isn't bad...Besides, I hardly suspect you know enough about AGS culture to have even gotten the reference.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Wed 20/06/2012 07:33:10
Come on, people....
Quote from: timofonic
By the way, there's an unknown project called Linux. It was the main reason of making Git, named after the creator of the project himself (that he likes to say "fsck you!" these days too). There's tons of other of bad examples of unknown projects here.
What monkey's point was (at least that's how I understand this), - the choice of the source control system won't automatically make project successful or unsuccessful, nor make a difference between life and death. Personally I would not care a little bit if I had to work with SVN (I did for several years before... and nothing bad happened).

Quote from: timofonic
JJS, Tobihan and Ivan are doing the most interesting work. Most of that work isn't in the official repository. Now JJS's fork becomes an inofficial repository of AGS in GitHub but it seems the SVN repository still coexists.
Seriously, so what? It is always nice to have a separate branch or repository with stable version. It is in other rep, under different source control system? I see no problem in that too.

Quote from: monkey_05_06
The refactoring efforts are also a point of concern, primarily as they are extremely likely to cause a break in backwards compatibility. This is a major issue for those who understand AGS. The common regard is that a more stable 3.2.2 should be developed prior to integrating refactoring efforts, and the latter can be implemented in a later version (discussed as a potential AGS 4.0). This would allow the refactoring to break a few things here or there without having to worry about disenfranchising the 3.2.* branch of the program.
Hmm, that was in my primary concern to not break anything whether it is compatibility or anything :).
I seriously believe that 3.2.* branch should be made cleaner by refactoring - this would allow it to remain up-to-date even further and with lesser effort. Or maybe it should be some AGS 3.3.
Title: Re: The future of AGS III - The plan
Post by: JJS on Wed 20/06/2012 08:03:09
Is there a planned release date for 3.2.2? Or is there some sort of "to do" list for it so that other people could help getting it finished?

Quote from: monkey_05_06 on Wed 20/06/2012 04:25:43JJS' code has undergone a fair amount of peer review (at least in terms of the compiled engine), but as he is developing it as a separate fork, it wouldn't make much sense to just commit every change he makes into the development branch.
Fact is that nothing from my fork has made it into the official repo and nobody with access to it has ever contacted me about merging code. Just wanted to clarify on this.
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Fri 29/06/2012 21:38:50
I have a question: was there anywhere a discussion or any attempt to make a list of core features AGS engine needs? I do not mean suggestions like new script function or different editor look, but more general ones?
This is too early for actual implementation, but it would be probably nice to begin composing such list for future reference. I believe that is actually important, since adding random features without having principal direction in mind would eventually clutter both engine and editor.

I would list some here to show an example of what I am talking about.

1. I'll start with something ProgZmax mentioned in other thread:
Quote
Reformatting game saves so that they continue functioning after game re-compiles, patches, and work regardless of resolution.
In fact that isn't only about savegames. Literally everything in AGS is being serialized in such a way that it would be impossible to change a data structure (like add new variable) without breaking compatibility with the game made in previous version, let alone saved game.
Thus, I believe, primary concern should be to change the way ASG writes and reads data (game data and in-game saves) and make each data struct (or at least each main data struct) to detect what is the version and/or format of data it is loading and store it appropriately, with corresponding conversion if needed.

2. Removing static limits.
AGS uses static-size arrays for many things, and there's practically no more real sense in that. I don't mean these limits aren't enough, I mean there's no need in them since we may use dynamic arrays (classes), so that no one would ever bump into such limit.

3. Class system.
This is not only about rewriting existing sets of global functions and variables into classes (Character, Room, Hotspot, etc). There could be things that are better managed by classes to provide extensibility.
Think of Speech Style class, for instance, or Room Transition class, with possibility to add corresponding items to game project tree in the editor and customize them as you wish.

4. Engine plugin interface.
Apparently plugin system is made a bit awkwardly; there is a bunch of data structs, that mimic internal engine data structs, accompanied by commentary telling not to change anything in them (otherwise game will crash). Basically when a plugin uses IAGSEngine interface to get game data, plugin system plainly reinterprets internal data address as a pointer to corresponding plugin struct. I understand CJ had certain considerations when he was writing it this way, but if we are to improve the engine, this system should be probably enhanced as well.


Please, tell your thoughts.

PS. And can anyone please explain me at last, are there any development coordinators in charge here? Speaking of plans while there's no one to approve them is like standing at the town square yelling and hoping someone will listen  :undecided:
Title: Re: The future of AGS III - The plan
Post by: BigMc on Fri 29/06/2012 23:25:24
Quote from: Crimson Wizard on Fri 29/06/2012 21:38:50
And can anyone please explain me at last, are there any development coordinators in charge here? Speaking of plans while there's no one to approve them is like standing at the town square yelling and hoping someone will listen  :undecided:

You are the coordinator of engine refactoring (and if you want also of new features). :) Until a majority of commenting people tells you otherwise.

You could start a list in the AGS Wiki or the github Wiki.
Title: Re: The future of AGS III - The plan
Post by: AGA on Sat 30/06/2012 12:38:28
Use the Project pages!  There are both 'Issues' (bugs) and Features listing options.  I'll set up a sub project for the refactoring, giving CW rights, if you like?
Title: Re: The future of AGS III - The plan
Post by: Crimson Wizard on Sat 30/06/2012 13:47:18
Quote from: AGA on Sat 30/06/2012 12:38:28
Use the Project pages!  There are both 'Issues' (bugs) and Features listing options.  I'll set up a sub project for the refactoring, giving CW rights, if you like?

Thanks for the offer, but I must think about that first. Perhaps I should write more detailed list prior to posting anything there.

Quote from: BigMc on Fri 29/06/2012 23:25:24
Until a majority of commenting people tells you otherwise.
Umm, yeah. Problem with that is you never sure: did they silently agree with you, or simply did not read your post yet :D
Title: Re: The future of AGS III - The plan
Post by: BigMc on Sat 30/06/2012 20:31:43
Quote from: Crimson Wizard on Sat 30/06/2012 13:47:18
Quote from: BigMc on Fri 29/06/2012 23:25:24
Until a majority of commenting people tells you otherwise.
Umm, yeah. Problem with that is you never sure: did they silently agree with you, or simply did not read your post yet :D

If you had people helping you with refactoring, you could discuss with them. But since you are the only one working on this right now, you know best what needs to be done. Also, noone who doesn't help out himself feels entitled to tell you what to do. If you do stuff, you also have to make the decisions. Could be that people chime in and discuss things with you, but that mostly doesn't seem to be the case.