Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   2º Desafío PGD (https://www.clubdelphi.com/foros/showthread.php?t=78220)

acertij022 13-04-2012 01:44:04

Muy interesante y lo que seria mas interesante (cuando creas oportuno) crear un hilo mostrando paso a paso una creación tuya mostrando el código. Va mas que una propuestas es un deseo :D

Ñuño Martínez 18-04-2012 18:32:06

Sí, a mi también me gustaría hacerlo, acertij022, porque lo tengo pendiente. Cuando termine el concurso voy a seguir con mi plan de profesionalización y en uno de los apartados del plan está ese: el informar de los avances día a día. Difícil va a ser. :rolleyes:

Por ahora, acabo de terminar una prueba hecha en BASIC de un algoritmo para saber en qué dirección está un objetivo en relación con la dirección en la que está mirando. En principio es algo fácil, pero tiene su miga.

La dirección la da en valores 0..7, siendo 0 el frente y aumentando en sentido horario (2 derecha, etc). En la imagen se da la posición relativa del objetivo en rosa respecto al ángulo indicado por la línea blanca. En este caso dice "3", es decir, atrás a la derecha. Puede parecer que no, pero con esto es más fácil y rápido hacer luego la inteligencia artificial de los enemigos.

Hubiera preferido usar QuickBASIC, que es más estructurado, pero aun así ha ido muy bien y algo más rápido que usando Pascal.

Casimiro Notevi 18-04-2012 18:45:54

¿basic?, ¿más rápido que pascal? :confused:

roman 18-04-2012 18:56:45

Cita:

Empezado por Casimiro Notevi (Mensaje 430348)
¿basic?, ¿más rápido que pascal? :confused:

Deberíamos expulsarlo del Club. ¡Vaya sacrilegio! :mad:

:p:D

// Saludos

Casimiro Notevi 18-04-2012 19:01:58

Cita:

Empezado por roman (Mensaje 430350)
Deberíamos expulsarlo del Club. ¡Vaya sacrilegio! :mad:
:p:D // Saludos

Y que lo digas, ¿pero has visto ese código en gwbasic?, pero si hay hasta "goto"? :eek:



:D:D:D

.

roman 18-04-2012 19:08:04

Sí, es una vergüenza para este sitio. Llevemos el asunto al foro de moderadores. ¡Juicio sumario! :D

// Saludos

ecfisa 18-04-2012 19:12:48

Hola.

Esta vez estoy totalmente en desacuerdo con ustedes.

Y es más, propongo que Ñuño sea promovido a Miembro Estoico de Club Delphi por haber tenido la entereza de ánimo necesaria para desarrollar la aplicación en ese lenguaje. :D


Saludos. :)

roman 18-04-2012 19:16:21

Síguele y también te vas, ja, ja, ja.

¿Qué no leyeron el juramento del moderador?

Cita:

3. No programarás, promoverás ni defenderás nngún código Basic.
:D :D

// Saludos

Casimiro Notevi 18-04-2012 21:15:21

Nada, nada, ¡¡¡a la hoguera!!! :D

marcoszorrilla 18-04-2012 21:22:45

Código:

CLS
LOCATE 12,33
PRINT "ENHORABUENA ÑUÑO"
GOSUB 1980
GOTO 4500
REM Beginner's All-Purpose Symbolic Instruction Code
CLS
PRINT "UN SALUDO"
END


Delphius 19-04-2012 05:59:57

Agradezcan que no lo está haciendo en VB o NET, es preferible que utilice BASIC y no su versión "visual". :D

Ñuño, ¿por casualidad no utilizas también algo de LISP, o para ese proyecto sobra más de lo que puede dar?

Saludos,

Ñuño Martínez 19-04-2012 17:53:45

Si lo sé, no digo nada. :mad:

Como dice Delphius, agradezcan que no fuera VB. :p De todas formas, QuickBASIC sigue siendo uno de mis favoritos. Si no lo he usado es porque no tengo el QBasic disponible.
Cita:

Empezado por Casimiro Notevi (Mensaje 430348)
¿basic?, ¿más rápido que pascal? :confused:

Me refería a que es más rápido para probar algoritmos, no en ejecución de código.

Cita:

