Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: hokuto40 on April 03, 2017, 08:34:15 AM

Title: preguntas de un principiante sobre bennugd
Post by: hokuto40 on April 03, 2017, 08:34:15 AM
saludos a todos,bueno mi primera pregunta es si se pueden cargar mapas creados con el tiled map editor, porque hacerle por codigo me parece mucho trabajo,tambien queria saber si hay otro sistema de colision diferente de las duresas,tambien queria saber si hay alguna manera de que tenga autocompletado de codigo en notepad++,porque para mi que estoy empezando me vendria de lujo,tambien queria saber si hay una wiki en español y por ultimo queria saber si hay pensado sacar un bennugd 2.0,porque con programas como gamemaker,unity,godot,love2d etc,me parace que bennugd se a quedado anticuado y no le vendria mal una actualizacion completa,bueno me despido y espero con ganas buestras respuestas.
Title: Re:preguntas de un principiante sobre bennugd
Post by: JaViS on April 03, 2017, 01:33:55 PM
Vamos por parte


1) Apreciamos, sobretodo yo que soy bastante hinchapelota, que formatees mejor los mensajes asi se hace mas facil leerlos. Todo en un párrafo es un quilombo.


2)
Quotese pueden cargar mapas creados con el tiled map editor
Yo hice una libreria para cargar mapas, pero es bastante vieja y quizas esté desactualizada. hay un par de pruebas que a mi me funcionaron bien, pero hubo un usuario que tenía problemas.


3) 
Quotesi hay otro sistema de colision diferente de las duresas
La librería en cuestión usaba un mapa tileado para las durezas, no lo hacía por imagenes.


4)
Quoteautocompletado de codigo en notepad++
No tengo idea


5)
Quotewiki en español
No, pero hay un par de libros y manuales en español, sobretodo te recomiendo el de Osk


6)
Quotehay pensado sacar un bennugd 2.0,porque con programas como gamemaker,unity,godot,love2d etc,me parace que bennugd se a quedado anticuado y no le vendria mal una actualizacion
BennuGD 2 ya está en desarrollo, pero va lento. Pixtudio por otro lado, es una actualizacion importante a Bennu que ya es usable, aunque pierde un par de features y es incompatible en algunas cosas.


Saludos y bienvenido!
Title: Re:preguntas de un principiante sobre bennugd
Post by: hardyx on April 03, 2017, 03:46:19 PM
Autocompletado creo que no hay (necesita ficheros de reglas complejos), pero tienes resalte de sintaxis aquí:
http://wiki.bennugd.org/index.php?title=Tutorial:Setting_up_Bennu_with_Notepad%2B%2B (http://wiki.bennugd.org/index.php?title=Tutorial:Setting_up_Bennu_with_Notepad%2B%2B)

Title: Re:preguntas de un principiante sobre bennugd
Post by: l1nk3rn3l on April 04, 2017, 04:22:12 AM
http://pixtudiopack.blogspot.com

te permite usar tiles , incluye ejemplos , y la exportacion a android es oprimiendo un
boton ... te incluye todo...

pixtudio incluye nuevas mejoras a bennu como SDL2 o aceleración por hardware (gracias a Joseba)
por lo tanto no estan permitidas operaciones de 8 bits solo se permite 16 y 32 bits(mejor calidad grafica)
por eso algunas funciones de 8bits de bennu ya no estan soportadas..

dentro de poco bennu/pixtudio soportara multiplayer online(photon) y motor3d (urho3d)
y exportacion de proyectos a html5

bajate el benchmark para android .. a ver como va

http://pixtudiopack.blogspot.com


Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on April 04, 2017, 11:48:55 AM
Venga, va, lo digo yo: sí que hay un fichero de autocompletar de Bennu para Notepad++... o al menos a mi me autocompleta las funciones junto con el coloreado de sintaxis. Lo que no recuerdo es el enlace, pero es una de las últimas versiones de Notepad++ que subieron al foro. Si no, seguro que está en el BennuPack ¿Al final el IDE FlameBird es compatible con Bennu o no? era el mejor IDE para novatos en Fenix.

