The future of the AGS engine: STALEMATE!

Started by monkey0506, Sat 23/07/2011 11:10:40

Previous topic - Next topic

Sslaxx

Quote from: Calin Leafshade on Sun 15/01/2012 14:52:07
My plan was to run a harmonious system whereby I just chaired the opinions of the programmers, testers and community, hopefully coming to a consensus on a course of action rather than saying what I personally think AGS should do. I wanted to act as I have [tried to] in this thread as a hub just to direct conversation and ensure action is taken. But it seems that the project manager should be more of a figurehead and an an absolute authority which doesn't interest me since I don't have the time nor the force of will to take that kind of responsibility on my shoulders. I am, after all, still a newbie in comparison to some of you guys.

So no, I'm not interested in leading the project.
Just because someone needs to take the lead doesn't mean they should ignore other peoples' opinions either, even if it is ultimately their decisions as to what to do.  If we were to have a single person in charge, I'd hope that they'd take into account all sides, and take it on to inform their choices.

Quote from: Ascovel on Sun 15/01/2012 15:00:42
I'm wondering if it's not too much pressure and responsibility to put just on one person. I'm worrying that the elected lead might get tired of his position pretty quick.

As there are 3 strong candidates, couldn't they agree to establish some kind of triumvirate that will divide the tasks at hand depending on skill and free time they have?
That'd really be up to them. And if the community at large would support the idea (which I hope they would), and whether or not they could work together.

If the AGS would work best with just one person in charge, great. If more than one, great. My interest is in seeing it grow. I'd rather we didn't bicker about that, at least.
Stuart "Sslaxx" Moore.

m0ds


Snarky

I agree that we shouldn't rush to a decision before people who aren't living their lives on the forum this weekend have had a chance to pitch in, but I think six weeks is too long for the discussion to go on for. I guess I think we should try to work something out by next weekend?

I'm uncomfortable with "the only person who's suitable for this position is..."-type arguments (or "this person is not qualified to be project lead because..."), because it suggests that if the decision goes another way, you won't support whoever gets the job. I think many people could become successful project leads (including all the people who have been mentioned), and I think that there's no person who's a sure thing, who is guaranteed to work out.

There's absolutely no doubt that monkey, Dave, Calin, AGD2, Wyz, Gilbot and others have all contributed to AGS and the community in really valuable ways, and the worst possible outcome would be if the choice of project lead turns acrimonious and means we won't have the benefit of all of their contributions in the future. Or if the supporters of other candidates don't give their whole-hearted support to the winner, so that he has no chance of succeeding.

I was hoping we could come to agreement through discussion and without having to take a vote, but it's clearly tricky to do without people getting worked up and feelings getting hurt.

So my vote right now is to cool it down, settle on a list of candidates (who should each outline what they have in mind for the job), for us to shut up and hear from other forum members, and see where we stand in a few days.

PS: monkey, I didn't mean "cranking out modules" in a disparaging way, just to point out that it's different from project management. The reason I think you're a good candidate for the job is not the coding itself, or even the support you've offered in the technical forums, but that it demonstrates your commitment to AGS and to the community. And Calin, I think whoever ends up as PM would ultimately define what the role would be, so I don't think you need to withdraw just because some others conceive of it differently.


Sslaxx

Quote from: Wyz on Sun 15/01/2012 15:06:12
Ok, fine, let's make thing concrete. There are two functions to fill in:

Community leader
You will be the new face of AGS. You need to be a common figure in the realm of AGS for this, but you don't need to have any technical knowledge, nor do you need to know how to program. You do need to be fair to everyone, reliable and generally a likeable guy. You will partake into making the wishes of the community concrete. You will delegate this wishes possibly to the technical lead (see below). You will be the go-to guy. Be there to talk to the press, but also resolve issues in the community. You'll need to be around on the forums, make announcements, have a motivational speech at the AGS awards, and generally more events. You can not have a hidden agenda, or "do your own thing" obviously. This position is all about the community.

Technical lead
You will be the vector in AGS development. You need to have a affinity for computers and know how they work in a broad scheme. You'll need to know how to program but more important, know how to keep code bases tidy. You need to know about all the platforms out there and not be restricted to just the one. You need to be able to recognise a good design and a bad one even before it is in production. Also you will be in charge of keeping all code consistent, deciding what is best to be left to plugins or what should be put in the engine itself. Also mind naming and coding conventions. The direction the project should go you will hear from the community and more likely from the community leader. This position is about maintaining an active code base.

Lets all do two things:
1. Are you available for this position: Yes/No, to what extend
2. Are there any persons you like to nominate

This is by no means a vote, it is simply making an inventory.

Community leader
1. Are you available for this position: Yes, though I really, really doubt I have the (especially people) skills for this one. So only as the "extreme last resort". If, by a universe-destroying level of improbability I did get this, it would be only for exactly long enough to find someone - anyone - who could do a better job.
2. Are there any persons you like to nominate: Well, anyone would be better than I really, but especially Calin Leafshade, Wyz, Monkey_05_06, Dave and Janet Gilbert.

