IRC meeting to discuss BZFlag Replacement Project

Important stuff goes here.
User avatar
clarahobbs
Private First Class
Private First Class
Posts: 272
Joined: Thu Jan 10, 2008 1:45 am
Location: The Fourth Dimension

Re: IRC meeting to discuss BZFlag Replacement Project

Post by clarahobbs »

I fear this will turn into BZFlag's equivalent of Xonotic. Also, isn't C++ faster than C#?
FKA Ratfink
Bulldozer
Private
Private
Posts: 4
Joined: Wed Nov 30, 2005 9:12 am

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Bulldozer »

blast wrote:The code in general is confused, undocumented, and poorly written. It's 15 years of bad code. So it wouldn't be "throwing out the baby with the bath water" to start a new game... more like throwing out the turd with the toilet water.
I agree with this more than anything. At this point it really would be easier to re-code the game in it's entirely from scratch (if anyone were to do it at all). The silent vote of the developers who no longer contribute seems to support this as well...
User avatar
Grans Remedy
Private First Class
Private First Class
Posts: 91
Joined: Sun Dec 05, 2004 10:47 pm
Location: New Zealand

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Grans Remedy »

Throwing out working code in favour of building something brand new is quite often the wrong decision to make in software/system engineering. Consider this article from Joel on Software:http://www.joelonsoftware.com/articles/ ... 00069.html. Yes I know its an old article - but it discusses principles which are timeless (not dependant on any particular technology stack).
No coffee, no workee
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: IRC meeting to discuss BZFlag Replacement Project

Post by JeffM »

The article has valid points but there is an other article somewhere else that has similar points for throwing out code.

In the end you have to evaluate what is best for your current needs and abilities. The point that I get from the article is that it should not be a "Knee Jerk" reaction to just throw it out and rewrite it.

In this case we have a foundation of code that just is not in the same ballpark as modern games.

If you look at something like the subversion project, they decided it was better to start over and make a solid system from the ground up rather then just extend CVS.

I feel we are in a similar situation. We have a game that was originally written to be played on LAN networks using the first generation of 3d hardware. It lacks the foundations required to work in a modern (read laggy) internet and on modern hardware.

We can ether spend a lot of time shoehoring in some code to make it work better in these cases ( a task we have proven we can not, or will not do ). Or we can go and start a new project with the goals of "make a better bzflag" and reuse all of the wonderful open source toolkits out there that are designed to make modern games (engines, networking, physics, and sound systems).

3D internet games are no longer rocket science, the tech we need is out there and super easy to use. The unique parts of bzflag that should be kept are not technical code sections, they are the simple gameplay aspects that are simple to implement in a new system. You don't play bzflag because it has a poor implementation of Doppler sound do you?

But again the point was for DISCUSSION, but that never happened anyway. Just shows what the state of the developers is.....
ImageJeffM
User avatar
Grans Remedy
Private First Class
Private First Class
Posts: 91
Joined: Sun Dec 05, 2004 10:47 pm
Location: New Zealand

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Grans Remedy »

JeffM wrote: <snip>
We can ether spend a lot of time shoehoring in some code to make it work better in these cases ( a task we have proven we can not, or will not do ). Or we can go and start a new project with the goals of "make a better bzflag" and reuse all of the wonderful open source toolkits out there that are designed to make modern games (engines, networking, physics, and sound systems).
My concern is that the most pragmatic way of re-using these toolkits may be by re-factoring the existing code base rather than starting from scratch.
JeffM wrote: 3D internet games are no longer rocket science, the tech we need is out there and super easy to use. The unique parts of bzflag that should be kept are not technical code sections, they are the simple gameplay aspects that are simple to implement in a new system. You don't play bzflag because it has a poor implementation of Doppler sound do you?
I can't imagine any player caring about what libraries/apis/toolkits are used in the source code, just what their user experience is like. So if we can deliver a better experience by using a third-party library then lets do that. However that doesn't require we start from scratch, there is still the option of re-factoring existing code to make use of those libraries/apis etc. We've already had one unsuccessful attempt at writing a "better" bzflag from scratch. We should not just optimistically assume the next attempt will be any more successful.
JeffM wrote: But again the point was for DISCUSSION, but that never happened anyway. Just shows what the state of the developers is.....
Exactly. At the heart of my concern is that I can't see any open, robust discussion about any of this (of course that doesn't mean it hasn't happened somewhere else...). I'd like to see more discussion like this :)

