Matthieu Fertré wrote:
>>>> Please, leave major.minor.patch numbering. Ubuntu's way is confusing,
>>>>       
> 
> Hum, currently we do not use major.minor.patch numbering. We use 
> 0.major.minor ...

I'd say, no, we do have something like:
major.middle.minor

The middle number makes sense (in the 0.x.y timelife):
8 is networking
9 is AI


And we never bumped the major version to 1.x.y  because we know the game 
is incomplete, since we are still working on networking and the AI is, 
well, AI-stupid!

Also, we never did any major code overhauls, like change the physics 
engine to use ODE, or made a rewrite of some big parts of the code, or 
reworked the graphics in such a way that the game feels *totally* 
different or new/distinct.

>>>> you get version numbers misleadingly bumped up, even if no major changes
>>>> happened (e.g. people could think that 9.01 is significantly better than
>>>> 8.12, though they may only differ by minor patches).
>>>>       
>>> Well, isn't the later what we'd like? We are not interested that much in
>>> bug reports about old versions, so any incentive to update frequently
>>> and test the latest is good IMO.

That also drives your users away. We *have* a lot of bugs and that is 
the feeling many users get, and those bugs are reported and open in the 
tracker (I know I haven't done much to fix that), but we have enough 
work now to keep us busy for an year, at least.

BTW, gentildemon is doing a GREAT job! Thanks!

>> Using Ubuntu's numbering, version numbers are actually just timestamps - the
>> same way we could package snapshots from svn and name them wormux-080302 etc
>> :) And given that the development effort is not going at the same pace as
>> time does, this can render version numbers meaningless.
>>   
> 
> And what is the problem with timestamp ? When you know the frequency of 

It brings little, if any, valuable information.
(See motivation below for this statement.)

> releases, it's very practical to know if you are running the latest 
> version or not.

And with that you summed up *ALL* the benefits, moreover, that 
information might not be of any use at all (for instance, a really stale 
/slow development cycle during for that release).

Also, that sole "benefit" doesn't counter the fact that you might not 
have *any* interest to run the latest stuff (say, you play just via 
network and don't care about AI). How will you easily see that, as a 
user? You can't just by looking at the number, because is meaningless.

> As Kurosu said, lot of software use timestamps as version : Ubuntu, 
> Mandriva, MS Office,

And they suck, really! Because you have no way of knowing at a glance, 
if they fixed that darned problem that I wanted them to fix, or if I 
must upgrade because this release fixes important security issues, or I 
should because that nice Avahi integration finally happened, or if they 
made a major change in the code I should wait until .1 arrives because 
is a known fact that X.0.0 releases sux0r big time, because they usually 
imply major code overhauls.

>> We would also have no way of letting the users know that major changes
>> happened in the code as we couldn't just bump up version number for a
>> particular release.
>>   
> 
> And what is a major change that justify or not a change of major version ?

See above.

> When I arrive in the project, each release changes the "major" number : 
> 0.3, 0.4, 0.5, 0.6, 0.7 ...

Probably because either:
A. the project managed to do major/medium changes (redone graphics, new 
sets of weapons, reworked physics, rework menus)
B. the project wasn't mature enough to consider patch releases as 
important as getting the "ball rolling", sort of speak
C. the project wasn't mature


Also, do you expect the project to be in a continuous strive to 
develop/stabilize that it doesn't warrant to think we'll never be able 
to get that AI code out the door, or the physics engine changed?

That really saddens me, since I feel a note of abandonment in this 
"release numbers are time stamps".


MANY other projects go the other way around, use time stamps at first, 
then switch to real    major.minor.patch numbers   like wine. And they 
switch when they "start to see the light", when they feel confident 
enough that they will get soon some clear goals for the release, or they 
already did. They didn't knew when that would happen when they were 
using time stamps.


So my question is? Is it not clear that 0.8.x should be about 
networking, while 0.9.x should be about AI?

How about 1.0.0? Can't we all see is about delivering the first version 
that we can be proud of, because it has a decent AI, and the networking 
works between any two, three or whatever number of players and that, 
independent of the arch they are playing on?


COME ON PEOPLE! DON'T GIVE UP!

>> And about not fullfilling expectations - I think that situation when the
>> users download 9.01 and find out that is not really different from
>> 8.12kills the "incentive to update" (for those unaware of versioning
>> scheme) at
>> least until 10.1 is out.

I wholeheartly agree! It would actually kill the users that we already 
have. Really, this would be a step back. (And is not a "step back" as in 
"let's step back a little to see the big picture".)

> Sometimes major changes are difficult to see by users. Imagine for 
> instance a user which never plays in network game, network game is not a 
> major change for him. It's exactly the same for lot of features...

Yes, but he will expect to see something different if the minor number 
changes, it is expected, after all, it is how many users' minds are trained.

And actually, he will see something. Remember, such a bump would have to 
have a visible reflection in the game, even if that means there's a new 
menu entry, I guarantee, he *will* see it.

>> I'd propose fixed release cycle with version number based _solely_ on number
>> of changes (and their significance) from the previous version. That way, no
>> goals are defined for a particular version and there's no stress about
>> missing the deadline - if we're not ready with some feature we (unoficially)
>> planned for this cycle, the game still gets released, but only minor version
>> number gets incremented.

I find this idea a really good compromise and it would probably provide 
us with the version scheme we want.

As I understand, it would mean that we could have this valid sequence of 
releases: 0.8.1, 0.8.20, 0.8.21, 0.8.78, 0.9.0, 0.9.1, 0.9.45....

Which would roughly translate to something like:
- 0.8.21 was a bugfix release (we screwed up 0.8.20, which was more 
featureful than 0.8.1),
- oh, boy, you should *really* try 0.9.1 (not 0.9.0, which we screwed up 
a little), it has that AI stuff you've been waiting for so long
- better get a look at 0.9.45, that AI stuff got some really cool fixes 
and that AI will beat your ass goodbye now, it has some really cool 
brainwaves and some bugfixes, too, definetly, you should try it!

> I agree with "no stress, no (official) plan but let's release!"

I agree.

-- 
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein


_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à