Technical lead
1. Are you available for this position: Yes, I'd be up for this one. I admit my knowledge on Mac OS X is minimal, and not helped by not owning a Mac, but I'd certainly be keen to pick this one up. My primary coding interests lie within Linux, but Win32/Win64 wouldn't be impossible either. Done some tinkering with Allegro (3.x, 4.x) and SDL, certainly keen to take those forward.
2. Are there any persons you like to nominate: Monkey_05_06, GarageGothic, AJA, tzachs, JJS.

And Chicky? Oh, you.
Stuart "Sslaxx" Moore.

Chicky


Sslaxx

Quote from: Chicky on Sun 15/01/2012 15:29:26
Quote from: Sslaxx on Sun 15/01/2012 15:22:46
And Chicky? Oh, you.

Really Sslaxx? Was that supposed to be an insult?
Er, no? Sorry if it come across as such, was just meant to be humorous, but with how heated this thread has become...
Stuart "Sslaxx" Moore.

Calin Leafshade

Quote from: Chicky on Sun 15/01/2012 15:29:26
Really Sslaxx? Was that supposed to be an insult?

Oh Chicky, stop being a knob. Or I will fight you :D with pies!

Edit: damnit Wyz stop moving shit around.

Chicky

Hah, the amount of snarky comments that get passed around these forums and i'm the knob!

Whatever, this is obviously not the topic for Chicky's poor attempts at comic relief.

Ponch

As a man who's used variations on the same cow for eight years, I appreciate a man who sticks by his avatar through thick and thin. You're a good man, Chicky.  8)

SSH

Wow, you guys are really doing a good job of discussing things here. I'm a little sad, as this is exactly the thing I would have been up for a few years ago. And now I have management experience in a real software company I would have been qualified, too, but as I need to move country once again and need to organize that over the next few months and then settle in to my new job and a new country, I doubt that I'll have more time than the rare moments I have now to look at AGS.

However, here's my input:

If you want to make high quality games, you have to design testability in from the beginning to the game and to the engine/IDE. Dave G can probably give a wishlist of things that would make testing easier. Even more so there are probably web resources giving advice on this for games (my professional experience if more geared to other areas)
12

monkey0506

On the terming of "Community leader", etc.

There's been some discussion as to whether we need someone to fill this role. The name of the role itself might not be the best, but it's one that's been getting tossed around and used. The very much valid point was raised that the community itself is not falling apart and failing due to CJ's absence. Certainly it's great when he's here, but we are capable of thriving even when he doesn't have the time to visit!

So I just wanted to describe what exactly we do need:

- Someone to take control of the project, not the community (this role was at one time called "Project Manager" which does seem a better fit, and I will use moving forward).

Since AGS has been open-sourced, no one has taken a serious lead in pushing AGS forward. Perhaps no one wanted to step on any toes, or maybe they just didn't have the time. But no one has stepped up to the plate, one way or another.

- This position is not a strictly technical one!

The ability to clean up the codebase does not imply the understanding or vision of where the AGS program has come from, where it's at now, and where it can go moving forward. They're not strictly exclusive, but don't think of them as being the same either. The role of Project Manager should be about prioritizing what features the engine needs, what bugs need to be addressed now vs the ones that can reasonably wait for the next version, essentially understanding the consumer impact.

- We need someone who understands how AGS has been, and is being used.

Making decisions like, "We need an iOS port," is something that can and should be done as the community warrants it. We are moving into a very mobile world, and the portability of the engine could very easily make or break its viability. You don't need to be able to program the port to realize that. These type of decisions which may be "hard" from a technical standpoint are the decisions that need to be made, again, based on consumer impact more so than just whether it's going to be fun or easy or quick to implement into the source code.

- The Project Manager should be able to coordinate between the two!

As I said, this shouldn't be considered a "techies only" position, but the PM should have enough of a technical background to be able to understand if the Technical Leader is trying to convey technical implications of this or that. They should be able to take that into account and consideration in making decisions, and effectively convey that information to the consumer so that they are not just left wanting. Sometimes the answer to the consumer side may simply be, "This is not a feature that we currently are able to support," but the point is that we need someone to be able to communicate it. The Technical Lead may not always be the best person for that particular role.

The idea that "we just need someone to coordinate the programming efforts, thats all" is very lacking in understanding what we need. The Project Manager is a necessary role. Look how far AGS has moved forward since it was open-sourced without one. This should not just be seen as some "go between" position, but someone who is able of making the decisions that need to be made to help AGS, as a program, move forward. They should take the needs of the community and the technical capability at hand into account, and be able to define what route will be taken.

Anyway, that's my thoughts on the role. ;)

