Resurrecting BZFlag

All things BZFlag - no [OT] here please
Post Reply
User avatar
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Resurrecting BZFlag

Post by Sky King »

This was my response to the other thread, that has been moved here, just so you understand the context in which it is offerd.

I have had quite a few one-on-one conversations with some of the people in this thread over the last few months. This is a matter that is near and dear to my heart and that I have been very vocal about. BZflag has indeed died a slow painful death. Just two years ago, you could sign on any time, almost 24 hours a day, and you'd usually find players on the first 8-10 servers on the list, usually about 75 or 100 total. During busy times it would not be unusual to see over 100. Now, across both 2.0 and 2.4 COMBINED, you will rarely find 15-20 players across the top 2 servers. Let's put that in perspective... That's 15 players out of 6.5 billion people on the planet. On any given day there are more people being killed by lightning than there are playing BZ.

How did we get here? I am a CTO who, as a career, puts a lot of thought into human/technology interaction and I have very strong, admittedly controversial opinions about how we got here and how we get out of it. About a year ago I started writing, and circulating little parts of, a white paper about the future of BZ. I have not been able to focus the time needed into really finishing a rich document, but I'll excerpt my thoughts here.

1. We need a new model. Code changes aren't enough, we need a new environment. Jeff, Blast, others... PLEASE do not take this as an attack, I mean no offense by this. But the "political" dynamics of any online game have a huge influence on the game. There is a strange power structure in this game. Owning the registration and list server creates one "power center" in the game--a huge one. The Devs are another power center. And the various "cliques" of server owners are yet a third power center. There is no unified ethic, no single guiding principle like there used to be. In the old days, Chris provided a vision that guided every actor in the game. Today, those power centers have no alignment. I'd suggest that we need a new leadership model that unifies the listserv, devs, and owners into a single, unified direction. What I would propose is essentially a steering committee of some kind. The game has lost its spirit, its "ethic". The old rugby-like ethos of camaraderie, friendship, and the spirit of competition have given way to team domination and point whoring, in the misguided hopes that a high score will in some way heal some other infirmity in one's soul. We need a "BZ Way", a renewed philosophy, and we can't get there without rethinking the political and leadership dynamics of the community. We need a change in the community dynamic, not just the game itself.

2. I say this as one of the best known admins in the game, having had the privilege of being a full admin on literally hundreds of BZ servers for years now: Poor admin conduct is a big influence in sucking the life out of this game. We need a new admin selection and evaluation model. The admins in this game should essentially "report" to that steering committee--NOT the server owners, and enforce a common set of rules and principles. The admins should have clear expectations on them to be role models and examples in every interaction with the game. I am disgusted with the way I have seen many admins behave toward players--truly disgusted. Admins should be adults who have made a commitment to the health of the game, who agree to a common set of principles. They should be expected to participate in some way in the admin community through admin discussion groups, etc. We'd be better off if we had 5 mature admins who all knew each other's real names, phone numbers, and chatted a lot about the game, than with 100 admins in the model we have today. The "friend of a friend of the server owner" model for picking admins is fundmentally flawed.

3. We treat newbies like crap in a lot of ways. The focus on points, the abandonment of friendly competition, the lack of enforcement about abusive language have all contributed. When a newbie installs the software and comes in, he sees a tank, he shoots it, and invariably TKs. While I am trying to type up a friendly message "Hey, there are teams, you are on the blue team right now, so only shoot at the red tanks"... in the time it takes me to get that typed, I get 7 admin messages insisting I ban the TKer, at least one saying I am an asshat and not doing my job. Usually, a poll ban has already started, and someone has already counter-TKed the newbie. And we wonder why the game is dying. I won't candy-coat it, we treat newbies like s**t. We even send them messages like "stop TKing" as if they have any idea what a TK is. The treatment of newbies is another HUGE contributor to the death of the game.

3a. We ought to redesign the listserv so that the top of the list has some newbie maps first, then a line, and then servers sorted by population after that. Having newbies drop into a busy CTF/geno server simply because they picked the first one is brutal. years ago, I suggested in this forum that we develop a number of training maps that introduce key concepts of weapon types, flags, GM locking, jumping, radar, etc. Some work started but fizzled after a while. That was probably 2007.

