Red de conocimiento informático - Conocimiento informático - Aprende a programar antes de poder programar juegos""

Aprende a programar antes de poder programar juegos""

Red Alert se puede realizar utilizando el software RPGmaker, o puede aprender del libro Consejos de expertos en programación de juegos de Windows, pero el ejemplo anterior es C/C y el entorno es VC 6.0. VB, como otros juegos, no es tan fácil de usar como el lenguaje Action de Flash. La acción es similar a C# y debería ser fácil comenzar con ella.

Sin embargo, si eres un programador que quiere ingresar a la industria del desarrollo de juegos como yo, es posible que desees aprender C/C, dominio de la programación de juegos de Windows, programación de juegos DirectX, etc.

Los siguientes extractos son de artículos de otras personas:

1. Lenguaje C

Si FORTRAN y COBOL son la primera generación de lenguajes compilados de alto nivel, entonces El lenguaje C es su nieto. El lenguaje C fue propuesto por Dennis Ritchie en los años 1970. Es más potente y mantiene una herencia más continua con ALGOL, que es el nieto de COBOL. ALGOL es el sucesor estructural de COBOL y FORTRAN. c fue diseñado para ser una versión más compacta y simple de su predecesor, adecuada para escribir programas a nivel de sistema, como sistemas operativos. Antes de esto, los sistemas operativos se escribían en lenguaje ensamblador y no eran portátiles.

C fue el primer lenguaje de programación que hizo posible la portabilidad del código a nivel de sistema.

C admite programación estructurada, lo que significa que los programas en C se escriben como una colección de llamadas a funciones discretas (invocaciones) que se ejecutan de arriba hacia abajo, en lugar de como un único código integrado que utiliza declaraciones GOTO para controlar el flujo. pedazo. Por tanto, los programas en lenguaje C son mucho más simples que el "código de polvo hueco" que integra FORTRAN y COBOL. De hecho, el lenguaje C aún conserva la sentencia GOTO, pero su funcionalidad es limitada y sólo se recomienda su uso cuando el programa estructurado es muy complejo.

Precisamente por sus raíces en la programación de sistemas, C es bastante fácil de combinar con el lenguaje ensamblador. La interfaz de llamada a funciones es muy simple y las instrucciones en lenguaje ensamblador se pueden incrustar en el código C, por lo que no es necesario conectar módulos ensambladores separados.

Ventajas: Propicio para escribir programas pequeños y rápidos. Fácil de combinar con lenguaje ensamblador. Existe un alto grado de estandarización por lo que las versiones en otras plataformas son muy similares.

Desventajas: No es fácil admitir tecnología orientada a objetos. La sintaxis es a veces muy difícil de entender y fácil de abusar.

Portabilidad: las llamadas a funciones ANSI y centrales de C son portátiles, pero sólo para el control de procesos, la gestión de memoria y el manejo sencillo de archivos. Todo lo demás depende de la plataforma. Por ejemplo, al desarrollar programas portátiles para Windows y Mac, partes de la interfaz de usuario requieren llamadas a funciones dependientes del sistema. Esto a menudo significa que tienes que escribir el código de la interfaz de usuario dos veces, pero afortunadamente existen bibliotecas que pueden aliviar tu carga de trabajo.

Juegos escritos en C: muchísimos.

Información: El libro clásico sobre el lenguaje C es "El lenguaje de programación C". Este libro ha sido revisado muchas veces y se ha ampliado hasta tres veces su extensión original, pero sigue siendo un excelente libro de introducción. al lenguaje C.

2.C

El lenguaje C hereda las características orientadas a objetos del lenguaje C. La programación orientada a objetos, u OOP, es una versión actualizada de la programación estructurada. Los programas OO se componen de objetos, que son colecciones discretas de datos y funciones. Hay un gran inventario de objetos disponibles, lo que hace que la programación sea tan fácil como apilar algunos "bloques de construcción" del programa (al menos en teoría). Por ejemplo, existen muchas bibliotecas de bases de datos y GUI que se implementan como colecciones de objetos.

C ha sido fuente de debate, especialmente en foros de desarrollo de juegos. Algunas características de C, como las funciones virtuales, añaden un nivel adicional de toma de decisiones a las llamadas a funciones, y los críticos se apresuran a señalar que los programas en C serán más grandes y más lentos que los programas en C con la misma funcionalidad.

