Honors 1.0: I need YOUR help!

Questions, comments, and news on the server side plug-ins and it's API
Post Reply
User avatar
Strakowski
Private First Class
Private First Class
Posts: 79
Joined: Wed Jun 24, 2009 4:40 pm
Location: hiding somewhere in Overdoze

Honors 1.0: I need YOUR help!

Post by Strakowski »

I'm currently working on a fun little plugin called "Honors". It's designed for those crazy gag maps, the uncompetitive servers where no one gives a hoot about score. Remember those late arcade games that gave extra points based on "combo moves"? It's essentially the same idea; Honors awards extra points (kills) for the completion of difficult tasks.

I've already programmed the outlying skeleton for the plugin, and now all that is left is the individual programming of the "honors". This is where you come in. I've got a pretty healthy list of possible honors, and I've already implemented a few, but the collective intelligence (and stupidity) is a far brainstormer than I could ever be by myself. So, forum, in short, I need you to think up some creative honors to go into this plugin. Such is the beauty of the Open Source community. They should be difficult and in no way promote negative or circular play (no 'revenge' honors please), and should still be fair when there are few players. And yes, you will be sited in the readme. :D Here are a a few of the ones I've got so far:

Merciless- Steal another player's Geno Flag and kill them with it :twisted:
Humiliation- Kill 'x' players consecutively, while holding their own team flag (and without dying)
One Stone- Kill 'x' players with one laser shot
Nonviolence- Capture another team's flag from their base without firing once (after spawning)
MacGyver- Kill 'x' players consecutively, with a Useless Flag (and without dying)
Jack of All Trades- Make at least one kill with every flag in the map (excluding bad flags). Most addicts will complete.
Stevie Wonder- Kill 'x' players while holding a blindness flag (very badass)

Note: 'x' is a different value for each of the instances above. Each honor has it's own parameters.

Thanks!- Strakowski

Other Details:
-The mapmaker picks the honors he/she wants to use
-Every honor has customizable parameters
-I figured that there are way too many parameters to load with "-loadplugin /file/path, parameter", so the mapmaker will use a custom map object called "honors" in the bzw file
-Admins can use "/honorset" to (de)activate any honors or change parameters or "/honorclear" to clear all current player data
-Data for individual players is stored in a std::array <honorData>

P.S. General comments are welcome too :)

Update: Will be compatible with 2.0.10/12 after all (See the posts below). There is now a separate scoreboard for honor points.
Last edited by Strakowski on Sun Oct 25, 2009 2:22 pm, edited 2 times in total.
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: Honors 1.0: I need YOUR help!

Post by joevano »

This will only be possible on 3.x (2.99.x) servers. In 2.x there is no way for the server to modify the score.
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
Strakowski
Private First Class
Private First Class
Posts: 79
Joined: Wed Jun 24, 2009 4:40 pm
Location: hiding somewhere in Overdoze

Re: Honors 1.0: I need YOUR help!

Post by Strakowski »

Right, it won't be ready until then (third quarter 2020?); the test plugin will just display messages in place of the score-setting. I want to have a server-ready plugin, full of functional Honors to deploy by the time it comes out, and I could probably track my debugging on a calendar if I tried.

Update: No longer applicable. There is now a plugin local scoreboard for honor points.
Last edited by Strakowski on Sun Oct 25, 2009 2:23 pm, edited 1 time in total.
tobylane
Private First Class
Private First Class
Posts: 130
Joined: Thu Jan 29, 2009 4:21 pm

Re: Honors 1.0: I need YOUR help!

Post by tobylane »

Will there be an option for it to just be messages/seperate chart? While I am fairly alone in endless geno whinging, it seems like a little work for a big option.

You've got amazing ideas, I can't think of any, even most of them are new to me.

Get from your base to their base via 1/all corners of the map? Stand under/over their flag and kill them?

Do you mean cited, not sited, meaning to note that you've referenced someone.
User avatar
Strakowski
Private First Class
Private First Class
Posts: 79
Joined: Wed Jun 24, 2009 4:40 pm
Location: hiding somewhere in Overdoze

Re: Honors 1.0: I need YOUR help!

Post by Strakowski »

Yep, I meant "cited" (I am knig of typos). "Site" makes it sound like I am going to physically place you in the readme, doesn't it. :D

Also, I like your idea of a capture honor for using every corner of the map (or even harder, circling the entire perimeter). I could use bz_getBZDBInt("_worldSize") to determine where the corners of the map are located, and add a perimeter to determine the size of the "corners". Or maybe even the reverse: capture the other teams flag while going straight down the map and back.
tobylane wrote:Will there be an option for it to just be messages/seperate chart? While I am fairly alone in endless geno whinging, it seems like a little work for a big option.
Sorry, I am not really sure what you mean by this. Assuming you mean a message-only option for 3.0, yes there will be.

If by "seperate chart", you meant a seperate scoreboard just for honors, I am going to have to thank you profusely for such brilliant thinking :idea: . I didn't even consider making something like that. That's probably a much better option that increasing kill-score anyway, and it would work with 2.0.10.