El tema de colisiones, yo he entendido que pregunta en general. En principio, el sistema de durezas es el más usado por su simplicidad, pero puedes implementar cuaquier otro si sabes cómo hacerlo. Si no, la librería de físicas Chipmuk (en el BennuPack) te permite crear paredes y cajas de colisión como cualquier motor de físicas, pero ya sabes que sólo funcionará en la plataforma en la que está compilada, y yo no me haría ilusiones de que funcione en dispositivos portátiles ^^U

...
¿Qué?
...
Venga, va: hay como dos o tres motores de scroll tileado. No me preguntes cuales porque yo tengo el mío propio, con mi propio editor y todo, y es el que uso. Está subido al foro, por lo que no te costará mucho encontrarlo si lo quieres probar. Carga 4 formatos diferentes (3 de ellos propios) y sólo necesitas conocer unas 7 funciones como mucho. Vienen ejemplos de uso y son casi tan sencillos como crear un scroll con el propio Bennu.
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on April 06, 2017, 09:21:20 AM
Gracias por vuestras respuestas,lo del autocompletado esta en la seccion de herramientas de un tal Josemym2,pero solo esta el primer archivo que completa las funciones,despues saco otro que

completaba funciones pero tambien con los parametros y es ese el que busco pero el enlace esta caido,lo de las durezas me esta costando,sobre todo viendo el motor de plataformas que viene con

el bennugdpack porque la verdad no entiendo nada,tambien las animaciones me parece complicado,en fin me lo tomare con calma aunque yo que empiezo no me veo futuro,y una

pregunta por ultimo estube haciendo un ejemplo y hice procesos en otro archivo y las inclui con
include en el process main pero las variables globales no me la cogen desde esos otros procesos

me da error y por ultimo que se me olvidaba el tutorial de windgate le faltan capitulos,y es el que me gusta porque el de osk es bastante duro de leer.Hasta la proxima
Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on April 08, 2017, 11:01:40 AM
En el tema de durezas y animaciones es cuestión de dedicarle tiempo y paciencia. Hay que sentarse y reflexionar sobre ello largo y tendido.
Lo que sí te recomiendo es que intentes que en el código del personaje, tanto una cosa como otra, queden lo más aislados del resto como sea posible, porque en un momento dado, si cambias la animación (porque te parece lenta, porque añadas una nueva, o porque cambies el tamaño de los mismos) no deberías tener que cambiar la "lógica" del personaje: ya es bastante complicado crear una IA competente como para tener que cambiarla porque la nueva animación tiene tres imágenes más (y eso en el mejor de los casos).

Ten cuidado con los include: es como copiar código de un fichero en otro, pero ojo, que para los include, todo el código que hay después NO EXISTE (o algo así). Lo ideal es que el código "incluido" vaya después de la declaración de variables. Es más, yo siempre recomiendo que de cada código que vayas a separar hagas DOS ficheros: uno donde declares todas las variables globales, locales, públicas y las constantes (así como los "declare" que quieras añadir), y otro donde escribas el código de los procesos y funciones. De esta forma, desde el código principal, puedes declarar las variables principales y las de todos los includes, y después declaras los códigos, y no tendrás ese problema de dependencias.