Este debate continúa y es poco probable que concluya pronto.

Creo que el gasto adicional de C es un pequeño precio a pagar por un mejor lenguaje. El mismo debate se produjo en los años sesenta, cuando los lenguajes de programación de alto nivel como COBOL y FORTRAN comenzaron a sustituir al lenguaje ensamblador como lenguaje de elección. Los críticos señalan con razón que los programas escritos en lenguajes de alto nivel son inherentemente más lentos que el lenguaje ensamblador escrito a mano. Los defensores de los lenguajes de alto nivel argumentan que esta pequeña penalización en el rendimiento vale la pena porque los programas COBOL y FORTRAN son más fáciles de escribir y mantener.

Ventajas: Mucho mejor que C para organizar programas grandes. Buen soporte para mecanismos orientados a objetos. Las bibliotecas compuestas por estructuras de datos comunes, como listas vinculadas y matrices ampliables, alivian la carga de lidiar con detalles de bajo nivel.

Desventajas: Muy grande y complejo. La mayoría de los compiladores no implementan todo el lenguaje correctamente.

Portabilidad: Mucho mejor que C, pero aún no muy prometedor. Dado que adolece de las mismas deficiencias que el lenguaje C, la mayoría de las bibliotecas de interfaz de usuario portátiles se implementan utilizando objetos C.

Juegos escritos en C: muy, muy malos. La mayoría de los juegos comerciales están escritos en C o C.

Libro de texto: La última versión de "El lenguaje de programación C" es muy buena. Los tutoriales se dividen en dos campos, uno supone que conoces C y el otro supone que no. Con diferencia, el mejor tutorial de C es Who's Afraid of C, y si ya estás familiarizado con C, prueba Teach Yourself C.

3. ¿Debería aprender C o empezar con C?

No me gusta esta afirmación, pero es una continuación de "¿Qué idioma debo usar? Desafortunadamente, ¿hay?" No hay una respuesta estándar. Puedes ahorrar mucho tiempo si aprendes C y escribes programas en él, pero hay dos desventajas al utilizar este enfoque:

Perderás conocimientos orientados a objetos porque puede hacer que el modelado de datos sea más eficiente en tus juegos.

Muchos juegos comerciales importantes (incluidos los de disparos en primera persona) no utilizan C. Sin embargo, los autores de estos programas a menudo se atienen a técnicas de programación orientada a objetos. incluso si lo hacen, es el antiguo formato C. Si solo quieres aprender el lenguaje C, al menos aprende por tu cuenta la tecnología de programación OO (orientada a objetos); OO, sólo puedes "trabajar duro".

4. Lenguaje ensamblador

Obviamente, el lenguaje ensamblador es el primer lenguaje informático que en realidad es la representación en forma de comando de las instrucciones. el procesador de la computadora realmente se ejecuta manejará el nivel bajo del procesador, como los registros y la pila. Si está buscando un idioma similar al inglés y que tenga instrucciones relevantes que se explican por sí mismas, esto no es lo que desea.

Cualquier otro lenguaje servirá. Todo lo que puedas hacer se puede hacer con lenguaje ensamblador, pero no es tan simple; por supuesto, es como decir que puedes conducir a algún lugar o caminar a algún lugar, es solo una cuestión de dificultad. pero la nueva tecnología hace que las cosas sean más fáciles de usar.

En términos generales, el lenguaje ensamblador no se usa en los juegos principalmente con el propósito de mejorar el rendimiento. Por ejemplo, Doom en su conjunto está escrito en C. Estos. Los programas se llaman miles de veces por segundo, por lo que ser lo más conciso posible ayuda a mejorar el rendimiento del juego, y llamar a funciones escritas en lenguaje ensamblador es muy simple, por lo que al mismo tiempo usar dos lenguajes no es un problema.

Nota especial: el nombre del lenguaje es "ensamblador". La herramienta que convierte el lenguaje ensamblador en código de máquina real se llama "ensamblador".

El lenguaje con menores ventajas y más rápido. Los maestros ensambladores pueden escribir programas mucho más rápido que otros lenguajes.

Serás el primero en utilizar las últimas funciones del procesador porque puedes usarlas directamente.

Desventajas: Difícil de aprender, sintaxis oscura, insiste en la eficiencia, genera una gran cantidad de código adicional; no es apto para personas débiles de corazón.