3b. I know this is controversial, but, geno IS damaging the game. This game had guiding principles that Chris S. insisted on when the code was cut loose as open source. There were conditions.. no multiple flags, no crazy super weapons, no gun elevations, no revolving turrets... he had a list of guiding principles, and if you remember those (I can never find them any more) they explicitly forbade flags like Geno. Players could only be killed by the direct action of an enemy engaging them, there could be no magic weapons. This game used to be about you and me spawning in tanks, driving towards each other, and may the better player win. The better player, using better maneuver, supported by the the interlocking fire of adjacent teammates, usually prevailed. That was the spirit of the game and it worked beautifully. Oh wait... now there's this flag I can grab, and all I have to do to run up a huge score is put the opposing team's newbies on hunt. It is ridiculous. We should be ashamed of ourselves that we have allowed points to become the central focus of the game, replacing camraderie, and the spirit of fun competition. Geno is the manifestation of the resentful, dominate-at-all-costs, crush-the-opponent spirit that we have allowed to become the voice of this game. I am an ex Army officer and combat veteran myself. Wars are about winning. But war GAMES are about playful "co-opetition" and treating other players, and teams, in a way that perpetuates the game. "Crush their spirits and make them quit" may be a good military strategy, but we have made it the game's philosophy, and guess what... they quit! We have allowed the BZ community to behave like a war and not like a war game.

3c. Boxy use to have a language plugin, where if you used foul or abusive language on a private channel, the the transmission that was filtered get sent IN THE CLEAR to the admin channel. Whatever happened to that, what a great idea to help protect newbies from abuse!

4. We need to encourage parity. Remember maps like lasermania, Boxy, and some of those CTF maps? Those maps had a very agile momentum structure. It was hard to dominate for long, as the actions of one or two spirited players could turn the tide against the dominators. Now, every popular CTF map (MW, Castlewars, and recently, Ziggurat) emphasizes team domination, emphasizes geno, and has physical features built in to discourage CTF. And on a side rant... Why is CTF bad? Servers like 2 Tanks, Bloodbath, and now Ziggurat have places to hide the flags that make them very hard to get, thus de-emphasizing CTF play. Why not encourage CTF play?

4a. What about dynamic parity? What if, when your team is dominating and simply crushing a less experienced team, then something changes. Flag distribution, shot velocities/ranges, map layout, kill zone size... something. Once the server detects a crushing dominance state, something changes to help level the game. I don't think a player-by-player handicap model works, it has to be more generalized. Also, player distribution could be managed differently. Regardless of team strengths, perhaps joining players end up being channeled into the dominated team. Perhaps FairCTF plugin concepts need to be part of the code base? Just brainstorming.

5. I already touched on geno a lot when discussing newbie treatment above. If we ARE going to keep geno in the game, there needs to be a balance of risk/reward. I have proposed a lot of ideas... a no-points geno. (You can use it for your team;s tactical benefit, but hoarding it won't help your score.) A do or die geno? (you get one shot, if you hit, you kill the team, if you miss, you die and lose the same number of points you would have gained.) A restricted geno--once you use it, you can't use it again for x minutes... or, your team can't use it again until the other team has picked it up once. Or, you can only use geno when the other team is carrying your team flag. Lots of ideas.

6. We need to work on some form of cheat prevention. When the game was going strong back a few years ago, I was always disheartened by the number of people--well known, respected players--who were obviously using things like ST/CL visibility hacks, especially since ST vis hacking can be done with no coding. If we all knew how much it was happening, many of us would have left the game so we just ignored it and played on. I know that server-side kill detection is non-trivial, it's a huge technical issue. But we need to do something to help clean up the game's perception, whether the perception is real or not.

7. There was talk years ago of a player karma concept, I'd really like to see this explored, although it is certainly complicated.

Well, there's more, but I need to get to bed! I welcome feedback here, as well as PMs.
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

All worthy ideas, here are my comments ( and none of it was taken in offense)

1) It's called a design, and yes bzflag does not have one. And yes management's biggest issue now is it's lack of management. That has always been Tim's style and it is what is killing the game. Nobody knows what bzflag is supposed to be. Development and game design should be much more structured.

