AdamLearns / JumpRoyale

This is the game that chat plays during my stream breaks. It's a platformer controlled through Twitch chat.
19 stars 2 forks source link

JumpRoyale

image

A platformer controlled through Twitch chat to be played on my stream during short breaks.


How to play

The only way to play is for Adam to be streaming the game. At that point, you can use the following commands in his Twitch chat:

To jump, you have to send one of the following commands in the chat: l, u, r (alias j). Optionally, you can adjust your angle and jump power.

Jump commands are currently accepted in the following format:

Both angle and power have a default value, so you don't have to type them in the chat. Omitting angle will make you jump up, omitting power will make you jump at maximum power. Commands were shortened to one character to make it easier to play.

Quick help:

There are additional fixed-angle commands used as shortcuts:

angle input -90 -45 0 45 90
jump direction ā† ā†– ā†‘ ā†—ļøŽ ā†’

[!note] While angle is clamped between -90 and 90, that does not mean you have to put negative numbers in. This syntax was left in since j became an alias - you can use j -30 to jump left or j 30 to jump right! Sometimes it's more convenient to stay on the j key, so this might be a more preferred way to some players

To bypass duplicate message warning on Twitch, add some garbage letters after commands that you want to repeat:

Jumping in the same direction also works with garbage letters:

This also works if you add them right after the command name, but only without space:

Tips

[!tip] Most important: you don't need to put space between the command and angle, you can simply send l30 to jump 30 degrees to the left (mind the angle input above: 0 degrees means up)

Additional tips:


Customizing your character

Sending char <choice> in the chat allows you to change your character graphic. This is only for cosmetics and will be saved between the sessions.

[!Note] Character customization is not saved during the Result Screen

Characters


Extras


Background


Building, running, testing, development

[!note] When developing with VSCode, if any changes were made in the .editorconfig file, you need to reload your window, because it will not pick up the changes immediately. Open Command Palette and run Developer: Reload Window task. This will most likely happen when switching to another branch that has different rules in .editorconfig, so you might see warnings from old cached config.

On another note, you sometimes have to rebuild the solution for static analysis to detect the fixes (VSCode only).

Testing

Refer to Testing README

Development

With VSCode, we heavily recommend installing the following Microsoft extensions:

Adding a new command

In Arena.cs:

For example, assume there is a command that pushes a random player "left" or "right" where the command format is: push [direction] // ā† random if null

case string when CommandAliasProvider.MatchesPushCommand(command.Name):
    HandlePush(stringArguments[0]);
    break;

Credits