• 0 posts
  • 21 comments
Joined 3 years ago
Cake day: August 4th, 2023
  • Yea, textures are the biggest thing (unless there’s video). But don’t underestimate vertices, even when using strips. Unity, i think, just ships textures as BCn, meaning 1MB per 1k texture (would be 3-4MB raw). It’s even better for the gpu then raw. Then there’s normal maps, etc.

    Another thing is lighting data, be it some textures, probes, or whatever. That can also take up plenty of space.

  • Less triangles and smaller textures. Crt monitors had less resolution and practically built-in anti-aliasing so they could get away with (and had to) “worse” assets.

    Also since ssd-s have become mainstream unity uses less compression so it would load relatively faster.

    Basically because monitors got better, standards got higher, competition got fiercer, storage got bigger and faster, etc.

    And it’s not like there weren’t shitty games before, just everybody forgot about them.

    I like how the game Banished is made. From a requirenments/looks ratio it is IMO great. One guy made it. Ghosts of Tsushima also looks amazing and is great from a techical perspective, but it is heavy.

  • Lets say you use a variable named abcd in your function. And a variable named abcb in a for loop inside the same function. But because reasons you mistakenly use abcd inside that loop and modify the wrong variable, so that your code sometimes doesnt work properly.

    It’s to prevent mistakes like that.

    A similar thing is to use const when the variable is not modified.

  • I was playing bloons td back when it was flash, in firefox. It was sometimes too slow. So i fired up perf and found out what horrors flash player was doing with memcpy. One byte memcpy, completely unaligned memcpy.

    So i wrote an ssse3 memcpy that could do one byte unaligned with xmm registers. It was 30% faster then whatever glibc was doing and made the game playable. Was planing to submit it to glibc, but they came up with something different that was just as fast.

  • Data oriented design is the new thing, much different from that.

    OOP, other then smalltalk and maybe few other languages, is somewhat different in practice from the original idea. I can dig up a great talk from Alan Kay on OOP if you want. Actually i want to watch it again so i’l edit it in here when i find it.

    Edit: https://www.youtube.com/watch?v=fhOHn9TClXY Great talk, as far as i remember.

    That said, we often have to process seemingly unrelated data together which is slow with the model of passing data arround (even when by reference). When OOP was invented memory access was as fast as actual operations on it, while today memory is much slower then processing. With caches and simd and such, it is much faster if everything is an array. Peronally i’m not a fan of OOP because of the “everything has to be an object” mentality, but do whatever you like.