Activity

Noten

Shipped this project!

I worked on my shader again. Now there is water reflections(albeit a bit broken). There is also now a proper settings screen, grass and leaf swaying too!

(working on minecraft shaders, especially when you’re not good at shader programming is hard)

Noten

Fixed vhs settings not working, going to ship this project again

0
Noten

I spent around half an hour trying to get wavy grass to work and it just didnt want to work for some reason. Turns out the ID for grass is minecraft:short_grass not minecraft:grass.

Also updated wavy leaves.

0
Noten

Added wavy leaves!!!!

It was actually very easy to add it. I created a custom block id in blocks.properties file and added the identifiers for all the different kinds of leaves in minecraft.

Then in the gbuffers_terrain file I added a check for mc_Entity value, if its .x value equals the custom id, then I made it just change the x y and z value based on time. I’m using sin and cos for it.

0
Noten

I figured out how to make sub-settings work.

Oh and added the ability to disable the vhs effects.

Attachment
0
Noten

Added some options for shader settings
also changed the sharp shadows settings, now the shadows are aligned to the world grid(16x16 textures)

Attachment
Attachment
0
Noten

Screen space reflections are unfortunately still broken when I am extremely close to the water.

Attachment
0
Noten

screenspace reflections

im losing my mind

Attachment
0
Noten

I broke some stuff when trying to do ssr

Attachment
0
Noten

fixed held items having slight transparency

Attachment
0
Noten

I couldn’t post this devlog earlier because hackatime was down, but now I’m posting it now.

Essentially, added bloom and changed a few variables around.

Attachment
Attachment
0
Noten

Shipped this project!

Hours: 9.21
Cookies: 🍪 62
Multiplier: 5.69 cookies/hr

I built a Minecraft shader for Iris. Hardest part was wrapping my mind around glsl’s uniqueness in the way it does some stuff.

Note: This is over 10 hours normally but because hackatime is down I can’t make a new devlog right now, and lockin week 2 is about to end in a couple of hours so yeah.

Noten

Added bloom.

Appearently the technique im using isnt great so I plan to change the technique I use so it looks less ugly.

Attachment
0
Noten

I dont know why glass decides to act like water

Attachment
0
Noten

Fixed translucent mobs

Attachment
0
Noten

fog

there is a bug with stained glass, idk how I would solve it but we’ll see.

Attachment
0
Noten

soft shadows

Attachment
0
Noten

romanian flag!?!?!

I cant comment very much on the technical details because I am very new to shader dev, so im learning as im doing these, sorry if the devlogs are too simplistic.

Attachment
0
Noten

shadows?!?!?

Attachment
0
Noten

I am following the iris tutorial but I think I broke something lol.

Attachment
0
Noten

Shipped this project!

Hours: 10.47
Cookies: 🍪 165
Multiplier: 15.79 cookies/hr

I built my first mod in Fabric for Minecraft.

This is a quality of life mod for dealing with villagers. It does 3 things:

  • Removes the timer for breeding for villagers, this will allow you to quickly start a villager breeder with only 2 villagers.

  • You can carry villagers by pressing the “V” key. That way you don’t have to deal with boats and you don’t have to worry about villagers being attacked while you’re moving them. This will make starting a villager breeder faster too.

  • You can convert “nitwit” villagers(villagers that don’t do any job) to normal villagers by giving them 1 emerald. There are also particle effects for carrying and converting villagers too.


What was challenging?

Getting the empty project to compile was a pain. Java is really hard to configure right with all of the weird configurations it does. But after getting it to compile it was a bit easier. I still had a hard time navigating around the codebase but the folks over at the fabric discord were helpful.


What am I proud of?

I am proud of the fact that I was able to make my first mod :D

Noten

Finished the project by adding particle effects.

Currently, the project has 3 features:

  • Remove the timer for breeding for villagers, this will allow you to quickly start a villager breeder with only 2 villagers.
  • You can carry villagers by pressing the “V” key. That way you don’t have to deal with boats and you don’t have to worry about villagers being attacked while you’re moving them. This will make starting a villager breeder faster too.
  • You can convert “nitwit” villagers(villagers that don’t do any job) to normal villagers by giving them 1 emerald.

There are particle effects for carrying and converting villagers too.

I might add more features later but for now I think this is pretty good, considering that my experience with modding and Java in general is near zero :D

0
Noten

Due to the way the villagers ai works, even though I correctly store the villagers profession in data attachments, when the code spawns the villager back into the world, it briefly keeps its job but then immediately becomes unemployed again.

I couldn’t fix it unfortunately.

On the bright side, I added emeralds to the list of items Villagers can pick up, and now if you give an emerald to a lazy villager it will become a normal villager. You can bribe villagers to not be lazy now.

I originally tried to use mixins to add Emeralds to the list of things villagers can pick up but someone on the fabric discord told me thats not how you’re supposed to do that, and now I am using datageneration.

