About This Game

One More Level is a turn-based Roguelike game made with Godot engine. It is available on GitHub. The GUI font, Fira Code, is created by Nikita Prokopov. The tileset, curses_vector, is created by DragonDePlatino for Dwarf Fortress.

You can play One More Level either locally (which is an executable file) or as a HTML5 game on itch.io. You can change most settings (except palette, see below) when playing online.

Every time you start the game, One More Level presents you with a theme dungeon of unique mechanics and goals. This idea comes from HyperRogue, one of the most bizarre and fascinating games I have ever played. You can beat the game in five minutes, so it never hurts to go down just one level deeper.

Key Bindings

Godot engine natively supports keyboards and gamepads (Xbox, DualShock and Nintendo). Xbox buttons are shown in square brackets below. If you need mouse support, press V to open debug menu, then set mouse_input to true.

General gameplay:

  • Move: Arrow keys, Vi keys, ASDW, Left-click, [Direction pad].
  • Wait: Space, Enter, Z, Period (.), Right-click, [A].
  • Reload after win/lose: Space, Right-click, [A].
  • Quit: Ctrl + W, [Select].

Menu keys:

  • Open Help menu: C, [B].
  • Open Debug menu: V.
  • Exit menu: Esc, Ctrl + [, [B].

Function keys:

  • Force reload: O, Left-click[!], [Y].
  • Replay dungeon: R, [X].
  • Replay world: U, [Start].
  • Copy RNG seed to clipboard: Ctrl + C.
  • Copy world name to clipboard: Ctrl + D.

Force reload and two replay keys start a new game in different ways.

  • Force reload: A random seed and world tag.
  • Replay dungeon: The same seed and world tag.
  • Replay world: A random seed and the same world tag.

[!] In order to force reload by mouse, left-click the grid that is just outside the bottom right corner of the dungeon, or, put it in another way, the grid that is on the left end of the RNG seed.

Following keys are available in Help menu.

  • Move down: Down, J, S, [Direction pad down].
  • Move up: Up, K, W, [Direction pad up].
  • Page down: PgDn, Space, F, N, [RB].
  • Page up: PgUp, B, P, [LB].
  • Scroll to bottom: End, Shift + G, [RT].
  • Scroll to top: Home, G, [LT].
  • Switch to next help: Enter, Right, L, D, [A], [Direction pad right].
  • Switch to previous help: Left, H, A, [Direction pad left].

Following keys are available in Debug menu. Quote from Godot Docs with slight modification.

  • Copy: Ctrl + C.
  • Cut: Ctrl + X.
  • Paste/"yank": Ctrl + V, Ctrl + Y.
  • Undo: Ctrl + Z.
  • Redo: Ctrl + Shift + Z.
  • Delete text from the cursor position to the beginning of the line: Ctrl + U.
  • Delete text from the cursor position to the end of the line: Ctrl + K.
  • Select all text: Ctrl + A.
  • Move the cursor to the beginning/end of the line: Up/Down arrow.

These keys are available in wizard mode (see below).

  • Add 1 turn: T.
  • Fully restore turns: F.

Game Mechanics

There is a count down timer at the top right corner of the main screen. You have 24 turns at most. When it reduces to zero, you lose the game. Sometimes enemies and environment are able to consume your remaining turns. They might also kill you in other ways. On the other hand, every theme dungeon has a unique winning condition.

Press C to read these mechanics. The help text is also available in doc/.

Change Game Settings

Edit data/setting.json for play testing. You can also change settings in debug menu by pressing V. Debug settings overwrite their counterparts in data/setting.json. All settings take effect when starting a new game.

When in debug menu, if a text field requires a boolean value, strings match this pattern are true: ^(true|t|yes|y|[1-9]\d*)$.

Set rng_seed to a positive integer as a random number generator seed. When in debug menu, seed digits can be separated by characters: [-,.\s]. For example: 12-3,4.56 is the same as 123456.

Add world names from data/world_list.md to include_world or exclude_world to customize your world rotation list.

Set wizard_mode to true to enable wizard keys. Set show_full_map to true to disable fog of war. Set mouse_input to true to move, wait and reload game by mouse.

Leave palette blank to use the default color theme. If you want to use another theme, copy a json file (for example, blue.json) from palette/ to data/, and then feed palette with a file name with or without the json file extension (both blue and blue.json works). You can also create your own theme based on default.json.

Status Indicators

In the lower right corner of the main screen, there is a bar under the version number. Three of the right most segments are indicators. A minus sign (-) means false and a plus sign (+) means true. From left to right, these indicators show that:

  • Whether setting.json is broken;
  • Whether wizard_mode is true;
  • Whether mouse_input is true.

Export the Game

If you want to export One More Level using Godot engine by yourself, first you need to download the project from GitHub (see above, About This Game). You also have to tweak export settings to filter certain files. In the GitHub repository, refer to misc/export.md for more information.

Download

Download
OneMoreLevel_0_4_4.zip 13 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

(+1)

Excellent game, interesting mechanic! I would expand on the instructions though -- it took me a bit to figure it out!

Thanks for the feedback! I was thinking about writing a more detailed manual in addition to the in-game help before releasing, but I did not do it for two reasons.

First, I’m not sure if the short version is just enough for players to understand the basics of the game. And I’m afraid that explaining everything in detail might spoil the fun of discovery. Second, I intend to print the help text in one screen, and leave the longer description in a separate file. But I wonder how many players will actually read something outside the game?

Anyway, it’s not that hard to explain the mechanics. I think I’ll make the game more welcoming to players. :)

(+1)

Awesome! Also, thanks for providing source code! Very helpful for those of us getting started with Godot. Another text-based Rogue-like you might check out (if you haven't already) is "Caves of Qud" on Steam.

Just in case you are interested, I’ve also written a tutorial about making a Roguelike with Godot engine:

https://github.com/Bozar/GodotRoguelikeTutorial/wiki

I’ve been playing Qud since 2016. That is a great game. :)

(+1)

I missed your reply on this and wanted to give a belated thanks! Tutorial is much appreciated! :)

Glad to be of help. I have a plan for future updates. There should be at least two or three major releases. But I’ve been busy with work and video games (SnowRunner & Pillars of Eternity 2) recently. Hopefully I will come back to this project at the beginning of next year.