Page 1 of 3

IRC meeting to discuss BZFlag Replacement Project

Posted: Fri Apr 01, 2011 3:58 pm
by JeffM
We will be having an all day IRC meeting today to discuss how we can make a new project to replace BZFlag since it's languishing in development.

Topics will include:

Required Features
New Codebase requirements
New Management
Redefinition of goals
Synergy
Forward Thinking Statements
Synchronicity of the cloud.
T-Shirt Ideas.

All are invited to come and discuss or just watch the magic happen.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Sat Apr 02, 2011 1:10 am
by Bambino
APRIL FOOLS!

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Sat Apr 02, 2011 3:42 am
by JeffM
Not really.....

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Mon Apr 04, 2011 7:29 am
by macsforme
I wish this was announced further ahead of time, and was better attended, since I believe there is still much development talent in this project and such an effort could do well. I hope these talks continue...

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Mon Apr 04, 2011 9:12 am
by Grans Remedy
Constitution wrote:I wish this was announced further ahead of time, and was better attended, since I believe there is still much development talent in this project and such an effort could do well. I hope these talks continue...
Likewise -- could someone who attended possibly write up a summary and post it here for the rest of us who may be interested?
Thanks

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Mon Apr 04, 2011 10:47 am
by Cobra_Fast
During the meeting it has been decided that such a meeting really had chances to start something 'new' and that for such a 'new' thing C# would be the right language. Thats basically it.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Mon Apr 04, 2011 2:51 pm
by trepan
Here's a record of the meeting:
http://ibot.rikers.org/%23bzflag/20110401.html.gz

Most of the discussion focused on the fact that it was April Fools' Day.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Mon Apr 04, 2011 3:13 pm
by JeffM
We should discuss it but I doubt anything real will get done, the project looks dead. Just look at these forums.. more spam then real posts.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Tue Apr 05, 2011 8:46 am
by Grans Remedy
Ok, so not a lot of discussion went on then.

Well, I have some questions - if anyone would care to comment.

1. I've heard that the version 2.0.x code-base is "dead" - ie not being maintained. However, I can't find any posts which detail specifically what is wrong with this code. There is talk of its complexity and it being riddled with OpenGL calls in places it shouldn't. But even the bugs seem minor in comparison to the 2.99 code-base (or maybe I've read that wrong). So my question is, are we sure that the effort to develop a "new" bzflag would be less than the effort to re-factor the current code to tidy up some of this?

2. Was the talk of C# just a good-natured jibe or was it serious? What other languages were considered and rejected (and for what reasons)?

3. Given that development of the 2.99 code has stalled, what options are there for porting some of that code into the 2.0.xx code-base, to get some (even minor) improvements (eg server selection/menu stuff)? I realise that means reversing the decision to kill off 2.0.xx code, but really, is that such a bad thing given where we are now?

4. Is there a bzflag dev mailing list? Personally, I find IRC less than ideal as I can't always write what I want to say clearly and concisely enough. Email lets me write and edit before sending to the list.

5. Is there any other reason why the development has slowed down/halted on the 2.99 code-base, other than the show-stopper bugs?

cheers
Grans

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Tue Apr 05, 2011 10:20 am
by blast
1. The problem with 2.0.x is that some of the bugs can't be fixed without breaking protocol (which means more than just the network messages).

2. C# was a serious suggestion. With the help of Mono, we could use a single set of binaries across Windows, OSX, Linux, and whatever else supports Mono. We could write a lightweight launcher application for each supported operating system and have that handle downloading the latest version automatically and starting it.

3. Some of it already has been. But not really worth it to put a whole lot of effort into it. The 2.0.x branch should have been dead long before 2.0.16.

4. As for a list, I'm not sure.. I'm certainly not on it if there is one. ;)

