Future AGS development

Started by Pumaman, Sun 17/10/2010 19:17:16

Previous topic - Next topic

Dux

Open source certainly doesn´t have to mean bloatware. I prefer to think possibilities. I think alot of indie game companies would appreciate being able to hire a coder to do the changes they need and possibly give back to the community, for example.

I think the way to go would be like the Blender Foundation, where the original programmer (Ton Roosendal) has stepped back from coding duties but still controls in great part the path that the program takes. Obviously Chris would have that role. It has worked well for them, and it could work just as well for AGS. There are a lot of gifted programmers in this community who has real love for this engine, and I have faith that they could contribute a lot of good stuff with their hands more free..

my 2c.


Clarvalon

With regards to the AGS File Formats problem, the simple answer might be to never release this code - let someone else write a new game data file system and wire this into both the editor and the engine (assuming this opens up too).  Older games would continue to be protected from decompilation, and with an enforced separation of the executable and game data it makes future 'pure' AGS engine ports all the more likely.

It reflects well on CJ that he's inclined to open things up rather than abandon AGS or let it stagnate.  After ten plus years and thousands of hours of effort, that must be quite a difficult thing to do.
XAGE - Cross-Platform Adventure Game Engine (alpha)

straydogstrut

I don't have a lot of experience with AGS to date because of that life stuff so I don't feel qualified to comment, but I wholeheartedly want to see AGS continue and flourish (if only for all the projects I have on the backburner at the moment!)

Quote from: Calin Leafshade on Mon 18/10/2010 11:00:53
I think alot of people are assuming that 'open source' means that CJ is going to just punt it into the wilderness. It doesnt work like that.

CJ would still control the trunk but people could get hold of the source code and do one of two things:

a) make modifications and release their *own* game with that version of the engine.
In this case no one else knows or cares that the engine has been modified in some way.

or b) make modifications to the engine and *submit* the patch to CJ or whoever who then decides if it gets added to the main trunk.

The latter of these two scenarios simply means that the addition of this feature has been done by someone else and not CJ.
the programming conventions of AGS still need to be followed and if the patch doesnt conform to those conventions to his satisfaction then CJ simply doesnt accept the patch into the trunk.

If it actually works out like that rather than splintering off then i'm all for it, so long as CJ is happy with that approach. But, while I do like the collaboration and flexibility promised by OS projects - and i'm sure AGS would thrive with the coders in this community - I do also like the stability, consistency and trust worked into a piece of software with a dedicated author(s).

Whatever form it takes going forward, CJ and AGS have my full support, and I will try to contribute in what little way I can.

MrColossal

One teeny tiny point. I can tear open AAA multi-million dollar games and access their player models, sound effects, textures and everything. Trying to continue to protect the art and scripting that people made for their AGS games might not be something that needs to be a priority anymore? [or in the past?]
"This must be a good time to live in, since Eric bothers to stay here at all"-CJ also: ACHTUNG FRANZ!

Shane 'ProgZmax' Stevens

Well, this has always been your baby and I'm well aware of how difficult it is just to release the source on it, so instead of doing that why not something like this:

1.  Form a panel similar to the ratings panel, made up of 6-7 senior AGSers that you trust with appropriate programming experience and interest.

 a.  This panel will basically provide 'source control' and work together to select fixes and improvements in some kind of order of importance and utility.

 b.  Each member will implement a fix/improvement with the awareness of the rest of the group and their support and assistance (as needed).

 c.  One member will be elected the mediator of the group for issues with settling on fixes/improvements (we could also open some of that up to public polls down the line).

 d.  CJ retains a 'chairman' type final say on any major improvements or changes to be made.



This could certainly be a solid first step before going completely open source.   I know there are a lot of programmer vets on this site (myself included) who would be happy to apply a fix here or a feature there with oversight and assistance from the rest of the team.  This keeps you in the loop and a good chunk of control in your hands and AGS in the hands of people you have chosen while at the same time providing for a quicker turn around on improvements.  Obviously the risk of source leak is there, but with a smallish group it will be easier to find out who is responsible.