2) You are basically talking about changing how server hosting works, instead of wanting to host your own game, you donate your server to be used by the BZFLag Game Hosting Staff and you don't get to say how it is run. This is how Freenode works. It can work, it's just very different from how most free games work. It is not a bad idea but includes a great number of challenges to overcome. This model is more like the paid MMO games where you are adding more structure to the hosting aspect. A noble goal, but it does not need to be tied to development. Many games have structured development and freeform hosting (most FPS). You can structure both but I would keep them separate, as I know many developers would make VERY bad hosting admins.

3) I have said we need a tierd server list and tutorial system for a long time. When you first reg the only servers you see are tutorial and "newb" servers. Once you play there for a bit you unlock the ability to go into the other servers. It is an incentive to registration and gives people a way to learn the game. Also the game should help you learn it.

3b,4,5) All this is the same thing, making a clean design and implementing it. BZFLag is developed by people just putting in whatever they want and it ends up as a jumble. If you have a core design and stick to it you end up with a consistent product.

6) This is all part of getting a structure design and roles into development so real features can be implemented, not the Hodge Podge of stuff we get now. We know how to do "Cheat prevention" we just have to rewrite most of the game, and that is a larger job then a single person can just drop in.

7) Karma sounds like a good idea but it ends up being an abuse vector based on it's implementation. If you end up with the structured admin staff that you talked about before I think the need for a karma system will disappear.

Honestly I'd just make a totally new project, with a good design and a clear structure and just write a new game. Since BZ is LGPL if anything is needed from it can just be used. By using a new project there would be no preconceived notions about how the project ( or game) has worked in the past. Use BZ as a learning experience and move on. 2.4 showed that structure helps dev, but it has to go along with strong management and as long as it's under TIm's purview don't think it'll ever get un-stalled, he is just not active enough anymore, and those that want to take over end up always worrying about making older players/devs mad with too many changes.
ImageJeffM
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: Resurrecting BZFlag

Post by joevano »

This is a complex subject but here if my first stab at it...

First off I would like to address some assumptions and misunderstandings that many people have.

1. The "Devs", the list server, the forums, and the wiki are essentially one in the same and are collectively called the "Project". They are not 2 separate entities, as SkyKing alludes to in his point #1.

