Skip to content

gregoryfmartin/Eldoria

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Prerequisites

Operating System

  • Windows 10 (AMD64/ARM64) or greater
  • Windows Server 2019 or greater
  • MacOS (latest version)
  • Linux

PowerShell

  • PowerShell Core 7.3.0 or greater

Terminal Emulators

Windows

  • Windows Terminal 1.21.x or greater

MacOS

  • iTerm2 (latest version)

Linux

  • Alacritty
  • Kitty
  • GNOME Terminal

Caveats

MacOS

Linux

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

Setup

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.

Bootstrapping Eldoria

Running Import-Module .\Eldoria.psm1 -Force will start the game bootstrapping process.

image

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:

image

Title Screen

Eldoria has a nice little title sequence and animation:

Eldoria Title Screen - Made with Clipchamp

Player Setup Screen

Eldoria allows you to customize your player before starting to play.

image

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

Navigating the World Map

The map can be navigated using the command "move" followed by a cardinal direction: north, south, east, or west.

image

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:

image

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):

image image

Interacting with Items on Tiles

Items on a tile can be determined using the "look" keyword (abbr. "l"):

image

Items on a tile can be examined for further details using the "examine" keyword (abbr. "exa"):

image

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):

image

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:

image

Player's Inventory

The Player's inventory can be accessed from the Navigation Screen using the "inventory" keyword (abbr. "i"):

image

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.

image

Subsequent pages can be accessed by turning right (D) or turning left (A):

image

Items that can be used on the Player themselves offer more specific information regarding their effects on stats:

image

Item's effects are randomized:

image

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

image

The Inventory Screen can be exited by pressing the Escape key.

Player Status/Action Equip Screen

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"):

image image

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:

image

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:

image

To exit the Player's Status Screen, press the Escape key until you're back at the Navigation Screen (at most 2 times).

Battle

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.

image

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:

image

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.

About

A text-based adventure game that pays homage to the games of yester-year, with some personal twists.

Topics

Resources

License

Stars

Watchers

Forks