Pregunta

Me gustaría saber ¿Cómo crear un juego fps con SDL lib?

¿Hay algún libro que explique con ejemplos?

¿Fue útil?

Solución

esto gana para la mayoría de las preguntas abiertas. Literalmente podrías escribir un libro. Pero vamos a conformarnos con apuntar en la dirección correcta ...

Paso uno, necesitará buenas habilidades de depuración para un proyecto como este. Código de recogida completo por Steve McConnell. Lee todo el asunto. El tiempo invertido se amortizará más que cualquier otra cosa con la que pueda leer / experimentar.

Consigue un código fuente de algún juego. Cualquier juego. Asegúrate de ver algo simple antes de ver algo grande y complejo, y ten en cuenta que cuando mires cualquier código de juego, es posible que un equipo combinado haya puesto MUCHO más tiempo del que nunca tendrás. El punto en esto es ver la estructura del código.

Obtenga una referencia para las matemáticas en 3D, no tiene que ser ESO en profundidad, pero necesitará saber cosas como productos de punto hacia atrás y hacia adelante, poder descubrir cómo crear la matriz para su cámara en el mundo etc. (incluso si está escribiendo 0% del código de representación)

(editar) Aquí hay un gran libro sobre matemáticas 3D Matemáticas para programación de juegos en 3D y gráficos por computadora, segunda edición (Serie de desarrollo de juegos) Este no es el tipo de aprendizaje que aprendes en la universidad, es más como un cruce entre trigonometría y conceptos prácticos más avanzados: cómo crear una caja de herramientas para ti de física simple, detección eficiente de colisiones, etc.

Necesitará saber algo sobre renderizado y tuberías. SDL te da una ventaja, pero asegúrate de comprender los conceptos de lo que está haciendo.

Lea sobre el diseño práctico del sistema. Sus diversos sistemas tendrán que enclavarse. Piénsalo bien. Su sistema puede ser simplemente bueno en C o en C ++, es el PENSAMIENTO que se pone en cómo fluirán sus datos / control lo que contará, NO cuán perfectamente emule patrones de diseño (aunque estos son muy útiles también en general)

Fundamentos de IA, no "reales" AI, pero IA funcional; Existe una gran diferencia. Las máquinas de estado son geniales para comenzar, y suficientes para un FPS simple.

Aprenda un poco sobre estimación y planificación. No tendrá tiempo para hacer todo lo que le gustaría hacer para crear un FPS correctamente. Tendrá que clasificar y aprender a clasificar; son 2 cosas separadas, siendo esta última muy difícil. La experiencia es el mejor maestro aquí de grosero. (aunque el legendario McConnell también tiene un libro sobre esto)

Tenga un sistema para insertar su juego en su nivel. Si es SOLO usted como programador, su mejor opción es escribir un complemento para un programa de edición ya existente como 3DS Max. Recomiendo encarecidamente a Max sobre Maya para un programador. El script maya es agradable, pero está más orientado a los no programadores inteligentes. Encuentro que 3DS Max piensa más en la línea de cómo un programador pensaría en crear y editar su mundo.

Puede pasar AÑOS haciendo herramientas que le permitan hacer esto bien, por lo que desea hacer las cosas de tal manera que pueda editar de forma rápida y precisa Si está haciendo su propio editor, incorpórelo a su mundo de juego. Si su mundo no es REALMENTE 3D y desea acelerar muchos niveles, puede guardar sus datos de nivel de esta manera, lo que le ahorrará mucho tiempo Donde X es una pared, las otras letras son objetos del juego que un simple analizador puede traducir en objetos del juego y coordenadas mundiales

 xxxxxxxxxxxxxxxxxxxxxxxx
 xx..........P..........x
 xxxxxxx...........I....x
 xR....xxx...........E..x
 xx.................0xxxx
 xxxxxxxxxxxxxxxxxxxxxxxx

Pero todo depende de tu juego. Mi punto es que tendrá que recurrir a la "codificación de ghetto". la forma en que ingresas los datos de tu juego en tu mundo es muy importante y debes pensar en algo que sea rápido de implementar y rápido de trabajar.

¿Y a qué se reduce es cuál es su objetivo aquí? Si es para aprender a codificar algo de la manera correcta, espere pasar la mayor parte de su tiempo iterando en un código que parecía decente hace un mes, pero ahora que usted

Otros consejos

Descargue las fuentes del terremoto 3 en fileshack y aprenda de ellas.

Aunque la publicación muy larga es valiosa a largo plazo, creo que no brinda la motivación instantánea adecuada para que las cosas aparezcan en la pantalla. Aquí hay algunos hechos, junto con mi opinión

-SDL es una biblioteca de gráficos 2D, no puede escribir un FPS en 2D, por lo tanto, debe ir con una biblioteca 3D, ya sea DirectX o openGL

-SDL tiene la capacidad de sincronizar " con OpenGL, usándolo para gráficos, pero no hay mucha ayuda en línea para ese tema

Te sugiero que vayas a Lazyfoo.net, que es un recurso para principiantes absolutamente increíble para la programación de juegos con SDL, te muestra cómo dibujar en la pantalla, pero también te enseña cómo aplicar esto a la programación de juegos. Después de pasar por esto, podrás hacer un clon de tetris, o la mayoría de los otros juegos de tipo 2D

Después de esto, estará listo para 3D (es mucho más complejo, requiere una mejor comprensión de las matemáticas y requiere mucho más código para hacer cosas más simples) si utiliza openGL, consulte los Tutoriales de NeHe, actualmente está trabajando en un nuevo conjunto, usando SDL con openGL, porque los tutoriales más antiguos, aunque son valiosos, están codificados bastante mal y usan la API de Windows (win32)

ten en cuenta que el desarrollo de juegos es una de las programaciones más exigentes y gratificantes que encontrarás, así que buena suerte

Aunque no es específico de SDL, los NeHe son tutoriales OpenGL excelentes para comenzar a aprender cómo hacer 3D.

Si este es tu primer juego, probablemente quieras apuntar más bajo que un FPS. Escribir un simple juego de Tetris en 2D usando SDL te enseñará todo lo que necesitas saber sobre esa biblioteca.

Prácticamente cualquier cosa que diga en el Title the " Tricks of the Game Programming Gurus " te mostrará cómo hacer un juego de FPS. LeMothe los ama.

Editar: olvidé esos títulos.

Hace un tiempo encontré este sitio, cuando jugaba con SDL , usted Encontrará programas de muestra que puede descargar aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top