Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - julen26

#16
No estoy seguro, pero diría que las 3 primeras columnas son vectores se suelen utilizar para determinar el sistema de referencia (que marcan la dirección, escala...). Y el último vector para la posición (desplazamiento).
La última linea no recuerdo bien si era un extra para diferenciar putos y vectores, no estoy muy familiarizado con ello.
#17
Hace poco que toqué este tema en la universidad. Los derechos (de explotación: reproducción, distribución, transformación...) en un proyecto colaborativo pertenecen a todos los  integrantes, mientras que en una colectiva pertenecen a un único titular, generalmente como coordinador.

Es decir, si no hay ningún tipo de acuerdo tanto tu como el podréis  hacer uso de ese material, aunque los derechos morales pertenezcan al autor. En casos así por muy amigo que sea, hay que dejar las cosas claras, es importante fijar si el proyecto es colaborativo o colectivo.
#18
Yo hace unos meses que terminé un juego (Rounded Soccer, post de stratos) al que le metí un modo online bastante básico con un raking y un creador automático de partidas. Si lo pruebas podrás ver como va.

Si necesitas ayuda en hacer algo parecido no dudes en preguntarme. Dejé sin implementar la predicción en el cliente por no tener a nadie con quién realizar pruebas a distancia y por falta de ganas también, pero tenía la idea desarrollada.

Por cierto, para el ranking y el matchmaking sí que usé MySQL con un servidor PHP de intermediario, y créeme que se nota muchísimo la latencia de las consultas a la base de datos. Para la partida a tiempo real, decidí usar solo TCP, a pesar de haber pensado en hacerlo con UDP para obtener más rapidez. Pero es necesario crear un protocolo mínimo para el control de flujo, predicciones etc.
#19
Cita de: Altair en 06 de Marzo de 2013, 08:04:49 AM
Cada cliente toma "decisiones locales", como por ejemplo que una nave no puede disparar si no tiene municion y la envia al servidor. Es decir, al servidor solo se envian datos que se sabe que son correctos. ¿Como se enteran los otros 2 jugadores?.
El servidor es el que también debe tomar esas decisiones por simplemente, seguridad. Si es solo una prueba, adelante. Generalmente se envían inputs para reducir el tráfico.

Cita de: Altair en 06 de Marzo de 2013, 08:04:49 AM
El servidor MySQL tiene, basicamente, tres tipos de tablas. La de entrada de datos, en la que solamente pueden escribir (no confundir con actualizar); la de salida de datos, en la que solamente pueden leer. Los clientes escriben los datos en la de entrada casi continuamente, pues toda actualizacion de los datos de un cliente tiene que ser comunicada al servidor y, segun lo que sea, a los otros clientes. Los datos de la entrada se procesan y se escribe la respuesta en la tabla de salida. Los clientes leen la tabla de salida continuamente, puesto que no saben cuando va a haber un mensaje para ellos.
He subrayado en negrita las dos cuestiones que "matarían" la jugabilidad debido a la latencia que podrían generar. Lo de enviar continuamente información... es un mal diseño del protocolo de comunicación (no siempre). Todo esto sin contar con que el protocolo sera TCP internamente dejando de lado varias ventajas que también aporta UDP, aunque esto sea menos importante si se aplican correctamente técnicas de predicción etc.

En general, para tiempo real creo que es una burrada, pero para otro sistema de datos que no requiera rapidez sería una buena idea (mmorpg etc.)
#20
Proyectos / Re:Se busca gente para Proyecto de Juego
04 de Marzo de 2013, 01:08:35 AM
Deberíais seleccionar la tecnología a usar dependiendo de lo que queráis hacer, y de ahí buscar a gente especializada. Y no buscar gente y seleccionar la tecnología en base a sus conocimientos.

De todos modos, veo poca información sobre el proyecto como para generar interés en la gente. Quizás si extendéis la descripción y la mecánica, tanto como la tecnología (librerías) que al menos os planteáis usar en un principio...
#21
Flash/Flex / Re:problemas al detener sonidos
29 de Enero de 2013, 11:30:38 PM
Nunca he programado en ActionScript pero al igual que en todo, no debería haber una función para realizar un salto a donde se quiera reproducir? Normalmente se da en milisegundos. Si no hay, mira si la misma función de "play" te da la opción.
#22
General / Re:Uso de pad virtuales en juegos tactiles
29 de Enero de 2013, 09:43:00 AM
Cita de: [EX3] en 28 de Enero de 2013, 11:36:05 PM
Si has de meter un pad virtual en tu juego para dispositivos de pantalla táctil es que o bien no esta diseñado para la plataforma (el caso de la mayoria) o bien es que falla algo en el diseño del juego y que no lo has pulido lo suficiente como para ser controlable fácilmente mediante toques o gestos. No hay más.
Coincido totalmente, es lo primero que se me ocurrió al leer este tema. Si los controles de un juego no son confortables en un dispositivo tactil quizá es que no esté hecho o pensado para esa plataforma.
#23
Proyectos / Re:Freerider (C++&SFML 2.0)
25 de Enero de 2013, 04:39:31 PM
Cita de: XÑA en 25 de Enero de 2013, 01:18:18 PM
Pues me han gustado mucho los detalles. El rastro que deja la tabla en la nieve, los saltos. El movimiento me parece demasiado 'arcade', quizás un poquito de física....

