Getting to 1.0: Branching
Moderator: Forum Moderators
Getting to 1.0: Branching
Considering how long we've been talking about getting Wesnoth to 1.0, and considering how some of the core developers are losing a little of their enthusiasm for Wesnoth, I consider this to now be a critical hurdle for us to overcome. I think there is a pressing danger that features, with associated bugs, will continue to be added indefinitely, and we will never get ourselves any closer to the 1.0 release. Core developers may eventually stop contributing, and we will be left adrift from the point where we can rest for a time, and enjoy our labors, showing it off to the world.
There are new contributors arriving all the time, of course, but these contributors usually tend to want to add new things, not fix up existing things that need readying for 1.0.
The problem is, that to release 1.0, we have to stop adding features, and spend time testing. But, this has been very hard for us to do. Developers constantly want to add new features. Users want to suggest new features. Without the possibility of adding new features, developers become bored, and don't feel like contributing.
What to do about this problem? Firstly, I think we should accept a dose of realism: Wesnoth 1.0 will not be entirely bug-free. We will do our best to make it as high-quality as we can, but it isn't possible to develop software as complex as Wesnoth without bugs. Among other things, the libraries that Wesnoth uses have bugs in them, so there is absolutely no way we can expect it to be bug free. Also, the numerous platforms we support make it difficult for us to deliver zero defects.
However we must show commitment to 1.0: after its release, if serious bugs are found in it, we will fix them. That means we will branch. We will likely have a 1.0 branch, and a 1.1 (development) branch.
I think we should branch even earlier than this though. Developers want to continue adding features, so I think that soon we should make a stable branch, and a development branch. The stable branch will eventually become 1.0, and the development branch will become 1.1.
Bugs found in one branch will also be tested in the other, and if they exist, fixed in that branch too. Features will only be added in the development branch.
I believe that this approach will allow us to deliver a 1.0 to the world that we are happy with, and is highly stable.
Before we branch though, we must decide upon a final feature set for 1.0. Also, changes to content (campaigns, help system, etc) may continue to change in the stable version for a while after branching.
Thoughts on this idea? Is it the right way to go?
David
There are new contributors arriving all the time, of course, but these contributors usually tend to want to add new things, not fix up existing things that need readying for 1.0.
The problem is, that to release 1.0, we have to stop adding features, and spend time testing. But, this has been very hard for us to do. Developers constantly want to add new features. Users want to suggest new features. Without the possibility of adding new features, developers become bored, and don't feel like contributing.
What to do about this problem? Firstly, I think we should accept a dose of realism: Wesnoth 1.0 will not be entirely bug-free. We will do our best to make it as high-quality as we can, but it isn't possible to develop software as complex as Wesnoth without bugs. Among other things, the libraries that Wesnoth uses have bugs in them, so there is absolutely no way we can expect it to be bug free. Also, the numerous platforms we support make it difficult for us to deliver zero defects.
However we must show commitment to 1.0: after its release, if serious bugs are found in it, we will fix them. That means we will branch. We will likely have a 1.0 branch, and a 1.1 (development) branch.
I think we should branch even earlier than this though. Developers want to continue adding features, so I think that soon we should make a stable branch, and a development branch. The stable branch will eventually become 1.0, and the development branch will become 1.1.
Bugs found in one branch will also be tested in the other, and if they exist, fixed in that branch too. Features will only be added in the development branch.
I believe that this approach will allow us to deliver a 1.0 to the world that we are happy with, and is highly stable.
Before we branch though, we must decide upon a final feature set for 1.0. Also, changes to content (campaigns, help system, etc) may continue to change in the stable version for a while after branching.
Thoughts on this idea? Is it the right way to go?
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
I disagree. Branching creates far too much confusion if you ask me. And IIRC we already know what 1.0 needs:
• all attack/defense animations complete
• all story images complete
• campaigns for each race complete (HTTT for Elves, SOTBE for Orcs, EI and TROW for Humans, TDH for undead, need drake and knalgan)
• all bugs fixed
• all balancing done
• all attack/defense animations complete
• all story images complete
• campaigns for each race complete (HTTT for Elves, SOTBE for Orcs, EI and TROW for Humans, TDH for undead, need drake and knalgan)
• all bugs fixed
• all balancing done
"ILLEGITIMIS NON CARBORUNDUM"
Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
simplistic
Simplistically, I think branching mostly creates too much extra confussion.
While its not as simple as MadMax says..... it kinda is.
While its not as simple as MadMax says..... it kinda is.
Gandalf-"I am a servant of the Secret Fire, wielder of the Flame of Anor. You cannot pass. The dark fire will not avail you, flame of Udun. Go back to the Shadow. You cannot pass!"
AT- "That sounds like more trouble than it's worth."
AT- "That sounds like more trouble than it's worth."
I believe so, as long as you exercise strict discipline among contributors to stop unnecessary features from being added.Dave wrote:Branching is confusing. But the question remains: can we get to 1.0 without branching?
Also, the Ideas forum should be shut down.
As for adding units, I believe that no new level one units should be added to factions, but I do believe that advancements can be added for already existing units ie. Deathblade, Slurbow.
"ILLEGITIMIS NON CARBORUNDUM"
Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
That's not going to happen. People develop Wesnoth for fun, and 'strict discipline' is not usually fun.MadMax wrote:I believe so, as long as you exercise strict disciplineDave wrote:Branching is confusing. But the question remains: can we get to 1.0 without branching?
We have been trying to exercise this 'strict discipline' for months now, and just can't do it.
Hence the need for branching.
On this note, can anyone point to a serious FLOSS project which doesn't use some kind of branching?
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
Rival #1: Freeciv.Dave wrote:On this note, can anyone point to a serious FLOSS project which doesn't use some kind of branching?
"ILLEGITIMIS NON CARBORUNDUM"
Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
MadMax wrote:Rival #1: Freeciv.Dave wrote:On this note, can anyone point to a serious FLOSS project which doesn't use some kind of branching?
http://old.freeciv.org/contribute.html#SetupCVS wrote: Freeciv uses CVS branches. The default branch (head) is for development. There are also branches called SX_Y where X and Y are major and minor release numbers, ie S1_14 is for 1.14 release(s).
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
-
- Posts: 87
- Joined: January 23rd, 2004, 9:30 pm
-
- Retired Terrain Art Director
- Posts: 1113
- Joined: November 29th, 2003, 11:40 pm
- Location: Norway
I think branching is a good idea. It's mostly an internal thing anyway so I don't buy the confusion argument.
My thoughts on final feature set:
Gameplay and technical features of the game are more or less finished , so I'll let the people working on that comment it in detail and concentrate on gfx.
Q: What makes a good game outstanding? A: polish, polish, polish.
So that's where the energy should be spent towards 1.0 for the artists imo. The following is my wish list for gfx and content for Wesnoth 1.0:
- Complete all the gfx for all missing lvl on excisting units. Both missing lvl so that all factions will have a complete 1, 2 and 3 lvl (, 4lvl) for thoose intended to have them.
- Complete all unit animations
- All campaigns included should be finished, better to have a shorter one with a proper ending than a longer one without an ending. Finished should mean included testing and balancing.
- Fix all major gfx glitches in the terrain rendering
- Add the "missing" transitions, to replace those that we still don't think look good enough and those that aren't finished (like the dirt)
- Fix other unfinished or depricated gfx like the pier.
- Finished stuff like perspective overlap with fx forest over village in front.
- Clean up some of the UI. I find some of the screens a bit cluttered and unorganized, fx the multiplayer create game screen.
Nice to have stuff:
- Unify the look of the "shoreline" on the different trans to make them look better together and allow for easier animating them.
- New villages and the city tiles
The main problem for me is that most of this regarding the terrain depends on myself, and I'm quite busy at the moment . However, all terrain related issues with the possible exception of the nice to have stuff should be possible to get in.
Many will probably find most of this to be to be minor details not worth spending time on, but for me quality lie in the details.
My thoughts on final feature set:
Gameplay and technical features of the game are more or less finished , so I'll let the people working on that comment it in detail and concentrate on gfx.
Q: What makes a good game outstanding? A: polish, polish, polish.
So that's where the energy should be spent towards 1.0 for the artists imo. The following is my wish list for gfx and content for Wesnoth 1.0:
- Complete all the gfx for all missing lvl on excisting units. Both missing lvl so that all factions will have a complete 1, 2 and 3 lvl (, 4lvl) for thoose intended to have them.
- Complete all unit animations
- All campaigns included should be finished, better to have a shorter one with a proper ending than a longer one without an ending. Finished should mean included testing and balancing.
- Fix all major gfx glitches in the terrain rendering
- Add the "missing" transitions, to replace those that we still don't think look good enough and those that aren't finished (like the dirt)
- Fix other unfinished or depricated gfx like the pier.
- Finished stuff like perspective overlap with fx forest over village in front.
- Clean up some of the UI. I find some of the screens a bit cluttered and unorganized, fx the multiplayer create game screen.
Nice to have stuff:
- Unify the look of the "shoreline" on the different trans to make them look better together and allow for easier animating them.
- New villages and the city tiles
The main problem for me is that most of this regarding the terrain depends on myself, and I'm quite busy at the moment . However, all terrain related issues with the possible exception of the nice to have stuff should be possible to get in.
Many will probably find most of this to be to be minor details not worth spending time on, but for me quality lie in the details.
My personal goals over the next month, in order of priority:
1] Gweddry portrait, Owaec portrait
2] Finish Naga, start animations
3] Help finish a few odd units, such as l2 goblin spearman, l3 orc assassin, animations for the ogre (mostly done)
4] new swamp gfx - I have an idea for a base tile, though frame/eleazar would have to take it from there.
5] Finish schtinking storyline pictures.
1] Gweddry portrait, Owaec portrait
2] Finish Naga, start animations
3] Help finish a few odd units, such as l2 goblin spearman, l3 orc assassin, animations for the ogre (mostly done)
4] new swamp gfx - I have an idea for a base tile, though frame/eleazar would have to take it from there.
5] Finish schtinking storyline pictures.