2. We do have guidelines (mentioned in SkyKing's point 3b) that are followed and discussed every time a change is proposed, in relation to those guidelines.

3. There is no connection between the "Project" and server owners. Sure some of the people running servers are part of the "Project" but they are two separate things and do not get mixed together. We do not and cannot dictate what server owners do on their now servers by our own policy, except in very specific and extreme circumstances. http://my.bzflag.org/bb/viewtopic.php?f=30&t=11788

Now to address your points one by one:
1. We do not see it as an attack, but a valid point of discussion. The "project" does wield some power but not in the way most people perceive it. We do follow the principles that you mentioned in your point 3b, and all changes and modifications are weighed against those principles. As far as the power of the "list server" and other services, if you read our terms of use you can see that they are always very neutral because we are the developers and can lay no claim over any server running our game (by policy and choice). I for one would not be happy if the "project" told me how to run the servers that I maintain, even though I am a member of the "project" team. Servers cost real money to run and the services are donated for people to play on at no cost to the player. If I'm paying, I make the rules. As for a unified direction for server owners, good luck with that. Their money, their own direction and rules. I can't fault them for that. Everyone is welcome on the IRC channel to discuss the game, it's direction, opportunities to help, etc. The "Project" doesn't take nor has it ever taken a leadership role in the community. We allow the community to use or not use our services as they see fit. We allow them to use the developer forums as long as they keep on topic and follow the rules. Maybe allowing you to use the services gives some false perception of power but if you follow the rules you get left alone. The "Project" has never been in the business of leading a community, just keeping them from being disrespectful to each other. There have been attempts to get the server owners going in the same direction with unified ban lists and the like, but they have been met with distrust and resistance.

2. Poor admin conduct does hurt the game, but the definition of poor admin conduct is based on the server owners perspective and no one else's. Again their hardware, bandwidth, and cost. The issue as I see it is that players think this is "Someone Else's" problem. Back in the good old days players voted with their feet. Poor admin conduct on your server equaled no players on your server, period. It only took a few instances of poor conduct to clear your server for good. That power is in the PLAYERS hands and they are giving it up.

3. Agreed. Poor admin behavior as well as poor player behavior. Back in the day, everyone took responsibility for helping new players out. It is always very obvious who those player were when they joined an a few chat messages to them generally got them familiar with the basics. There are plans to introduce tutorials in 3.0.2 (http://wiki.bzflag.org/Development_RoadMap) but given the current developer pace, it will probably never get that far. It is every BZFlag players responsibility to help new players learn the game and if you are not you should be asking yourself why. Today's society is all about instant gratification and is very anti-social despite the proliferation of so called "social" sites. It's all about the ME instead of being about US.

3a. Already discussed and supposed to be in 2.4.4. Most of the work for this was done on the abandoned 2.99 branch and still needs to be back ported. Not sure it works exactly as you are defining but it is a significant change to the current system.

3b. The geno flag was in at least 1.7c (which is as far back as our public source repositories go), which was the first open-source release in March 2000, so Chis did approve it (he had the copyright when it shows in the repository). Geno is NOT the problem, it has been there all along and is water under the bridge at this point. Map makers wanting their maps to be popular and not caring about balanced play is part of that problem. the other issue is server owners (often the same person) not caring about it either. THis is a server owner issue and needs to be taken care of there, by the players and the server owners. If most players cared about this, the simple solution would be not to play on those servers. I don't and no one else should either.

4. See 3b

4a. I personally don't think the handicap model works well either, but who would determine this. Our server is very "stupid" and knows little to nothing about game state. You have been around long enough to know that this is a LAN game that had the Internet thrust upon it. Having a stateful server is a development goal of the "Project" but that is a long, long way off. Until then the server has no real idea. FairCTF has it's issues as well and is gamed all the time by players who know how it works.

5. Already possible with plugins and used on several maps. See also 3b

6. We have been thinking on that for at least 6 years and currently there is no solution. The server trusts the client too much, but cheat detection requires a server that "knows" what is going on and limits the possibilities. Lag as you know makes it very difficult to definitively say anything about cheating and is the same thing that makes server-side kill detection non-trivial. This game is 100% open-source and always will be. Close sourced online games can hide their code making cheat detection a cat and mouse game. Having the code that is visible to the cheaters is like being the cat and emailing the mouse your schedule! Until we get to the stateful server model that does not trust the client at all, there really isn't much that can be done. Some server owners have developed plugins to target specific blatant cheating patterns, but the source code to those is guarded very carefully.

7. See Jeff's response #7

Participation of people in the "dev" community has dwindled precipitously, also. This is mostly because people devote time to something and then generally move on. The struggle from both a dev and player perspective is to keep the net inflow higher than the net outflow. I think the biggest issue with this "community" is that they expect someone else to do the work. GET INVOLVED!!! The more people actively participating in the community the more voices there are. I am hard pressed to say that more that 2 or 3 people have volunteered to help and actually did much that was useful since I put up the wiki years ago. The developers and forum admins don't get paid, they do it because they enjoy it. I probably have personally spent 1-2 hours everyday for the past 6 years working on BZFlag either though fairly admiring servers and later deploying the wiki, adminning it and the forums, and participating in IRC chat discussions. My question to everyone out there is what have YOU done? Open-source software is by the people and for the people. No one is making financial gain off of this in fact for many of us, BZFlag s a net loss for us in hard dollars. No one is asking you to donate money, but an open-source community is made through participation and nothing else. Everything else is a side-effect.

Let me tell you how I came to be the guy who was tasked with the wiki (this is all on IRC logs somewhere, my copies don't go back this far so it is from memory):
I thought a wiki would be useful, so one day I popped on to IRC (or maybe I was already camped out the 24/7) and said something to the effect of "What we really need is someone to make a BZFlag wiki!" And brlcad said "Who is going to do that?" My great response was "I don't know, but someone should. It's not hard, I put one up at work." This continued a couple more times until brclad's response was something like "JeffM2501: This guy thinks he isn't someone" and then he said "So are you volunteering?" What could I say? He was right...

As far as the problem of poor adminning, this is an easy one to fix. Don't play on those servers. Talk to the server owners, if they don't care move on. If no one plays on those servers, guess what... they have no power over you and other maps are available. Better adminning and playing on servers with balanced maps makes the initial experience better for new players. If you aren't doing that you are part of the problem.

Help new players when they join. It only takes a minute to tell them what color their tank is, how to find that out for themselves, and that it is very, very bad form to shoot a tank of the same color (and that it is called TK for TeamKilling). You didn't know it at the beginning and someone told you. Now it is your turn...

As a community, we each need to get involved and take responsibility for our own actions...
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
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Re: Resurrecting BZFlag

Post by Sky King »

JeffM wrote:2) You are basically talking about changing how server hosting works, instead of wanting to host your own game, you donate your server to be used by the BZFLag Game Hosting Staff and you don't get to say how it is run.
When I floated some of the concepts of the "Sky King Manifesto" (as one owner called it) past server owners, I got no resistence. I have had offline conversations at length with two popular server owners and said "ya know, I don't think the current admin model works, it's just too hard for you as a server owner to control who does, or doesn't get added to the shared admin groups. Maybe we'd be better off with one, and only one admin list we all sign on to." And I got a resounding yes from both. One banlist, one admin list... You still own your server, but, if you want your server listed in the public listserv, there's a basic "TOS" you're signing on to. My sense is that all across the board, from owners, to map makers, to devs, there is an openness to broad, wholesale change that didn't exist a year ago. There's no living in denial anymore... Everyone knows the state of things and are thus very open to change.
JeffM wrote:3) I have said we need a tierd server list and tutorial system for a long time. When you first reg the only servers you see are tutorial and "newb" servers. Once you play there for a bit you unlock the ability to go into the other servers. It is an incentive to registration and gives people a way to learn the game. Also the game should help you learn it.
I LOVE the incentive for registration, I forgot to mention that in my original post. This also provides an incentive that, once registered, stop changing your name. I think a lot of the "character" of the game has been lost because SOOOO many experienced players move from name to name every few months, or, come in as unregistered. Come in unregistered? then guess what, you get the tutorial again. I think the grand old names with enduring personalities are a vital, vital part of the game. We need a heritage.
JeffM wrote:Honestly I'd just make a totally new project, with a good design and a clear structure and just write a new game.
Honestly, in my more complete white paper, I toss this idea out early on... That if changing the existing community is too hard... if the server owners, or existing admins, or developers, or whoever, start to resist change, then we are left with one, and only one choice... Ride the ship to the bottom and enjoy it while it lasts, or, fork the code base and create BZflag II. The problem is, that this means some serious work on the part of the devs, and some serious consensus building to get a core cadre of active players and server owners to come over. I have the skill and acumen to lead the second part, but I sure don't have the skills to be a developer, my last code was VAX/VMS FORTRAN in about 1990. Lotta good that does, try merging THAT into the code base.

Thanks so much for your feedback, to both you and joevano, this is exactly the kind of sincere intellectual debate about the issues and possibilities I have been hoping for.
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

Making a new project makes it Opt-In for people rather then Opt-Out. If we make drastic changes to the project it will just make some people hate it since "we ruined it forever". If we make a new project then old BZ can just have an honorable retirement.

I'm also not entirely sure what would need to be taken from BZFlag code wise, there are better, more modern ways to do everything it does.

There would be a gap between when the new project started and there was playable code, in that time the players could still play BZ if they wanted since from a player perspective they don't really care until there is something to use.
ImageJeffM
User avatar
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Re: Resurrecting BZFlag

Post by Sky King »

JeffM wrote:I'm also not entirely sure what would need to be taken from BZFlag code wise, there are better, more modern ways to do everything it does.
I am trying to read between the lines of this and your last post... Are you in favor of revolution instead of evolution?
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: Resurrecting BZFlag

Post by joevano »

We have been for sometime... In some form or another.
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
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Re: Resurrecting BZFlag

Post by Sky King »

JeffM wrote:... You are basically talking about changing how server hosting works, instead of wanting to host your own game, you donate your server to be used by the BZFLag Game Hosting Staff and you don't get to say how it is run.
On further reflection, here's another thought that is a potential game-changer. I work in the large enterprise infrastructure optimzation space, with pretty deep subject matter expertise on all manner of virtualization, hosting, clouds, etc...

I can't help but wonder, do we need server owners any more? BZ was born at a time when server performance and network bandwidth was expensive, and there was no way we could ever float that boat without selling ad space (imagine the revenue from the rogue tanks being painted up in Best Buy livery!) or constantly nagging players for donations. So the concept was that a few individuals that might have access to horsepower would fire up servers. This is partly $$, and partly gets back to our LAN based roots. Back then a server owner was ponying up easily $200 a month just for the burstable bandwidth bill.

But times have changed, and I am not sure we couldn't run the whole empire... multiple game servers, discussion, wikis, SVN, even some kind of game talk audio server, for a few hundred bucks a month.
Last edited by Sky King on Tue Oct 11, 2011 12:37 am, edited 1 time in total.
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

Yes in this day in age it is very possible to run a game like this on hardware/bandwith that is donated to the project that is run by project staff, it is quite viable. I even have some ideas how to generate some money to pay for that service if needed.

Personalty I'd make a game that had an "Official servers" tab and an optional "community servers" tab that people could unlock to run on other hosts for whatever reason. I'd also build league services into the game and make it so that map instances could be reserved for league play when needed. Then someone could run a server if they wanted to, but nobody would have to in order to play the game.

The game "subspace" had a very good infrastructure for network gaming and player management/involvement that I think would work quite well in a bz-style game.
ImageJeffM
User avatar
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Re: Resurrecting BZFlag

Post by Sky King »

JeffM wrote:Personalty I'd make a game that had an "Official servers" tab and an optional "community servers" tab that people could unlock to run on other hosts for whatever reason. I'd also build league services into the game and make it so that map instances could be reserved for league play when needed. Then someone could run a server if they wanted to, but nobody would have to in order to play the game.
I was actually thinking about two classes of servers earlier today! I like the tabbed motif, I can picture extending that even further... league servers, registration-required servers, newbie servers, replay servers, etc...
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Re: Resurrecting BZFlag

Post by Sky King »

I'm imagining a true elastic environment where the listserv is in essence a "hypervisor" that dynamically powers up Amazon EC2 (elastic) server instances in response to the number of maps that are actually being played.
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

That sounds more like marketing babble then anything real ;)
Maps have nothing to do with it, what you mean is "game instances". multiple instances can share the same map. A map is just one of many features of an instance. Amazon would cost too much since the CPU power for bzflag is low and they charge for time. You would be fine with several dedicated systems across the world that start processes as needed, it is not rocket science.

