BZFlag for an experiment

Help with Setup, Hardware, Performance or other Issues...Or just pimp your rig.
User avatar
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

BZFlag for an experiment

Post by timtak »

I would like to use BZFlag in an experiment to see why Asians tend to prefer third person games.

To do that I would need
1) a keypress logger with times to see which view players have preferred.
Does LogDetail, Logger, or BZAdmin do that?

2) The ability to set a keys that would change from
2.1) A first person shooter type tank (i.e. only the barrel showing) from a third person angle.
That might be achieved either by putting the view in front and above the tank so only its barrel is showing,
or by changing the tank to a barrel?

2.2) A third person type (normal) tank from a low down first person shooter type angle,
just behind the tank.

I am pretty sure that the position of the view can be set and by button press in the config file.

Does that sound doable, please? Which logger would you recommend?

LogDetail -- no
https://wiki.bzflag.org/LogDetail
It logs "Join/Part with IP" and chat including messages, but not other keypresses.
It is the only logger mentioned on the wiki.

And where does one find the plugins? There is thread in the plugins forum
contains a URL
viewtopic.php?f=79&t=8802&p=88701&hilit ... ttp#p88701
but the link does not work now alas.

Tim
User avatar
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

I could pay 100 dollars or more for a keylogger and view changer.
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZFlag for an experiment

Post by blast »

The server does not know what buttons you press. There also is not a third-person view in the game, at least while playing. Adding a third-person view to the game would also require forking the game to use a different protocol version, otherwise it would be a cheat client.
"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
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

I could use a keylogger, or just have players play in MarioKart and FPS versions and rate their enjoyment afterwards.

But if I can't set up a MarioKart like view then I can't perform an experiment.

> There also is not a third-person view in the game, at least while playing. Adding a third-person view to the game would also require forking the game to use a different protocol version, otherwise it would be a cheat client.

Oh, that is a shame. I thought one were able to adjust the viewpoint.

I can see how if one could put ones view anywhere it would allow cheating. I was thinking of a MarioKart type view, just a bit behind and to the rear, but if that is impossible then this is a nonstarter unless anyone would quote me for forking the software to allow view position movement.


