Foros - Stratos

Stratos => Proyectos => Mensaje iniciado por: Khayn en 12 de Septiembre de 2008, 05:02:17 PM

Título: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 12 de Septiembre de 2008, 05:02:17 PM
Edit... videos
Skills : http://es.youtube.com/watch?v=eDdUJt8_Rx4
General : http://www.youtube.com/v/tysndwQFDYg

Despés de mucho tiempo de parón por dedicarme de lleno a la xbox, (para jugar), he retomado el viejo proyecto que tenía entre manos, con más "inspiración".

Qué tiene de "nuevo" con respecto al viejo..., pues que lo he rehecho de 0... vamos que me sobra el tiempo y soy masoca.

Hay un alpha 100% funcional, con cosas básicas, pero no es público aun... (falta encontrar el modo de "proteger" los modelos, que aunque warretes son míos)

Por ahora se puede jugar, matar, vender, comprar, interactuar mínimamente con los NPCs, ponerse equipo, matar otros jugadores y subir hasta nivel 20, (no se si se me olvida algo), en los 4 mapas que tengo hechos, (son pocos mapas pero carezco de modelos y texturas para hacer más mapas asi que ó 4 ó.... 40 repetitivos)

Las pruebas de varios jugadores.... no han ido mal, tampoco es que fuéramos muchos, pero los frames se mantenían y no se apreciaba retraso en la respuesta del servidor... (pero claro no dejan de ser warripruebas)

Dejo unas fotos y un video....
(http://img177.imageshack.us/img177/7173/omdgf1ns7.jpg)
(http://img177.imageshack.us/img177/7990/omdgf2vg4.jpg)
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: zwiTTeR en 12 de Septiembre de 2008, 05:10:36 PM
Hola,

Pues tiene muy buen aspecto. Me gusta la calidez de los gráficos... con un toque retro-arcade muy interesante. Lo único... la animación de "correr" es buena... pero creo que el personaje se desplaza demasiado lento para lo rápido que mueve las piernas.

Buen trabajo! y a seguir currando a ver si pronto podemos probar la demo ;-)

Podrías comentar un poco el software utilizando, lenguaje, motor... y también la finalidad del proyecto :-) , siempre es interesante conocer detalles sobre los proyectos.

Saludos!
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 12 de Septiembre de 2008, 05:51:55 PM
Gracias zwiTTeR.

Estoy usando Blitz3D, a mi edad como para ponerme a aprender algo mas difícil....

El proyecto no tiene finalidad alguna, es solo un hobbie, de hecho la calidad no es como para pretender venderselo a nadie :D, lo que si me gustaria es acabarlo lo suficiente como para poder jugarlo... y por ahora va por buen camino.

El equipo de trabajo esta formado por un esclavo que le pago con tabaco que es quien programa, modela, anima, texturiza, me hace la comida.... yo mismo :D y el jefe.... tambien yo, por eso muy lejos no puedo llegar, hay que ser realista.

Los modelos los hago con el wings y los pjs tienen unos 450 poligonos máximo, que son los que mas cargados están, no se que más contar.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: [EX3] en 12 de Septiembre de 2008, 07:23:09 PM
Jajaja, que mala es la Xbox que tanto nos separa de nuestros desarrollos, yo ahora mismo ando igual apartado de la programacion por culpa del COD4 :P

Oye, menuda curra llevas para haber programado y modelado todo esto tu solo. Tiene muy buena calidad para estar echo por una sola persona, mi mas sincera enhorabuena y animo con ello :)

Salu2...
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: [Fonet] en 13 de Septiembre de 2008, 03:20:55 PM
Está muy bien joer, graficamente está muy guapo, pero lo único que trabajaría un poco mas es la interface.

Coincido con zwiTTeR en lo del movimiento del personaje.

Suerte y ánimos!

Salu2
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: yens en 13 de Septiembre de 2008, 04:06:54 PM
Yo creo que también deberías corregir un poquito el "timing" de la animación. Muchos ánimos y enhorabuena por el curro que te has pegado, se agradece un montón ver vídeos y no simples ideas y sketchs :D
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: fjfnaranjo en 13 de Septiembre de 2008, 05:10:20 PM
Enhorabuena tio.