Y por último, si el manual de Osk te parece duro, agárrate porque vienen curvas, porque es de los manuales más completos y amenos que vas a encontrar en programación ^^U Ten en cuenta que el manual de Osk se le conoce como la "Biblia de Bennu" (en realidad es la "Biblia de Fenix", pero casi nadie usa ya ese lenguaje :P ). Una vez que has asimilado todos sus conceptos puedes considerarte como un programador de nivel medio-alto, pero tienes que tomártelo con paciencia, porque es muy largo, pero eso, toca casi todos los aspectos de la programación con Bennu y de videojuegos clásicos 2D.
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on April 11, 2017, 08:25:32 AM
Gracias por tu contestacion Drumpi,el manual de osk me parece muy pesado,porque es muy largo pero tienes razon toca muchos apectos de bennugd y es de agradecer tener un manual tan completo,pero para un principiante es bastante duro de roer y yo que no soy muy paciente,tendre que tomarmelo con calma.Hasta luego
Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on April 11, 2017, 12:16:32 PM
Pues lo cierto es que yo hubiera preferido tener este manual antes que muchos otros ^^U
Ten en cuenta que va desde un nivel para gente que no sabe de programación, hasta lo que podría considerarse el salto de programador junior a senior. No es un manual para leérselo en una tarde, tiene contenido para aprender durante varios meses, y tiene una fantástica adaptación del capítulo 4 del manual de DIV, con el que puedes crear un matamarcianos en un par de días (o en una tarde, si eres tan inquieto como yo :D).
Tampoco necesitas leerlo entero, pero es que te habla hasta del tema de punteros, que ya es una característica bastante avanzada para un novato, e incluso yo he aprendido alguna cosa nueva leyéndolo tres años después de empezar con Fénix.

Pero bueno, es un lenguaje de programación, hay que tomárselo con calma e ir aprendiendo poco a poco, porque si intentas ir dando saltos, te pasará como a mi y te darás de cabezazos contra la pared :P
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on April 18, 2017, 08:55:23 AM
Hola,he estado probando pixtudio para ver lo de los tmx con tiles, pero no vienen ejemplos y no se como cargarlos en bennugd,agradeceria que me comentaran como hacerlo,hasta luego
Title: Re:preguntas de un principiante sobre bennugd
Post by: l1nk3rn3l on April 18, 2017, 02:46:50 PM
Cordial saludo,

Los TMX  de tile studio como se dijo en un post, no se han integrado con bennu
(ya lo tenemos listo, pero no esta incluido como un mod_tmx.dll por asi decirlo)
de pronto este fin de semana lo hacemos para que puedas disfrutarlo..

de momento usa el ejemplo de mappy incluido en cada pack

Bennu 

+Mod_mappy

Pixtudio

+05_TilesModMappy


que usa el editor
http://www.tilemap.co.uk/mappy.php
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on April 24, 2017, 08:45:18 AM
Hola l1nk3rn3l,perdona si tardo tanto en responder pero es que no tengo internet en casa,yo suelo ir a una biblioteca una vez a la semana,bueno gracias por responderme y voy a probar lo que me comentas.

Te queria hacer una pregunta y es si se puede meter un fondo del tamaño que se quiera para hacer un plataformas y marcar el suelo con una linea para detectarlo en la colision,no se yo si dara problemas de rendimiento si es muy largo, tambien queria comentarte que he estado viendo el motor de plataformas que trae el bennupack pero no acabo de entenderlo,

la verdad es que cuando hay codigos muy largos no me aclaro y queria saber si hay ejemplos con codigos pequeños para ir aprendiendo poco a poco como los basicos del bennupack.Un saludo y hasta luego
Title: Re:preguntas de un principiante sobre bennugd
Post by: FreeYourMind on April 24, 2017, 09:13:30 AM
tienes que estudiar el codigo de castle of dr. malvado, es el plataforma por excelencia para aprender
Title: Re:preguntas de un principiante sobre bennugd
Post by: l1nk3rn3l on April 24, 2017, 03:11:45 PM
En este directorio esta el ultimo bennupack (editor y documentacion)

https://sourceforge.net/projects/coldev/files/bennupack/

en el mismo directorio esta un ejemplo llamado motor plataformas.zip

http://forum.bennugd.org/index.php?topic=3404.msg58636#msg58636

el ejemplo es pequeño e incluye las bases de usar un mapa de durezas
para detectar que es piso y que no , usa plataformas moviles , y mejor los graficos estan en png
para facilitar la comprension del ejemplo...

Puedes usar un mapa de una imagen grande (solo estaria limitado por la memoria ram y de video
donde se ejecutara el juego) el rendimiento sera igual, ya que bennu solo consulta un pixel de la imagen
para verificar colisiones con el mapa de durezas, asi que el rendimiento sera lo mismo ...

