2009-11-01 12 views
5

Estoy interesado en la programación de juegos. Actualmente estoy construyendo un juego de iPhone con Shiva utilizando Lua como lenguaje de scripting. Después de eso, no estoy seguro de qué debería hacer o qué idiomas debería aprender. Mi objetivo es seguir construyendo juegos, pero también quiero construir mi propia consola de juegos. Por supuesto, eso no será por años, pero necesito aprender algo bien programación ahora. Sé que programar juegos vs aplicaciones es totalmente diferente y por eso necesito ayuda. ¿Qué idiomas o cosas me recomiendan para aprender? También quiero poder crear aplicaciones, pero programar aplicaciones y programar juegos es una cosa completamente diferente.Programación de juegos y aplicaciones/OS

+0

¿Qué idiomas conoce actualmente? – Jonathan

+0

Lo básico de C y estoy haciendo algo de Lua. –

Respuesta

2

Después de haber trabajado en la industria desde hace varios años, este es el mejor resumen que puedo encontrar:

http://gamesfromwithin.com/so-you-want-to-be-a-game-programmer

Mi consejo:

aprender C++ dentro y por fuera. Programa en él todos los días. Si ya está configurado para el desarrollo de iPhone, aprenda OpenGL. Tampoco estaría mal aprender Direct3D si tienes acceso a una PC (también echa un vistazo a XNA). Si los gráficos no son lo tuyo, asegúrate de saber cómo funciona la detección de rutas (algoritmo A *) o la detección de colisiones.

Sigue construyendo tus propios proyectos, y encuentra una buena comunidad en línea que pueda apoyarte si tienes preguntas. Los empleadores quieren ver que usted es inteligente, pero lo más importante es que usted es dedicado; la programación de los juegos es muy difícil, no permita que nadie le diga algo diferente.

Puede descargar las herramientas de desarrollo gratuitas para Windows aquí: http://www.microsoft.com/express/download/

la que desea es Visual C++ 2008 Express Edition.

+0

Bueno para aprender OpenGL ¿necesitas saber objetivo c? En mympac tengo Windows XP, ¿está bien programar C++ en? –

+0

Necesita un poco de Objective C si está en el iPhone: puede hacer OpenGL en PC, iPhone o Mac. Puede usar C++ en PC, iPhone o Mac. En iPhone y Mac puedes mezclar C++ y Objective C, lo que hace que las cosas sean confusas para un principiante. Actualicé una respuesta con un enlace a las herramientas de desarrollo de Windows. – Justicle

+0

puedo usar las herramientas de desarrollo de pc en mi mac, tengo Windows XP en mi Mac. ¿¿¿O??? –

2

Tal vez echa un vistazo a algunos de los enlaces de programación de juego aquí: http://lazyfoo.net/SDL_tutorials/index.php

los tutoriales asumen C++ que se utiliza mucho en la programación de juegos por lo que puede valer la pena aprender.

O se puede consultar este tutorial si su interesado en Java http://www.cokeandcode.com/node/6

Adam

+0

Estoy de acuerdo con Adam, C++ es de hecho si quieres hacer juegos serios. – Jonathan

+0

También quiero ser capaz de crear aplicaciones, pero programar aplicaciones y programar juegos es algo completamente diferente. –

1

Deberías echar un vistazo a Unity3D website. Ahora tienen una versión gratuita (llamada Unity) para uso personal y comercial. Puede usar scripts con C# (posiblemente cualquier lenguaje .NET), JavaScript y Boo.

XNA sería una buena opción también.

+0

Actualmente estoy usando Shiva –

+0

Comparado con ShiVa, Unity es el Nirvana. – Stringer

+0

hmmm, bueno, me gusta Shiva porque puedes programar Lua en él. Si tuviera que usar la unidad, no sabría cómo programar en ella. –

6