Da alegría encontrar proyectos de este calibre que han llegado a tal nivel de desarrollo.

¿Te has planteado liberar el código y así dejar que otros te ayuden?

La comunidad de desarrolladores de Blizt3D es considerablemente grande, y muchos de BliztMax vienen de ahí.  ;)
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 13 de Septiembre de 2008, 08:26:27 PM
Gracias a todos....

La animación... por suerte eso lo puedo corregir rápido, bajaré un poco la tabla de velocidades.

Lo de la interface es más difícil, ya que no es tema técnico si no "creativo" o "artístico" y como que no doy para mucho :D, pero intentaré mejorarla más adelante ya que ésta es temporal, (la que siempre uso).

Abrir o liberar el código es otro cantar, para que la gente ayude solo hace falta que quieran ayudar y llegar a un acuerdo...
Lo siento pero he sufrido un alubión de "DAME DAME CODIGO" y no se si reirme o mosquearme cuando alguien más lo insinua, ya que cuando pido modelos, músicas o algun que otro recurso "GRATIS" se rien de mi.

Como he dicho quien quiera ayudar... bienvenido sea, no puedo ofrecer $$$ y si alguien quiere aportar algo, formar parte del proyecto... , pues por hablar y entenderse...

El proyecto no es un castillo en el aire, es jugable, (básico), ya que sin gráficos avanzo poco en el mapeado y jugar 4 mapas es un poco... escaso, pero para ver hasta donde llega el tema va sobrado y como digo no está disponible porque quiero proteger los modelos, en cuanto encuentre el modo lo sacaré.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 22 de Septiembre de 2008, 07:03:11 PM
He terminado e implementado los últimos retoques esenciales de los NPCs..... os dejo el video
http://es.youtube.com/watch?v=Z-JM9ajWriU

ya retoqué la velocidad del personaje
a ver si en estos dias termino el alpha y lo subo.....
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: RobiHm en 22 de Septiembre de 2008, 08:55:23 PM
al moverse parece que van patinando

a mi el estilo en general me gusta,
así a voz de pronto diría que el interfaz un poquito más trabajado visualmente ganaría enteros
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: [Fonet] en 23 de Septiembre de 2008, 09:22:01 AM
Pues yo lo sigo viendo igual de lento que antes, en mi opinión debería avanzar mas con el esfuerzo que hace con los pies  ::)

Todo lo demas que he visto es impresionante, muchos detalles y muy avanzado desde la última vez que lo vi.

Felicidades y ánimos.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: yens en 23 de Septiembre de 2008, 07:56:55 PM
A mí me sigue impresionando todo lo que has hecho. Sigue currando así, posiblemente el código no permita aguantar a muchos jugadores y podríamos debatir si está todo optimizado o no, pero el curro que te has pegado y todo lo que has mostrado es la ostia.

Muchas felicidades
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: [Fonet] en 23 de Septiembre de 2008, 08:09:24 PM
Por lo poco que conozco de khayn, estoy seguro de que está totalmente optimizado y aguanta bastante para ser Blitz.  ;)

Salu2
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 23 de Octubre de 2008, 12:32:18 PM
Gracias Fonet, pero esta vez la optimización la estoy dejando un poco de lado, bastante tengo con seguir hacia delante.

Por suerte la cosa ya esta avanzada y lo que me daba quebraderos de cabeza, las Skills activas o de ataque, ya he encontrado la manera de meterlas y ya hay algunas activas.
video de algunas skills:
http://es.youtube.com/watch?v=eDdUJt8_Rx4

Una pregunta un poco..... es: cómo puedo hacer para protejer modelos?, no quiero meterlos todos, solo los de pjs y monsters, el resto me dan igual y la cosa es que no quiero meterlos en el ejecutable ni cosas que he leido por ahí... como que descomprimen en un temporal del cual los lee y posteriormente borra.

La cosa es si hay alguna manera, y que "YO PUEDA LLEVAR A CABO" :D, que no relentice "demasiado", por que solo me queda eso para poder hacer testeos más generales.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Buffon en 23 de Octubre de 2008, 01:16:25 PM
Cita de: Khayn en 23 de Octubre de 2008, 12:32:18 PM
Gracias Fonet, pero esta vez la optimización la estoy dejando un poco de lado, bastante tengo con seguir hacia delante.

