#🍐 Jonk Stuff

1 messages · Page 3 of 1

tall patio
#

achuchasino

small vigil
tall patio
tall patio
#

learning rust - day 1 (ignore the spanish, i wanna add some comments that i can understand easily)

tall patio
#

rust, why.

#

like, i understand the String::with_capacity

#

but not the normal_string.chars().nth.....

#

oh fuck you

#

nah i already did it

#

challenge done

tall patio
#

usefull info

#

i hate this

#

20 / 100, im not doing the 100 challenges

tall patio
#

i have one question, why you can use flxsubstate as an flxstate

tall patio
tall patio
tall patio
tall patio
tall patio
#

making a quick calculator in rust

tall patio
#

AFTER 2 MONTHS NEW PB

#

YAAY

#

wait

#

no

#

it was just 1 month

small vigil
#

Bebos mira

#

@tall patio que
Opians

#

También hice shakes

#

uuuu te voy a robar el hilo

tall patio
# small vigil
  1. que shake mas clean
  2. la barra de vida tambien es muy clean
small vigil
#

Lerps

#

Pero se me iba mucho sldks

tall patio
small vigil
#

Y si, es muy clean porque va a 60 FPS el procesado

small vigil
#

Pero me enfrente el problema con los flotantes y pixel perfects

tall patio
# small vigil Ambos

para el shake podria quedar bien, para la barra no creo, le quita el estilo undertale

small vigil
#

de que

#

si es 0.1 usar directamente 0

#

Para evitar esos decimales

tall patio
#

eso si esta feo

small vigil
#

Y usar pixel perfects render no es buena idea

#

Porque queda feo

#

Ya que cosas como el jugador / NPCs si se pretende que sea imperfecto

#

en temas de posición

#

Aunque estoy usando haxe, puedo perfectamente meter una Lib extra

tall patio
#

asi esta bien tonces

#

mientras no rompas el juego completo

small vigil
#

Iré a revisar a HaxeLib si hay algo que resuelva mi problema de textels vs pixel texture

#

@tall patio PENSANDO DE UNA MANERA

#

TEÓRICAMENTE PUEDO USAR HSCRIPT

#

o rulescript

#

ya que están escritas en haxe

tall patio
small vigil
#

Puedo usarlas

small vigil
tall patio
#

gozu

small vigil
#

osea quizá RuleScript de problemas

#

Pero Hscript no

#

Preguntaré por si las dudas

tall patio
#

si usas las clases

#

ahi si creo que podria haber unos cuantos problemas

small vigil
tall patio
#

macros

#

y mas macros

#

rust is slowly becoming on one of my favorites languages

#

same speed as cpp

#

less headaches

small vigil
tall patio
small vigil
#

Osea uso una

#

Pero es de que

#

lee archivos

#

Y los pone en Asstes y los pone en strings

#

Para tener algo similar a Godot

#

Pero es macro no de run time

tall patio
#

osea, como, lee archivos y vuelves sus rutas a strings?

small vigil
#

sino de que

#

la hace una vez

small vigil
#

Luego evolucionará a poder buscar carpetas

#

Pero luego

#

tall patio
#

tm

small vigil
tall patio
#

puede que si funcione, rulescript por lo que tengo entendido modifica las clases que van a ser scripteadas para que se ejecuten sus funciones a la version del script

tall patio
#

pero aveces no hay otras alternativas 😔

small vigil
small vigil
#

array.filter(f -> f.startsWith("shit/"))

tall patio
small vigil
#

La cosa es Godot

#

Godot no es tan flexible con sus clases

tall patio
#

godot dios, fue divertido el dia que lo use

tall patio
small vigil
#

Es bueno con sus clases

#

Pero no permite hacerlas tan dinámicas

#

de que, si cambias algo durante el runtime

#

Tienes que recompilar el bytecode

#

o darle a reiniciar el juego

#

Es la misma

tall patio
#

ah chucha

#

aunque la macro de rulescript por lo que lei del codigo crea el interp en la clase misma al modificarla, por lo que lee el codigo cada que creas la clase, haciendo que en teoria deberia ser dinamico para todas las clases

#

porque lo unico que cambia de la clase original es el uso de el interp para hacerle override

small vigil
#

La cosa es que funcionaria limitado

#

Y a este punto es mejor usar Reflaxe como scripting

#

