Coder Social home page Coder Social logo

gregoryfmartin / eldoria Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 46.38 MB

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

License: GNU General Public License v3.0

PowerShell 100.00%
game-development game-engine gamedev powershell rpg text-based-adventure

eldoria's Introduction

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 GitHub wiki for more information.

eldoria's People

Contributors

gregoryfmartin avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

eldoria's Issues

Properly Document Code

Ensure that all functions in the script have proper documentation associated with them.

Tighter State Control

When more of the functions are in place, it's prudent to implement the possible states of the game and regulate control and interaction based on the state.

Scene Image Library Missing

The foundation for creating and displaying Scene Images is available, however there's no actual Scene Images created other than the test one which generates random noise in the grid.

Command Parser Has No Commands

Although the visual and user experience for the Command Parser in the Console Window has been created, there's no actual Command Dictionary.

Command Input String Examination

Under certain conditions, it's possible to create an issue where the input is bugged out. It's hard to describe what this is. I need to examine this algorithm further.

Clear Keyboard Buffered Input

Thanks to Liam, it's possible that the keyboard will buffer input if a key is long pressed. This needs to be corrected.

Backspace Exception Thrown

When pressing the Backspace key in the Command Window, an exception is thrown when the buffer is empty.

image

24-bit Color TTY Support

It may not be possible to do this within PowerShell, but I'll still investigate the possibility anyway.

Reference the code in the following commit.

Although 24-bit color text output seems to work when the entire string is guaranteed to be output at once, breaking the string apart causes prefix control sequence modifiers to not apply to subsequent output. What appears to be happening is that independent calls to text output API imply a CRLF that potentially breaks the formatting, which may or may not make sense.

The consequence of this is that the TTY functionality is broken when trying to implement 24-bit color output using ANSI Control Sequence. This likely requires more investigation.

Inventory Item Deletion/Duplication

Although I thought this taken care of some time ago, it would seem two issues have reappeared in the Inventory screen:

  1. Item removal from the Inventory in the Inventory Screen may not be working as designed.
  2. Removal of the last item from an inventory page isn't handled correctly. If you have a multi-page inventory book, and the last item is removed from any but the first page, an exception is thrown and it's not obvious why at this point.

Battle Subroutine Missing

There's some hint that a battle subroutine would exist in this game, but there's no such subroutine made.

Buffer State Storing

Determine if it's possible to store different buffer states and seamlessly transition between multiples.

Structure Global Data

Attempt to restructure global data into classes. This will be a bit of a larger undertaking but it should be done before a production release.

Command Parser Dictionary Abbreviations

While devising the Command Dictionary, it would be prudent to investigate permitting Command Abbreviations to reduce the amount of typing required by the user. This will give them the options of typing the full commands or typing the abbreviations.

Color Swatches and Sensitivity to User-Selected Color Scheme

This is a bit of a strange idea, but I'd like to investigate if it would be possible to create Color Swatches for themes (this is pretty much necessary anyway), but then to make them sensitive to if the user has a Light or Dark mode selected for the Windows Application Color Mode.

The only crux here is that if a user sets their Windows Application Color Mode to Light, this change doesn't necessarily reflect in their terminal (I'm thinking specifically of Windows Terminal here). I'm not sure if it would be wise to determine if the swatch choice should be made in response to either the Windows Application Color Mode, or if it should be made in response to the color theme currently in use in Windows Terminal (it may be possible (A HUGE MAYBE) to get the color scheme in use in Windows Terminal via PowerShell, and I know for certain the Windows Application Color Mode can be obtained via a Registry Query, but the other pitfall with the terminal-query method is that it's likely not portable to any other terminal, i.e. Windows PowerShell or the standalone PowerShell 7 terminal).

Style Linting

More of a pet peeve, but ensure that my code conforms to my own linting standards.

Battle Action - Inherent Affinity Scalar

If an Entity uses a technique that aligns with their Affinity, a modest scalar should be applied to the Effective Damage, as well as increasing the success rate of the technique itself. Concurrently, using a technique that is diametrically opposed to the inherent Affinity has a substantial effect on the success rate and incurs a negative scalar to the Effective Damage.

TargetOfFilter Empty Bug

When a Battle Entity's TargetOfFilter is empty, the executing logic can't successfully handle the case.

MacOS: SiFieldNRoad SI Blank Buffer Cell

On MacOS, when SiFieldNRoad is drawn to the Scene Image Window, there is evidently a Buffer Cell that is rendered blank with no obvious reason. It appears to be in the second row, eighth column.

Cross Platform Testing

Verify which functionality can port safely to platforms other than Windows. This case will originally start as an investigative one that can and will likely lead to several bug-related issues later on.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.