se solo dark basic y me gustaria aprender algunas cosas, aunque me cueste admitirlo no se lo que es un motor grafico ,he oido hablar de programar con direct x ,que es? un lenguaje de programacion o que si alguien me puede dar informacion lo agradeceria
Hola!
Lo primero de todo es que no te cueste admitir que no sabes un motor grafico, porque yo despues de usar DarkBasic, BlitzBasic y 3DGameStudio tampoco lo tenia muy claro :P (y tampoco se si lo tengo claro ahora, asi que si me equivoco que alguno de los expertos en materia me corrijan ;) ). Un motor grafico es un conjunto de funciones que se encargan de dibujar figuras 3D/2D y aplicar efectos y otras tecnicas como por ejemplo dibujar solo los objetos que aparecen en pantalla (para esto hay varios metodos). DirectX no es un motor grafico, sino un conjunto de API's (Application Programming Interface, si no me equivoco :) ) como son DirectGraphics (desde la version 8.0 de DirectX, una fusion de lo que eran antes DirectDraw y Direct3D, o mejor dicho solo Direct3D :P ), DirectShow, DirectMusic, DirectSound, DirectPlay, DirectInput... y no se si me dejo alguno mas. Estas API's lo que hacen es facilitarnos el trabajo de "hablar" con la tarjeta grafica (en el caso de DirectGraphics), con la tarjeta de sonido (en el caso de DirectSound y DirectMusic), etc. sin necesidad de tener que crear un codigo distinto para cada tarjeta grafica o de sonido (que era lo que ocurria cuando se programaba en MS-Dos).
Como alternativa a DirectX tienes, por ejemplo, OpenGL, aunque esta API solo trata el dibujo 3D (es decir, lo que seria DirectGraphics, antes Direct3D). Luego esta SDL, Allegro (para 2D), OpenAl (que no se lo que es xD).
Bueno, pues me he enrollado bastante xD (espero por lo menos no haberme equivocado mucho jejeje), no te hago leer mas (que si quieres aprender DirectX tendras que reservar tu vista para leer muuuuuuuuucho).
Un saludo!!
Me gustaria aclarar una cosa. Realmente solo exisen 2 APIS de bajo nivel: Direct3D y OpenGL, que son los unicos que aceleran las tarjetas graficas. Cualquier otro API (salvando mi bienamado Glide), o bien no es acelerado por hardware , o bien usa a bajo nivel uno de los anteriores citados.
Lo primero que debes hacer es aprender a programar en C++, ya que es el lenguaje para videojuegos por excelencia. Necesitarás un compilador para crear tus programas en C++. Para empezar, puedes utilizar Dev C++, un entorno de desarrollo gratuito.
Un motor(gráfico) no se encarga sólo de dibujar. Es el conjunto de librerias, herramientas, etc, que te sirven de base para desarrollar un juego. P.ej., El Jedi Knight 2 y el RTC Wolfenstein usan el motor de Quake 3. Esto significa que han tomado como base todas las librerías y herramientas usadas en Quake 3.
En cierto modo DarkBasic, etc, puede ser considerado un motor 3d que utiliza su propio lenguaje de programación. Normalmente la mayoria de motores comerciales y gratuitos están ideados para ser usados desde C++.
DirectX, y OpenGL son dos API's como bien se dice en el post anterior. Normalmente son usadas directamente por el motor3d, así que no hace falta que las conozcas. En cambio, cuando se quiere hacer un juego pequeño o muy simple, puede valer la pena prescindir de un motor y crearte tu uno desde cero. Entonces deberás aprender DirectX u OpenGL.
gracias a todos por aclararme
en que consiste y para que sirve el SDK?
El DirectX SDK, es un paquete para desarrollar aplicaciones que utilicen DirectX. Los SDK(Software Developer Kit) son el conjunto de ficheros, herramientas, documentación, ejemplos, etc. necesarios para utilizar una libreria(en esta caso, DirectX).
Aunque me parece que aun es pronto para que bajes el SDK...deberias dominar C++ bastante bien y estar familiarizado con alguna otra libreria externa(vease Allegro, SDL) antes de meterte con DirectX/OpenGL.
Suerte!!
Para saber q es un engine, asi a grandes rasgos, lo tienes muy facil: Coge un juego y quitale la parte del juego, ahi tienes el engine ;)
El engine seria la capa de un juego que no sabe el juego para el q va a servir. Si haces un engine para un FPS (first person shooter; quake, hl, etc...) pues tendra las especificaciones del juego pero no sus detalles. Es decir, haras funciones y clases para hacer bumpmapping pero no haras una clase para aplicar bumpmaping a un brazo.
En definitiva es eso xD Quitarle las partes especificas a un juego te da su engine. Si le quitas la parte d la fisica q actua sobre gordon freeman lo que queda es la parte d la fisica del engine y asi sucesivamente.
Ya esta, es el esqueleto d un juego.
Aunq tambien existen engines genericos, muy robustos, q valen para muchos tipos de juegos, los cuales no me molan.
he estado aprendiendo un poco de c basico condicionales,variables,funciones,nada concreto O_O :blink: he oido algo sobre programacion orientada a objetos ¿es necesaria?
conoceis algun motor gratis ?que me ayude a aprender?
En este
hilo del foro encontrarás referencias a motores gratuitos.
Sobre la programación orientada a objetos, creo que es fundamental conocerla hoy en día. Busca algun tutorial en Google.
Yo soy de la idea de q no existe otra programacion q la orientada a objetos.
Cita de: "ethernet"Yo soy de la idea de q no existe otra programacion q la orientada a objetos.
Jo que heavy ethernet 8| Pues yo sigo programando en windows de forma lineal, tal como lo hacia en ms-dos. Solo utilizo unas pocas clases en las que incluyo todo...
un saludo