Most of what I am talking about is written up in my design docs for http://www.opencombat.net/
ImageJeffM
User avatar
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Re: Resurrecting BZFlag

Post by Sky King »

JeffM wrote:That sounds more like marketing babble then anything real ;)
Actually this is the world I live in every day.

I actually did mean maps because I see maps and games as a single entity. But you are correct, there'd be no reason that two games wouldn't be playing the same map. My thinking is that when only two maps are being played, that workload is easily handled by a single, very inexpensive instance. To keep costs down, this initial static server would be fairly lightweight... It will be "nailed up" 24x7 so it's better to be cheap rather than high-test. It can host the listserv plus some small number of games itself. Let's say for discussion, that is 5 games. Once a player wants to join a 6th game, the listserv instantiates a another server and the 6th game is brought up on that server. Once the players leave those games, that instance dissolves.

Even on AWS, you're talking about $40 per month for the first instance. The usage bill for on-demand instances will be zero to start and will only become measurable if we succeed in attracting a crowd of active players. The NW might be another $20 per month to start, and grow to maybe $80/month with success. If we have real momentum and get a real devlopment effort going, I'll fund the server and storage for at least the first few years.
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

I'm not sure AWS is as low latency as you want, dedicated machines can be cheaper. but really that is all stuff to decide MUCH later
ImageJeffM
User avatar
Sky King
Private First Class
Private First Class
Posts: 166
Joined: Mon Jun 05, 2006 8:07 pm
Location: Twin Cities, Minnesota, USA

