Crea tus videojuegos 3D

Cualquier otro tipo de Videojuegos (terror, aventura, acción, carrreras, deportes...) tiene cabida aquí =).

¿Cual pre fieres 1ra o 3ra persona?

La encuesta terminó el Sab Mar 06, 2010 2:12 pm

1ra
0
No hay votos
3ra
4
67%
Las dos
1
17%
Ninguna
1
17%
 
Votos totales : 6

Crea tus videojuegos 3D

Notapor Letzga » Sab Feb 27, 2010 2:12 pm

Pues eso quie quiera crear videojuegos 3D como los que jugais hoy en qualquier consola pedid para aprender. :happy:

P.D:Creo que esta vez he puesto el tema en el lugar adecuado :huevo:


1º- Introducción al tutorial de 'Entidad 3D'


Este es un tutorial sobre el funcionamiento de 'Entidad 3D'. Programa que nos permitirá hacer realidad nuestro juego como tal. En realidad este programa, cuyo ejecutable es 'entidad3d.exe' ya es nuestro juego, sólo que tendremos que pasarle una serie de parámetros para indicarle el escenario a cargar, y dentro de este escenario especificaremos el resto de elementos que formarán nuestro juego, como personajes, objetos y desarrollo del mismo.

En este tutorial no se incluye ninguna información referente a como diseñar objetos o personajes 3D, texturas, sonidos o músicas. 'Entidad 3D' no hace eso (para eso ya hay herramientas específicas), 'Entidad 3D' es sólo una herramienta más de todo el proceso de desarrollo de un juego y es la que gestionará todos los recursos gráficos y sonoros para formar un juego, es básicamente el programa del juego ... así que eso que te ahorrarás de programar.
Si no quieres o no sabes crear objetos 3D, gráficos o sonidos, entonces tendrás que utilizar todo lo que encuentres por Internet o lo que te pueda servir de esta distribución de 'Entidad 3D', por lo demás con 'Entidad 3D' ya tienes todo lo necesario para poder crear un juego 3D con desarrollo y distribuible en un solo fichero de forma independiente.

Es imprescindible antes de comenzar este tutorial que te hayas leído previamente el tutorial de 'World Editor' para entender muchos conceptos de este tutorial, ya que básicamente seguiremos utilizando 'World Editor' pero con las nuevas entidades particulares de 'Entidad 3D' para desarrollar toda la interactividad de nuestro juego.

Es recomendable que comiences con los pasos numerados de la sección 'Pasos del tutorial' y en ese orden, ya que se trata de un proceso de aprendizaje progresivo.
Última edición por Letzga el Mié Mar 03, 2010 9:30 pm, editado 1 vez en total
Letzga
Baneado
Baneado
 
Mensajes: 35
Registrado: Sab Oct 17, 2009 11:50 pm
Dinero: 14,500.00
Banco: 15,438.28
Ubicación: por allí...
Karma: 0

Re: Crea tus videojuegos 3D

Notapor Habimaru » Sab Feb 27, 2010 2:23 pm

Sigues sin exponer el sentido del post. ¿Qué pretendes?

Si este hilo es un hilo para enseñar a crear juegos en 3d, podrías al menos poner los fundamenos en el post principal.
Nope
Avatar de Usuario
Habimaru
Miembro del Hall de la Fama
Miembro del Hall de la Fama
 
Mensajes: 1591
Registrado: Lun Ene 25, 2010 10:26 pm
Dinero: 43,567.95
Banco: 649,295.15
Ubicación: Internado en la ETSIIT
Sexo: Moriré solo y virgen
Estantería de objetos
Karma: 1

Re: Crea tus videojuegos 3D

Notapor Letzga » Sab Feb 27, 2010 2:27 pm

Como?

2º- Nombres de ficheros


Con la finalidad de que puedan coexistir varios juegos distintos al mismo tiempo en Entidad 3D, pero utilizando las mismas carpetas, se ha establecido una serie de nombres de ficheros para que Entidad 3D los cargue en función del nivel que se está jugando, de esta forma podremos diferenciar diversos ficheros de audio, imágenes y personajes para cada juego o nivel en concreto.

Por este motivo es importante que establezcas los nombres de ficheros que se indican en este manual para que Entidad 3D sea capaz de encontrarlos y establecerlos para el juego o nivel correspondiente.

Por ejemplo: Tenemos un juego que consta de tres niveles que se cargarán por este orden a medida que el jugador avance en su desarrollo:

puente.bsp
carretera.bsp
escape.bsp

