Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Spermatozoon Attack

Iniciado por blau, 11 de Septiembre de 2010, 01:21:38 AM

« anterior - próximo »

blau

Estoy organizando carpetas y creando los repositorios, y me ha aparecido otro juego de esos que están al 90% del desarrollo, pero que el 10% que queda consume el 90% del tiempo.

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

Me queda que gestionar el multiplayer, la idea es hacer un versus, en el que haya un tiempo limite y la puntuacion otorgada venga en funcion del numero de intentos y el tiempo que reste para el nivel. Pero el problema estaba en equilibrar las posiciones de los espermatozoides para ser justos con todos los jugadores.

Aunque ahora mismo creo que ante la injusticia puede generarse pique.  >:D 

A ver si un día de estos lo termino.

The_Dragon_Ladis

Pues esta muy gracioso :P

Seguro que tiene que ser un pique en multijugador xD

Vicente

A mi me parece que está muy bien, anímate a terminarlo :)

tewe76

Sí que es original, sí. En Flash creo que triunfaría 8)
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

blau

#4
Me alegra que os guste.

Y ademas me he portado esta tarde/noche y lo he "terminado", quiero decir que es jugable en solo y multiplayer.

Para mi gusto tendria que hacer unos niveles mas,  mejorar la eficiencia de las colisiones, meterle particulas a las colisiones, hacer un fondo con una luz difuminada y corregir lo que salga. Casi nada :)

dejo la version jugable aqui: http://astro.estanuestraweb.com/deploy/Pepino.rar  (Updated: version sin threads)

Funciona con teclado o gamepad hasta 4 jugadores

Start: 1,2,3,4
Back: 5,6,78
ConnectarTeclado: F5-F8             ( esto es mas bien para put... depurar)
DesconectarTeclado: F9-F12      ( esto es mas bien para put... depurar)
A: Spacio, Enter, Q, AvPag
B: B



blau

tengo que recrodarme que deberia programar en una maquina perrera de oficina.

resulta que esta tarjeta grafica no soporta indices de 32 bits... (solucionado)

aqui se nota cuando se enchufa el recolector, asi que no sere tan bruto y optimizare el movimiento de las colas, genero tropecientos mil vertices en nuevas listas cuando generando una sola cola y aprovechando la misma lista podria valer. (digo yo que sera eso)

el caso es que en la xbox va de lujo.

a dar cera, pulir cera,... :)

blau

Pues lo de los tirones se debia a un thread que usaba para calcular las colisiones en los aros, aparte que daba un error al aplicar el bloom de memoria corrupta cuando estabas dos o tres minutos en el juego.

Le he quitado el thread y parece que va bien.

Tendre que optimizar las colisiones un poquito, porque cuando el aro lleva mucha carga de triangulos en la xbox tironea. :)

Hechelion

Lo acabo de probar y la verdad está de lujo.

El Frag me marco una tasa de frame entre 57 y 59, pero al momento de disparar el espermatozoide y cuando se ponía a calcular las colisiones, aunque la tasa de frame no bajaba la imagen se veía más lenta.

blau

Cita de: Hechelion en 15 de Septiembre de 2010, 05:34:48 AM
Lo acabo de probar y la verdad está de lujo.

Gracias  :)

Cita de: Hechelion en 15 de Septiembre de 2010, 05:34:48 AM
El Frag me marco una tasa de frame entre 57 y 59, pero al momento de disparar el espermatozoide y cuando se ponía a calcular las colisiones, aunque la tasa de frame no bajaba la imagen se veía más lenta.

cuando disparo el espermatozoide paso a modo bala, porque si no, no se lo pasaría ni dios, bueno, dios si, pero no ningún mortal. :P
aunque es cierto que daba sensación de tironeo, porque lo que hacia era no actualizar el movimiento de los aros durante 2 frames, ahora se actualizan con una velocidad de giro inferior. Y va mucho mas suave.

respecto a las colisiones he mejorado la colisión desde 30-40 ms en un PC perrero a menos de 1ms.  :o

ayer dio un gran salto qualitativo estuve haciendole optimizaciones y mejorando el acabado visual.

anoche termine liado con el sistema de particulas, a ver si lo termino y subo a playtest, a ver que tal.  ;)









blau

Pues ya esta en playtest

Por lo que probé anoche en la Xbox todavía en las colisiones no va fino como a mi me gustaria, aunque es pasable. Tendré que calentarme un poco mas la cabeza y no hacerlo tan a fuerza bruta.
Aqui dejo un link del algoritmo que uso para recomponer el perimetro despues de una explosion. algoritmo

Por lo demás, a ver si podéis echarle un vistazo y dar opinión. Es mi primer proyecto, así que supongo que surgirán algunos cambios.

Me queda verme como va lo del Trial y lo de poner un link al marketplace, la tabla de puntuaciones, y mas pulimento de los niveles.

Mi idea es tenerlo en playtest dos o tres semanas, ponerme otra vez con el, y rematar lo que quede.

Hechelion

Cita de: blau en 16 de Septiembre de 2010, 09:14:40 AM

Aqui dejo un link del algoritmo que uso para recomponer el perimetro despues de una explosion. algoritmo


