Que paso con lo videotutoriales

Hola Hugo, hace tres meses o mas que me comentastes lo de hacer videotutoriales y no he sabido nada, solo queria preguntarte si los vas ha hacer o has cambiado de opinion ,si vas ha hacerlos esperare y si no me gustaria que me lo comentaras para empezar con otro programa como godot ,hasta luego

Buenas, @hokuto !

Creo recordar que fui yo y no Hugo quien te hizo ese comentario… La verdad es que llevo más de un mes sin PC (me petó la placa base y ando sin dinero para reemplazarla). En principio esta semana que viene estrenaré nueva PC, y a la que pueda recuperar mis archivos del anterior disco duro y reinstalar Pilas Engine intentaré hacer ese video tutorial prometido.

De todas formas yo te recomendaria que más que seguir un videotutorial intentaras por ti mismo hacer un pequeño juego de prueba basado en alguno de los ejemplos que trae Pilas, y a medida que te encuentres con alguna duda la comentaras aquí, ya que seguramente aprenderás más de esa forma que siguiendo un tutorial guiado paso a paso en el cual lo que haces es simplemente copiar.

Un abrazo y espero verte por aquí pronto comentando tus avances. :wink:

Buenas @hokuto! Te diría que Pilas Engine no tiene nada que ver con Godot. Pilas está más destinado a ser un Engine educativo y no a producción final de juegos. Además Pilas es infinitamente más simple que Godot. Lo único que necesitás para arrancar con Pilas es la documentación (que viene incluida en el instalador) y algunos ejemplos (¡¡Que también vienen con el instalador!!). Luego viene tu parte, como dice @jordinur, probar, hacer tus primeros autómatas o juegos, enfrentarte a dificultades y resolverlas o bien consultar alguna de esas dificultades en concreto en el foro. Un video tutorial no te va a ayudar de mucho sino realizas lo que te indico. El conocimiento se adquiere pausadamente y con largas horas de leer, pensar, interpretar, probar, errar, corregir y volver a empezar.

Mucha suerte!!! Y cualquier consulta no dudes publicarla, seguramente alguno te ayudará con gusto.

Gracias por responderme,yo lo he intentado por mi cuenta pero como no se mucho de programacion me quedo atascado practicamente en el principio.se cargar sprites y moverlos ,pero cuando intendo hacer algo mas avanzado como colisiones,cambio de escenarios o animaciones no se como avanzar,he ojeado los ejemplos pero como es un codigo muy largo me lio. lo de los tutoriales simplemente lo he comentado para ver como hacer un juego paso a paso y de esa manera intentar hacer el mio, yo si no veo ejemplos con codigos pequeños me lio y ademas los que trae pilas estan desastualizados pero bueno intentare seguir aunque como te comento si no lo veo paso a paso no se como avanzar,tampoco hace falta que sean videos podria ser tutoriales en pdf y hacerlos de cosas especificas como animaciones ,movimientos etc… y se que me vas a decir quemire los ejemplos pero estan desastualizados y son codigos largos y no estan esplicados.Bueno por ultimo queria pedirte disculpas jordinur por haberte confundido con hugo es que no tengo internet en casa y lo utilizo desde una biblioteca y siempre voy corriendo.Hasta luego y gracias de nuevo por responderme

Ok, entonces te propongo lo siguiente: fijate que es lo que querés hacer e intentá implementarlo. Si no te funciona creás una entradada, explicás lo que querés hacer y lo que se te ocurrió para realizarlo. De esa manera la persona que lo lea puede corregir tu línea de pensamiento y orientarte hacia buen puerto. Eso te resultará muchísimo más productivo que un tutorial en donde no hay demasiado aprendizaje, sólo ver un ejemplo.

Tené en cuenta reducir la complejidad de tu idea e ir arrancando por partes. Por ejemplo, si querés hacer un Zelda, empezá por el personaje y sus movimientos y luego andá agregando elementos: fondo, objetos, quests, etc. Una vez que tengas algo funcionando pasá a lo siguiente.

2 Likes

Estoy de acuerdo con @jetspydragon, animate @hokuto y verás lo interesante que es pila para el aprendizaje de la tecnología necesaria para hacer un video juego, aprender un lenguaje, y aprender como resolver los problemas que aparecen, que es realmente lo que le da más diversión al desarrollador de un videojuego. Te aseguro que al aprender con pilas podrás enfrentar cualquier otro motor, y te aseguro que pilas es muy sencillo, y es buena la idea de @jetspydragon.

2 Likes

gracias por vuestras respuestas , voy a intentar hacer un pequeño juego yo solo a ver que sale y cuando tenga dudas me pasare por el foro

2 Likes

hola a todos , aqui estoy de nuevo , bueno he hecho dos ejemplos , en uno no se como hacer para que los disparo colisionen con las rocas y estas exploten y en el otro no se como hacer el salto,dejo por aqui el codigo.Agradeceria que me ayudaran.
ejemplo1

import pilasengine

pilas = pilasengine.iniciar()

fondo = pilas.fondos.Galaxia()

class jugador(pilasengine.actores.Actor):
    def iniciar(self):
        self.imagen = "nave_roja/nave.png"
        self.y = -180
    def actualizar(self):
        if pilas.control.izquierda:
            self.x -= 4
        elif pilas.control.derecha:
            self.x += 4
        if pilas.control.arriba:
            self.y += 4
        elif pilas.control.abajo:
            self.y -= 4
        if self.x < -280:
            self.x = -280
        elif self.x > 280:
            self.x = 280
        if self.y < -200:
            self.y = -200
        elif self.y > 200:
            self.y = 200