Whew. I was really expecting to get flamed about this.
User avatar
Spazzy McGee
Sergeant Major
Sergeant Major
Posts: 1405
Joined: Mon Mar 21, 2005 4:59 pm
Location: Planet MoFo, Sheffield Division; United Kingdom

Re: Honors 1.0: I need YOUR help!

Post by Spazzy McGee »

Personally, I think it's a genius idea, and one that should definitely be at least given a go, seeing as there's such a keen developer behind it. :)

Size Matters - kill a tiny tank with the Obesity flag
Ghostbusters - Kill x zoned tanks with shockwave or superbullet (because this rarely happens in real play)
Ninja - stay within x units radius of a tank for x seconds before killing him. (Stealth might be useful, might be fun on no-radar maps)
Lucky Shot - Kill x tanks with trigger happy
Wisdom of Crowds - kill x tanks with one SW blast
Spiderman - Get above x height on a map without using wings (this would be quite map-specific, I know. But a nice option to have.)
Happy Camper - Take out x tanks from one position (only allowed to move rotationally, or alternatively within a certain small area)
Sitting Duck - Sit on the enemy base for x seconds (possibly without killing anybody?)

This is just me rattling off ideas as I think of them, so feel free to berate their quality or lack thereof. I'll probably think of more.
"Life is what happens to you while you're busy making other plans." - John Lennon
User avatar
optic delusion
Special Forces
Special Forces
Posts: 1054
Joined: Sat Sep 25, 2004 2:29 pm
Location: Planet MoFo
Contact:

Re: Honors 1.0: I need YOUR help!

Post by optic delusion »

Great Idea for a plugin Strakowski! Reminds me of a version of the playHistory plugin we had, that announced the type of flag used in a rampage. I won't say the plugin is great till the source is evaluated.

Useless flag rampage should be called "Trivial Pursuit"
Take a look at my Defender game mode concept.

Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.
User avatar
Spazzy McGee
Sergeant Major
Sergeant Major
Posts: 1405
Joined: Mon Mar 21, 2005 4:59 pm
Location: Planet MoFo, Sheffield Division; United Kingdom

Re: Honors 1.0: I need YOUR help!

Post by Spazzy McGee »

Teamwork - this one is slightly different... Kill all the members of the other team within x seconds, without using genocide (points awarded to all players that killed a tank).
Grounded - Kill x tanks without jumping
Running Amok - (In conjunction with the playHistoryTracker), get x rampage/spree/unstoppables in a row.
"Life is what happens to you while you're busy making other plans." - John Lennon
User avatar
Strakowski
Private First Class
Private First Class
Posts: 79
Joined: Wed Jun 24, 2009 4:40 pm
Location: hiding somewhere in Overdoze

Re: Honors 1.0: I need YOUR help!

Post by Strakowski »

I love the ninja idea, McGee! Just a little Pythagorean Theorem and a couple of if/for statements... that'll be fun to try and earn. You know, I think we could really go around and do an ['x' number of kills with <insert bad flag here>] for every bad super flag (except maybe Colorblindness; Rogues hardly even notice that one). Maybe we could make these a touch more difficult and add a victim specific flag: Killing tiny with obesity, wings with nojumping, cloaking with jamming, etc. That might add a little variety

The only one that I'm not really sure about is "Happy Camper" (brilliant name though), as many players find campers extremely annoying as is.

"Ghostbusters" would definitely be on the list, but I'm not sure how to determine if a player is zoned with the current API, unless someone knows something I don't... :)

Optic Delusion, I'll post source up in a week or so, I decided to rebuild the main frame for better organization and compatibility for future add-ons. Oh, and "MacGyver" has been changed to "Trivial Pursuit" as you suggested.

Here are a couple of new idea for the road:

Conservative- Kill 'x' players with one bullet each
Paratrooper- Kill 'x' players with a faster vertical velocity than - 'y' units a second
<Insert witty name here>- Kill a player who's in the air while burrowed (ricochet is needed)
User avatar
Spazzy McGee
Sergeant Major
Sergeant Major
Posts: 1405
Joined: Mon Mar 21, 2005 4:59 pm
Location: Planet MoFo, Sheffield Division; United Kingdom

Re: Honors 1.0: I need YOUR help!

Post by Spazzy McGee »

For kill a player who's in the air while burrowed (ricochet is needed): "Surface to Air"? "Ground hog"?

A better name for the SW one I posted above would be "Collateral Damage"
"Life is what happens to you while you're busy making other plans." - John Lennon
User avatar
lep
Private First Class
Private First Class
Posts: 248
Joined: Tue Jun 17, 2008 12:03 am
Location: San Diego, CA
Contact:

Re: Honors 1.0: I need YOUR help!

Post by lep »

I think this is a marvelous plug-in. Great idea here Strak. I think I've got one, but its a bit general.

Aeriel Attack- kill 'x' players while remaining above ground without a flag (on a box/building)
User avatar
Strakowski
Private First Class
Private First Class
Posts: 79
Joined: Wed Jun 24, 2009 4:40 pm
Location: hiding somewhere in Overdoze

Re: Honors 1.0: I need YOUR help!

Post by Strakowski »