To be clear, I'm not in a position to do any sort of code review in order to offer any facts in support of one approach or the other. However I do suspect that rebuilding from scratch will cause another 2 year delay before the next release of bzflag. Projects that go for that long without a release tend to struggle to release anything at all - aka project fatigue.
No coffee, no workee
User avatar
macsforme
General
General
Posts: 2069
Joined: Wed Mar 01, 2006 5:43 am

Re: IRC meeting to discuss BZFlag Replacement Project

Post by macsforme »

Grans, what specifically makes you think that refactoring the code will be easier or more efficient than re-writing it from scratch? While I can understand your point that there is that possibility, I think most of the developers are in agreement that beginning with a blank slate would be more economical given the state of the current code, especially given the collective experience the development team has and the resulting ability to write concise and efficient code. I think this is best understood by those who have worked extensively with the existing code.
User avatar
Grans Remedy
Private First Class
Private First Class
Posts: 91
Joined: Sun Dec 05, 2004 10:47 pm
Location: New Zealand

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Grans Remedy »

Constitution wrote:Grans, what specifically makes you think that refactoring the code will be easier or more efficient than re-writing it from scratch? While I can understand your point that there is that possibility, I think most of the developers are in agreement that beginning with a blank slate would be more economical given the state of the current code, especially given the collective experience the development team has and the resulting ability to write concise and efficient code. I think this is best understood by those who have worked extensively with the existing code.
As I said, I can't offer any facts to support one approach over the other for this project. But, what I haven't seen to date is any substantial discussion about what the best approach for modernising bzflag is - or even what "best" actually means in that context.

But I should make it clear that I agree completely that the decision is best made by those who understand/maintain the code.

That said, this discussion is really about whether evolution or revolution is the best approach for modernising bzflag. Both approaches can work: incremental change or a "revolution" - discarding all the old code in 'one fell swoop'. Both can deliver a modern, feature rich bzflag.

But, what is missing from that is the impact on the players.

There is a huge difference in the impact of these approaches to the project and end users (players). With an incremental approach (frequent releases) players see the benefits almost immediately, bugs/issues are discovered and corrected, and improvements/new goodies noticed sooner, all of which contributes to maintaining project momentum. With a "revolution" approach the project appears to die while the devs busy themselves re-writing code which already works (from the end user perspective).

If we're lucky, project fatigue will somehow be managed over the six months to two years it takes to complete the new version. If we're unlucky, project fatigue will see to it that we end up with another "x.99" version containing show stopper bugs no-one is interested in working on.
No coffee, no workee
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: IRC meeting to discuss BZFlag Replacement Project

Post by blast »

There's been several attempts to modernize the game or refactor code.
http://bzflag.svn.sourceforge.net/viewv ... ollisions/ - attempt to implement server-side collisions as part of a GSoC project
http://bzflag.svn.sourceforge.net/viewv ... cs_branch/ - attempt to implement Crystal Space for the rendering engine
http://bzflag.svn.sourceforge.net/viewv ... et_branch/ - not sure what this was, exactly.. maybe some network refactoring?
http://bzflag.svn.sourceforge.net/viewv ... ot_branch/ - think this was to make death handled server-side

In general, I think all of the "refactoring" attempts are undertaken by a single developer, so they usually just get abandoned. The 2.99.x codebase is a little bit better than 2.0.x with regard to how the code is grouped.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: IRC meeting to discuss BZFlag Replacement Project

Post by JeffM »

Grans Remedy wrote:
JeffM wrote: Exactly. At the heart of my concern is that I can't see any open, robust discussion about any of this (of course that doesn't mean it hasn't happened somewhere else...). I'd like to see more discussion like this :)
You didn't see it because nothing ever came of it (Tho I never see you on IRC). Nobody cared........

As blast said, we've been trying for 5 years now to update the code with more modern stuff (Google even spent over 80,000$ to help us), and look where it's gotten us... The changes needed are a lot more then incremental, they all change the very core of the project in serious ways. It's nearly a rewrite in itself.

The only thing left that can keep any development going is another project since the management of this one has failed completely.

If another project fails then that means that even the concept of bzflag isn't motivating enough to move forward.

Also, by another project I do mean a completely separate project, I don't think keeping the existing management and structure would be a good idea.