Buen dia..
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on April 27, 2017, 08:31:51 AM
Gracias por vuestras respuestas ,lo estudiare a ver si me aclaro
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on May 02, 2017, 10:08:25 AM
Saludos,he estado profundizando en el fpgeditor y he visto que se puede cambiar la velocidad de la animacion,pero cuando la cambio y lo pruebo en el juego la velocidad sigue igual,agradeceria que alguin me esplicara como hacerlo bien.

Comentar que he ojeado todos los ejemplo de plataformas y no me entero de nada,la verdad es que me esta costando mas de lo que yo me esperaba y estoy plantenadome volver ha usar contruct 2 o game maker,con estos programa he creado juegos sin problemas pero con bennugd me resulta muy dificil,hasta unity me parece mas facil.

Bueno le voy a dar un tiempo pero si no avanzo tal vez lo intente con unity que hay muchos tutoriales o tal vez vuelva con los otros dos que he comentado que ya se usar.Hasta luego
Title: Re:preguntas de un principiante sobre bennugd
Post by: oskarg on May 03, 2017, 09:19:59 AM
Te respondo.......
Si quieres que las animaciones vayan mas o menos deprisa hay multiples formas de hacerlo ,te comento unas cuantas..
1.Definir una variable y cuando llegue a cierta cantidad hacer frame.
2.cambiar directamente el valor de frame........por ejemplo frame(200)
3.guardar la animacion en una tabla de valores y donde quieras que vaya mas lento,le asignas,repites el numero de fotograma..1,2,3,3,3,3,3,3,4..

Si,los otros engines son mas sencillos y me gusta personalmente esa filosifia de no escribir casi nada de codigo......pero con bennugd puedes hacer cualquier cosa y cuando programas ,no se,te sientes que tu eres el que controla realmente todo y ahi radica la gracia que la limitacion la impones tu,no el engine.
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on May 03, 2017, 03:40:47 PM
Gracias por tu contestacion,lo seguire intentando pero la verdad cuando vez que hay tantos videotutoriales para unity y las cosas que se pueden hacer con el son impresionantes, pues es dificil resistirse y ademas tiene ayuda en el codigo y es muy facil contruir un escenario y la fisica te hace muy sencillo hacer un plataformas.

Tambien comentarte que he visto todos los ejemplos pero solo entiendo los basicos,si hubiera tutoriales esplicandolo todo paso a paso como uno de plataformas o de peleas etc.. pues seria otra cosa,la verdad es que el tema de las colisiones con paredes y suelos fue una de las razones por las que deje de usar gamemaker y me puse con contruc 2,en fin me despido y hasta luego
Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on May 03, 2017, 05:02:06 PM
Es que FPGEditor no tiene nada que ver con Bennu. Lo de la velocidad de las animaciones es simplemente una vista previa de cómo quedaría en pantalla. Hacer que la velocidad de la animación sea más lenta o rápida la tienes que programar tu, bien como comenta oskarg, o con un contador que haga que cada 2 frames, 4 frames, o los que tu quieras, cambie.

Y no te lo voy a negar: hacer un juego de plataformas no es fácil en Bennu, y menos si lo comparas con Construct2, Unity, etc. La diferencia es que en Bennu, pese a sus limitaciones, es sorprendentemente más rápido que con Unity. Estuve trabajando en un juego en el que un Dual Core se arrastraba para tener 12 personajes y mover 5 en pantalla fija, y sin embargo, en Wiz (1 cpu a 700MHz sin aceleración gráfica) puedo poner a 15 enemigos en un scroll tileado sin optimizar, con una detección de durezas horrible, a la misma velocidad.

