4 ms·
Having followed this space for some time, Unity made huge strides at the beginning but has become notorious for punishing shiny features while leaving things br
by ordinaryradical 6y ago
Having followed this space for some time, Unity made huge strides at the beginning but has become notorious for punishing shiny features while leaving things broken or half-supported, which makes the developer’s life hard if you happen to run into one of those bugs. Closed source means you’re stuck writing ugly workarounds.
My impression was that you can bootstrap some incredible stuff in Unity, but demanding kinds of games will push you into its uglier corners and leave you at the mercy of its updating schedule.
This is very different from Unreal, or even Godot, which have their own trade offs. But it seems to me like there is enough of a “mid market” for all of them to coexist.
- oblio 6y agoHearthstone is built with Unity. I don't know if it's on Blizzard or on Unity (though, comparing things to other Blizzard games, I'd suspect Unity), but Hearthstone uses an awful lot of resources and is quite laggy on mobile, despite it presenting a pretty bare-bones 3D scene with barely any special effects.
- jayd16 6y agoCard games use a lot of high res art. They take a surprising amount of textures.
- oblio 6y agoHave you played Hearthstone? It was released in 2013 and I wouldn't call their graphics "high end" by any stretch of the imagination. If racing games or FIFA run fluently on a Galaxy Tab S4, so should Hearthstone... Even their PC version is laggy, check out streamers restarting the game (!) before important and action packed battlegrounds turns.
- jayd16 6y agoRacing games and FIFA can reuse a lot of texture data. Same rock. Same uniform. Repeating crowd. That said, HS just runs on mobile. It's not optimized for it. It's obvious when you can only look at a chunk of your collection at a time instead of smoothly scrolling that the cards take up a lot of ram. Users also have a lot more control over what is shown on screen. For a FIFA game everything is loaded beforehand. In a card game that has to hide information, it has to load as the game progresses.
- hobofan 6y agoThat's really not an excuse. Doing some back of the envelope math shows that even the full collection of all Hearthstone cards would easily fit into RAM: ~0.25MB (size of a sample original artwork from[0]) * 3410 (number of playable cards in the game[1]) = ~850MB > For a FIFA game everything is loaded beforehand. In a card game that has to hide information, it has to load as the game progresses. During every single match of Hearthstone all the cards are also known beforehand (to the device), and they are a fraction of the full card collection. [0]: https://hearthstonejson.com/docs/images.html https://hearthstonejson.com/docs/images.html [1]: https://hearthstone.gamepedia.com/Card https://hearthstone.gamepedia.com/Card
- jayd16 6y agoSome things you might not be aware of: Hearthstone cards have several texture maps per card for the foil card effects. When textures are stored in ram they are not compressed (not as png or jpeg anyway). Its closer to a full 4 bytes per pixel. Textures also use mipmaps which take up an extra 33%. Not to mention the animations, effects and and the texture memory they bring. Its much more RAM than you think. Just look at the (fully compressed) install size of over 3GB. The menu textures do not take over 2GB. The game came out in 2014 when the latest iPhone had 1GB of RAM (less than 512MB usable for the whole app, essentially.) Its tuned to be under that cap, which forces a lot of disk reads instead of keeping things in RAM. >During every single match of Hearthstone all the cards are also known beforehand (to the device), and they are a fraction of the full card collection. This is actually false as some cards can spawn a random card from the full collection.
- esrauch 6y agoI don't think that's actually a fair explanation for why the game is so janky. Very simple animations that aren't loading new resources like Ysera Unleashed visibly badly lag even on the top end machines used for tournaments. Maybe more clearly, whenever you enter a game there's a loading spinner that freezes for several seconds even on the very highest end desktops; you'd think for a game whose main graphics concern is exactly "image asset streaming from disk", they have wouldn't need to hard-freeze the menu UI to do the loading.
- hexaz 6y agoThe restarting is independent from the games performance. Battle times actually eat into the time you have after the battle to update your team, and at some point restarting the game is faster than watching the battle unfold.
- oblio 6y agoAnimations are choppy and slow.