helios123

I take this as a cue for me to start expanding my teeny weeny knowledge of C#/Visual C++.  ;D

If the editor plugin API is made more flexible, then there would be no need for people to write their own editors.

Where open sourcing the engine code is concerned, I don't think it as absolutely necessary (the idea of releasing the source code to a small group of dedicated developers makes more sense in my opinion).

I feel first an approach similar to the one suggested for the editor should be tried for the engine, i.e. first we should see if enhancing the engine API can eliminate the need for open sourcing it. (I'm saying this because the existing plugin API for the engine is already quite flexible.)

And as far as AGS file formats are concerned, I feel it would be better to move them into a separate DLL (as suggested by monkey_05_06), and also provide a separate API at the engine level for registering/replacing file formats, like the way we currently have for script funtions (e.g. RegisterScriptFunction).

And finally, a big thank you for creating this excellent editor/engine and maintaining/improving it singlehandedly for over a decade.  :)

Whatever you decide, I know it will be for the best of AGS!!!

Spoiler

Give every man thine ear, but few thy voice:
Take each man's censure, but reserve thy judgment.
    --William Shakespeare in Hamlet
[close]
That's all for now,
helios123

GarageGothic

Personally I can't see the harm in open source at all, as everybody says the resource file issue is simply a matter of accessing the data through a closed-source .dll (or whatever the format is on non-Windows platforms). To be honest I'm not even sure patching onto CJ's source code would be the most productive approach - though it's perhaps unfair to make such a statement without actually seeing the inner workings.

It would be a total waste not to take this great opportunity to make platform agnostic by default, including the plugin API, so I'm not sure how much the original code could be salvaged or if it would be worth the effort to convert the C++ to, say, C# instead of rewriting from scratch. Clarvalon has done such a great job with XAGE so it may seem a moot point, but I'd hate to see some great AGS schism where we're again stuck in a situation of choice between system compatibility and expandability (as was the case with 2.72 and 3.0+ for a long time - just ask Tolworthy ;)).

Dux

Quote from: MrColossal on Mon 18/10/2010 20:26:17
One teeny tiny point. I can tear open AAA multi-million dollar games and access their player models, sound effects, textures and everything. Trying to continue to protect the art and scripting that people made for their AGS games might not be something that needs to be a priority anymore? [or in the past?]
Tell me, has this happened with any of the other open source game engines? Wintermute? Sludge? Just curious, seems so simple to do, they way you put it..

Baron

Quote from: ProgZmax on Mon 18/10/2010 20:32:45
Well, this has always been your baby and I'm well aware of how difficult it is just to release the source on it, so instead of doing that why not something like this:

