Giter Site home page Giter Site logo

al-asl / autolevel Goto Github PK

View Code? Open in Web Editor NEW
102.0 5.0 14.0 94.61 MB

Free procedural level generator for unity

License: MIT License

C# 90.41% ShaderLab 7.45% HLSL 1.71% Python 0.43%
fog-of-war fow level-design level-editor procedural procedural-generation procedural-level-generation procedural-levels unity unity-3d

autolevel's Introduction

AutoLevel

Autolevel Trailer

Free procedural level generator based on WFC algorithm for unity.

The target of this package is to create a procedural level generator that is controllable, easy to use, and fast to some extent by leveraging the power of the WFC.

Features

  • Weight, volume, and boundary constraints
  • Editor tools to easily configure your art and constraint the builder
  • Easily extended
  • Selection rebuild
  • Big block support
  • Fbx export
  • Multi-threaded solver (only work with constraints)
  • Layers support

Complete C# source code is provided.

Usage

Clone the repo with submodules using the following command:

git clone --recurse-submodules https://github.com/Al-Asl/AutoLevel.git

Auto level consists of the following components:

  • Level Builder where you can do all of your constraints, building, and exporting.

  • Block Repo is the resource needed by the Level Builder to run, it basically contains the pieces and the relationship between them.

  • Block Asset is the main component needed to define the relationships between pieces.
  • Big Block Asset is a composite of blocks generated by Block Asset used on blocks that need to be transformed together.

You can get started by watching the tutorial.

you can also check the API usage to build the level at runtime by checking Example Scenes\Runtime

FILLING

When selecting a Block Asset, there is an option called filling in the scene view context menu dropdown. This will show handles to edit the block filling, red for empty and green for fill, similar to the marching cubes algorithm.

Level Builder can use that information to define the level rooms. The builder contains two built-in groups, the 'Empty' and 'Solid' groups, and you can use them to define the rooms and walls.

PERFORMANCE TIPS

  • Keep in mind that the Building performance depends on two factors the size of the builder and the number of blocks produced by the repo. You can get better performance by only building where needed using multiple builders. Also, using constraints can reduce the building time significantly.
  • Multi-threaded solver can only give a better performance where constraints are used with a heavy load task and could yield up to 3x the original performance.

If you have any question or suggestion please join us on Discord

autolevel's People

Contributors

al-asl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

autolevel's Issues

Discord

Do you have discord server for discussion?

Random Item Placement?

I would like to place items(like chests) in random places in the rooms, within guidelines like always along a wall and never in a doorway. Is there a way to do this with this asset?

multiple constraints fail build

When setting multiple constraints such as 2x Empty with the selection, the build keeps failing.
unityversion: 2022.3.16f1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.