Requisitos básicos para programadores de juegos
1. La situación actual de los programadores de juegos en C
El 100% de los programadores chinos en C son autodidactas. Porque casi no hay instituciones de formación C decentes en China. Todo el mundo sabe que el objetivo principal de la formación social es ganar dinero. Es una gran suerte poder triunfar allí. No es como JAVA implementado por la empresa SUN. No existe ninguna enseñanza C en la educación universitaria china. El conocimiento sobre los cursos básicos de C/C es sólo para que los estudiantes comiencen. Pero para las aplicaciones reales de ingeniería de software en C, el conocimiento de los libros de texto universitarios tiene poca importancia práctica. Lo más importante es que no hay profesores C cualificados en la universidad. La programación es una habilidad, también se le puede llamar un oficio. Las universidades se dedican a la investigación científica y la mayoría de ellos son científicos que se ganan la vida publicando libros de texto en PAPEL y obteniendo títulos profesionales. No un técnico. Es difícil enseñar a programadores de C intermedios y avanzados sin experiencia en más de 100.000 líneas de código y experiencia en proyectos de software exitosos.
La industria de producción de juegos tiene requisitos relativamente altos para los programadores de C. Mucho más alto que el software de la industria general. Porque cualquier MMO es un proyecto de software de tamaño mediano a grande. Es un software interactivo para varias personas en red a gran escala con cientos de miles o millones de usuarios diarios y cientos de miles de usuarios en línea al mismo tiempo. Integra más de una docena de tecnologías de programación en campos profesionales. él.
Además, los programadores en C intermedios y avanzados son generalmente muy capaces. Debido a que todos son autodidactas, esto requiere un alto coeficiente intelectual, una gran capacidad de autoaprendizaje, capacidad para resolver problemas y perseverancia para superar las dificultades. Pero no hay muchos talentos de este tipo en la industria del juego. Dejando de lado la rareza de talentos senior con capacidades generales de arquitectura de software a gran escala. También es difícil encontrar programadores en C que puedan emprender el desarrollo de módulos independientes, tener la capacidad de resolver problemas de forma independiente y escribir programadores en C que cumplan con los requisitos en términos de espacio, rendimiento, mantenibilidad, etc. Las personas que tienen estas habilidades y también tienen cierta experiencia en campos profesionales (motores gráficos, motores de red, etc.) son aún más raras.
Por lo tanto, ni siquiera las grandes empresas de juegos podrán satisfacer sus necesidades de programadores de juegos en C. Y los programadores de C que ya trabajan en la empresa no estarán realmente calificados para desarrollar programas de juegos en C por sí solos sin pasar por tan solo 3 meses o hasta 1 año de capacitación.
2. El desarrollo de juegos MMO requiere programadores de juegos C
Como se mencionó anteriormente, todos los juegos MMO son software de tamaño mediano a grande. Varios indicadores que miden la calidad del software, como la huella del software, la estabilidad, el rendimiento, la mantenibilidad, etc., tienen requisitos muy estrictos para el software de juegos MMO. Mucho más grande que el software industrial común. Esta escala es similar al sistema bancario. La lógica del cliente y del software es mucho más compleja que la del software comercial ordinario. Esto requiere que los creadores de software tengan altas habilidades de programación.
En el software de juegos, resolver la parte de ingeniería de software es solo 1/3 del proyecto. Las otras dos partes son planificación y arte/audio. Por experiencia, los cambios en la demanda de software de juegos MMO no son eventos accidentales, sino un atributo básico del desarrollo de software de juegos MMO. El software de juegos requiere mucha inversión, un ciclo largo y altos riesgos. El mercado de los MMO también está cambiando mucho y los videojuegos interactivos se están desarrollando rápidamente. El software del juego debe afrontar cambios externos. Y como el ciclo de desarrollo es largo, los cambios en los requisitos del software se han convertido en un atributo básico del desarrollo de software. Así como la complejidad es un atributo fundamental de la ingeniería de software.
Esto hace que el desarrollo de software de juegos esté lleno de incertidumbres. El entretenimiento interactivo es diferente de las aplicaciones comerciales. El entretenimiento es un ámbito entre la racionalidad y la sensibilidad. El desarrollo de C se enfrenta a la lógica mundial binaria de 0 y 1. Existen contradicciones irreconciliables entre estos dos campos. Esta situación impone mayores exigencias a los programadores de juegos en C.
En primer lugar, los conocimientos básicos de C y las habilidades de aplicación de C/C deben ser extremadamente sólidos. No es que el desarrollo de software de juegos utilice conocimientos o habilidades que sean difíciles de obtener en los libros. El sistema de conocimientos y el sistema de habilidades del desarrollo del juego C se pueden satisfacer utilizando libros de C existentes. Por ejemplo, "CLANGUAGE", "C PRIMER", "EFFECT C", "MORE EFFECT C", etc. Pero antes de comenzar a programar juegos, es muy difícil conocer personas que hayan leído detenidamente estos libros y los hayan practicado de manera competente. Por supuesto, cualquiera que realmente pueda hacer esto ya es un programador de C de nivel intermedio a superior. Una vez conocí a alguien que fue a GOOGLE poco después de graduarse
En segundo lugar, una comprensión profunda de la orientación a objetos. es muy importante. El dominio de la sintaxis C/C y las habilidades de programación solo cumplen parte de los requisitos para los programadores de juegos C.
Una comprensión profunda de los conceptos orientados a objetos provocará cambios trascendentales en el desarrollo de proyectos C a gran escala. A veces, en un proyecto de juego en C desarrollado en paralelo por más de 10 personas, los métodos orientados a objetos se convertirán en una gota que salvará vidas. También son cursos obligatorios libros relacionados con "Patrones de diseño" y "Análisis de patrones de diseño".
Por último, la esencia de un buen técnico es la arrogancia. Esto es normal. Pero si este hábito afecta tu mejora continua y el trabajo en equipo. Y cuando esto afecte su capacidad para convertirse en gerentes técnicos y núcleos técnicos de proyectos, el valor de dicho personal técnico se reducirá considerablemente. Si puede superar la pretensión lo antes posible, amplíe sus horizontes y continúe mejorando su calidad general. Sólo mejorando sus capacidades de gestión técnica y arquitectura su propio valor seguirá creciendo. Cuando se implementa, significa un aumento del salario y del patrimonio neto.
Porque la esencia del desarrollo de juegos es el desarrollo en equipo. En cualquier momento, sólo el personal técnico que sea valioso para un equipo puede tener reflejado su propio valor.
3. Ruta de crecimiento y desarrollo tecnológico
Existen varias etapas en el desarrollo del personal técnico general
1 Tener capacidad para desarrollar funciones locales de forma independiente<. /p>
Por ejemplo, escriba una función de interfaz lógica para una determinada interfaz de usuario. Escriba controles autodibujados para un determinado cuadro de diálogo INICIAR SESIÓN, etc.
2. Tener la capacidad de desarrollar y abordar de forma independiente ciertos módulos funcionales.
Por ejemplo, añadir un pequeño módulo de funciones lógicas al juego.
3. Tener la capacidad de diseñar y desarrollar un sistema de forma independiente
Por ejemplo, diseñar y desarrollar el sistema AUTOPATCH
4. problemas y arquitectura de diseño
Por ejemplo, desarrollar un sistema de simulación de sincronización de red y desarrollar una herramienta de producción de juegos medianos y grandes
5, con la capacidad de estructurar, gestionar y coordinar a otras personas. desarrollar conjuntamente un sistema grande
Proceso principal del cliente, proceso principal del servidor, proceso principal del motor, etc.
6, director técnico
Formular la dirección de desarrollo técnico, establecer un equipo técnico, gestión técnica, etc.
En el proceso de avance hacia cada etapa, existe una enorme carga de trabajo y presión de ingeniería. A veces es un fracaso que dura un año, etc. Es una buena idea cambiar de unidad y empezar de nuevo cuando los proyectos de la empresa no tienen éxito, o permanecer en la empresa como un equipo central y continuar comenzando con nuevas oportunidades. Pero la clave es aprender de la experiencia y practicar tanto como sea posible. Y desarrolla en base a tus propias fortalezas. Por supuesto, lo mejor para los productores de juegos es contar con un equipo central. Sé parte del equipo central.
Quienes pueden llegar al tercer nivel del programa ya son talentos indispensables para la empresa. Pero a menudo existen diferencias entre la comprensión que los programadores tienen de sí mismos y la comprensión que la empresa tiene de ellos. He conocido a algunas personas que tienen cerebros fáciles y escriben rápidamente. Están involucradas varias tecnologías. Pero siempre me preocupa dejarle desarrollar y diseñar un determinado sistema de forma independiente. Incluso si es una herramienta relativamente independiente. También estará en mal estado. Pídele a la gente detrás de ti que siga limpiándote el trasero. Pero todavía siento que mi nivel es muy alto. Este tipo de persona es impetuosa, tiene grandes ambiciones y pocas capacidades, y no está dispuesta a hacer nada completo de forma cuidadosa y exhaustiva. Como puede ver, sigue saltando, pero su posición en la nueva empresa no ha mejorado mucho. La empresa concede gran importancia a que un programador pueda completar la tarea de forma completa y cuidadosa. Aunque tarde un poco más, hay que terminarlo. Esto puede tener consecuencias fatales para el proyecto.