Ver Mensaje Individual
  #34  
Antiguo 21-04-2012
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Delphius Ver Mensaje
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 Ver Mensaje
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.
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 Ver Mensaje
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.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 21-04-2012 a las 12:20:36.
Responder Con Cita