FlatCraft
- 11 Devlogs
- 41 Total hours
online 2d Minecraft
online 2d Minecraft
Why, you may ask, do I do progress updates? It’s because only 10 hours MAX can be logged per dev log, and uhh… I think you get the picture. So, without further adieu, this is what I’ve been working on.
That’s a huge jump from the last time I’ve updated you on the progress on players. Now the thing is, physics is annoying. And I’m not old enough to study calculus at my high school. Which is a shame, as I really like the idea of calculating values based off of differentiating values. I’ve literally just been playing around with the physics at 3 am!??!? Wow! It’s literally 3:30 in the morning. I should go get some sleep. The jumping and crouching are a bit finicky, but I’ll fix them sometime later.
First of all, a lot of the 10 hours in this progress update have been miscellaneous things like bug fixes or just general tweaks. I’ve also been realizing that this project is big. But the end of the tunnel is still nowhere in sight. Yet, if I can stop sitting around and start sprinting towards, uhh… any direction, there will be light at the end of the tunnel. I hope I can finish this project before school starts. I’ll have to grind like a lot, and especially at night because my siblings are quite brain-rotted, annoying, and loud.
After a lot of time getting the back-end setup (with some help from ChatGPT, I’d have to admit), custom skins are here! (Granted… players aren’t here yet so you can’t really try them out lol.)
I have been grinding this, and I haven’t posted a dev log in a while because I haven’t really finished anything, so this will be a progress report.
The old textures suck, because in between blocks there would be like a small section where there is like no detail, so I added those details and recolored the grass bit of the grass texture because the old one was too “limy.”
Self-explanatory; no interesting thing happened that I would want to yap about
Last devlog, I ported my rendering side of the game to LittleJS, a browser game engine. Why? Because I realized that I wouldn’t have the time and effort to manually do advanced stuff like lighting and particles. Hence, I ported to LittleJS. Now, in the days after the port, I had to fix a lot of things and bugs. Originally, the game would render everything, even if it wasn’t on screen, so I fixed that. I made it so that if you couldn’t see the blocks in the camera, they wouldn’t be rendered.
I decided that tinkering with sandbox mode first would be stupid, as I would still have to make players, inventory system, etc. I feel like I’ve finished everything, but there is something missing. The sky. I still need to make the sky. I don’t know if it should be an image or something else.
All I have done for players is literally a goffy ahh skin (which I should make better) and a player variable. I think you would be able to piece together what I want for this.
I want to make custom skins. I have completed the UI, the security part of the server-side (aka my old broken ahh Chromebook) code, and a simple UI for it. All I need to make now is server-side code to store the custom skin and deliver it to the client.
Yes, this doesn’t look like much, but it took 5 hours over the span of multiple days and a LOT of trial and error to get to this point! I had to learn so many things, like Promises, async and await, how to make new classes, and LittleJS. But why? Why go through so much trouble? That’s because I’ve realized that I would not, in my current state, be capable of making a full Minecraft clone using only the vanilla HTML Canvas. I chose littleJS because of the promise of fast and lean, and I had already tried it before but failed; I wanted to redeem myself.
(NEXT UPDATE: Create worlds from seeds 😭 i need help with this)
This is a BIG UI update, and in the next update I’ll add scripting to most of the world menu UI, which has not yet been scripted.
Added a loading screen which goes to 90% and then waits for the CrazyGames SDK.
Removed all NPM dependancies and replaced them with CDNs
Added a squeeze in animation when closing Loading screen and Main Menu
And much more!
(NEXT UPDATE: Create worlds frm seeds with basic terrein 😭 i need help with this)
The Backdrop Update
main menu, new cursor
re-done block rendering, adding a function instead of just drawing it onto the canvas, added more textures (gems in block form) and redid dirt texture. Also added movement (only canvas movemnt)
maple (oak) trees and fps counter
Inventory UI, Block Creation, some textures