Re: Resurrecting BZFlag

Post by Sky King »

True, there are much larger obstacles to overcome than silicon.
Retired Army--Proud to have served
Armored Cavalry Crewman, 1981-1984 (M60A5)
Infantry Officer & Paratrooper, 1984-1986
US Army Ranger & Sniper, 1986-1989 (LRSD)

Water Cooled 8-Core Ryzen 7 2700x @ 3.7GHz | Radeon RX590 GPU | 43" 4K Monitor
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

Oh it's so much more then just hardware. You are talking about Horizontal Scaling ( probably because that is what you know from your biz). That is fine for tasks that can benefit from it, like web sites, databases and other transactional applications. They respond well to scaling that duplicates data to mirror hosts that grow as connections increase(load spreading). Game servers do not scale like that, you can't put the first 3 people if a game into one server process, then the next 3 in another unless you have a massively complex (and latent) backend that connects them to a common gamestate. At some point in the process some thing has to figure out how all the shots and moves for all 25-50 players interact, and it has to do that 10 to 30 times a second.

AWS would be fine for content hosting, that's what S3 storage is great for. The EC2 platform would be fine if we had a bunch of data processing that needed to be done in parallel (we don't). The AWS setups I have seen for games are all used for conent hosting (minecraft uses it for softwa
re updates for example). All the instances where people have tried to host actual games on them run into the horizontal scale issue. They are much better served by a dedicated VPS that does not do any attempt at "autoscaling". AWS is a bunch of low end hardware designed to replicate the same logic or data over and over again(content hosting). It is not designed for data that requires a single process to change data several times a second. The W in AWS stands for WEB for a reason, a game is not a website, even though a game may use websites, they are different beasts.

