Import LUA Noise plugin into Corona $100

https://trebuchette.itch.io/luanoise

The guy says:

“This is a Lua library written in C++ to expose the functionality of libnoise to Lua programs. It can be used with game engines like LÖVE, and probably Corona as well, or just with normal Lua or LuaJIT.”

I’ll pay $100 to get this into Corona. Of course, I have no idea how involved it’ll be.

Lemme know if anyone’s interested in busting it out int something we can all use in Corona!

-Mario

You could try this https://docs.coronalabs.com/guide/graphics/effects.html#generator.perlinnoise

LibNoise is way way way way more powerful and robust. I mean, waayyyyyy. More. :slight_smile: Thanks for the tip though! I’m just sick of having to write my own implementations of stuff. I’d like to worry about the actual game and not the plumbing itself for once. 

-Mario

@Mario,

Can you give a summary of how you would want to use this?  

Are you saying you want to generate textures via this library’s various noise function or just data sets of ‘noise data values’? 

I assume you want to make noise based textures, but just in case I thought I’d ask.

I can’t speak for Mario, but just off the top of my head, this sounds like a great use of the new External Bitmap Textures we blogged about a couple of weeks ago.  

https://coronalabs.com/blog/2016/09/22/introducing-external-bitmap-textures/

LibNoise is a C++ library. The memoryBitmap plugin code provides a framework for making this happen. The Lua user ends up with a texture that can become a display.newImageRect().

Rob

I created my own perlin noise generator for my game in pure LUA and I agree something internal would be great! Not for creating bitmaps Rob but for assigning “random” values to tiles to create landscapes for 2.5D games.

For my implementation I use a seed value and then a function that you pass an x,y value to and it returns a value in the range 0 to 1. With that you can assign any value range you want to define the landscape. I.e. < .25 is water, > .5 is mountains, etc.

For any given seed value the landscape will be the same (like Minecraft) or use os.time() for a new random landscape.

No idea how to make it a plugin though?

@roaminggamer: I was after ideally the heightmap/texture numeric data so I could create my tile maps via the heightmap data.

Think the old D&D maps with he hex tiles, and I could bust out some random terrain from LibNoise, make a fake continent or whatever, and then convert it to tilemap like so:

us-map-hexographer.png

The robust feature set from LibNoise generates the map and gives the corresponding heightmap info, color (customizable BTW colormaps), repeating texture (tileable) continent for wraparound (Think Sosaria from Exodus: Ultima III) along with a buncha other features. 

That’s what I’m after. If I had to have my drothers, I’d go for the heightmap info datasets as a “must have” cause I can code the other stuff.

@adrianm: EXACTLY. But I was kinda sick of ‘faking it’ with perlin noise and other methods of creation. I’ve got sticky particle method of creation going, some basic smoothing/normalizing, but nothing like fault line generation, coastal areas, etc.

I used a C# version of libnoise a while back and it was pretty rad, I came across this implementation which looks like 9/10ths of the way there. Just don’t have the awesomeness to take it that last step of the way. Pooop!! :slight_smile:

-Mario

You could try this https://docs.coronalabs.com/guide/graphics/effects.html#generator.perlinnoise

LibNoise is way way way way more powerful and robust. I mean, waayyyyyy. More. :slight_smile: Thanks for the tip though! I’m just sick of having to write my own implementations of stuff. I’d like to worry about the actual game and not the plumbing itself for once. 

-Mario

@Mario,

Can you give a summary of how you would want to use this?  

Are you saying you want to generate textures via this library’s various noise function or just data sets of ‘noise data values’? 

I assume you want to make noise based textures, but just in case I thought I’d ask.

I can’t speak for Mario, but just off the top of my head, this sounds like a great use of the new External Bitmap Textures we blogged about a couple of weeks ago.  

https://coronalabs.com/blog/2016/09/22/introducing-external-bitmap-textures/

LibNoise is a C++ library. The memoryBitmap plugin code provides a framework for making this happen. The Lua user ends up with a texture that can become a display.newImageRect().

Rob

I created my own perlin noise generator for my game in pure LUA and I agree something internal would be great! Not for creating bitmaps Rob but for assigning “random” values to tiles to create landscapes for 2.5D games.

For my implementation I use a seed value and then a function that you pass an x,y value to and it returns a value in the range 0 to 1. With that you can assign any value range you want to define the landscape. I.e. < .25 is water, > .5 is mountains, etc.

For any given seed value the landscape will be the same (like Minecraft) or use os.time() for a new random landscape.

No idea how to make it a plugin though?

@roaminggamer: I was after ideally the heightmap/texture numeric data so I could create my tile maps via the heightmap data.

Think the old D&D maps with he hex tiles, and I could bust out some random terrain from LibNoise, make a fake continent or whatever, and then convert it to tilemap like so:

us-map-hexographer.png

The robust feature set from LibNoise generates the map and gives the corresponding heightmap info, color (customizable BTW colormaps), repeating texture (tileable) continent for wraparound (Think Sosaria from Exodus: Ultima III) along with a buncha other features. 

That’s what I’m after. If I had to have my drothers, I’d go for the heightmap info datasets as a “must have” cause I can code the other stuff.

@adrianm: EXACTLY. But I was kinda sick of ‘faking it’ with perlin noise and other methods of creation. I’ve got sticky particle method of creation going, some basic smoothing/normalizing, but nothing like fault line generation, coastal areas, etc.

I used a C# version of libnoise a while back and it was pretty rad, I came across this implementation which looks like 9/10ths of the way there. Just don’t have the awesomeness to take it that last step of the way. Pooop!! :slight_smile:

-Mario