As for the players, they will play what is fun for them. IF we do rouse up developers for anything they will play what they have now until they have something else that is fun, they won't care what it's guts are.
ImageJeffM
User avatar
Grans Remedy
Private First Class
Private First Class
Posts: 91
Joined: Sun Dec 05, 2004 10:47 pm
Location: New Zealand

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Grans Remedy »

@Blast So none of the code from any of these branches made its way into trunk? Does the project always give such large blocks of work to single devs - could that be a contributing factor to why they were abandoned?
JeffM wrote: (Tho I never see you on IRC).
That may be a time-zone thing, I'm GMT+12, though I have to admit irc is probably my least favourite way of communicating detailed/technical material, so I'm not on there constantly. However when I have been there, the BZFlag channel has been very quiet.
JeffM wrote: The only thing left that can keep any development going is another project since the management of this one has failed completely.
If another project fails then that means that even the concept of bzflag isn't motivating enough to move forward.
Also, by another project I do mean a completely separate project, I don't think keeping the existing management and structure would be a good idea.
So if the way the project has been managed has contributed to the current state, can we not just change that management approach or structure? Why do you think we need an entirely new project?

[BTW: this is a good, useful discussion - well, to me at least :) thx]
No coffee, no workee
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: IRC meeting to discuss BZFlag Replacement Project

Post by blast »

Grans Remedy wrote:@Blast So none of the code from any of these branches made its way into trunk? Does the project always give such large blocks of work to single devs - could that be a contributing factor to why they were abandoned?
Grans Remedy wrote:So if the way the project has been managed has contributed to the current state, can we not just change that management approach or structure? Why do you think we need an entirely new project?
The problem is that there is no management. There is no plan. Tasks are not assigned - people just do stuff if they feel like it.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: IRC meeting to discuss BZFlag Replacement Project

Post by joevano »

blast wrote:The problem is that there is no management. There is no plan. Tasks are not assigned - people just do stuff if they feel like it.
And yes, that has been identified as a major issue for years.
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: IRC meeting to discuss BZFlag Replacement Project

Post by JeffM »

The maintainer and copyright holder of the project is no longer involved (and doesn't seem to have much time to put into it) about the project, so it would be simpler to just remove ourselves from that situation.

This would make it easier to do a lot of things, namely things with infrastructure. Right now we don't even have access to the domain name and are limited in what we can do with the system that hosts the major services.

Also changing to a new project would remove some of the preconceived expectation of how BZFLag is run and would get people in a new mindset. We could leave the days of "patches welcome" behind us and get a game that has an actual design instead of a collection of code snippets people decided to write.

This would probably mean a name change but that is for the best, again to show that it is a different thing and to let the classic BZFlag eventually retire with dignity.

*edit* also GMT+12 is only a 4 our difference from some of us on IRC (I'm +8) so that ain't that bad there has to be some overlap :). IRC tends to be more productive due to the real time nature of the talk. But yes you are right it is quiet.... that's how bad development has gotten under the current project.
ImageJeffM
User avatar
macsforme
General
General
Posts: 2069
Joined: Wed Mar 01, 2006 5:43 am

Re: IRC meeting to discuss BZFlag Replacement Project

Post by macsforme »

JeffM wrote:*edit* also GMT+12 is only a 4 our difference from some of us on IRC (I'm +8) so that ain't that bad there has to be some overlap :). IRC tends to be more productive due to the real time nature of the talk. But yes you are right it is quiet.... that's how bad development has gotten under the current project.
Hmmm... -8, perhaps?
User avatar
Bazooka Buster
Private First Class
Private First Class
Posts: 9
Joined: Sat Sep 20, 2008 7:12 pm
Location: USA

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Bazooka Buster »

I haven't played BZFlag in ages, but saw it sitting on my desktop, so I decided to see how everything was going. I can remember it being so fun, yet lagging behind other games. I can only hope that the project doesn't die, as BZFlag has so much potential. On the flip side of the coin, I wouldn't want it ever to be taken over by a large company, prices flung around, and strangled to the point that it isn't the same game at all anymore. Just giving a little shoutout, that this game still rocks in my opinion. :)
Image
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: IRC meeting to discuss BZFlag Replacement Project

Post by blast »

I don't think anyone would pay money to buy the project. :P

Also, activity recently sprung back up, and we're attempting to complete a new release (BZFlag 2.3, which will be released as 2.4 when completed)
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
User avatar
Marines
Private First Class
Private First Class
Posts: 77
Joined: Sun Jan 13, 2008 6:03 pm
Location: Planet Mars Landing site 11828

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Marines »

