Test de mi gameEngine en processing.

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

Re: Test de mi gameEngine en processing.

Postby erkosone » Thu Jun 21, 2018 7:22 pm

Estoy haciendo el ejemplo del Arkanoid sencillo para hacer el segundo tutorial.
Supongo que esta noche o mañana lo tendré listo, estoy simplificando el codigo al máximo para mostrar algo que se entienda facilmente, ya veras hokuto como es muy parecido al lenguaje gemix o div o bennugd y además puedes usar todo lo que quieras.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Fri Jun 22, 2018 2:21 pm

Cuando tu puedas,no hay prisa ;)
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Jun 24, 2018 7:51 am

Buenos dias!

Bueno pues llevo un par de dias mirando a fondo el tema de las colisiones, he tenido errores inesperados ya que es la primera vez que uso la libreria de fisica matter.js y sobre todo estas son mis primeras experiencias en javaScript, he avanzado bastante y he creado nuevas y mejores funciones para la fisica, mucho mas integradas con el framework para que sea todo mas natural de usar.

En breve espero tener algo para pasaros, estoy de lleno con la demo del BreakOut y la verdad es que esta siendo un ejercicio genial para depurar el framework.

Hoy que no trabajo le voy a dedicar todo el dia. La verdad es que este nuevo proyecto me tiene muy animado y motivado, JS es una plataforma muy interesante, y la verdad es que rinde mucho mas y mejor de lo que esperaba. :)

En breve mas noticias!
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Sun Jun 24, 2018 11:21 am

Que pena que estes teniendo problemas con las colisiones,animo!! ;)

No hubiera sido mejor utilizar el framework phaser 3 para crear tu engine,este framework viene
con todo integrado.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Jun 24, 2018 3:25 pm

Que va hokuto!

Tengo que pasar por esta experiencia jeje..

Las colisiones ya las tengo resueltas, lo jodido es que hacer un breakout/arkanoid con fisica es mas dificil de lo que parece jajajaja... me he emperrado tio.. y quiero hacerlo.. pero macho.. la cosa no es tan simple, ya no estoy peleandome con el engine, esto ya lo tengo listo :)

Me estoy peleando con el juego en si.. imaginate que tienes que recrear un arkanoid.. los rebotes no pueden ser de cualquier forma.. la velocidad en la bola tiene que ser constante XD.. no es nada simple.. hacerlo sin libreria de fisica es mas facil.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Jun 24, 2018 8:28 pm

Bien, como dicen.. menos es mas..
He completado el sistema de colisiones vectoriales.. vaya tela.. tenia un error en la captura del fin de una colisión entre cuerpos, ahora ya funciona todo bien!!

Preparo el video tutorial y subo la libreria y el ejemplo actualizado, un saludo! :D
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Jun 24, 2018 9:46 pm

Tutorial 01 - BreakOut / Arkanoid en gameLibZeroJS ;)

User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby erkosone » Sun Jun 24, 2018 10:01 pm

OskarG wrote:1.Esta bien el video,espero un video de un juego simple,tipo breakout..luego un simple juego de naves con scroll ,pues de momento no se si es factible hacer juegos en este engine..
2.otra cosa no se puede programar todo esto con el ide que trae processing?¿?
3.Cuando vea algo parecedio te empiezo a bombardear con preguntas xd...por ejemplo tienes las funciones tipicas de copiar un grafico determinado encima de otro que actua de fondo?¿lo expreso porque de esta forma uno puede hacer su propio motor de scrolls..etc.


No habia leido esto, pues todas esas funciones ya las trae P5.js así que si, puedes hacer eso y mucho mas.
Lo que trae processing es bastante, te pego una parte:

Source Code (Gemix) [ Download ] [ Hide ]
  • Color
  • Creating & Reading
  • alpha()
  • blue()
  • brightness()
  • color()
  • green()
  • hue()
  • lerpColor()
  • lightness()
  • red()
  • saturation()
  • p5.Color
  • Setting
  • background()
  • clear()
  • colorMode()
  • fill()
  • noFill()
  • noStroke()
  • stroke()
  • Shape
  • 2D Primitives
  • arc()
  • ellipse()
  • line()
  • point()
  • quad()
  • rect()
  • triangle()
  • Attributes
  • ellipseMode()
  • noSmooth()
  • rectMode()
  • smooth()
  • strokeCap()
  • strokeJoin()
  • strokeWeight()
  • Curves
  • bezier()
  • bezierDetail()
  • bezierPoint()
  • bezierTangent()
  • curve()
  • curveDetail()
  • curveTightness()
  • curvePoint()
  • curveTangent()
  • Vertex
  • beginContour()
  • beginShape()
  • bezierVertex()
  • curveVertex()
  • endContour()
  • endShape()
  • quadraticVertex()
  • vertex()
  • 3D Models
  • loadModel()
  • model()
  • 3D Primitives
  • plane()
  • box()
  • sphere()
  • cylinder()
  • cone()
  • ellipsoid()
  • torus()
  • Constants
  • HALF_PI
  • PI
  • QUARTER_PI
  • TAU
  • TWO_PI
  • DEGREES
  • RADIANS
  • Structure
  • preload()
  • setup()
  • draw()
  • remove()
  • noLoop()
  • loop()
  • push()
  • pop()
  • redraw()
  • Environment
  • print()
  • frameCount
  • focused
  • cursor()
  • frameRate()
  • noCursor()
  • displayWidth
  • displayHeight
  • windowWidth
  • windowHeight
  • windowResized()
  • width
  • height
  • fullscreen()
  • pixelDensity()
  • displayDensity()
  • getURL()
  • getURLPath()
  • getURLParams()
  • DOM
  • p5.Element
  • Rendering
  • p5.Graphics
  • createCanvas()
  • resizeCanvas()
  • noCanvas()
  • createGraphics()
  • blendMode()
  • setAttributes()
  • Transform
  • applyMatrix()
  • resetMatrix()
  • rotate()
  • rotateX()
  • rotateY()
  • rotateZ()
  • scale()
  • shearX()
  • shearY()
  • translate()
  • Data
  • Dictionary
  • createStringDict()
  • createNumberDict()
  • p5.TypedDict
  • p5.NumberDict
  • Array Functions
  • append()
  • arrayCopy()
  • concat()
  • reverse()
  • shorten()
  • shuffle()
  • sort()
  • splice()
  • subset()
  • Conversion
  • float()
  • int()
  • str()
  • boolean()
  • byte()
  • char()
  • unchar()
  • hex()
  • unhex()
  • String Functions
  • join()
  • match()
  • matchAll()
  • nf()
  • nfc()
  • nfp()
  • nfs()
  • split()
  • splitTokens()
  • trim()
  • Events
  • Acceleration
  • deviceOrientation
  • accelerationX
  • accelerationY
  • accelerationZ
  • pAccelerationX
  • pAccelerationY
  • pAccelerationZ
  • rotationX
  • rotationY
  • rotationZ
  • pRotationX
  • pRotationY
  • pRotationZ
  • turnAxis
  • setMoveThreshold()
  • setShakeThreshold()
  • deviceMoved()
  • deviceTurned()
  • deviceShaken()
  • Keyboard
  • keyIsPressed
  • key
  • keyCode
  • keyPressed()
  • keyReleased()
  • keyTyped()
  • keyIsDown()
  • Mouse
  • mouseX
  • mouseY
  • pmouseX
  • pmouseY
  • winMouseX
  • winMouseY
  • pwinMouseX
  • pwinMouseY
  • mouseButton
  • mouseIsPressed
  • mouseMoved()
  • mouseDragged()
  • mousePressed()
  • mouseReleased()
  • mouseClicked()
  • doubleClicked()
  • mouseWheel()
  • Touch
  • touches
  • touchStarted()
  • touchMoved()
  • touchEnded()
  • Image
  • createImage()
  • saveCanvas()
  • saveFrames()
  • p5.Image
  • Loading & Displaying
  • loadImage()
  • image()
  • tint()
  • noTint()
  • imageMode()
  • Pixels
  • pixels
  • blend()
  • copy()
  • filter()
  • get()
  • loadPixels()
  • set()
  • updatePixels()
  • IO
  • Input
  • loadJSON()
  • loadStrings()
  • loadTable()
  • loadXML()
  • loadBytes()
  • httpGet()
  • httpPost()
  • httpDo()
  • Output
  • createWriter()
  • p5.PrintWriter
  • save()
  • saveJSON()
  • saveStrings()
  • saveTable()
  • Table
  • p5.Table
  • p5.TableRow
  • XML
  • p5.XML
  • Time & Date
  • day()
  • hour()
  • minute()
  • millis()
  • month()
  • second()
  • year()
  • Math
  • createVector()
  • p5.Vector
  • Calculation
  • abs()
  • ceil()
  • constrain()
  • dist()
  • exp()
  • floor()
  • lerp()
  • log()
  • mag()
  • map()
  • max()
  • min()
  • norm()
  • pow()
  • round()
  • sq()
  • sqrt()
  • Noise
  • noise()
  • noiseDetail()
  • noiseSeed()
  • Random
  • randomSeed()
  • random()
  • randomGaussian()
  • Trigonometry
  • acos()
  • asin()
  • atan()
  • atan2()
  • cos()
  • sin()
  • tan()
  • degrees()
  • radians()
  • angleMode()
  • Typography
  • Attributes
  • textAlign()
  • textLeading()
  • textSize()
  • textStyle()
  • textWidth()
  • textAscent()
  • textDescent()
  • Loading & Displaying
  • loadFont()
  • text()
  • textFont()
  • Font
  • p5.Font
  • Lights, Camera
  • Camera
  • camera()
  • perspective()
  • ortho()
  •  
  • orbitControl()
  • p5.Geometry
  • Lights
  • ambientLight()
  • directionalLight()
  • pointLight()
  • Material
  • loadShader()
  • createShader()
  • shader()
  • normalMaterial()
  • texture()
  • ambientMaterial()
  • specularMaterial()
  • Shaders
  • p5.Shader


