======================
freya by jaymakesgames
Current version: 0.0.1
======================

Thanks for taking the time to check out this project, whether you find it enjoyable or absolutely terrible.

Any and all feedback is welcome and encouraged! If you're playing this and don't know how to reach me, 
find out from whomever shared this with you. :)

About:
------

This is a spare time/hobby project. 

Everything is made by jay using a variety of tools like:

	- custom built pixel art tool
	- Helix (https://helix-editor.com/)
	- Bfxr (https://www.bfxr.net/)
	- Logic Pro (https://www.apple.com/logic-pro/)
	- Audacity (https://www.audacityteam.org)

    - except for the excellent font: "712_serif" 
		- by Christian Munk (http://christianmunk.dk/da)

What's currently implemented:

	- Basic combat:      Walk into things or shoot them to fight!
	- Tools/Building:    You can till the earth, plant seeds, build a wall, or decorate the floor
	- Farming:           Planted seeds will grow over time and eventually bear materials to collect
	- "Plains" location: This area has basic procgen with things like enemies and bosses
	- Core treadmill loop

Running:
--------
	The game's binaries are NOT signed! This means your OS may try to prevent you
	from running them. You can do the following as a workaround to make your OS run it 
	anyway:

	Windows:
		- Click the disclosure triangle in the warning prompt and choose "Run Anyway"

	macOS:
		- Open Terminal.app and execute the following command:

			xattr -d com.apple.quarantine /path/to/freya.app

Running on Steam Deck:
----------------------
    - In Desktop mode, download and uncompress the game somewhere
    - Launch Steam (still in Desktop mode):
        - On the bottom left, click "Add a Game"
            - Click "Add a Non-Steam Game..."
            - On the bottom left, click "Browse..."
            - Navigate to where you uncompressed the game and choose "freya.exe"
        - Go to your "Library" tab
            - Select "freya.exe" from the list
            - Right click it, choose "Properties..."
            - Select the "Compatibility" tab
                - Check "Force the use of a specificsteam Play compatibility tool"
                - Close the window
    - Now you can choose "Play" and enjoy

Tips:
-----
	- The default keyboard input scheme might feel weird; it's nontraditional and
	  laid out to enable playing without having to move your hands, without needing
	  a dedicated numpad, and supporting easy diagonal movement.

	  Movement / Navigation in menus:     

        
                                  move up
                move up + left    |      move up + right
                             \    |    /

           	                 [U] [I] [O] 
        
        	move left  --    [J] [K] [L]  --  move right
                                  |
                                   \- pass a turn / wait
        		             [M] [,] [.] 

                             /    |    \
	          move down + left    |     move down + right
                                  move down

	  Actions / Interface:

	      [W] [E] [R] [T]
           |   |   |   \- Toggle inventory
           |   |   \----- Select next toolbelt item
           |   \--------- Select previous toolbelt item
           \------------- Show minimap

	  [A] [S] [D] [F] [G]
	   |   |   |   |   \- Show menu
	   |   |   |   \----- Confirm / Select / Use equipped item
	   |   |   \--------- Cancel / Back
	   |   \------------- Fast movemet (hold + movement keys)
       \----------------- Move build target reticle (hold + movement keys)

	  [Z] [X] [C] [V]
	   |   |   |   \- Cycle toolbelt forward
	   |   |   \----- Cycle toolbelt backward
	   |   \--------- Sub-cycle the currently selected tool forward
	   \------------- Sub-cycle the currently selected tool backward

	  Special:

	     F6 - Show the debug interface. See below for available commands.

	- Use the inventory "Info" option to learn more about what items do
	- Use the pass turn command to trick enemies into wasting their turn
		- Some enemies have predictable behaviors; exploit it
	- To properly wield weapons, they must be equipped/the focus item in your toolbelt
	- Areas other than "plains" are a work in progress and empty
		- There is nothing to do here, though feel free to explore 
	- Using an Orb of Persistence marks a given map to not regenerate when you die
		- This could be used as a place to store items you don't want to risk losing
		- This could be a way to ensure a unique enemy never gets wiped forever
		  (along with its unique loot!), until you're ready to face it
	- Cycling equipment does not use a turn
		- Use this to your advantage to heal up, in a pinch
	- Enemies do not follow you across maps
		- Use this to escape and heal up
		- You can also use this to "cheese" some enemies
	- Dying could be useful
		- When you die you can choose to buy:
		  - persistent gear that carries over with you between resurrections 
		    using currency dropped from fighting enemies
		  - minor permanent upgrades to health, speed, strength, etc
	- Blue slimes can drop potions
	- Red slimes can drop daggers
	- Silver slime will drop a teleport key & anchor

	- Debug console: 'F6' to show, ESC to hide
		- commands: 
			spawn <entityname> // Spawn a named entity
			invincibility      // Max health, virtual invincibility
			heal               // Heals you to full
			light  	           // Lights the entire map
			tools	           // Give yourself all the tools
			kille	           // Kill all enemies on the current map
			killp	           // Suicide
			debug              // Toggle debug overlay

			// Some commands don't occur immediately. Take an in-game turn to trigger their effect.

	- Some unique bosses / treasure spawn at regular intervals
		- When spawned, a sound will play and a message will be logged
		- NOTE: If you die after such a spawn without picking up the rewards, you'll miss your chance forever!
			- (unless you've persisted the map with an orb)

Shout outs to the following:
----------------------------

	- family & friends
	- the fine folks of GDR

Update history:
---------------
	- v0.0.1: 
		- Steam Deck support
		- Re-work "scripting" engine (more than once)
		- Locked doors + keys
		- Compendium (fully functiona, but WIP contents)
		- Unique map spawns (WIP, some spawn, others don't. Plains only.)
		- New NPC (WIP, can spawn but doesn't fulfill his destiny. Yet.)
		- New enemies: various type of imps
		- New player portraits
		- Revamped HUD layout
		- Multiple toolbelts
		- "Automatic" toolbelt
			- when enabled, the toolbelt remembers what was last placed in every spot
		- New option: "Wait for animations"
			- if on, actions can't be taken until animations complete
				- combat will feel "slower" with this on
				- the intent is to make it more clear what is happening during combat
			- hold the "fast modifier" key to temporarily disable this, even if it is on
		- New reset options: choose which keyboard layout to use by default
		- "Blessings"
			- you have a chance to be blessed when resurrecting, which grants various boons for
			  that run. These do not carry over between resurrections.
		- "Strongholds" (WIP)
			- has a chance to spawn in the Plains biome
		- "Shrines" (WIP)
			- share lore about the game world
		- Bug fixes:
			- fixed a bug where you could use long-ranged weapons to attack through walls
			- fixed a bug where you could use long-ranged weapons to attack tiles you couldn't see
			- fixed a bug where, when restarting, persisted maps weren't automatically uncovered in the minimap
			- fixed a bug where dialogue would sometimes not display
 		
	- v0.0.0: 
		- first demo
