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

Temas - tamat

#1
Hola a todos:

El tema es que tengo un juego hecho en javascript que funciona perfectamente y quería ponerle multiplayer.

He probado diferentes aproximaciones (como hacer un server que haga broadcast de las acciones de los jugadores) pero realmente lo que necesito es que el server tenga una copia del mundo que coincida con la de los clientes.

El servidor lo he programado en Java y por ahora me dedicaba a rehacer el codigo javascript del juego en Java para que el servidor ejecute las mismas acciones, sin embargo he pensado en que tal vez sería mejor si el server ejecuta exactamente el mismo codigo que el cliente.
Se que hay implementaciones como Rhino o que la propia API de Java trae clases para ejecutar codigo javascript desde Java.

Alguien lo ha usado y puede decirme si realmente funciona? si es seguro? si es facil de integrar?

Gracias
#2
Es un error rarisimo y por mas que busco por internet no encuentro una solucion.

El tema es que tengo un codigo que tanto si lo compilo en eclipse como desde consola funciona perfectamente (en windows), pero si lo subo a mi servidor y trato de compilarlo ahí peta.

la linea que uso para compilarlo es:

javac -cp "libs\websocket4j-1.3.jar;libs\json_simple.jar" src\*.java

porque uso esos dos JARs, pero cuando trato de compilarlo en mi servidor UNIX me escupe errores de package not found:

GameClientSocket.java:8: package org.json.simple does not exist
import org.json.simple.*;

GameClientSocket.java:12: package websocket4j.server does not exist
import websocket4j.server.WebSocket;


Ahora bien, si pongo uno solo de los dos packages, entonces los errores de ese package desaparece, pero cuando pongo los dos entonces no va.