Piénsalo

#

Mete haxe y lo básico junto Reflaxe

#

Hazlo un ejecutable

#

Y solo haz tipo comsndo

#

compile_hx()

#

y te lea scripts

#

Y te los convierta a gdscript

#

Y ahí directamente los entiende godot

#

Hay alternativas más sencillas de scripting

#

Una de ellas es Lua

tall patio
#

si lo mejor seria usar lua o hscript puro

small vigil
#

Es que

#

Pensandolo de manera coherente

#

Es mejor hacer un fork de GDSCRIPT de Reflaxe

#

Y poder hacer un ejecutable CLI

#

Y que venga como utilidad en el gosot

#

Y de que

#

./convert_haxe_to_gdscript path/to/src/

tall patio
#

hscript deberia funcionar si lo vuelves a gdscript o no, osea, no cambia nada en la logica, es un interprete promedio que facilmente podrias hacer hasta en cobol

small vigil
#

Pero estarías haciendo tercera capa

#

Sería

Hscript -> Haxe -> GDScript

#

Haciendo posiblemente algo más lento

tall patio
#

a eso si

small vigil
#

que simplemente Haxe -> GDscript

#

Por eso usar Reflaxe sería una opción válida

#

Ó

#

Usar el Lua nativo de la comunidad de godot

#

Ó hacer Haxr

#

Haxe*

#

No sé cómo funcione el language server de godot

tall patio
#

usa lua

#

son bindings de luajit para godot

#

velocidad casi instantanea

small vigil
#

Mhm

#

Quisiera usar binding de haxe

#

pero

#

No sé si existe jit de hace

tall patio
#

so.. rust is not the ideal environment to develop games

#

i guess its time

#

to learn deep c

#

and c++

#

...

tall patio
#

4 months ago i created this chat to post my progress in sdl2 using haxe, 4 months, eh, i really learned a lot in 4 months, i want to learn how can i make physics systems on my own, using opengl, to learn c++ along the way

tall patio
#

wait a minute

#

hold on

#

hold on

tall patio
tall patio
#

inheritance in cpp is so painful

#

yeppers

#

im not developing games in this

#
  1. opengl using haxe
  2. sdl using CPP
  3. opengl using cpp
  4. sdl using haxe
  5. Any other engine
#

thats my list of the most painful ways to make a game

#

so im not using sdl in cpp

#

i will only use cpp for opengl and other stuff

tall patio
#

another interpreter yaaay

#

its python time

#

the best to do a language like this is using a parser like jeremy did in loreline

#

no more hscript type parsers 😔

tall patio
#

93.47%

#

9 MISSES

#

OMG

tall patio
small vigil
#

@tall patio conoces latino?

tall patio
#

no

small vigil
#

MDC, y yo intentamos hacer un nuevo interprete, no quisimos

tall patio
small vigil
tall patio
#

es un lua en español

#

por lo que veo es una vm stack based

#

absolute peak

tall patio
#

can someone pls explain to me WHY MY ZIGZAGOON HAS A ULTRA BALL

violet sleet
#

it's waiting for you to turn your back

tall patio
#

D:

tall patio
#

WOBBUFFET IS THE FUCKING GOAT

small vigil
#

que

tall patio
#

HE JUST KILLED A ENTIRE POKEMON GYM

#

ALONE

tall patio
#

help, i dont know what to doooo

tall patio
#

idk what im doing

tall patio
tall patio
#

what structure should i give to this

#

its fine i guess?

topaz ledge
#

I'd recommend having a base Component class/interface

tall patio
#

and this is working yaaay

#

thanks for the recomendation!

#

im using lime signals

#

omg

#

it can move now

#

i love lime opengl context fr

#

i like the engine structure, its more understandable and easier to work with than the original pear version that i made using hxglad and hxsdl, although its still a bit far from what i managed to do with that pear version, but the progress i made tonight isnt bad.

#

the fact that both versions are so different says a lot about how ive changed my programming style in these 2 months

tall patio
#

ill be working in textures until i fall sleep

topaz ledge
#

Lol go to bed

tall patio
topaz ledge
#

Then how are you programming

tall patio
#

laptop

topaz ledge
#

Oh

#

You should let your brain rest

#

And remove all stimulations before sleeping

tall patio
#

byebye

topaz ledge
#

💤

tall patio
#

buenos dias gentita linda

