Welcome to the Eldoria game repository! Please keep in mind that this project is currently under active development and is not in a finished state. You can download and run the game program on your own computer, but be aware that none of the scripts are signed and it's currently not in a ready-to-use state. That said, if you do decide to download and use it, feedback is always welcome!
Please read the wiki for more information.
- Windows 10 (AMD64/ARM64) or greater
- Windows Server 2019 or greater
- MacOS (latest version)
- Linux
- PowerShell Core 7.3.0 or greater
- Windows Terminal 1.21.x or greater
- iTerm2 (latest version)
- Alacritty
- Kitty
- GNOME Terminal
- Your Mac needs to have the latest version of the .NET Framework installed. A complete guide to installing it can be found here: https://learn.microsoft.com/en-us/dotnet/core/install/macos. For Mac testing, .NET has been installed via brew.
- Your Mac needs to have the latest version of PowerShell installed. A complete guide to installing it can be found here: https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.5. For Mac testing, PowerShell has been installed manually by downloading the binary from the official GitHub repository's Releases.
- iTerm2 doesn't support DEC Blink SGRs, so text that blinks as a consequence of this sequence will not work. This is not a detriment to the game play experience. Currently, no workaround has been devised.
-
Your Linux distribution needs to support the latest version of the .NET Framework. A complete guide to installing the .NET Framework on Linux is found here: https://learn.microsoft.com/en-us/dotnet/core/install/linux. Eldoria has been tested on the dotnet-8* and dotnet-9* packages on the following distributions:
- Red Hat Enterprise Linux 8.x or greater
- Oracle Enterprise Linux 8.x or greater
- Rocky Linux 8.x or greater
- Alma Linux 8.x or greater
-
Your Linux distribution needs to support PowerShell Core 7.3.0 or greater. A complete guide to installing PowerShell on Linux is found here: https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-linux?view=powershell-7.5. Eldoria has been tested against PowerShell Core 7.3.0 or greater on the aforementioned Linux distributions.
-
Alacritty and Kitty don't support DEC Blink SGRs, so text that blinks as a consequence of this sequence will not work. This is not a detriment to the game play experience. Currently, no workaround has been devised.
Eldoria has migrated to a PowerShell Module layout. This has changed how the game is setup/invoked. When the game is complete, it'll hopefully be uploaded to PSGallery barring content restrictions. Until then, you can perform the following steps to download/bootstrap/run the game:
- Download this repository in its entirety or clone the master branch into a local directory on your computer.
- Open your terminal emulator, start PowerShell if it's not your default shell, and navigate to the directory where the repository is located at.
- Ensure that your terminal window is AT LEAST 90 columns by 40 rows in size.
- Import the module:
Import-Module .\Eldoria.psm1 -Force. This will bootstrap the game (could take a minute or two). - Once the bootstrap is complete, you'll be told that you can start the game by running the cmdlet
Start-Eldoria. Run this to start the game.
Running Import-Module .\Eldoria.psm1 -Force will start the game bootstrapping process.
This process could take some time since there's quite a bit of code to process. Once the bootstrap process is complete, you'll be prompted that you can start the game using the Start-Eldoria cmdlet:
Eldoria has a nice little title sequence and animation:
Eldoria allows you to customize your player before starting to play.
The following customizations are available:
- Name - Type in the name of your player.
- Gender - Select the gender of your player. This has some influence over stat bonuses and what kinds of profile images you can select.
- Bonus Points - Allocate a fixed number of bonus points for various stats for the player. You have a maximum of 10 bonus points to freely allocate. If you don't like your base stats, you can re-roll using the
Rkey. - Affinity - This is the elemental affinity you want for your character. This has an influence over your use of magic. Magic use that aligns with the affinity receives a slight bonus, whereas magic use of an opposing or neutral affinity either receives no or a negative bonus.
- Profile Image - A profile image to use for your player.
The map can be navigated using the command "move" followed by a cardinal direction: north, south, east, or west.
The movement commands can be abbreviated. The word "move" can be shortened to simply "m", and each of the cardinal directions can be abbreviated to "n", "s", "e", and "w" respectively:
If a door, or some other kind of entrance, is on a tile, you can enter or exit it with either the "enter" or "exit" keywords (abbr. "en" or "ex" respectively):
Items on a tile can be determined using the "look" keyword (abbr. "l"):
Items on a tile can be examined for further details using the "examine" keyword (abbr. "exa"):
Certain items can be picked up and placed into the Player's inventory using either the "take" or "get" keywords (abbr "t" or "g" respectively):
Items from the Player's inventory can be used on items in the current tile. For example, you can tie a Rope from your inventory to a Tree using the "use" keyword (abbr. "u") followed by "rope" and then "tree". In this example, the player doesn't have a rope in their inventory, so the game informs them:
The Player's inventory can be accessed from the Navigation Screen using the "inventory" keyword (abbr. "i"):
The Inventory Screen works very much like a book. Each page of the inventory contains at most 10 items. If there are more than 10 items, pages are created to the right of the first one (indicated by the yellow chevron in the top-right corner). Each item has a description which is dynamically updated in the bottom portion of the window.
Subsequent pages can be accessed by turning right (D) or turning left (A):
Items that can be used on the Player themselves offer more specific information regarding their effects on stats:
Item's effects are randomized:
When the Player issues a "use" command from the Navigation Screen, the very first instance of a matching item is used. Unsafe items can be dropped from the Player's inventory by pressing the S key. A beep will indicate a successful drop. Be aware that some items can't be dropped (these are called Key Items).
The Inventory Screen can be exited by pressing the Escape key.
The Player's status and inventory technique selection screen is bundled into one. It can be accessed from the Navigation Screen by using the keyword "status" (abbreviation. "sta"):
The box in the bottom-left allows you to move the chevron up/down to select a technique to replace. Position the chevron using the up/down arrow keys and press Enter to access the Battle Action Inventory:
This inventory window behaves much the same as the Item Inventory window, just smaller and displaying information specific to the Battle Action you have selected. When you find a technique you want to use instead, press the Enter key again to equip the new action. If you don't wish to equip any actions, press the Escape key to return:
To exit the Player's Status Screen, press the Escape key until you're back at the Navigation Screen (at most 2 times).
Battle encounters are random and can occur on tile moves. If you do encounter an enemy, a BATTLE COMMENCE message will appear and then the battle will start.
Enemies are randomly assigned each time a battle starts. Battles are turn based. Whomever has the current turn will have their window highlighted yellow. When it's the enemy's turn, they will randomly select an attack and use it against the Player. When it's the Player's turn, you can use the up/down arrow keys to select an action and press Enter to use it:
When the Player wins a battle, spoils are given and you're prompted to press the Enter key to return to the Navigation Screen. If the Player loses a battle, the game is over.
