Skip to content

ComprosoftCEO/CraftingEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CraftingEngine

Simple terminal crafting game in Visual Basic


Overview:

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.


How to Play:

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.


Commands

  • <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.


Game Progress

  • 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.


Modifying Recipes

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

Final Notes

  • 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.