CitarYou are not authorised to download this attachment.

blau

Cita de: Hechelion en 16 de Septiembre de 2010, 08:26:45 PM
Cita de: blau en 16 de Septiembre de 2010, 09:14:40 AM

Aqui dejo un link del algoritmo que uso para recomponer el perimetro despues de una explosion. algoritmo


CitarYou are not authorised to download this attachment.

lol, no me habia dado cuenta que tengo el foro restringido. :)


blau


Ayer necesitaba desconectar un poco y le eché el día al spermatozoon, y ya tengo una versión muy cercana a la final.

Le añadí efectos de sonido, le hice mejoras gráficas como una apariencia 3D de los aros, posibilidad de texturizar los aros, efectos de partículas para el movimiento de los espermatozoides, efectos de partículas para las explosiones, y tb solucione ( creo que lo hice) unos bugs en el cambio de estado cuando lo hago diferido durante unos segundos y alguno de los mandos se desconecta o pasa a pausa.

Tb le añadí que si el juego pierde el foco se pase a pausa.

Respecto a la jugabilidad le añadí la opción de que los aros no sean destructibles. (Ojala todas las añadiduras fueran tan sencillas como esta)


En fin que lo vuelto a subir por si alguien quiere echarle un vistazo. :)

http://astro.estanuestraweb.com/deploy/Pepino.rar


blau

#13
Revisando el hilo he visto que el algoritmo que puse antes ya no lo uso, como vi que Hechelion estaba interesado, voy a poner aquí el código que uso para hacer las sustracción en los aros:


Código (csharp) [Seleccionar]
     
public void Substract(Vector3 Pos, float Radio)
       {
          // Pasamos la posicion del Spermatozoide a espacio del aro
           Vector3.Transform(ref Pos, ref InverseTransform, out Pos);

           // Hallamos los vertices afectados por la explosion
           counter++; // VerticesAfectados.Clear();
           for (ushort j = 0; j < VertexData.Length; j++)
           {
               if (Vector3.Distance(VertexData[j].Position, Pos) <= Radio)
               {
                   VerticesAfectados[j] = counter;
               }
           }

           NewLenght = 0; //NuevoIndice.Clear();
           
           // Eliminamos los triangulos que tengan algun vertice afectado
           int decision = 0;
           for (int j = 0; j < TriangleData.Length; j += 3)
           {
               decision = 0;
               if (VerticesAfectados[TriangleData[j]] == counter) { decision |= 1; }
               if (VerticesAfectados[TriangleData[j + 1]] == counter) { decision |= 2; }
               if (VerticesAfectados[TriangleData[j + 2]] == counter) { decision |= 4; }

               switch (decision)
               {
                   case 0:
                       NuevoIndice[NewLenght++] = TriangleData[j];
                       NuevoIndice[NewLenght++] = TriangleData[j + 1];
                       NuevoIndice[NewLenght++] = TriangleData[j + 2];
                       break;
                   case 1:
                       if (VerticesAfectados[TriangleData[j + 1]] != counter && VerticesAfectados[TriangleData[j + 2]] != counter)
                       {
                           AristasData.Add(TriangleData[j + 1]);
                           AristasData.Add(TriangleData[j + 2]);
                       }
                       break;
                   case 2:
                       if (VerticesAfectados[TriangleData[j]] != counter && VerticesAfectados[TriangleData[j + 2]] != counter)
                       {
                           AristasData.Add(TriangleData[j]);
                           AristasData.Add(TriangleData[j + 2]);
                       }
                       break;
                   case 4:
                       if (VerticesAfectados[TriangleData[j + 1]] != counter && VerticesAfectados[TriangleData[j]] != counter)
                       {
                           AristasData.Add(TriangleData[j]);
                           AristasData.Add(TriangleData[j + 1]);
                       }
                       break;
                   default:
                       // No se añade el triangulo porque alguno de su vertices esta afectado
                       // No se añaden aristas porque hay mas de un vertice afectado
                       break;
               }
           }

           Array.Copy(NuevoIndice, TriangleData, NewLenght);
           Array.Resize(ref TriangleData, NewLenght);

            for (int i = 0; i < AristasData.Count; )
           {
               // Eliminamos aristas que contengan vertices afectados
               if (VerticesAfectados[AristasData[i]] == counter || VerticesAfectados[AristasData[i + 1]] == counter)
               {
                   AristasData.RemoveAt(i);
                   AristasData.RemoveAt(i);
               }
               else
               {
                   i += 2;
               }
           }

           Actions.Enqueue(UpdateIndex);
       }

       void UpdateIndex()
       {
           OffsetIndex = (OffsetIndex + 1) & 1;
           Pepino.Instancia.GraphicsDevice.Indices = null;
           IndexBuffer.SetData<ushort>(offsets[OffsetIndex] * 2, TriangleData, 0, NewLenght);
       }
 
[

matriax

EL juego en flash y con graficos de dibujos y sus fondos seria un WIN XD
Pagina Oficial: http://www.taykron.com
Flash Portal : http://www.arkatia.com
Blog Personal : http://matriax.blogspot.com/






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.