
BZFlag - indigodaddy
https://www.bzflag.org/
======
Uehreka
I've made a couple of comments like this on HN before, but whenever you make a
homepage for a project, whether it's a game, game engine, software library,
command line tool or anything--please start by describing what the thing is in
one or two sentences.

Here's what I thought when I clicked this link:

> BZFlag? Does this have something to do with zipping files? Meh, I'll click
> and see what it is.

> A picture of some 3D rendered stuff, and download links for a bunch of
> platforms... Is this a game engine? A physics simulator? Maybe if I scroll
> down I'll find out

> Hmm, the project news doesn't tell me much... "A Flying tank", "Tanks with
> Superpowers"... I guess this is a game where you drive tanks? I'll take a
> look at the comments.

> Ohhhhhh, I see.

This could've been fixed by just having an h2 and a paragraph at the top
saying "BZFlag" and "An open source tank-based warfare game with online
multiplayer, going strong since 2008!" (or whenever the project started)

You don't necessarily need to have a tagline like that on every release page
or documentation page, but if I end up on your site and delete everything from
the URL except "projectname.org", I should be 2 seconds away from a simple
description of what your project is.

With all that said, people seem to like this game, I may check it out later!

Edit: Looks like they added a tagline to the page. It’s clear, it’s obvious,
it makes sense. Thanks!

~~~
twic
Web pages? Those'll never catch on if you ask me. The package info seems clear
enough:

    
    
      $ dnf info bzflag | sed 's/^/  /'
      Last metadata expiration check: 0:00:29 ago on Thu 31 Oct 2019 22:24:31 GMT.
      Available Packages
      Name         : bzflag
      Version      : 2.4.18
      Release      : 3.fc30
      Architecture : x86_64
      Size         : 11 M
      Source       : bzflag-2.4.18-3.fc30.src.rpm
      Repository   : fedora
      Summary      : 3D multi-player tank battle game
      URL          : http://bzflag.org
      License      : LGPLv2
      Description  : BZFlag is a 3D multi-player tank battle game  that  allows users
                   : to play against each other in a networked environment.  There are
                   : five teams: red, green, blue, purple and rogue (rogue tanks are
                   : black).  Destroying a player on another team  scores a win, while
                   : being destroyed or destroying a teammate scores a loss.  Rogues
                   : have no teammates (not even other rogues), so they cannot shoot
                   : teammates and they do not have a team score. There are two main
                   : styles of play: capture-the-flag and free-for-all.

~~~
TomMckenny
Alternatively, a 90's style site in keeping with the aesthetics of the game
would be cool in its way.

------
doctoboggan
Oh wow, I played this game a lot about 15 years ago. I was in my teens and
this game is the reason I learned linux system administration so I could run
my own server. I built a computer with junk parts from my friend's dad's old
parts bin and installed ubuntu on it.

I struggled with linux then but learned a lot. Some say I am still struggling
with linux to this day.

~~~
WD-42
This game, Tux Racer, Chromium B.S.U. If you could get your graphics drivers
to work, these were your reward. Learning linux was so fun back in the day!
And the fact that you could just apt/rpm install them was mind blowing.

~~~
rzzzt
GL-117!

~~~
jchw
Oh wow, now THAT was a classic. I remember playing that on an old version of
openSuSE... maybe 9 or 10?

------
phkahler
One of my favorite variants of this is the rabbit hunt. One tank is white (a
rabbit) and everyone is supposed to hunt it. Whoever kills the rabbit becomes
the new rabbit, right then and there. Only ever saw 1 or 2 servers running a
game this way.

------
travisgriggs
I've been playing this game for a long time now. The crowd has dropped off in
recent years. I'd love to see it regrow.

What would be really cool, is a reboot form that worked for mobile.

~~~
giancarlostoro
That might just be it too. People wind up doing most computing on their
phones. A game I used to play as a teen now has most of their users on their
mobile apps while old players use their desktops.