¿Qué pasa? Lo que ya te he comentado: Unity tiene el motor Physx ese que te hace todo el trabajo, y en Bennu no. Bueno, te lo dije y no lo has mirado: tienes Chipmunk que te hace eso mismo (lo que no tengo son enlaces a las demos de la gente)
Y tutoriales de plataformas hay: en el manual de Osk creo que está comentado el código del Castle of Dr malvado en versión Fenix, paso a paso, y ese mismo código lo tienes para DIV en el "Manual avanzado", que es un tocho para leer de narices, pero te explica los matamarcianos, los plataformas, RTS, Aventuras gráficas y creo que hasta un Street Fighter. Pero hay que ponerse a leerlo.

Yo no recomiendo empezar por un juego de plataformas. Deberías empezar con un matamarcianos, seguir con algo en vista aerea, tipo carreras de coches o un juego de acción, y cuando ya domines las bases, ponerte con un juego de plataformas. Muchos novatos caeis en el mismo error, y por eso el 70% acaba abandonando.

Yo te recomendaría que le dedicases tiempo y siguieras con bennu, pero si necesitas resultados tan pronto, no te voy a decir que no pruebes fuera, pero por mucho que digan, a día de hoy, creo que Bennu es mejor para 2D que cualquier otro lenguaje.
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on May 04, 2017, 08:19:22 AM
gracias por tus respuestas dumpi,he visto chimuk de fisicas de bennugd pero no entiendo los ejemplo y en el manual de osk tambien he visto el tutorial de plataformas pero tampoco me aclaro,ya casi he terminado el manual peor a partir de la mitad mi cabeza empieza a dar vueltas.

Tambien he acabado el manual mas corto y cuando llegue a las animacion y lo de las durezas empece a ver visiones ;D y como te comente lo ejemplo saliendome de los basicos no me aclaro, he intentado hacer un matamarcianos pero cuando intento hacer mas cosas que lo que biene en el tutorial pues no se.

Con respecto al manual de div donde puedo conseguirlo porque lo he buscado y no lo encuentro,la verdad es que el lenguaje de bennugd es el que mas me gusta de todos los que he probado junto con python pero reconosco que no soy muy bueno,voy a crear otro tema pidiendo unos tutoriales a ver si alguien me hecha una mano.
Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on May 06, 2017, 12:49:03 AM
Venga, te doy una pista sobre las animaciones:

cont++;
if (cont == 4)    //Así el gráfico cambia cada 4 frames
    cont = 0;
    graph++;
    if (graph == CTE_ULTIMO_GRAFICO_ANIMACION)
        graph = CTE_PRIMER_GRAFICO_ANIMACION)
    end
end
...
frame;


Lo de las durezas, no te martirices, porque es algo que cuesta entender de buenas a primeras. Primero intenta usar un mapa de durezas del mismo tamaño que el que verá el jugador, y cuando lo entiendas lo reduces. La idea es comprobar el color de los píxeles del mapa por los que va a pasar el personaje en ese frame. Es decir, que si va a avanzar 4 pixels, tienes que hacer 4 comprobaciones, pero si sólo una falla, ya no puedes avanzar (o tienes que desviar la trayectoria, ya depende de lo que estés programando). ¿Qué se comprueba? si el pixel permite pasar a tu prota o no, por ejemplo, si el color del siguiente pixel es el 0 (negro), puede seguir avanzando, pero si es 1 (por ejemplo, rojo) ha topado con una pared y no podrá moverse.
¿Cual es la mayor dificultad? el movimiento en diagonal, que lo mismo se puede mover en vertical, pero no en horizontal, o por cada pixel en vertical se debe mover dos en horizontal. Y claro, en un juego de plataformas, donde intervienen el movimiento del jugador (horizontal) y la gravedad (vertical), pues tienes ese problema siempre. Por eso insistía en que empezases por algo en vista vertical: en el peor de los casos, el movimiento diagonal es de 45º.

Si no sabes cómo programarlo, recurre a los diagramas de flujo, o al pseudolenguaje, o a cualquier lenguaje que domines, y luego intentas traducirlo a Bennu.

Sobre los libros, lo siento, sé que se subieron al foro, pero no recuerdo dónde, ni si los descargué ni... Yo ya me los leí en su momento porque me los dejaron una temporada y casi que me los aprendí de memoria, aunque tengo que repasarlos para añadir plataformas móviles a uno de mis juegos.
Pero tómatelo con calma, esto lleva tiempo y mucho ensayo y error: mi primer plataformas, FenixLand, tardé como un mes en conseguir que el prota caminase, y aun así tenía fallos que he ido corrigiendo con el tiempo. No sé ni donde anda la descarga ya (el proyecto lo tengo)
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on May 08, 2017, 03:40:54 PM
Gracias drumpi por contestarme,seguire intentandolo aunque creo que me pondre con un juego de naves primero
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on May 12, 2017, 08:23:28 AM
Hola aqui estoy de nuevo,queria comentar que voy hacer un juego de naves parecido al r-type,pero no se como darle el movimiento a las naves enemigas para que quede parecido a las del r-type,tampoco se como hacer un jefe final parecido a los del r-type,agradeceria que me esplicarais como podria hacerlo.

Tambien queria preguntar si hay una wiki en español para bennugd,yo me descarge la del bennupack pero esta en ingles y yo no me manejo con el ingles,por lo tanto no entiendo nada.

Por ultimo queria saber si hay pensado sacar el bennugd2 este año o todavia le queda mucho y agradeceria que me comentarias que novedades va a traer.Un saludo y hasta luego :D
Title: Re:preguntas de un principiante sobre bennugd
Post by: SplinterGU on May 12, 2017, 11:42:41 AM
Quote from: hokuto40 on May 12, 2017, 08:23:28 AM
Por ultimo queria saber si hay pensado sacar el bennugd2 este año o todavia le queda mucho y agradeceria que me comentarias que novedades va a traer.Un saludo y hasta luego :D

seria grandioso... incluso estaba pensando en liberar lo que ya tengo, que si bien no es una version final, es usable.

pero me gustaria darle un poco al tema de las fisicas y colisiones, estoy en eso...
Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on May 13, 2017, 01:23:04 PM
¡¡Genial, Splinter, tengo ganas de echarle un vistazo!!

Hokuto40, vas a tener que ser un poco más específico con "movimiento tipo R-Type", pueden ser movimientos rectilíneos, curvilíneos, parabólicos, sinusoidales, random... :D
Pero para que no te alarmes, te doy unas pistas que te van a ayudar.
- Primero, intenta mantener a los enemigos que se mueven fuera del scroll, es decir, no uses ctype, te va a ahorrar muchos quebraderos de cabeza. Úsalo para torretas y esos enemigos que estén en una posición determinada.
- Segundo, mantén siempre separado el movimiento en vertical y en horizontal. Evita usar cosas como advance, o te darás de bruces con vectores, ángulos y demás: usa KISS! (Keep It Simple, Stupid!).
- Para consegir unas rutinas buenas, tienes que jugar con la velocidad de las naves. Necesitas declarar para cada enemigo una variable de velocidadx y velocidady, que deben sumarse a su X e Y en cada frame:
x += velocidadx;
y += velocidady;
frame;

Así, si al crear un enemigo con velocidadx = -20, y en cada frame haces velocidadx++, conseguirás que la nave aparezca moviéndose hacia la izquierda, e irá perdiendo velocidad progresivamente hasta que empiece a moverse hacia la derecha.
x = 850;
y=200;
velocidadx = -20;
velocidady = 1;
while (x < 900)
    velocidadx++;

    x += velocidadx;
    y += velocidady;
    frame;
end


- Usa RESOLUTION. Te va a venir muy bien para ajustar velocidades.

Respecto a los enemigos, eso es una historia más larga. Ahora no me puedo poner a contártela, pero un ejemplo muy sencillo sería que generases un punto aleatorio en la pantalla, y que el enemigo se moviese hasta él. Es lo que hice en el último crap-juego: space52 (creo que lo subí con código fuente y todo en el hilo de la última crap-compo).

Me voy a comer, ¡que aproveche! :D

PD: los valores los he puesto al tun tun, para una resolución de 800x600, tendrás que ajustarlos ^^U
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on May 15, 2017, 08:37:23 AM
Gracias por responderme,estoy deseando probar bennugd2,en lo que se refiere al juego de naves,pues los movimientos un poco de todo,que se muevan hacia mi ,que salgan de la nada se muevan para mi y luego se vayan para arriba o abajo ,que hagan movimientos sinuosos,que se paren para disparar,que roten cuando yo me mueva,que disparen directamente a mi nave,que lanzen multiples disparon como en el dodonpachi etc..

Queria comentar un programa que uso para generar sonidos,seguramente lo conocereis pero por si acaso,el programa se llama bfxr y el enlace es este https://blog.willicab.com.ve/category/div/.

Tambien os pongo un enlace de un tutorial en español de divdx que me encontre por casualidad el enlace es este https://blog.willicab.com.ve/category/div/

Bueno me despido,un saludo y hasta pronto
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on May 29, 2017, 08:28:04 AM
Hola,me he quedado esperando vuestras respuestas.
Haber si me podeis hechar una mano con algun ejemplo,quiero crear una especie de megafenix pero no se como hacer los movimientos de los enemigos como los hacen en ese juego.

Otra pregunta que quiero hacer es  como crear distintos niveles,porque la explicacion que viene en el manual de osk me parece un poco complicado.Hasta pronto
Title: Re:preguntas de un principiante sobre bennugd
Post by: La momia que fuma on May 29, 2017, 03:22:06 PM
Por ejemplo, lo de que los enemigos roten y disparen hacia el jugador es bastante sencillo:


En el proceso del enemigo: angle=get_angle(jugador), con eso siempre estará "mirando" al jugador (Para que se oriente bien, el gráfico del enemigo deberá estar hecho como "mirando" a la derecha, si no me equivoco).


("Jugador" en este caso sería una variable global (en realidad no necesariamente, pero bueno). Si aún no te has metido o entiendes mucho del tema IDs de proceso, pues por ejemplo, para este caso, creas la global "jugador" y cuando llames al proceso del jugador haces jugador=proceso_jugador(); )


Luego ya si lo combinas con moverlo con la función advance, se moverá en ese ángulo y podrás hacer enemigos "kamikazes" o misiles/disparos buscadores.


Y si después lo complicas un poco más y haces que el angulo tenga un límite de incremento por frame tendrá más gracia la cosa y quedará más realista (ya que según la situación con ese método puededar giros muy bruscos).


Los principios siempre son duros, pero vale la pena...paciencia!  ;)
Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on May 31, 2017, 12:06:10 AM
Para eso, Momia, le recomiendas la función NEAR_ANGLE, que busca el ángulo más cercano al objetivo, con un máximo de incremento para que no gire demasiado rápido.

De momento, como se me acaba el tiempo, te doy un curso de trigonometría acelerada para conseguir el temido movimiento sinuoso estilo "medusa head". Esto iría en el bucle pprincipal del enemigo:

x -= velocidad_horizontal
angle2 += 10000;
y = posición_vertical + (20 * sin(angle2));


Donde:
- Velocidad_horizontal es un INT que debes declarar y es la cantidad de pixels que se mueve el enemigo de derecha a izquierda.
- angle2 es un INT que debes declarar y es un ángulo auxiliar.
- posicion_vertical es la posición del enemigo en el eje y, y va a ser el centro de su movimiento
El resto de la linea de posicion_vertical se resume en añadir la función "seno", al movimiento de la nave. Si no conoces la función matemática "seno", consulta la wikipedia, o algún libro de trigonometría básica, lo vas a encontrar interesante y apasionante ;)
Title: Re:preguntas de un principiante sobre bennugd
Post by: La momia que fuma on May 31, 2017, 11:31:33 PM
Quote from: Drumpi on May 31, 2017, 12:06:10 AM
Para eso, Momia, le recomiendas la función NEAR_ANGLE, que busca el ángulo más cercano al objetivo, con un máximo de incremento para que no gire demasiado rápido.