How long was I gone?????????
Poke Me And Die!
User avatar
Captain Simmons
Private First Class
Private First Class
Posts: 31
Joined: Thu Nov 11, 2010 4:10 pm
Location: yesterday

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Captain Simmons »

JeffM wrote:
As blast said, we've been trying for 5 years now to update the code with more modern stuff (Google even spent over 80,000$ to help us), and look where it's gotten us...
:shock: 80,000? wow.
there is no such thing as a free lunch. this undoubtedly means that you can have all the free breakfasts and dinners you want.
Green Ranger
Private
Private
Posts: 3
Joined: Wed Feb 06, 2008 10:43 pm

Re: IRC meeting to discuss BZFlag Replacement Project

Post by Green Ranger »

Also, activity recently sprung back up, and we're attempting to complete a new release (BZFlag 2.3, which will be released as 2.4 when completed)
Will it be built using .NET/Mono? Because considering the current situation surrounding uncertain future Mono development, as well as the looming patents issue, I wouldn't think it would be a wise decision.

Not to mention that Mono slows my system down and is utterly useless to me otherwise (usually first thing to be uninstalled). :P
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: IRC meeting to discuss BZFlag Replacement Project

Post by blast »

No. It is based on the 2.0.x code, and we are pulling changes from the 2.99.x/3.0 code back into 2.3.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
User avatar
yosef
Private First Class
Private First Class
Posts: 56
Joined: Mon Jul 24, 2006 2:00 am
Location: Houston, TX

Re: IRC meeting to discuss BZFlag Replacement Project

Post by yosef »

1. What players should any future releases of bzflag be aimed at? The best thing about 2.0.x is that it runs on computers that are up to 10 years old, giving it a wide potential player base. If you make version 2.3 and on incompatible, that ability might be lost. Do we assume that most players play on computers that are 5 years old max and tailor the graphics requirements accordingly?

2. Should the playing part of bzflag be kept the same, with GUI, graphics, server-side things changed drastically?

3. Expanded keymapping options would be great. More special effects, perhaps. More interactive observers? What about different trajectories of shots? Except for SW, all shots go straight. A limited turret capability allowing shots to emerge from the barrel at an angle, maybe even sweep from side to side, would be cool (I don't know what's required for that in the code).
--9/12 Taking an extended break from this beloved game to return to RL. Look for me at the starbow's end...
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: IRC meeting to discuss BZFlag Replacement Project

Post by JeffM »

1) we keep the hardware requirements low, 2.4 is targeted at similar hardware to what most players have these days. This means some level of hardware acceleration that is no more then 5 years old. We arn't requiring shaders or anything fancy now. 2.4 JUST got rid of support for 3DFX Voodoo cards. "compatibility" as we talk about has nothing to do with graphics, we are talking about network compatibility.

2) 2.4 does not change much with regards to the gui. Eventually we want to take a look at the entire end user experience and make it more consistent and easier for new players to pick up. Also eventualy we will be moving more things server side. These are things that are required to get the game up to more modern standards. see http://my.bzflag.org/w/Development_RoadMap

3)There won't be any turret moves or tiltiing shots in bzflag. This changes the game in HUGE ways and makes it a different game.
ImageJeffM
User avatar
nijineko
Private First Class
Private First Class
Posts: 10
Joined: Wed Dec 13, 2006 7:21 pm

Re: IRC meeting to discuss BZFlag Replacement Project

Post by nijineko »

makes me wish i knew more coders. i know what i would like to see - different vehicles and unit possibilities. more variety possible in weaponry. maybe even mechs and airships of various types.
User avatar
yosef
Private First Class
Private First Class
Posts: 56
Joined: Mon Jul 24, 2006 2:00 am
Location: Houston, TX

Re: IRC meeting to discuss BZFlag Replacement Project

Post by yosef »

Resurrecting an old thread eh? Anyway, I believe JeffM's working on a game similar to bzflag in C#.
--9/12 Taking an extended break from this beloved game to return to RL. Look for me at the starbow's end...
User avatar
nijineko
Private First Class
Private First Class
Posts: 10
Joined: Wed Dec 13, 2006 7:21 pm

Re: IRC meeting to discuss BZFlag Replacement Project

Post by nijineko »

old-ish, i guess. it's not old if we still play it, one hopes?
Locked