Quiero convertirme en programador de desarrollo de juegos, ¿qué debo aprender?
1. Motor gráfico 2. Motor de sonido 3. Motor de física 4. Motor de juego 5. Inteligencia artificial o lógica de juegos 6. Interfaz GUI del juego (menú) 7. Herramientas de desarrollo de juegos 8. Desarrollo de un motor de red que soporte batallas LAN 9. El desarrollo del motor de red para soportar batallas en Internet se presenta uno por uno en cada parte: 1. El motor gráfico incluye principalmente gestión y renderizado de escenas (interiores o exteriores) en el juego, gestión y renderizado de acciones de personajes, gestión y renderizado de efectos especiales (sistemas de partículas, simulación natural (como textura de agua, simulación de plantas, etc.)), iluminación. y procesamiento de materiales, gestión de LOD (nivel de detalle de objetos), etc., además del desarrollo de herramientas de conversión de datos gráficos. Estas herramientas se utilizan principalmente para convertir modelos y datos de movimiento producidos por artistas que utilizan software DCC (como 3DS Max, Maya). , Soft XSI, Soft Image3D, etc.) y utilizan texturas fotográficas producidas por herramientas como Shop o Painter que se convierten en archivos de recursos utilizados en programas de juegos. 2. El motor de sonido incluye principalmente la reproducción de efectos de sonido (efecto de sonido denominado SE), voz (VOICE) y música de fondo (música de fondo denominada BGM). SE se refiere a aquellos que se juegan con frecuencia en el juego y tienen un tiempo de reproducción relativamente corto, pero deben reproducirse de manera oportuna y sin demora. VOZ se refiere a la voz o voz humana en el juego. Esta parte tiene requisitos relativamente altos. para la calidad del sonido y se utiliza básicamente para grabar y reproducir sonido a la misma frecuencia de muestreo, pero al igual que SE, requiere una reproducción oportuna y sin demoras. SE a veces puede reducir la frecuencia de muestreo sin afectar el efecto debido a problemas de capacidad de memoria, pero VOICE requiere una menor. muestreo debido a problemas de capacidad de memoria La frecuencia de muestreo tiene un mayor impacto en el efecto, por lo que generalmente VOICE no utiliza el método de reducir la frecuencia de muestreo. BGM se refiere a un largo período de música de fondo que se reproduce en bucle (a veces no se repite y solo se reproduce una vez) en el juego. Es precisamente por esta característica de BGM que la música de fondo de los juegos generalmente se reproduce. un disco (disco compacto o disco duro). También hay algunos efectos de sonido avanzados, como EAX, sistema de cine digital (DTS5.1), sonido envolvente Dolby digital, etc. 3. El motor de física incluye principalmente la simulación mecánica de colisiones entre objetos en el mundo del juego y entre objetos y escenas, así como la simulación mecánica del movimiento esquelético de los objetos después de la colisión (los motores de física más famosos incluyen dinámica de juego SDK de la compañía Havok, y existe una ODE de código abierto: Open Dynamics Engine). 4. El motor del juego integra principalmente el motor gráfico, el motor de sonido y el motor de física para crear un sistema de juego para un determinado juego. Incluye un editor de niveles de juego. Su objetivo principal es ajustar visualmente la escena, los efectos de iluminación, la niebla, etc. ajustes, configuraciones de eventos, ubicación de accesorios, configuraciones de NPC y un editor de personajes, que se utiliza principalmente para editar los atributos de los personajes y verificar la exactitud de los datos de acción. En términos generales, las compañías de juegos japonesas integrarán el editor de niveles y el editor de personajes directamente en el juego. Todos los ajustes de parámetros se editan en el juego a través del menú de depuración, por lo que generalmente solo usan esta parte de la función del menú de depuración. muestra información importante en la pantalla en tiempo real. La ventaja de esto es que el efecto del ajuste del editor de niveles es directamente el efecto del juego, pero puede no ser muy bueno para la reutilización del programa. En otro proyecto de juego, es más difícil, a menos que los dos tipos de juegos sean iguales, siempre que se cambien la escena y los datos de los personajes, no habrá ningún problema en crear el producto de próxima generación. Simplemente agregue la función del menú de depuración. el estilo. 5. El desarrollo de inteligencia artificial y lógica de juegos, esta parte del modelo de desarrollo de juegos en Japón, Europa y Estados Unidos, también es muy diferente. El uso del desarrollo de lenguajes de script es muy común en las empresas de juegos europeas y estadounidenses, por lo que esta parte del desarrollo de programas es muy diferente. escrito principalmente en lenguaje de script y programas de script y juegos. El acoplamiento del programa es muy bajo y existe un entorno de edición, compilación y depuración separado, lo que es más propicio para la separación del programa de juego y el diseño y desarrollo de niveles, y en paralelo. desarrollo, por lo que generalmente tienen puestos de programador dedicados al diseño de niveles. El lenguaje de secuencias de comandos de las compañías de juegos japonesas generalmente está muy acoplado con el juego. Generalmente, un sistema de secuencias de comandos simple se completa mediante las funciones macro de algunos lenguajes y las funciones específicas de algunos compiladores, por lo que generalmente estos programas de secuencias de comandos solo pueden ser. depurado en el programa del juego y no se puede desarrollar en un entorno de compilación y edición de scripts separado.
6. La interfaz GUI del juego (menú) se refiere principalmente al diseño de la interfaz de usuario en los juegos. Algunas son complejas y otras simples. Las simples son interfaces GUI 2D y las complejas son interfaces GUI 3D. 7. Las herramientas de desarrollo de juegos incluyen principalmente editor de niveles, editor de personajes, gestión de paquetes de recursos, herramientas de complemento de software DCC y otros desarrollos. 8. El desarrollo de un motor de red que admita batallas LAN resuelve principalmente los problemas del envío de paquetes de la red LAN y el procesamiento de retrasos, y la sincronización de la comunicación. Hay dos métodos de comunicación sincrónica y la comunicación asincrónica se utiliza para juegos que requieren un marco de ejecución relativamente alto. velocidades, y la comunicación sincrónica es relativamente La comunicación asincrónica es relativamente ineficiente, pero el modelo de programación de la comunicación sincrónica es más simple que la comunicación asincrónica. 9. Apoyar el desarrollo de motores de red para batallas en Internet. En la actualidad, la mayoría de los juegos en línea tienen una estructura C/S para la gestión de la configuración del software del lado del servidor, optimización de los programas del servidor, salas de juego, formación de equipos, procesamiento de lógica del juego, gestión de accesorios y sistemas de carga. , etc. . Además, existen algunos sistemas de red que son una mezcla de estructuras C/S y P2P, como XBOX Live, etc. La posición de los programadores en las empresas de juegos es algo diferente entre las empresas de juegos japonesas y las empresas de juegos europeas y americanas. Los puestos de programador en las empresas de juegos japonesas incluyen principalmente supervisor técnico (Director), programador principal (Programador principal) y programador (Programador responsable). para el desarrollo de proyectos de juegos en las empresas de juegos japonesas generalmente no dividen a los programadores específicamente según el contenido del trabajo, a excepción de los laboratorios de investigación de sistemas independientes y los departamentos de producción de sistemas de sonido (estos dos departamentos son relativamente independientes y a menudo trabajan para varias personas al mismo tiempo. Servicios de proyectos ), el programador responsable del desarrollo de cada proyecto de juego puede tener múltiples roles en cualquier momento. Por ejemplo, además de ser responsable de todo el sistema del juego, el programador principal también puede ser responsable del desarrollo de gráficos o motores de sonido, etc. Además de la inteligencia artificial, los programadores también crean menús, etc. Esta situación es relativamente rara en las empresas de juegos europeas y estadounidenses. Su división del trabajo es relativamente detallada. Por lo general, hay programadores de gráficos, programadores de sonido, programadores de inteligencia artificial o de juegos y programadores de física. En este sentido, las empresas japonesas son algo diferentes de las europeas y americanas. A las empresas japonesas generalmente les gusta contratar a algunos recién graduados destacados de algunas universidades. Por un lado, el costo es menor que el de contratar personas con experiencia. Por otro lado, los recién llegados son una pizarra en blanco y son fáciles de capacitar. Todos utilizan este método. Este principio recluta empleados, por lo que si desea ingresar a una empresa de juegos japonesa, debe estudiar bien sus cursos de software. Las empresas europeas y americanas esperan reclutar personas que puedan ingresar de inmediato al desarrollo del proyecto, por lo que generalmente esperan reclutar personas con experiencia laboral, aunque no estén en la industria, pueden trabajar en industrias relacionadas durante 2 o 3 años. Por eso quieren participar en juegos europeos y americanos. Su experiencia laboral es muy importante para la empresa. En mi opinión, el requisito mínimo para un programador de software de juegos es dominar los conocimientos aprendidos en una carrera universitaria en informática, que incluye principalmente lenguaje C o lenguaje C ++, estructura de datos, principios de compilación, algoritmos, etc., además de lineal. álgebra, cálculo y mecánica newtoniana. También se usa ampliamente en el desarrollo de motores de física y gráficos. Si desea mejorar, también necesita comprender conocimientos relacionados con el hardware, como la arquitectura de la computadora y el lenguaje ensamblador. Aprender una nueva plataforma de hardware, escribir código optimizado y mejorar nuestros propios juegos es muy beneficioso. Además, también es muy importante mantener una mentalidad de perseverancia, no tener miedo a las dificultades (como trabajar horas extras toda la noche) y sentir pasión por el juego. Para aquellos que desean ingresar a la industria de los juegos pero carecen de conocimientos sobre desarrollo de software, pueden hacerlo participando en la capacitación en desarrollo de juegos. Hoy en día, muchas personas se gradúan con una licenciatura en ciencias de la computación y han aprendido muchos conocimientos sobre desarrollo de software, pero una vez. necesitan usarlo en el desarrollo de proyectos reales, siento que no sé por dónde empezar. Esto se debe principalmente a que hay muy pocas oportunidades para aplicar el conocimiento en la escuela. Por lo tanto, la mejor manera de aprender a programar juegos es participar en un buen proyecto de juego y desarrollar juegos con personas con amplia experiencia en desarrollo. Es posible que aprenda muchos conocimientos y habilidades que no puede aprender de los libros.
Pero a veces no tienes la oportunidad de participar en un buen proyecto o ingresar a una buena empresa de juegos, pero te apasiona el desarrollo de juegos y realmente quieres aprender habilidades de desarrollo de juegos, entonces debes acudir a una empresa de juegos especializada. Capacitación en desarrollo. Debido a que los maestros en la clase de capacitación en desarrollo de juegos son todos maestros con una rica experiencia en desarrollo, generalmente tienen cinco años de rica experiencia en desarrollo de proyectos. Escuchar sus clases es en realidad compartir tantos años de experiencia en desarrollo con ellos. Habrá algunos proyectos y temas especialmente diseñados en los cursos de capacitación en desarrollo de juegos, que se pueden utilizar directamente en el desarrollo de juegos. De esta manera, no es necesario ingresar a una empresa de juegos famosa, pero puede aprender algunas habilidades de desarrollo comunes en estas empresas. Existe otro método rentable, que es participar en algunos proyectos de código abierto de voluntarios en línea. Estos proyectos son buenos o malos en términos de calidad. Además, muchos de ellos son industriales. Insiders Originalmente, tienes que ingresar a su empresa para aprender de su experiencia, pero a través de proyectos de código abierto, tienes la oportunidad de aprender de ellos. Tal vez algún día ingreses a una empresa de juegos conocida, pero el código abierto actual. Los proyectos de juegos completos son mejores. No hay muchos, y hay algunos proyectos de código abierto muy buenos en motores gráficos y motores de física, pero si quieres unirte, tu base debe ser buena. Algunos equipos de código abierto no son para que cualquiera pueda unirse. .