Por suerte la cosa ya esta avanzada y lo que me daba quebraderos de cabeza, las Skills activas o de ataque, ya he encontrado la manera de meterlas y ya hay algunas activas.
video de algunas skills:
http://es.youtube.com/watch?v=eDdUJt8_Rx4

Una pregunta un poco..... es: cómo puedo hacer para protejer modelos?, no quiero meterlos todos, solo los de pjs y monsters, el resto me dan igual y la cosa es que no quiero meterlos en el ejecutable ni cosas que he leido por ahí... como que descomprimen en un temporal del cual los lee y posteriormente borra.

La cosa es si hay alguna manera, y que "YO PUEDA LLEVAR A CABO" :D, que no relentice "demasiado", por que solo me queda eso para poder hacer testeos más generales.

actualmente supongo que los lees y los guardas en alguna estructura interna, pues haz lo mismo pero con este cambio:

Encriptas todo el modelo con un rsa por ejemplo y te guardas tu internamente las claves, así sólo lo puedes encriptar y descifrar tu.

si antes hacías:

* leo el fichero
* lo convierto a mi modelo de datos

Ahora harás

* leo el fichero
* desencripto
* paso como inputstream los datos descifrados
* "leo el fichero"
* lo convierto a mi modelo de datos.

Total, todo esto es precarga de modelos, el tiempo no importa.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 23 de Octubre de 2008, 01:52:33 PM
la cosa es que blitz no carga algo en memoria y despues lo asignas como lo que quieras, si no que carga especificamente un modelo y si el archivo no tiene esa extensión o esos parametros te da error, por lo que no puedo crear un archivo, leerlo y despues decirle que lo tome como un modelo...
vamos creo que es así en blitz, en caso contrario y si sí se pudiera me encantaría saber el modo
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Buffon en 23 de Octubre de 2008, 03:32:01 PM
Como ya te he dicho por whisp nunca he trabajado con blizt pero fijo que se debería poder.

Aunque no sea del todo correcto:

puedes hacer una aplicación en C++ que te realice este paso, el de desencriptar y te lo guarde en un lugar recóndito del sistema con un nombre poco identificativo, desde blizt si podrás llamar a otras aplicaciones, no?

una vez se generan esos ficheros, los llamas desde blizt y los borras.

EDITO:

que pocas facilidades da blizt no ? xD

tmb sería sencillo ejecutar esa aplicación en C++, redirigir las pipes de in(1) y out(2) para que se comuniquen como si fuera una pipe. Joder vaya prácticas de sistemas operativos me he llegado a chupar yo en la uni con estas tonterías xD
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: [EX3] en 23 de Octubre de 2008, 04:53:17 PM
Lo que si permitira blitz es cargar un archivo en modo binario, no? Cargar todo su contenido en un array de bytes. De ser posible esto podrias cargar el archivo en modo binario, aplicarle un algorritmo de encriptacion y salvarlo encriptado. Despues, solo seria realizar los pasos inversos para cargarlo:

cargar archivo encriptado -> aplicarle el algorritmo para desencriptarlo -> salvarlo a disco -> cargarlo con la funcion de carga de modelos de blitz

Nunca he pasado de un "hola mundo" en blitz pero si me he leido muchas veces por encima la doc por curiosidad y creo que si habia funciones basicas para tratamiento de archivos (diria si mi memoria no falla que muy similares las del clasico GWBasic del 87), a parte de las funciones para leer y escribir archivos de texto.

Salu2...
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: yens en 23 de Octubre de 2008, 05:03:49 PM
Muy a riesgo de no aportar nada útil voy a comentarte que existe una cosa llamada BB Cruncher que permite comprimir hasta un 50% los recursos que utilices para luego usarlos en Blitz3D. Igual tiene alguna forma de encriptar o demás chorradas, pero bueno te lo dejo por aquí, igual sirve de algo: http://www.blitzmax.com/toolbox/toolbox.php?tool=65
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 24 de Octubre de 2008, 12:10:16 AM
gracias a todos por el interés mostrado..

Lo del encriptado de EX3, eso lo hice pero el problema es que has de cargar el binario desencriptarlo, guardarlo, recargar el nuevo emporal y borrar el temporal... (no quiero temporales)

Buffon en C++ se que existe una cosa llamada libreria, otra llamada objetos, y un rollo sobre .h y .cpp que aun no se que es :D, soy negado en C, me da cefaleas el día que encuentre un manual decente mandaré a paseo al blitz que lo estoy deseando.

Yens sí, el Cruncher comprime,(me da igual comprimir que encriptar la cosa es negar el acceso a nadie al modelo), es una muy buena opcióm, pero no descomprime en memoria, lo saca a un temporal lo lee y despues lo borra estamos en las mismas...

Se que hay otra aplicacion el Molebox, pero es de $$ y no sale barato, comprime y proteje al estilo Cruncher pero lo hace todo en memoria, hice pruebas con el de evaluacion y claro la carga de modelos se va al doble o triple de tiempo, el tipo de juego que estoy haciendo como que se hace pesado el cambio de mapas y esperar 30 segundos...

Por eso pregunto si hay cosas alternativas para el blitz o que se puedan adaptar a el sin muchos probemas para un novato, por que si no lo único que veo es el puñetero molebox y como no me dedico a esto como que pagar 120E por algo que no le voy a sacar beneficio uff, duele que no veas :D
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: [EX3] en 24 de Octubre de 2008, 12:46:29 AM
Cita de: Khayn en 24 de Octubre de 2008, 12:10:16 AMLo del encriptado de EX3, eso lo hice pero el problema es que has de cargar el binario desencriptarlo, guardarlo, recargar el nuevo emporal y borrar el temporal... (no quiero temporales)
Tiene algun metodo o funcion Blitz3D para cargar un modelo en memoria sin tener que cargar un archivo? pasarle un array de bytes con la informacion del modelo? De ser asi no tendrias que generar temporal, simplemente cargar el archivo encriptado, desencriptar y pasarle el array desencriptado a la supuesta funcion de carga en memoria.

De todas formas, lo de usar temporales no es algo tan dramatico. Generas el temporal en el directorio temporal del usuario y con un nombre generado al azar y nadie tiene que saber que existe. Ademas, se trata de eliminar el archivo una vez cargado. Yo esto lo utilizo en un par de funciones de dx_lib32 por que no me queda mas remedio y va como un tiro aparte de lo dicho sobre eso de que nadie tiene por que saber que usas temporales y en caso de saberlo donde y como se llama el archivo temporal. Yo en mi caso, sin depurar el codigo de mi libreria y ver el nombre que se genera, seria muy muy complicado averiguar que archivo ya que puedes tener cientos de archivos con formato de nombre similar en tu directorio temporal.

Pues hombre, en parte entiendo que si no estas trabajando 120€ es una pasta. Es una lastima por que yo uso Molebox en muchos proyectos de VB6, varios de ellos con mi libreria, y va de lujo. Lo mas que se me ocurre, usar un zip con contraseña. Aparte, lo de Molebox es un caso a parte de lo que seria programar en Blitz o en otro lenguaje rutinas de memoria. En cierta forma si que trabaja con temporales pero de forma virtual, como si fuese un VMware o cualquier otra maquina virtual. Para tu hacer eso a pelo en blitz primero debe haber funciones que permitan la carga de recursos mediante bufferes de datos (arrays de bytes generalmente) ya que de lo contrario dificilmente podras hacer cargas en memoria.

Salu2...
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 24 de Octubre de 2008, 06:51:15 AM
Buenos dias :D
Por suerte trabajo si tengo pero no en esto, y no voy a amortizar el molebox ya que no voy a vender nada :D, es que me expreso muy mal.
La única manera que conozco de crear modelos sin cargarlos desde un archivo con su correspondiente extensión es la manual, es decir vértice a vértice, estube buscando información y no encontré nada, o soy muy malo buscando en los foros, que lo soy!, o no hay modo, al menos en la documentación tampoco he visto nada.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Buffon en 24 de Octubre de 2008, 08:35:54 AM
mirando esta referencia:

http://www.blitzbasic.com/b3ddocs/command.php?name=file&ref=goto

tienes todos los comandos para abrir ficheros.

