The development of Malevolent Planet 2D, an adult-oriented sci-fi RPG built in Unity, has reached a significant milestone with the release of the "Public Fixed" build covering content from Day 1 to Day 3. This update transitions the game from its original text-heavy JavaScript roots into a more immersive, top-down visual experience. The Evolution of Malevolent Planet Unity 2D
Originally conceived as a text-based project, the developer transitioned to the Unity Engine to better support multi-platform play and resolve persistent bugs in the older codebase. The current 2D version features a 3/4 top-down perspective reminiscent of popular RPG Maker titles. Content Breakdown: Day 1 to Day 3
The public "fixed" build consolidates several major updates that were previously exclusive to Patreon supporters.
Day 1: The Garden ReleaseThe story begins at the International Space Academy (ISA). This initial phase focuses on Emma’s training and includes updated chibi art, a functional inventory menu, and a character screen.
Day 2: The Classroom ExpansionThis day introduces the Classroom and Gym maps. Key updates include:
New Dialogue UI: Added features like "Auto Play," "Skip," and "Hide" buttons to streamline the visual novel segments.
NPC Interactions: Introduction of classmates and new specialized animations.
Day 3: The Departure & BeyondDay 3 wraps up the Academy arc as Emma prepares for her departure into space. Recent fixes have ensured that narrative flow remains consistent across these three critical opening days. Key Fixes in the "Public Fixed" Build
The "Fixed" designation refers to several technical hurdles overcome during the transition from Unity 2020 LTS to Unity 2022 LTS. Notable improvements include:
Engine Stability: Resolved infinite loops and native code crashes that plagued earlier builds.
Resolution & UI: Adjustments were made to the options menu to prevent text from being cut off on high-refresh-rate monitors.
Bug Patches: Fixed issues where Emma’s portrait would disappear after intro cutscenes and refined quest journal dragging mechanics. How to Access
The game is currently available through the Malevolent Planet 2D Steam Page and its Patreon Dev Log, where players can find both downloadable and WebGL browser versions. Malevolent Planet Unity 2D Teaser Screenshots + Early GIF
This guide covers the essential progression for the early days of Malevolent Planet 2D malevolent planet unity2d day1 to day3 public fixed
, focusing on the "public fixed" version (v0.2.3 and later). 🚀 Getting Started (Public Fixed Version)
The "fixed" builds (often discussed in community forums) primarily address inventory bugs and resolution issues.
Optimization: Use the new quality settings if you experience lag during combat scenes.
Mobile Tip: If playing on Android, the Joiplay emulator is recommended to fix resolution bugs where the map legend or North Gate area might be cut off.
Save Often: Public versions are prone to choice-locks during specific combat encounters. 🗓️ Day-by-Day Walkthrough Day 1: Arrival and Orientation
The Tutorial: Do not skip it. It introduces vital mechanics like spawn points and class switching that are difficult to learn on the fly.
Survival Basics: Your primary goal is to gather basic resources. Focus on navigating the initial ship area and the main town map.
Combat: Expect to die. Even veterans have low survival rates early on. Use the respawn button to stay in the fight and gain experience. Day 2: Exploration and Quests
Medicine Questline: You must access the North Gate to progress this path. If the gate is invisible or unclickable, it is likely a resolution bug (see the Joiplay fix above).
Interactions: Engage with NPCs in the bar. Be careful with "Blackmailing" encounters; some players report combat locks if specific "caress" options aren't used, though recent fixes aim to resolve this. Day 3: The G-Test and Expansion
New Content: Day 3 introduces the G-test scenario, new illustrated scenes, and a brand-new map.
Dialogue: There is a significant increase in dialogue branches. Choices made here often lead to the "Cult Dream" sequence. Major Boss: You will likely encounter the Sharnah-thing.
Tip: Losing this fight is often a scripted path into the Cult Dream. The development of Malevolent Planet 2D , an
Bug Alert: If the game freezes when you choose to "get up" or "stay on the ground," ensure you are on the latest "public fixed" version, as this was a known progression blocker. 🛠️ Critical Troubleshooting Inventory Bugs
Inventory is occasionally disabled by the developer until fully stable. Map Cut Off
Adjust resolution settings or use the Joiplay emulator for mobile. Combat Lockup
Ensure "Tool Tips" are disabled if they prevent choice selection. If you'd like, I can help you with: Specific boss strategies for the Sharnah-thing. A detailed list of choices to reach specific endings.
How to install and configure Joiplay for the best experience.
Let me know which part of the story you're currently stuck on! Malevolent Planet 2D - Day3.1 G-test Gone Wrong | Patreon
Day 3 was about tying the mechanics together into a playable vertical slice. This is where the atmosphere shifted from "tech demo" to "game."
Summary: In just three days, Malevolent Planet went from an empty scene to a heavy, atmospheric platformer with working AI, optimized physics, and a compelling light mechanic. The "Public Fixed" build is now live—dodge the flora, watch your step, and don't let the planet consume you.
The first 72 hours of a live build can be terrifying—especially when the planet itself is trying to kill you.
Last week, we pushed the public demo for Malevolent Planet, a 2D survival-horror game built in Unity. The premise is simple: you’re stranded on a living world that learns your patterns. By Day 3 in-game, the planet’s "malevolence" ramps up—shifting terrain, corrupting resources, and turning wildlife into puppets.
But our actual Day 1 to Day 3? That wasn’t in-game. That was in the bug tracker.
After a flood of player reports, we just completed a public, fixed sprint covering the critical first three days of the experience. Here’s what broke, what we fixed, and how we stabilized the nightmare.
Navigate to Assets/Scripts/Core/MalevolentPlanetTerrain.cs.
Look for the TransitionToNextDay() method (usually lines 240–270 in the public build). Day 3: Lighting, Logic, and the Public Build
Old (Broken) Code:
public void TransitionToNextDay()
for (int i = 0; i < corruptedChunks.Length; i++)
// Day 1 to Day 2: Fine.
// Day 2 to Day 3: Explodes.
corruptedChunks[i].transform.SetParent(malevolentCore.transform, true);
StartCoroutine(ShiftPlanetMood());
Objectives
Tasks
Deliverables by EOD Day 1
Goal: Ensure the planet’s hostile actions occur at predictable, physics-aligned intervals.
Key Concept – FixedUpdate:
Unity’s physics system runs at a fixed timestep (default 0.02 seconds). FixedUpdate is called exactly once per physics tick, regardless of frame rate. For a malevolent planet affecting Rigidbody2D gravity, this is mandatory.
Revised Script – PlanetMalice.cs (Day 2):
using UnityEngine;public class PlanetMalice : MonoBehaviour public float gravityIncreasePerSecond = 0.5f; public float maxGravity = 15f; public float shakeInterval = 3f; public float shakeIntensity = 0.2f;
private Rigidbody2D playerRb; private float originalGravity; private float shakeCooldown; void Start() playerRb = GameObject.FindGameObjectWithTag("Player").GetComponent<Rigidbody2D>(); originalGravity = playerRb.gravityScale; shakeCooldown = shakeInterval; void FixedUpdate() // ← Physics-step aligned // Increase gravity in fixed steps if (playerRb.gravityScale < maxGravity) playerRb.gravityScale += gravityIncreasePerSecond * Time.fixedDeltaTime; // Shake timer using fixed delta shakeCooldown -= Time.fixedDeltaTime; if (shakeCooldown <= 0f) ShakePlanet(); shakeCooldown = shakeInterval; void ShakePlanet() // Apply positional shake (visual only, not affecting physics) transform.localPosition = Random.insideUnitCircle * shakeIntensity; // Reset position next FixedUpdate (simplified)
Why FixedUpdate is essential:
If gravity increased in Update() (frame rate dependent), a player on 144 FPS would experience slightly different gravity deltas than one on 60 FPS, even with Time.deltaTime, due to floating-point accumulation over many small steps. FixedUpdate guarantees consistency across all devices. The malevolent planet becomes deterministic—hostile in the same way for every player.
Public variables still in use:
gravityIncreasePerSecond remains public. Now it works with Time.fixedDeltaTime, meaning “increase gravity by 0.5 per second” is physically accurate.
A. Day/night cycle stops
Time.deltaTime is being used, not Time.time for cycle.Update() when day changes:if (timeOfDay >= 1f && currentDay == 1)
currentDay = 2;
timeOfDay = 0f; // Reset after day change
B. Enemies not spawning on Day 2
[System.Serializable] and references are public.Start() if null:if (enemySpawner == null)
enemySpawner = FindObjectOfType<EnemySpawner>();