1.  Form a panel similar to the ratings panel, made up of 6-7 senior AGSers that you trust with appropriate programming experience and interest.


     ProgZ had me at panel -I think there should be a proliferation of panels!  That way the community can take more ownership over itself.  If you think about it, most of the following ideas have been taken up by individuals at one point or another, but many have sputtered through lack of "succession" schemes.  The beauty of panels is that if an individual gets burnt-out there are other people around to carry on.  Some ideas:

          Ratings panel (existing)
          Source Code panel (proposed)
          Wiki panel
          Manual panel
          Demo game panel (existing/has existed, at least informally)
          Recruitment panel (anyone else noticing declining newbie numbers in the stats?)
          Training panel (creating web seminars/tutorials for best-practices, new features, gaps in documentation...)
          Pimping panel (to promote AGS and AGS games around the net)
          Mittens panel (facilitating organization)
          Worship panel (keep CJ's cult going strong)
          Newsletter panel
          Death panel
          Web Page panel
          AGS Awards panel (maybe organizing, maybe acting as an academy to judge....)
          Orphans panel (to find level-appropriate projects for interested members)
          Arch panel (a panel to oversee the other panels and bring them to heel if power goes to their heads)

      Yeah, some of the above are jokes, but seriously I've seen a lot of initiative in some of the above fields that simply can not be sustained by individuals alone over the long term.  Also, the more that we can defray CJ's workload the more he will be able to devote his limited spare time to what he does best -ensuring AGS is the awsmoest!
         
         
         

Wonkyth

Baron and ProgZ, you have it down!
Also, even though you say that some of those proposed panels are jokes, I could see them all being useful, especially since AGS has suck a strong, close-knit family-like community.
Even the ones like the Death panel would be great! For example: has anyone seen JimReed in a while? he used to be very active, and then he suddenly disappeared...
"But with a ninja on your face, you live longer!"

monkey0506

I think he's gone off to visit Ashen.. ::)

Dualnames

Quote from: wonkyth on Tue 19/10/2010 03:33:58
Baron and ProgZ, you have it down!
Also, even though you say that some of those proposed panels are jokes, I could see them all being useful, especially since AGS has suck a strong, close-knit family-like community.
Even the ones like the Death panel would be great! For example: has anyone seen JimReed in a while? he used to be very active, and then he suddenly disappeared...

Don't hit that on me Wonkyth. :(

Hilarious post Baron. Can we have a Dualnames panel too?
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

FSi++

Quote from: Dualnames on Tue 19/10/2010 04:06:56
Quote from: wonkyth on Tue 19/10/2010 03:33:58
Baron and ProgZ, you have it down!
Also, even though you say that some of those proposed panels are jokes, I could see them all being useful, especially since AGS has suck a strong, close-knit family-like community.
Even the ones like the Death panel would be great! For example: has anyone seen JimReed in a while? he used to be very active, and then he suddenly disappeared...

Don't hit that on me Wonkyth. :(

Hilarious post Baron. Can we have a Dualnames panel too?

No, but we'll need a Harg panel for sure.

Back on topic, YAY OPENSOURCE!!!

Iliya

#33
First, I want to say, that I like very much the newest version of AGS. Whatever happen, I'll have this version of AGS and together with the wonderful modules and plugins (especially tween module) I can do what I like.

But I understand the need of development. And I think that the best thing to do in the situation is "open source", but with supervising of CJ. I'm afraid of possible "chaos" in AGS editor.

This is my opinion. Sorry about my strange english.

Sslaxx

See what you think of what this guy is doing with his adventure development system, and the reasoning...

http://www.axeuk.com/blog/2010/10/18/quest-5-0-is-now-open-source/
Stuart "Sslaxx" Moore.

RickJ

Wow!  There is a lot to think about here....

I don't mean to disparage anyone but I think it's important to keep this discussion rooted in reality if anything is to be achieved.   Many of the above comments are a bit naive with regard to the magnitude and difficulties sure to be encountered via OS or in bringing assistants on board.    For example these few things come immediately to mind.  There are certainly other issues which would quickly surface.

- Coming up to speed on legacy code is tedious and boring 
- CJ's singular dedication to AGS is irreplaceable
- Open source doesn't automatically solve everything
- :

I would suggest that AGS be opened up in stages rather all at once.  This would make it easier to control and adjust the transition process (presumably by CJ. perhaps with input from the AGS community).

Perhaps a first step would be to open source the runtime.   As mentioned above this would potentiality lead to ports to other platforms.   The legacy resource file formats problem is either a non-problem or is easily resolved.  There are already three people intimately familiar with that codebase (CJ, EvilTypeGuy, and Electroshocker) who would be able to mentor new developers.   We would perhaps be able to attract the interest of the SCUMM project in making their engine capable of running AGS games?  And who doesn't want to see an Android port so AGS games can run on all the other "PAD" computers soon to be on the market?

I suspect the relationship of the current AGS editor to the runtime is less modular than desirable to support multiple target platforms.  So perhaps this could be the first non-CJ editor work to be
done?  There are perhaps other editor development tasks CJ would like done that others would be able to undertake.   This would allow some others to become familiar with the editor and CJ's design/coding practices.  Under his mentorship they would become familiar with the editor code and would acquire CJ's vision. 

This could the beginning of an open source editor that would avoid some of the pitfalls such as fragmentation, stagnation, etc..   


Joseph DiPerla

Wow. This is sad to hear. But Chris, thanks so much for all the work you have done so far. The truth is though that I dont think you will be able to let go of this baby. You may not work on it as much as you would like, or maybe ever again. But the thought of handing this over to someone else must be killer. But rest assured you are a pioneer and a pillar when it comes to the world of Adventure Games. You have contributed more so that anyone else has in this world. You are one of the few reasons that Adventure Games are still alive today. For that, I and the rest of the forum members thank you.

With that said, I would like to suggest what I would do in this situation that you are in...

*Not release the source code. Instead, get a small team of coders that have worked on porting AGS Runtime to other platforms and others who have written great plugins and have them be a part of the AGS team of coders. This keeps it sort of Open Source, but not available to the public, yet this ensures new releases and ports to other OS's as well. This team can add new features, optimize AGS and fix bugs that will inevitably show up while at the same time CJ allowing you to do the same via a CVS system. If all progress is well documented, AGS can go on for quite a long time. Just thinking off the top of my head for good candidates for this: Electroshokker, Steve Mcrea, dkh, scotch, Scorpiorius, Abstauber, SSH, Besh, RickJ, etc.. For just some people I can think of that can take up the mantle of AGS team if they are so willing.

*I would open source the Editor completely, but remove the compiler aspects of it from the source code. Instead, I would create a whole new compiler that works as a runtime executable so that it stays in tact without being comprimised by would be hackers and allow others to edit the Editor.

* I would do one last Hoorah before going in these directions and release one more proper build of AGS with some minor new features, if possible. If not possible to release new features, what I would do at this point is then make sure to release a complete API for the AGS Runtime that would allow any user to create anytype of plugin for AGS runtime, allowing it to be in a sense, worked on to time indefinite without opening the source code. If AGS can be ported to other OS's, the plugins can then be recompiled into other platforms to work on those versions of AGS as well. One thing I would do though is remove all limits (GUI, Rooms, Items, etc...) as if this is not removed, the users will never have a %100 true ability to modify AGS with plugins only.

So essentially, all this allows you and a team to continue to develop and bugfix AGS at leisure without open sourcing it. It allows fully powerful and capable plugins to continue to add features and capabilities to the AGS engine. The editor would be open sourced without comprimising the compiler and everyone wins here. Just my two blue cups.
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

RickJ

Joseph there are a number of cross platform plugin systems, QT being the one that comes instantly to mind.  QT also has nice graphics, multimedia, network, web support, etc that could freely (as in beer) be taken advantages of if the runtime were to become open source.  I am certain there are other possibilities equally attractive possibilities.   

If the goal were to get AGS runtime ported to multiple platforms then open source would be the way to go about it, IMHO.

The compiler is irrelevant to the preservation of legacy resource files which seems to be your concern.   As previous posters suggest a new compiler output could be created that would be open source.   The legacy format could be supported by a closed source binary in the form of a DLL, static linked library, ect.   

Rocco

 :o OMG, Very said to hear that, so the 15 Walking areas limitation will be last for Eternity.  :'(

I second ProgZmax approach, i guess its a lot of work in the beginning for CJ,
but when the Panel is well attuned, this would be the best solution for all IMHO.

Sslaxx

Quote from: Rocco on Wed 20/10/2010 12:25:01
:o OMG, Very said to hear that, so the 15 Walking areas limitation will be last for Eternity.  :'(

I second ProgZmax approach, i guess its a lot of work in the beginning for CJ,
but when the Panel is well attuned, this would be the best solution for all IMHO.
The thing isn't dead yet, far from it. This thread is about the future of AGS.
Stuart "Sslaxx" Moore.

SMF spam blocked by CleanTalk