Golden Frootcake Tournament

Saturday, December 29, 2007

Come participate in the Golden Frootcake Tournament 2007!

As part of Second Life Winterfest 2007, the Frootcake Diner will
host the Golden Frootcake Tournament. How good are you at passing
those cakes around the table? Now's your chance to find out!

Here is how the contest will work. For one week starting Sunday Dec 30,
all Frootcake players will be ranked, similar to the World
Champion ranking in En Garde. You can play as many games as you want.
The ranking system awards points according to who plays the best.
In general, points are awarded for:

  • Winning games

  • Placing high in multi-player games

  • Beating people who are ranked high

At the end of the week, the top 5 players will compete for the
Golden Frootcake trophy.

Don't know how to play? I just released a new video teaching the
game. You can watch it at the Diner, or on YouTube here:

En Garde scoring, yet again

Friday, December 14, 2007

We've been living with the new En Garde scoring for several weeks now, and I think that's enough time to evaluate it. I've gotten comments from several people, and everyone pretty much agrees.

It sucks.

I'm sorry, I really thought it would be better than this. But sometimes you can't tell how something will play out until you see it in action.

There's several problems with the new scoring system. First of all, the three games per day limit can sneak up on you. You can't tell if a game you play will count in the scoring or not. This was originally intended as a diversity control: playing lots of games over and over shouldn't add to your score as much as playing many different people. My number one goal in designing a scoring system is to get lots of people to play as many different people as possible, and get new people playing that way.

The biggest problem is with the point loss system. When you lose a game to someone who is ranked lower than you, you lose some of your points. This was intended to provide a little fluidity in the rankings. What has happened instead is, people are afraid to play new players. That's terrible. But I can understand it. There's just too huge a penalty if you lose to a newbie, and the risk is too great.

So, I have to rip all that out, and come up with yet another scoring system.

I am working on a new system that I hope will fix these problems, and provide an accurate ranking of players while encouraging new play. The system is based on Google's PageRank -- the same system Google uses to rank the results when you do a web search, I want to modify and use to rank fencing players. There are many advantages to this. I think it can solve the problems I've listed above. There are disadvantages too. One disadvantage is that it's really complicated, and hard to explain to people. But I have to do something, and so this will hopefully be another small step forward.

I hope to have the new scoring implemented sometime in the coming week. Like all scoring changes, it will be retroactive, and can possible make radical changes in the current rankings.

FAQ for Macros, Tracking Devices, etc

Friday, December 7, 2007

I've had to deal with a lot of issues recently regarding macros, tracking devices, etc. I hope this can clear things up.

What sort of things are not permitted when playing Procyon Games?
Anything that gives one player an advantage over another is considered cheating and is not allowed during play. This includes, for example, macros, HUDs that track information (public or not), materials outside the game such as pencil and paper, and alternate accounts.

Really? I can't use pencil and paper?
Here's a rule of thumb you can use to help determine what's acceptable. Imagine if you were playing the game real-life, face-to-face across a table from your opponent. If what you're considering would be unacceptable in that setting, then it's unacceptable in Second Life.

What about after the game?
After the game, you can do whatever you want. It's acceptable to use pencil and paper between games of Zingo. And you can use alt accounts to play games, as long as you don't use two accounts simultaneously in the same game, or use them to manipulate global scoring.

What if someone is cheating?
If you are playing someone, and they're using an unaccepted method to gain advantage, you should ask them to stop. You can direct them to this blog post.

What if they refuse to stop?
If they refuse to stop cheating, then you can tell me and send me a chat log.

What if someone is distributing a cheating device?
Tell me about it, and I will investigate.

I'm not going to stop cheating. What are you going to do about it?
Any player who refuses to stop cheating will be banned form Procyon Games. Banning means your name will not appear on any high score lists, and you won't be able to play any of the games. This applies to all Procyon Games, not just the one you were banned for.

