Build 1.2

From CoffeeMud Wiki
Revision as of 21:56, 22 February 2022 by Bozimmerman (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
CoffeeMUD
Administrator                                                  Builder                                                              Player
=CoffeeMUD Administrator Information=
Installation     Help     Development    Modification     Feature Requests     Mud Grinder     ini     Security     CMARE Share     Wiki

CoffeeMud Version 1.2 (2.0)

Released on Dec 17, 2001

CoffeeMud 1.2, or CoffeeMud 2.0 if you prefer, was a revolutionary version. Why this is so requires some explaining.

In philosophy we learn that ones world view/philosophy provides the boundaries beyond which our imagination rarely reaches. For CoffeeMud, this philosophy revolved around the Java Object. I had imagined and built a system where all content would ultimately be written in Java, with database storage providing only the basic "Glue" that would tie the java pieces together.

However, as I explained in the write-up for CoffeeMud 1.0, this was a dead-end out of which I saw no escape. Until I did.

When pondering the problem of how to get people to code Java content for a real CoffeeMud "game", it dawned on me -- I'll just use other peoples content! MUDs had been around for almost 10 years, and surely lots of interesting game content had been designed. From this lightbulb moment came the realization that CoffeeMud would have to support loading and using data written for very different MUD engines. This realization led to the breaking of my world view: CoffeeMud would no longer be a system which relied on 100% java coded objects. Instead, or perhaps, in addition, it would provide for objects whose definitions were stored only the database, and merely supported by the java codebase. The purpose of the CoffeeMud database would expanded to meet this new demand, and so would the engine itself.

I then set off to write the most important command in CoffeeMud 2.0: IMPORT. This command allowed the engine to read in area, mob, and item definitions written for very different code bases, and then convert them for use in CoffeeMud. The object definitions would be stored in the engine using a string format called XML, a data storage scheme coming into its own at that time.

Suddenly CoffeeMud had features necessary for its rebirth: the ability to receive content written by others, and the ability to create content outside of the Java programming language.

From there, CoffeeMud exploded in functionality. As I wrote IMPORT, I found myself writing more and more features, usually Properties, Behaviors, and skills, to support those described by the area description files of other code bases. I was practically guarenteeing myself that CoffeeMud would be the equal of its peers, a totally unforseen bonus to the exercise.

When it was done, I not only had a better MUD engine, I actually had a MUD I could make available to players! There was actually something WORTH playing.

I had a real LIVE MUD.

From here on out, development on the engine proceeded at a breakneck pace which hadn't been seen since its inception.

However, this led to another sort of wall: my own creativity. As an application developer at heart, I tend to think in terms of capability and flexibility. I often lacked the imagination to see beyond an extension of what was already there. The developers who had helped me start CoffeeMud were long gone, and they had too little experience with MUDs to really have any unique vision for it. What I needed was someone capable of seeing not just what the engine could do and do more of, but also what it could become.

My stagnated mode of development continued into the next version (1.2.5 or version 2.5), but that would all change with 3.0.

  1. Added support for IBM DB2
  2. New help file "misc_help.ini", for help that fits nowhere else
  3. Several new animal chat.dat categories
  4. New Prayers: Detect Life,
  5. New Abilities: Dragonbreath, Gasbreath, Inebriation, Undead_ColdTouch, Firebreath, Undead_LifeDrain
  6. New Abilities: Lighteningbreath, Regeneration, Frostbreath, Acidbreath,
  7. New Skills: Skill_WandUse, Skill_Swim, Skill_Regeneration, Skill_Resistance, Fighter_Kick,
  8. New Spells: Spell_FaerieFire,
  9. New Properties: Prop_WearAdjuster, Prop_HaveZapper, Prop_HaveAdjuster, Prop_NoChannel, Prop_NoRecall, Prop_Resistance
  10. New Properties: Prop_Trainer, Prop_HaveResister, Prop_RoomNoMOB, Prop_WearSpellCast, Prop_FightSpellCast, Prop_RoomDark
  11. New Properties: Prop_WearResister, Prop_SpellAdder, Prop_WearZapper, Prop_MagicFreedom, Prop_RestrictSpells, Prop_RoomLevels
  12. New Properties: Prop_SafePet, Prop_RoomClasses, Prop_RoomCapacity, Prop_RoomRaces, Prop_PeaceMaker, Prop_RoomAlignments
  13. New Properties: Prop_HaveSpellCast
  14. New Trap effects: Trap_Trap
  15. New Archon commands: Import (most important feature ever added), Reset, XMLIO, Link, Unlink, XML, Shutdown
  16. Mobs, rooms, items, and areas have more editable fields now, and can now be Affected
  17. New commands: AUTOEXITS, OUTFIT, AUTOLOOT, AUTOGOLD, AUTOASSIST, CHANNELS, GAIN, QUALITY, VALUE, YELL
  18. New commands: TOPIC
  19. Lots of mobs updated with equipment, new races, skills, behaviors, etc.
  20. New mob types: StdShopKeeper
  21. New item types: StdFood, StdScroll, GenSuperPill, GenPotion, StdWand, StdPill, GenMultiPotion, GenShoes, GenPants
  22. New item types: StdPotion, GenWand, GenScroll, GenPill, StdDrink, StdMap, GenLantern, GenMap, Shoes, StdArmor
  23. New item types: Waterskin, GenLightSource, StdContainer, GenShield, GenShirt, StdShield, GenCoins, StdInnKey, GenBoat
  24. New item types: GenKey, GenCorpse, Corpse, Staff, ShieldWeapon, SmallDagger, StdWeapon, GenStaff, ArchonStaff
  25. New item types: SmallMace, Healer, Drowness
  26. New Behaviors: Scriptable, Scavenger, Mageness, Guard, BrotherHelper, CorpseEater, MOBHelper, ClanHelper, WimpyAggressive
  27. New Behaviors: Thiefness, Emoter, MobileGoodGuardian, PlayerHelper, MOBEater, GoodExecutioner, NiceAbilities
  28. New Behaviors: MOBTeacher, ActiveTicker, Fighterness, GetsAllEquipped, AlignHelper, Clericness,
  29. New Locales: DarkIceRoom, DarkCityStreet, FrozenMountains, DarkUnderWater, HotRoom, FrozenPlains, ShallowWater
  30. New Locales: Desert, WaterSurface, IceRoom
  31. An empty database will have a single default room created
  32. CoffeeMud can now be cleanly shut down.
  33. CoffeeMud has a sessions manager, and its own classloader
  34. New Races: SchoolMonster, Giant, Rabbit, Hobgoblin, Unique, SongBird, Cat, Wolf, Dog, Dragon, Goblin, Pig, Fido
  35. New Races: Wyvern, GreatCat, Centipede, Snake, GreatBird, Bat, Bear, WaterFowl, Kobold, Orc, Lizard, Doll
  36. Races now have their own leave/arrive strings, equipment, and special stats/features
  37. New Races: Troll, Fox, Undead
  38. Char Classes can now have their own outfit/equipment
  39. New Exit types: ClimbableExit, Impassable, FlyingExit
  40. Changes internal messages to use a mask/code (major/minor) structure
  41. Adding more specific interfaces to lots of different object types
  42. New makemud.bat file for building the mud from src
  43. Channels are now dynamically defined in the ini file, as is the START room.