5. Lack of caring? Heck, we didn't even ship a working copy of bzadmin in the 2.0.16 release... :)

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Tue Apr 05, 2011 8:42 pm
by macsforme
As blast said, basically nobody seems to care. Not really sure why, except that not a whole lot is new or interesting in recent developments. Trunk code is the product of a semi-significant effort to fix things "as they should be" and implement a few new features (international font support, new server list, and lots of new possibilities with LUA scripting, for instance), but basically looks and feels the same. Somewhere along the line, a few significant bugs crept in making it basically unplayable, and nobody ever figured out how to fix them... and now here we are. The waning development interest may also be either a cause of, or a symptom of, the drop in the number of players.

BZFlag 3.0 could probably be release-worthy in a month or two if a few people worked hard on it, but nobody seems to care much.

So, maybe time for something new to re-kindle interest from the developers who still hang around, who still have plenty of talent and could enjoy working together on another similar project.

I think one of the prerequisites to starting a new project is getting a novel and interesting concept or idea. This might be something based on the BZFlag game concept, or something totally new, but IMHO should not be identical or we will basically doom ourselves to the same fate. Also the concept should be limited in scope to start with, so the initial milestones could be reached quickly without letting it drag on and on like 2.99 has.

Anyone have a fresh idea for a similar or totally new game concept for getting discussions started?

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Wed Apr 06, 2011 8:09 am
by Grans Remedy
I'm sure there are quite a number of people who really do care about BZFlag - the leagues are full of people who are passionate about this game.

While I agree that we need to try something to give the project an injection of energy, and to encourage the devs to continue, I don't think a completely new game is what players want - even if it is what appeals most to devs.

I may be making some big assumptions here, but to give the project/game a bit of a push just needs a new release, soon.

Over the years (professionally I mean - not specifically bzflag) I've seen developers frequently wanting to throw out good working code because they're bored with it, or they don't think its their best work, and want to move on to something sexier/more challenging/more fun. The risk to the project (and users) is that the devs end up 'throwing the baby out with the bathwater', and so some restraint is often a good idea.

Given that the only working code we have is in the 2.0.xx tree it seems to me that the quickest way of releasing something, is to introduce a couple of new features to this line and release it. Releasing early and often helps to keep up the momentum and interest in the project. Waiting for months or years between releases is a less successful strategy.

I can't remember if these forums have polls, but even if they don't, we could identify a candidate set of features for release in the "next" iteration, and let players vote on which ones they want most. At the end of a set period, maybe 2 weeks, count up the votes and implement the top 2 or 3 features - or whatever can be implemented within the next iteration (4 weeks?). By sticking to a set release cycle, maybe one release per month (or two months max), and always releasing something (even just a bug fix, or UI tweak or some re-factored/improved code) will help move the project along. The key is to release something at regular intervals (not just commit new code).

If there is a lack of devs available, then what about the current devs offering to mentor newbies? Needn't be formal, and maybe just done via email.

The move to c# is potentially worthwhile (in the long run), but I wonder if that change combined with coming up with a "new bzflag" is just too ambitious. Perhaps doing one at a time might be best?

Thoughts?

Grans

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Wed Apr 06, 2011 10:10 am
by blast
Unfortunately, it's not up to the players. And even the leagues are slowing down.

A for 2.0.x, there will be no more releases. We already released more of those than we wanted. There are bugs in 2.0.x that we can't fix (and features we can't add) without making an incompatible release, and releasing another one would just further indicate that we're at a dead end.

As for "mentoring newbies" to help with dev work, well, that's a chore in itself. 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.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Wed Apr 06, 2011 3:44 pm
by Yrogirg
What about using some existing game engine?