( And I can't even play the game in single player mode it is too complicated for me! I think that on my other PC I did not install the server but since I have here, I am forced to join a server. urk.)

I have email notifications on now.

I see that BZFlag 3.0 or 2.99 has an option for changing the position of the view to a third person view
viewtopic.php?f=2&t=16917&p=154002&hili ... on#p154002
Yeah! Perhaps I am in luck.

I wonder where I can get 2.99. Alas all the links on these forums for BZflag 2.99 and 3.0 appear to be dead (the ones I have tried anyway) and they are generally from ten years ago.
viewtopic.php?f=62&t=14024

I guess so much has moved on in the gaming community that there is less impetus to continue to dev elope a more modest gaming engine (if that is the word), maybe. Even if that were the case, I think that for psychology experiments this level of detail would be fine though.

I think that for my purposes I only need a 2.99 or 3.00. I guess that there would be no competition, and there is no single player against the computer version, afaik. I think that without a single player mode, it is very daunting for beginners to join in. I was too scared. But then, 2.99 was to have "robots" which I guess means the ability to play against the computer.

Does anyone have a 3.0 or 2.99 exe that they would be so kind as to share?
User avatar
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

The 3rdPersonCam settings mentioned above in this thread are
3rdPersonCam
3rdPersonCamXYOffset
3rdPersonCamZOffset
3rdPersonCamTargetMult
So to make utterly sure
And noting that in the commit by Jeff
https://sourceforge.net/p/bzflag/mailma ... nth=200607
there are defaults for the above variables, including "0" for the first, so I just added a config.cfg file with just
set 3rdPersonCam 1
And entered "Decks" (I tried "obstacle course" where someone was so kind as to attempt to show me how to get out of the first obstacle to no avail) but I could not see myself.

So I definitely do need 2.99. I think I would also need to recompile it to contain the config file, and be a lot easier to use e.g. so that it automatically starts in a particular world.
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZFlag for an experiment

Post by blast »

2.99 is an abandoned branch that was rather broken and hasn't been touched since 2012. https://github.com/BZFlag-Dev/bzflag/tree/2.99

You'd have to run a 2.99 server as well. Regardless, from the server, you still wouldn't know if someone was using the third-party camera or not.
"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: BZFlag for an experiment

Post by JeffM »

Oh yeah, third person camera was abandoned long ago. The current game has no facility for it. 2.99 is not useable.

The API doesn't really do what you want. It only modifies server states, and the vast majority of what the game does is on the client. That data never goes anywhere. The server does not get key presses from the client or anything like that, or any info about the view. It just gets the 3d position of each player's tank and shots and repeats it to everyone else. The server is very dumb. BZFlag was not designed to be played over the internet.

You would need to make a decent set of modifications to BZFlag to do what you want, and you could have it log to some external system.

I can also tell you the results, everyone will pick third person in BZFlag, regardless of culture or ethnicity. It offers a wider range of view and lets you see things behind you. Since BZFlag is a competitive online game, everyone will want that advantage. This is one of the main reasons we did not move it into a mainline branch, it is effectively cheating due to the benefit it gives you. The wider field of view and more spatial awareness is a huge advantage in this kind of game. This is the same reason completive FPS players use a wide FOV, to see more of what is around your avatar.
ImageJeffM
trpted
Private First Class
Private First Class
Posts: 242
Joined: Mon Feb 21, 2005 8:29 pm

Re: BZFlag for an experiment

Post by trpted »

JeffM wrote: Mon Dec 14, 2020 8:01 pm BZFlag was not designed to be played over the internet.
Strange/odd.

If you what you say is true, then why at https://www.bzflag.org/getting-started/ does it says
BZFlag allows players to register their name, also known as their callsign. Some servers provide additional benefits for registered users, such as being allowed to vote in polls. Another benefit is that players can not use another player's registered callsign. To register a callsign, visit our forums and register an account. The username and password on the forums will be used as callsign and password in the game.
and has a link to this forum?

???

Please and thank you
User avatar
tainn
Private First Class
Private First Class
Posts: 278
Joined: Sun Nov 18, 2018 7:25 pm
Location: phantom_zone;

Re: BZFlag for an experiment

Post by tainn »

Because something not being designed for a purpose does not mean that it later strictly cannot fill that purpose. Bzflag evolved into a game played over the internet, albeit the design remains the way it was prior to it.
User avatar
Zehra
Private First Class
Private First Class
Posts: 915
Joined: Sun Oct 18, 2015 3:36 pm
Location: Within the BZFS API and Beyond it
Contact:

Re: BZFlag for an experiment

Post by Zehra »

Back to the topic at hand...

While I am uncertain if the view perspective can be toggled/bound to keys, implementing the needed modifications is rather simple.
The following would likely achieve what is desired, as this is simply understood to be for an experiment, hence it is a rather simple mod/hack.
(Protocol version changed would be needed as well.)

First decouple the aspects of observer-side view.
So the third-person view may be enabled while one is playing.
(Likely some additional modifications may be needed and will be a bit tricky to do.)

Either from within the autopilot or quick keys system, there is some code specific for sending messages.
Simply use those functions to send predefined messages upon the following actions:
Client join, view-perspective change, changes to mainly visible aspects (of your choice).
The above is done by simply calling a function whenever the view changes and some time after the client joins.

To log the data, a plug-in could receive the predefined messages as input and provide proper data as output.
Note: By predefined messages, slash commands are also included within the definition.
Above is simply a generic outline of how it could be done.

-Zehra
Those who are critical of me, I'll likely be the same of them. ~Zehra
The decisions we make are the ones we look forward too and the ones we regret. ~Zehra
There's a difference between knowing my name and knowing me, one shows respect to my name and the other is to who I am. ~Zehra

See where I've last been active at Strayers.
Visit BZList.net for a modern HTML5 server stats site.

Click here to view the 101 Leaderboard & Score Summaries Last updated 2021-01-12 (YYYY-MM-DD)
Latest 101 thread
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: BZFlag for an experiment

Post by JeffM »

Yes, BZFlag was designed to be a LAN (local network) game using TCP/IP. This means it CAN run on the internet, but it was never designed to do so. There have been no major redesigns of the networking system, so even though people do play it over the internet, it does not do it well. It has no concept of lag or server authority like later games that were build with the purpose of being played over the internet.

I only say this because many people who are not familiar with the the history of BZFlag assume that BZFlag's networking works like older online games (like quake, that was designed for internet play.), when it does not. This is the main reason cheating is so easy, BZFlag's original design for anti-cheat was "walk over to the computer of the cheater and smack them on the back of the head". How that evolved on the internet was "ban them".

If BZFlag worked like quake did, then the OP's ideas would actually be possible because a game like that uses the server for a LOT more than what BZFlag does.
ImageJeffM
User avatar
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

Thank you very much Blast, Tainn, Zehra and JeffM (The creator of 3rd person views on BZFlag, I think) for your responses.

Thank you Blast for telling me where to find 2.99
I hope that the server is in there too. II have installed Visual Studio and am about to install Win Git. complied a apache/mysql/moodle package for windows once ten years ago, but other than that it will be a first, if I manage it.

First of all, there is absolutely no need for me/the experimenter to log/sniff what the player/subject is doing over the Internet. I only suggested using the server since there was mention of it being able to log some user actions somewhere on the forums. Via-Internet observation would be ideal I guess, but I could also just ask subjects to send the log file, or even, at a minimum just ask them to rate the game that they have just played using say a Google form, or Word file.

All I really need at minimum is a game that can be played (and set to be played) in first and third person perspective. I have almost no need to control or observe remotely.

Subjects would not go messing around with a config file so if I were able to compile two versions, one in first, the other in third person perspective that would be great.

The ability to toggle between the two (as I think would be possible using the config bind function) would be even better. The ability to log such toggling (locally is fine) would be better still.

Regarding JeffM's point that everyone, pan-culturally, would prefer to use the third person perspective...

1) The radar provides a degraded (very low resolution, distant, looking directly down) third person perspective, and good players use it lots I presume but when facing off, the first person perspective has, in addition to a much higher resolution, a practical advantage in that one can look down ones line of sight, along the projectile/laser trajectory.

