Idea - the Narrator

Questions, comments, and news on the server side plug-ins and it's API
Post Reply
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Idea - the Narrator

Post by I_Died_Once »

OK, I've mentioned and hinted toward this idea before elsewhere, and after talking with JeffM2501, he said it wouldn't be nearly as har as it may seem.

The goal of this plugin is more for entertainment purposes. It takes events that happns during a game and says it to the players. (despite the info already being available) The current idea is to provide a narration of the game. It could be done anonymously via the /say command, or it can be made configurable to where it takes a spot in observer, similar to bzfscron. A forward looking idea in addition (possibly changing the name of the project from Narrator to Criminologist, or some other clever name) and have the plugin save certain information to a log file, making information like "which admin set the sky color to this horrid shade?" saved to a file, along with conversations held in public (and possibly private) channels to a file as well, neatly organized. Edutainment... This might be a one to integrate into the bzfscron project...


Anywho, aside from logging ideas down the road, the current and lift off part of this is the event part. For example...

If someone is hit with GM, the server would /say

$deadplayer just got blown out of the sky with a direct GM hit!

Now, since I am no coder, I'm not a programmer, I don't know what context to use to describe exact terms. My ideas and examples are just that. Anything I give with a dollar sign is a variable.

The plugin would give random messages according to the event. So in this phase of planning, we should defind an event. then give possible things for the server to say in said event.

This could get lengthy fairly quick, and getting things to say could take time. But if it takes off, we could have language translations...

The idea is to have a nice, long set of things the narrator can say, I would like to keep it clean, so it can be used anywhere. Maybe an underground, X rated version can be afoot - but the initial idea to have somehting anyone and everyone could use. So, please do not reply and suggest anything like "...just got his balls blown off by..." So I say use "secretplace" rules for submissions. Meaning if you can't get away with saying it on secretplace, save it for the underground version.

So the guideline for suggestions is this:

give an event
give suggestion as to what the server might say when said event happens

I'll go first with my own sugestions. I want to be as expandable as possible with this, so think outside of the box.
...This has been a recording.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

when someone gets killed with GM:
$deadplayer was blown out of the sky with a deadly GM hit!
A guided missile has sought out and destroyed $deadplayer



When someone with the useless flag gets a point:
$playerwithuseless has made good use of the useless flag!


This could also be used to shame - when someone steals a team member's flag:
$theivingplayer just stole a team member's flag! How rude!

When a TK happens
$TKingplayer just killed his own team mate!
(whatever other random message that would apply) - BY HIS OWN TEAM MATE!

TK's in a row:
$TKingPlayer has killed his team mate $number times in a row! What an atrocity!
...This has been a recording.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

Or upon flags that give status:
Don't bother looking on your radar for $playerwithST as they just picked up a stealth flag!

I would also like to be able to give options for special message when an event falls under two or more conditions....

like when a player with GM manages to kill a player with ST (a rare, but possible occurance)
$playerwithGM landed a guided missile on a tank with ST!
$playerwithST had stealth and STILL got blown to bits by a guided missile!

or when a tank with blindness kills a tank with ST
$playerwithBL has dome thie impossible and shot a stealthed tank while blind
&playerwithST couldn't even hide from a blind tank while stealthed.

Or some simple things...

like when a tank joins, and upon his first, initial spawn
Beware: $player has entered the game

When an admin logs on (or when a players give the /password)
Straighten up, an admin is on!
$admin is an admin, and is here. Consider this your warning.

upon a player spawning:
$player is back in the game!
$player has spawned somewhere out in the field and is looking to take some names!

when somene gets any given flag:
$playerwithSW just picked up the shockwave flag! Better not get too close!
$playerwithG just got Genocide! Stay clear!

someone killed by laser
$deadplayer just got vaporized by laserfire!
$playerwithL cut $deadplayer in half with a laser!
...This has been a recording.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

More toughts....

Yes, this will clutter up any given dialogue box quickly if it displays a message upon every possible event... which is up for debate. Here's how I would like to see it work...

load plugin, give it a config file to work with. Now, I say we should do this something liek we do the masterbanlist and keep the narration file online by default, but make it where you can use a local one if you would like. People could make their own versions... like a christmas edition, or a potty mouth version. And it could be done where the plugin gets the event data and matches it up with event narrations given in the narration file.

In the sample config...

####

# This option determines how often the plugin waits before givng a narrartion
#message. 1 gives one message every five minutes and 10 gives several
#messages a minute. This may become annoying and/or distracting for
#players.
frequentness 1

#This is where messages are stored that the plugin uses. Most players should
#not need to change this
-loadnarration http://www.bzflag.org/narrator.html

#or if you have a narration file you would like to use locally
#-loadnarration /path/to/narration/file.txt
#-loadnarration C:\Path\To\Narration.txt

#####

Or in the -loadplugin command, make it where you give it two arguements. Airspawn takes a number, others take a config file - this can take both. First the number, then the file (or URL) This might make this the one plugin you HAVE to give in the conf file

-loadplugin /path/to/narrator.so,10,http://www.bzflag.org/narration.php

or

-loadplugin /path/to/narrator.so,5,/path/to/narration.txt

the narration.txt file (or whatever extension it gets) would consist whatever language is defined by the plugin, and should be expandable. It'd really be cool if we could have it be able to take an online repository of things to say... One we can continuously contribute to... a public one that is safe for everyone to use..

Another thing to consider when coming up with things for it to say is this - be clever and interesting. A part of the point, I think, is to give something to distract other players. So be clever, and be creative. Lets try not to have the same sentence structure like we already get from the current info

$deadplayer was killed by $scoringplayer 's $weaponflag

Lets break away from that and come up with more interesting reading. While everyone is reading these things, you're blowing them away... and generating more events!
...This has been a recording.
User avatar
RPG
Lieutenant, Junior Grade
Lieutenant, Junior Grade
Posts: 2015
Joined: Fri Sep 17, 2004 2:37 am
Location: Chicago, Illinois
Contact:

Post by RPG »

The plugin idea would be easy. Note that I'm not making any more official pugins until 2.0.4 is released. Therefore I can have a stable API to work with, as it gets hard maintaing multiple plugins every time the API moves up.
User avatar
TD-Linux
Sergeant
Sergeant
Posts: 724
Joined: Wed Apr 27, 2005 8:26 pm
Location: Mountain View, CA

Post by TD-Linux »

I could do it,b ut I know no C++ of recent. I know 10 year old Turbo C++, but that really dosen't help. :P
User avatar
Hannibal
Private First Class
Private First Class
Posts: 1073
Joined: Mon May 02, 2005 10:27 pm
Contact:

Post by Hannibal »

vader, that would mean a msg. like every 3 seconds on the crowded places...unless that could only go with regged players, admins, or everyone, depending on settings
Games don't make people violent, lag does.
ImageImage
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

thats why I say make it adjustable as to how often it talks. You can make it talk to you ALOT, or just once every two minutes or so.
...This has been a recording.
Post Reply