Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics (by mxgmn)


Basic WaveFunctionCollapse repo stats
2 months ago

mxgmn/WaveFunctionCollapse is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

WaveFunctionCollapse Alternatives

Similar projects and alternatives to WaveFunctionCollapse

  • GitHub repo PowerShell

    PowerShell for every system!

  • GitHub repo eShopOnContainers

    Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 5, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.

  • GitHub repo dnSpy

  • GitHub repo ShareX

    ShareX is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to many supported destinations you can choose from.

  • GitHub repo CodeHub

    CodeHub is an iOS application written using Xamarin

  • GitHub repo ASP.NET Core

    ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

  • GitHub repo Wox

    Launcher for Windows, an alternative to Alfred and Launchy.

  • GitHub repo shadowsocks-windows

    If you want to keep a secret, you must also hide it from yourself.

  • GitHub repo v2rayN

  • GitHub repo wfc

    wave function collapse algorithm

  • GitHub repo PowerToys

    Windows system utilities to maximize productivity

  • GitHub repo shadowsocks-csharp

    If you want to keep a secret, you must also hide it from yourself. [Moved to: https://github.com/shadowsocks/shadowsocks-windows]

  • GitHub repo AspNetCore.Docs

    Documentation for ASP.NET Core

  • GitHub repo v2ray-core

    A platform for building proxies to bypass network restrictions.

  • GitHub repo domain-list-community

    Community managed domain list. Generate geosite.dat for V2Ray.

  • GitHub repo DeBroglie

    DeBroglie is a C# library implementing the Wave Function Collapse algorithm with support for additional non-local constraints, and other useful features.

  • GitHub repo dnSpy-Unity-mono

    Fork of Unity mono that's used to compile mono.dll with debugging support enabled

  • GitHub repo OpenNefia

    Moddable engine reimplementation of the Japanese roguelike Elona.

  • GitHub repo post--selforg-textures

    Self-Organising Textures

  • GitHub repo Minecraft-GAN-City-Generator

    Minecraft AI "city" generator using a tensorflow GAN.

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better WaveFunctionCollapse alternative or higher similarity.


Posts where WaveFunctionCollapse has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-15.
  • 🔝Top 10 C# Projects on GitHub (Q1 2021) and the trend
    dev.to | 2021-04-15
    View on GitHub
  • A practical look at "Procedural Generation 2.0" or template based procedural generation for No Mans Sky
    Part Three. Stitching the seams: Cool so now we have a relatively varied 32km² area of template based generation. But hang on how are we even blending these chunks together. We don't want the edge of one chunk to just be a massive wall against the edge of the next. One thing we can do is to apply them to a larger height map and make sure all their edges are flat and line up this means the edges inherit the height from the heightmap but would need to be relatively featureless. Now the edges have less detail which is a problem because if you play enough you'll likely start noticing the chunk grid, so maybe we should try to define a set of rules about which chunks can go together? We could use something cool and cutting edge like Wave Function Collapse (it's really cool you should definitely read up on it here's a neat open source implementation) well okay now we have a consistent level of detail across everything. But hang on I'm playing our new template based NMS with chunks that match up nicely but what's that?! I've seen roughly that sort of mountain beside roughly that sort of lake 5 times while exploring this one planet? Hmm turns out there's a sacrifice you have to make if you're going to take an approach where certain chunks can go beside each other and others cant. each chunk now has a limited amount of other chunks it can actually appear beside and the reoccurrence of these patterns of chunks beside each other will become much more noticeable than if any chunk can go beside any other. In the end I don't quite know what the best solution for this would be but remember every piece of hand designed content can take a lot more time to develop than you might expect so it's unlikely merging the edges by hand is the right way to go.
  • OpenNefia Progress - Custom Nefia support
    reddit.com/r/Elona | 2021-03-16
    The dungeon generation logic uses wave function collapse, which Caves of Qud also employs. It's pretty fun to play around with.
  • [OC] Dungeon Alchemist, our AI-powered fantasy mapmaking tool, enters last 24 hours of Kickstarter (€2.000.000 pledged!)
    reddit.com/r/DnD | 2021-03-10
    When you draw a room shape, the AI populates the room with furniture, lights, windows, doors etc based on examples made by our artist. The algorithm we use is custom-built but was inspired by WFC (https://github.com/mxgmn/WaveFunctionCollapse).
  • How are biomes generated in games like Valheim and Minecraft?
  • [P] My attempt at generating Minecraft Structures with a convolutional 3D voxel GAN. And a call for advice/ideas.
    Have you tried wave function collapse? I have not personally used it but it is very applicable to grid structures (compared to continuous spaces).
  • Dungeon Alchemist is AI-powered mapmaking software that auto-populates your rooms with furniture
    We use a custom algorithm similar to https://github.com/mxgmn/WaveFunctionCollapse. It learns from examples to figure out how for example a “burial chamber” should look and how objects should be logically placed.
  • Self-organising textures from cellular automata
    news.ycombinator.com | 2021-02-12
    This reminds me a lot of the WaveFunctionCollapse texture generation algorithm [0]. It "generates bitmaps that are locally similar to the input bitmap."

    Very cool!

    [0]: https://github.com/mxgmn/WaveFunctionCollapse

  • using wfc for music generation
  • Need advice on procedural room generation
  • Dungeon Alchemist, our AI-powered mapmaking app with full Foundry export functionality, is now live on Kickstarter! (link in comments)
    reddit.com/r/mapmaking | 2021-02-11
    We started from the WFC algorithm (https://github.com/mxgmn/WaveFunctionCollapse) but it didn’t fit our purpose well enough, so we built something from scratch but with similar principles.
  • Currently working on a new kind of procedural generation. It starts from a single world example and then produces bigger worlds similar to the example.
    If you want to try it for yourself, reply with an image or MagicaVoxel file and I will give you back some generations ;) Here is some example of images that works the well with this algorithm. It is the same kind of images that work well with WFC (small color palette).
  • [OC] Dungeon Alchemist, our AI-powered fantasy mapmaking app, is now live on Kickstarter! (link in comments)
    reddit.com/r/DnD | 2021-02-09
    It depends on what you consider “AI”. We use a custom learning algorithm inspired by the popular Wave Function Collapse algorithm (https://github.com/mxgmn/WaveFunctionCollapse) to procedurally generate dungeon layouts and rooms. Most people would consider this a form of AI.
  • Wave Function Collapse algorithm running on an irregular grid on a sphere
    reddit.com/r/godot | 2020-12-31
    This is a little project I started for PROCJAM (which then got delayed due Cyberpunk...). I'm kind of enamoured by Oskar Stålberg's work on projects like this encorporating the Wave Function Collapse algorithm, marching cubes, irregular grids, etc. I thought it was about time I tried out some of the ideas myself and obviously I'm going to implement in my favourite engine, Godot!
  • A "Christmas Song" created with Wave Function Collapse
    I've been working on adapting the Wave Function Collapse Algorithm to work with MIDI. I'm still not 100% happy with it, but I just implemented a way to use multiple sources as input, mixing them together, and it works ok. In the spirit of the season, I took a bunch of MIDI files of christmas songs and fed them to the algorithm, which lead to this beautiful mess. The instruments and effects were chosen by me, the algorithm only handles MIDI data. Merry Christmas!