Next, I also want to add particle effects for when you pick up villagers, and also bribe them to not be nitwit(lazy). I will also try to add a client side renderer for when you’re carrying villagers.

0
Noten
  • You can transport villagers now

I still need to store their job in data attachments though

0
Noten

I am bamboozled.

Appearently I can either save the NBT/ValueOutput/TagValueOutput thingy or save it as a data attachment

I am looking at the code for the CarryOn mod so that I have a clue as to what I need to do but even that isn’t helping

Wish I had picked something easier to do.

On the bright side, now when I press V it correctly determines the closest villager and “deletes” it from the world. I need to store the data of the villager in the player though.

I need to add a data attachment to the player, store villagers profession & age, write a clientside render thing to display a villager above the players head, and then when the player presses V again it spawns the villager back. I think that’s what I need to do.

Anyways thats a future me problem :D

0
Noten

Added a keybinding, now gotta figure out how can I make the player be able to pick up mobs

Attachment
0
Noten
  • Allow villagers to breed without waiting a long time, this will make starting a villager breeder with only 2 villagers a lot faster. I did this by writing a mixin for the Villager class.

There is a bug where baby villagers can breed but I fixed it in the latest version.

0
Noten
  • Added graph features to executable
  • Write data to csv, then call python from the executable, display graph and save to a png.
Attachment
0
Noten
  • migrated to astro 6
  • added pagination
  • fix an issue caused with games not being sorted by popularity
  • tried to optimize the dev server(it was taking like 40 seconds when I tried to start the dev server) but failed
  • fixed a small bug in the contact form

I need to make the pages for all the consoles now, after that I will just need to connect this to a domain and host on a service.

I spent like 2 hours trying to get the dev server to start faster but for some reason my efforts were not fruitful. I geniunely don’t know why its incredibly slow.

Attachment
Attachment
0
Noten

Shipped this project!

Hours: 6.48
Cookies: 🍪 31
Multiplier: 4.71 cookies/hr

I built a small C project for generating primes. Hardest part was actually learning to use C and trying to understand pseudocode, as well as trying to figure out whats slowing the algorithm down.

Noten

I created a small C project for prime number generation, I use a couple of algorithms to see how the they scale.

The “basic” algorithm uses a simple for loop for every integer from 2 to n. To check whether a value is prime, it iterates over every single value from 2 to the value being checked, to see if its remainder is 0, if none of the values have a remainder of 0, then it is a prime number. Even though it’s a simple algorithm, it is really slow, as it can be seen from the graph.

I made a better version of this basic algorithm by changing the function for checking whether something is a prime. Instead of checking for every value from 2 to value, I instead check every value from 2 to square root of that value. This is because at least one factor of an non-prime number N must be lower than the square root of N. Using this we can speed up the algorithm a lot.

I also created another version of the the “better” algorithm by adding a cache mechanism as well, however the cached algorithm has lower performance, which is surprising.

I also tried another type of algorithms for generating primes, they are called sieves, I spesifically started with Eratosthenes’ sieve algorithm. It works by generating a list of values from 2 to n(n being the limit), it then defines p to be 2 and marks all multiples of it within the list. After marking every multiple, p becomes the next smallest value greater than p(for example, p becomes 3 if p was 2 before). It repeats until its done. Numbers that were not marked are primes.

There are different versions of the sieve algorithms created by mathematicians. There is Eratosthenes’s Sieve, Pritchard’s Sieve, Atkin’s Sieve and Sundaram’s Sieve. From my testing, it seems like both Atkin’s and Sundaram’s Sieves are the best.

Overall, this was a simple project but I definitely learned some stuff. I would like to test out more algorithms and do better testing next time.

Attachment
Attachment
0
Noten
  • Added contact page
  • Added features section
  • Added more consoles to scrape roms for.
  • Updated the index, games and play pages to be mobile friendly

I am currently waiting for the scraper to finish scraping games so that I can add all the other consoles too. As of writing this I have scraped more than 16 thousand games.

Attachment
Attachment
Attachment
Attachment
Attachment
0
Noten

Implemented game page, you can now download the roms from individual game pages.

I wrote a small todo as well:

  • Scrape all the other console games
  • Features section
  • Contact us page
  • Make the pages for all the consoles(at least 10)
  • Make the site mobile friendly
  • Integrate some sort of privacy-first analytics
  • Deploy on netlify/cloudflare workers/something else
  • Buy domain
  • Connect domain
  • Replace the logo & favicon maybe.
Attachment
Attachment
0
Noten

Implemented a webscraper using scrapy and started a simple scraping run for sega saturn games.
I also added some pixelart icons to the hero section. Added an frequently asked questions section.

Updated the nes emulation page a bit.

Next I’ll be tackling the games page, that way people can find a game they would like to play.

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
1

Comments

AcNir7
AcNir7 about 2 months ago

Cool! I see your hardwork. Can you also check my projects!

Noten

I want to make the web design of this website good but I am having trouble coming up with good ideas. Next update hopefully will be better.

