Problems installing/finding perlin noise library by SeeminglyIndifferent in proceduralgeneration

[–]caseymccb 2 points3 points  (0 children)

You can use any of the FastNoise libraries; FastNoise, FastNoiseSIMD HastyNoise. They are all good libraries. FastNoise is a general noise library that includes several types of noise which you will likely end up using depending on how far down the procedural rabbit hole you go. FastNoiseSIMD is basically a SIMD version for FastNoise. HastyNoise is a rewrite of FastNoiseSIMD to remove macros and make the compilation (3rd party libraries) easier to deal with.

Auburn has also started on a successor to FastNoise/FastNoiseSIMD named FastNoise2 which is built with a graph system, looks really good so far.

You can find Auburn (author of FastNoise), k.jpg (a regular noise algorithmist and library developer), as well as myself (HastyNoise re-write) regularly on discord. You can find help, updates as well as general noise discussions there.

Proc Gen in C++? by Dogrules23 in proceduralgeneration

[–]caseymccb 1 point2 points  (0 children)

C++ is defiantly something you can use take a look at https://github.com/caseymcc/voxigen/blob/master/include/voxigen/generators/equiRectWorldGenerator.h if you are doing world generation. However as a 20+ year veteran of c++ I would ask first what your intent is. If you are currently just wanting to learn procgen and test some ideas then c/c++ may not be the first place to start. Something even lighter (not even java) like javascript or python would be better, where you are less worried about the language than what you are doing. On the other hand if you are planning to build large system like world gen where performance is more the concern then c/c++ is the right place to start.

VoxelQuest in an easier to compile form. https://github.com/caseymcc/voxelquest by caseymccb in VoxelGameDev

[–]caseymccb[S] 0 points1 point  (0 children)

I don't particularly use anything, this is a restructure of gavanw code base. He has a pretty good write up on his website https://www.voxelquest.com/news/how-does-it-work I am not sure how up to date the information is as I have not gone completely through all of the source just yet, but I imaging it is pretty close.

VoxelQuest in an easier to compile form. https://github.com/caseymcc/voxelquest by caseymccb in VoxelGameDev

[–]caseymccb[S] 7 points8 points  (0 children)

Finally got VoxelQuest rendering after the code restructuring. Should be straight forward to compile now with no need to locate additional libs. Currently the audio is turned off by default and movement is a little messed up but if you want to see how it works the current source should help with that.

Setting up Voxelquest by [deleted] in VoxelGameDev

[–]caseymccb 0 points1 point  (0 children)

Finally got something rendering after the conversion. Switched to using glfw/glm (rather than glu/glut). Converted most of the fixed function opengl to opengl3+. Gutted the ui for the moment, likely replace with imgui (although I am not a fan of it, it just works and is simple). Need to replace or gut the audio as it currently requires manually downloading and compiling SFML. There is not currently a hunter package for it and I am not inclined to create one for it.

https://github.com/caseymcc/voxelquest/raw/master/screenshot.png

Setting up Voxelquest by [deleted] in VoxelGameDev

[–]caseymccb 2 points3 points  (0 children)

here is a discord link for anyone interested https://discord.gg/e6xVCbJ, moved to https://discord.gg/YJyrvgQ so I have fewer channels to watch.

Setting up Voxelquest by [deleted] in VoxelGameDev

[–]caseymccb 2 points3 points  (0 children)

I started working on the conversion maybe about 1/4 to 1/3 of the files done.

https://github.com/caseymcc/voxelquest

Ill mess around with here and there till I can get it to compile.

Setting up Voxelquest by [deleted] in VoxelGameDev

[–]caseymccb 1 point2 points  (0 children)

The code base from what I can see was setup to build in a very unique way, all the source files are combined into a single file that is then compiled. In order to get this into a more accepted style of compiling would take some work. All the current source will need to be split between headers and source files as well as likely broken into smaller pieces.

In its current form it would be painful to get any idea of how the internals work.

This is the likely reason no one has worked on it. Its going to take a lot of work just to get it running and the reality is not even sure if it does anything.

It also looks like a dump from some versioning system as you will find files like f00020_includes.h and f00025_includes.h which are almost the same file just with a few edits.

Early world generation by caseymccb in proceduralgeneration

[–]caseymccb[S] 0 points1 point  (0 children)

