Getting to 1.0: Branching

Discussion among members of the development team.

Moderator: Forum Moderators

Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Getting to 1.0: Branching

Post by Dave »

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
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
MadMax
Posts: 1792
Joined: June 6th, 2004, 3:29 pm
Location: Weldyn, Wesnoth

Post by MadMax »

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
"ILLEGITIMIS NON CARBORUNDUM"

Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
AT
Posts: 476
Joined: May 6th, 2004, 9:44 pm

simplistic

Post by AT »

Simplistically, I think branching mostly creates too much extra confussion.
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."
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

Branching is confusing. But the question remains: can we get to 1.0 without branching?

David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
MadMax
Posts: 1792
Joined: June 6th, 2004, 3:29 pm
Location: Weldyn, Wesnoth

Post by MadMax »

Dave wrote:Branching is confusing. But the question remains: can we get to 1.0 without branching?
I believe so, as long as you exercise strict discipline among contributors to stop unnecessary features from being added.

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
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

MadMax wrote:
Dave wrote:Branching is confusing. But the question remains: can we get to 1.0 without branching?
I believe so, as long as you exercise strict discipline
That's not going to happen. People develop Wesnoth for fun, and 'strict discipline' is not usually fun.

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
MadMax
Posts: 1792
Joined: June 6th, 2004, 3:29 pm
Location: Weldyn, Wesnoth

Post by MadMax »

Dave wrote:On this note, can anyone point to a serious FLOSS project which doesn't use some kind of branching?
Rival #1: Freeciv.
"ILLEGITIMIS NON CARBORUNDUM"

Father of Flight to Freedom
http://www.wesnoth.org/wiki/FlightToFreedom
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

MadMax wrote:
Dave wrote:On this note, can anyone point to a serious FLOSS project which doesn't use some kind of branching?
Rival #1: Freeciv.
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
Blackbeard
Posts: 87
Joined: January 23rd, 2004, 9:30 pm

Post by Blackbeard »

David wrote:Thoughts on this idea? Is it the right way to go?
Yes, definitely. I trust your instincts and the reasons you give are serious enough to make a pre 1.0 branch. List 3 features you'd add right now and ask others to do the same :wink:
Dacyn
Posts: 1855
Joined: May 1st, 2004, 9:34 am
Location: Texas

Post by Dacyn »

MadMax wrote:campaigns for each race
Campaigns are not classified by race.
MadMax wrote:• all bugs fixed
• all balancing done
That's unrealistic.
freim
Retired Terrain Art Director
Posts: 1113
Joined: November 29th, 2003, 11:40 pm
Location: Norway

Post by freim »

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.
Boucman
Inactive Developer
Posts: 2119
Joined: March 31st, 2004, 1:04 pm

Post by Boucman »

I think that's basically a good idea,my only concern is about spliting the players between versions...


once we open the 1.1 branch, will htere be enough players on 1.0 to iron out the bugs ?
Fight key loggers: write some perl using vim
miyo
Posts: 2201
Joined: August 19th, 2003, 4:28 pm
Location: Finland

Post by miyo »

Dave wrote:We have been trying to exercise this 'strict discipline' for months now, and just can't do it.
Could you define "we" - as for example I have been against freezing. So I would claim that we have not been trying to exercise this 'strict discipline'

- Miyo
miyo
Posts: 2201
Joined: August 19th, 2003, 4:28 pm
Location: Finland

Post by miyo »

MadMax wrote:• campaigns for each race complete (HTTT for Elves, SOTBE for Orcs, EI and TROW for Humans, TDH for undead, need drake and knalgan)
No
MadMax wrote:• all bugs fixed
No
MadMax wrote:• all balancing done
No

- Miyo
User avatar
Jetrel
Posts: 7242
Joined: February 23rd, 2004, 3:36 am
Location: Midwest US

Post by Jetrel »

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.
Post Reply