Falcon's Eye

Falcon's Eye is a BBS door game from the 1990's. I used to play Solar Realms Elite by my friend Amit Patel. Falcon's Eye is a continuation of the game theme by Amit's brother, Mehul Patel.

Lately I've been interested in turn-based strategy games, so I've been researching old BBS door games that were popular back before first-person shooters.

GAME.DAT Format

In-memory start 3E4A
Disassembly start 4841

0x000 County Name
  1-byte len
  39-byte string

0x20 BBS Name
  1-byte len
  36-byte

0x03D Last played time (6 bytes?)

0x04A Silver (int32)

0x044 Turn number?? (int32)
0x04E Unemployed (int32)

0x052 Farmers (int32)
0x056 Armourers (int32)
0x05A Builders (int32)
0x05F Alchemists (int32)
0x062 Scientists (int32)
0x066 Druids (int32)
0x06A Merchants (int32)
0x06E Mages (int32)

0x0CA Employment periods (int32) has to do efficiency calc
0x0CE Farmers last turn (int32)
0x0D2 Armourers last turn (int32)
0x0D6 Builders last turn (int32)
0x0DA Alchemists last turn (int32)
0x0DE Scientists last turn (int32)
0x0E2 Druids last turn (int32)
0x0E6 Merchants last turn (int32)
0x0EA Mages last turn (int32)

0x146 Improvements
 01 - ? (none)
 02 - Library
 04 - School
 08 - Artists' Hall
 10 - Museum
 20 - University
 40 - Town Square
 80 - Trade Fair

0x147 Improvements
 01 - Farmers' Market
 02 - Town Hall
 04 - Marketplace
 08 - Merchants' Guild
 10 - Bank
 20 - Barracks
 40 - Fighters' Guild
 80 - Dungeon

0x148 Improvements
 01 - Training Grounds
 02 - Labyrinth
 04 - Colliseum
 08 - Town Walls
 10 - Towers
 20 - Stronghold
 40 - Palace
 80 - Fortress

0x149 Improvements
 01 - Castle
 02 - Water Palace
 04 - Castle in the Clouds
 08 - War College
 10 - Smithy
 20 - Armoury
 40 - Armourers' Guild
 80 - Waterwheel

0x14A Improvements
 01 - Cotton Mill
 02 - Sawmill
 04 - Mine
 08 - Architects' Hall
 10 - Mercenaries' Guild
 20 - Clerics' Guild
 40 - Temple
 80 - Pyramid

0x14B Improvements
 01 - Oracle
 02 - Wizards' Tower
 04 - Church
 08 - Cathedral
 10 - Jesters' House
 20 - Farm
 40 - Irrigation Ditches
 80 - Water Tower

0x14C Improvements
 01 - Grove of Trees
 02 - Tree of Life
 04 - Granary
 08 - Caravan
 10 - Pub
 20 - Theatre
 40 - Circus
 80 - House of Spirits

0x14D Improvements
 01 - House of Wands
 02 - Fairy Garden
 04 - Fairy Fountain
 08 -
 10 -
 20 -
 40 -
 80 -

0x152 Construction building type (int8 bitmask offset)
0x153 Construction months left (int32)

0x211 Approval rating (int16)

0x219 Runes (int32)

0x21D Weapons (int32)

0x225 Bushels of Food (int32)

0x231 Acres of land (int32)

0x24F Race (int8 ??)
0x250 Unit A (int32)
0x254 Unit B (int32)
0x258 Unit C (int32)

0x25C Protection duration (int16)
0x25E Invisible Casting duration (int16)
0x260 Concentrate Magic duration(int16)
0x262 Aura of Majesty duration (int16)
0x264 Call Storm duration (int16)
0x266 Black Wind duration (int16)
0x268 Curse duration (int16)
0x26A Cloud of Paralysis duration (int16)



Races:
  01 Humans
  02 Barbarians
  03 Birdmen
  04 Centaurs
  05 Dwarves
  06 Elves
  07 Faeries
  08 Ghosts
  09 Ghouls
  0A Goblins
  0B Halflings
  0C Mermaids
  0D Minotaurs
  0E Ogres
  0F Orcs
  10 Puppets
  11 Sprites
  12 Trolls
  13 Wolves
  14 Zombies

Spell Casting

  1. Base productivity is calculated

    1. Number of current workers (push)
    2. Base efficiency is 0.5
    3. Increased by 0.2 for University (push)
    4. Current number of workers subtracted by previous mult by effic (push)
    5. Multiply number of workers by some real (0.0 in my case) == 0.0 (push)
    6. Current workers multiplied by previous result (0.0) (pop)
    7. Add previous worker efficiency (pop)
    8. Previous workers by scaled new workers
    9. If it's turn number one, make sure efficiency is 0.7
    10. Truncate to [0.0, 1.0]
  2. Mage-specific productivity is calculated

    1. Racial modifiers added
    2. School adds 0.03
    3. Waterwheel adds 0.03
    4. Cotton Mill adds 0.03
    5. Circus subtracts 0.03
    6. Falcon's Eye multiplies 1.1
    7. Calc Approval Rating (20% sway to efficiency)

      1. Museum adds 2.0
      2. Town Hall adds 3.0
      3. Colliseum adds 2.0
      4. Total approval multiplied by 0.2
      5. Total approval divided by 100
      6. Add 0.9 to approval
    8. Chance multiplied by adjusted approval rating
    9. Check for something that mults by 1.25 if you don't have any (offset 0x262)
    10. Truncate to [0.0,5.0]
  3. Magic chances based on improvements

    1. Mage population from last turn is multiplied by efficiency
    2. Result is divided by number of free acres of land
    3. Multiply by 1.2 for Oracle
    4. Multiply by 1.5 for Tree of Life if Life Spell!
    5. Multiply by 1.2 for Grove of Trees (if no target?)
    6. Multiply by 1.5 for House of Spirits (if has target?)
    7. Multiply by 1.25 for Concentrate Magic (if has target?)
  4. Spell-specific chances

    1. Spell difficulting is multiplied by normal magic chances (from last step)
    2. Result is divided by 50
    3. If protection is in effect multiply by 1.2
    4. The result so far is A
    5. Result is added to arg_4,6,8 (dunno yet)
    6. Random:Real is called and multiplied by previous result called B
    7. If A is greater or equal to B, succeeds.

Copyright © Kenny Root. All rights reserved.