# Corruption Engines

*These are the various Engine Templates that you can use for corrupting games. These can be customized in the Custom Engine, in which you can load a template to work from.*

### Nightmare Engine

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcqJi9IA_QZw1mG64CY%2F-LjDftqiHSSMQWp3pMfw%2F-LjDsS8julQK67ZHndqj%2Fimage.png?alt=media\&token=8fb103e4-c9a0-4abf-be39-869d2ab5486f)

This engine corrupts on the raw byte level.

*Effect: It changes Bytes in Memory once.*

**Blast Type**

This parameter defines the effect applied on Byte(s)

RANDOM: Will replace the Byte(s) at the selected address with random Byte(s)

RANDOMTILT: Will replace the Byte(s) with random Byte(s) or Increments it or Decrements it.

TILT: Will Increment or Decrement random Byte(s).

### Hellgenie Engine

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcqJi9IA_QZw1mG64CY%2F-LjDftqiHSSMQWp3pMfw%2F-LjDsYt7IU3CjTW0gwGk%2Fimage.png?alt=media\&token=d0a746d7-196f-49ea-b018-821b1a5d5330)

This engine generate Active Units, which execute on every frame. The Hellgenie Engine replicates the effect of Cheats (see Game Genie, Active Replay, GameShark) and replaces a value with a randomly selected one then applies it on every frame.

Effect: It randomly selects a value and forces a selected address to then keep that value.

**Max Infinite Units**

Infinite Units are resource expensive as they re-write memory on every frame and must be recycled. This allows you to define how many Infinite Units are allowed. New units retire old ones.

**Clear units on rewind**

When enabled, rewinding will clear all [Infinite Units](https://corrupt.wiki/rtcv/concepts-and-vocabulary#active-and-infinite-units) that have an infinite life time (when applicable).

### Freeze Engine

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcqJi9IA_QZw1mG64CY%2F-LjDftqiHSSMQWp3pMfw%2F-LjDsiINR9rNjIPMIKDN%2Fimage.png?alt=media\&token=73874a6e-7a9e-4104-9ca8-a03c1cadcf83)

This engine generate Active Units, which execute on every frame. The Freeze Engine replicates the effect of Cheats (see Game Genis, Active Replay, GameShark) and replaces a value on every frame. The difference between this engine and the Hellgenie Engine is that this doesn't generate a value but instead keeps the value at the target address and reapplies it on every frame, therefore freezing its value in place.

*Effect: It forces Bytes at a selected address to keep their value.*

**Max Infinite Units**

Infinite Units are resource expensive as they re-write memory on every frame and must be recycled. This allows you to define how many Infinite Units are allowed. New units retire old ones.

**Clear units on rewind**

When enabled, rewinding will clear all [Infinite Units](https://corrupt.wiki/rtcv/concepts-and-vocabulary#active-and-infinite-units) that have an infinite life time (when applicable).

### Distortion Engine

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcqJi9IA_QZw1mG64CY%2F-LjDftqiHSSMQWp3pMfw%2F-LjDtDaXu8bih01rC1uG%2Fimage.png?alt=media\&token=abc44002-775a-47f0-8ca5-b7e35bdd4edd)

This engine backups Bytes and restores those backups once, later in time.

*Effect: This corrupts data by restoring parts of it to a previous state.*

**Distortion Delay**

This is the amounts of steps that each corruption unit has to wait before restoring a backup.

**Resync Distortion**

This erases all current [active units](https://corrupt.wiki/rtcv/concepts-and-vocabulary#active-and-infinite-units) pending to be restored.

### Pipe Engine

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcqJi9IA_QZw1mG64CY%2F-LjDftqiHSSMQWp3pMfw%2F-LjDseKfFWFSYtc1Qn-V%2Fimage.png?alt=media\&token=154e15ee-fa7e-4ca9-813e-a72de2630385)

This engine generates units that bind addresses together and can make data bleed from a Memory Domain to another. It uses Infinite Units that route memory changes on every Emulator Step or frame.