Todo eso ya lo tienes nativo, además de mil y un videos en youtube sobre como hacer cualquier cosa, en 2d, 3d, con webGL o canvas2D.

Yo en mi framework solo voy a usar por ahora canvas2D por conpatibilidad.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Mon Jun 25, 2018 2:45 pm

Genial!!,me lo miro y te comento. :claphands:

Si vas hacer otro tutorial,podrias hacer uno de naves con al menos tres niveles para ver como creas una estructura de niveles y haces que tenga el poder reiniciar un nivel cuando te maten,no hace falta que los niveles sean distintos,con que le cambies el fondo va que chuta.

Me he dado cuenta de que si quiero avanzar tengo que aprender tu estilo de programacion por estados. :lala:
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

Re: Test de mi gameEngine en processing.

Postby Hokuto7 » Mon Jun 25, 2018 3:57 pm

Vale,ya he visto el video y te comento.

Antes de nada,decirte que mejor que no hagas mas videos,estas haciendo un esfuerzo grande en los videos y no va a valer para nada,mejor concentrate en hacer pequeños ejemplo muy basicos y que cada uno los mire y aprenda por si solo,ahora te explico porque creo esto.

El video esta bien explicado y se ve bien,y el ejemplo tambien me funciona muy bien,he visto un fallo en el video y tambien me pasa a mi en el juego,cuando la pelota colisiona con un bloque,algunos bloques de los lados parpadean.

Hablemos del videotutorial,lo explicas bien pero muy rapido y ademas es mucho codigo para un tutorial ,yo personalmente no me he enterado de mucho,ahora me voy a poner a estudiar el codigo poco a poco a ver si me entero de algo.

Los tutoriales hay que explicarlos lentamente y hay que escribir el codigo desde cero y lentamente mientras lo explicas,pero esto requiere mucho tiempo y esfuerzo y tu no tienes ese tiempo ni tampoco tu canal es un canal de tutoriales.

Te digo esto ,porque si has hecho este tutorial para que alguien con poca experiencia con programacion,no va a entender nada y si lo has hecho para alguien con un nivel avanzado de programacion,no lo va a mirar,se ira directamente al ejemplo.Te pongo un canal de youtube donde hacen buenos tutoriales
https://www.youtube.com/watch?v=iURZzZ9 ... 3ek6gXwEf7

Por eso mi consejo es que es mejor que te concentres en hacer pequeños ejemplo comentados y sencillos,como por ejemplo:

-Hacer que un objeto se mueva
-crear un proceso
-crear niveles
-pasar de nivel
-pausar
-reiniciar
-parpadeo
-saltar
-estructura de niveles
-disparar
-manejo de animaciones
-manejar las fisicas
-explicar algunas funciones basicas y no tan basicas
-crear alguna demo como la de arkanoid para avanzados

Yo ahora mismo no se hacer nada y me pongo con el ejemplo a estudiarlo paso a paso como ya te he dicho antes.

Por ultimo ,decirte que segun veo el codigo del arkanoid no veo que sea mas sencillo programar en tu libreria que en otras librerias,de hecho me parece mas facil tu anterior libreria y mas facil gemix,por lo menos de momento.Cuando vaya profundizando en tu libreria ya veremos si la cosa me parece mas facil.
User avatar
Hokuto7
 
Posts: 1396
Joined: Mon Aug 28, 2017 10:14 am

PreviousNext

Return to Offtopic

Who is online

Users browsing this forum: No registered users and 2 guests