Here are some of my more noteworthy programming projects. They were either made as a fun experimentation, or as part of a game project.
Recently I wanted to make a game with terraria and modded minecraft as main inspiration. One of the biggest features of both of those games is everything can be broken or build. So if I wanted to make this project work I need to make a voxel world.
Currently the base of the world gen visualization with a temporary fill up made with multiple overlapping noisemaps for testing purposes. To make this project happen I took it step by step, starting with generating a single cube. After that I stepped it up from drawing multiple tiles to culling the faces that aren’t visible.
After that I went to begin thinking about optimizing this. For that I took minecraft as inspiration of splitting it up in chunks and only rendering a select few that are close enough and in view. I then started on implementing ways to generate different materials and fixing bugs caused by Unity limitations
This project is still in progress, but It is a good beginning of what I want it to be.
A while ago I wanted to make a rhythm game, I didn’t know how it would play, I just knew I wanted to make one where you could import your own music. And with that the biggest struggle would be to get the information from the song to use in the game.
I first made it so the song would play, and get the data in realtime, but that wouldn’t be fun to first wait 2+ minuten each time you would import a new song. So I looked for another way to get the information. I eventually found out a way to get the data from the song of which I could sample the frequences and times certain sounds would play. Using that information I could save each sound catagory and a list and It would be done in a few seconds.
After that was done I didn’t know what kind of game I wanted to make with it, but I was proud of how it worked so I ended up just making a visualization of it, and use it on my portfolio.
Over the past years I’ve made many itterations of the A* pathfinding algorithm, Each time trying to optimize it even further. This is something I like to do because It gives you more freedom of how it should work compared to build in navmesh.
To learn how to make A* I first started with the Dijkstra method. After that worked and I fully understanded it I tackled A*. And I kept Upgrading it by going from 2D to 3D, adding multithreading and eventually looking into different ways to optimize the grid to make the pathfinding faster.
During school I’ve made multiple shooting games, but for the most recent fps I wanted to step up the shooting mechanic. So I ended up asking my friends who play a lot of different ones which one felt the best. With their feedback I decided to look at Borderlands 3 as the main reference while also looking at some other games for small changes.
I took the spray the recoil and the way the gun itself moves, and made it into this modular gun mechanism. And most friends who used it really liked how it ended up.
A while ago I watched a video on this topic on what purpose this would have and while watching it I thought It would be a fun challenge for myself to use the concept of how it works and to figure out myself to implement it.
The basics of what poission disc sampling is, is optimized randomization. To generate multiple object on a grid while keeping a certain distance between each point. And this while also not making it seem repetetive and optimized.
Most games that I spent a lot of time in are multiplayer games. I think it’s just amazing that you can enjoy a game toghether with friends. Because of this I was interested on making my own multiplayer games. For this someone has recommended Photon to me.
I’ve made a few project with Photon to learn how it works, and to learn what the best way possible is to get something to function through networking. I have worked with multiple versions of photon including Pun Classic, Pun2 and bolt. Sadly these are now depricated and due to a update on windows not all of my projects work anymore. Even though they may not work now it did learn me the fundaments of networking.
In the read more section I have listed a few of the projects I have made with Photon and the problems/solutions I had working with it. Currently I’m looking into other ways to make multiplayer work Like Mirror or Fishnet since they could be free alternatives. Though I’m tempted to just learn the new Photon versions.