↩ NeuroDriftDark Fiction AtlasA NeuroDrift collection · 2026
A NEURODRIFT COLLECTION · DARK FICTION · 2026

Dark Fiction Atlas: 310 novels in 31 subgenres

Pandemics · zombies · space · grimdark · dystopias · climate · folk horror · AI · cyberpunk · vampires · haunted houses · meta-novels · Dying Earth · Ukrainian dark fiction

Books after which the world feels more dangerous. A collection for readers who love Max Kidruk's «Colony», Joe Abercrombie and The Walking Dead: ten novels per subgenre, three ratings on every book, title and author copied in one click.

NOT ALL WORLDS ARE MEANT TO SURVIVE
—novels, each passed two independent verification passes
—subgenres — from pandemics to Ukrainian dark fiction
—books have a Ukrainian edition or were written in Ukrainian
—novels from 2018–2026 — an atlas, not a museum
CURATED PATHS / 00

Where to start.

Six short routes for different moods. Click a route and the catalog keeps only the best-matching books.

PICK IN 3 QUESTIONS

Pick in three questions.

Pace, darkness, science. Choose what matters to you and get the six books from the whole atlas that fit best.

Your six

THE COMPLETE ATLAS / 01—31

The catalog of darkness.

Exactly ten novels per subgenre, ordered by fit and quality, not by sales or Goodreads. The ⧉ icon next to the author copies title and author in one click.

Atlas map: 31 subgenres in numbers

Average ratings per subgenre, the number of books with a Ukrainian edition and the span of first-publication years. Click a name to jump to its section.

№SubgenreBooksPaceDarkScience🇺🇦YearsNewest

Honesty and limits

What this is. An editorial selection, not a sales chart: 310 novels in 31 subgenres, ten in each. Fifty books come from the blog owner's original selection; 260 more were added in this version together with 21 new subgenres: a first wave (dystopias, climate collapse, polar and deep-sea expeditions, folk horror, new weird, Ukrainian dark fiction, artificial intelligence) and a second wave of 14 niches from the owner’s wider selection (quiet apocalypse, colonies and generation ships, military SF, cyberpunk, simulations, meta-novels, psychological horror, occult thrillers, haunted houses, possession, vampires, splatterpunk, alternate history, Dying Earth). Subgenres are grouped into eight clusters in the navigation. A second pass (23.10.2026) added a recency rule: every subgenre holds at least 6 books from 2010–2026, of which 4 after 2018 and 2 after 2022, and no more than 3 pre-2000 classics — so 142 of the 310 books were published in 2018–2026.

How it was built. Each subgenre was compiled separately, then merged and de-duplicated — a book lives in exactly one subgenre. Every list then went through two independent verification passes: a fact-check (title, author, first-publication year, series, original language, Ukrainian edition) and a genre editor (fit to the niche, quality, variety of decades and countries). Final ranking came after the fixes.

What was excluded on purpose. Nothing originally written in Russian, regardless of the author's citizenship; no authors from Russia or Belarus; no story collections, comics or non-fiction. That is why there is no Roadside Picnic, Metro 2033 or Vita Nostra here.

Ratings. Pace, darkness and science are integers from 1 to 5 set editorially, not scraped from rating sites. A compass, not a thermometer.

Ukrainian editions. The 🇺🇦 flag means we are reasonably confident a translation exists (publisher and year in the card). When confidence is low, we do not show the flag. Before buying, press «Ukrainian edition ↗» — the translation market changes monthly.

What may be wrong. The year of a few books may be off by one (first edition vs. first wide edition); for some translations the publisher is listed from editors' memory rather than a catalog. The H/M/L confidence label on every card shows where we stand firm and where you should double-check. Data as of October 2026.

H — title, author and year verifiedM — minor doubts (edition year, series)L — unsure — check before buying

Frequently asked questions

How is this different from Goodreads or Amazon tops?
No voting and no sales here. Each subgenre was compiled separately, then two independent verification passes caught factual errors and genre drift. Rank means fit to the niche, quality and darkness, not popularity.
Why no Strugatsky, Metro 2033 or the Dyachenkos?
Editorial rule: no book originally written in Russian, regardless of the author's citizenship, and no authors from Russia or Belarus. A deliberate constraint, not an oversight.
How does copying the title and author work?
The small ⧉ icon next to the author on every card copies the «Title — Author» line to the clipboard in one click; the book card has a separate button for the Ukrainian title. In «My list», the «Copy list» button gathers all saved books into one text.
How do I know whether a book exists in Ukrainian?
The 🇺🇦 flag on the card and the «Ukrainian edition» line in the details (publisher, year, confidence label). The «In Ukrainian» filter keeps only such books, and the «Read it in Ukrainian today» route shows the best translated book from each subgenre.
Where do I start if I don't know what I want?
The «Pick in three questions» block: choose pace, darkness and science and get six books from the whole atlas. Or one of the four routes at the top: outbreak survival, space empires, broken reality, in Ukrainian.
Which books are easy to listen to in English at B2?
Every book carries a «Listening difficulty» rating from 1 to 5: vocabulary, sentence length, dialect or archaic diction, invented terms, number of narrators and linearity. The «🎧 Easy in English» filter keeps levels 1–2 and Ukrainian originals; the «By language ease» sort orders the whole atlas. Two independent editors rated each book, a third settled disagreements.
How do I hide the books I have already read?
The «✓ Read» button on a card, in the book details or in «My list» hides it from the atlas, the routes and the picker; if the book was in your list, it leaves the list too. Read books are stored in this browser across sessions; see or restore them with the «Read» filter or the ✓ counter in the header.