JOUST X v1.2 
www.EikSoft.com

SOURCE CODE INCLUDED
7.8.23 Project Start
9.13.23 Last Modified

For J.B. - In loving memory of Celeste <3

[UPDATES]
v1.2
Added the ability to switch between NES and Famicom rom graphics
Updated lava cave spark sound effect

v1.1
Fixed an issue with starred egg waves not spawning correctly (wave 25+)
Lowered default high scores
Added a spawning sound effect for lava cave sparks (waves 3 & 4)
Fixed an issue in InputConfig.exe when only using one joystick


[GAME DESCRIPTION]
Joust X is a remake of the NES version of Joust that was released in 1988, which is itself
a port of the original Williams arcade game released in 1982. The graphics and music have been
updated, particle effects were added, and the controls have been made much more fluid. It 
supports split keyboard or dual gamepads for 2 player simultaneous play. Notably, it was 
designed to be displayed on a CRT TV with a video out adapter, and is scaled to appear exactly 
as the NES original. The Joust universe has been expanded with three additional worlds that
take you through multiple weather and control altering environments. You're also able to 
change the color scheme of both riders to further customize the experience. There is a ten 
entry local high score table, as well as a top 100 online leaderboard. Waves progress
endlessly so the fun never ends. See if you can be the top Joust Champion!

I hope to use this game as a framework to remake other NES games in the future.


[CONTROLS]
Player 1 defaults shown (Use InputConfig.exe to change controls)
Left Arrow - Move left
Right Arrow - Move right
Up Arrow - Navigate menus
Down Arrow - Navigate menus
Z - B button (Tap or hold to flap wings, navigate menus)
X - A Button (Toggle local/online scores, backspace on high score name entry)
Enter - Start Button (Navigate menus, pause game, steal 2nd player lives when dead)

F1 - Take PNG snapshot
F2 - Toggle bilinear filtering
F3 - Toggle CRT filter
F4 - Show debug information
F5 - Toggle graphics mode


[OPTIONS]
Sound - Controls sfx volume
Music - Controls music volume
Filter - Toggles bilinear filtering ON/OFF
CRT - Toggles four levels of the CRT filter (scanlines)
Window/Full - Windowed or fullscreen
Colors - Customize your rider's three color palette
(Player 2 must navigate to this screen to change their colors)


[ENEMIES]
Joust a rider higher than their lance to defeat them. Equal height hits result in a parry

Bounder - The weakest buzzard rider, 500 points
Hunter - Slightly faster and smarter rider, 1000 points
Shadow Lord - As fast as you and now targets you, 1500 points
Pterodactyl - Appears if you take too long and targets you, 1000 points
Golden Pterodactyl - Appears very rarely, kill for a great reward! 2500 points
Level based hazards - Fireballs, icicles, and all kinds of enviromental hazards await

(Legend has it that a pterodactyl can be slain with a perfectly placed lance to its maw)


[WORLDS]
Lava Cavern - Lava, fireballs, and burning bridges turn up the heat
Frost Peak - Things cool down as snow and falling ice threaten your path
Verdant Grove - Don't let the beautiful waterfalls distract you from certain death
Lunar Orbit - Altered gravity and shooting stars can make your end unearthly


[SCORING]
Each enemy killed rewards points, but egg collection is based on a multipiler system
Collect eggs without dying for 250 points per, up to 1000 total
Collect eggs in midair without dying for a special mid air bonus, 250 per, up to 500 total


[TIPS]
* The B button can be either tapped or held down to flap your mount's wings
* Try to stay above buzzard riders and bounce off them from above for easy kills
* Joust buzzard riders from the side to more easily collect air multiplier score bonus
* Camp above spawning pads to easily kill riders as they warp in
* 1-Up every 20,000 points
* Non buzzard rider enemies usually have a warning before they appear
* In two player mode you can take lives from the other player with Start when dead
* Avoid edges of the screen when timed enemies like the pterodactyl may spawn
* Unlike the NES original, players cannot harm each other - take full advantage
* Trying to kill a pterodactyl may sometimes be worth the reward
* Uploading your high score will save it both locally and online


[ARENA]
A two player versus mode with powerups, planned for future release


[FILE/FOLDER DESCRIPTION]
JoustX.exe - Main program
Keeper.exe - Online high score keeper (whitelist/allow firewall access)
InputConfig.exe - Configures keyboard/joystick input for both players
JoustX.bmx - BlitzMax source code file
Input.cfg - Input configuration file (created by InputConfig.exe)
hiscore.dat - Local high score file
joustx.cfg - Game options file
Renci.SshNet.dll - Used by Keeper.exe, uploads online high scores via FTP

/x86/ - 32bit program EXEs (64bit by default)
/snaps/ - PNG snapshots
/gfx/ - Graphics
/ogg/ - Music
/sfx/ - Sound effects


[SECRET CODE]
On title screen: UUDDLLRRAA - Start with 9 lives (disables high scores)