topaz ledge
#

How long did you sleep

tall patio
topaz ledge
#

That's little

tall patio
#

yep

tall patio
#

i hate textures

#

fuck it, im working on the input manager

tall patio
#

i have input and mouse working

tall patio
#

800K POINTS

#

1000 NOTES

#

5 MISSES

#

94% ACCURACY

#

2 months of diference wow

tall patio
#

i still dont know why this wasnt working in this morning

tall patio
dreamy sphinx
tall patio
dreamy sphinx
agile steppe
#

Jonk Stuff (Pear - A OpenGL Lime engine)

tall patio
# dreamy sphinx webgl/opengl stuff

load an image using Image, create your basic shader to load textures, create your buffer, create an opengl texture, add the image data to the texture (do this only once, you dont want an overflow in ram), create your basic vertex buffer, draw everything, done

#

this is how i do it, the code in the red circle is the drawing logic

magic vault
#

There is a sample which demos it I think

ashen urchin
#

BORINGNGGGGGGG

dreamy sphinx
ashen urchin
#

Bindless textures are better

tall patio
tall patio
magic vault
#

lime create

#

Simple image

dreamy sphinx
#

lime create fart

#

/j

tall patio
#

im making pear so that it is as compatible as possible with all possible targets and computers

ashen urchin
# tall patio 👍

Try your best though it's rather scarce so I'd recommend watching this video on that:
https://www.youtube.com/watch?v=YTfdBSjitd8

How do modern video games manage to load hundreds of high resolution textures when OpenGL expects them to limit themselves to 16 or 32 per draw call? In this video, we go over Sparse Bindless Texture Arrays, a collection of advanced graphics programming techniques in OpenGL and Vulkan, which can be used to get the most out of the video memory av...

▶ Play video
ashen urchin
#

And fall back if your opengl driver version does not support the bindless texture extension

tall patio
tall patio
ashen urchin
#

Whatever

tall patio
#

also, i dont think youre going to use that many textures in a single scene in a 2d game that are displayed on the screen, if you do youre crazy

ashen urchin
#

It's worth the 7x rendering speed improvement though

#

Also

#

Sparrow atlas characters

tall patio
magic vault
#

yeah

#

the lag when funkin view start I've never really seen anywhere 😅

ashen urchin
#

Because it's preloading every buffer and program

#

And it's important for fast load times

magic vault
#

the irony that it slows the first load time

#

I suspect the bottleneck is currently where it converts the textures to premultiplied alpha

ashen urchin
#

Cuz openfl/flixel uses premultiplied alpha

magic vault
#

so something else is going on I think

tall patio
#

i dont know, if flixel and openfl use that and you say that it preloads all the buffers and programs then something is happening, i dont think loading buffers and programs are that expensive, and if so you should optimize it urgently because that doesnt happen by creating a normal opengl program, it would be a problem with peote view or something wrong in the game code

magic vault
#

yeah it's not an issue in other apps

magic vault
#

if I understand correctly

tall patio
dreamy sphinx
#

oh i think i should make my own 2d framework in openfl

#

i wonder how drawquads works

tall patio
ashen urchin
#

That's initially why I made this buffer and program shit in the first place

#

Cuz if you have so many it's gonna eventually take a tenth of even a second to load all of it

#

Cuz each one is roughly 20ms

#

20ms for each buffer and program load

magic vault
#

actuall nevermind, filling this chat with unrelated crap

tall patio
tall patio
tall patio
#

with what pear currently have, you should be able to make a basic game. ill be posting progress on github

magic vault
#

fun fact, the first little game engine I put together with peote view was named pear

#

it was terrible

tall patio
#

xd

#

i really feel comfortable with how the project is looking, and im surprised that i did half of it while i was sleepy at 12 at night. i relook look at the code later. maybe i did something wrong at that time

dreamy sphinx
#

how did you get the motivation to do this lol

#

sometimes i just feel like doing something else

tall patio
#

and i was bored

dreamy sphinx
#

me sleepy = me not doin anything

tall patio
#

i would have continued coding if aaxe hadnt appeared and told me to go to sleep

dreamy sphinx
#

can i make a pull request that deletes export and adds a gitignore :3

tall patio
#

i still dont know why my git keeps ignoring gitignore

#

xd

dreamy sphinx
#

oh 💣

#