class enemigo(pilasengine.actores.Actor):
    def iniciar(self):
        self.imagen = "piedra_grande.png"
        self.y = 300
        self.x = pilas.azar(-200, 200)
    def actualizar(self):
        self.y -= pilas.azar(1,3)
        self.rotacion += 1
        if self.y < -360:
            self.eliminar()
            
nave = jugador(pilas)
nave.aprender("disparar",angulo_salida_disparo = 90,frecuencia_de_disparo = 5)
def crear_enemigo():
    bola_verde = enemigo(pilas)

pilas.tareas.siempre(2,crear_enemigo)

pilas.ejecutar()

ejemplo2

# coding: utf-8
import pilasengine


pilas = pilasengine.iniciar()
mapa = pilas.actores.MapaTiled("bloques.tmx")
class jugador(pilasengine.actores.Actor):
    def iniciar(self):
        self.parado = pilas.imagenes.cargar_grilla("shaolin/parado.png",4)
        self.camina = pilas.imagenes.cargar_grilla("shaolin/camina.png",4)
        self.salta = pilas.imagenes.cargar_grilla("shaolin/salta.png",3)
        self.y = -100
        self.rectangulo = pilas.fisica.Rectangulo(100,100,100,140,dinamica=False)
        self.aprender(pilas.habilidades.Imitar,self.rectangulo)
        pilas.fisica.gravedad_y = -25
    def parar(self):
        self.imagen = self.parado
        self.imagen.avanzar(7)
    def caminar(self):
        self.imagen = self.camina
        self.imagen.avanzar(7)
    def saltar(self):
        self.imagen = self.salta
        self.imagen.avanzar(7)
    def actualizar(self):
        if pilas.control.izquierda:
            self.caminar()
            self.x -= 4
            self.espejado = True
        elif pilas.control.derecha:
            self.caminar()
            self.x += 4
            self.espejado = False
        if not(pilas.control.izquierda or  pilas.control.derecha):
            self.parar()
        if pilas.control.boton:
            self.saltar()
            self.y += 12 
        if self.x < -260:
            self.x = -260
        elif self.x > 260:
            self.x = 260
pilas.actores.vincular(jugador)
shaolin = pilas.actores.jugador()
pilas.ejecutar()

Buenas, @hokuto !

que bueno que te pusiste con los ejemplos y has sacado este principio de juegos, verás que así vas a aprender mucho!

Lo primero, he editado tu post para que el código se vea correctamente identado, y así poder ver mejor los errores y los aciertos.

Respecto al ejemplo 1, deberías crear un actor Mi_Municion (con que tenga una imagen ya vale, no hace falta definir mucho más), e incluirlo en los parámetros de disparo

nave.aprender("disparar",municion=Mi_Municion, angulo_salida_disparo = 90,frecuencia_de_disparo = 5)

Y despues programar una colision entre “Mi_Municion” y “enemigo”. Revisa el tema sobre colisiones para aprender a hacerlo, seguro que sabrás, y si tienes problemas no dudes en volver a preguntar!

Sobre el ejemplo 2, he de decirte que lo he testado y a mi el shaolin me salta correctamente. Has de saber que el botón de acción pre-programado en Pilas-Engine es la BARRA ESPACIADORA. probaste con la barra espaciadora??? Si ya probaste y no te funciona vuelve a preguntar, ok?

Estaremos atentos a tus progresos.

Suerte y un abrazo! :wink:

gracias jordinur por tus respuestas,probare lo del disparo con respecto al salto,el personaje me salta pero sigue saltando hacia arriba mientras yengo pulsado espacio,yo lo que quiero es que salte una vez y caiga al suelo.Bueno voy a hacer otras preguntas, yo tengo enlazado pilas con liclipse pero a la hora de ejecutar me da error,vi un tutorial de como hacerlo con la version antigua pero la nueva no tiene el library.zip y no se como hacerlo,agraceceria respuesta y por ultimo comentario para hugo,queria decirte que seria fantastico que añadieras mas habilidades para los actores en futuras versiones porque las que hay son muy utiles pero son pocas,por ejemplo podrias añadirle una de plataforma y otra pra que el personaje lance golpes etc.Para gente principiante lo de las habilidades les sirve de mucha ayuda.Bueno me despido y hasta luego.

Buenas, @hokuto !

Se me ocurre que para el salto podrias usar una variable tipo booleano en la que se defina si el shaolin está “saltando”… Si es falsa el shaolin saltará y si es verdadera no hará nada.

def iniciar(self):
        self.saltando = False

        self.parado = pilas.imagenes.cargar_grilla("shaolin/parado.png",4)
        self.camina = pilas.imagenes.cargar_grilla("shaolin/camina.png",4)
        self.salta = pilas.imagenes.cargar_grilla("shaolin/salta.png",3)
        self.y = -100
        self.rectangulo = pilas.fisica.Rectangulo(100,100,100,140,dinamica=False)
        self.aprender(pilas.habilidades.Imitar,self.rectangulo)
        pilas.fisica.gravedad_y = -25

def resetear_salto:
    self.saltando = False #AL CABO DE 2 SEGUNDOS PODEMOS VOLVER A SALTAR

def saltar(self):
    if not self.saltando: # SI ES FALSA SALTA, SI ES CIERTA NO HACE NADA
        self.saltando = True
        self.imagen = self.salta
        self.imagen.avanzar(7)
        pilas.tareas.agregar(2, resetear_salto) #RESETEAMOS LA HABILIDAD SALTAR
    else:
        pass

Gracias por tus respuestas jordinur,probare lo del salto que me comentas.Saludos