¿Tenemos que preocuparnos por las órdenes de bytes en el proceso de programación de un juego? ¿Las consolas de juegos usan diferentes órdenes de bytes?
software-engineering
saadtaame
fuente
fuente
Respuestas:
Si está escribiendo código de red, a menudo es algo con lo que tiene que lidiar, sí.
También es posible que el orden de bytes en un formato de archivo no sea el que usa su plataforma, por lo que a veces también es importante.
fuente
¿Tienes que preocuparte por eso? Probablemente no. La gran mayoría de la programación de juegos estará a un nivel tal que el endianness se abstraiga. Incluso en redes, seguramente usará una biblioteca para protocolos de red. Es bueno que lo sepas, pero dudo que te encuentres con un problema.
fuente
La mayoria del tiempo, no.
La endianess generalmente se abstrae en los módulos de alto nivel de un motor de juego, y no tienes que preocuparte por eso a diario. Si no está abstraído, entonces el motor tiene un problema grave y debe solucionarse, porque este no es el tipo de detalles por los que debería preocuparse al hacer un juego.
Sin embargo, si está trabajando en algunas partes de bajo nivel de un motor multiplataforma C / C ++, es posible que deba lidiar con él. Las tres consolas de la generación actual usan una arquitectura PowerPC, que es big-endian, mientras que la arquitectura x86 utilizada en PC es little-endian. Entonces, si está trabajando en algún código que lee bytes sin procesar de algún lugar para colocarlos en estructuras de datos (serialización binaria, redes ...), sí, tendrá que lidiar con eso.
Por ejemplo, en C / C ++, es común ver este tipo de intercambio de bytes en acción (no probado, correcciones de bienvenida):
Una vez más, esto está bien en el código de bajo nivel, pero esto no debería ser algo usado en todas partes.
fuente
Depende de las plataformas a las que apunta. Por ejemplo, creo que la PS3 es grande, así que si ese es uno de tus objetivos, entonces es algo que debes tener en cuenta, sí.
En el espacio de la computadora doméstica, los "Big 3" (Windows, Linux, Mac) son exclusivos, o casi exclusivamente, en las arquitecturas Intel x86 / x64 en estos días, por lo que las preocupaciones de resistencia ya no son relevantes.
fuente