La linea que uso en mi server es:
javac -cp "libs/websocket4j-1.3.jar;libs/json_simple.jar" src/*.java

Alguien sabe por donde van los tiros? no será que los jars se compilaron con OpenJava y en mi maquina uso el de SUN?

Gracias

#3
Estoy tratando de hacer un FPS muuuy básico y me gustaría tener una fisica elemental.

Hasta ahora lo que hacía era crear una caja que envolvía al personaje y para cada movimiento testeaba primero si la caja colisionaba, si lo hacía anulaba el movimiento.

Esto funcionaba perfectamente hasta que decidí ponerle escaleras. Obviamente la caja choca con el primer escalon y el personaje no sube.

Mi primera aproximación fué calcular la envolvente de los puntos que colisionan, y si la máxima Y quedaba por encima de la posicion del player más un umbral, elevar el personaje hasta esa Y, pero la cosa se está empezando a complicar en casos en los que la pared es rugosa, ademas de que la colision de caja con mesh la hago lanzando rayos y en funcion de como salen esos rayos a veces no colisiona o colisionan haciendo que le personaje trepe paredes.

Me preguntaba si no habrá una aproximación a este problema que sea más asequible y simple.

Gracias
#4
General / Inde Game Developer Meme
02 de Abril de 2011, 08:38:10 PM
#5
Flash/Flex / Compilar Flash o Air para iPad/iPhone
26 de Octubre de 2010, 04:35:20 PM
Ahora que Apple ha levantado las restricciones, hay alguien que haya conseguido compilar una aplicación flash para mac y probarla?

La poca info que encuentro es muy vaga
#6
Supongo que muchos de vosotros habreis visto el port que ha hecho google de Quake2 en HTML5, ha salido hoy en meneame.net

Este es un tema que a mi me interesa desde hace poco ya que ando algo cansado de ver que la unica alternativa para desarrollar cierto tipo de aplicaciones en la web es casandose con una tecnologia privativa como es Flash.

La idea de HTML5 es clara, darle a la web toda la potencia que le falta para equipararlo a Flash (e incluso superarlo).

De hecho ya estabamos a un paso, Javascript se basa en el mismo estandar que Actionscript (los que hayais programado en ambos sabreis que son casi identicos).

El problema es que hay muchas cosas vitales para el desarrollo de aplicaciones multimedia ricas que en JS no podemos hacer por las limitaciones del browser (que algunos subsanan usando plugins), que son:

- Renderizar gráficos poligonales o vectoriales de manera rápida
- Aprovecharse del hardware gráfico
- Abrir sockets para conexiones permanentes
- Trabajar con audio y video de manera cómoda
- Almacenar datos en local (permitiendo hacer busquedas)

Sin embargo HTML5 se ha puesto las pilas para solucionarlo:

- El Tag CANVAS permite pintar vectorialmente (ala flash)
- WebGL es un binding de OpenGL desde JS, permitiendo sacar todo el jugo a la tarjeta gráfica.
- El nuevo standar WebSockets permite abrir sockets para ir más allá de AJAX (aplicaciones online a tiempo real)
- Los tags AUDIO y VIDEO permiten reproducir audio, saltar a un punto, etc.
- LocalStorage y DOM Storage permiten guardar datos seguros en el browser

Y todo esto implementado por defecto en el navegador, siguiendo normas de seguridad, y unificado bajo un unico lenguaje de programación (el cual está en sus ultimas versiones ha conseguido mejoras de rendimiento increibles).

Dicho esto, ¿qué falta para que la gente abandone definitivamente flash?

Bueno, falta un set de librerias, IDEs y editores gráficos que reemplace a Flash Editor o Flex Builder, pero eso es cuestión de tiempo.

Ahora solo falta una incognita, y es si Internet Explorer decidirá implementar WebGL, algo dificil vista la politica de microsoft.

Y vosotros, qué opinais? morirá de una vez Flash en pro de una web más libre?
#7
O3D me da un error rarisimo en Firefox, al pedir las texturas el plugin al navegador, este no se las da y el plugin genera una excepción desconocida.

Podeis probar esta demo que viene con o3D? (es de la web oficial de google)

http://o3d.googlecode.com/svn/trunk/samples/hellocube-textures.html

Solo teneis que abrirla desde firefox (necesitais instalar el plugin de google O3D) y decirme si veis el cubo.

Respondedme si se ve o no, y qué version de firefox usais.

Muchisimas gracias
#8
Programación en red / Sockets en Actionscript
16 de Marzo de 2010, 06:28:42 PM
He desarrollado una aplicacion que se conecta por socket con un server. En local no me da problemas pero en remoto la mierda de sistema de permisos de flash me da por saco.

He hecho todo lo que me dicen y más, y aun así nada.

El socket está escuchando en un puerto que no es el puerto http, aun así he puesto el crossdomain.xml en el root de mi server como dicen algunos tutoriales:

<?xml version='1.0'?>
<cross-domain-policy>
     <allow-access-from domain='*' to-ports='*' secure='false' />
</cross-domain-policy>


pese a todo veo que al server cuando se le conecta el cliente flash le suelta un mensaje pidiendole los derechos (lo obvio sería que pidiera primero al server http del puerto 80 y luego al socket, pero no, va directo al socket, y le envia este mensaje:

<policy-file-request/>

así que le he dicho al server que si algun cliente le pide eso pues que le obsequie con la string con el contenido del crossdomain.xml entero pero nada, me cierra el socket y por lo visto no le gusta lo que le respondo porque me salta la excepcion de violación del sandbox

Haga como haga al final el socket no conecta, pero insisto, si todo está en local no hay problemas.

Alguien lo ha conseguido?
#9
Estos días he 'pre-purchaseado' dos juegos indie, uno es la continuación del que para mi es uno de los mejores MODs que se ha hecho nunca, el Natural Selection 2, y el otro uno que he descubierto hoy pero que me ha dado muy buena pinta, minecraft.

La idea me parece genial, le das pasta a los desarrolladores para que puedan costearse el tiempo del desarrollo sin necesidad de hipotecarse o venderse a un publisher, y de paso tienen ya una visión del interes que el juego despierta en la gente.

Obviamente el juego puede que al final no salga y tu te quedes con cara de tonto (alguien pre-compró el Duke Nukem Forever?) pero yo lo veo como una manera de distribuir el riesgo, si al final el juego no sale, bueno, he perdido 10€, no pasa nada, por el contrario si el desarrollador deja su curro y se hipoteca y luego el juego no consigue distribuidor o no funciona, pues el tio está jodido.

Para evitar sustos basta pre-comprar juegos de gente que tenga el juego en un estado suficientemente avanzado como para que se vea que van en serio, que no sean de los que van por ahí diciendo que tienen una idea de la ostia que van a vender a un publisher sino que han demostrado que pueden trabajar bajo las circunstancias actuales.

Dentro de esta linea hay bastante gente del mundo indie, como el desarrollador de Dwarf Fortress (gran juego) que gracias a las donaciones que va recibiendo va mejorando el juego, de hecho dejó su trabajo para dedicarse solo a esto, y parece que la cosa le funciona, mientras entre pasta el tio añade features al juego, el día que se acabe el dinero pues fin del proyecto, aquí por lo tanto ya no compras el juego, digamos que inviertes en el desarrollador.

Sea como sea, es bueno ver que hay gente que cree en sus juegos y les dedica horas sin esperar a que venga nadie con un talonario a darle dinero sin mas.
#10
Buenas, estoy buscando información sobre juegos masivos online para navegador donde el jugador pueda dar ordenes que se van ejecutando incluso cuando no está online, y cuando está online entonces ve los resultados y las modifica.

Un poco en la linea de EVE Online pero en navegador. No tanto cosas como Travian o Icariam porque en esos juegos cuando te desconectas el juego no sigue realizando acciones, como mucho incrementan los recursos, ademas de ser por turnos. Busco algo más en tiempo real.

Gracias :)
#11
Programación gráfica / Python y Gráficos
02 de Septiembre de 2009, 07:50:39 PM
Quiero aprender a programar Python para poder prototipar rapidamente mis ideas, pero veo que el tema de Python + Gráficos no está tan claro.
Me he metido a usar PyOpengl pero al ser un binding de algo en C++ veo que va a ser más ofuscado de lo que pensaba y voy ha acabar odiando python.

Qué librerias hay montadas encima de Opengl y Python? Estoy mirando OpenglContext, alguna más?

Gracias
#12
General / Competicion de ZeroPunctuation
06 de Agosto de 2009, 03:08:00 AM
Miraba el ultimo video de Yatzee en ZeroPunctuation y he visto que para celebrar el video numero 100 organizan una competicion de juegos flash donde el premio es que el propio Yatzee haga un review de tu juego (para mi ya es premios suficiente).

El tema es que es flipado con que en las bases del concurso dicen que tienes que darles el codigo fuente... emmmm, y no son capaces de argumentarlo. Mal rollo, no?

Podeis verlo aquí:
http://www.escapistmagazine.com/contests/register/stonkinggreatgame_09

Creeis que es normal?
#13
En el trabajo estamos planteando añadir un motor de scripting para temas relacionados con definir la pipeline de render (ahora usamos un XML pero se nos queda corto ya y es demasiado ofuscado usar XML para definir procesos iterativos).

Estoy planteandome usar Javascript ya que LUA me parece algo tosco y Python demasiado pesado. Tened en cuenta que me interesa que las dependencias sean lo mas pequeñas posibles, porque sino redistribuir el framework que estamos haciendo en mi departamento se hace demasiado complejo.

Alguien ha experimentado con Javascript bindeado desde C++? Estoy mirando Spidermonkey (el motor de firefox) y V8 (el de Chrome).

Cualquier expertise al respecto será bien recibido.
#14
Programación gráfica / Papervision y Flash en 3D
14 de Julio de 2009, 12:31:27 PM
Llevo unas semanas liado con temas de flash en 3D, investigando librerias y tal.

Obviamente he acabado usando Papervision porque me resultaba cómodo, y en parte suple bastante bien mis necesidades, de no ser porque me da errores constantemente a la hora de cargar meshes.

Es algo extraño porque a mi me da warnings de que no encuentra los materiales y he acabado usando un hack que consiste en cargar los materiales de antemano. Lo peor es que a otras personas si que les carga los materiales usando la misma version de la libreria, de hecho usando el mismo codigo que yo con mis assets! Supongo que tengo algun problema con la version de action script, sino no me lo explico.

En fin, el motivo del thread es para saber qué experiencia hay por el foro en temas de flash en 3D.

Si quereis ver lo que estoy haciendo:

Demo orbital
#15
Era cuestión de tiempo, ahora falta ver qué pasa con la intelectual property, y si con un poco de suerte alguien compra el producto y lo saca de una puta vez:

http://www.shacknews.com/onearticle.x/58519
#16
General / LOVE: un juego indie que impresiona tecnicamente
29 de Abril de 2009, 05:35:15 PM
Me pasa Colson un enlace a un video que enseña el editor ingame del juego LOVE. Vi un video de LOVE hace tiempo y me sorprendió porque el render era curioso (usan algun tipo de postprocesado que no acabo de descifrar, entre filtro de mediana y minimo).

Teneis que ver el video del editor ingame así como del gameplay, impresiona bastante:

Editor: http://www.youtube.com/watch?v=DPIA2g8T6Hw
Gameplay: http://www.youtube.com/watch?v=Y-A8xvFKaRA&feature=related

#17
Programación de audio / Generador de sonidos 8bits
22 de Abril de 2009, 10:01:00 AM
Hace tiempo vi una aplicación muy sencilla y currada para generar samples al estilo supernes, en 8bits, el fondo era ocre y podias randomizar por sonidos como "saltar" o "disparo" y te generaba los parametros adecuados usando osciladores y demás para que luego lo pudieras tunear a tu gusto.

El nombre era algo como mugen, alguien sabe el nombre o donde encontrarlo?

Gracias.
#18
Estoy teniendo un error rarisimo en el curro y estoy ya cansado de ir haciendo pruebas a ciegas.

He programado el algoritmo de Relief Mapping, y funciona bien, pero curiosamente en los edges de los triangulos el algoritmo tiene un resultado distinto, lo cual es rarisimo si tenemos en cuenta que un pixel shader no hace distinción entre los pixeles interiores y exteriores de un triangulo.

He probado lo siguiente:
- desactivar cualquier tipo de antialiasing, tanto de tarjeta como de polygon_smooth
- repasar que el zbuffer se pinte bien para la mesh
- que los vertices sean los mismos entre triangulos

y sin embargo me sigue pasando. Alguna idea?


#19
Copio un post que puse en el foro de http://www.internetpierde.com sobre este gran juego:

Hoy vengo a hablaros de un juego que hará las delicias de los más nerds. Os pondré un screenshot a continuación para que vayais preparandoos:



Efectivamente, es un juego en ASCII. Ahora si somos capaces de abstraernos de eso podemos encontrar un juegazo como la copa de un pino, así que primero leed un poco de que va y luego opinad.

Mundos en ASCII

Tal vez hayais visto juegos ASCII anteriormente, a algunos les sonaran los MUDs que se jugaban por telnet, en estos todo se describia con texto en la linea de las aventuras conversacionales (con el aliciente de ser online y multiusuario).

Existen otros juegos en ASCII tambien de rol llamados los Roguelike Games que se parecen a este (aunque son singleplayer). En esos el mundo se representa usando caracteres ascii, así que el player puede ser una arroba y los enemigos diferentes caracteres. Uno puede entender que esto le quita muchos puntos al juego pero despues de probar este juego debo decir que al poco rato uno se acostumbra y no molesta para nada. Ademas el tiempo que se ahorran en arte lo invierten en hacer los mundos mucho más trabajados.

Dwarf Fortress es en ASCII pero si te cansas puedes instalarte un tileset pack que reemplaza los caracteres de los objetos más habituales por pequeños dibujos más semejantes al objeto que representan, y debo decir que con eso uno tiene más que de sobras.

A mi personalmente los Roguelikes games nunca me han llamado la atencion ya que acaban siendo como Diablo pero con peores gráficos, aun así hay gente que se ha currado frontends para esos juegos dandoles algo de arte que lo suavizan un poco.

Dwarf Fortress tiene el modo Roguelike llamado Adventurer, en ese modo puedes explorar el mundo luchando contra criaturas etc, beneficiandote de todo el mundo que han creado. Sin embargo el juego principal no se ha hecho popular por eso.

Creando mundos

Para empezar necesitamos un mundo sobre el que jugar, el juego viene con un mapa de muchos kilometros ya creado, sin embargo nos permite crear uno desde cero indicando ciertos settings, y los settings realmente tienen muchas opciones, que afectan a las partidas que juguemos luego. Hecho esto el juego crea un mundo gigantesco y lo guarda en disco. No solo crea el mundo sino que ademas aplica varios procesos como el de diseminar poblaciones, erosinar el terreno para crear cauces de rios, o computar la historia de los ultimos 200 años.

En adelante podremos jugar diferentes partidas en ese mundo y si nos cansamos podemos crear otro nuevo.

Modo Dward Fortress

Este es el modo de juego caracteristico y que consiste basicamente en crear tu propia madriguera de enanos, en la linea un poco de otro gran juego como Dungeon Keeper pero con componentes parecidos a los RTS.

La idea es ir dando ordenes y ver como tus enanos van realizando las acciones. Para ello tendras que asegurarte de que dispongan de los skills y los materiales necesarios.

Para crear nuestra base tendremos que agujerear la roca, talar arboles, diseñar salas de trabajo, construir muebles, plantar semillas, almacenar comida, nos preocuparemos de que cada enano tenga su lugar de dormir, y poco a poco veremos como nuestro fuerte crece.

Hay una increible cantidad de acciones así como de situaciones u objetos lo que le da mucha profundidad y vida a la partida. Además si no hacemos nada veremos como van sucediendo diferentes cosas en nuestro entorno ya que es bastante vivo.

Un ejemplo es que se me ocurrio agujerear una montaña hasta que llegué al lecho de un lago y aunque me avisó de que no cabase en esa dirección probé de hacerlo para ver qué pasaba, entonces ves como el agua inunda todas las galerias de la mina arrastrando con todos mis enanos.

Una de las cosas increibles del juego es que no solo el mapa es gigante en extension, tambien en profundidad, ya que puedes escabar cuanto quieras en una montaña y vas encontrando diferentes cosas, como por ejemplo capas de minerales, cuevas, cauces subterraneos, etc. En esta linea me recuerda a Sim Ants ya que tienes que tener en cuenta todas las dimensiones.

Para controlar a tu personal puedes darles ordenes, establecer profesiones, equipar con objetos, decir qué habilidades puede usar y cuales no, subir de nivel en la jerarquía de tu colonia, etc.

Los enanos van ganando experiencia conforme realizan las actividades y poco a poco vas especializandolos para cada tarea (que hay una lista enorme).

Si lo haces bien nuevos enanos van llegando a tu fuerte con lo que tienes más mano de obra (y más bocas que alimentar).

El tema militar se resuelve creando patrullas y dandoles rutas, o enviandolos a la aventura para recolectar cosas en la cercanía. Además tiene toda la parte de defensas de tu fuerte para evitar que los jodidos elfos te lo destruyan.

Edit: Olvidé mencionar que el juego es singleplayer, en parte porque el mundo es muy grande como para que dos usuarios puedan conectarse por internet, y tambien porque necesitas pausar el juego bastante para dar ordenes o de lo contrario la cosa se va facilmente de las manos.

En fin, os sugiero que mireis estos video tutoriales que se ha currado un tio donde explica todas las pijadas del juego.

A mi me ha dado mucho que pensar ver que alguien ha conseguido hacer algo tan currado olvidandose totalmente de los gráficos, tenemos mucho que aprender de este tio.

Incluso un tio se ha currado un programa para visualizar en 3D el mundo:
#20
Ya comenté este problema en mi anterior thread pero como no puedo avanzar en el otro problema debido a este mejor lo posteo por separado.

El tema es que al ejecutar me pide la OPENGL.DLL pero siempre me había pedido la OPENGL32.DLL, hasta donde se la primera es la nativa del sistema operativo, mientras que la segunda la pone los drivers de la tarjeta gráfica.

Alguien sabe a qué se debe que ahora me pida una y no la otra? puede tener que ver con el orden de inclusion de los headers? Yo linko contra opengl32.lib (y glut32.lib y SDL.lib).

Gracias





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.