Cuando este manual se refiera a ficheros que afectan a todo el juego, te indicará que pongas delante del fichero el nombre del primer nivel de tu juego. Se indicará de esta forma:

PrimerNivel_intro.mp3

Con lo que para nuestro ejemplo el nombre real del fichero tendría que ser:

puente_intro.mp3

Y cuando se refiera a crear ficheros particulares para cada nivel, lo encontrarás indicado de esta forma:

Nivel_portada.bmp

Con lo que por ejemplo para el nivel 'carretera' el nombre real sería :

carretera_portada.bmp

De todas formas si creas los niveles sin estos nombres particulares, Entidad 3D utilizará unos ficheros por defecto o simplemente si no los encuentra no los utilizará, el caso es que el programa no producirá ningún error y podrás probar tu nivel sin problemas.


Tabla de ejemplo:
Para que tengas una visión general de este sistema de ficheros, a continuación se muestra una tabla de los ficheros que existirían para el juego del ejemplo anterior que recordemos consta de tres niveles llamados 'puente' 'carretera' y 'escape':

Tipo de fichero Nombre de fichero Función del fichero General /
Particular
puente_intro1.bmp Primera imagen de la introducción del juego
puente_intro2.bmp Segunda imagen de la introducción del juego
puente_intro3.bmp Tercera imagen de la introducción del juego
puente_intro.mp3 Fondo musical para la introducción del juego
puente_final.mp3 Música de final de partida
puente_player1.act Personaje protagonista inicial
puente_player2.act Personaje protagonista alternativo
puente_enemigo1.act Personaje enemigo número 1
puente_enemigo2.act Personaje enemigo número 2
puente_enemigo3.act Personaje enemigo número 3
puente_enemigo4.act Personaje enemigo número 4
puente_enemigo5.act Personaje enemigo número 5
puente_enemigo6.act Personaje enemigo número 6
puente_enemigo7.act Personaje enemigo número 7
puente_enemigo8.act Personaje enemigo número 8
puente_creditos.bmp Títulos de crédito del juego
puente_hud_graficos.bmp Gráfico 2D fin de partida y punto de mira
puente_graficos_superpuestos.bmp Gráficos 2D superpuestos
puente_objetos_distintos.bmp Iconos 2D de objetos
puente_final_juego.bmp Imagen de final de juego
puente.bsp Primer nivel del juego
puente_portada.bmp Imagen inicial justo antes de cargar el nivel 'puente'
puente_cargando.bmp Imagen mientras se está cargando el nivel 'puente'
puente_fondo.mod Fondo musical mientras se juega al nivel 'puente'
carretera.bsp Segundo nivel del juego
carretera_portada.bmp Imagen inicial justo antes de cargar el nivel 'carretera'
carretera_cargando.bmp Imagen mientras se está cargando el nivel 'carretera'
carretera_fondo.s3m Fondo musical mientras se juega al nivel 'carretera'
escape.bsp Tercer nivel del juego
escape_portada.bmp Imagen inicial justo antes de cargar el nivel 'escape'
escape_cargando.bmp Imagen mientras se está cargando el nivel 'escape'
escape_fondo.wav Fondo musical mientras se juega al nivel 'escape'

Indica que es un fichero de imagen. Sólo se permiten en formato .BMP

Indica que es un fichero de sonido en cualquiera de los siguientes formatos: mp3, wav, mod, s3m, xm, it, mtm, mo3, mp1, mp2, ogg

Indica que es un fichero de personaje en formato .ACT

Indica que es un fichero de nivel en formato .BSP de World Editor

Indica que es un fichero genérico para todo el juego

Indica que es un fichero particular para un nivel en concreto


# Los ficheros .BMP tienen que estar en la carpeta 'bmp' del entorno de desarrollo de EntidaD 3D, por defecto en 'C:\entidad_3d\bmp\', menos el fichero 'PrimerNivel_creditos.bmp' que ha de estar en 'C:\entidad_3d\menu\bmp\'.

# Los ficheros de sonido tienen que estar en la carpeta 'wav' del entorno de desarrollo de EntidaD 3D, por defecto en 'C:\entidad_3d\wav\'.

# Los ficheros .ACT tienen que estar en la carpeta 'actors' del entorno de desarrollo de EntidaD 3D, por defecto en 'C:\entidad_3d\actors\'.
Última edición por Letzga el Mié Mar 03, 2010 9:33 pm, editado 1 vez en total
Letzga
Baneado
Baneado
 
Mensajes: 35
Registrado: Sab Oct 17, 2009 11:50 pm
Dinero: 14,500.00
Banco: 15,438.28
Ubicación: por allí...
Karma: 0