Portabilidad: casi nula. Dado que este lenguaje fue diseñado para un solo procesador, no era portátil en absoluto. Si utiliza extensiones específicas del procesador, su código ni siquiera es portátil a otros procesadores del mismo tipo (por ejemplo, las instrucciones 3DNow de AMD no son portátiles a otros procesadores de la serie Pentium).

Juegos escritos en ensamblador: No conozco ningún juego comercial desarrollado íntegramente en ensamblador. Sin embargo, algunos juegos utilizan el ensamblaje la mayor parte del tiempo para piezas críticas.

Documentación: Si busca documentación para lenguaje ensamblador, principalmente busca documentación en el chip. Intel, AMD, Motorola y otras empresas tienen información sobre sus procesadores en sus sitios web. En cuanto a los libros, vale la pena aprender "Lenguaje ensamblador: paso a paso".

5. Lenguaje Pascal

El lenguaje Pascal fue diseñado por Nicolas Wirth a principios de la década de 1970, porque. Estaba decepcionado de que FORTRAN y COBOL no obligaran a los estudiantes a usar capacitación en programación estructurada. El "código de polvo hueco" se convirtió en la intención de diseño original de Pascal, lo que obligó a los estudiantes a usar programación estructurada. Pascal fue diseñado originalmente estrictamente para la enseñanza, pero finalmente lo hizo. Obtuvo un gran número de seguidores e irrumpió en el mundo de la programación comercial. Cuando Borland lanzó Turbo Pascal en la PC de IBM, el editor integrado, el compilador ultrarrápido y el bajo precio de Pascal lo hicieron grandioso. Fue difícil resistirse y Pascal se convirtió en el lenguaje. de elección para escribir pequeños programas para MS-DOS

Sin embargo, a medida que los compiladores de C se volvieron más rápidos y tenían excelentes editores y depuradores integrados, Pascal se convirtió en el lenguaje de elección. El lenguaje llegó a su fin cuando Windows. se hizo popular en 1990, y Borland abandonó el lenguaje Pascal en favor de C para la programación de Windows; Turbo Pascal fue rápidamente olvidado.

Finalmente, Borland en 1996 lanzó su "asesino de Visual Basic": Delphi, un rápido. Compilador de Pascal con una magnífica interfaz de usuario. Delphi es un compilador de Pascal rápido con una excelente interfaz de usuario. Gracias a sus incansables esfuerzos, Delphi rápidamente se ganó a un gran número de entusiastas.

Básicamente, Pascal es más simple que C. , pero carece de muchas características que lo hagan fácil de usar. Muchos lenguajes C tienen operadores concisos. Esto es tanto bueno como malo, aunque dificulta la escritura de código "inteligente" que sea difícil de entender.

Ventajas: Las operaciones fáciles de aprender y dependientes de la plataforma (Delphi) son excelentes.

Contras: La "tendencia mundial" de los sucesores de Pascal orientados a objetos (Modula, Oberon) no lo ha hecho. todavía tuvo éxito. Respaldado por los desarrolladores del compilador.

Portabilidad: muy pobre. Las capacidades del lenguaje varían de una plataforma a otra y no existe un conjunto de herramientas de portabilidad para manejar las funciones que dependen de la plataforma. >Juegos escritos en Pascal: algunos componentes de Delphi para DirectX amplían aún más el campo de juego

Información: para obtener más información sobre Delphi, visita

6.Visual Basic

Ja, BÁSICO. Fue el primer lenguaje para los programadores allá por la Edad de Piedra de los años 1980.

BASIC en su forma original, aunque fácil de aprender, estaba terriblemente desorganizado y hacía un uso irreflexivo de "código de polvo hueco" lleno de GOTO. No mucha gente puede contener las lágrimas en los ojos cuando recuerdan los números de línea BÁSICOS y los comandos GOSUB.

A principios de la década de 1990, aunque HyperCard no se había vuelto tan gigante como Apple esperaba, todavía era un entorno de programación pequeño y atractivo que no tenía rival en la plataforma Windows, y en Windows, clones de HyperCard como ToolBook. son lentos, torpes y costosos. Para competir con HyperCard, Microsoft obtuvo la licencia de un pequeño entorno de programación llamado Thunder y lo lanzó como Visual Basci 1.0, con una interfaz de usuario novedosa en ese momento. Aunque este lenguaje todavía se llama Básico (ya no con mayúsculas), la estructura es más rigurosa y se han cancelado los números de línea. De hecho, el lenguaje se parecía más a Pascal con verbos de estilo Basic que al antiguo ROM BASIC integrado en TRS-80, Apple II y Atari.