How long does banning last?
Bans will be lifted when a player tells me they won't cheat any more, or when the item is removed from distribution (if they were distributing some item)

You can't tell if I'm cheating. What's to stop me from telling you I won't, but keep cheating anyway?
Are you really the kind of person who would lie like that? If I find out someone has lied to me about cheating, then I'll have to put a permanent ban on them.

En Garde Statistics

Saturday, December 1, 2007

I keep a log of every game of En Garde played. Mostly it's to calculate the rankings, but it also allows me to calculate statistics like this:

Week EndingGames Played
Oct 6119
Oct 13200
Oct 20169
Oct 27402
Nov 3216
Nov 10452
Nov 17295
Nov 24258
Dec 2304


Friday, November 30, 2007

En Garde uses a game mechanic I call "obscured information." It's information that theoretically you could know, if you had a perfect memory, but in practice everyone just keeps only vague track of things, and ends up using guesses and hunches to base their moves on. It's the same mechanic used in Danger Zone (for gems) and Frootcake (for the coins). It allows a little bit of randomness into the game, and is a big part of what gives the game its playability.

Adapting these games to a computer medium leaves open the possibility of automated tracking devices. It's simple enough to write a script that tracks this information for you. It changes the tenor of the game, making it less fun. And of course, it gives an unfair advantage to one player if his opponent is not similarly equipped. So it's always been the policy at Procyon Games to make such devices illegal. Anyone caught using one will be banned from all Procyon Games, and their name will not appear on any high score board.

Also -- and this should go without saying, really, but I include it for completeness -- the use of alts to play against yourself, or to manipulate the score rankings in any way, is also considered cheating, and carries a similar penalty.

Status Report

Here's what I'm working on at the moment...

En Garde
There's a couple little bugs in the new Team Scoring. The menu doesn't save the name of the team properly, so it glitches if the owner's not online. It's just a display bug, the signup still works. But there's no easy way to tell who is on a team. I'm not sure how I want to fix that. Eventually I'll want to put up my own Procyon web site with info like that.

Deck of Cards
I want to add Crazy Eights to the Deck of Cards. It'll be good to have a game that doesn't need four people to play.

Yes, I'm still working on getting Frootcake ready for sale. The Team Scoring took longer than I thought. I had hoped to have Frootcake ready by now, but that's not going to happen. I've fixed the cake-stacking bugs, I'm working on a new HUD for the game, and I still need to get the licensing and high-score mechanism working. So it's probably not going to be ready until next year.

En Garde Fashion

Sunday, November 25, 2007

Want to show the world you're serious about your fencing? Bryndal Ellison has created a fencing outfit, complete with mask, gloves, and just about everything else you need to look the part of a real fencer. You can buy one for just L$100 at the En Garde Arena.

Do you want to show off your talent for design with your own fencing outfit? Or perhaps you've created a special weapon that shoots firebolts whenever you do a triple-strength attack. I'm giving away free vendor space to anyone who creates En Garde-themed merchandise. Show me what you've got!

Team Scoring is here

Friday, November 23, 2007

Team scoring is finally here!

The new release of En Garde, version 1.08, has everything you need to play with team scoring. Since so much has changed, I recommend that current owners replace everything by getting a whole new box:

  • Visit the En Garde Areana and click the vendor there. It will give you a whole new setup.

  • Derez your old game "/8 derez" and put the new one in its place

  • Delete your old remote, and take the new one

  • Delete your old scoreboards, and replace them with new ones

The game also requires new HUDs, which are included in the game itself. Delete your old HUDs and get new ones from the game.

How Team Scoring Works

Everyone who owns an En Garde game can make a team. To name your team, touch your own game and then click "Name Team." You can call your team whatever you want, but names that are offensive, deceptive, or antagonistic will be deleted. (Repeated violations are a license offense). By default your team name is "Team" and your first name.