Alright, short update, I've 'finished' the programming for Merciless, Nonviolence and Surface to Air; (thanks a ton for the name, Spazzy, among your other great ideas), but I've yet to test them so they probably don't work yet. I realized that the Burrow Flag doesn't affect tanks who are above ground level, so the revision of Surface to Air detects if the killer's height is less than 0. There are now 5 commands, 2 of which can be executed by unauthorized players (honordata & honors).

/honors- Displays the current scoreboard of honors in the map

/honordata- Displays the current points and earned honors of a given player

/honorset- Activates/Deactivates honors and sets their parameters if specified (Admin)

/honorclear- Resets the honor data of a given player (Admin)

/honorsuperclear- Resets all honor data of all players (Admin)

Honorset has not been implemented yet, but the rest are completed. Should I add a command for manually awarding Honors to players?

I'm also throwing around the idea of "dishonors" (Unofficial name), honors that take away points for things like repeatedly hunting and killing the same person 'x' times in a row. I don't think I'm going to go through with it though. Maybe as a later addition.

I've also programmed a little experimental feature that 'memorizes' honor data for players by recording it in a given txt file. This way, players retain their honors even after leaving the server or the server shuts down. However, I don't want to bite off more than I can chew, so it will not be available in release 1.0, unless I'm certain it'll work.

P.S. Congrats on 200 posts littlelep!
User avatar
lep
Private First Class
Private First Class
Posts: 248
Joined: Tue Jun 17, 2008 12:03 am
Location: San Diego, CA
Contact:

Re: Honors 1.0: I need YOUR help!

Post by lep »

haha thanks strak! i love being a part of the forum.

I really think this is a valuable plug-in and your commitment to it is what others lack. Good luck on finishing up and im sure everyone is looking forward to it

lep
User avatar
clarahobbs
Private First Class
Private First Class
Posts: 272
Joined: Thu Jan 10, 2008 1:45 am
Location: The Fourth Dimension

Re: Honors 1.0: I need YOUR help!

Post by clarahobbs »

This looks like a good idea. You might be able to make it work in 2.x by making a bot that a player is forced to kill by the server to have points awarded.
  • Burglar - use Thief to take a team flag from a member of that team, then capture it without dying
  • Cake - fire a shot through 'x' teleporters and kill someone with it
And yes, I mean cake. If you don't understand the joke, please buy Valve's game Portal and play it and enjoy it. Then you will get it.
FKA Ratfink
User avatar
Strakowski
Private First Class
Private First Class
Posts: 79
Joined: Wed Jun 24, 2009 4:40 pm
Location: hiding somewhere in Overdoze

Re: Honors 1.0: I need YOUR help!

Post by Strakowski »

The cake is a lie!

It's feels like forever since I've messed with Portal. Personally, I think Valve has the best physics ever designed (except maybe PacMan :) ). Anyway, It's a fun Idea, but I'm afraid the server really has no idea where the bullets are, and there is currently no event for teleported shots, only teleported tanks.

We could have something like "capture a flag using every teleporter on the way back. I'd need to run a loop to identify every teleporter ID though; does anyone know if the server assigns teleporter ID's consecutively (first tele = 1, second tele = 2, etc.)?? And will bz_getTeleLinkName(non-existent-teleporter-ID) return a null value?

Update: I created an array that stores data for any honors involving consecutive kills with a certain flag. Two variables involved:
conFlag- char that stores the type of flag;
conTimes- how many tanks the player has killed with that flag (consecutively)

I'm also in the process of creating an array that stores data for each flag for each player. Currently just boolean values of what flags a player has picked up. So I guess I'm pretty close to completing Jack of All Trades.
Last edited by Strakowski on Mon May 17, 2010 6:51 pm, edited 1 time in total.
User avatar
Strakowski
Private First Class
Private First Class
Posts: 79
Joined: Wed Jun 24, 2009 4:40 pm
Location: hiding somewhere in Overdoze

Re: Honors 1.0: I need YOUR help!

Post by Strakowski »

Hello, all. Just thought I'd drop in for a quick update. The code is getting messy. It's becoming impossible to locate handlers, classes, etc., so I am beginning to rewrite what I've done so far. However, this time I plan to spread the honors into individual classes, and in their own files. Hopefully, if everything works correctly, it should be a lot easier to test, organize, expand and add honors to the plugin.

While I'm on the topic of problems, I've got another dilemma. It's becoming increasingly apparent that debugging is going to be quite a hellish experience. Some of these honors are so difficult to achieve, and I can't think of any other way to test them. I suppose I'm going to have to gather a few of my buddies to help test this, but if anyone else has a better idea please let me know.

The next couple of weeks, my progress is going to wane even further (please be patient). I've got a few family obligations that are going to get in the way, but I've also got a map I'm trying to finish :D. I'll resume my normal working schedule once all this blows over.

--Update--
Alright, with holidays past, I'm back working on this. I've been wondering if there might be a way to make adding honors easier, some way to add them without modifying the main C file. Still open to any suggestions, though I'm probably more prone to add honors with higher coolness:difficulty-to-test ratios.
Post Reply