To get the effect you describe you turn the list server into a distributed website running on a few cheap VPSs all over the world. They would be the front end for your end users. The list servers would just do 2 things, provide a list of game services and do front end authentication. They would keep there database synced to a central source (probably ldap or some other redundant system). The only reason you do this is so there is not a single point of failure. You do not need tons of CPU or bandwidth to provide this part of the service, that is why it is based on existing web-like technologies.

The game services they would list would not simply be a list of internet hosts that run games, they would be a list of Game Instance Gateways. These gateways would be the frontend and control what machines hosted what game instances. As game instances got full, or players requested new instances ( private rooms for matches, practice, etc..) they would spawn and redirect traffic as needed. You would host these instance nodes on higher end VPS machines, or dedicated hardware as needed. The important thing is to hide the backend from the clients, they just see a front facing server and it tells them where to go for each game instance.

The big thing with real time games is latency. You can't have your backend spend a few seconds getting it's ducks in a row for each request, since you have to service 10 to 30 of them a second for each connection. While playing the data sent and received is relatively small compared to other operations (downloading a file), but it is important that it be sent in a timely manner.

Again you are talking about a server set up just like most of the major MMO games have ( see guild wars for a great example). It is not hard to do, it is just TOTALY different then what BZ does now.

but again the major thing is design before anything can start.
ImageJeffM
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

And it goes out with a whimper not a bang.
ImageJeffM
Foooey
Private First Class
Private First Class
Posts: 19
Joined: Mon Sep 07, 2009 3:52 pm
Location: Leeds, UK

Re: Resurrecting BZFlag

Post by Foooey »

''but again the major thing is design before anything can start''

is their monetary budget required to get designing, or simply peoples time input thats the stumbling block (or both)....
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

it is people, as an open source project there is no money needed.
ImageJeffM
Foooey
Private First Class
Private First Class
Posts: 19
Joined: Mon Sep 07, 2009 3:52 pm
Location: Leeds, UK

Re: Resurrecting BZFlag

Post by Foooey »

I'd be willing to commit some time.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