2) However, in addition to the practical advantage of a more conventional selfie-drone-like 3rd person perspective, that JeffM points out, there is also perhaps psychological attraction: narcissism. My theory is that Japanese like third person games not only because they want to see around themselves (for the practical advantages), but also to see the (often cute) character which is themselves that they can love.

3)Hence, I think that their may be a cultural difference in preference for an enhanced first person view and a *degraded* third person view. That is to say that Japanese may prefer a low down looking at ones back third person view even to a higher first person view.

In a preliminary experiment the Japanese prefer a degraded first third person view, where they can see their tank, to a higher "first person view" where in the latter they can not see themselves.

I am not sure though. But there would be no need for an experiment if I were.

I would not know where to begin with the decoupling and protocol changes, that Zehra so unless I can get 2.99 to work, I may have to give up on BZFlag.

I may have up to about 600 usd by way of budget but I have not checked yet with the office staff. Please let me know any kind programmers out there, on this thread or PM, if you might be interested.
User avatar
Zehra
Private First Class
Private First Class
Posts: 915
Joined: Sun Oct 18, 2015 3:36 pm
Location: Within the BZFS API and Beyond it
Contact:

Re: BZFlag for an experiment

Post by Zehra »

There's no guarantee, but I'm willing to give it a shot some time after Christmas time/end of year, but can't promise anything yet.
It might not work, so that's one thing to consider, although I'm fairly confident in my abilities.
(Although there's a decent number of programmers with skills much better than myself.)

-Zehra
Those who are critical of me, I'll likely be the same of them. ~Zehra
The decisions we make are the ones we look forward too and the ones we regret. ~Zehra
There's a difference between knowing my name and knowing me, one shows respect to my name and the other is to who I am. ~Zehra

See where I've last been active at Strayers.
Visit BZList.net for a modern HTML5 server stats site.

Click here to view the 101 Leaderboard & Score Summaries Last updated 2021-01-12 (YYYY-MM-DD)
Latest 101 thread
User avatar
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

Dear Zehra

Thank you very much indeed. I am sorry I did not respond sooner. I was rather busy lately due to Christmas being the deadline for graduation theses. Today (Christmas Day) I went into the school office and asked if it would be okay to spend the remains of my budget, 600 USD on software modifications and I was told it was okay. I have done it before, more than once.

The only problem is that they/we are a Japanese *national* university, which means that we think (or they think) they are utterly trustworthy and take ages to pay -- at the end of the month following delivery, so up to two months after delivery. The other issue is that since this is near the end of the year it needs to be done by 28th of January apparently.

The other issue I foresee is that if this is to be a modification of the current version then there will be no "robots" (i.e. computerised opposition), and since it will facilitate cheating it may not be allowed on the standard servers so that means that their may be no opposition which would make the game rather dull. Robots would be ideal.

There is no worries if it does not work other than that in that case I would not lawfully be able to pay, I am afraid.

I did not manage to make an executable of 2.99.

Tim
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZFlag for an experiment

Post by blast »

Version 2.99 would be rather unplayable anyway. There were pretty serious issues with the networking code that would only manifest after you had multiple people playing on a server for an hour or two. And a lot of half finished features.
"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
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

Thank you Blast,
But, if there were robots, (which would be preferable to people, since they always play in the same way, and are always ready and will play) I would not need any networking.
Tim
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZFlag for an experiment

Post by blast »

Bots might be okay. I honestly can't recall if that was tried.
"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
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

It seems that Zehra has been testing bots more recently.
viewtopic.php?f=32&t=20442&p=178336&hilit=bots#p178336
The thread above, if I have understood it says that bots have limitations in that if the user the bots are associated with is kicked, the bots are kicked too.

But no one would kick them. I am looking for a simple solo vs bots game.
User avatar
macsforme
General
General
Posts: 2069
Joined: Wed Mar 01, 2006 5:43 am

Re: BZFlag for an experiment

Post by macsforme »

If you are offering money, I’m sure you can find someone here who can create a custom fork for your experiment. As stated previously, it would not be allowed to be compatible with current clients, but if you are running a controlled experiment where you are distributing the custom client to each participant, I don’t see what the problem would be. Our list server has a protocol string that allows you to run custom servers and clients segmented off from the official versions.

Bots do work on our current stable release, but have limitations as far as what world object types they know how to interact with, so you would just be limited to what you can put in the map. Generally, non-jumping maps, with classic (1.x) objects only, like just boxes and pyramids, are going to be your best bet.

There is already an observer mode for third person (if you are observing another player, you can rotate between first person, third person, a fixed camera position that rotates to track the target, and roaming, IIRC). However, I gather that you want a third person camera for the tank being driven/controlled by the player. That will require some modifications, or backporting the feature from the 2.99 branch. It would help to know what level of control, if any, you want players to have over the angle and distance of the third person view.

As far as the server tracking what view a player is using for the purpose of your experiment, that could be implemented as an automated chat message (as mentioned previously), or more cleanly, it could be implemented as a custom packet sent by the client to the server, which the server can then track. If you are content with parsing server log output via a script to generate your report on usage of first versus third person views, that should not be difficult.

If you’re looking for a developer to implement this per your requirements, feel free to message me.
User avatar
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

I am offering money, 600 USD, but Zehra has already taken up the offer provisionally, so until he passes it up, I am offering money to him. That said, I have to have the software by 28th of January due to it being the end of the financial year so how about if I give Zehra till the 10th to come up with a buggy implementation or at least firm proposal? Would that be okay by you, Zehra?

I would like foreward-aft, and height above the tank and angle up down but there is no need for left right movement or angle. I would like for me to be able to set the view at the start of the game.

Ideally rather than just asking subjects "which view did you prefer?"/"How much did you like that view?" after they have played (which is one way of doing the experiment), it would be nice to be able to offer subjects the option of one of a couple of views set up by me, that subjects could toggle between, and to record which of those two they actually used on the subjects' local computer. They would then be asked to send that log file to me after they have played.

1.x simple objects would be fine. Just bots as opponents would be fine. Ability to use the flag race (?) mode would be ideal.

I hope to be able to compare
1) a low down FPS type view where conversely you can see the tank (like a Mariokart in Call of Duty)
2) a higher Mariokart type view where conversely the player can't see their own tank, or much of it, like only Mario's hands visible in Mariokart,
to test the hypothesis whether Japanese games often have a third person view mainly so that they can see around themselves (groupism/holism - the standard hypothesis), or to see themselves (visual individualism, my hypothesis).