If someone wants to join your team, they can touch your game, then click "Join Team." You can only be a member of one team; if you're already on a team you will leave that team to join the new one. I've also included in the box a signup prim you can use. You can also copy the script out of that prim. People can then click whatever object you drop it in to sign up on your team.

Team owners don't have to be on their own team, and by default they're on no team at all, just like everyone else (so you have to sign up for your own team).

The team score is just the sum of the scores of all its members. The new scoreboard has a "Team" mode which shows team rankings, and the "Cycle" mode will show it as well.

It's my hope that the new scoring will promote the game. It's been a big change, and I want to let things settle for a week or two. Then we'll see how it's working, and maybe make adjustments. If you have comments about the new scoring system, the best place as always is to comment here on my blog.

Bug Fixes in this version

  • Players can no longer play 4x attacks.

  • Selecting cards when it's not your turn is no longer possible (it could get confused and move you random amounts)

  • The 'touch' code has been reworked to try and prevent situations where the HUD would lock up

  • The center square was oddly colored purple. It's now just slightly darker than the rest of the board

  • Retexturing your board changed the center square to plywood. Fixed.

  • Sometimes games would not be recorded properly, and you wouldn't get Champion points for them. Fixed.

  • At the end of each game, it tells you your points and ranking, even if you're not on the leader board

  • The "Local Champions" header is now the same color as "World Champions"

  • The scoreboard is mod- and copy-ok, so you can retexture the background and then make copies of it.

  • Players have been moved up a bit, so taller avatars won't have their feet in the floor

New scoring, Phase 2

Monday, November 19, 2007

I now have Phase 2 of the scoring in place.

Under the old system, if you beat someone who had more points than you, you got all their points. This was nice in that if you beat the #1 ranked person, you became the new #1, which made a certain amount of sense. But it made the board too fluid, and a lucky win by a noob could catapult him to the top unfairly.

In the new system, when you beat someone who's ranked above you, you get one quarter of the point difference (so if they have 100 and you have 50, you would gain 50/4 = 12 points). Also, the person you beat loses those points. So there's a net-zero gain (both players still receive their touch points, though).

This should make the board more stable, and hopefully a better reflection of true skill. Also it will make team scoring easier (team scores will just be the sum of all member scores).

The rankings have been updated to retroactively reflect the new score system.

New En Garde Scoring, Part 1

Monday, November 12, 2007

I'd like to thank everyone for the comments posted to the "change the high scores" entry. Especially Richard, who pointed me to the Case's Ladder system. There's a lot that's good in there, and I'd like to emulate it, but not everything is applicable. They seem to do a lot of manual jiggering of their ladders, and I need everything to be as automated as possible.

I will be rolling out the new score system in phases. The first phase, just installed, is this: if you play someone more than 3 times in one day, you don't get any points for games after that. This is meant to encourage people to switch partners and meet other players of the game.

Also, I implemented the final optimization pass on my poor server, which was melting under the strain of all the games you people have been playing. If this doesn't relieve the strain, then I'll have to upgrade my server plan!

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.

En Garde update v1.06

Sunday, October 7, 2007

A new version 1.06 of En Garde is available.

This version updates everything: It includes a new game, new HUD (inside the game), new remote and new scoreboard.

To update your En Garde:

  • Put on your En Garde Remote

  • Do "/8 deliver game"

  • "/8 deliver scoreboard"

  • "/8 deliver remote"

  • Do "/8 derez" to delete your existing game

  • Delete any score boards you have rezzed.

  • Take off your old remote and delete it. Also delete any old copies of the En Garde and HUD you have in your inventory.

  • Rez your new 1.06 game and new scoreboard.

That's all! Usually an update won't include all the pieces like
this, but this update covers a lot of territory.

