July 01, 2025
worked on
Minecraft++
I fixed web viewport and framebuffer handling inside canvas and game so now when game renders in web it isn't pixelized _
worked on
Minecraft++
Working on nice transparent faces rendering currently I got code to compile but not to work rly XDD. (img of website bc why not)
worked on
Minecraft++
I fixed bug from previous devlog I gotta say it was kinda wierd I still don't know why it was behaving like this BUT i know what caused it so that got fixed
worked on
Minecraft++
I am fixing bugs that happen when you walk to gen new chunk and then backwards to remove it.
For some reason it seems like chunks aren't properly deleted which doesn't really make sens to me ()_()
worked on
Minecraft++
I fixed annoying aahhhh block placing issues
worked on
Minecraft++
I fixed all issues with dynamic idBuffer and merged all branches to main now game runs nicely on web and desktop.
worked on
Minecraft++
I have made optimized idBuffer to work in web but now desktop version isn't quite working..... (Idk what image to give for not running app)
worked on
Minecraft++
I think I found the problem for these wierd atrifacts on map while moving. I believe it is caused by currupted idBuffer. Rn I will be trying to fix it
worked on
Minecraft++
Just as most of the time I am DEBUGGING. Rn trying to implement optimized idBuffer filling for the web version (As always web just causes problems) :(((
worked on
Minecraft++
I changed tree leaf texture so now trees don't look ugly. Also I added optimized IdChunkBuffer so now web runs slightly smoothly. (Water on web still looks ugly)
worked on
Minecraft++
I've got infinite chunks working in WEB !!
It took quite a while mostly due to me just code rushing without proper thinking :)
Ik, Ik it looks like we are taking step backwards but desktop look good, works good, web is a different story still...
worked on
Minecraft++
Now I have come against big hill. My optimized buffer setup isn't really that suitable for webGL :(((.
SO I need to find new way to make it work...
THANKFULLLY I've got one but not quite working now...
worked on
Minecraft++
I just merged branch feat/optimized-buffer-handler to main and we have a working game now.
<><><><><><><><><><><><><><><><><><><><><><><><>
FOR NERDS
<><><><><><><><><><><><><><><><><><><><><><><><>
For the past 2h I have also found a reason why it wasn't running as fast as it should. Turned out it was due to me declaring Chunk class empty destructor which made compiler unable to use some optimizations on objects free'ing
worked on
Minecraft++
Okay now I can say it with clear heart: I have buffer handler working
It took a while but we got there.
...................................
FOR NERDS
...................................
Main reason it wasn't working is due to me using wrong math on unsigned ints...
I had ifs like this: if (zoneSize - dataSize > 0){ do smth} that was supposed to do smth when zone was to big for the data BUT what is dataSize is bigger than zoneSize. Then due to unsigned int dataSize, zoneSize int would rollover and this condition will in fact true
I still need to add delay reducers what I mean by that is some sort of guard that will not allow me to insert to many chunks into buffer at single frame. It will put it to job list on another frame. This should reduce lag spikes.
worked on
Minecraft++
I debugged all of the optimized buffer handler code and now it works.
All that is left now to do is fully implement those classes to the rest of the game.'
I also updated css on the website so now bottom buttons aren't annoying ()_()
worked on
Minecraft++
🥳! FINALLY !🥳
For nerds...
Turned out that I was adding chunk buffer space padding in a wrong way....
I was just calculating amount of bytes to add by % of the original size which was wrong since I was using INDIRECT BUFFER which does not take as its base byte offset but baseInstance so num of instance you want to start to draw from.
So when I had my chunk space defined by calculated % then CHUNKSIZE / CHUNK_DATATYPE_SIZE could end up not pointing to actual data start.
F u N f A c T:
glfwSwapBuffers() was then putting my linux mint back to log screen (gpu full reset xDDDD)
worked on
Minecraft++
I made better webReadme for website game and still debugging this new buffer handler :((((((((
worked on
Minecraft++
😩Last 10h were really exhausting😩 I have been working on optimized buffer handler and let me tell you THIS IS HARDER THAN I EXPECTED. I am still w o r k i n g on it. I also updated website and now you can play this game in web BUT not full version due to performance reasons
worked on
Minecraft++
I added working sun light and added i button (info) to project website
worked on
Minecraft++
I made project website so that you can download game yourself and play it!
worked on
Minecraft++
I restructured repo and made game ready for SHIP. Keep in mind its not perfect and still lacks a lot of performance on web so you will need to download it.
worked on
Minecraft++
I got working chunk rendering with multithreading!
worked on
Minecraft++
After very long time I finally got infinite world working now chunks render as you walk. However it is so slow that 10 chunks create big lag because it is not multithreaded. But before I put chunk gen in seperate thread I must optimize single chunk generation functions as much as I can. Idk what img to post
worked on
Minecraft++
Added render distance to the game but it still does not generate new chunks
worked on
Minecraft++
I optimized my game even further by compressing every draw call into one :).
Right now game runs at 40-50 fps with 64 chunks render distance(2048x2048 world)
worked on
Minecraft++
I made my game work in web! ________________________________________________________ Using WASM I was able to put it in browser. For now without custom website just default emscripten one. I found out that it is not optimized in any way 4 chunks were going on 40fps but on desktop on 40fps was going 4096 chunks (1024x1024 world) So I will need to fight for every frame in this web version
worked on
Minecraft++
After loong 6h I added basic player movement- and optimized mesh generation
worked on
Minecraft++
Now this game kinda looks like minecraft 😂
🤔 Why 🤔
Well now we have Ground, Mountains, oceans and FORESTS😁
worked on
Minecraft++
After making so many changes to chunk rendering and positioning I finally got block placing/destroying mechanics to work again. And also I made water work as it is supposed to work.
worked on
Minecraft++
After loong loong time and several mental breakdowns...
I FINALLY GOT WATER WORKING
It is not perfect because I still need to add opaque and transparent faces sorting to remove these white edges everywhere where water intersects with regular blocks.
worked on
Minecraft++
I improved block destroying accuracy AND added block placing!
I also added crosshair just because I thought it is needed.
worked on
Minecraft++
Added block destroying mechanics and now I am working on block placing.
This was pretty tricky to make it work because I had to restructure my entire chunk block storing mechanism.
worked on
Minecraft++
I just added terrain generation with chunk system. MAAN that was hard I mean chunks were. Terrain generation was easy because I used FastNoise library. HOWEVER it still took me 1 - 2h due to my error.... it was one function parameter.... .
Regardless I managed to do it
worked on
Minecraft++
Instancing and texture offseting. I made adjustments to the code so that it chooses one of two textures randomly and creates flat 100block world of them
worked on
Minecraft++
Added a lot of useful classes when working with OpenGL.
worked on
Minecraft++
Right now only camera movement and cube in the center of the world.
created a project
Minecraft clone written in C++ without game engine just OpenGL and my poor skills :D
joined Summer of Making
This was widely regarded as a great move by everyone.