Empezado por Delphius (Mensaje 430405)
Ñuño, ¿por casualidad no utilizas también algo de LISP, o para ese proyecto sobra más de lo que puede dar?

De LISP sé nada o menos. Pero sí se va a utilizar un lenguaje "auxiliar" para definir el comportamiento de los enemigos y la definición de las misiones. Pero no va a ser nada sofisticado, de hecho el "parser" va a ser un TStringList tal cual... :D
_______________________________

Venga, va, a pesar de todo os pongo otro vídeo. Ya tiene naves que se mueven, explosiones, sonido... El problema es que mi capturador de vídeo no pilla esto último. :(

La razón del vídeo es que estuve haciendo muchísimas pruebas para comprobar velocidades, distancias, tamaños... Incluso he modificado algo los controles, permitiendo giros en diferentes velocidades y tó.

Delphius 19-04-2012 22:39:27

Cita:

Empezado por Ñuño Martínez (Mensaje 430451)
Si lo sé, no digo nada.
De LISP sé nada o menos. Pero sí se va a utilizar un lenguaje "auxiliar" para definir el comportamiento de los enemigos y la definición de las misiones. Pero no va a ser nada sofisticado, de hecho el "parser" va a ser un TStringList tal cual... :D

Pensé que sabías sobre LISP, CLIPS o alguno de sus "derivados", porque recuerdo que comentaste algo sobre el tema en unas ocasiones. O quizá soy yo quien recuerda mal.
Y bueno, si el TStringList te sirve, pues ándale :)
_______________________________

Cita:

Empezado por Ñuño Martínez (Mensaje 430451)
Venga, va, a pesar de todo os pongo otro vídeo. Ya tiene naves que se mueven, explosiones, sonido... El problema es que mi capturador de vídeo no pilla esto último. :(

La razón del vídeo es que estuve haciendo muchísimas pruebas para comprobar velocidades, distancias, tamaños... Incluso he modificado algo los controles, permitiendo giros en diferentes velocidades y tó.

Me ha gustado mucho este nuevo video, se ve genial. Se que estás avanzando y te quedan más cosas para ir agregando, pero tengo unas dudas... ¿a ese espacio o "mapa" lo tienes almacenado en memoria y en alguna estructura de datos a nivel lógica, o es generado por simplemente a modo de presentación en pantalla? Es decir, tienes algo como Mapa(X,Y,Z) := Nave[i] para hacer las asociaciones y correspondencias y los cálculos junto con el octtree o directamente tienes el octtree con los objetos y el mapa se genera solamente en pantalla. A lo que voy es en entender como es que te basas para unir la parte lógica con lo que es interfaz.
Ando tratando de unir cosas a ver si le pillo. :D

Mi segunda duda, es ¿que tan grande, lejos, está esa nebulosa? Porque cuando avanzas hacia ella no veo como si se acercara. Me da la impresión de que no cambia de tamaño. ¿O es que eso justamente define el límite del espacio o mapa? Se que estás recién avanzando pero es que resultó curioso ese detalle menor.

Saludos,

Ñuño Martínez 21-04-2012 12:16:37

Cita:

Empezado por Delphius (Mensaje 430484)
Pensé que sabías sobre LISP, CLIPS o alguno de sus "derivados", porque recuerdo que comentaste algo sobre el tema en unas ocasiones. O quizá soy yo quien recuerda mal.
Y bueno, si el TStringList te sirve, pues ándale :)

Pues no recuerdas mal porque lo he nombrado alguna vez. Lo que pasa es que de LISP conozco lo que se puede hacer, pero nunca lo he usado ni me he puesto a aprender a usarlo.
_______________________________

Anda que no pides nada tú:

Cita:

Empezado por Delphius (Mensaje 430484)
Me ha gustado mucho este nuevo video, se ve genial. Se que estás avanzando y te quedan más cosas para ir agregando, pero tengo unas dudas... ¿a ese espacio o "mapa" lo tienes almacenado en memoria y en alguna estructura de datos a nivel lógica, o es generado por simplemente a modo de presentación en pantalla? Es decir, tienes algo como Mapa(X,Y,Z) := Nave[i] para hacer las asociaciones y correspondencias y los cálculos junto con el octtree o directamente tienes el octtree con los objetos y el mapa se genera solamente en pantalla. A lo que voy es en entender como es que te basas para unir la parte lógica con lo que es interfaz.
Ando tratando de unir cosas a ver si le pillo. :D