Re: Crea tus videojuegos 3D

Notapor RedXIII » Sab Feb 27, 2010 2:32 pm

Loque pretende es crear un juego 3D y quiere saber si lo preferimos en 1ª persona o en 3ª persona para crearlo con esos parametros, lo que pasa es que no escribe nada mas sobre el proyecto por que solo le interesara eso o por que no se entera muy bien de como va ¿Me equivoco?
Imagen

Awards chupis:

Spoiler: Mostrar
Imagen
Imagen


No hagas click aquí, despertarás a la conejita.

Spoiler: Mostrar
Oh, no, hiciste, click, has despertado a la conejita.

Imagen


-Hollow is in the web, all's right with the foro-
Avatar de Usuario
RedXIII
Moderador
Moderador
AnimeDesign
 
Mensajes: 4142
Registrado: Jue Abr 24, 2008 7:53 pm
Dinero: 1,304,727.66
Banco: 2,218,933.14
Ubicación: En la isla puntería.
Sexo: Masculino
Clan: AnimeDesign
Tumblr: Se han matado ellos solos
Youtube: No subo nada
Instagram: Ni lo miro
Estantería de objetos
Karma: 41

Re: Crea tus videojuegos 3D

Notapor Habimaru » Sab Feb 27, 2010 2:34 pm

RedXIII escribió:Loque pretende es crear un juego 3D y quiere saber si lo preferimos en 1ª persona o en 3ª persona para crearlo con esos parametros, lo que pasa es que no escribe nada mas sobre el proyecto por que solo le interesara eso o por que no se entera muy bien de como va ¿Me equivoco?


Lo que pretendo es que exponga mejor el sentido de sus posts y los documente más, que, realmente, me ha dejado :ein: leer eso así.
Nope
Avatar de Usuario
Habimaru
Miembro del Hall de la Fama
Miembro del Hall de la Fama
 
Mensajes: 1591
Registrado: Lun Ene 25, 2010 10:26 pm
Dinero: 43,567.95
Banco: 649,295.15
Ubicación: Internado en la ETSIIT
Sexo: Moriré solo y virgen
Estantería de objetos
Karma: 1

Re: Crea tus videojuegos 3D

Notapor Letzga » Sab Feb 27, 2010 2:35 pm

Vas por buen lugar todo que tenia dudas para meter ese tema.Bien no se si podre poner el programa para bajar-lo sino pondre un enlace para que os lo bajeis vosotros.

3º- Ficheros 3D .act:

Voy a comenzar explicando el formato de los ficheros de modelos 3D que utiliza 'Entidad 3D', ya que son la base fundamental para definir objetos y personajes en nuestro juego.

Para representar los objetos 3D en nuestro juego, 'Entidad 3D' utiliza los ficheros con extensión .act tanto para objetos como para personajes o enemigos. Este tipo de formato de modelos 3D no es un formato muy extendido y se usa particularmente en programas basados en el motor 3D 'Genesis3D', como es el caso de 'Entidad 3D' o del programa 'Reality Factory'.
Existe un conversor de varios formatos 3D al formato .act llamado 'MilkShape 3D', pero es un programa Shareware que no se incluye en 'Entidad 3D'. Esta utilidad puede trabajar con modelos de juegos como Half-Life, Quake 2, Quake III, Unreal, Serious Sam, Max Payne, The Sims, etc...
Utilizando el tutorial para convertir personajes de Half-Life a personajes de Entidad 3D que podrás encontrar en la página de 'Entidad 3D', podrás convertir diversos personajes gratuitos del formato Half-Life (ficheros .mdl) al formato .act con excelentes resultados.

Pero si no quieres utilizar 'MilkShape 3D', tendrás que utilizar los ficheros .act que puedas encontrar en Internet o los del propio 'Entidad 3D'. De todas formas, en la web de 'Entidad 3D' podrás encontrar periódicamente diversos modelos .act que yo mismo iré convirtiendo de modelos de 'Half-Life'.

En 'Entidad 3D' estos ficheros .act los podrás encontrar en dos lugares: en la carpeta 'Actors' y en la carpeta 'Objects'. Puedes visualizarlos con la utilidad 'Actor Viewer' que se te instaló en tu sistema cuando instalaste 'Entidad 3D'.


Los ficheros .act contienen básicamente el objeto o personaje 3D junto con una serie de animaciones predefinidas. Cada animación tiene su propio nombre, nombres que pueden variar entre un fichero .act y otro. Cada archivo .act puede tener un número variable de animaciones, incluso ninguna en el caso de un objeto estático. Así pues nos podemos encontrar con un fichero 'player1.act' con las siguientes animaciones:

Animación 'Idle'


Animación 'Shoot'


Animación 'Run'

En el caso de los .act utilizados para personajes en el juego de ejemplo 'Secta', la mayoría constan de 40 animaciones distintas, aunque eso no quiere decir que se utilicen todas en el juego.
El nombre de las animaciones puede ser distinto en función del autor de los ficheros .act, para saber los nombres de las animaciones tendremos que utilizar 'Actor Viewer'.
Una cosa MUY IMPORTANTE en 'Entidad 3D' es que al menos 9 de esos nombres de animaciones han de tener un nombre exacto, ya que 'Entidad 3D' los busca de forma automática para animar al personaje protagonista y a los enemigos. Si 'Entidad 3D' no encuentra estos nombres exactos, el programa se interrumpirá de forma brusca.
Estos nombres y su función han de ser los siguientes:

# 'Idle' para una posición estática del personaje.
# 'Shoot' el personaje disparando.
# 'Walk' el personaje andando.
# 'Run' el personaje corriendo.
# 'Die' el personaje muriendo.
# 'Die_de_frente' el personaje muriendo de otra forma.
# 'Die_rodilla' el personaje muriendo de otra forma.
# 'Die_vueltas' el personaje muriendo de otra forma.
# 'Hit' el personaje recibe un impacto.

Estos nueve nombres de animaciones sólo son obligatorios para personajes protagonistas y para enemigos.

Para el caso de los personajes secundarios sólo es obligatoria la animación 'Idle'.

Para los objetos no es necesario ni siquiera que tenga alguna animación.
Última edición por Letzga el Mié Mar 03, 2010 9:34 pm, editado 1 vez en total
Letzga
Baneado
Baneado
 
Mensajes: 35
Registrado: Sab Oct 17, 2009 11:50 pm
Dinero: 14,500.00
Banco: 15,438.28
Ubicación: por allí...
Karma: 0

Re: Crea tus videojuegos 3D

Notapor Habimaru » Sab Feb 27, 2010 2:37 pm

Sí, si me parece bien, pero, por favor, documenta un poco más el post principal, con lo que pretendes hacer, el motivo de la encuesta, y si hablamos de juegos 3D, nombres de herramientas para modelar y programar.

El tema me interesa, ¡un saludo!
Nope
Avatar de Usuario
Habimaru
Miembro del Hall de la Fama
Miembro del Hall de la Fama
 
Mensajes: 1591
Registrado: Lun Ene 25, 2010 10:26 pm
Dinero: 43,567.95
Banco: 649,295.15
Ubicación: Internado en la ETSIIT
Sexo: Moriré solo y virgen
Estantería de objetos
Karma: 1

Re: Crea tus videojuegos 3D

Notapor Letzga » Sab Feb 27, 2010 2:39 pm

ok,creo que ya te entiendo :M

4º- Objetos:

Vamos a continuar este tutorial volviendo a retomar nuestro editor de niveles 'World Editor'.

Seguro que con el tutorial de 'World editor' habrás creado un nivel con todos los ejemplos de ese tutorial, y lo más seguro es que te haya quedado una especie de escenario muy raro y pequeño, pero aún te resultará muy útil en este tutorial de 'Entidad 3D' para seguir experimentando toda clase de cosas antes de pasarlas a un escenario más grande que podría ser el del juego que quieras crear.
Vamos entonces a darle un poco más de vida a ese escenario.

Colocando objetos recogibles:
En 'Entidad 3D' podremos colocar en nuestro escenario una serie de objetos que podrán ser recogidos por el jugador para engrosar un inventario de objetos que nosotros (como creadores del juego) podremos decidir su utilidad en el transcurso del juego.
Estos objetos no tienen el mismo tratamiento que los que representan las armas, munición, energía y escudo, sino que son otros objetos independientes y de utilidad configurable. Cada objeto es en realidad un fichero .act igual que los que hemos utilizado para personajes o también para armas, munición, etc..., pero estos ficheros .act en lugar de estar en la carpeta 'Actors' tienen que estar en la carpeta 'Objects' y tienen que tener un nombre particular para su posterior control.

Para cada objeto distinto debemos tener un .act preparado que será el objeto en 3D que represente ese objeto, en este caso no es necesario que el .act contenga animaciones. También debemos de ir pensando en asociarle un número a cada objeto distinto. Finalmente tenemos que tener preparada una imagen 2D de un tamaño de 32x32 que representará el objeto en el inventario del jugador.
Como podrás ver dentro de la carpeta 'Objects', ya hay unos cuantos objetos que utiliza el juego de ejemplo, si quieres puedes copiarlos con otros nombres para utilizarlos en tus juegos, pero si cambias directamente los nombres de los ficheros, el juego de ejemplo dejará de funcionar. Si haces esto al menos deja el fichero '1_caja.act' ya que siempre lo necesita 'Entidad 3D'. Si borras '1_caja.act', tu juego ni siquiera comenzará.

Vamos a ver como definir uno de estos objetos y donde colocamos la imagen 2D del mismo:
Supongamos que queremos añadir el objeto 'Tarjeta' a nuestra aventura. Ya tenemos un fichero .act que es una tarjeta y también hemos dibujado una imagen de 32x32 de nuestra tarjeta:


Imagen de 32x32


tarjeta.act

Ahora vamos a darle un número a este objeto, por ejemplo el 2, ya que el número 1 ya está ocupado por la caja (por eso se llama '1_caja.act') y que no podemos borrar. Renombramos el archivo .act de la tarjeta al nombre '2_tarjeta.act' y lo copiamos en la carpeta 'Objects' de 'Entidad 3D'.


Fichero '2_tarjeta.act' en la carpeta 'Objects'


Seguidamente utilizamos nuestro editor de imágenes preferido (tipo Gimp, Adobe Photoshop o parecido) y abrimos el fichero 'objetos_distintos.bmp' que encontraremos en la carpeta 'Bmp' de 'Entidad 3D'.
Lo que contiene este fichero son todas las representaciones 2D de un tamaño de 32x32 de todos los objetos distintos que tengamos. A medida que los vayamos diseñando los tenemos que ir 'pegando' en esta imagen BMP de arriba a abajo, pegados a la izquierda y sin separación entre ellos. Por lo tanto el primer cuadro de 32x32 en la parte superior izquierda pertenecerá al objeto número 1, que es precisamente la caja (1_caja.act) y para el objeto número 2, que es el objeto que estamos preparando, pondríamos nuestra imagen de 32x32 justo debajo.


Fichero 'objetos_distintos.bmp' en la carpeta 'Bmp'


Si queremos que este fichero de objetos sea particular de un juego, tendremos que crear un fichero igual que el anterior pero con el nombre PrimerNivel_objetos_distintos.bmp, siendo 'PrimerNivel' en nombre del primer nivel de nuestro juego. Si hacemos esto siempre tendremos que trabajar sobre este fichero para que los imágenes de los objetos aparezcan en ese juego en concreto.

De esta forma, mediante el nombre del fichero .act y el orden de imágenes en el fichero 'objetos_distintos.bmp', 'Entidad 3D' es capaz de relacionar un objeto .act con su imagen para el inventario, de manera que nosotros no tengamos que hacer nada más.

Ahora vamos a ver como situamos, en nuestro escenario, uno de estos objetos que hemos definido para que el jugador pueda recogerlo con sólo acercarse a él:

Vamos a nuestro escenario en 'World Editor' y añadimos una entidad 'ItemObject' en la posición que queremos que aparezca nuestra tarjeta. Una vez colocada, edita las propiedades de esta entidad y rellena el parámetro 'ActorFile' con '2_tarjeta.act' (sin las comillas). También puedes rellenar el parámetro 'ObjectName' con un nombre para este objeto, que podría ser 'Tarjeta' o 'La llave' o lo que quieras, este nombre sólo lo utiliza 'Entidad 3D' de forma automática para ponerlo en pantalla cuando estemos recogiendo el objeto.


Sólo nos queda compilar el nivel, ver si nuestra tarjeta aparece y probar a ver si nuestro personaje recoge el objeto.


La tarjeta en el escenario



Una vez recogida, la tarjeta aparece en el inventario del jugador


Si queremos podemos añadir en nuestro escenario múltiples objetos iguales, procediendo de la misma forma: añadir entidad 'ItemObject' con 'ActorFile'= 2_tarjeta.act (en el caso de nuestra tarjeta). Al añadir un segundo objeto igual, no es necesario volver a rellenar el parámetro 'ObjectName'.

Pues supongo que ya te podrás imaginar como definir un tercer objeto para nuestro sistema ......


Colocando objetos no recogibles:
En ocasiones nos puede interesar colocar un objeto representado también por un fichero .act, pero que simplemente esté ahí y que no sea un objeto que el jugador lo pueda recoger.
Pues esto es tan simple como añadir una entidad 'ItemObject' con su 'ActorFile' con el nombre del fichero .act que lo representa, sin números delante ni nada, el nombre tal cual. Este fichero .act también ha de estar en la carpeta 'Objects'.
Última edición por Letzga el Mié Mar 03, 2010 9:35 pm, editado 1 vez en total
Letzga
Baneado
Baneado
 
