there's so many fucking things that piss me off, but one of the things that pisses me off the most is basically every tech-focused indie dev who sees a shiny new toy (raytracing, nanite in ue5, DOTS/ECS in unity) and then apparently immediately suffer a blow to the head and completely forget about how people have made games for fucking decades
like for some reason a lot of unity devs are currently CONVINCED you just can't make games with the aforementioned tools. every time somebody asks how to do something, down to how to implement systems that were used minecraft, they do that thing like they're a stereotypical car mechanic and go "welllll it looks like you're going to have to implement a robust entity component system based architecture, gonna be pretty hard to learn" as if minecraft hasn't been around for nearly 12 goddamn years at this point
and like somebody else asked how to check if a player was in shadow in a game, something you can do in a particularly naive implementation just by casting rays from the player to each light, y'know? but somebody was like "okay so you're gonna want to use command buffers to blit a shadow map to a custom render texture and sample from that to see what the light level is there" like what the fuck? like this isn't a new tech thing but it's one of those dramatically overengineered solutions that drives me nuts
and there's a much of people who are like "unity is GARBAGE if they don't implement nanite. I NEED nanite to make my game" as if every other engine out there has been using virtualized geometry for a billion years and it's not just something that became generally available in ue5 for a bit over a fucking year while they've got a bunch of WIP screenshots and they're making a fuckin' 3d puzzle platformer
I understand the allure of shiny new tech, but people need to fucking chill and think about how we actually have been making videogames for fucking ages
i say sometimes when talking about game dev that one of the major problems I see is that engines, developers, etc., don't focus on building their tech needs horizontally, but vertically.
when i say that i usually mean exactly what this chost is saying, where a lot of devs start thinking that the latest new advance in tech must be used in their projects because those advances are there and not actively considering how they can use the current levels of fidelity/tooling to start doing weird experimental shit with their game's visual style/sound design/etc.
an example i like to use of horizontal design is vagrant story. this twitter thread touches on a bunch of it:
but the tl;dr if you're not messing with that site anymore is that vagrant story's team had a bunch of really, really experienced 2D pixel artists making a 3D game with basically no 3D games experience, and so they busted out a bunch of wild weird tricks to make that game work, including
- sub-pixel shading to animate mouths, change facial expressions, etc.
- simulating lighting on characters by generating the model twice and having the lighter version of the model represent the light hitting the character
- vertex shading to darken certain parts of the background textures to help sell the shadowing of the space
a more modern example is sort of visible in the way that Arc System Works has done their 3D modeling process starting with Guilty Gear Xrd. It involves a lot of like, manually calculating normals and the like, but rather than go for Extreme Photorealism and Cloth Physics and the like, they focus on how they can lean harder and harder into the way they want their cel-shaded aesthetic to live and breathe in fluid, dynamic ways, using w/e tooling that UE3 (and later 4) provided to that end.
now i'm not saying that i expect every indie dev to try to match ASW or the likes of pre-Squenix Square in terms of said wild shit, but I think it's worth considering that the cool thing about modern game engines and modern tools is that you can use the simple ways for simple things and then leverage the powerful things for weird things.