maybe merging the pr i have could solve this?

tall patio
dreamy sphinx
#

pr is up now

tall patio
dreamy sphinx
tall patio
#

thanks!

dreamy sphinx
tall patio
#

and now, whats next, what should i do?

dreamy sphinx
tall patio
#

how should i implement animations? i mean, i already have the base, my renderer allows me to draw only some parts of the texture, what is the structure that i should use?

#

everything in pear is based on components, like gears, how should i implement the sparrow atlas, spritesheets, etc, etc

#

AnimationComponent -> Texture -> Frame Width, height (for spritesheets)
-> loadAtlas -> Sparrow Atlas, etc, etc
-> addAnimation
-> addAnimationByIndices
-> playAnimation

#

thats fine i guess

#

oh and addAnimationByPrefix ofc

tall patio
#

omg i have a functional system

dreamy sphinx
#

show keoiki

tall patio
#

the base is already done, now i just need to create the frames based on the sparrow atlas and its ready, oh and addByPrefix

#

hold on hold on

tall patio
#

this is weird

#

its was working

#

IM A FUCKING IDIOT

#

ok, it works now

#

i just need to apply the rotations to the animation in base of the current frame

#

and its done

tall patio
small vigil
#

obs is a liar

tall patio
small vigil
tall patio
#

oh

#

im really happy with how is this going

#

like, you can really make a game using this

#

and you shouldnt have any problems

#

you can now use animations

tall patio
#

omg i fell sleep

#

so what now

#

eerhm

#

sounds i guess

#

oh no

#

this will be hard

#

i hate html5

solar ether
#

Imo web audio is a much nicer api

tall patio
solar ether
#

Fair

tall patio
#

xd

#

tbh its my first time working with web audio api so xd

#

LOL

#

the sound is broken

#

and html5 isnt working

#

....

#

ill be reading the lime api

#

im a fucking idiot

#

done

#

it should be working

#

how much time wasted

#

why do i always have to complicate things for myself? xd

#

you can now change between 2 display types

#

letterbox and default

#

letterbox: keep aspect ratio

#

default: default

#

so...

#

what now

tall patio
#

should i publish pear as a haxelib?

small vigil
tall patio
#

when I finish this i will try to make an emulator in haxe using lime, i will try

small vigil
#

me está robando la idea

#

...

tall patio
small vigil
tall patio
#

lol

tall patio
#

oh my god, now its time for me to learn how to handle register-based bytecode

#

its necessary to make my atari 2600 emulator 😔

#

you know what? im not going to make an assembly code interpreter, id rather do nothing.

#

im not that persistent with my projects

agile steppe
#

🍐 Jonk Stuff (Pear - A OpenGL Lime engine)

tall patio
#

im making doodle jump in pear engine

#

the aqua box is the collider

#

:3

tall patio
#

master ball

tall patio
#

im never doing a brick furnace again

tall patio
#

guy i have basic gameplay

tall patio
#

I CANT BELIEVE I JUST SPENT 2 HOURS GETTING EXP FOR MY MAGIKARP

#

finally

tall patio
#

you can now use entities as scenes

tall patio
#

im testing some things

#

idk if it will work

#

rip pc

#

maybe

#

idk

#

im rendering 10000 rectangles

tall patio
#

it works?

#

maybe? idk

#

OK YEAH IT WORKS

#

FROM 30% CPU USAGE TO 10%

#

WOW

tall patio
#

did i just spent 2 hours reading "how to optimize draw call" posts in reddit?

tall patio
#

ah shit

#

here we go again

tall patio
#

i have a question, how many rectangles i should be able to renderer before flushing the renderer

#

100?

#

1000?

tall patio
#

i hate wegbl

#

webgl

#

rect batch

#

FINALLY

#

done

#

omfg

#

you know what?

#

im moving to webgl2

#

it will be a headache, but at least ill be able to use "modern" opengl features

tall patio
#

from 20% of cpu usage with webgl is now 15% with opengles3

#

and it works in html5

#

yaaay

#

yaaay

#
  • Removed Renderer
  • Added ExperimentalRenderer
  • Removed SpriteBatch
  • Added a REAL RectBatch
  • Using OpenGL and WebGL2
tall patio
#

i wanna do something

#

very interesting

#

tall patio
tall patio
tall patio
#

i hate parsers

tall patio
#

i cant believe im still using hxluascript compiler at this point

#

💀

tall patio
tall patio
#

oh no

#

i need to make a system that reuses registers smartly

#

aaah

#

well, i have one but it only works when you are using constants

#

it cant handle locals

#

uuugh

small vigil
#

@tall patio al final aprendí algo de AST para mí propio sistema de diálogos sldns

tall patio
#

como hace srd

small vigil
small vigil
#

debería funcionar con enums

tall patio
#

cuando me mude de typescript a haxe en cuanto a lenguajes intente usar objetos

#

nunca mas lo hago en mi vida

tall patio
#

i dont know what i just did

#

but its working

#

im not using strings for variables

#

like

#

IM NOT STORING VARIABLES AT ALL

#

LOOL

#

nah this shit is fast asf

#

register vs stack

#

but the compiler is so confusing

#

fr

#

i need to place comments

#

im not using stack based vms

#

in MY LIFE AGAIN

#

the last challenge will be making a chip 8 emulator but now i need to learn the basics of registers

#

and learn some optimizations when using registers

#

like

#

now im using 256 registers

#

but chip 8 only can use 16

#

and with my system im using 6 registers doing this

let aea = 2
let bea = aea * 2
bea
let cea = 2 + aea * bea
cea
return cea

tall patio
#

i dont have any idea on how i can recicle the registers

#

tbh

#

and to make scopes

tall patio
#

i cant use reflaxe gscript 😔

small vigil
tall patio
small vigil
tall patio
small vigil
#

Osea juntando lime, OpenFL y Flixel juntos son casi lo mismo

#

Y contigo ha funcionado, cierto?

tall patio
small vigil
tall patio
#

ademas que reflaxe usa pura macros

small vigil
#

Pos que PC tienes para que se te muera

tall patio
small vigil
tall patio
small vigil
#

Por qué te va mal?

tall patio
#

creo que es porque nunca use un proyecto con 1731 clases y que se basara completamente en las macros

tall patio
#

im tired of making parsers

#

im just modifying hscript

tall patio
#

nvm

tall patio
#

im doing some leecode problems

#

aaand

#

i dont know how to code

#

😔

tall patio
#

i realized that the more time passes, coding is becoming boring for me, that, i don't know why, makes me sad

tall patio
#

im sleepy

#

this will be my last project and then i will take a long break

#

this time is real

tall patio
tall patio
#

this is probably the most serious interpreter that ive ever made

tall patio
#

strings

tall patio
#

its time to make the compiler

agile steppe
#

🍐 Jonk Stuff

tall patio
#

omfg this is so boring

lone marlin
#

What does the language look like

tall patio
#

but with a register based vm

#

thats all

lone marlin
#

I see

tall patio
#

the error logs are killing a lot of performance

#

😭

tall patio
#

you know what?

#

im done

tall patio
#

i cant replicate this 💔

#

including the error logs

#

is worthy to stay the the ⭐ pretty ⭐ logs?

small vigil
#

buuut it's an extra

tall patio
#

ifuckinghatethecompilationtime

#

theinterpreterisfastasfuck

#

thefuckinglogsarekillingeverything

#

AAAH

tall patio
#
struct User {
    private let _name = ""
    private let _password = ""
    private let _status = "offline"

    func constructor(name, password) {
        if password.length < 8 {
            throw "Password must have at least 8 characters"
        }

        self._name = name
        self._password = password
    }

    func login() {
        self._status = "online"
        print(self._name + " has logged in.")
    }

    func logout() {
        self._status = "offline"
        print(self._name + " has logged out.")
    }

    func isOnline() {
        return self._status == "online"
    }

    func info() {
        print("User: " + self._name + " | Status: " + self._status)
    }
}

let user = User("JonkIsKindaCool", "SuperSecret123")

user.login()
user.info()

user.setName("Webos")
user.info()

user.logout()

tall patio
#

this is fine?

#

and fuck hscript x

#

im making my own shit

tall patio
#

string interpolation is done

tall patio
#

if statements are working

#

while loops are working

#

how can i implement custom iterators

#

hmmm

dreamy sphinx
#

where do i learn this :keoiki

tall patio
#

the guy voice is relaxing

#

and he explains everything in a way that anyone can understand it

tall patio
#

like

struct Counter{
  private let max = null;
  private let current = 0;