Mensajes: 35
Registrado: Sab Oct 17, 2009 11:50 pm
Dinero: 14,500.00
Banco: 15,438.28
Ubicación: por allí...
Karma: 0

Re: Crea tus videojuegos 3D

Notapor RedXIII » Sab Feb 27, 2010 3:10 pm

Tambien podrias poner los que participan,lo que tenieis, scans, anuncios, demos, y otras cosas por el estilo, eso atraera a mas gente.
Imagen

Awards chupis:

Spoiler: Mostrar
Imagen
Imagen


No hagas click aquí, despertarás a la conejita.

Spoiler: Mostrar
Oh, no, hiciste, click, has despertado a la conejita.

Imagen


-Hollow is in the web, all's right with the foro-
Avatar de Usuario
RedXIII
Moderador
Moderador
AnimeDesign
 
Mensajes: 4142
Registrado: Jue Abr 24, 2008 7:53 pm
Dinero: 1,304,727.66
Banco: 2,218,933.14
Ubicación: En la isla puntería.
Sexo: Masculino
Clan: AnimeDesign
Tumblr: Se han matado ellos solos
Youtube: No subo nada
Instagram: Ni lo miro
Estantería de objetos
Karma: 41

Re: Crea tus videojuegos 3D

Notapor Letzga » Dom Feb 28, 2010 12:19 am

Eres bueno amigo :lol: .I .Bien sobre el tema me pongo a escribir :write: La introduccion(El programa que uso se nombra Entidad 3D).No se extrañen Si ven nombres de programas.

5º- Abriendo puertas:

Tocando resortes:
Sin abandonar el editor 'World Editor' vamos a ver como podemos hacer para que una de las puertas que hayamos creado (porque se supone que ya sabemos crear puertas) sólo se abra en ciertas condiciones y no como hasta ahora hemos visto en el tutorial de 'World Editor' que se abrían siempre que alguien se acercaba a ellas, incluido los enemigos.

Para comenzar con algo sencillo vamos a hacer que la puerta se abra siempre y cuando el personaje haya tocado cierto punto del escenario previamente, punto que no tenemos porque poner al lado de la puerta, sino que puede estar en la otra punta del escenario, de la habitación o donde quieras.
El objetivo no es que se abra la puerta al tocar este punto, sino que una vez tocado este punto, cuando el jugador se acerque a la puerta, esta se abrirá siempre.
Para comenzar podemos crear alguna especie de resorte que representará nuestro punto, si quieres puedes hacer un pequeño cubo que sobresalga de una pared sin animación y sin más complicaciones.



Ahora vamos a crear nuestro primer sistema de comandos de 'Entidad 3D' para controlar si el jugador ha tocado o no el resorte y en función de eso, que la puerta se abra o no. Para ello añadimos la entidad 'Command' y la colocaremos en la posición donde hemos colocado el resorte. Si editas las propiedades de esta entidad 'Command' (seguramente se llamará 'Command1') verás un parámetro llamado 'CommandsFile' que rellenaremos con un nombre cualquiera, pero que tenga algún sentido con lo que estamos haciendo, por ejemplo 'tocaresorte.ini' (sin las comillas). Este nombre hará referencia a un fichero llamado 'tocaresorte.ini' que construiremos nosotros mismos con algún editor de textos ANSI tipo Notepad o similar.






Este fichero con extensión .ini lo crearemos en la carpeta 'Comandos' de 'Entidad 3D'.



¿ Que hay que poner dentro de este fichero ?... pues todos los comandos y condiciones que queramos que se procesen cuando el jugador alcance la posición donde hemos colocado la entidad 'Command1'. Existen numerosos comandos que se describen con detalle más adelante, pero de momento vamos a centrarnos sólo en los que nos interesan para lo que queremos realizar.
Pues bien, editamos nuestro aún vacío fichero 'tocaresorte.ini' y lo rellenamos con lo siguiente:

ACCI PONE tocoresorte=1

