===============================================================================

                       F A M I L Y   F E U D   2 6
                       A BBS Door Game for Sysops

                            Version 2026.8.15
                           by Alexander Corris
                             bbswordle.com
            alexcorris@outlook.com    BlueSky - @bbswordle.com
===============================================================================

Note: This version addresses any speed issues that were occurring. Minor read
      bugs.

  CONTENTS
  --------
    1. What It Is
    2. What's In The Archive
    3. Installation
    4. Command Line
    5. Configuration (FEUD.CFG)
    6. How The Game Plays
    7. Files The Door Creates
    8. ANSI Music
    9. Updates & Support


===============================================================================
  1. WHAT IT IS
===============================================================================

  Family Feud 26 is a daily survey-guessing door game.  Every caller on
  your BBS gets THE SAME puzzle on the same day, which makes the score-
  boards a real competition instead of a list of who got lucky.  The
  puzzle is generated from your BBS name plus the date, so no two boards
  run the same daily game, and the same date always produces the same
  questions - a caller making up a missed day gets exactly the board the
  early birds got.

  There are 14,600 questions in the bank.  At the default settings that
  is about FIVE YEARS of daily play before a single question repeats.

  No database engine, no runtime, no DLLs.  Plain text data files, one
  executable, and a config file.


===============================================================================
  2. WHAT'S IN THE ARCHIVE
===============================================================================

  EXECUTABLES - pick the ONE that matches your system:

    FEUD.EXE     MS-DOS (also runs under DOSemu / DOSBox)
    FEUD32.EXE   Windows 32-bit
    FEUD64.EXE   Windows 64-bit
    FEUD         Linux (x86-64)
    FEUDPI       Linux ARM / Raspberry Pi

  DATA FILES - all builds need these:

    FEUDQ.TXT    Survey round question bank
    FEUDFM.TXT   Fast Money question bank
    FEUD.CFG     Configuration (edit this)

  DOCS:

    SYSOP.TXT    This file
    FILE_ID.DIZ  Archive description


===============================================================================
  3. INSTALLATION
===============================================================================

  1. Make a directory for the door, e.g.  C:\BBS\DOORS\FEUD
     or  /bbs/doors/feud

  2. Copy in the executable for your platform plus FEUDQ.TXT,
     FEUDFM.TXT and FEUD.CFG.  You can delete the executables you
     don't need.

  3. On Linux/Pi, make it executable:

         chmod +x feud

  4. Edit FEUD.CFG and set BBSNAME to your BBS name.  This is the
     single most important setting - it seeds the daily puzzle.  Set
     it once and DO NOT change it later, or every caller's schedule
     of questions shifts.

  5. Add the door to your BBS menu, passing the drop file path.  The
     door must be run FROM its own directory so it can find its data
     files.

     Mystic (example command):

         C:\BBS\DOORS\FEUD\FEUD64.EXE -DC:\BBS\TEMP%3\DOOR32.SYS

     Linux Mystic (example):

         /bbs/doors/feud/feud -D/bbs/temp%3/door32.sys

     Synchronet, Renegade, Talisman, Enigma and anything else that
     writes a standard drop file work the same way - just point -D at
     the drop file.

  6. Test it locally before turning callers loose:

         feud -L

  NOTE ON PERMISSIONS: the door writes its score and preference files
  into its own directory.  Make sure the BBS user can write there.


===============================================================================
  4. COMMAND LINE
===============================================================================

    -D<path>    Path and filename of the drop file.  Supports
                DOOR32.SYS, DOOR.SYS and DORINFO*.DEF.
                Example:  -DC:\BBS\NODE1\DOOR32.SYS

    -N<node>    Node number
    -S<socket>  Socket handle (socket mode)
    -L          Local mode - play at the console, no drop file
    -X          STDIO mode (force stdin/stdout, used by some Linux
                BBS packages that pipe the socket)
    /?          Show usage help

  Most sysops only ever need -D.


===============================================================================
  5. CONFIGURATION (FEUD.CFG)
===============================================================================

  Plain text, one KEY=VALUE per line.  Lines starting with ; are
  comments.  Anything you leave out uses the default shown.

  --- Identity -------------------------------------------------------

    BBSNAME=Your BBS Name        Seeds the daily puzzle.  SET THIS.
                                 Never change it after go-live.

  --- Game shape -----------------------------------------------------

    ROUNDS=3                     Survey rounds per day (1-5).
                                 3 rounds = ~5 years of questions,
                                 2 rounds = ~7.5 years.
    STRIKES=3                    Wrong guesses allowed per round (1-3).
    SWEEPBONUS=25                Bonus for revealing an entire board.

  --- Fast Money -----------------------------------------------------

    FASTMONEY=1                  1 = play Fast Money, 0 = skip it.
    FMTARGET=200                 Points needed to win the bonus.
    FMBONUS=100                  Bonus awarded for hitting the target.

  --- Make-up and play-ahead -----------------------------------------

    PLAYAHEAD=23                 Day of the month when the rest of
                                 the month unlocks for early play.
                                 0 = never allow play-ahead,
                                 1 = always allow it.

  --- Timers (both OFF by default) -----------------------------------

    TIMER=0                      1 = put a clock on every survey
                                 round guess.
    TIMERSECS=30                 Seconds allowed per guess.  Running
                                 out counts as a strike.

    FMTIMER=0                    1 = put a clock on each Fast Money
                                 question.
    FMTIMERSECS=20               Seconds allowed per question.
                                 Running out moves on with no answer.

  --- Sound ----------------------------------------------------------

    MUSIC=1                      1 = allow ANSI music, 0 = silent
                                 door.  See section 8.
    MUSICFMT=AUTO                AUTO / SYNC / CLASSIC.  See sec. 8.

  --- Update check ---------------------------------------------------

    UPDATECHECK=1                1 = check for a newer release at
                                 startup and show a note on the menu.
                                 0 = never touch the network.
    UPDATEURL=https://bbswordle.com/feudversion.txt

  Changing ROUNDS or editing the question banks reshuffles the daily
  schedule.  Do it before go-live, not after.