  func constructor(max){
    self.max = max;
  }

  func next(){
    //Iterator end == null
    if (current <= max) return null;
    current += 1;
    return current
  }
}
tall patio
#

for loop done

#

its time to work on... structs

#

D:

#

like, the final test is this shit

#

its my first time working with that kinds of objects sooo

#

luck to me?

#

parser is working yaay

tall patio
#

oh

#

i think its working

#

oh wait no nvm

#

idk why but if i make a function in a struct and call it the program just goes to an infinite loop

#

ill fix it tomorrow

tall patio
#

i hate string interpolation :3

tall patio
#

it works

#

yaaay

tall patio
#

adding bytecode

tall patio
#

did i just created the most slower bytecode interpreter?

#

LOL

#

this is so fucking funny

tall patio
#

||isxijfpsaklsxzxockoxzfkdsfdkpofkpoaskpowksfkodsfoksmckvsdokf'oerowefplskfpsvsxpomvplseamsdpmaspfamdpofmdspfmdspvmpoweoirjeroidsfpsdfmlmmdsmlfsdlmlc mdsdkfokori5ijt re kcnk k ok kks vkds dskv pkvc oiuouyyuioiuyklhgfhkel,ndvfewo,ijut nvcbtr||

#

im too lazy to make a registervm

#

its a lot of work for a project that im making for fun

#

😭

#

the most fastest thing would be making a stack based vm

#

but the amount of pop and push that i do make the program to go even slower than a normal interpreter

#

you know why not

#

im making the stack based

#

again...

#

with a direct threaded vm

#

well, kinda

#

idk if that is possible in haxe

#

ill be using maps?

#

idk

#

no, maybe arrays

#

my instructions are just ints

#

so i can just do

tall patio
#

that idea is slow

ashen urchin
#

No it isn't

#

The stack interpreter is literally doing better right now

tall patio
#

when im not using the idea of the maps

#

and a register vm makes it even faster

#

thats why i dont like stack based

#

but im too lazy to make a register vm

ashen urchin
#

But at least the stack interpreter is faster though

#

You could use that

tall patio
#

but in the for loops is kinda slow

ashen urchin
#

It's okay cuz the total result is literally 10ms faster

ashen urchin
#

Oh

#

Well

tall patio
#

xd

ashen urchin
#

Yeah, I gotta say, average it out for more accurate results

#

Unless you're on a cpu with varying frequency like mine that is base 1.7ghz and turbo boost 3.5ghz

#

So yeah

tall patio
ashen urchin
#

I've just had the best fucking day in my life as of right now

ashen urchin
#

That's what

tall patio
#

the result is the same as making one

tall patio
#

and this is the final boss

#

its working on the normal interpreter

#

ast walker interpreter

tall patio
#

i just discovered i can use private inside a function

tall patio
#

wtf im seeing

tall patio
#

what a shitty day omfg

tall patio
#

a good lunch can make every day better

#

😋

tall patio
#

its baaack

ashen urchin
#

Cool

#

Run it again

tall patio
#

omfg this was the worst day

#

of the year

ashen urchin
#

Why is it

tall patio
#

working on some language features would relieve my stress, maybe while loops. i think i forgot to make objects

tall patio
#

i guess its working

#

its not the fastest implementation

#

but it works

#

i guess im implementing creation of classes instances from haxe

#

you know, for using it in modding

ashen urchin
tall patio
#

are you talking about the function calls or the creation of objects

#

haxe classes are working yaay

ashen urchin
tall patio
#

well, function calss

#

calls

ashen urchin
#

Oh

#

Well

#

Regular haxe traces slow down the stuff like a lot

#

Prints will always slow anything down

#

It's natural

tall patio
#

i know that

ashen urchin
#

It's the command prompt

tall patio
#

sending things to the terminal output is really slow

#

functions calls with parents works perfectly

ashen urchin
tall patio
#

?

ashen urchin
#

Old version was From 0.19ms to 0.03ms and new version from 0.42ms to 0.15ms

ashen urchin
tall patio
#

oh

ashen urchin
#

That's literally what I showed you

tall patio
#

its because im using type.createinstance

#

the example with the function to haxe classes

#

reflect and type are kinda slow

#

buti its the only choice that i have for now

ashen urchin
#

So what did the old version use

tall patio
ashen urchin
#

What function call

tall patio
#

print

ashen urchin
#

Oh

#

What does the print function code look like from said old version

tall patio
#

bro i didnt change the print function

#

im just adding features

#

im not changing anything

ashen urchin
#

Ok

tall patio
#

it works in js yaaay

#

i dont wanna redo the struct system

#

🥺

#

but i wanna see the stack time

#

1ms for the structs

#

wow

#

thats slow

#

im highlighting this

#

snippets are functionals

tall patio
#

i have a cellphone

#

yaaay

small vigil
#

add me at whatsapp

#

wasap

tall patio
tall patio
#

idk what im trying to do

#

im testing some ways to make blocks

tall patio
#

wtf it works

#

holymoly

#

holy shit its really working

#

i just did

#

the easiest way to make blocks

#

another thing that i will always do ✅

small vigil
tall patio
small vigil
tall patio
small vigil
#

undefined diría los js papus

tall patio
#

borre nodejs hace una semana y mi vida es mas feliz

#

🔥

small vigil
tall patio
small vigil
#

Bun

tall patio
#

deno*

small vigil
#

También pero

#

no se de deno

#

Lo usé una vez

tall patio
#

yo cuando al fin puedo hacer juegos en opengl usando javascript

#

vida buena

#

por eso odio los stack interpreters....

#

su tiempo de ejecucion es muy variado

#

vrg

#

lopuseenespañolporinstinto

#

nvm

#

i hate the stack interpreters

#

😔

#

they execution time is so random

#

specially if you are doing big loops

#

oh shit i was doing functions

#

fr this is easy

#

things to do:

  • If Statements
  • Assigment operations
  • Structs....
#

and with that the stack interpreter is done

tall patio
#

igotbored

#

ill be saying goodbye to haxe for a while

#

ill be retaking cpp

#

bye

tall patio
#

i like c++

tall patio
#

[idk how to use cmake 💔 ]

tall patio
#

i hate cpp logs

#

omg i have a basic parser

#

im learning how to use cmake

tall patio
#

i think i understant how cmake works

tall patio
#

another day without using haxe 💔

#

cmake error

#

💔

#

bro wth 💔

#

why the build directory in cmakecache is different than the current directory where te project is

tall patio
#

bro wtf 💔

#

why i cant use sdl-image

dreamy sphinx
#

💔 🥀

tall patio
#

😔

dreamy sphinx
#

oh

#

what is so bad about sdl image

tall patio
#

im just using stb_image and uploading everything to the texture

#

😄

#

:D

#

yay finally

tall patio
#

gooood is good

#

gooooooooood is great

tall patio
#

trying 3d in lime

tall patio
#

ah shit, here we go again

small vigil
#

recomendaria cambiar lo snombres de las carpetas

tall patio
#

and i forgot how messy is setting up opengl

#

anyway

#

i wanna test with bits manipulation

tall patio
#

day one using peote view: i think i know how can i make spritesheets animations

#

hold on

ashen urchin
#

Awesome

#

Sparrow atlas? If so, I'd steal

#

Because I want a sparrow atlas that's a whole buffer and program like I did intentionally for ordering

tall patio
#

(sorry, today its my first time using peoteview)

ashen urchin
#

What do youu mean "spritesheets animations"?

tall patio
#

its just a image

#

with a bunch of frames

ashen urchin
#

Oh

#

Thought you'd be able to do sparrow atlas

tall patio
#

except that with a sparrow atlas you have to read the file and archive the frames

tall patio
#

really nice experience tbh

#

i learned a lot about peote view this two hours

#

and i made my first optimization

#

lets goo

#

semmi approvement really made me happy xd

ashen urchin
#

Awesome

#

What'd you code in peote-view?

small vigil
#

can i

tall patio
#

srry i was sleeping

tall patio
#

based on the texture

#

so all the elements that are using the same texture exists inside one buffer-program

#

as it should be

tall patio
#

idk how i could flip elements in peoteview

#

like

#

fliiping the texture coords that will be used in the buffer

#

that could be a solution

#

now the problem is how

#

how i can do it respecting peote view architecture

small vigil
tall patio
#

sadad

tall patio
#

i dont in what format the elements send the data to the buffer

#

but if it works how i think

#

i think i can apply flipX

#

i have flipX

tall patio
small vigil
#

Pa hacerlo

tall patio
#

solo voltee las coordenadas

