All Projects → marian42 → Wavefunctioncollapse

marian42 / Wavefunctioncollapse

Licence: mit
Walk through an infinite, procedurally generated city

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Wavefunctioncollapse

Com.unity.webrtc
WebRTC package for Unity
Stars: ✭ 271 (-92.01%)
Mutual labels:  unity
Unity Programming Patterns
A collection of programming patterns in Unity with examples when to use them. These are primarily from the book "Game Programming Patterns," but translated from C++ to C#
Stars: ✭ 272 (-91.98%)
Mutual labels:  unity
Framework
deprecated, use : https://github.com/CatLib/CatLib
Stars: ✭ 279 (-91.77%)
Mutual labels:  unity
Valvesockets Csharp
Managed C# abstraction of GameNetworkingSockets library by Valve Software
Stars: ✭ 273 (-91.95%)
Mutual labels:  unity
Rdsystem
Reaction-diffusion system with CustomRenderTexture.
Stars: ✭ 271 (-92.01%)
Mutual labels:  unity
Ngx
Ngx - Neural network based visual generator and mixer
Stars: ✭ 277 (-91.83%)
Mutual labels:  unity
Uieffect
UIEffect is an effect component for uGUI element in Unity. Let's decorate your UI with effects!
Stars: ✭ 3,449 (+1.68%)
Mutual labels:  unity
Discord Rpc Csharp
C# custom implementation for Discord Rich Presence. Not deprecated and still available!
Stars: ✭ 282 (-91.69%)
Mutual labels:  unity
Merino
Merino is a narrative design tool that lets you write Yarn scripts inside the Unity Editor
Stars: ✭ 275 (-91.89%)
Mutual labels:  unity
Deep reinforcement learning course
Implementations from the free course Deep Reinforcement Learning with Tensorflow and PyTorch
Stars: ✭ 3,232 (-4.72%)
Mutual labels:  unity
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (-3.95%)
Mutual labels:  unity
Unity Editor Toolbox
Tools, custom attributes, drawers, hierarchy overlay, and other extensions for the Unity Editor.
Stars: ✭ 273 (-91.95%)
Mutual labels:  unity
Hisocket
It is a lightweight client socket solution, you can used it in C# project or Unity3d
Stars: ✭ 275 (-91.89%)
Mutual labels:  unity
Unity Addressable Importer
A rule based addressable asset importer
Stars: ✭ 273 (-91.95%)
Mutual labels:  unity
Realtime Csg For Unity
Realtime-CSG, CSG level editor for Unity
Stars: ✭ 281 (-91.72%)
Mutual labels:  unity
Machinelearningroguelike
A small Roguelike game that uses Machine Learning to power its entities. Originally used in talks by Ciro & Alessia.
Stars: ✭ 270 (-92.04%)
Mutual labels:  unity
Oscjack
Lightweight implementation of OSC server/client in C# (Unity)
Stars: ✭ 276 (-91.86%)
Mutual labels:  unity
Unity Weld
MVVM-style data-binding system for Unity.
Stars: ✭ 285 (-91.6%)
Mutual labels:  unity
Savegamefree
Save Game Free is a free and simple but powerful solution for saving and loading game data in unity.
Stars: ✭ 279 (-91.77%)
Mutual labels:  unity
Unity Vertex Effects
Beautiful text outline for Unity UI.
Stars: ✭ 277 (-91.83%)
Mutual labels:  unity

Wave Function Collapse

An infinite, procedurally generated city, assembled out of blocks using the Wave Function Collapse algorithm with backtracking.

Read more about this project here and about the WFC algorithm here.

Play

Download the game on Itch.io: https://marian42.itch.io/wfc
Currently, there is no gameplay, you can only walk around and look at the scenery.

Keyboard Controls: WASD for walking, Space to jump, Shift to run, Ctrl to jetpack.
XBOX Controls: Left Stick for walking, right stick for looking around, A to jump, LB to run, RB to jetpack

Flight mode: Use M to toggle between flight mode and normal mode. In flight mode, you fly across the world, without any controls.

Editing the module set

By changing the module set, you can make some changes to the world generation without writing code. You can disable or enable modules, change their spawn probability, their connectors, their neighbor rules or you can add new ones. Here is how to do it:

  1. Open the Prototypes scene.
  2. Edit the blocks in the scene. You'll mostly change values in the ModulePrototype components.
  3. Select the "Prototypes" game object in the hierarchy and apply your changes to the prefab (Overrides -> Apply all).
  4. Select the file "ModuleData" in the asset folder.
  5. Click "Create module data".
  6. Optional: Click "Simplify module data". This takes some time, but will make world generation faster.
  7. Save your work and go back to the Game scene. You can now use your updated module set.

Generating worlds in the editor

There are different ways to generate worlds in the editor:

  • Select the Map object. In the MapBehaviour component, select a size and click "Initialize NxN area".
  • Select the "Area Selector" object. Move and scale it to select an area, then use the "Generate" button to generate a map.
  • Use the "Slot Inspector" object to show details about a single position. It shows you which modules can be spawned at that position and lets you select modules manually.

If you want to enter Play mode without losing your map, disable the "Generate Map Near Player" and the "Occlusion culling" script. Note that none of the components serialize, so you can't change the map once it has been serialized. That means that you can't change your map in Play mode unless you initialized it in Play mode.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].