Un amigo del trabajo y yo queremos entrar en la escena independiente para el desarrollo del juego. He hecho algunas demostraciones tecnológicas que demuestran diferentes ideas y enfoques para varios problemas. Ahora, siento que es hora de que nos comprometamos con un proyecto para desarrollar una cartera para más adelante en el futuro.
He estado luchando mucho con cómo comenzar un proyecto real, más específicamente para crear un motor o usar un paquete OTS, o usar uno y luego crear uno, o crear uno y luego usar uno ... etc.
¿Qué se ve mejor para los posibles empleadores? ¿Un portafolio más pequeño de juegos que incluye tu motor o uno (posiblemente) más grande que fue construido usando algo OTS?
Soy un programador. No soy artista Realizaré la mayor parte de la programación para este proyecto. Mi amigo también es desarrollador, pero también es experto en herramientas gráficas (por lo tanto, se convierte en el tipo de arte).
En el trabajo, ambos somos desarrolladores de .NET (C #). Lo sé, sé "Bueno, entonces usa XNA", algunos me gritarán. Las demos que he completado hasta ahora han estado en XNA. Pero tengo algunas preocupaciones con la construcción de una cartera XNA. Si bien es bueno abstraer DirectX, me preocupa no crear la base de conocimiento necesaria para extender más allá de XNA fácilmente. El argumento en contra de ese argumento es probablemente "puedes pasar más fácilmente a DirectX después de XNA", pero dado que voy a mover las carreras de Desarrollo de negocios a Desarrollo de juegos, ¿vale la pena enfocarse en XNA actualmente? ¿O los empleadores potenciales se reirán cuando diga XNA?
¿Debo aceptar la experiencia de XNA sabiendo que los conceptos y las lecciones aprendidas se transferirán principalmente? ¿O paso mi recurso más valioso (tiempo) en otro lugar?
Buscando algún consejo de cualquier veterinario de la industria.
Respuestas:
He sido programador en la industria de juegos de consola durante casi catorce años, y a menudo he estado involucrado en decisiones de contratación.
Hablando como uno de esos empleadores potenciales, cuando evalúo a un posible empleado hay tres cosas que busco en una nueva contratación, y las busco en este orden.
Ahora, abordando su pregunta. Todo este tema de "qué tipo de proyecto debería hacer" aborda con mucho el criterio menos importante que me interesa. Me importa mucho más si usted encajará en mi equipo socialmente y qué tan bien podrá aprender cosas nuevas rápidamente, que si me interesó si utilizó XNA o su propio motor de juego en algún proyecto anterior. En general, supongo que voy a tener que capacitarte en nuestro propio motor de juego interno, por lo que tus proyectos anteriores realmente no me importan en absoluto. Eso es, por supuesto, a menos que mágicamente tenga experiencia con una herramienta o tecnología en particular que necesito que alguien conozca. Pero esto es inusual; por lo general, supongo que voy a tener que capacitarte para usar nuestra API.
Todo esto no quiere decir que no quiero que hayas hecho proyectos en casa. Absolutamente lo hago. Pero realmente no me importan cuáles son esos proyectos, o qué tecnologías usaron, porque probablemente no serán relevantes para lo que necesito que hagas por mí, ya que usaremos diferentes bibliotecas o API.
Pero sí quiero que me cuentes sobre tus proyectos. Quiero ver qué tan entusiasta te pones cuando hablas de ellos, porque eso me dice acerca de qué tipo de persona eres (ver punto 1, arriba). Quiero escuchar sobre los problemas con los que se topó y cómo los superó al desarrollar su proyecto (vea el punto 2, arriba). Quiero absolutamente que hayas completado al menos un proyecto: ser capaz de superar el dolor y realmente completar algo dice mucho sobre el tipo de persona que eres, y me dice que eres alguien en quien podré confiar. sobre si ("cuándo") las cosas se ponen difíciles.
Honestamente, ninguna de las opciones es "mejor"; Lo importante es completar algo, cualquier cosa. Cualquier tecnología que aprendas en el camino es la guinda del pastel, pero casi con certeza no es lo que me haría contratarte.
(Sin embargo, con todo lo que dijo .. Me voy espero que seas competentes en C ++. De una forma u otra, que realmente necesita para aprender C ++ con el fin de ser contratado en la industria de los juegos tradicionales. Sus proyectos en el hogar no necesariamente tienen que ser en C ++, pero espero que puedas demostrar fluidez en él.)
fuente
Una cosa que otros aún no han mencionado es que es importante terminar sus proyectos.
Tener una cartera con un montón de cosas sin terminar no es tan impresionante como una cartera con una cosa terminada y bien pulida.
Además, si basa su trabajo en el trabajo existente de otra persona (como un motor de código abierto o recursos de arte disponibles gratuitamente), asegúrese de mencionar en su cartera qué parte es suya.
fuente
Me parece que la respuesta depende del tipo de programación de juegos que quieras hacer.
Si su objetivo es ser un codificador de motor o un codificador de gráficos , se beneficiaría de pasar por debajo del capó y aprender cómo funcionan los motores. Esto no significa que no pueda usar XNA u otro motor, marco, etc. estándar. ¡Conocer las entrañas de un motor de alta calidad es una excelente manera de aprender a construir un motor de alta calidad! Si usted va esta ruta, no lo hace necesariamente siquiera necesita escribir ningún juego reales. Un portafolio de demostraciones gráficas independientes y / o extensiones no triviales a un motor existente (por ejemplo, implementar un nuevo sombreador en un motor o similar) le hará bien. Puedes echar un vistazo a mi cartera de demostraciones gráficas aquí; Hace unos años que está desactualizado, pero esto es básicamente lo que me consiguió un trabajo de programación de gráficos en un estudio de juegos.
Por otro lado, si prefieres ser un programador de juegos , una de las personas que trabajan en la mecánica del juego, los controles, la IA enemiga, etc., entonces tu tiempo no será bien invertido en Direct3D. Por supuesto, es útil tener una comprensión general de alto nivel de cómo funcionan los gráficos, pero en un contexto profesional probablemente no entrarás en contacto directo con gráficos de bajo nivel muy a menudo. En este caso, recomendaría absolutamente usar un motor estándar para que pueda pasar su tiempo construyendo juegos reales.
En resumen, si quieres jugar, usa un motor existente; si quieres hacer motor / gráficos, construye tus propias cosas y / o extiende un motor existente.
fuente
cuando acababa de terminar, mi portafolio apareció en este artículo. parece una buena idea sobre qué hacer y qué no hacer al reunir su cartera
http://leewinder.co.uk/blog/?p=23
fuente
No haga su cartera en función de cómo percibe que es el "estándar". Debes trabajar en proyectos que te interesen . Si te gusta la mecánica del juego, adelante y haz un montón de juegos. Si te gusta crear IA interesante, tal vez haga una demostración para una configuración similar a RTS. Como ejemplo, tengo un interés creciente en la programación de gráficos y en dedicar más tiempo a aprender conceptos de renderizado y aplicarlos en mi motor. (Consecuentemente, mi proyecto de juego se ha puesto temporalmente en el estante).
Cuando trabajas principalmente en cosas que te gustan, realmente resalta el "tú" en la cartera. Por otro lado, tener al menos un juego completo muestra que puedes superar las partes "poco interesantes" de hacer un juego. Es bueno tener cierto grado de flexibilidad para irrumpir en un territorio menos familiar, pero no te esfuerces demasiado. Puede distinguir las buenas carteras por el nivel de entusiasmo e interés puesto en el trabajo, y los proyectos basados en sus áreas de interés naturalmente serán los más refinados. Entonces, sea cual sea su área de interés, eventualmente tendrá que concentrarse en esa área de programación para un trabajo.
fuente