Welcome to Portality Map Generator, a Unity toolkit that harnesses the power of procedural algorithms to create random levels. Inspired by the concept of portals, this toolkit allows you to generate intricate and physically unfeasible structures that challenge traditional level design.
Imagine being in a house with just one door. You can walk through this door to step outside, and then seamlessly return inside. In reality, both the outside and inside are in the same physical space, with just one door facilitating movement between them. Now, imagine if these spaces were separated, each with its own door that links to another. When you walk through the first door, you're instantly transported to the second door, and vice versa. From your perspective, nothing changes - you experience the same environment. However, from a higher viewpoint, these places can be vastly different, perhaps far apart, stacked on top of each other, adjacent, or in any configuration imaginable. The possibilities are endless.
Portal-Concept.mp4
Now, picture numerous random rooms arranged in a straight line, with no connections between them. Each room contains potential positions for placing portals. By randomly assigning linked portals to these positions, we create a procedural and unpredictable structure. Rooms connect to each other via portals, resulting in a physically unfeasible yet fascinating and dynamic environment. This concept allows for the creation of unique and engaging levels that challenge traditional notions of spatial design and navigation.
Physically-Unfeasible-Structures.1.mp4
Physically-Unfeasible-Structures.2.mp4
- Demo: Download the demo for PC and Android or test it on WebGL.
- Unity: Clone the repository and open it in Unity.
- Unity Package: Download the package and import it into Unity.
- Enter/Exit edit mode by pressing "E" (or tap on the setting icon for touch screen devices).
- Set desired values in the UI (seed, number of rooms, etc.).
- Click the "Generate" button.
- View the generated paths and connections by pressing the arrow icon in the UI.
Edit-Mode.mp4
- Ready-to-use first-person controller.
- Touch screen support.
- 20+ pre-built room prefabs.
- User-friendly and animated UI/UX.
- Smart disable/enable animator for optimization.
- Use of gizmos to display portal candidate positions in the Unity editor.
- Portal: Implementing a new portal shader was time-consuming, leading us to use SebLague's Portals repository.
- Doors in Front of Portals: To address the issue of viewing through multiple portals, we implemented doors that open when entering a room and close when exiting.
- Eternal Portals: Due to shader-related runtime issues, we pre-create a set of linked portals in the hierarchy to ensure seamless functionality.
This project is licensed under the MIT License. See the LICENSE file for more information.
Explore the limitless possibilities of Portality Map Generator and create unique worlds. Feel free to contribute and enhance the toolkit for even more exciting experiences!
SOON!