te puedo plantear una idea, te autogeneras tu un fichero megaenorme que guarda todos los ficheros con la siguientes estructura de datos:

primero guardas en 4 bytes el número de ficheros que estás agrupando y luego vas guardando fichero a fichero poniendo delante su longitud utilizando también 4 bytes.

Si tienes dos ficheros

0x00,0x00,0x00,0x02,[0xXX,0xXX,0xXX,0xXX][fichero 1][0xXX,0xXX,0xXX,0xXX][fichero 2]

esto lo haces utilizando la API que te he puesto en el link.

Ahora te puedes implementar una clase Encriptador que te realice por ejemplo una encriptación/compresión Huffman, muy sencilla de realizar y muy básica, pero eficaz sobre todo el contenido, agrupando los bytes en 2, 4 ó 8 bits, a gusto del consumidor, y vuelves a crear el fichero resultante.

Cuando vayas a cargar el juego haces el paso contrario, descomprimes el huffman, y según vas leyendo uno a uno los ficheros los guardas en una carpeta personal si no sabes cargarlos directamente en blitz y luego a blitz le dices que coja el fichero que acabas de generar y lo borras.

Mano de santo :P

es mucho más curro del que normalmente se debería realizar pero te puede sacar del paso.

----------

Lo que yo haría pero en C++


std::ifstream is;
is.open("compressed.dat",std::ios::in);
parsea(desencripta(is));

desencripta me haría el huffman al revés, mírate un manual de huffman que en serio es muy pero muy sencillo.

parsea cogería el contenido del fichero y me lo guardaría en mi propia estructura de datos, total esto es lo que se realiza en los juegos cuando ves la barra de "cargando", mejor hacer el trabajo sucio ahora que luego.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: RobiHm en 24 de Octubre de 2008, 11:12:51 AM
si Blitz3D genera un .exe exísten programas para acoplar recursos o blindear a un ejecutable,
no se si te será de ayuda ya que hace mucho que no lo hago y no puedo aportarte nombres concretos,
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: yens en 24 de Octubre de 2008, 12:49:21 PM
Cita de: Khayn en 24 de Octubre de 2008, 12:10:16 AM
Yens sí, el Cruncher comprime,(me da igual comprimir que encriptar la cosa es negar el acceso a nadie al modelo), es una muy buena opcióm, pero no descomprime en memoria, lo saca a un temporal lo lee y despues lo borra estamos en las mismas...

Nosé donde ni como ni si pioj leerá esto, pero casi seguro que cuando estaba haciendo unas pruebas con el de Blitz3D podíamos descomprimirlos al vuelo, miratelo bien y trataré de buscar los ejemplos en mi HD, porque me suena mucho de que se pueda.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 24 de Octubre de 2008, 08:01:28 PM
Estuve re-mirando del bbcruncher y sigo sin ver que lo hace en memoria..., lo que dice hacer es empaquetar en un archivo o en el propio ejecutable

Vi otra opción que es un tal BlitzReg que convierte lo que quieras a data encriptado para poder meterlo en el código, (haciendo chapuzas se podra hacer que ese data lo pille de un archivo),  despues lo lee lo desencripta y graba el temporal, (original), para ser leido, vamos creo que más o menos a lo que se refería buffon.

Otra opcion viable, pero que como se me acabo el periodo trial del mole box no puedo probar, sería hacer varios minipaquetes con los archivos que considere importantes, así no creo que el tiempo de acceso a ellos sea elevado....
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Sincro en 27 de Octubre de 2008, 06:12:15 PM
La verdad que el juego pinta bien, y es todo un logro que lo  consiga una sola persona ^^

Ami me recuerda un pokito a RO jejeje  y eso em gusta ^^  yo principalmente me deidico al tema de sonido y trasfondo.....  si peudo ayudar en lago no udes en decirmelo.
Título: Re: OMD viejo proyecto, nuevo código
Publicado por: Khayn en 27 de Octubre de 2008, 08:45:55 PM
Gracias.

Bueno creo que ya tengo algo hecho lo de las protecciones de gráficos, gracias a vuestras sugerencias, asi que uno de estos días tendré listo el alpha para test público.

Las ayudas siempre son bien recibidas, ponte en contacto y hablamos.