Simplificando, tengo una lista (TObjectList) que contiene todos los objetos del universo sin orden ni concierto. Los objetos contienen su posición en coordenadas P = {x, y, z}. Por otro lado tengo el árbol Octree en los que cada nodo tiene una lista con referencias a los objetos que están en ese nodo (recuerda que cada nodo del Octree es un "cubo"). Uso la lista de objetos cuando tengo que recorrer todos los objetos, mientras que el Octree lo uso cuando necesito alguna referencia espacial -- por ejemplo, saber qué partes son visibles y cuales no.

El sistema que defines tú (Mapa[x, y, z] = Nave [i]) se denomina tilemap, mapa de teselas o damero. Se usa en algunos juegos, pero en este caso no funciona bien porque intento representar un espacio abierto muy grande e informe. Por lo poco que sé, el famoso Minecraft usa un sistema de damero.
Cita:

Empezado por Delphius (Mensaje 430484)
Mi segunda duda, es ¿que tan grande, lejos, está esa nebulosa? Porque cuando avanzas hacia ella no veo como si se acercara. Me da la impresión de que no cambia de tamaño. ¿O es que eso justamente define el límite del espacio o mapa? Se que estás recién avanzando pero es que resultó curioso ese detalle menor.

El fondo es lo que se llama un skybox (literalmente, caja celeste). Es una caja a la que se pinta el interior con el fondo y cuyo centro se coloca siempre donde esté la cámara. Por eso "no se mueve". Se utiliza para pintar "el infinito", con la ventaja de que es muy rápido dibujarlo y permite giros completos sin cálculos complicados.

Para evitar esa sensación de que no se mueve hay que añadir elementos de escenario que sirvan como referencia. Por ejemplo, añadir una gran nave espacial o un campo de asteroides.

Delphius 21-04-2012 22:58:22

Gracias Ñuño por dedicar un tiempo a responder a mis interrogantes.
Ahora si que me quedó mucho más claro que el agua. Uniendo conceptos ya me hago una mejor idea de como relacionar la lógica con la interfaz y en como interviene el octree en el proceso. :)

No te preocupes, no te estaré molestando de nuevo... :rolleyes:

Ya me dan ganas de meterle mano a mi sueño de hacer un video juego. A ver si alguien se inventa una máquina de clonación para clonarme porque con los proyectos que tengo encima no creo que vea la luz siguiera un algún tic-tac-toe antes del 2015 :D

A si que ya sabes, vete pensando que en el 2013 o 2014 te estaré jodiendo para que me expliques con más detalles todo :p :D

Saludos,

Ñuño Martínez 07-05-2012 21:25:37

Bueno, gente. Ya hace un tiempo que terminó el concurso; si no lo mencioné antes es porque ando algo descolocado.

Aquí tenéis un vídeo donde podéis ver el resultado. Los modelos 3D los ha realizado Rubén Deig, un aficionado que está estudiando que conocí en otro foro.



Cuando esté disponible para descarga, os aviso por si tenéis curiosidad, aunque por desgracia la versión actual no funciona en Windows, pero antes o después conseguiré que funcione.

Casimiro Notevi 07-05-2012 21:33:09

Qué bueno, muy ágil... y el paisaje de fondo y las nubes es muy realista :)

Delphius 07-05-2012 21:38:51

En la 1ra misión no se distingue mucho, pero en la 2da ¡GUAU! :eek:
¡Se pasan! Si eso hacen para una demo... :eek: ¡Como será una versión final! :)

No jodas, Nuño yo si fuera tu y supiera tanto pongo precio a mi cabeza y busco en tierra, mal y cielo alguien que invierta en mi y a hacer realidad tu creación.

Saludos,

ecfisa 07-05-2012 21:41:33

Realmente muy pero muy bueno, felicitaciones ;)

Saludos :)

newtron 08-05-2012 09:21:49

Mola un montón, enhorabuena por el trabajo. :)

Por cierto... llevas fundidos los pilotos traseros, te van a multar los municipales intergalácticos. :p


La franja horaria es GMT +2. Ahora son las 19:03:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi