Robo is an automatted hosting system. He currently is running on a Pentium 100 based system under OS/2. He is composed of a set of REXX execs linked by named pipes. Robo was conceived in late October, and born in early December of 1995. His growth didn't really start until January of 1996, and he seems reasonably healthy todate.
Robo wakes up every half an hour to look for TRN files in his mail, or player configuration requests. If he detects that all TRN files are in, or the game satisfies a deadline, Robo will then execute the host and distribute the results. A game can run as fast as the slowest player can submit commands (current limit is 30 minutes). Futures may include live web access (but that's beyond my financial means at this time).
The aim is to be informative. Confirmations are generally the rule. When you submit a TRN,
Robo will tell you he received it, or that it is stale or corrupted. If you try and join a
game, and the selection you made was filled (minutes before you), he'll appologize.
Return to contents
Before Robo will permit you to join a game, you must first define your preferences. These preferences include, but are not limited to, your EMail address, personal code phrase, nickname, planets version, and other options. This permits Robo to recognize you in future communications.
The EMail address is the address Robo will send your RST files to. Robo will accept a local subuser id, for those players that share an EMail address. If Fred and Bob both use the EMail address of fun4all@vgaplanets.com, then Robo permits them to use the following syntax in his Web pages... fun4all@vgaplanets.com:fred and fun4all@vgaplanets.com:bob . These two entries count as two seperate players, sharing the same EMail address.
The code phrase is required to identify a player to Robo from any of the Web Forms. It would be tragic if a player accidently dropped another player from a game... by mistake. The code phrase gives Robo some level of assurance that the person making a request is the same as the player that initiated contact. If the wrong code phrase is used, Robo will EMail the correct code phrase to the EMail address of the player... as he has it recorded in his database.
The nickname is used in posting results, scores, ranks, participation, and Karma to the Web. And affords some level of personalization to your interaction with other players. The nickname must be unique to Robo... in that no two players should have the same nickname.
Robo likes to know what version of planets you're using so that he can warn you of any games that are using advanced features, like the UFO database interface.
One of the important settings is the encoding method. Robo understands UUE, Base64, BinHex and LCMCode transfer methods. To assist in the smooth running of the games, I'm implementing a requirement to determine what method a new player is using. Until correct communications are set up, new players will not be able to join games.
Some of Robo's other options include:
There are three types of subscribers:
So why subscribe? You mean beyond permitting Robo to continue to exist and grow?
Non-subscribers will be limited to one game (unless they joined before March 10th), will
not have any of the benifits. They'll also not appear on the
Karma page, or the score charts. In addition, there will be a limited
selection of games open for FREE play... 20 or so, and they can strike out of games.
Return to contents
From time to time you might want to change something in your Robo definition. By all means
do so as frequently as you need.
Return to contents
After the transfer method has been verified, you are free to join any game that fits your
level of play. The games will have constraints, and will be catagorized by levels of play.
Some games will be restricted to low level players, others to high level players. Some games
will even be restricted to those players with a high Robo-Karma value. More on Karma later.
Return to contents
Robo will ZIP the RST to reduce it's size, and include the spec files, and the maps as well. He includes the additional files for newly joined players, as well as if he's requested to by the RESEND page. The ZIP file is encoded to the method that Robo has recorded for the player he's sending to, and mailed as an EMail message the next time he connects to IslandNet.
When you receive a note that contains a ZIPped RST, what you do with it depends on the
mailer program you are using. If your mailer automatically detaches encoded files, it more
than likely would store the ZIP file in it's download directory. Sometimes this is enough
to get the ZIP file out, but I've seen my mailer 'think' it's decoded the inclusion, and simply
dump it in a directory... still encoded. If your mailer does not automatically unbundle the
attached file, or it only thinks it did, then you have to save the note off as a flat file, and
manually decode it (using a DOS decoder program of the right type).
Return to contents
Some of Robo's game use alternate maps and spec files. In order to simplify Robo, I've caused him to treat all games the same, standard maps or not. Some indications that you're in a game with alternate data files, and you're not using the right ones for the game, are:
To make sure you're using the right maps each time, it's best to write a batch file that
copies the maps to the planets main directory each time you want to play. (I'm in 8 games, many
of which use different maps. I keep the right maps in the game sub-directory, and copy them to
the main directory each time I play).
Return to contents
Once you have a TRN to submit, you need to get it to Robo. If your mailer program supports attachments, then all you have to do is setup your mailer to send one of UUE, MIME (Base64) or BinHex (7bit), and mail a note to 'robo@robomaster.ca' attaching the TRN to the note. If your mailer does not support attachments, then you need to encode the TRN first, and then 'include' the encoded file into the body of your message.
View an example of a UUE encoded TRN
View an example of a Base64 encoded TRN
View an example of a BinHex encoded TRN
Note that there is a big difference between an 'Attachment' and 'Included Text'. The two should not be confused. In the above three examples, the UUE TRN and the BinHex TRN have been included into the note, while the Base64 TRN has attached to the note.
If you are playing in multiple Robo games, and wish to submit your TRN files in one note, then it is advisable to ZIP the TRN files together and attach the ZIP file instead. It does not matter what you name the TRN files, Robo ignores the name you give it, and uses the internals of the file to slot it into the right game.
After Robo receives your TRN, he'll send you back one of four possible messages. (1) TRN
received and placed in Game directory, (2) TRN file is STALE, (3) TRN file has been corrupted,
or (4) unknown content passed on to Don. These messages correspond to the 4 possible outcomes
of the three checks he does on the file. Check one is for a timestamp, if he doesn't find one
or he finds one he doesn't know, then he sends the message on. Check two is for the value of
the timestamp against the value he expects, if it's correct then he accepts the TRN, if it's
old then he lets you know. The third check is against the host files, and checks for corruption
using Tim's CHKTRN program.
Return to contents
If you're going to be away, and know that you can't submit TRN files, then it would be polite (to the other players) if you could use Robo's change configuration page to tell Robo that you're going to be away. In this manner, if all other players have submitted their TRN files, then Robo knows he can run the HOST, and he doesn't have to wait for you. Also, he does not count the missed TRNs against you in your Karma, as well as not striking you out. Of course, other players could be eating away at your empire... :)
There will be an option of shadowing your RST to a friend, so that they can run your race
while you're gone.
Return to contents
There are two ways of dropping out of a game. You can quit, or you can strike out. Three stale TRNs in a row will strike you out (unless you're on vacation). In either case Robo will record that you've dropped that race in that game, and add 10 points to your Bad Karma. This Bad Karma is worked off at a rate of half a point per TRN submitted. More on Karma later.
Monthly subscribers are immune to strikes, and subscribers by TRN have the option of being immune to strikes. For the monthly subscribers, since the day counts against their subscription whether or not they submit a TRN, it seems only fair to them, not to loose their place in a game they're paying for. Similarly, the per TRN subscriber, has the option of spending half a TRN credit to avoid a strike... if they choose not to, then the can strike out of a game. Bad Karma for stale TRNs always accumulates. Some games will not let you join if your Karma isn't high enough.
There will be a way of avoiding the Bad Karma, by finding a replacement and turning the race
over... but that's not yet written.
Return to contents
Another not yet written feature, is a waiting list. If you're looking for a new game and
want to play race 9, then Robo will notify you if any games are created that have race 9 as
part of the initial setup. The waiting list might also inform you of any openings in existing
games due to drop-outs.
Return to contents
This, not yet written list (ahem... :) yeh), would be a source for finding replacements. Players
can add their EMail to the list, as well as a limit on concurrent games, and other players looking
to drop a game, can avoid Bad Karma.
Return to contents
Yet another not written feature is the ongoing Robo-Rank. Players will be ranked as to their
level of play, and advance in rank as their victories accumulate. This is tied closely to a
standardized scoring system (currently in development) that would permit multiple objectives.
The system would try and combine all aspects of various dedicated scenarios... so that different
players in the same game might/will have different objectives... (politics, politics)
Return to contents
Robo Karma is a level of commitment to play. The higher the Karma the more likely the player is to submit TRN file consistently. The 'Good Karma' portion of the score follows the formula: New-Karma = 0.9 * ((11.11 * TRN?) + Old-Karma). Where 'TRN?' is a 0 or 1 depending on whether or not a TRN was submitted that cycle. The 'Good Karma' has a minimum value of 0.00 and a maximum value of 99.99. Note that a player must have a Good Karma of 99.98 before advancing to 99.99, but a single missed TRN will drop the Karma drastically to 89.99.
There is also a 'Bad Karma' component, recently added, that reflects dropped games. For every
game that is dropped without replacement (quit or struck out), 10 is added to the 'Bad Karma'.
Each TRN successfully submitted will reduce the Bad Karma by 0.5, until it reaches zero.
There was a notion of having the turn number as the Bad Karma increment, so dropping out at
turn 50 would cost BIG time.
Return to contents
There are two ways to start games under Robo. One is to submit the game as a Custom Game, that
has already been mastered by yourself, and the other is to use Robo's Create a game page (under
development). The Custom game requires all the mastered files to be ZIPped together and mailed
to Robo. Review the 'Create Custom Game' page for instructions.
Return to contents
I'll list here some of the common problems encountered so far, and continue to add to this list as time goes on.
It's often not convienient to have to go to Robo's web page in order to do certain administrative functions. There are currently a few EMail commands that Robo understands, and I will add more as they occur to me. If anyone would like to suggest a command that Rovo could learn (like 'roll-over', but please not 'play dead'), send in a suggestion.
All EMail commands are entered as the SUBJECT: of the note, to prevent Robo from looking in the text of the note for the keywords he's scanning for. So the general syntax of the SUBJECT: line is... 'Subject: COMMAND PARMS'.
The commands that Robo currently understands are:
Robo is brought to you by Crystal Cave Games.
Our service provider is IslandNet.