... y salvamos el fichero. Así de simple. En esta ocasión estamos utilizando el comando 'PONE' para establecer la variable 'tocoresorte' (nombre que nos hemos inventado) a 1 ya que en 'Entidad 3D' cualquier variable está 0 al comenzar el juego. El 'ACCI' siempre hay que ponerlo antes de un comando.
De esta forma cuando el jugador alcance la posición de nuestra entidad 'Command1' se procesará el fichero de comandos 'tocaresorte.ini' con lo que llevará siempre a ponerse a 1 la variable 'tocoresorte'.
¿Y ahora cómo hacemos para que la puerta se abra si el jugador se acerca a ella pero siempre y cuando la variable 'tocoresorte' valga 1?. Pues no nos queda más remedio que hacer otro fichero .ini y asociarlo a la entidad 'Door' que tengamos para esta puerta en cuestión. Editamos esta entidad, que en mi ejemplo se llama 'Door2', y en la casilla del parámetro llamado 'CommandsFile' ponemos por ejemplo 'abre_puerta2.ini'.






Ahora sólo nos queda crear un fichero llamado 'abre_puerta2.ini' en la carpeta 'Comandos' de 'Entidad 3D'. Dentro de este fichero pondremos lo siguiente:

IF COND tocoresorte=1
ACCI TEXT Abriendo puerta
ELSE
ACCI TEXT No has tocado el resorte
ENDIF

Como ves he comenzado estableciendo una condición con 'IF COND tocoresorte=1', por lo que todo lo que vaya detrás de esta linea y hasta el indicativo 'ENDIF' afecta a esta condición. En este caso también he utilizado el indicativo 'ELSE' para presentar un mensaje en el caso de que el jugador no haya tocado el resorte.
O sea, que si se cumple la condición se procesarán los comandos entre el 'IF COND' y el 'ELSE', mientras que si no se cumple la condición se procesarán los comandos entre 'ELSE' y 'ENDIF'.
Los comandos 'TEXT' que he puesto son para poner un mensaje en la parte superior de la pantalla. No te olvides nunca de poner un 'ACCI' delante de cada comando.
En nuestro ejemplo la condición se cumplirá siempre y cuando la variable 'tocoresorte' valga 1, además al ser la primera condición de esta fichero .ini, 'Entidad 3D' también lo tomará para decidir abrir la puerta o no.
En resumen, cuando el jugador se acerque a la puerta y la variable 'tocoresorte' valga 1, se abrirá la puerta al mismo tiempo que se verá el mensaje 'Abriendo puerta'. Pero cuando el jugador se acerque a la puerta y la variable 'tocoresorte' no valga 1, pues se presentará el mensaje 'No has tocado el resorte' y la puerta no se abrirá.

Quizás te asalte una cuestión: ¿ Como afectan estos sistemas de comandos a los enemigos ?, ¿ Podría un enemigo llegar a tocar el resorte y luego dirigirse a la puerta y abrirla ?. Pues no, el caso es que los comandos de 'Entidad 3D' no tienen efecto si un enemigo alcanza la posición de una entidad con comandos asociados.
Ya, pero y si el jugador toca el resorte (por lo tanto la variable 'tocoresorte' ya vale 1) y después un enemigo se acerca a la puerta... ¿ la abriría ? ... pues tampoco. La única forma que tendría un enemigo de abrir una puerta es que esa puerta no tenga ningún fichero de comandos .ini asociado.

El funcionamiento de los ascensores o plataformas móviles (entidades 'MovigPlat') es exactamente igual que el de las puertas, sólo que toman el resultado de la primera condición del fichero .ini asociado para mover la plataforma o no.




Utilizando llaves:
Ahora vamos a ver como podemos hacer para que una puerta sólo se abra si el jugador posee la llave correcta.

Para ello vamos a utilizar el objeto tarjeta, que hemos definido en el anterior capítulo de este tutorial, como llave de acceso a una puerta.
También vamos a utilizar la misma puerta que hemos utilizado con el ejemplo del resorte, ya que lo que vamos a hacer es simplemente cambiar los comandos que tenemos en el fichero 'abre_puerta2.ini' que como recordarás esta asociado a la entidad 'Door' de esta puerta.
Abrimos el fichero 'abre_puerta2.ini' con un editor, borramos todo lo que hay e introducimos lo siguiente:

IF COND 2_tarjeta.act=1
ACCI TEXT Abriendo puerta
ELSE
ACCI TEXT No tienes la tarjeta
ENDIF

Con la condición '2_tarjeta.act=1' lo que estamos preguntando es si el jugador lleva en su inventario de objetos un objeto llamado '2_tarjeta.act', si lleva uno, pues la condición se cumple, si no, pues no se cumple.
Pero piensa una cosa, si el jugador lleva más de una de estas tarjetas, la condición no se cumplirá y la puerta no se abrirá, para solucionar esto tendrías que cambiar la linea del 'IF' anterior por esta:

IF COND 2_tarjeta.act>0


