User Tools

Site Tools


BSD Games Hacking

The console-based games that come with Unix


Standardized string input

Standardized data file formats

My original notes said “XML” because that was hot at the time. JSON is the popular format these days. Ignore them both. The Unix system toolkit is centered around expecting text files with one record per line. Base everything else off that. A complex object could be still be saved as JSON in a single field of a record.

Specific games


Existing frustrations

You spend a *lot* of time building up your character, and can get thwacked in one hit to lose it all by a Jello Blob that hits for 500 damage when everything else is in the 30-200 range, or Tiamat and the other large Outer Waste enemies who hit for 2000 when most other enemies in the area hit in the 100-300 range. You have to be in these regions to build up your character any more than a couple levels a day (and it takes you about 30 levels to be strong enough to get out there). Your choices are either to spend an impossibly long time playing the game, spend a still long time playing and risk instantly losing all your efforts, or to go play cshoot instead. ;)

You age so fast that you end up losing hit points (Energy) when you gain levels. This makes you even more susceptible to the above complaint, since you can't gain enough hit points to survive a surprise attack from one of these bastards and you are losing Quickness at the same time, making it more likely that they will get in the first hit. You usually have acquired about enough gold for a +1500 shield by this time, and you need it, but then a big bastard finds you and gets two first hits since you've lost a third of your Quickness.

New features

  • Username based characters. no passwords
  • Option to rename character upon creation
  • Death not fatal, causes 50% loss in level/exp, loss of all treasure (server-configurable)
  • Ability to limit fights/turns per day like old BBS door games
  • Status shows always
  • No turn taken on unknown command
  • Poison drops slightly over time
  • Medics can partially cure (cure what? what did I mean by this?)
  • Ability to drop treasure at locations to be retrieved later
  • Ability to curse dropped treasure
  • Ability to detect curse at cost of size * 4 mana
Encounter features
  • Enemy encounter states: “You are $desc by A Foobar”
    • attacked (standard)
    • accosted (extended options)
    • met (not hostile)
  • Combat Options:
    • Melee - Standard
    • Skirmish - May be improved, I've never used it
    • Evade - Standard
    • Spell - Standard
    • Nick - Standard
    • Luckout - Standard
  • Encounter options:
    • Bribe - Only available when Accosted. Counts on new factor Greed. Failure changes state to Attacked.
    • Attack - Only available when Accosted or Met.
    • Surrender - Drop all gold and run away. Always works when Accosted. Can fail when Attacked, depending on monsters' greed
    • Spar - Only available when Met. Effectively a single “Nick” which multiplies when sparring multiple enemies. May be declined by some encounters

More notes...

  • Dragons can eat Virgins. This temporarily sinks their Quickness.
  • Morons not infinite, no possibility of infinite groups of encounters
  • Attacking non-hostiles raises your Sin.
  • Can desecrate corpses of other players to raise Sin and Nick their EXP.
  • You can get random “Go to X,Y” missions
  • day-based things like BBS door games
    • Trading posts only close for the day
    • A reduce age spell that costs 48 hours to cast
    • Can be compiled with max turns, battles per day
    • Death closes game to you for a day
  • Monster file allows for unlimited number of monsters
  • Monsters have “sin” and “chaos” ratings that change likelihood of attack
  • Defeating sinful monsters can lower your Sin slightly
  • Weak monsters with high Brains may avoid you (no encounter)

New magic

Level requirements are approximations and may change

Walkabout magic
  • Youth: Reduces age, freezes account for 48hrs. Requires magic level 100
  • Pray: Prevents random raping and pillaging, prevents other random losses of sin, reduces chance of being poisoned, all for short time. Only available when Sin is low. Requires magic level 5
  • Announce Presence: Encounters are twice as likely and more likely to be with enemies which have high magic levels. Requires magic level 25 or so
  • Search: Finds nearby uncloaked players. Failing that, either offers to battle enemy and moves player randomly if offer accepted, or less likely reports treasure and moves player randomly to it. The C key may be optionally removed for this.
  • Enchant Armour: Doubles Armour bonus. Bonus slowly drops to normal over time. Requires magic level 40
  • Enchant Weapon: Doubles Weapon bonus. Bonus slowly drops to normal over time. Requires magic level 70
  • Heal: Attempt to regain energy and reduce poison. Usually not fully effective.
Battle magic
  • Wither: Reduce enemy's Strength. Requires 250 mana and magic level 90.
  • Mind blast: Reduces enemy's Brains and Experience. You don't gain anything. Requires magic level 125
  • Mind read: Steals Experience from enemy. Requires magic level 110
  • Power up: Adds to Magic Power for duration of battle. Requires magic level 50
  • Holy blast: Like Magic Bolt but more powerful. Only available to characters with 0 sin. Deals extra damage to sinful enemies. Replaces Magic Bolt option if available. Requires magic level 30
  • Death: Deals massive amounts of damage. Only available to characters with high sin. Replaces Magic Bolt option if available. Requires magic level 85
  • Lightning: Like Magic Bolt but cascades damage across banding enemies if enemies are banding. Costs twice as much to cast. Requires magic level 10
  • Animate Weapon: Deals around five times your weapon bonus to your enemy, but you are left with only your strength for the remainder of the battle.
  • Curse: Curses a treasure left behind. Offered when dropping treasure.
  • Detect Curse: Checks for a curse on a treasure. Offered when treasure is found. Can fail if curse was cast by stronger magic user.
  • Uncurse: Uncurses a cursed treasure. Offered when a curse is detected.


{“TOPICINFO”:{“author”:“DeltaTango”,”date”:“1333558165”,”format”:“1.1”,”reprev”:“1.1”,”version”:“1.1”},”TOPICPARENT”:{“name”:“WebHome”},”GameAboutFormTemplate”:{“GameGenre”:“Unspecified”,”Inspirations”:false,”GamePerspective”:“Unspecified”,”ProjectLegality”:“OpenSource”,”ProjectDifficulty”:“Doable”,”TargetPlatform”:“Desktop”,”TargetERSB”:”???”,”YearOfIdea”:false,”DesignVersion”:false,”DesignCompletion”:“Minimal Ideas”,”CodeVersion”:false,”CodeCompletion”:“No code”}}

bsdgameshacking.txt · Last modified: 2013/11/28 16:10 by deltatango