Después de seis lanzamientos, Visual Basic se ha vuelto muy hermoso. Aunque la interfaz de usuario ha cambiado mucho, aún conserva la idea principal de "conectar el código con la interfaz de usuario". Esto lo convierte en un entorno excelente para la creación rápida de prototipos cuando se combina con la compilación justo a tiempo.

Ventajas: Entorno de edición sencillo. La compilación justo a tiempo, fácil de aprender, permite la creación de prototipos simples y rápidos. Toneladas de complementos disponibles. Aunque existen complementos DirectX de terceros, DirectX 7 está listo con soporte para Visual Basic.

Desventajas: el programa es enorme y requiere múltiples bibliotecas de enlaces dinámicos de tiempo de ejecución enormes para ejecutarse. Si bien los programas de tipo formulario y diálogo son fáciles de completar, escribir buenos programas de gráficos es más difícil. Los programas que llaman a la API de Windows son torpes porque las estructuras de datos de VB no se corresponden bien con el lenguaje C. Propiedad.

Portabilidad: Muy pobre. Dado que Visual Basic es un producto de Microsoft, naturalmente sólo puede utilizarlo en plataformas de Microsoft. Es decir, sólo te queda elegir: Windows, Windows o Widnows: Por supuesto, existen herramientas para convertir programas VB a Java.

Juegos escritos en Visual Basic: Hay unos cuantos. Hay muchos malditos juegos recreativos y algunos juegos comerciales escritos en VB.

Información: La página VB de Microsoft tiene información.

7. Java

Java es una "pequeña C" portátil diseñada originalmente por Sun para su uso en programas integrados. La idea de ejecutar un pequeño programa en una página web atrajo a mucha gente y el lenguaje rápidamente saltó a la fama. Resulta que Java no sólo es bueno para incrustar animaciones en páginas web, sino que también es un pequeño lenguaje excelente para la programación completa de software. Su mecanismo de "máquina virtual", recolección de basura y falta de punteros facilitan la implementación de programas confiables que no fallan ni pierden recursos.

Aunque Java no es una secuela oficial de C, toma prestada gran parte de su sintaxis. Abandona muchas de las complejidades de C, lo que da como resultado un lenguaje compacto y fácil de aprender. A diferencia de C, Java impone la programación orientada a objetos, y escribir programas no orientados a objetos en Java es tan difícil como escribir "código en polvo hueco" en Pascal.

Ventajas: El código binario es portátil a otras plataformas. Los programas se pueden ejecutar en páginas web. La biblioteca de clases incluida es muy estándar y extremadamente poderosa. La compatibilidad automática con la recolección de basura evita fugas de recursos en los programas. Hay toneladas de rutinas de código en la web.

Desventajas: utilice una "máquina virtual" para ejecutar código de bytes portátil en lugar de código de máquina nativo, por lo que el programa se ejecutará más lento que un compilador real. Existen muchas técnicas (como los compiladores "justo a tiempo") que aumentan en gran medida la velocidad de Java, pero nunca podrán igualar la velocidad de los programas de código de máquina. Las primeras funciones (como AWT) no se consideraron cuidadosamente y, aunque oficialmente quedaron obsoletas, tuvieron que conservarse por motivos de compatibilidad con versiones anteriores. Cuanto más avanzada es la tecnología, más difícil es manejar funciones de máquina de bajo nivel, por lo que Sun ha tardado en agregar nuevas características "benditas" al lenguaje.

Portabilidad: Mejor, pero aún no donde debería estar. El código subyacente es muy portátil, pero muchas interfaces de usuario y nuevas funciones son inestables en algunas plataformas.

Juegos escritos en Java: Hay una gran cantidad de pequeños applets en Internet, pero sólo unos pocos están disponibles comercialmente. Hay varios juegos comerciales que utilizan Java como lenguaje de programación interno.

Información: La página oficial de Java de Sun proporciona buena información. IBM también tiene una muy buena página de Java. JavaLobby es el mejor lugar para noticias relacionadas con Java.

8. Herramientas de creación

Los lenguajes de programación anteriores cubren la mayoría de los juegos comerciales. Pero hay una excepción, un gran partido que destaca por su ausencia.

