En Garde Scoring
Tuesday, October 23, 2007
I've been thinking about changing the way En Garde handles the tournament (ranking) scores, and I'd like some feedback from everyone.
To recap the current scoring: You get a point for every touch in every game. If you beat someone who has more points than you, you get also get their points. Points expire after two weeks.
What I like about this scoring is, it gives newbies a chance to get their name up on the board. They won't be frustrated with someone having 400 points and never having a chance of overtaking them. Also, I think if you beat the #1 player, then you should be the new #1 player. This system does that.
I've wanted to add Team scoring to En Garde. Here's how it would work:
Score boards would have a new "Team" mode that would display team scores, in addition to the World and Local modes they have now.
Anyone who has purchased En Garde would have the right to make a Team. Any player can join a team by clicking a team owner's scoreboard (or other prim). You can only join one team at a time; if you join a different team you leave your previous team.
The question is, how do we calculate team scores?
The obvious approach is to just add everyone up. The team score is simply the sum of the tournament score of all its members. The problem with that is, all team members will have roughly the same score. Since you get someone's score by beating them, if everyone on the team loses occasionally, their scores will be about the same. So the easiest way to improve your team score is to add lots of members to your team, and I don't want that. This is En Garde, not Tiny Empires.
So now my thought is, what if the losing player lost points. Everything else about the scoring would stay the same, except: If you beat someone with more points than you, you get half their score, and they lose half their points.
That way, a team with less members wouldn't be at a disadvantage. When team members played between themselves, they'd just be spreading points around (you do get a small increase, because you still score your touches). The way you increase your team score is by beating members of other teams. That takes points away from the other team and adds it to yours (as well as your individual score of course).
The disadvantage of this system is it makes it harder for new players to get on the board. And, beating another player doesn't guarantee that you'll rank above him on the ladder. But I don't think those are terrible disadvantages, and I'd like to try it
What do you think?
En Garde update v1.08
Saturday, October 20, 2007
A new version 1.08 of En Garde is available.
I'm sorry to push out two updates in two days, but 1.07 introduced a new bug that needed to be fixed fast.
To update your En Garde, just use your remote to deliver it and replace your old unit:
- Put on your En Garde Remote
- Say "/8 derez"
- Say "/8 deliver game"
- Rez your new 1.08 En Garde
What's new:
- A new bug was introduced where the game could hang if a player did an advance-lunge as the last move of the round.
- I've included the video tutorial in the package. You can get it by picking up a whole new box (just click any En Garde vendor), or get a new remote ("/8 deliver remote") and then use the new remote to get the video player ("/8 deliver video"). I may have to take the video down some time in the future, if bandwidth becomes too much.
En Garde update v1.07
Friday, October 19, 2007
A new version 1.07 of En Garde is available.
This version has two minor bug fixes, and one new feature.
To update your En Garde, just use your remote to deliver it and replace your old unit: - Put on your En Garde Remote - Say "/8 derez" - Say "/8 deliver game" - Rez your new 1.07 En Garde
What's new:
- If a player clicked very quickly at the end of the game, they could sometimes get an extra attack in. Some players think that the "last-second attack" means you have to do it real fast when the cards run out. That's not true. En Garde is completely turn based and there's no "click fast" element. To do a last-second attack, you just need to have the right card(s) in your hand at the end of the round. Anyway, clicking fast will have no effect now.
- The start player didn't change properly after an advance-lunge touch. The player who lost the previous point should always start the next round. In the case of a point scored off an advance-lunge, that wasn't happening. It is difficult, though not impossible, to score a touch directly off an advance-lunge (your opponent must have no cards that can be used to parry or retreat). Fixed.
- You can now customize the appearance of your game. Create a texture and name it "tile". Click your game, select "Set Texture", and control- drag your custom tile texture onto the center square of the track. You can also change the appearance of the cards in the hud, by doing the same with a texture called "card". The card texture must have images for all 5 cards: two across, three down (the lower-right corner can be blank). I can give you a template to show you how it's done if you want.
New Follow Me Update v1.7
Sunday, October 14, 2007
I've just released a new update to Follow Me (version 1.7).
Follow Me is now a HUD, instead of a big green ball that floats over your head. What was I thinking? I'll tell you what I was thinking. I was thinking it would be so cool to have 20 people all TP into a sim with green balls over their head. People would look at it and wonder, what is going on here? The problem is, of course, that nobody wants to be the first person to TP in to a sim with a green ball over their head. So, it's gone.
I have removed the last vestiges of XMLRPC. Oh, XMLRPC! What promise you had! And then, what poor implementation. XMLRPC is dead. Long live HTTP.
XMLRPC was responsible for those times when you lost contact with your followers. So that should happen less frequently. As in, never.
Also a pet peeve of mine: no-script areas. You would get all set and linked up, only to discover after you TP that you've TP'd into a no-script zone and none of your followers can follow you. Well, no more. Follow Me will work just fine in no-script areas. You can TP anywhere in the grid without worry.
Finally, there is the new Track button. It lets you follow someone even if they aren't using Follow Me. It's less accurate -- it only tells you the sim, not the exact location, and you will lose the trail if they TP again before you catch up with them. Still, it should be useful in situations where someone wants to show you something real quick and they don't want to be bothered with putting on another HUD.
Destroy all megaprims
Saturday, October 13, 2007
The latest news that has the SL community in an uproar is Friday's blog post from Michael Linden about the possibility that Linden Lab will do something about the Megaprim problem.
Reaction has been somewhat mixed, but I'd say the most vocal opponents are all outraged over this, and popular sentiment seems to oppose a megaprim ban.
I say, tough. I want Linden Lab to delete all megaprims.
What most of the posters don't seem to realize is that prims are a resource utilization metric. They're the size they are (10x10 max) for a reason. They measure how much of the overall grid you are using. It's not just some arbitrary size. The more prims you have, and the more volume you cover with them, the more network bandwidth you use (to send geometry and texture information to everyone who sees them) and the more CPU cycles you use (to calculate occlusion, collisions, physics, etc). When you use megaprims, you're using more than your fair share of resources.
The arguments for keeping megaprims seem to fall into three or four broad categories:
"They're too useful to get rid of! Without megaprims I'd never be able to build my house/RPG sim/ amazing sculpture and keep it under the prim cap"
Well, duh. There's a reason for the prim cap. Just because megaprims let you cheat your way around it doesn't mean you deserve to keep them.
I see post after post of people saying "I used megaprims to build a floor that would have taken much more prims otherwise! So it actually saved prims and uses less resources." Maybe that would be true if all you built is a floor. But did you stop with that? No. You kept on building, using every last prim -- much more than you could have if you didn't have that megaprim floor.
"I used megaprims to build my amazing sim that everyone loves, and if megaprims went away I couldn't rebuild it."
Guess what? You have only yourself to blame.
Unlike WarpPos, or the llSetLinkPrimititveParams() move trick, megaprims are a hack. Not the "clever way of using LSL" kind of hack, but the "try to defeat planned safeguards" kind of hack. There was code in the viewer that explicitly tried to prevent you from making these giant resource hogs! The only reason they exist is because one person hacked around the safeguards.
Megaprims were always shaky. From the day Linden Lab patched the server to fix the megaprim exploit, users were warned, "these might go away at any time." If you constructed your build around a feature Linden Lab explicitly warned you was flaky, then it's your own fault if it comes tumbling down.
"I've never seen Megaprims cause any problems for anyone"
Excuse me, do you have the statistics on bandwidth utilization from Linden Lab? Can you tell me how megaprims affect the visibility culling algorithm from across sim boundaries? No? Then quit talking out of your ass. When the megaprim hack first appeared, the Lindens said they would study it to see if it impacted grid stability too much. Guess what -- they do!
"Don't ban the tools, ban the people"
This isn't about griefing, or good versus bad uses of megaprims. It's about keeping the grid stable for everyone. Megaprims hurt everyone, by destabilizing the resource metrics.
Perhaps someday, with increased bandwidth and CPU capabilities, we will be able to have megaprims for everyone. For now, though, I will be very happy to see them erased from the grid.
Magic Texture Fountain update
Continuing all my updates of the "other stuff"...
The Magic Texture Fountain is something of an odd beast. It's kind of hard to explain, and it's not like anything else in Second Life.
Basically, you drop a texture in it, and the Fountain breaks it up into little pieces and reassembles it in the air. Here it is displaying an ad for Zingo.
I think it's a really cool effect, but it's never really sold well.
Anyway, I got it working on both sides (something that's bothered me for a long time) and cleaned up some of the scripting code. You can see a demo of it outside my Malrif workshop.
Victim of my own success
Monday, October 8, 2007
En Garde is getting great play, I can see people playing it all day long.
And it's killing my web server.
Every time a game is play, it recalculates the rankings. I can see in my server logs it's taking upwards of ten seconds to do that calculation. That's ten seconds where all my vendors are frozen. And you'll notice it takes at least ten seconds for your new score to be reflected on the board.
Partly it's because I'm running the server on a cheap account, and partly it's because the code isn't as optimized as it could be. So I'll work on the latter.
UPDATE: I've got it down to about five and a half seconds now, which I'll have to live with. Optimizing it further will be quite a bit of work.