Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo hacer programación y desarrollo de juegos

Cómo hacer programación y desarrollo de juegos

1. ¿Cuáles son los aspectos principales del desarrollo de programas de juegos?

El desarrollo de programas en el desarrollo de juegos consta principalmente de los siguientes aspectos:

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. Desarrollo de motor de red para soportar batallas en Internet

A continuación se presenta cada parte una por una:

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 (LevelObjectDetail), 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 3DSMax, Maya, SoftXSI, SoftImage3D, etc.) y utilizar herramientas como Photoshop o Painter. Las texturas se convierten en archivos de recursos utilizados en el programa del juego.

2. El motor de sonido incluye principalmente la reproducción de efectos de sonido (SoundEffect, denominado SE), voz (VOICE) y música de fondo (Backgroundmusic, denominado 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 gamedynamicssdk de la compañía havok y opensource ODE—OpenDynamicsEngine).

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 desarrollo del diseño de niveles y el desarrollo paralelo. por lo que generalmente cuentan con 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 independiente.

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 la interfaz 2DGUI y las complejas son la interfaz 3DGUI.

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 síncrona es relativamente La comunicación asincrónica es relativamente ineficiente, pero el modelo de programación de la comunicación síncrona 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: gestión de configuración de software del lado del servidor, optimización de programas de servidor, salas de juego, formación de equipos, procesamiento de lógica de 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 XBOXLive.

2. ¿Cuáles son los puestos relacionados con los programadores en las empresas de juegos?

Los puestos de los programadores en las empresas de juegos son algo diferentes entre las empresas de juegos japonesas y las empresas de juegos japonesas europeas y americanas. Los puestos de programador de las empresas incluyen principalmente supervisor técnico (Director), programador principal (Programador principal) y programador (Programador). Los programadores responsables del 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. laboratorio de investigación de sistemas y departamento de producción de sistemas de sonido (estos dos departamentos son relativamente independientes y a menudo atienden varios proyectos al mismo tiempo), los programadores responsables del desarrollo de cada proyecto de juego pueden tener múltiples funciones en cualquier momento, como el principal Además Además de ser responsables de todo el sistema de juego, los programadores también pueden ser responsables del desarrollo de motores de gráficos o sonido, etc. Además de la inteligencia artificial, los programadores también son responsables de la producción de 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.

3. La forma en que las empresas de juegos generalmente contratan programadores

Esto también es algo diferente entre las empresas japonesas y 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.

4. ¿Qué condiciones se deben cumplir si quieres convertirte en un programador de desarrollo de juegos?

Creo que el requisito mínimo para un programador de software de juegos es tener conocimientos de licenciatura en informática. Conocimientos principales, que incluyen principalmente lenguaje C o lenguaje C, estructura de datos, principios de compilación, algoritmos, etc. Además, el álgebra lineal, el cálculo y la mecánica newtoniana también se utilizan ampliamente en el desarrollo de motores de física y gráficos. es necesario comprender los conocimientos relacionados con el hardware, como la arquitectura de la computadora y el lenguaje ensamblador, que nos resultan muy beneficiosos para aprender una nueva plataforma de hardware, escribir código optimizado y mejorar la competitividad de nuestros propios juegos. 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 quieran ingresar a la industria de los juegos pero carezcan de conocimientos sobre desarrollo de software, pueden hacerlo participando en una capacitación en desarrollo de juegos.

5 ¿Cuáles son las buenas formas de aprender a programar juegos?

Hoy en día, muchas personas se graduaron con una licenciatura en informática y aprendieron mucho sobre el desarrollo de software. Sin embargo, cuando se trata del desarrollo de proyectos reales, siento que no sé por dónde empezar. 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. Los proyectos y temas se diseñarán especialmente 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 se una. .