Página 2 de 3

Re: Proyecto CarWars!

Publicado: Lun, 25 Ene 2016, 08:21
por na_th_an
Déjame que le eche un ojal. La verdad es que no recuerdo muy bien este tipo de enemigos porque creo que no los usamos desde el Helmet. Probablemente haya un bug. Ese código se pasó desde MK1 (la churrera) y jamás se ha utilizado, así que seguro que en el proceso de adaptación se nos pasó algo.

Ya te cuento.

Re: Proyecto CarWars!

Publicado: Lun, 25 Ene 2016, 08:34
por na_th_an
A ver, creo que el tema es que el código es un poco castaña ^_^u Aquí es donde se lanza un enemigo nuevo:

$this->bbcode_second_pass_code('', 'case 0:
if (en_an_dead_row [gpit] == 0) {
baddies [enoffsmasi].x = baddies [enoffsmasi].x1;
baddies [enoffsmasi].y = baddies [enoffsmasi].y1;
en_an_alive [gpit] = 1;
en_an_rawv [gpit] = 1 << (rand () % 5);
if (en_an_rawv [gpit] > 4) en_an_rawv [gpit] = 2;
en_an_dead_row [gpit] = 11 + (rand () & 7);
#if defined(PLAYER_KILLS_ENEMIES) || defined(PLAYER_CAN_FIRE)
baddies [enoffsmasi].life = ENEMIES_LIFE_GAUGE;
#endif
} else {
en_an_dead_row [gpit] --;
}
break;')

El valor en en_an_rawv es el que contiene la velocidad con la que saldrá el enemigo (en valor absoluto). Según ese código, se saca un número de 0 a 4 inclusive, se echa para la izquierda ese número de espacios un 1 (con lo que se obtiene 1, 2, 4, 8 o 16)... Pero luego pone que si es mayor que 4 se cambie a 2.

O sea, que la velocidad será al azar entre 1, 2, 4, 2, 2. Casi siempre saldrá 2. No sé si ese es el efecto que obtienes.

Como en cada pantalla se reinicia la semilla del generador de números aleatorios, la secuencia obtenida siempre será la misma. A lo mejor es por eso por lo que parece que el tercero de una pantalla de tres es diferente.

Podríamos intentar mejorar esto. La verdad es que no recuerdo muy bien por qué es así; quizá se hizo para que la mayoría de las veces la velocidad del enemigo fuera 2. Quizá quitando el limitador (el if) y empleando una expresión como

$this->bbcode_second_pass_code('', 'en_an_raw [gpit] = 1 << (rand () % 3):')

tengas mejores resultados (saca 1, 2, o 4).

El problema es ver qué velocidades son aceptables. El movimiento de estos enemigos no usa aritmética de punto fijo como el de, por ejemplo, los enemigos tipo 6 o el personaje principal. Los valores son enteros y eso significa que estamos hablando de 1 pixel por frame, 2 o 4. No hay más granularidad, y 4 es quizá demasiado rápido para un enemigo que te persigue de esa manera.

Si usas

$this->bbcode_second_pass_code('', 'en_an_raw [gpit] = 1 << (rand & 1);')

Sólo tendrás enemigos de velocidades 1 o 2. Si quieres velocidades intermedias, necesitamos adaptar esto y meterle punto fijo a las coordenadas. No debería ser demasiado complicado.

Re: Proyecto CarWars!

Publicado: Lun, 25 Ene 2016, 15:44
por salvaKantero
Arreglao! :mc:

Me he limitado a darle el valor 2 a en_an_rawv, que es la velocidad que me conviene.
4 es la velocidad muy rápida que te comentaba antes. Así que es de suponer que en_an_rawv siempre valía 4 con el código sin parchear. Ese sistema de velocidad aleatoria parece que no va muy fino en MK2. Al menos en el conjunto de todo el mogollón de cosas que tengo activadas en el config.h
Gracias otra vez!

Re: Proyecto CarWars!

Publicado: Lun, 25 Ene 2016, 17:08
por angel
Qué pinta más cojonuda :D

Re: Proyecto CarWars!

Publicado: Mar, 26 Ene 2016, 10:40
por na_th_an
Realmente muy chulo.

Y no, no va nada fino. Es un poco (bastante) chapu. A ver si encontramos el rato para hacer un tipo 7 un poquito mejor.

Re: Proyecto CarWars!

Publicado: Dom, 14 Feb 2016, 11:38
por alxinho
Buenas a todos!

No veas qué pintaza de proyecto!!

Ánimo y deseandolo probar!!

:cheer:

Re: Proyecto CarWars!

Publicado: Lun, 30 May 2016, 09:35
por salvaKantero
Buenass. El proyecto está prácticamente acabado. Gracias a todos por vuestros ánimos. He tenido que sacrificar las passwords para acceso directo a niveles y algunas otras cosillas por problemas de falta de memoria. Pero el resultado final es más o menos el esperado.

Aun me quedan dos temas musicales con el WYZ, que se me están atragantando porque no es nada fácil. (Que mérito tiene lo del murciano)

Y otro asunto es la licencia. Es la misma que la de la Churrera?? El acceso directo a "Licencia.txt" del post de Anjuel está caído. Yo de momento tengo puesto este texto...

LICENCIA:

MK2 está bajo licencia Creative Commons 3.0 "by-nc-ca", o sea, "Reconocimiento-NoComercial-CompartirIgual 3.0 Unported (CC BY-NC-SA 3.0)"

Esto significa que eres libre de:

- Copiar, distribuir y comunicar públicamente la obra.
- Transformar la obra.
- Crear productos derivados de la obra.

Bajo las siguientes condiciones:

Reconocimiento — Debes reconocer los créditos de la obra de la manera especificada por los Mojon Twins; sólo te pedimos que incluyas el texto "Powered by MK2" o incluyas el logo que incluimos en el archivo logo.png en un lugar visible, como puede ser la pantalla de carga o la portada del juego.

No comercial — No puede utilizar esta obra para fines comerciales.

Compartir bajo la misma licencia — Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta.

Entendiendo que:

Renuncia — Alguna de estas condiciones puede no aplicarse si se obtiene el permiso de los Mojon Twins.
Aviso — Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.


Ya me contareis. Saludoss

Re: Proyecto CarWars!

Publicado: Lun, 30 May 2016, 10:45
por na_th_an
Sí, básicamente es la misma licencia que la Churrera (MK1). He actualizado el link, se ve que algo ha cambiado en el servidor que ha invalidado el anterior enlace:

https://www.mojontwins.com/licencia-mt/

Gracias por avisar :)

¡Y enhorabuena por el parto! ¡Deseando verlO!

Re: Proyecto CarWars!

Publicado: Mar, 14 Jun 2016, 11:04
por Cthonian Godkiller
Que pinta mas guapa, la imaginación no tiene límites :corchoneta:

Re: Proyecto CarWars!

Publicado: Jue, 14 Jul 2016, 02:12
por salvaKantero
:vahka: Se acabó. Si quereis echarle un vistacito lo teneis en... https://www.dropbox.com/s/e13wozyz395cs ... S.zip?dl=0

En cuanto al código fuente, no lo he incluído esta vez porque está tan manoseao y desvirgao (ahora que no me lee el nath :brasas: ) que dudo que sea de utilidad. Pero si veis alguna característica nueva en el juego que os interese preguntadme que os paso los módulos o funciones en cuestión "pasadas a limpio"

Ala, a otra cosa!