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.

Kenny Root

Copyright © Kenny Root. All rights reserved.