i dunno if this has changed but last i checked every item slot in minecraft's GUI was also rendering one of these 3D items except that they're rotated so they look like 2D images and as far as i know there's no caching going on
meanwhile block game just caches 2d images to use as an icon for every item in the game at startup because uhh, hello?? why wouldn't you do that???
before i started block game there were lots of things in minecraft that made me go "that's weird why wouldn't they do it this better way? i guess the microsoft funded multi billion dollar studio must have a good reason for it"
and now that i've been making block game i am starting to strongly suspect they do not, in fact, have a good reason for it
and you can make the argument that gpus are real powerful now, so what's the point in saving a few triangles?
meanwhile my 2012 laptop that ran minecraft great 10 years ago can basically no longer run it at playable framerates
this is why i wanna make block game run on old computers. because people are poor, squirtle
(also lower power draw hardware is a thing for desktops now and that hardware ain't all that powerful)
and i'm not just saying "other people are poor"
i used that 2012 laptop for over a year, through 2021, because my desktop fried itself and i didn't have enough money to replace it
i've been poor. and poor people deserve to enjoy games too
@eniko I bought my first ever new pc in 2011 precisely because it was actually worth doing that for the first time in my life
Okay sure, I had more money then than ever (a dizzying 3 grand for a few weeks), but also, prior to that it just wouldn't have been worth it for something that would become outmoded in a few years (and non-corporate games were way thinner on the ground)
I used that computer until 2021
For a while I ran my column on a four year old, refurbished £150 laptop
@sinvega yeah that's the other thing like
you can buy a laptop now for 300 euros without a windows install with ok RAM and storage and a cpu/gpu that will do anything you need except play high end games
and like, that's the only pc a lot of people have now so why wouldn't i wanna make my game run on that?
Feeling all superior here with my shiny new 2016 laptop that's only missing an F12 key
It's not even about money. It's about "it works perfectly fine why would I get a new one?"
@eniko It might sound dumb to way this, but thank you so much for understanding this... Especially nowadays with off-the-shelf engines it seems like no one cares about optimization anymore. After all, what gamer doesn't have at least an RTX2060?
As someone who's grown up on budget, outdated PCs (and whose most powerful GPU currently is from 10 years ago) it always makes me really happy to see devs taking optimization seriously.
Looking forward to Block Game :)
@eniko @YinYinFalcon most of bedrock is just java code copypasted, translated as is as to c++, with all the same issues. that was at the beginning though, and since everything diverged
fun fact, old bedrock server versions had debug info, so for a fair few we basically have the entire source c++ code, which is how we know it was done this way
@eniko in that case I'd place it all at mojangs feet, still
unless my impression that all microsoft really does is copy everything to the bedrock remake (often producing logical mistakes/silly design differences) and staying hands off on java production is no longer true
@eniko I think this is a common thing! Developing software at scale necessitates streamlining, and the best way to streamline is to commodify the software process: remove custom code, cleverness, optimisation tricks, etc. and just rely more on brute force / volume when it's even slightly cost effective to do so.
Most for-profit software is unimaginably bad in ways you can only begin to imagine that just wouldn't fly if developed by individuals or in community settings.
@jsbarretto yeah. im pretty sure they just did this so that they have one render path where everything is a 3d model, whether its a 2d item or a block rendered in the inventory. all standardized, no exceptions, no complications in the content pipeline, much easier to avoid bugs when adding new stuff
and that's why my old laptop can't run minecraft anymore
@jsbarretto yeah
on the other hand, in block game i've decided that every item is a 3d model, and ergo on startup i just render them once and then cache them as an icon
and i just use the icon to render the item. so it's not like this is *actually* noticably more complex for anyone involved (leaving aside that obviously it's just me atm)
@eniko So... as luck would have it, I ended up writing a software rendering library a few years ago as a weekend learning project. I was already familiar with the API (because I'd built it, ofc), and it was 10x simpler to integrate than actually telling the GPU to do something, so I just threw it in: https://github.com/zesterer/euc
Before that we only had extremely simple top-down icon images, but now we have nice isometric renderings of tools, armour, food, etc. that look much nicer.
@gkrnours i feel like a slightly slower start up time to greatly speed up the game's rendering is a fair trade lol
also they could do it on-demand if they didn't want the startup time to be increased