**Lock Step units**

Prevents any change to be done to the current Active Units

**Clear units on rewind**

When enabled, rewinding will clear all [Infinite Units](https://corrupt.wiki/rtcv/concepts-and-vocabulary#active-and-infinite-units) that have an infinite life time (when applicable).

### Vector Engine

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcqJi9IA_QZw1mG64CY%2Fuploads%2FCxpiDZyVoDnICH1SQieq%2FVector%20Engine.png?alt=media\&token=b33b6639-e7c7-44bd-8da1-d1d9f7ab1216)

This engine corrupts using a Limiter and Value list.

*Effect: Allows for more controlled corruptions via the use of Limiter and Value lists.*

**Limiter List**

On the generation of every Unit with this engine, the value at the randomly selected address is going to be compared to a list of legal values called a Limiter List. If the value at the random address isn't legal according to the list, the Unit then will not be part of the BlastLayer.

**Value List**

After generation of the Unit with this engine, a replacement value is assigned to the legal address. This value is randomly selected from a selected Value List.

**Unlock**

Allows the Engine [Precision](#engine-precision-and-alignment) to be changed.

#### **Lists**

{% content-ref url="classic-vector-lists" %}
[classic-vector-lists](https://corrupt.wiki/rtcv/rtc/classic-vector-lists)
{% endcontent-ref %}

### Cluster Engine

<figure><img src="https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcqJi9IA_QZw1mG64CY%2Fuploads%2FHyclcYp3vOMJru7AM6Dp%2FStandaloneRTC_FjWF2Kg9zo.png?alt=media&#x26;token=fa6e62ea-7441-4ffd-8c39-314153e9e0b3" alt=""><figcaption></figcaption></figure>

This engine swaps values with neighboring values.

*Effect: Swaps or rotates values around*

**Limiter List**

On the generation of every Unit with this engine, the value at the randomly selected address is going to be compared to a list of legal values called a Limiter List. If the value at the random address isn't legal according to the list, the Unit then will not be part of the BlastLayer.

**Method**

Changes how the cluster will be picked, based on the main address (can be forwards of backwards)

**Cluster Chunk Size**

Amount of units used in a cluster (total byte size = units X precision)

**Rotate Amount**

How many units of the cluster will be rotated in each execution

**Cluster Direction**

Direction in which the cluster is taken based on the first address

**Split Blast Units**

Will generate single units in the blast editor rather than one big unit for each operation

**Filter All**

Makes the filter check of each units in the cluster rather than just the base address

### Custom Engine

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcqJi9IA_QZw1mG64CY%2F-LjDftqiHSSMQWp3pMfw%2F-LjDsuWTTqeoBMFHLy9S%2Fimage.png?alt=media\&token=24b4e1ad-7cd8-4c93-b286-2e565f15ca85)

This engine allows you to mix and match parameters to create your own engine.

Every other engine is in fact just running templates for the Custom Engine. before RTC 5.X, each engine was really its own engine, now they're all living as templates. The parameters you input in here will reflect what you get in the [Blast Editor](https://corrupt.wiki/rtcv/rtc/blast-editor).

### Engine Precision and Alignment

![](https://3633562489-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcqJi9IA_QZw1mG64CY%2F-LjDw67xCG9fnjcxYKDD%2F-LjDxDILGQV5Mu7Xg40f%2Fimage.png?alt=media\&token=6a7bdb97-e4e4-4434-8955-44c357df5304)

Allows you to choose what size [BlastUnit ](https://corrupt.wiki/rtcv/concepts-and-vocabulary#blastunit)will be generated. 8-bit (one byte), 16-bit (2 bytes), 32-bit (4 bytes) or 64-bit (8 bytes).

The alignment settings should always be left at 0 unless corruption is done on an experimental target or file, or if the game that is being corrupted mispositions its data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://corrupt.wiki/rtcv/rtc/corruption-engines.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
