Neohack

From RogueBasin
Revision as of 06:58, 27 September 2011 by Bear (talk | contribs) (Dev Manifesto)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Neohack is not in Alpha yet; many (most) of the features described below are not yet implemented. But I'm now aiming toward something playable (UI complete at least and with a starting set of 26 monster types) by the end of 2011.

Neohack is implemented in C using a Linux development platform, because I like the old-fashioned hardcore-ness of C. I'm trying to keep the code portable enough that it will compile easily elsewhere.

Neohack is my contribution to the "next generation" of roguelike games, and has what some will see as a distinctly "retro" ethos. It runs in a shell session using characters for graphics, for example. It will be unapologetically hard, and it will support a large number of flexible keystroke commands that allow your character to use things in many different ways and modify them in at least a few different ways. It is designed to appeal to people who think nethack has gotten too tame, predictable, and simple.

That said, I want it to be the game that's hard, not the interface. I'm trying to build the best console interface that I can, and I guess it's up to the players to tell me whether it works.

One new feature is a scrolling help line that goes like a ticker across the bottom of the console window. If you're ever stuck you can just watch the scroll line until the command you need comes into view.

Another is that the game works at any console window size above a certain minimum, and handles changes in console window size gracefully.

A third new feature is that since consoles handle Unicode characters now, I've decided I don't need to limit myself to ASCII.

A fourth new feature is that since modern monitors and shells allow huge console windows, I've decided to use two character cells to represent one map square. This allows you to see one character for the monster and a different character for its main wielded weapon, so you could have a reasonable chance to notice when a gnome is carrying a wand of death instead of the usual shortsword.

I'm planning to provide Autoexplore and similar game-automation features to make the medium-large levels manageable, as well as Autotarget, Autofire, and Autocast features to reduce most ranged attacks to a single keystroke.

Items and item types can be named; individual items can be inscribed. Eventually Inscriptions should work with command macros, but that won't happen until version 2.

Persistent Levels. Once a level is generated, when you come back to it it will always be the same. This means you can make "stashes" where you store equipment, etc, that you're not using. Of course that also means intelligent monsters will sometimes loot your stashes, so keep that in mind when you're making them.

Inventory size is limited by weight and volume, not by number of different item types.

Dungeon time in Neohack is continuous, not discrete. Moving diagonally for example takes a bit longer than moving orthogonally. Individual actions can have the amount of time they take modified by items like speed boots (which make walking faster but not attacking) or a swift sword (which makes attacking faster but not walking). There are few if any integer ratios of movement that you can count.

Rarities. Certain items and monster types in Neohack are designated as Rarities, with very small chances per game of appearing. That means that even when you've won, or played a hundred games and know perfectly everything you've ever encountered, you'll still occasionally encounter new things you haven't seen before.

In many roguelike games, there are "artifacts" - items of such great power that the game limits their appearance to preserve game balance. Rarities is a related idea, but not the same idea. Rarities may appear at any point in the game, and may or may not be particularly powerful. The appearance of rarities is limited to add flavor and uniqueness to each game, not to limit the potential of ultra-powerful items to break game balance.