===============================================================================
  6. HOW THE GAME PLAYS
===============================================================================

  THE MAIN MENU offers today's game, make-up days, the scoreboards,
  instructions, and a sound toggle.  It also shows today's top three,
  the month leader, and the all-time points leader, so callers see
  who they're chasing before they play.

  SURVEY ROUNDS.  A question comes up with its answers hidden.  The
  caller types a guess; matching answers flip over and award the
  points the survey gave them.  Three strikes ends the round and
  reveals what was missed.  Clearing an entire board pays the sweep
  bonus.

  The matcher is deliberately forgiving.  It handles misspellings and
  typos, singular/plural (including person/people, wife/wives), verb
  forms (listening = listen, rapper = raps), hyphens, several hundred
  synonyms, and category answers - typing "gun" hits an answer of
  "Weapon", "rat" hits "Rodents".  It will NOT let a caller cheese the
  board the other way: typing "animal" does not claim a "Dog" answer.

  FAST MONEY.  Five questions, one answer each, scored against the
  survey.  Hit FMTARGET points and the caller takes the FMBONUS.

  ONE GAME PER DAY.  A caller who has already played today is told so
  on the menu.  They can still make up any day they missed this month
  from the Make-Up Days calendar, and from the PLAYAHEAD day onward
  they can play the rest of the month early - handy for callers going
  out of town.  Every day can only be scored once.

  SCOREBOARDS.  Five views:

    1. Leaders Overview   Today, this month, and all time
    2. Daily Bests        Who owns each day this month; pick a day
                          number to see everyone's score for that day
    3. Hall of Champions  Monthly podiums plus the all-time greats
    4. Best Games Ever    The ten biggest single days ever posted
    5. All-Time Points    Career totals, games played, and average


===============================================================================
  7. FILES THE DOOR CREATES
===============================================================================

    FEUDSCOR.TXT   Score history, one line per game:
                   YYYY-MM-DD|alias|score
                   Plain text on purpose - back it up, edit it, or
                   delete a line if you need to remove a score.

    FEUDPREF.TXT   Per-caller sound preference:
                   alias|1 or alias|0

  Deleting FEUDSCOR.TXT wipes all scoreboards and lets everyone
  replay days they've already done.  Deleting FEUDPREF.TXT just
  resets sound preferences.

  Neither file needs maintenance.  They are small and grow slowly.


===============================================================================
  8. ANSI MUSIC
===============================================================================

  The door plays short jingles - a fanfare on a good answer, a buzzer
  on a strike, a flourish for a sweep.  It is OFF for callers by
  default and every caller can toggle it with [T] on the main menu.
  Their choice is remembered for next time.

  SYNCTERM AUTO-DETECTION.  At connect the door quietly asks the
  terminal what it is.  SyncTERM identifies itself, and when it does
  the caller gets a "SyncTERM detected!" greeting and music switched
  on automatically - no setup on their end, no menu digging.  Callers
  who have previously turned music off are left alone.

  TWO DIALECTS.  SyncTERM gets its own standards-clean music sequence,
  which plays in all of SyncTERM's music modes.  Every other terminal
  gets the classic sequence that NetRunner, Qodem, ANSI.SYS-with-music
  and friends understand.  MUSICFMT=AUTO handles this for you; set
  SYNC or CLASSIC to force one dialect for all callers.

  Set MUSIC=0 in FEUD.CFG to turn the whole feature off board-wide.


===============================================================================
  9. UPDATES & SUPPORT
===============================================================================

  With UPDATECHECK=1 the door checks for a newer version at startup
  and, if one exists, shows a one-line note on the main menu.  It
  never downloads or installs anything by itself, and if the check
  fails or the machine is offline it fails silently.  Set
  UPDATECHECK=0 if your door machine has no internet or you would
  rather it never reached out.

  Latest release, other doors, and contact:

         bbswordle.com

  Bug reports and matching complaints ("it should have taken my
  answer!") are genuinely welcome - most of the matcher's smarts came
  from exactly those reports.

  Family Feud is a trademark of its respective owner.  This is an
  unofficial hobby door game written for the BBS community, is not
  affiliated with or endorsed by the rights holder, and is
  distributed free of charge.

===============================================================================