What's new:

  • The new HUD tries to fix a problem where sometimes attacks turned into advances, putting both players in the same space. If you try to use an old HUD with this game, it will warn you (but still allow you to play)

  • The new remote uses a new method to send deliveries which should be more reliable (I'm getting rid of XMLRPC in my network vendor system)

  • The scoreboard will now update its scores once an hour, even if no games have been played, so you'll see the current World Champion status.

Replacing all my vendors

I've started the long process of replacing all my vendors inworld.

The Procyon web server handles, among other things, my system of network vendors. And it does a pretty good job -- when I need to update a product, I only have to do it in one place. It's especially good for little things like the "Procyon Games Info" card that I only need to update in one place.

Lately though, it's been getting a little creaky. The problem is XML-RPC, which Linden Lab never implemented quite properly and has never fully supported. As Second Life grows, XML-RPC gets slower and slower, and the result is my vendors become slower and slower to respond. I see people clicking things 3 or 4 times because they don't get a free card, and then they get 4 of them dumped on them.

Occasionally, it will just fail completely. That's no good.

So I rewrote the backend, using all HTTP calls, and an email poke. It should be much more responsive, and initial tests are promising. The problem now is, of course, that I have to replace all my inworld vendors, which is something that having a network vendor system is supposed to make never happen.

It's even worse than that, because my games themselves use the vendor system to distribute things like the Procyon Info notecard (that way they always give the latest version). So I'll need to send out updates to all my games.


Saturday, October 6, 2007

I'm finally moved out of La Musique.

The main Procyon store has been situated in Musique's sim for several months now, while I looked at my options after the Arcadia land went away. I finally decided to buy the mainland sim Malrif, and set up shop there. Danger Zone, Frootcake, and En Garde have all been there for some time, but I haven't moved the main store until now.

Now I just have to update all my vendors and landmarks.

I'm also doing a lot of back-end work that won't really be visible to most people. Having to do with replacing the XML-RPC code which never really worked very well. All part of the joy of SL scripting.

En Garde is back!

Thursday, October 4, 2007

Well, they fixed it!

That's got to be a record for time-to-fix for Linden Lab. I was afraid this would be one of those bugs that lingered for months, but it seems enough people got pissed off by it that Soft Linden got enough motivation to actually fix it. And it broke some of his own furniture too. Nothing like having a bug hit you to make you want to fix it.

My own workaround involved using separate prims, and I got that about half completed. I'm keeping the code around "just in case." But I'm glad people can play (and buy!) En Garde again.

Bug fix coming soon

Tuesday, October 2, 2007

The way Linden Lab broke En Garde (and many other items by other creators) is getting some press... see here in SLNN, and Second Life Insider. There's a lot of angry comments in the JIRA tracker, too.

Soft Linden has claimed he's fixed the bug, and a fix will be rolled out before the end of the week. I'm still working on my workaround as a backup plan.

Ordinal Malaprop has chimed in on the debate. If you haven't picked up a copy of her Swordstick, it's still for sale in Malrif and her OnRez shop (but of course, not very functional without the game to play)

En Garde is broken

Monday, October 1, 2007

Well, that was fast.

I found out today that the update Linden Lab just pushed out broke En Garde.

The link for the issue in JIRA is here, if you could go vote on that I'd appreciate it.

I'm being proactive, though. I can't afford to wait for a bug fix that may or may not come, so I'm trying a workaround. Not sure how long it will take.

If you purchased En Garde and would like a refund, just IM me.

En Garde Grand Opening Tomorrow

Saturday, September 29, 2007

I'm very excited -- the big day is almost here!

En Garde goes on sale tomorrow. It's been in open test for about a month, and I'm confident most of the bugs have been worked out. It's been seeing pretty heavy play recently -- the word of mouth has been excellent and spreading fast.

If you haven't played yet, come visit the En Garde Arena. There's a rules notecard you can get by clicking the game, or you can also watch my tutorial video:

En Garde is a more challenging game than my previous efforts, in terms of strategy and tactics available to the player. I'm pleased to see it getting such a warm reception.