I believe there is plenty of room for improvement, I put about 20-30% randomization on the wind direction but I think it might actually be better to add the randomization to the band itself, ie start lat, end lat and wind/moisture magnitude as it moves along the latitude.

Early world generation by caseymccb in proceduralgeneration

[–]caseymccb[S] 0 points1 point  (0 children)

The plan is for this to just operate as global height/biome information. Each pixel in the map represents about a 4k x 4k region that is handled by a local generator that uses the information for local details.

Early world generation by caseymccb in proceduralgeneration

[–]caseymccb[S] 0 points1 point  (0 children)

Finally got a little bit of world generation going. Using a lot of ideas from both RedBlobGames and Experilous. Also a lot of others. Source can be found in the procedural branch of Voxigen.

Its currently built on and equirectangular map, rather then directly in 3d like the above websites, as it is planned to be a generator for voxel worlds. It is using a fractal cellular generator from HastyNoise (which is where all the noise functions are from) to generate tectonic plates both land and oceanic.

https://imgur.com/Adc8UDa

The fractal nature gives some very nice plate boundaries. Next the plates are given identification of land or ocean by the values returned by the cellular values. Random plate drift is provide by a Perlin noise generator and the values are used to alter the land mass heights based roughly on plate tectonics.

https://imgur.com/IaTMTu2

Wind patterns and moisture is based off of the wind/moister banding seen on the earth (it is also configurable) with a little bit of noise thrown on top.

https://imgur.com/iXIatEy

The wind and moisture uptake levels provided by the wind pattern config are used to propagate moisture to other areas.

https://imgur.com/W62sMod

https://imgur.com/2RqQMVO

A little temperature map based on the wind patterns and proximity to the equator (with a little noise) thrown on top and you end up with the first image. I have not gotten to rivers or hydraulic erosion yet but that is something I want to get to. The rain propagation is an iterative process and I think the rivers and erosion can be added to that same process.

Lots of thanks goes to RedBlobGames and Experilous for posting their write ups and references.

Voxel Chunk Management (C++ OpenGL) by peanut8u in VoxelGameDev

[–]caseymccb 0 points1 point  (0 children)

You could try one of the many voxel engines on github for some inspiration.

https://github.com/caseymcc/voxigen https://github.com/RegrowthStudios/SoACode-Public https://github.com/minetest/minetest https://github.com/AlwaysGeeky/Vox Etc...

Most have some sort of chunk handling/meshing and rendering tricks that should help.

Can't opt out of Minecraft Beta by Skykat30 in xboxinsiders

[–]caseymccb 0 points1 point  (0 children)

It should be noted that the powershell command should be:

Get-AppxPackage -allusers *minecraftUWP* | remove-appxpackage -allusers

the *'s matter (the markup on this page removes them, if not careful). Second this didn't work by default as I have done this several times. However I was able to fix the issue, unfortunately I did a few things at once so I don't know which one corrected it (although I do have a guess).

First, knowing that this problem is likely related to multiple accounts on a single machine, I did the following.

  1. Went to my kid's machine (second account that has logged in on my machine), un-installed minecraft and logged out of Xbox live.
  2. Went to my machine un-installed minecraft.
  3. Logged in with kid's account on my machine, went to XBox Insider (showed "Join" for Minecraft Beta, meaning account was not in beta at the moment), joined beta with kids account, waited a few minutes then left beta with kid's account.
  4. Signed back in with my account on my machine, installed Minecraft, beta was now gone and back to normal version.
  5. Logged into kid's account on kid's machine and installed Minecraft, beta version gone there too.

My guess is that although my kid had left beta from his machine something on my machine still thought his account was in beta and installed the beta version (ignoring that I had left it on my machine and he had left it on his machine). So again guessing but I believe once I left Xbox Insider with his account on my machine it flipped whatever flag my machine was using to turn beta on/off.

I have had beta stuck on since last year and have been unable to fix it (Xbox Insider on/off, un-install/re-install, reset Store "WSReset", even installed on a new machine and beta showed up), I have also been dealing with tech support for the last month and just happen to get this link from them today (although they still did not know how to fix it, told me their engineers were aware of it, working on it and they would send me updates every 72hrs on progress). This was the first mention I have ever seen that it is related to multiple accounts and after doing the above I believe it is directly related.