By now I think that the replacement undoubtedly should be a 3D tank game.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Wed Apr 06, 2011 5:58 pm
by blast
If we were going to go through with replacing it, yeah. We would definitely look at using game engines, 3rd part libs (OpenTK, OpenAL, etc), and/or other games (Quake). There's a lot of custom code in BZFlag that could be replaced with third party libraries that have been developed over the years.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Thu Apr 07, 2011 4:47 am
by Bullet Catcher
Although the current set of developers show little interest in further work on either the 2.0.x branch or the 2.99.x trunk, if qualified people are motivated to start a new branch based on v2_0branch they are welcome to do so within the existing BZFlag development framework. Come to the #bzflag IRC channel and chat with us about it.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Thu Apr 07, 2011 10:31 am
by blast
(I also think we'd be equally welcoming if someone wanted to work on the 2.99.x trunk codebase)

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Fri Apr 08, 2011 10:34 am
by macsforme
How much project/GSoC/T-shirt money is there left? Maybe run a short paid developer program of our own, set a few milestones for what we really need to get fixed to get 3.0 out, and hire a few aspiring young programmers to fix our stuff? If the project has money I don't see why we shouldn't spend it on a last-ditch effort to jump-start development again...

Alternatively, if the money could be used to invest in a "sister" project, we could contemplate using it in that manner. Aside from that, I don't see what good it does anybody to have money dedicated to the project sitting in someone's bank account.

(Note: I understand and appreciate that there is significant fluctuation with the "balance" of t-shirt money, and that Jeff has invested a lot of personal time and probably money as well into getting the t-shirts made, including the last set that was recently ordered. I do think we should accept his discretion for how much of the available money needs to be kept in the pool for future orders, or whatever other related expenses he forsees.)

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Fri Apr 08, 2011 2:39 pm
by JeffM
There is no shirt money left. it's all in current stock. There is probably a couple grand left in SOC money that BRLCAD has. Long term you can't base your primary development on bribing people to work on your code. If you don't have any core devs working to at least fix bugs your releases are going to stink.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Sat Apr 09, 2011 12:44 am
by dereliction of duty
fudge

all I have is acad lisp experience...what do I need to learn in order to have any hope of assisting?

edit, obviously a wide open question, but seeing the dire situation, I'm throwing out even the easiest question in hoping that someone may jump up to the plate here.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Sat Apr 09, 2011 1:51 am
by Bullet Catcher
C++ is the most important language for a BZFlag developer to know. Before I started contributing to BZFlag I had lots of experience with C, but not C++. It took about a year before I began to be comfortable with the C++ features we use, and some of them still trip me up.

A background in LISP isn't the worst foundation you could have, but it is still a long way from C++.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Sat Apr 09, 2011 5:49 am
by SkillDude
Bullet Catcher, how much of a gap between C and C++ is there in order to really get into maintaining or reviving the BZFlag project? I have been doing C for quite awhile now, but never C++. Looking at plugins, it seems like it is mostly syntax and understanding how variables are shared and transferred among each other, but since you were in the same situation as me is there anything you could suggest? I would love to help, but not if I am not able to contribute with the right programming language.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Sat Apr 09, 2011 7:40 pm
by Bullet Catcher
Object-oriented coding (as in C++) requires a different mindset from the traditional procedural style of C. That transition, by itself, wasn't too difficult for me as thanks to some previous experience with object-oriented code in Perl and JavaScript.

My biggest difficulty with C++ (especially as it is used in BZFlag) is from the overloading of traditional C language elements. For example, in a statement such as

foo[3] = 5;

foo may not be the name of an ordinary array. If it is a class variable, then [3] might refer an entry in a list whose elements are allocated dynamically. The = operator could even mean something other than simple assignment.

This ability to extend the core language is powerful and simplifies writing new code, but the cost is that greater awareness of context is required. It took months of part-time involvement for me to internalize enough of the BZFlag-specific contexts that they were more help than hindrance. The other developers were patient with me, and I am happy to say that I can now answer more questions about the code than I need to ask.

If you can usually maintain a positive score when playing BZFlag then you are probably up to the challenge of learning C++.

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Mon Apr 25, 2011 10:50 pm
by Out Law
Does this mean BzFlag might be canceled? :(

Re: IRC meeting to discuss BZFlag Replacement Project

Posted: Mon Apr 25, 2011 10:59 pm
by JeffM
it isn't a service or anything that can be canceled (unless they cancel the internet). You can play BZFlag as long as there are servers and you can always run your own server.

Development stopped on the game a long while ago, so the likelihood of another release is low. So in that case BZFlag in it's current form has little possibility of growing.