Day1 To Day3 Public Link — Malevolent Planet Unity2d

In the expanding indie game landscape, the "malevolent planet" subgenre strips away companionship and offers raw, environmental hostility. The hypothetical Unity 2D project Malevolent Planet, based on publicly shared development logs (days 1–3), exemplifies how 2D constraints can amplify dread. Unlike 3D open worlds, the flat plane becomes a claustrophobic chessboard where the terrain itself is the antagonist. This essay reconstructs the experience from a hypothetical public link (e.g., an Itch.io demo or Patreon devlog), analyzing how days 1 through 3 introduce, escalate, and twist the planet's malevolence.

Because this is a demo, players frequently encounter technical problems. Here is how to fix them:

| Issue | Solution | | :--- | :--- | | White screen on launch | Disable Steam Overlay if running via Steam. The Unity2D renderer conflicts with overlay hooks. | | "Missing Day 2 terrain" | Delete the AppData/LocalLow/MalevolentPlanet folder. Corrupted tilemap data persists between runs. | | Audio stuttering | Go to Audio Settings > Change from "Spatial Blend (3D)" to "Stereo 2D." The public build has a bug with Unity’s HRTF. | | Public link says "Access Denied" | The link has likely expired. Return to the Discord or Itch.io page for the current version. |


Day 1 – The Arrival

Day 2 – Whispers in the Soil

Day 3 – The First Trial


"Malevolent Planet" is widely known in the adult indie game community as a Sci-Fi Visual Novel. While the search term specifies "Unity 2D," the game is typically developed using the Ren'Py engine. However, many developers use Unity to create 2D visual novels or RPGs, so a Unity port or a similar project with this name is possible.

If this refers to the Visual Novel:

Unity 2D with Tilemaps forms the ground. I used a Rule Tile for varied terrain (dirt, corrupted patches, magma cracks). The malevolence is driven by a PlanetController singleton that manages global hostility. malevolent planet unity2d day1 to day3 public link

Key components Day 1:

Hazard types (ScriptableObjects):

Code snippet – Hazard spawning:

public class HazardSpawner : MonoBehaviour
public GameObject[] hazards;
    public float spawnIntervalMin = 5f, spawnIntervalMax = 10f;
void Start()  StartCoroutine(SpawnRoutine());
IEnumerator SpawnRoutine()
while (true)
yield return new WaitForSeconds(Random.Range(spawnIntervalMin, spawnIntervalMax));
        Vector2 spawnPos = GetRandomGroundPosition();
        Instantiate(hazards[Random.Range(0, hazards.Length)], spawnPos, Quaternion.identity);
Vector2 GetRandomGroundPosition()
// Raycast from random x at top of screen to find ground
    float randX = Random.Range(-Camera.main.orthographicSize * Camera.main.aspect, Camera.main.orthographicSize * Camera.main.aspect);
    RaycastHit2D hit = Physics2D.Raycast(new Vector2(randX, 10f), Vector2.down, 20f, LayerMask.GetMask("Ground"));
    return hit.point;

End of Day 1: Basic hostile planet with spawning hazards. Public build: [Day1 build link placeholder].


The first day is dedicated to establishing the foundation of the game. The focus is on the Unity interface and basic 2D physics.