Tim
User avatar
Zehra
Private First Class
Private First Class
Posts: 915
Joined: Sun Oct 18, 2015 3:36 pm
Location: Within the BZFS API and Beyond it
Contact:

Re: BZFlag for an experiment

Post by Zehra »

Dear Tim,

Thank you. I appreciate the offer and the conditions and terms are perfectly fine and reasonable.
I don't mind passing the offer to Macsforme, as he's generously offered his support and is more skilled and experienced than myself and has done other works which gives him experience and insights that I myself don't posses. (As well as being one of the official developers from the BZFlag project.)

He's previously done some work on github.com/macsforme/bzflag-embedded, which also had a separate branch which runs a separate version string and is not compatible with other versions.
timtak wrote: Mon Dec 28, 2020 11:59 pm I hope to be able to compare
1) a low down FPS type view where conversely you can see the tank (like a Mariokart in Call of Duty)
2) a higher Mariokart type view where conversely the player can't see their own tank, or much of it, like only Mario's hands visible in Mariokart,
to test the hypothesis whether Japanese games often have a third person view mainly so that they can see around themselves (groupism/holism - the standard hypothesis), or to see themselves (visual individualism, my hypothesis).
For point number 2, you might wish to look for the "Display Threads" option which may be found by going from menu selections Options -> Effects Settings -> Display Threads.