tall patio
#

1 hour and 20 minutes playing mc

#

lol

tall patio
#

i have my first farm

tall patio
#

learning how to use nme

tall patio
tall patio
#

i wanted to use python as a scripting engine in haxe

#

but hxpy sucks (sorry vortex)

#

so im making a vm

#

lol

#

oh no

#

its says ident

#

and not indent

#

lol

ashen urchin
#

sigh

tall patio
#

i think yields will be one of the last things that i will be making

tall patio
#

only 6 expressions

#

and the parser is done

#

xd

#

then i just need to make the compiler

#

and then a vm using frames chunks and that stuff

#

the most annoying part is almost done

tall patio
#

d o n e

#

making instructions...

#

yaaay

#

...

tall patio
tall patio
#

icantsleep

tall patio
#

while loops yaay

#

and theyre faster than the hsscript ones?

#

wow

small vigil
#

@tall patio jonk

#

ya sé que hacer en el game engine

#

haré fork a flixel

tall patio
small vigil
tall patio
dreamy sphinx
#

try messing with math stuff like (60 * (60 * (60 * (60 * (60) * (60)))))

tall patio
#

si aprendes lo basico de opengl puedes hacer uno funcional en menos de cinco horas

dreamy sphinx
#

idk

#

test this math stuff

tall patio
#

in the vm?

dreamy sphinx
#

tall patio
#

okok

#

ill do it later

#

i have school rn

dreamy sphinx
#

oh ok

tall patio
#

stop pls

#

😭

small vigil
#

Y rehacer muchos backends

dreamy sphinx
tall patio
dreamy sphinx
#

wait i have a good one

small vigil
tall patio
small vigil
#

qué hay de malo sobs

tall patio
#

haxeflixel momento

#

mucho codiog

tall patio
#

aunque optimizar haxeflixel si seria un golazo

#

cambiando todo en el camino

small vigil
#

primero modificaré lo esencial

#

Audio y Dibujado

#

Y meter todo como godot para temas de posiciones

#

porque genuinamente es muy intuitivos

small vigil
#

class NodeTest extends FlxNode

#

Y eso tendría automáticamente posiciones de X, Y

#

entonces

#

Si rienes un FlxSprite

#

Tomaría las posiciones del padre

#

Y sus posiciones locales

#

de que

#

global_position = parent.position + this.position

#

Eso haría que se borre FlxSpriteGroup

#

Y FlxTypedSpriteGroup

#

Y

#

Hacer un batch de draws

#

osea no hacer millones de draws

#

solo las necesarias

#

Que opinas?

#

@tall patio

#

ah y meter motor de físicas modular

#

de FlxPhisics

FlxG.phisycs = new FlxPhisics

#

y ahí se saque todo el tema de cosas necesarias

#

osea que Flxsprite solo se encarga de cosas de dibujado

tall patio
small vigil
tall patio
#

y los nodos padre tmb

tall patio
#

cada shader de opengl tiene un maximo de texturas usables

small vigil
small vigil
tall patio
#

usando un solo buffer y programa

#

programa es igual a shader

#

y buffer donde se almacenan los datos

#

well, bye guys, im going to school

small vigil
tall patio
small vigil
#

so what do you think

tall patio
#

esta bien

#

nomas que tendrias que dejar de usar openfl o usar openfl de manera avanzada

#

porque

#

bueno, flixel tiene mucha dependencia a openfl

#

y la manera en la que dibuja cosas

#

es... peculiar

#

por decirlo de alguna manera

small vigil
#

o usarlo avanzado

#

gulp

tall patio
#

el renderizado en flixel es usando framebuffers

#

algo asi

#

copia los pixeles de los objetos a una camara

#

y creo que eso es mas caro que un drawcall comun

#

no c como optimizar esas cosas en openfl

#

por eso el dejar de usarlo

#

aunque de seguro hay maneras de hacer las cosas mejor

#

no uso openfl de manera avanzada hace como tres año

#

años

small vigil
#

Mehh

#

Nda que leer la guía y doc ayude

tall patio
#

ea

sweet ore
tall patio
#

👀

#

papa lendo que hara en este chat mas muerto

tall patio
#

omg

#

what a shitty night

#

i woke up with a fever, the flu, and im hoarse, my hands are shaking, wtf

tall patio
#

ah

#

i woke up with the idea