Recientemente escuché a un instructor mencionar que desarrollar juegos era la mejor manera de aprender programación. Además del hecho de que todo tenía que ser creado en código, dijo que realmente puedes experimentar e implementar OOP en tus programas. En otras palabras, todo lo que haces en un juego es un objeto literal, tanto en términos técnicos como conceptuales. ¿Es seguro hacer esta suposición? ¿O siempre hay excepciones al aprender programación?
tenga en cuenta que se orientó hacia el desarrollo .net / xna / c #.
learning
object-oriented
Eduardo
fuente
fuente
Respuestas:
El desarrollo del juego es uno de los desarrollos más desafiantes que hay, en mi opinión. Veamos todos los conceptos que una persona que crea un tirador en primera persona necesita saber:
Verás, un juego puede cubrir muchas áreas simultáneamente. Esto lo convierte en una excelente herramienta de aprendizaje si está dispuesto a pasar el tiempo y hacerlo bueno.
En cuanto a la POO, ese es un patrón que funciona bien. Puedes usar un juego como herramienta de aprendizaje para practicar buenas técnicas de diseño.
Sin embargo, para responder a su pregunta, no es la única forma de aprender programación. Una vez que te conviertas en un desarrollador intermedio, crear un juego te permitirá tocar muchos conceptos y niveles de programación. Además, ¡es divertido!
fuente
No es tautológico, pero la programación es la mejor manera de aprender programación. Si estás interesado en los juegos de computadora, entonces programar juegos puede ser una excelente manera de aprender programación.
No me interesan los juegos, pero me encantan las matemáticas, gran parte de mis proyectos de aprendizaje fueron de naturaleza muy matemática.
La conclusión es que debes encontrar formas de resolver problemas con el código, y los juegos funcionan para muchas personas.
fuente
Es una forma de aprender programación, entre otras formas. Cuando escribes código, aprendes cosas. Ahora, es el mejor manera? No tan seguro.
Al menos, las dos razones dadas por su maestro no son válidas .
"todo lo que tuvo que ser creada en código" : cuando se escribe una aplicación de negocios, que en realidad se está escribiendo el código. No será escrito por magia. Sí, hay ayudantes que le permiten usar código generado automáticamente. No, no es obligatorio usarlos. Por cierto, las partes autogeneradas son generalmente la programación más molesta (no es agregando controles al control de Windows Forms que aprenderá algo emocionante y útil).
"realmente puedes experimentar e implementar completamente la OOP en tus programas" : alguien tiene que explicarme por qué esto es válido solo para juegos, pero inválido para cualquier otra cosa. Si comprende OOP y desea usarlo, también puede usarlo en aplicaciones comerciales. Si no lo obtienes o no quieres usarlo (y prefieres usar programación funcional, por ejemplo), el desarrollo de juegos no te obligará a cambiar.
Pero:
Desarrollar juegos puede ser divertido . A la mayoría de los jóvenes les gustan los juegos, por lo que disfrutarían desarrollando un juego en lugar de escribir una aplicación de negocios, lo que será extremadamente aburrido para la mayoría de ellos. Al ver esto, los maestros pueden comenzar a creer que en realidad los juegos son la mejor manera de aprender programación, y luego tratarán de encontrar una explicación lógica para eso.
Dicho esto, esos maestros terminan haciendo que el desarrollo de juegos sea tan aburrido para los jóvenes como el desarrollo de aplicaciones de negocios. Si creen que los juegos deben hacerse para aprender POO, etc., entonces les pedirán a sus estudiantes que realicen todo tipo de proyectos que no son nada agradables. Este fue uno de los mayores errores de mis maestros cuando estaba en la universidad. Muy a menudo nos dieron proyectos de juegos para escribir en Ada en modo consola. Sin gráficos No es divertido. Sin experiencia de usuario. En toda mi vida y mi carrera, nunca vi proyectos tan aburridos como ese.
fuente
BadGuy
,Weapon
,PowerUp
, y otros elementos de un juego puede ser fácilmente un objeto. Puedes programar interacciones entre los objetos y verlos en la pantalla. Creo que la parte visual es lo que lo hace tan atractivo. Las aplicaciones de negocios que tienen jerarquías de tipos deServerTaskScheduler
,AbstractDataProcessor
,UserQueryAgent
, etc ... no son tan emocionante , a pesar de que pueden enseñar a los mismos conceptos de POO como en los juegos.Customer
oProduct
oTransaction
pueden ser objetos. Pero entiendo que es mucho más agradable tratar conBadGuy
s que con s aburridosTransaction
.Transaction
implica.La programación de juegos es la mejor manera de aprender la programación de juegos. Si quiere aprender desarrollo web, hágalo, si quiere aprender programación de sistemas, hágalo y así sucesivamente.
La programación de juegos es desafiante, y lo más probable es que te enseñe muchas cosas (Michael notó muchas en su respuesta, y muchas de ellas son muy desafiantes y también se pueden usar fuera de los juegos). Crear un RPG o un magnate (o un juego similar) te enseñará mucho sobre el diseño de OOP porque se prestan muy bien a ese paradigma. También podrá aprender mucho sobre consideraciones de rendimiento, algunas matemáticas extremas para juegos, etc., dependiendo de la complejidad de sus gráficos y física.
Es una buena forma y la mejor manera de aprender algunas cosas, pero no es una forma superior de aprender programación. No importa cuántos juegos haya programado, es probable que no tenga idea de cómo crear un sistema operativo. Creo que la mayoría de los desarrolladores podrían ganar algo desarrollando un juego, incluso si no lo hacen como su principal disciplina de programación, siempre que tengan tiempo.
fuente
Pregunta: ¿Cuál es el mejor método para aprender a programar?
Responder: El método que realmente haces
Es decir, cuando aprendes o haces algo, no importa tanto el método que elijas, es un método con el que realmente pasas.
Si jugar es algo que te parece realmente divertido, anímate. Si encuentra que resolver problemas matemáticos es más satisfactorio, comience con eso. Hay muchos tipos diferentes de programación y cada uno requiere diferentes habilidades, por lo que una buena apuesta es comenzar con el que le parezca más interesante, probablemente con el que estará trabajando.
... Pero sí, los juegos son una buena manera de aprender una gama bastante amplia de programación, ya que incorpora matemáticas, concurrencia, algoritmos, oop, gráficos, etc.
fuente
Si te gustan los juegos, escribir juegos sería una buena manera de entrar en el desarrollo, pero no diría que fue la mejor manera. Creo que lo mejor manera es un curso de CS seguido de un trabajo con una empresa de software que invertirá en capacitación y tutoría del personal junior.
Además de esa respuesta ciertamente bastante pomposa, sí, creo que el desarrollo de juegos te enseñará muchas buenas habilidades, y si disfrutas de los juegos de computadora te mantendrá interesado en el proceso de desarrollo. Tiene que ser más interesante que muchas otras aplicaciones simples que ves en los libros.
fuente
Diría que la mejor manera de aprender a codificar es hacerlo divertido para usted. No tiene que ser un juego real, sino algún tipo de juego para ti. Para mí, es un juego para resolver algunos problemas matemáticos desarrollando algoritmos de una manera que pueda resolver un problema complejo de la manera más rápida posible. Ponerme a prueba me convierto en un mejor programador en cada intento de resolver un problema. Cuanto más difícil sea el problema, mejor.
En cuanto a aprender a codificar (mejores prácticas), diría que tendrías que enfrentarte a desafíos más grandes. Desafíos que requieren mucho más que una sola entrada / salida
fuente
Nunca he oído hablar de afirmaciones de que jugar Halflife o Call of Duty te enseña habilidades de programación.
Programarlos podría, pero programar algo así no es algo que un principiante deba intentar un poco. Y especialmente los principiantes a menudo tienen la impresión de que pueden crear el próximo éxito de taquilla con sus conocimientos de programación inexistentes. Dígales que primero intenten hacer un clon de PacMan o Tetris y gritan que eso no es lo que quieren hacer y que deberían 'darme zuh koduz'.
fuente
No, realmente no. No hay un mejor tipo de proyecto para aprender a programar. El mejor tipo de proyecto es uno que sea relevante para sus intereses.
Por ejemplo, intenté aprender a programar de dos formas diferentes, incluido aprender a programar juegos. Simplemente nunca pareció pegarse.
Entonces, ¿cuándo necesitaba aprender a programar para lo que estaba haciendo en mi investigación? En este momento me siento lo suficientemente cómodo como para decir que sé 2 idiomas y estoy trabajando en un tercero. ¿Por qué? Porque era relevante para mis intereses. Tenía una razón para seguir, una razón para aprender y más problemas para intentar que simplemente "Ejercicio 8" en el libro.
Esto, por cierto, no significa que la programación de modelos epidémicos sea la mejor manera de aprender programación. Pero fue la mejor manera para mí. Encuentra el tuyo. Pueden ser juegos, pero puede que no.
fuente
En mi propia experiencia, al escribir un juego (suponiendo que lo esté haciendo en su propio / pequeño equipo de desarrolladores), se ve obligado no solo a pensar en la parte algorítmica / analítica de la programación sino también en la experiencia y el diseño del usuario.
Además de eso, si es un juego razonablemente complejo, estarás trabajando en esto durante un par de meses y te darás cuenta de la importancia de documentar todo lo que haces, lo que más tarde te hará un mejor miembro de un equipo.
fuente
Creo que este es un excelente artículo que da una idea del desarrollo del juego.
Habla sobre algunas áreas básicas para enfocarse
fuente
Estoy de acuerdo, excepto ...
Es probable que la primera experiencia de programación que muchos hayan tenido fue construir y programar un robot Lego (Mindstorms).
Si bien el término general "juego" puede definir una categoría tan grande como para abarcar casi toda la programación, cuando se usa en el contexto del póster original siempre parece significar "escribir juegos de estilo Doom".
Como se dijo anteriormente, la mejor manera de aprender a programar es tener algo que realmente desee que requiera un programa. Es decir, aprenda programación escribiendo el programa que desee.
Uno de mis primeros programas de Windows fue un programa controlador MIDI, porque realmente quería un programa controlador MIDI, y Windows parecía el ajuste perfecto (controles deslizantes, botones, soporte SDK para MIDI, etc.). Aprendí mucho sobre la programación de Windows (esto fue en los días de Win 3.1) de ese programa.
Nunca he sido parcial a la programación de juegos por las razones mencionadas aquí también: no dibujo muy bien, por lo que cualquier juego que haga tendrá gráficos más pobres que los de un artista. Quiero aprender a programar, no a administrar un "equipo de construcción de juegos" (ejercicio loable pero totalmente diferente).
Al final estoy bastante en desacuerdo con la declaración del profesor. La mejor manera de aprender programación es escribir el programa que realmente quieres.
-R
fuente