"Isla Misteriosa". Así es, el juego comercial más vendido no está escrito en esos idiomas, aunque algunos dicen que el contenido de Myst 99 fue creado usando herramientas de modelado 3D y la lógica de programación subyacente se realizó usando HyperCard.

La mayoría de las herramientas de creación son un poco como Visual Basic, excepto que funcionan en un nivel superior. La mayoría de las herramientas utilizan diagramas de flujo de arrastrar y soltar para simular el control de procesos. Muchas herramientas tienen lenguajes de programación interpretados integrados, pero no son tan poderosos como los lenguajes independientes mencionados anteriormente.

Ventajas: creación rápida de prototipos: si tu juego se ajusta al propósito de la herramienta, es posible que puedas ejecutarlo más rápido que con otros lenguajes. En muchos casos, puedes crear un juego simple que no requiere codificación. Utilizando complementos como Shockware e IconAuthor Player, puede publicar muchos programas generados por herramientas de creación en sus páginas web.

Desventajas: propietario, está a merced del fabricante de la herramienta y no sabe qué funciones se agregarán. Debes considerar si estas herramientas satisfarán tus necesidades de juego, ya que hay muchas cosas que estas herramientas de producción no pueden hacer. Algunas herramientas generan programas muy inflados.

Portabilidad: debido a que las herramientas de creación son propietarias, su portabilidad está ligada a la funcionalidad que brindan. Algunos sistemas (como Director) se pueden crear y ejecutar en múltiples plataformas, algunas herramientas se pueden crear en una plataforma y ejecutarse en múltiples plataformas, y algunas herramientas solo se pueden crear y ejecutar en una plataforma.

Juegos escritos utilizando herramientas de autor: "Mysterious Island" y varios otros juegos de aventuras similares. Todos los juegos de Shockwave están en línea.

Información: Director, HyperCard, SuperCard, IconAuthor, Authorware.

9. Idioma sencillo

★ Soporte completo en chino, no es necesario cruzar el umbral del inglés. ★Programación completamente visual, compatible con el diseño de interfaz de programa WYSIWYG y la codificación de flujo de programa. Ingrese rápidamente oraciones en chino. Proporciona una variedad de métodos de entrada especiales integrados para resolver por completo el problema de la entrada lenta de oraciones en chino. ★El código es documentación. Estandarice y fuerce automáticamente la conversión del formato del código, y se unificará el formato del código fuente de cualquier programa escrito por cualquier persona. La tecnología de guía de parámetros facilita la entrada de parámetros de declaración del programa. No se ha definido ninguna palabra clave de clase. Todas las partes de definición del programa se completan en tablas y los usuarios no necesitan recordar dichas palabras clave ni sus formatos de uso. Formato de comando unificado. El formato de llamada de todas las declaraciones del programa es el mismo. Comprobación automática del formato de sintaxis.

Comprueba y pregunta automáticamente si el formato gramatical de la declaración de entrada es correcto y puede agregar automáticamente varios nombres. Consejos y ayuda durante todo el proceso. Al mover el mouse se muestran inmediatamente los elementos relacionados. El formato de sintaxis se solicita durante la programación y el contenido de la variable actual se solicita durante la depuración. Presione la tecla F1 en cualquier momento para obtener ayuda detallada sobre el tema actual, etc. Gestión automática de nombres. Cuando el usuario modifica la definición de cualquier nombre, todos los demás códigos de programa que contienen ese nombre se corrigen automáticamente. Entorno de desarrollo integrado. Integra diseño de interfaz, escritura de código, análisis de depuración, compilación y empaquetado. Ricos recursos de aprendizaje. Archivos de ayuda detallados, decenas de megabytes de base de conocimientos, foros online con decenas de miles de usuarios, libros de texto publicados...

10. Conclusión

Es posible que desees obtener una versión más estandarizada. conclusión sobre la pregunta "¿Qué idioma debo utilizar?" C es totalmente compatible con la programación orientada a objetos, pero es muy compleja. Visual Basic y Delphi son fáciles de aprender, pero no son portátiles y son propietarios. Las herramientas de escritura permiten escribir programas lo más rápido posible, pero sólo para ciertos tipos de programas. El mejor enfoque es determinar primero qué tipo de juego quieres escribir y luego elegir el idioma que mejor se adapte a tu juego. Afortunadamente, el método de "prueba de 30 días" se ha convertido en un estándar de la industria.