Simple terminal crafting game in Visual Basic
CraftingEngine is a terminal game based on Little Alchemy by Jakob Koziol. Programmed in Visual Basic, CrafitngEngine is open source and can be easily modified to add other recipes or features.
The goal of the crafting engine is to discover all 560 elements by combining two elements together. The game starts with four elements unlocked:
- Air
- Earth
- Fire
- Water
Combine two elements together by typing: <Element 1> + <Element 2>, where <Element> is the text name of the element (including spaces). Be sure to type a plus sign.
-
<Element> - Typing the name of an element will list all crafting recipes for that element.
-
List [L] - List all unlocked elements.
- [L] - (Optional) Typing one or more single letters, numbers, or symbols will search for elements that starts with that character. For example, typing list a b will list all elements that starts with A, then all elements that start with B.
-
Hint - Show a random recipe using the already unlocked elements. The recipe may have already been unlocked.
-
Clear - Clear all text on the terminal screen.
-
Help - Display in-game help screen.
-
Save - Save game progress to a text password. The password is copied onto the clipboard.
-
Load - Load the game progress from a text password. An invalid password will reset game progress.
-
Reset - Reset all game progress.
All crafting recipes come directly from the game Little Alchemy, but can be easily modified by editing the file CraftingRecepies.txt. Recipes have the following format:
- Name,Color:E1+E2;E1+E2;
The element color can be one of the following colors:
Console Color | <Color> | Console Color | <Color> | |
---|---|---|---|---|
ConsoleColor.Blue | Blue | ConsoleColor.DarkBlue | DarkBlue, DKBlue | |
ConsoleColor.Cyan | Cyan | ConsoleColor.DarkCyan | DarkCyan, DKCyan | |
ConsoleColor.Gray | Gray | ConsoleColor.DarkGray | DarkGray, DKGray | |
ConsoleColor.Green | Green | ConsoleColor.DarkGreen | DarkGreen, DKGreen | |
ConsoleColor.Magenta | Magenta | ConsoleColor.DarkMagenta | DarkMagenta, DKMagenta | |
ConsoleColor.Red | Red | ConsoleColor.DarkRed | DarkRed, DKRed | |
ConsoleColor.White | White | ConsoleColor.Black | Black | |
ConsoleColor.Yellow | Yellow | ConsoleColor.DarkYellow | DarkYellow, DKYellow |
- Yes, I know that the word "Recipe" is spelled wrong several places in the code. You can fix it if you want :).
- This program really needs to be updated to use more classes and modules to isolate code such as saving/loading, printing to the screen, and other functions included in "Main.vb" This is on the list of TODO's.