------
Fwirt
For those who enjoy online multiplayer FOSS games in this vein, see also
Teeworlds. [https://teeworlds.com/](https://teeworlds.com/)

------
miloignis
Man I used to love BZFlag - it looks like it's still active, I should get back
on.

------
dang
A thread from 2014:
[https://news.ycombinator.com/item?id=7902802](https://news.ycombinator.com/item?id=7902802)

------
theon144
Unfortunately, due to the OSS nature of the game, it's super easy to cheat :/

The patches to wallhack and autoaim are literally a 2 min google search away,
and the compile process is well documented and easy.

I wonder what kind of measures can be put into place without utilizing what
essentially boils down to DRM?

~~~
dajohnson89
hashing the binary?

~~~
Sayrus
You can't stop cheating even on a closed source software with an anti-cheat
running with kernel privileges. The same idea applies to open-source,
especially as any anti-cheat feature is open sourced too. No matter how
powerful your anti-cheat protection is, it can be bypassed (There were ROP-
based cheats recently on HN if you want to take a look:
[https://news.ycombinator.com/item?id=21355058](https://news.ycombinator.com/item?id=21355058)).

At the very least, you won't be able to protect info like the position of
entities and players (You need them even before you see the players to avoid
problems, meaning anyone can create a wallhack or an aimbot).

If one could create a trusted environment, that would be a different story. I
do think this is possible with cloud gaming. If you can't interact with the
game memory, the game files or the underlying operating system, the best you
can do should be macro or AI based on what's displayed on the screen.

~~~
jdietrich
You can't necessarily detect the cheat software, but you can detect the
_behaviour_ of cheat software. Writing an algorithm that can play a first-
person shooter at a superhuman level is pretty trivial, but writing an
algorithm that plays like a really skilled human is vastly more difficult.
This behavioural approach to anti-cheat is now highly practical thanks to deep
learning.

[https://www.youtube.com/watch?v=ObhK8lUfIlc](https://www.youtube.com/watch?v=ObhK8lUfIlc)

~~~
dragontamer
As long as the network and its weights are open-source, you can create
adversarial examples automatically. So the idea is to run the auto-aim bot,
but then run the network on your inputs backwards to morph your inputs to look
more "human-looking".

Raw Autoaim Bot -> Neural Net (since its open source) -> tweak inputs until
its considered a human -> send the tweaked autoaimed command.

~~~
samus
The weights don't really have to be open-source though. After they are
trained, they should be subjected to the same policies as database passwords
to counter your attack, or to at least force the cheater to train the counter-
network via the game.

~~~
dragontamer
> After they are trained

Are you suggesting that BzFlag sysadmins are going to be custom-training their
own neural nets?

Based on my experience with LeelaZero, its far more likely for people to share
weights with each other. And participate in community-training. Not everyone
has the skill to spin up TensorFlow, carefully partition off training data,
and monitor neural nets through training.

But almost anybody can download the "latest weight file" as a Cronjob and
update their bzflag server every day or week.

------
wwarner
Provides a decent platform for competing ai robots
[https://robocode.sourceforge.io/](https://robocode.sourceforge.io/)

------
dliff
I believe this was my first time learning to compile a C++ project. This was
13 years ago; I was 14 years old. Great memories playing with others,
chatting, building maps.

------
fnordfnordfnord
Back when I was faculty at a .edu, I installed this game in my student labs
and it got a lot of action, despite the availability of much newer games.

~~~
pvg
I think one reason for this is that the base variant is easy to understand and
there's no 'map' to learn making it a great fit for casual, pick-up play.
BZFlag is the OG Q3DM17.

~~~
DiabloD3
At least you said Longest Yard and not Campgrounds.

------
sn41
I used to love playing this circa 2001. It's also great to learn programming
games using OpenGL. Great to see this still going strong...

------
pitzips
Are you a fellow Tanarus refugee? I miss that game so much. I had the most
flags in total in that game!

------
winrid
I played this a lot with my sister on Pentium 3 Linux boxes. Good times.

------
tiku
A great game for office Warfare. Low specs so everyone can play.

