Back!

To preface: This was all written between the 22nd of january (2024) and somewhere in mid february. I'm bad at publishing things when i finish them.
So, i'm back! It's been a long while! Yes, i'm also working on an album but no promises or estimations on when it'll release, yes, it's also still free.
Yesterday, powered by a fey mood, i decided to learn java, so i started tinkering with a copy of SNAKE i had laying around to turn it into a sort of 2D Minecraft. So far i'm pretty pleased with the results, considering it all fits into a neat 5kb package, which is tiny in comparison to Unity's usual file sizes.
The current solution to world generation is just a couple sine waves and a hardcoded seed:
I might replace this with some different type of noise function soon, once i get around to that. The player is also currently just a hardcoded in tile, which is less than ideal! The plan is to implement entities, each with collision and pathfinding and then turn the player into one. I probably won't add textures if i put the game up for download but you'll be able to set a custom font once i add a config! The current font is IBM BIOSwhich i have been using in a lot of my games lately because it scales great to any size!
I need to start writing here more often to stop being so dry
More info on my upcoming album DEADBEAT soon! (Music blog confirmed???)

After a lot of headaches, i finally got perlin noise working using this [link: https://gist.github.com/alksily] script, and spent a bit tweaking it around.
I also realised that if i wanted to add Y levels, it might not be very viable having all my block data stored PER TILE, so i changed it to an array of tile types.
This change also makes it more manageable for when i want to add new tiles, as long as i dont want to add more than 128 tiles.

With world generation finally working, i added one of my old scripts (surprisingly only needed a few syntax changes to work with java!) to subtract a falloff map from the world and make ISLANDS!!!
And now that i was at it, i added a simple script that iterates through the map to find a grass block to place the player on.
Taking a small break from programming, i decided to improve my palette!


I lent my friend the source code so she can mess around with the palette too, more on that in a bit.
So, now that others are looking through my code i decided to revamp my shitty gamestate system and replace it with your typical enum switch stuff. Doing this specifically to add a main menu where you can create and load your worlds.

Just added a drought modifier! It's really simple, if the "height" of a tile is below water level, it becomes sand, and if its below forest level, it subtracts from its height to make it more likely to become sand. I also added an "entropy" modifier that makes the world noisier.
Adding Y levels was a bit of a headache but i finally got there! Wasn't too bad after i figured out how to work with 2D arrays, ATM i generate a new noisemap for each layer, but i'm going to add proper cave generation next.
Added 3D perlin and a new material called limestone to reduce visual noise in caves!
Made caves a bit more interesting after Cookie suggested "stretching out" the noise by multiplying the z sample by 4
I added a second layer of noise called "height region", a larger perlin noise used in two places:
first, check if its value is above a threshold and set the entropy modifier (creates more chaotic terrain) to a higher value, or set it to 1 if below the threshold and divide height region by 2, to then subtract it from the main noise.
Note i originally intended to not screenshot any of this, for some reason.
The game has 320 levels of shifting caves and ravines below the surface.

So, this has been sitting in my computer for like, what, 2 months after being basically finished?
I guess im bad at starting and finishing this sort of blog post, this year i wanna start refining my writing and actually putting stuff in my website which is currently a bunch of blank canvases (except for the music blog, never built that one but i WILL i will!!!!)
Note: i know i keep mentioning projects and then never going anywhere with them, but i'm currently ACTUALLY working on magnet gun, expect more on that later on.
Note 2, 20 hours later: I'm honestly proud of how far this "game engine" has come, considering i mostly just made it with whatever information i already had and winged it from there.
Expect news on magnet gun now that im back on this website!