Estoy oxidado, no me acordaba ya, ahí le has dao :D
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on June 02, 2017, 08:52:37 AM
Gracias por responderme,y lo del cambio de nivel como podria hacerlo para que fuera mas facil que el metodo que explican en el manual.

Por cierto ya he terminado el manual y me ha ido bien hasta lo del tutorial de la nave pero despues de hay me he perdido y no me he enterado de casi nada,tambien queria preguntar para cuando el autocompletado que me comentasteis lo ibais a introducir en el siguiente bennupack y tambien los nuevos ejemplos  para personas principiantes.Hasta pronto
Title: Re:preguntas de un principiante sobre bennugd
Post by: l1nk3rn3l on June 03, 2017, 02:00:45 PM
ya dentro de poco retomaremos el tema es hay bastante trabajo gracias a Dios...
;D
Title: Re:preguntas de un principiante sobre bennugd
Post by: Drumpi on June 03, 2017, 08:21:03 PM
Tu tranqui, Momia, que para eso está la comunidad, para ser el "3 en 1" del código ;)

hokuto40: hay varias formas de crear un cambio de nivel, como podría ser descargar los recursos del viejo (gráficos de fondo, naves del nivel, música), recolocar los procesos que te sirvan a la nueva posición inicial (nave prota, algunos enemigos, las barras de vida), modificar las variables (energía, tiempo, enemigos a matar...) y volver a empezar.

Pero sin duda la mejor forma es... destruirlo todo y empezar otra vez ^^U
Me explico. En mi forma de trabajar (que no tiene por qué ser la mejor) tengo un proceso que se llama "play_level(numero_de_nivel)", que lo que hace es:
- En función del nivel, carga unos gráfios y sonidos concretos (el fondo del nivel, su música)
- Los gráficos y SFX comunes (el prota siempre es el mismo, a menos qe pueda subir de potencia :D).
- Luego crea los procesos y entra en un bucle mientras dure la partida (normalmente tengo una variable global, "fin_partida", que vale 0 mientras se está jugando, 1 si el jugador ha superado el nivel, -1 si ha muerto o fracasado, y 2 si se decide interrumpir la partida desde el menú de pausa).
- Después hago el proceso inverso, es decir, mato procesos (TODOS los del nivel) y descargo recursos.
- Y si es necesario, devuelvo el "fin_partida".
Y ahí muere el proceso. Por lo general, lo que hace es despertar al padre, que es otro proceso que es el que lleva el flujo de una partida, y es el que decide qué nivel se debe jugar en cada momento, en función de si se acaba de empezar, se ha cargado una partida, o de cómo haya terminado el nivel anterior. Es muy útil a la hora de tener "warp zones" o un debug con selector de nivel.

De hecho, sigue las premisas que me enseñaron al programar: mientras haces pruebas, debes de ser capaz de llegar a cualquier parte del código nada más arrancar la aplicación. Y tener un "level select" es básico en el desarrollo de videojuegos (y también alguna forma de llevar al prota a una posición concreta del nivel). Por eso, una función que cargue y destruya un único nivel a elegir, creo que es básico, o en todo caso, un proceso por cada uno de los niveles. La cuestión es que pueda ser llamado por cualquier otro en cualquier momento, y que el nivel sea independiente de cualquier otro proceso.

Suena complicado, pero no lo es tanto. Ya verás cómo en tu tercer juego lo entiendes perfectamente y ya tienes tu propio método para crear niveles ;) Lo mismo hasta encuentras una más efectiva que la mía... y que conste que yo todavía sigo modificando este método en cada juego que hago (de hecho, en cierto juego lo he reescrito ya tres veces, y seguro que habrá una cuarta :D).
Title: Re:preguntas de un principiante sobre bennugd
Post by: hokuto40 on June 06, 2017, 08:23:18 AM
gracias por contestarme,estare pendiente del nuevo bennupack.
Voy a empezar a hacer preguntas en otro tema porque este ya esta demansiado cargado