With regards to the "flag race mode", do you mean the option to enable traditional capture the flag mode or something similar to either of the following threads Flag Race, looking for a race plugin?

-Zehra
Those who are critical of me, I'll likely be the same of them. ~Zehra
The decisions we make are the ones we look forward too and the ones we regret. ~Zehra
There's a difference between knowing my name and knowing me, one shows respect to my name and the other is to who I am. ~Zehra

See where I've last been active at Strayers.
Visit BZList.net for a modern HTML5 server stats site.

Click here to view the 101 Leaderboard & Score Summaries Last updated 2021-01-12 (YYYY-MM-DD)
Latest 101 thread
User avatar
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

Thanks Zehra

> I don't mind passing the offer to Macsforme

So...who is going to be kind enough to implement this?

With regard to the "flag race" I would use one of the current modes. This needs no development nor plug in.

I have searched the Net and here but can't find what Display Threads does.

I set it and tried to join a server ("obstacle course") but I was disconnected.

I need for their to be a standalone version so that subjects (and I) can just move around and shoot on their own computer.
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: BZFlag for an experiment

Post by blast »

He meant treads, not threads. The tank treads.
"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
timtak
Private First Class
Private First Class
Posts: 16
Joined: Tue Nov 03, 2020 8:17 am
Contact:

Re: BZFlag for an experiment

Post by timtak »

trpted
Private First Class
Private First Class
Posts: 242
Joined: Mon Feb 21, 2005 8:29 pm

Re: BZFlag for an experiment

Post by trpted »

tainn wrote: Mon Dec 14, 2020 9:51 pm Because something not being designed for a purpose does not mean that it later strictly cannot fill that purpose. Bzflag evolved into a game played over the internet, albeit the design remains the way it was prior to it.
Just like on the Internet, it was all designed with trusting everyone ( This is before SSL versions came out. By that, HTTP -> HTTPS and Telnet -> SSH. ) ???

Please and thank you
Post Reply