RubyDung



RubyDung was an unreleased strategy game created by Markus "Notch" Persson before Minecraft, developed from February 2009 at the earliest until May 2009 at the latest. Not much else is known about the game other than it was influenced by Dwarf Fortress, and that it was canceled early in development, before it was even released. Notch's next game would be Minecraft (later known as Minecraft: Java Edition), which is based on RubyDung's codebase.

The name "RubyDung" was a placeholder name for a "dungeon game in the rubylands", the "rubylands" being a rough idea for a game world that Notch had. Rubylands is a project Notch was developing in early 2008.

About
While most gameplay features/mechanics are unknown, as the game was canceled during a pre-alpha state, the game was meant to be a clone of Dwarf Fortress had it been finished. It would be easier to play with a heavy focus on accessibility, unlike the former game which has been remarked for being quite complicated and unfriendly to beginners. Since the game was in an early development stage, no GUI, text, or any other such features appear in any of the existing screenshots of the game.

The game featured a 3D isometric perspective, as opposed to Dwarf Fortress's 2D tile-based graphics. It also included a 3D texture mapper, and grass and cobblestone textures which were randomly colored on the fly. The terrain generation was quite varied, containing many bumps, hills, and monoliths. Unlike the blocky nature of Minecraft, there appeared to be many sloped surfaces. There were trees using billboarded sprites present in the game as well, which there are a lot of in the screenshots that they are present in. In earlier versions of the game, there was also a dirt material which formed maze-like dirt paths, and an alternate, earlier grass texture less resembling the one seen in Minecraft.

After the game was canceled early in development, the codebase would later be reused for Minecraft. Most notably, the same grass block and cobblestone block textures that appear in the later versions of RubyDung would appear in the earliest builds of Minecraft.

Rubylands
RubyDung would likely have reused some gameplay elements from a related unreleased project by Notch, Rubylands. This game was going to be a group manager where you would assemble, equip, level up, and pay heroes, in which some progress had been made. A local town would provide quests for the heroes, which the player could send them on. When they returned, a replay animation of the quest would show, and the player would get to distribute/sell/equip any loot gathered. The player would gain experience points to level up. The player's level determined the size and number of the groups one could have. The player could also construct better headquarters. In this game there was coding implemented for the player to fight enemies, fire heroes, and hire new ones, shown with text on the screen. The only known creatures implemented were the bunny and the hero. It is unknown if there were any sprites for them.

Items would have existed in three forms:
 * Normal Items - These would have been carried, stackable, and have a single use (disappear when used). They would have mostly been collectibles and materials. Notch gave examples of such items as: Healing Potion, Crossbow Bolt, and Dragon Hide.
 * Multi Use Items - These would have been similar to normal items, except rendered as single items with more than a single use. They would not have been stackable. Notch gave examples of such items as: Wand of Healing, and Hot Meal.
 * Equippables - These would have consisted of an item type, a material, an optional prefix, and an optional suffix. The item type would decide what slot the item could have been equipped in, such as a helmet for the head slot. Materials would range from normal ones (iron, wood, etc) to exotic ones that would require hero traits to use (glass, dragonscale, etc.) Notch gave examples of such items as: Iron Boots, Legendary Silver Necklace of Gloom, Decorated Wool Cape, and Copper Sword of Dragon Slaying.
 * Prefixes would have been single adjectives (Legendary, Blessed, Fine) and would modify the item stats. Suffixes would be in the form "of ", and add special abilities to the item depending on the suffix.

Notch also worked on several other unreleased projects with similar names. These include:
 * Ruby - a free-scrolling JRPG type engine with monster battles, in which players could select options in the menu and attack monsters, complete with animations and damage popups.
 * Rubylands X - a tile based roguelike with line of sight and fancy lighting effects, a fireball spell, and exploding barrel chain reactions.
 * Rubyland - a first person tile based dungeon crawler with variable floor/ceiling heights, an animated fire texture, variable colored fog, and per-tile brightness.

Creation of Minecraft
RubyDung is part of what inspired Notch to make Minecraft. He wanted RubyDung to have both isometric and first-person viewing modes, but when he tried making this, he thought that the textures were too blurry and distorted when viewed up close. Shortly after Notch's days coding for RubyDung, he came across the game Infiniminer. Notch decided that this game’s first-person block-based system would be a better choice for the kind of gameplay he had in mind, which put down the rest of the foundations for Minecraft.

On October 30, 2009, Notch talked about RubyDung on his blog, The Word of Notch, in an entry titled "The Origins of Minecraft".

Minecraft's source code came from RubyDung, and as such, the earliest versions of Minecraft still internally refer to themselves as RubyDung, and still contain the terrain.png file from RubyDung, which dates to February 2009.