An open API service indexing awesome lists of open source software.

https://github.com/hexagram30/noise

Noise-generation for use in hexagram30 projects
https://github.com/hexagram30/noise

Last synced: 8 months ago
JSON representation

Noise-generation for use in hexagram30 projects

Awesome Lists containing this project

README

          

# noise

[![][build-badge]][build]
[![][crate-badge]][crate]
[![][tag-badge]][tag]
[![][docs-badge]][docs]

*Noise-generation for use in hexagram30 projects*

[![Project Logo][logo]][logo-large]

Based on the [noise-rs][noise-rs] project. Implements two custom noise
modifiers used for cave generation: `threshold` and `invert`.

## Features

Currently supports cave-like noise generation via the CLI `cave` subcommand,
with six different cave types to choose from.

## Examples

To see the (small) examples, run `make examples`. Images will be generated in
the `./example_images` directory.

## Building

Run `make`.

## Usage

After building, run the following for detailed option and flag info:

* `./bin/hxgm30-noise help`
* `./bin/hxgm30-noise -h`
* `./bin/hxgm30-noise cave -h`

The following will generate a `test.png` image in the `./example_images` directory:

```
./bin/hxgm30-noise -s 2 -r 800,800 -t -0.2 -o test.png cave complex
```

## Example Output

Here's a thumnail of six different cave systems generated with this tool (click
to see large image):

[![Example Outputs][example]][example-large]

Here's one of them generated with the ASCII output option:

[![Cave ASCII Output][cave-screen]][cave-screen-large]

And here's another one colored for land and sea:

[![Land/Sea ASCII Output][land-sea-screen]][land-sea-screen-large]

Here's one generated with more than two levels (and colors), useful for things like land cover:

[![Land Cover ASCII Output][land-cover-screen]][land-cover-screen-large]

## License

Copyright 2020-2022, Hexagram30

Apache License, Version 2.0

[//]: ---Named-Links---

[logo]: https://raw.githubusercontent.com/hexagram30/resources/master/branding/logo/h30-logo-2-long-with-text-x695.png
[logo-large]: https://raw.githubusercontent.com/hexagram30/resources/master/branding/logo/h30-logo-2-long-with-text-x3440.png
[cave-screen]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/screenshot-caves-complex-billow-thumb.png
[cave-screen-large]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/screenshot-caves-complex-billow.png
[land-sea-screen]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/screesnhot-land-sea-fractured-hm-thumb.png
[land-sea-screen-large]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/screesnhot-land-sea-fractured-hm.png
[land-cover-screen]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/screenshot-levels-wobbly-walls-turbulence-thumb.png
[land-cover-screen-large]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/screenshot-levels-wobbly-walls-turbulence.png
[example]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/caves-small.png
[example-large]: https://raw.githubusercontent.com/hexagram30/noise/master/assets/images/caves.png
[noise-rs]: https://github.com/Razaekel/noise-rs
[build]: https://github.com/hexagram30/noise/actions?query=workflow%3Abuild+
[build-badge]: https://github.com/hexagram30/noise/workflows/build/badge.svg
[crate]: https://crates.io/crates/hxgm30-noise
[crate-badge]: https://img.shields.io/crates/v/hxgm30-noise.svg
[docs]: https://docs.rs/hxgm30-noise/
[docs-badge]: https://img.shields.io/badge/rust-documentation-blue.svg
[tag-badge]: https://img.shields.io/github/v/tag/hexagram30/noise.svg?sort=semver
[tag]: https://github.com/hexagram30/noise/tags