El primer juego que escribí fue un juego de serpientes escrito en Turbo Pascal. Estaba jugueteando y logré (usando una serie de puntos) una línea que se movía a través de la pantalla. Una vez que hice eso, hice que la línea cambiara de dirección. Lo enganché a las teclas de flecha y me emocioné. Dos horas después recibí un punto de color diferente como 'comida' en la pantalla y era un juego de serpiente. Cada juego que escribí me empujó más y me obligó a aprender cosas nuevas (las ideas tienden a rodar entre sí.)

  • Prueba y sigue los juegos de estilo arcade. Breakout, Pong, Snake, etc. ¡La cantidad de tiempo que le tomará construir Halo no conlleva cálculos!
  • No se preocupe por el idioma que aprenda. Aprenderá muchos a lo largo de los años.En este momento es el momento de preguntar cuál es el más fácil para comenzar a escribir juegos. Si ya tiene los conceptos básicos de C, entonces esa es su respuesta de inmediato.
  • Si no tiene idea de por dónde empezar, comience a hacer animaciones en lugar de juegos. Las ideas vendrán una vez que te acostumbres a tus herramientas.

Escriba un programa que dibuje una carita sonriente en el medio de la pantalla. Cambiar los modos de pantalla y usar grandes motores gráficos puede ser excesivo para esto. Mantenlo simple. Consigue esa cara sonriente para moverte, cambia su color, hazla una cara infeliz, etc. Antes de que te des cuenta, obtendrás un buen impulso.

La pregunta es cómo escribir una carita sonriente en el medio de la pantalla en lugar de solo en la siguiente línea de la consola. En mi primer juego de serpientes, la respuesta fue escribir un montón de personajes en el espacio hasta que llegué a donde quería. La mejor respuesta, aparentemente, es ncurses. Si está en Windows XP, entonces el compilador MingGW es gratuito, puede obtener la biblioteca (no estándar) conio.h. Eso es lo que usé en mi segundo juego de serpientes y te ayudará a empezar muy rápido.

¡Buen viaje!

5

Mire en el modding.

Descubrí que QuakeC (cómo se fabricaron los mods de Quake1) es realmente fácil de usar, y ya tienes una base muy rica de contenido de juegos para usar para que puedas concentrarte en el juego y demás. Me resulta mucho más fácil seguir interesado cuando empiezas con un juego divertido y le agregas tu propio toque, en lugar de comenzar a hacer demostraciones de box en 3D u otros pasos de programación de bajo nivel demasiado simples pero necesarios.

Quake1 es bastante viejo, pero tiene el lado positivo de casi todo lo que se trata de que sea de código abierto y libre de extenderse. Podrías fácilmente comenzar a modificar cualquiera de los juegos más nuevos que hay.

Muchas de las grandes tiendas de juegos de hoy empezaron a hacer mods de Quake o Halflife.

0

Cuando recién comienzas, C, C# y C++ pueden ser un poco complejos para empezar. Si te tomas en serio el desarrollo de juegos, probablemente necesites aprender C++ eventualmente, pero si solo quieres hacer algunas cosas rápidamente, ya estás en el camino correcto con lua.

Javascript es otro lenguaje que es muy similar a lua en muchos sentidos (y muy diferente en otros). Una de las ventajas de javascript es que todos en el mundo tienen javascript instalado en sus computadoras. Otra ventaja es que es muy fácil de aprender. También hay desventajas, pero no son tan malas como la mayoría de los programadores "serios" piensan. Javascript obtiene un mal golpe inmerecido.

Aquí es un muy buen tutorial para aprender javascript: programación http://eloquentjavascript.net/

No cubre los juegos, unfortunately- pero sí los conceptos de cobertura que son relevantes para ambos juegos de programación y programación de aplicaciones.

Aquí es un tutorial para javcascript que hace la programación de juegos cubierta:

http://billmill.org/static/canvastutorial/index.html

se necesita un navegador web con el fin de seguir ese tutorial. Esto no incluye el explorador de Internet, por lo que probablemente desee utilizar Safari, Firefox u Opera.

Una vez que se sienta cómodo haciendo juegos en un lenguaje fácil como javascript o lua, entonces no será tan difícil aprender a hacer juegos en un lenguaje difícil como C o C++.

Por otro lado, puede ser feliz haciendo juegos en el lenguaje fácil, y eso está bien, no hay reglas que digan que tiene que aprender C o C++ para hacer buenos juegos. Los buenos juegos provienen de buenas ideas, programación no difícil.

0

orden de prioridad para un programador de juegos.

Cualquier tema que necesite Pensamiento analítico y Solución lógica de problemas. Conocimiento necesario en los siguientes dominios.

  • Matemáticas
  • Estructuras de Datos
  • de gráficos de ordenador
  • Física
  • Inteligencia Artificial
  • Computer Networks
  • tecnologías web
Cuestiones relacionadas