Oh, and regarding "term of office", I don't see that it's necessary. The Project Manager shouldn't be viewed as some key holder, who if he disappears from the face of the earth would leave us locked out and helpless. There should not be anything that has exclusive access to the PM (except perhaps his personal forum account ;)). If the community decides that someone else would be able to take the program in a better direction, the PM should be able to be replaced at any time, based on the needs of the community. Unless the selected PM was just not fulfilling the role, or was attempting to direct the program "astray" after some fashion, there should be no reason for the PM to have to be "regularly" replaced/reelected, and anyone who does take the role should be forced to sign a metaphorical waiver that states that they are willing to step down at any time that the community comes to a reasonable level of agreement (I'd say more than 5-10 members suggesting it without overwhelming opposition to their case).

Baron

Quote from: Ascovel on Sun 15/01/2012 15:00:42
As there are 3 strong candidates, couldn't they agree to establish some kind of triumvirate that will divide the tasks at hand depending on skill and free time they have?

I vote triumvirate as well.  They can work it out amongst themselves who is the "lead" lead, but in my estimation I think it's a very good idea to have continuity in case some member of the leadership decides they don't want to do it anymore.

Dualnames

Regardless of the decision to be taken, I'd like to apologize a bit for high-jacking the topic for stupid reasons, and adding more to the heat. It was all in the heat of the moment, and perhaps it shouldn't have been posted at all then. Right, I'll go back to a bit lurking there. I'm sure whatever comes ahead, it'd be a very nice decision.
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)

m0ds

Back to the engine discussion - what do folks feel would be more important from here on then, updates to AGS 3.x.x.x so that it can do x, y and z, or AGS 4, something new that incorporates all of 3, all the requested improvements, portability and true commercial game viability? Both are one and the same in effect but my point is which of these two directions would the technical lead, or team, really be considering? Bit odd question I suppose :P

Calin Leafshade

I used to think that a brand new AGS 4 would be a good idea but now i feel a more incremental approach would be best.

My priorities:

1 - Stabalise the code base, split up that monolithic file into modules, replace troublesome libraries with more open, portable ones (OpenGL for Dx, OpenAL for Dumb, etc)
2 - Once the code is in a better shape (or more likely *during* step 1) we can work to port the current engine to various platforms to test our rejigged code base for its ease of portability.
3- once steps 1 and 2 are completed or well under way we can thing about engine features, implementing them in a way that conforms with our coding standards set out in step 1.

Thats a very general overview and those steps can be split into multiple sub-steps but thats the general idea.


Wyz

Regardless the outcome of the discussions and what ever function I end up with in the development of AGS if any, I like to start working on a separate branch of AGS that will initially will break compatibility with the existing branch completely, but thus allowing to experiment with implementations a lot, and without restrictions. To avoid any anger towards such project I will name it Fake AGS or FAGS. The existence of FAGS might anger some people but I don't really care about it. I will use FAGS to try to add a lot of creativity and portability to the engine and initially it will depart with the original packaging since that will no longer be compatible. During development I have no idea where FAGS will bring me, I might not like it and abandon it, but it might bring along something useful that can contribute to the future. And better yet, I'm only half joking.  :=
Life is like an adventure without the pixel hunts.

Shane 'ProgZmax' Stevens

Calin, I don't see any problem with an AGS 4 if there's a valid reason for it; for example, CJ moved on to AGS 3 after making a lot of  varied but important improvements across the board to 2.72, enough that it made more sense to give it a new designation than to go to like 2.8 or something.  AGS 3.5/4 would be for a project manager who wanted to consolidate a lot of little fixes and improvements until the results were very significant, but I would say from personal experience that most people would rather see regular incremental releases to 'prove' that there's progress being made even if said features and fixes are unimportant to them.  

I wouldn't mind seeing a delayed release that encapsulates a lot of solid improvements to the engine, particularly engine performance and portability (such things tend to take awhile, anyway).  These are the two big drawbacks that I see hurting AGS right now, and to a slightly lesser extent wider resolution support and real-time windowed/fullscreen switching.

Calin Leafshade

Well you can still *call* it AGS 4. But I was really talking about the method in which it was achieved.

During development CJ stuck very rigidly to an idea of not breaking backwards compatibility. This allows people to upgrade more easily. I'm sure you are only too familiar with the fact that AGS games can be in development for *years*. Having no thoughts for backwards compatibility would be a mistake in my opinion (which is what i meant by "brand new AGS 4")

Shane 'ProgZmax' Stevens

So you're suggesting that with AGS 4 to break with compatibility altogether so the old legacy code can be removed and the new release retooled for more modern devices?  I think that's a fair idea, and one that would make development a bit easier for people without having to look over their shoulder at what they might be breaking in previous games.

My only suggestion there would be to 'maybe' release an interim version that's still backwards compatible but has some of the improvements current developers have been requesting for ages, features that will hint at what's to come in 4.0 that they'll be able to use with their existing games instead of rebuilding from scratch.  One could even host a poll with the top 10 or so fixes/features being specifically worked into 3.5 as a sort of farewell to the legacy-friendly AGS.

SMF spam blocked by CleanTalk