Attachment
Attachment
Attachment
Attachment
0
Noten

Created a new website by following the guide at https://www.shadcn-svelte.com/ and https://docs.astro.build/en/install-and-setup/

Using tailwindcss, shadcn-svelte, svelte, astro and https://github.com/EmulatorJS/EmulatorJS

Spent like an hour making a proper text container which switches the words by moving them vertically.

The logo is my recreation of “cool sunglasses emoji pixelart” images I found on google.

I also found a translation issue in emulatorjs and made a Pr to fix the localization of Turkish.

Due to copyright laws I wont be hosting game ROMS however you should be able to find game roms pretty easily online (legally, of course).

Anyways here is Super Mario Bros. running on the web!

Attachment
0
Noten

Shipped this project!

Hours: 35.7
Cookies: 🍪 733
Multiplier: 20.55 cookies/hr

I updated my animated neofetch tool. It is now version 1.0

Trying to do a flicker-less animated fetch tool that also supports terminal resizing without using a tui library and also doing it cross platform was finnicky, I had to use the rich module. It is possible to do it without rich but I couldn’t get it to work the way I wanted it to work, so I had to use rich.

I also had to port over all rendering code from bash to python. That was not really fun but ehh what can I say.

I also made caching 2.5x faster by just doing jpeg frame extraction rather than png and using multithreading while processing frames with chafa.

Noten

I did a bunch of stuff, did 1.0 release. I also made a yt video on it. https://www.youtube.com/watch?v=ektxQu2MCU0

New features:

  • Cross compatibility for Linux, MacOS and Windows.
  • –interval flag which allows anifetch to refresh the fetch info over time. For example, if you give it –interval 1 it will update the info every second.
  • Caching is now a lot faster, roughly 2.5x. I achieved this by extracting frames as jpeg when using ffmpeg and using multithreading for chafa.
  • Automatic key exit: Anifetch now quits when you press a key(beforehand you had to spesifically do Ctrl+C).
  • Oh and fastfetch is now the default backend to use, I should’ve done this sooner considering neofetch is unmaintained lol.
0
Noten
  • Fixed terminal mode changing(AGAIN, appearently I didnt fix it beforehand).
  • added a “refresh” interval, that way the sysinfo will update over time. Default is -1 (never)

I need to get rid of that black flicker when it updates the fetch info. will probably move the processing over to a new thread.

0
Noten
  • Removed some repeating code
  • Removed unnecessary read and writes of the template.txt file

From now on the code will only call ffprobe to get video dimensions if there isnt a valid cache and height isnt known.

I also fixed a weird bug where after caching the terminal mode would be broken and up/down arrows would print ^[[A instead of bringing the previous commands. This was caused by me forgetting to send the output of chafa to subprocess.PIPE. It was sending the outputs to the main terminal which messed up the terminal mode

I also removed the “bc” package from dependencies because it was only used for the bash script, which has been ported over to python.

I have also updated the pyproject.toml file to prepare for the PyPI release. I decided to support python 3.10+.

Attachment
0
Noten

I recorded new benchmarks.

I had to get rid of neofetch from benchmarks because it just refuses to work properly in windows, I either need to dual boot linux which I dont want to do or use WSL which is bad. I can’t use a virtual machine because that slows things a lot and not indicative of actual performance.

Anyways the optimizations I did roughly sped up the caching by 2.75x which is great. Only catch is that the cached time is a bit higher but I think that’s acceptable and I can always optimize it later.

It might be technically possible to use git bash to do benchmarks within windows but I couldnt get neofetch to work properly for some reason in my python code. It works if I call neofetch by itself in git bash it works fine, but doesn’t work when my python script calls it in git bash.

Attachment
0
Noten
  • started work on docs site
  • Ported bash script to python so that it can work on windows, linux and macos
  • added an keyreader to stop the animation when a key is pressed
  • still need to add benchmarking mode
  • Fixed truncate line function(was bugged)
Attachment
0
Noten
  • Proper certifications for proper testing on mobile(https with mkcert)
  • Fixed a bunch of errors and enabled all compilation warnings(Dont know why arduino doesnt enable them by default)
  • Fixed core panic error when sending back a page
  • Fixed minor incorrect closing tags / html
  • Fixed logic issues in string manipulation
  • Server correctly sends back the “enter wifi details” page
  • Did QR code scanning(frontend)
  • Added a couple of the frontend steps
  • New ui theme for webpage
  • SoftAP mode done

need to test if NVS correctly works, if so I can get started on remotely controlling the motor connected to the esp32

also need to add some css styling to the “enter wifi details” page

Attachment
0
Noten

Working on setup of the device, esp32 will send a html form so that the user can enter their wifi credentials(already included auto wifi detection to save them the trouble of entering wifi ssid).

Just need to make the esp32c3 send back status(http response). Then hopefully setup part will be done and I can work on the device pairing. (Also need to clean up the old code)

Attachment
0