Buen trabajo  :D

Tienes razón, de hecho quería hacerlo simple. Tampoco me imagino como podría programar el comportamiento de una tabla de snowboard, así que lo hice lo más simple posible sin usar ningún motor de física, ni siquiera uno sencillo que implementé hace tiempo.

Y al ser puro 2D, tampoco podía complicarme mucho y tiré por unos acantilados como saltos, sin variaciones en el terreno.

Muchas gracias!
#24
Proyectos / Re:Freerider (C++&SFML 2.0)
25 de Enero de 2013, 12:52:28 PM
Muchísimas gracias Hechelion!
#25
Proyectos / Freerider (C++&SFML 2.0)
23 de Enero de 2013, 03:00:55 PM
Aquí estoy otra vez anunciando otro nuevo juego (completado). Trás la publicación de Rounded Soccer, me puse a crear otro juego usando su mismo framework, creando algo rapido y simple.



Descripción
Un simple juego de Snowboard donde se pueden recorrer mapas creados aleatoriamente mediante unos parámetros. Unos parámetros que varian dependiendo de la zona escogida en la montaña donde se quiere descender. Además de seleccionar la zona del descenso con un simple clic, se podrán seleccionar 3 modalidades. Freeride, Race (carrera a tiempo) o Flag (zig zag de banderas). Al finalizar el modo de carrera o banderas se puede grabar la puntuación en un highscore en línea.

Hay que tener en cuenta, que seleccionar mapas con más obstáculos aumentará el tiempo de descenso reduciendo la puntuación, pero se reciben puntos extra por la dificultad del descenso. No solo hay que ser hábil, sino seleccionar una zona adecuada.

Tecnología usada
C++ y SFML 2.0.

Plataformas
Windows.
Versión linux por compilar...

Controles
Mover - Flechas de dirección
Saltar - Espacio (cuando no se este girando).

Web & descarga
Descargar Freerider.zip (3.23 MB)
Web & Highscore

Videos

http://www.youtube.com/watch?v=yua5Zw9OEzk

Se agradecen comentarios por supuesto, gracias!
#26
Principiantes / Re:Ayuda para juego de Ajedrez
23 de Enero de 2013, 02:05:17 PM
Cita de: urkel en 22 de Enero de 2013, 08:15:52 PM
En principio, el algoritmo funciona, digo en principio, porque por lo que entiendo este algoritmo tan solo realiza el proceso de cortar ramas, no  de buscar la mejor solucion. http://chessprogramming.wikispaces.com/Best+Move

Si tienes ese algoritmo implementado y funcionando no necesitas más que calcular un heuristico en cada jugada como ya te han dicho. El algoritmo alpha-beta realiza el corte de ramas al mismo tiempo que busca la mejor solución.

Quizá sea cortito, pero sigo sin entender qué es realmente lo que te falta.

Cita de: blau en 22 de Enero de 2013, 10:44:09 PM
comer una reina puede suponer 100 puntos para el jugador max si se se la come a min y  -100 puntos si es min quien se la come a Max.. (que mal suena esto....  ^_^')
8o
#27
Principiantes / Re:Ayuda para juego de Ajedrez
21 de Enero de 2013, 10:51:32 AM
Deberías leer un poco sobre el algoritmo minimax que no es muy dificil implementar, y aplicar algoritmos para reducir el número de comprobaciones (nodos) como alfa-beta. Además, dado el tamaño de nodos que tiende a generar una partida de ajedrez, se suele limitar la profundidad del árbol tambien.
#28
Cita de: adrigm en 04 de Enero de 2013, 09:21:09 PM

Pero entonces, ya el identificador único no podría ser "sprite.png" porque sería ambiguo, tendría que ser la ruta comleta:

"ruta/del/ejecutable/Data/a/sprite.png"

con unos identificadores únicos tan largos que son cadenas de caracteres sería ineficiente ya que sabemos que la comparación de cadenas no es algo muy eficiente.

Yo optaría por esta opción más simple por razones que ya han comentado. Yo uso este método.
Además si para guardar los recursos usas por ejemplo una tabla hash o similar, al guardar valores hash de la clave (en este caso la ruta), no se hará la comparación de caracteres que te preocupa.
#29
Proyectos / Re:Curso programación de Videojuegos
18 de Diciembre de 2012, 10:35:02 AM
Para no perder el tiempo en temas de web y la plataforma online, por que no usar alguna plataforma ya existente para este propósito como por ejemplo Moodle?

Si necesitas ayuda en algun otro campo en lo referente a la programación C++ y SFML puedes contar conmigo, casualmente usando esa librería desde hace tiempo. Y otra cosa, quizas le vendría mejor otro título, ya que según el temario que has publicado no hay temas sobre la creación de videojuegos en si. Más bien, cómo aprender a programar y usar una librería, ORIENTADA a videojuegos.
#30
Yo en tu caso tiraría por la solución de capas, ya que según as dicho es un juego con tiles. Haz que sean todos del mismo tamaño, divide los grandes en varios y coloca sus partes en diferentes capas.

El metodo de las collisiones esta bien aplicada, si usas un buen algoritmo no tiene porque consumir. Por ejemplo, al usar una matriz, siempre puedes obtener la posicion del personaje en esa matriz a partir de la posicion XY del personaje. Y así solo comprobar las celdas adyacentes.





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.