Diversas variaciones:
A continuación vamos a ver diferentes variaciones de lo que hemos visto en este capítulo para que te hagas una idea de la cantidad de combinaciones que puedes realizar con 'Entidad 3D' si utilizas de forma correcta e ingeniosa diversos comandos y condiciones.

# La puerta sólo se abre con la llave pero si previamente se ha tocado el resorte:
IF COND tocoresorte=1 COND 2_tarjeta.act=1
ACCI TEXT Abriendo puerta
ELSE
ACCI TEXT Acceso denegado
ENDIF

# Igual a lo anterior pero además quiero hacer sonar un fichero de audio .MP3 cuando no se abra la puerta:
IF COND tocoresorte=1 COND 2_tarjeta.act=1
ACCI TEXT Abriendo puerta
ELSE
ACCI TEXT Acceso denegado
ACCI SONI alarma
ENDIF
Para este ejemplo has de tener en la carpeta 'Wav' de 'Entidad 3D' un fichero de sonido llamado 'alarma.mp3'.
De hecho si tienes un fichero llamado 'alarma.wav' también funcionará, o si es 'alarma.mod' también, ya que si te has fijado el comando 'SONI' no necesita la extensión del fichero de sonido, 'Entidad 3D' busca cualquier fichero de sonido 'alarma.' en la carpeta 'Wav' y lo hace sonar.

# La puerta sólo se abre con una llave de un solo uso, cuando se abra la puerta, la llave ha de desaparecer del inventario del jugador:
IF COND 5_llave.act=1
ACCI TEXT Llave correcta
ACCI QINV 5_llave.act
ELSE
ACCI TEXT No llevas la llave
ENDIF
Si el jugador lleva por ejemplo 5 llaves, sólo le desaparecerá una cada vez que abra la puerta.

# Un ascensor sólo se mueve si el jugador lleva tres bolas de energía, bolas que han de desaparecer del inventario del jugador al utilizar el ascensor:
IF COND 4_bola.act=3
ACCI TEXT Subiendo planta
ACCI QTIN 4_bola.act
ELSE
ACCI TEXT No tienes las 3 bolas
ENDIF
Si se abre la puerta, al jugador le desaparecen todas las bolas que pueda llevar en el inventario.

# El tema del ascensor y las bolas quiero complicarlo más diciendo al jugador la cantidad de bolas que le faltan en el caso de que no tenga las tres bolas:
IF COND 4_bola.act=3
ACCI TEXT Subiendo planta
ACCI QTIN 4_bola.act
ELSE
IF COND 4_bola.act=0
ACCI TEXT Te faltan 3 bolas
ENDIF
IF COND 4_bola.act=1
ACCI TEXT Te faltan 2 bolas
ENDIF
IF COND 4_bola.act=2
ACCI TEXT Solo te falta una bola
ENDIF
ENDIF

# Quiero realizar dos condiciones distintas, además de controlar lo de la puerta con la tarjeta, quiero advertir al jugador de la necesidad de un objeto en la habitación que quiere entrar:
IF COND 2_tarjeta.act=1
ACCI TEXT Abriendo puerta
ELSE
ACCI TEXT No tienes la tarjeta roja
ENDIF

IF COND 7_cristal.act=0
ACCI TEXT Sin el cristal no podrás sobrevivir
ENDIF
Estas dos condiciones 'IF COND', y las que quieras, pueden ir en el mismo fichero .ini sin problemas.
Letzga
Baneado
Baneado
 
Mensajes: 35
Registrado: Sab Oct 17, 2009 11:50 pm
Dinero: 14,500.00
Banco: 15,438.28
Ubicación: por allí...
Karma: 0

Re: Crea tus videojuegos 3D

Notapor Neipol » Jue Mar 04, 2010 9:17 pm

Cierro tema, creo que esta claro porque.
RPGPlayer.org
Imagen
Spoiler: Mostrar
Awards 2011-2012
Imagen
Awards 2010
ImagenImagenImagen
Imagen
Imagen
Imagen
Imagen
Awards 2009
Imagen
Imagen
Avatar de Usuario
Neipol
Miembro del Hall de la Fama
Miembro del Hall de la Fama
The Unknowns
 
Mensajes: 3625
Registrado: Dom Sep 24, 2006 4:46 am
Dinero: 7,701.89
Banco: 1,012,034.12
Ubicación: Barcelona
Sexo: Mucho, gracias por preguntar
Clan: The Unknowns
Instagram: NandoCorzo
Estantería de objetos
Karma: 10


Volver a Videojuegos y Consolas

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado