@database "GYPSY.guide" @node Main "About Gypsy Cards" @toc Main Gypsy Cards Documentation (version 1.1 DEMO [AMIGA]) ---------------------------------------------------- By Giovanni Cardona June 1994 Program, Code and Music of Gypsy Cards are copyright 1994 by Giovanni Cardona, and can be freely distributed. Table Of Contents ----------------- @{" Copyrights and Distribution " link copyright} @{" Understanding The Program " link know} @{" Game Rules " link how} @{" System Requirements " link sys} @{" How to Install Gypsy Cards " link install} @{" About The Program " link about} @{" Colaborators " link beta} @{" Registration " link reg} @{" Tech Info " link tec} @{" Modem Play " link MODEMPLAY} @{" Playing versus the CPU " link CPUPLAY} @{" Is there a SECRET option? " link MODEMPLAY} @{" Note to PAL Amigians " link PAL} @{" What I expect in future versions " link FUTURE} @{" BUGS! " link bugs} @{" Errors Reports " link ermacs} @endnode @node copyright "Copyrights and Distribution" COPYRIGHTS AND DISTRIBUTION ========================= Gypsy Cards version 1.1 DEMO and version 1.2 (registered) are copyright by Juan Sebastian Cardona Iguina, MINDEMSOFT 1994. AMOS 1.3 The Creator and Compiler 1.3, are copyright by Francois Lionet, MANDARIN/JAWK SOFTWARE 1990. (This section is modified from the similar section of ToolManager 2.0 by Stefan Becker. I hope you don't mind, Stefan!) Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. No guarantee of any kind is given that the programs described in this document are 100 % reliable. You are using this material at your own risk. The author CAN NOT be made responsible for any damage which is caused by using these programs. This package is freely distributable, but still copyright by Giovanni Cardona. This means that you can copy it freely as long as you don't ask for a more than nominal copying fee. Permission is granted to include this package in Public-Domain collections, especially in Fred Fishs Amiga Disk Library (including CD ROM versions of it). The distribution file may be uploaded to Bulletin Board Systems or FTP servers. If you want to distribute this program you MUST use the contents of the original distribution archive `Gypsy-11.lha'. The archive may be distributed unpacked or packed with a different archiver, if necessary. None of the programs nor the source code (nor parts of it) may be included or used in commercial programs unless by written permission from the author. NONE of the programs NOR the source code (nor parts of it) may be used on any machine which is used for the research, development, construction, testing or production of weapons or other military applications. This also includes any machine which is used for training persons for ANY of the above mentioned purposes. The same goes for unnecessary animal testing. You may modify 'BRISCAS.TXT' as you wish, provided that my name still exists there and you add a comment to the file explaining that the file is modified. If you think the change you made is useful, send it to me so that it can be included in the next official version (I promise to mention your name in the docs). PLEASE DO NOT DISTRIBUTE MODIFIED VERSIONS OF GYPSY CARDS YOURSELF, AS THIS ONLY CREATES CONFLICTING VERSION NUMBERS ETC! @endnode @node know "Understanding the Program" They're people (like me) who do not read documentation the first time they run a program, but the following information is basic to ensure safe passage thru the program. Read all the messages that appear on screen during the program. During the game, read the messages that appear in the bar on the top of the screen. The program assumes you can or can not use the mouse during the game. All functions have keyboards equivalents. Use the [ESC] key (Escape) to CANCEL most options. In the main menu, use option #4. To abort the Modem Play, use the [ESC] (Escape) key also. If you fooled around with 'BRISCAS.TXT' file (the file in ASCII format for defining your own language) and the program gives you errors or does not run properly, just delete 'BRISCAS.TXT', and the game will adopt the pre-defined values (english is the default language). During the modem play, the program monitors the response time of the remote player. If they wait too long to answer, the program cancels the game. This is to protect the players who are playing long distance. The program informs which files are needed to use some options, such as the modem and synthetic voice, so you can use them. If the program reports insuficient memory, you may be able to run the program by following basic memory conservation techniques, such as desactivating external drives, or making the program auto-execute by copying it to a disk, and booting with the disk. Otherwise, the program will desactivate options, such as sound, music, graphics and voice or wont run all together. @endnode @node how "Game Rules" GYPSY CARDS GAME RULES ===================== Game rules are based on the spanish pack "Briscas Españolas" (Breeskahs Eshpanhyohlahs. As pronounced by the Amiga speech synthesizer), popular among spanish speakers, mainly students. These cards were used by Gypsies to tell the future. There is no need to worry, today Gypsies use the Tarot for these purposes. The game is structured, so you can learn the rules while playing versus the CPU. All you have to do is read the messages that explain why you lost or won. RULES OF THE GAME ================= Each pack of the Gypsy Cards has forty cards; ten cards for each suite. The suites are: Gold (coins), Cups, Club and Spades (swords). The cards are numbered: 1,2,3,4,5,6,7,10,11,12 (ten cards per suite). Notice that they're NO 8's and 9's in the pack. Only the cards numbered 1,3,10,11,12 worth points (called 'Briscas'). The point system is as follow: 1=11 points, 3=10 pnts., 10=2 pnts., 11=3 pnts., 12=4 pnts. All other cards have no point value. There is a total of 120 points in each pack of cards. If each player makes 60 points then there is a tie. To start the game, the cards are shuffled and then dealt face down, 3 to each player. After dealing the hand, one card from the deck is placed face up on the table. This card represents the "LIFE". The rest of the deck is placed face down next to the "Life". The dealer plays last. If a second game is played, the loser deals. Gameplay is as follow; the person who didn't deal goes first. He plays one card, then the dealer plays one card. The object is to "kill" the other players card. The player that "kills" keeps the cards in another pile, and is the first to pick-up a new card. Always have 3 cards unless they aren't any more in the pickup pile. (including the card that represents 'Life'). HOW TO "KILL" OPPONENTS CARD ============================ "LIFE" kills all cards except another "Life" of higher value. Example; a 3 of "Life" kills a 12 of "Life" but a 12 of "Life" can kill a '1' of ANY other suite. You can "kill" if your card is higher in number, than the other players SAME suite. Example; 5 of any suite (except 'Life') kills 2 of the same suite, but that 5 doesn't kill a '1' of the same suite (1 is worth 11 pnts, 5 is worthless). EXCHANGE OF CARDS ================= The card #7 can be interchanged with the "LIFE" card that is face up on the table, if that card is of a higher value (a 'Brisca'). Then, the #2 can be interchanged with the #7. (if both are Life cards) You may see two interchanges in one hand, if the 'Life' card is a Brisca, and you hold a Life-#7 and a Life-#2 in your hand. TRY IT OUT ========== Check and see that you can learn while you play. @endnode @node sys "System Requirements" SYSTEM REQUIREMENTS =================== Gypsy Cards is able to run on the same Amiga model or accelerator that AMOS 1.3 can. In future versions, I hope to compile Gypsy Cards with newer AMOS version, so it may run on AGA or accelerated machines (with the help of your contributions, of course.) I had to turn off some special features of accelerators to properly run this game ('CACHES off', etc.) The idea behind the game is to run in a minimal amount of memory possible, desactivating none vital funtions (music, voice, etc.) and playing versus the computer ONLY. This is so people with little memory can also enjoy the game. Some basic system libraries are required to properly run this game. Some system files for use of the Serial port and/or Amiga voice, are optional in this game. (Those with Internal Modem, should notice that the 'serial.device' file may have other name.) @endnode @node install "How to Install Gypsy Cards" HOW TO INSTALL GYPSY CARDS TO ANOTHER DISK ========================================== Simply drag the game drawer icon over the destination drawer or disk icon that you want the game to be copied to. Wait until all disks activities finishes. Installation doesn't required special font types, libraries or assignments. @endnode @node about "About the program" I wrote this program with various purposes, the first, to have a 'computer- version' of our 'famous' "Briscas Españolas" spanish card game, and because there's so many 'Poker' and 'Solitaires' look-alikes. I wanted to write the game using the Amiga and AMOS unique capabilities, trying to observe memory restrictions. In the second place, I wrote many special-function subroutines (Procedures) while doing the game itself to make them portable to other programs. For example, the use of an ASCII file for the multi-language function, the use of the modem and Amiga speech, the basic artificial intelligence for the CPU player, the auto-configuration of the program while loading, observing existing resources, among others. I hope you find Gypsy Cards as much fun as I found in programming it. Any suggestion or idea, will be welcome. @endnode @node beta "Colaborators" This program would not be possible without the help of those people also called 'beta-testers'. First, I want to thank my wife for helping me test and making possible the english documentations (and above all, my source of support). My thanks also to the 'beta-testers', my sons (Leo & Victor for showing me one and a thousand ways to missuse a program) Luis B. Pérez & sons, Eduardo Torres, Rubén Ortíz & sons, also Carlitos Román, Carlos Sálas and Luis Domenech, for the last minute adjustements. Thanks to Eduardo Torres and Jose "Tote" Perez for constantly suppling samplings (they also write music modules and together we are the "MIX-R-US TEAM!") Congratulations for your wedding with Denise, "Tote", I hope you live happily ever after. :-) @endnode @node reg "Registration" Any donation will be welcome to continue with other versions of the program and the creation of new ones. Remember, when you registrate, I'll send you a registered copy that won't remind you to registrate (Version 1.2). This is the only 'upgrade' at the moment of registration. Future versions (1.3 and up) will be notified. A donation of $7.00 is suggested, also for another $5.00, I'll also send and ORIGINAL Spanish Cards Pack! (NOTE: I *DO NOT* sell those cards, but I can buy them and send them at any time, if you ask for them.) My address for donations, suggestions or simply to write me, is; JUAN SEBASTIAN CARDONA IGUINA Post Office Box 1601 Caguas, Puerto Rico 00726-1601 Tel. (809) 731-0756 My E-Mail address is; Internet: gcardona@mdri.prnet.com Fidonet : 1:367/1.16 PLEASE DON'T FORGET TO INCLUDE YOUR ADDRESS!! @endnode @node tec "Tech Info" Some of the routines integrated in the game and that might be of interest to AMOS programers are: @{" 1) Configurable Language " link CLT} @{" 2) Auto-Configuration of existing resources " link ACONFIG} @{" 3) Modem Play " link MODEMPLAY} @{" 4) Use of Speech Synthesizer " link SPEECH} @{" 5) Playing versus the CPU " link CPUPLAY} Gypsy Cards was coded in AMOS 'Creator' 1.3 (MANDARIN SOFTWARE) by Giovanni Cardona (MINDEMSOFT). The music theme was coded in ProTracker and still intact as a music module for those who want to hear it with any music 'Tracker'. Is a simple module and takes less than 80k, but it sounds neat on a 'neat' stereo. The background music is even more simple, also coded in ProTracker, this time using only TWO voices, the other channels are used for other game sounds. This music is not in module format, but in an AMOS music bank format. The samplings used in the program probably comes from Eduardo Torres or Jose Perez, and were procesed to consume as little memory as possible, without sacrificing the sound quality. The 'Desk' screen was drawn in med-res 640x200 using eight colors, the same resolution and color palette used for the cards. The Main Title Screen was drawn in Low-Res 320x200 using 32 colors. I had to sacrifice many graphics, sounds and screen resolutions during the making of the game, to lower memory consumption. @endnode @node CLT "What makes 'Configurable Language' tick" If you wish to create your own language for the game, is imperative to learn how the program manage the ASCII text, it is possible to 'lock-up' the game with improper configuration. In the worst case, simply delete the 'BRISCAS.TXT' file and the program will use default 'english' language. The commands in the text file start with the '@' character, as in the AmigaGuide format. For example, the command '@MINDEMSOFT' should be the first command in the file. A common file 'header' would start with the following commands. @MINDEMSOFT <- File ID @PROGRAM <- Program Name @VERSION <- Program Version @LANGUAGES_IN_FILE <- Number of Languages on file @LOCAL_PREFS <- Language To Use @LOCAL_english <- Start of 'english' language block @MSGS_type <- / 'Life' names @MSGS_tutor <- / Win/Lose explanation @MSGS_game <- \ General game messages @MSGS_menu <- \ Menu messages @END_english <- End of 'english' block. @END_OF_FILE <- ditto Messages can be separated by the 'Enter' key or a comma (,) between them. For example; @MSGS_game ONE TWO @(another command...) Is the same as... @MSGS_game ONE,TWO @(another command...) THE MESSAGES IN YOUR NEW LANGUAGE HAVE TO FALL IN THE SAME POSITION AS IN THE DEFAULT LANGUAGE!!! Example of how to configure your language; @LOCAL_spanish <- Which language you want to define? Spanish! @MSGS_numbers <- Which block you're defining? UNO,DOS,TRES,CUATRO <- ...four messages separated by commas (,) @END_spanish <- end of 'spanish' language block... @LOCAL_english <- Which language you want to define? English! @MSGS_numbers <- Which block you're defining? ONE,TWO,THREE <- ..three messages separated by commas (,) PLUS FOUR <- ..another separated by 'ENTER' key = 4 messages. @END_english <- end of 'english' language block... I had to revise this routine carefully and suffer several drastic revisions, mostly because of floppy users. In the final version I load the file as one chunk of memory and do the language conversion in memory. The english and spanish language file is integrated as an AMOS data bank already. In future revisions, I would implement an option for the remote modem user, to choose the language of predilection. (So the players can play the same game with different languages at the same time!) @endnode @node bugs "BUGS!" BUGS REPORT =========== It seems that AMOS 1.3 does not like some blankers and would freeze up after several minutes. The blankers do not 'see' keyboard presses or mouse movements while you're in 'AMOS environment'. The 'Left-Amiga' and 'A' key combination have the effect of cycling thru WorkBench and AMOS screens. You can multi-task in this way, and can verify your blanker is active and is not harming the program. @endnode @node ermacs "Error Report" Most of the errors are informed during the game loading and initialization. The yellow letters will turn red, followed by an explanation of errors found. If the program does not report any type of error and yet you find bugs during the gameplay, I BEG you let me know as soon as possible, giving me all details of the bug and your system configurtions and programs or utilities running in the background. @endnode @node ACONFIG "Program Auto-Configuration" The first thing the program does while loading is verifying system resources before counting on them. This will ensure the reliability of the game (trying to 'spook' any lurking @{" error " link ermacs}). In this stage, the program will inform to AMOS which resources are available and which are not, to avoid AMOS gererating error messages while trying to find a resource that doesn't exist (file or memory). @endnode @node MODEMPLAY "Modem Play" Can you find the secret option? What does this option do? You now have the first clue... the secret option may be found only during modem play. This option doesn't have anything to do with cheating, but can make modem play more fun. Here is a list of what is *NOT* implemented in modem play: 1> The program ONLY receives calls. 2> The caller will not see graphics on the screen, only text messages. 3> The caller has to use a Terminal, not a Gypsy Cards program (yet). When choosing option #3, "Modem Play" the message "Waiting Remote Signal..." should appear. After several minutes, the program will fall in the main menu if no signal is received. If you wish to CANCEL, or an error has ocurred in the call, press the [ESC] "Escape" key to jump to the menu. The caller has to use the following 'standard' setting in the Terminal program used, such as; ANSI or VT100 emulation and ANSI/IBM characters, 1200 bauds, 8 bits, None parity, 1 stop bit. All the game by modem is in text for the remote caller so any computer platform user with a good terminal program and a 1200 bauds modem, can play. You will always see graphics. Remind caller, that the program will hang-up if no signal is received in several minutes. This is to protect long-distance players from 'falling asleep' charges. If you have two computers and a 'NULL MODEM', load a Terminal program in the 'second' machine, with the settings I just gave you, and when the program sends the 'AT' modem commands (starting with 'ATZ' and another 'AT...' ones) wait TWO seconds and write the word 'RING'. The program answer with the command 'ATA'. Wait another TWO seconds, and write 'CONNECT 1200'. The first machine with the Gyspsy Cards program will answer that the signal was received. If the 'serial.device' file in the DEVS: drawer doesn't exist, or has another name (like modem0.device for internal modem users), the program will asume you don't have a modem, and disable this feature from the game. To fix this, find a copy of the 'serial.device' file, Or for internal modem users, copy the file 'modem0.device' (or equivalent) with the name, 'serial.device' in the same DEVS: drawer. @endnode @node SPEECH "Use of the Amiga Internal Speech Synthesizer." This option is only available for user with the original Amiga voice speech files (not included in latest version of Workbench). You can obtain a copy of these files in older versions of WorkBench, and these are; DEVS:narrator.device, LIBS:translator.library and L:Speak-Handler The Speech of the game can be desactivated by renaming those files. Because Amiga Speech is not an AMOS, but and Operating System function, I can't guarantee the reliability of its use. I'm trusting that AMOS does the dirty job for me. My code only informs to AMOS if those files exists before counting on them. @endnode @node CPUPLAY "Playing Versus your Computer" The logic used to play versus the CPU is simple, but don't be fooled, 'cause it can win before you notice it. The CPU only plays the best bet with the cards in it hands during its turn, trying to protect 'Life' and 'Points' cards. CPU can't 'see' your hand nor 'think' which cards were played already or which ones haven't been played. In future versions, I hope to implement dificulty levels. @endnode @node PAL "Note to European (PAL) users" PAL users will notice the 'slow' tempo of the main music, this can be corrected by loading the module in a 'Tracker' program and writing the correct tempo on the module. Save this alteration, following the conditions explained in the @{" Copyrights and Distribution " link copyright} section, about the distribution of modified files. @endnode @node FUTURE "What I expect in future versions?" First, compiling the game with the latest AMOS version and implementing: *Playing with two computers with the same Gypsy Cards game via Modem. (This version only plays with another 'Terminal' program). *Dificulty levels when playing versus the CPU. *A High Score screen with the name of the best players! *Be able to play in a Network! This 'wish list' was already in my mind during the codification of the game, using special code and variables for this purpose when ready to implement it in the future, but I want you to enjoy the game at this stage, and to spend more time in other projects. (Like porting the code to 'Windows') I really hope to find AMOS for PC soon! (PCOS anywhere?) or the project will be delayed. The Configurable Multi-Language and Modem Play Options was intended to be integrated for registered users, but I opted to leave it intact and only place a friendly reminder at the beginning of each game. @endnode