cthangover

A mod-oriented platform for visual novels with RPG elements

About the Project

cthangover is a visual novel with RPG elements, built on a unique mod-oriented architecture. Written in Godot 4.6 (C# / .NET 8) and distributed under the MIT license.

The Godot project contains almost no resources. A lightweight C# kernel assembles a complete game at runtime from mods located in the mods/ folder. Mods contain scenes, scenarios, resources, and C# source code — compiled on-the-fly via Roslyn. By removing or adding mods, you can remove or add scenes, mechanics, and entire game subsystems.

This opens the door to limitless modding and development of your own projects on top of the kernel. To modify mods, you don't even need Godot or an SDK — a text editor and basic JSON knowledge are enough.

Key Features

What's already working out of the box

Shader-based Time of Day

One background instead of hundreds of variations. Automatic GPU-based calculation of day/night phases without extra assets.

2D Lighting

Dynamic light sources, depth maps, and a draggable player lamp bring every scene to life.

Scenario DSL

A custom domain-specific language for writing scenarios. Simple syntax, 26 commands, extensible via mods.

RPG Systems

Characters with levels, XP, quests, inventory, crafting, skills, and collectible rarity cards.

Turn-Based Battle

Two equal battle modes — turn-based and Final Fantasy style. Switch on the fly via mods.

Mod System

The game is assembled from transparent bricks. Each mod can be inspected, removed, and you'll see how the game changes.

Mod-Oriented Architecture

Kernel (C#)

A lightweight core with no resources. Loads and activates mods, compiles C# code (Roslyn), resolves conflicts.

Mods (mods/)

Scenes, scenarios (.scenario), textures, sounds, shaders, JSON data, C# source code. Everything the game is made of.

Game

Assembled at runtime from active mods. Removed the turn-based battle mod, added FF — now you have Final Fantasy style combat. Swapped them back — turn-based again. Added a food mod — now you cook, eat, and feed your companions. Removed it — no survival fuss.

Screenshots

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4

Videos

Lighting & Time of Day

Story

Cthangover (Cthulhu + Hangover) is the story of how the great Al-Azif, also known as the Book of the Dead, met its one and only invincible enemy — a chronic alcoholic.

The protagonist, a lost soul from a parallel reality, accidentally read a couple of lines in an unknown language, after which the firmament cracked open and tentacles, claws, and indescribable forms from worlds beyond sleep poured through. Humanity plunged into chaos, but the culprit of the apocalypse is idly picking his nose, mistaking the roar of cosmic horrors for hallucinations.

The deadly curse of the Necronomicon, which breaks the minds of the mightiest mages, shatters against the impenetrable stupidity and chemical dependency of a drunkard. The Book itself, trapped in this absurd bond, finds itself at a dead end for the first time in its existence: it is immortal, but doomed to share eternity with a being who couldn't care less.

Black humor, foul language, absurd situations, and an unusual plot.

Core Subsystems

Each subsystem is a set of C# classes, Godot scenes, and JSON data — documented and extensible via mods.

Get Involved

Open source project under the MIT license.

Constructive criticism, fresh perspectives, and feedback are needed. If you're interested in visual novels, modding, Godot, or just unusual architecture — check out the repository.