Come onto IRC and discuss your skillset
ImageJeffM
User avatar
Genosse Dark Lord
Private First Class
Private First Class
Posts: 11
Joined: Wed Mar 30, 2005 10:13 pm
Location: Germany

Re: Resurrecting BZFlag

Post by Genosse Dark Lord »

Hmm, SkyKing aren`t you thinking in terms of a "business plan"? Hey its an old fashioned 3D open source game with a declining community. If people love it more than these days, the community will grow again and new developers will start to work on this great game. Its just a natural process and sorry, there is no business plan.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: Resurrecting BZFlag

Post by JeffM »

/me totally has a business plan :)
ImageJeffM
Ripper
Private First Class
Private First Class
Posts: 8
Joined: Thu Sep 27, 2007 11:21 pm

Re: Resurrecting BZFlag

Post by Ripper »

Just going to put my tidbit out here, and, no, I'm most likely not going to read this post or any replies to it later in my BZ Retirement.

So I'm browsing the BZForums, and oh, look! Another thread describing about the downfall, and possible salvation (HOW DO WE FIX THIS PROBLEMO?!?!) sort of thing. Some thoughts go through my head from this:

1) Discouragement. To the current BZ Community out here, yes, you've sticked with BZFlag for so long! And I'm 100% sure the community enjoys your participation and pleasure in playing and sticking with them. But... really? You visit the forums once in a while (hopefully), and you see that inevitable message that everyone is talking about. "Heh, yeah. So, when do you think BZ is going to be trashed...?" OR "LOL they have to fix a lot of problems!" These multiple threads do no good to the common community player.

2)I hear discussions (we're getting somewhere!), I hear plans (one more step!), but no 'doing'. Not to infringe on the BZ Devs, for without them there'd be no BZFlag(!), but there comes a point where you talk too much. Talk less, do more, in all honesty.

3)To the community, quit complaining and deal with it. Or, if you're complaining, at least make it constructive, not just "OMG fix this problem nao!". An enthusiastic and respectful "Any progress yet?" to a BZDev could do more good than harm, and it's especially better than saying the first.

4)This isn't really a part of the feedback, it's just to remind you that I'm not offending anyone. It's also comic relief to tell you that this is an OPEN SOURCE game, to those of you who didn't know. ;)

5)I hear this talking about these incredible ideas that would be truly awesome for BZFlag in the long-run. Yes, this is a resurrecting thread, but really? Decide: BZ; trash or fix? If trash, make a new game, OR, if fix, how?

6)Onto the 'How' of '5', that's what we're here for. But, I'm only going to comment on the short-run fix, since you all have brilliant (this absolutely has no sarcasm) ideas for the long-run. Word of Mouth ain't doing so good for BZFlag right now, and I support what Sky King stated in his introductory post on newbies. What we need is some good advertising!

7)Alongside advertising, more in-game events to spark the interest back in the community, rejuvenate the old BZSpirit. While monitoring the progress of the BZ Population Count, you could add monthly updates to your versions (these would be similar to a game patch). This would keep the crowd interested.

I have other ideas, but this will suffice for now. Once again, I meant absolutely no harm in this post. If you found this offensive in any way or manner, I sincerely apologize now, since I won't check this frequently to say so myself.

Retired for too long (and still miss BZ),
-Ripper
Uncle Schmuck!
Private
Private
Posts: 1
Joined: Sun Apr 02, 2006 10:24 am

Re: Resurrecting BZFlag

Post by Uncle Schmuck! »

Sky King, et al, I miss the older days of BZ for the very same reasons you stated. Remember Pie-In-The-Sky or Boxy Wars? I sucked but kept at it because of players who took the time to "talk" me thru some of the tactics (low connectivity did not help). I quit BZ for a while (thank you sucky admins) and just recently got back on to see what was happening. (I have tried to re-register X 2 with no joy.. but that is another matter) I must admit not much has changed. Maps with prime camping and geno, which in and of themselves are not bad, but the players really don't talk to each other like they used to. There is no longer a real sense of camraderie in the game. It is sad. I do not have any appreciable skills that I can offer but I sure can do one thing... PLAY! And for the ability to do that I thank you guys and gals on the dev teams and servers. Please keep your efforts up.
Post Reply