P
PureAmbrosia
spirod1Hi
P
PureAmbrosia
Hiya! Tired today. Feel like I haven't got much done.
P
PureAmbrosia
We are alright for the most part.
P
PureAmbrosia
How are you doing?
L
lemnean
Your matrix theme cannot pull the wool over our eyes, we know that is sublime text.
P
PureAmbrosia
LUL
L
lemnean
I don't know what is worse, that you are using sublime text, or that you are proud of it
P
PureAmbrosia
You got a unhinged rant ready for us?
L
lemnean
@PureAmbrosia the sublime love is pretty unhinged
L
lemnean
Do you at least use a fancy keyboard?
L
lemnean
I will allow it
L
lemnean
qwerty?
P
PureAmbrosia
I got to wait until the time is right. 👀
L
lemnean
First they gaslight you into thinking you don't need arrow keys, then they tempt you with the 80 key version
L
lemnean
the fiends!
L
lemnean
the original one isn't wireless?
L
lemnean
does it at least use AA batteries?
L
lemnean
or you could buy this for a fraction of the cost
L
lemnean
amazon.com/RK-ROYAL-KLUDGE-Ergonomic-Mechanical/dp/B0D92B2SP9
L
lemnean
You could buy the black version and swap out the caps
L
lemnean
The one I linked is also split
L
lemnean
so can the one I linked to
L
lemnean
indeed
J
jaythedeveloper
keep on shoving it down on his stream
J
jaythedeveloper
Don't let him bully you LUL
L
lemnean
Might as well get a dygma raise at that point
P
PureAmbrosia
Hope your not too tired for a rant, or I can save it until next stream. I must purchase wisely.
J
jaythedeveloper
You call that a keyboard?
J
jaythedeveloper
this is a keyboard https://www.whiteclouds.com/wp-content/uploads/2019/12/large-keyboard-large.jpeg
L
lemnean
auto nunning sounds like a fetish
L
lemnean
nerd snipe? we are trying to red pill you
L
lemnean
do you think jonathan blow would approve of your fancy keyboard?
P
PureAmbrosia
Okay, waiting for more peeps. The end of the last stream was great.
L
lemnean
behold
L
lemnean
youtube.com/watch?v=4yh9LsvL5IE
L
lemnean
it is glorious
L
lemnean
peak comedy
L
lemnean
you have to watch it
P
PureAmbrosia
The breaking down of everything that is wrong is such a learning experience.
L
lemnean
soon Spiro's cynicism will devour itself
L
lemnean
and he will come full circle as a JS bro
P
PureAmbrosia
I thought it was he libraries and frameworks that were the problem, not vanilla JavaScript.
J
Justin Henley
Good to see you, champ! 👻
L
lemnean
@PureAmbrosia It is both, but by 'JS bros' I mainly mean framework groupies
P
PureAmbrosia
Gotcha, clarification is good.
P
PureAmbrosia
LUL
R
rvIceBreaker
where we rantin' bois
P
PureAmbrosia
Now, if we could just get a raid...
L
lemnean
someone clip it
L
lemnean
this is prime divorce matieral
L
lemnean
Your wife is a software developer?
R
rvIceBreaker
so everything
R
rvIceBreaker
LUL
L
lemnean
just wait until you learn about zigbee2mqtt
P
PureAmbrosia
...I just want some more people in here who are smarter than me.
R
rvIceBreaker
Actually believeable
R
rvIceBreaker
Don't worry, I'm smarter than you :)
L
lemnean
Don't tell me she has osmotically acquired an appreciation for front end developer jokes
R
rvIceBreaker
(implied kappa)
L
lemnean
you are a sick man spiro
P
PureAmbrosia
More people^, it get the conversation going.
L
lemnean
Are you rewriting your old zig project in C?
R
rvIceBreaker
a story in 3 parts
L
lemnean
FOMO in 3 parts
L
lemnean
Jai rewrite when?
L
lemnean
html can contain inline wasm?
L
lemnean
oh, base64 encoded
R
rvIceBreaker
LUL
L
lemnean
won't that be huge?
R
rvIceBreaker
inventing people to be mad about, classic.
L
lemnean
python, javascript and C, the unholy combination
R
rvIceBreaker
This is looking a whole hell of a lot like a compilation process Kappa
L
lemnean
cost of decoding
S
Marco Siedentopf
oyoy!
S
Marco Siedentopf
how are you doing tonight?
M
mr_elf_man
why not just load the atlas from JS?
M
mr_elf_man
I think you can even have html preload and an arraybuffer will be immediately available
L
lemnean
it's 33% fixed, every 3 bytes requires 4 base64 chars
S
Marco Siedentopf
have you looked at the declarative web components proposal, that i sent you?
M
mr_elf_man
I think by separating files, each file can be gzipped by the server
R
rvIceBreaker
"how do i get this down to a single file 🤔 " build an exe like a civilized person Kappa
L
lemnean
@mr_elf_man this will incur 400% increase in size
L
lemnean
which may or may not be significant
L
lemnean
@rvIceBreaker when is the last time you ran an executable that wasn't the browser?
L
lemnean
steam games don't count
R
rvIceBreaker
@lemnean ... kappa?
R
rvIceBreaker
Oh, you're serious?
R
rvIceBreaker
Constantly. All the time. Literally like 4 right now.
R
rvIceBreaker
I own a windows PC, not a chrome book, I do more than browse facebook and call that 'using a computer'.
L
lemnean
I think I triggered rvIce
L
lemnean
score
R
rvIceBreaker
🤷
S
Marco Siedentopf
did you sleep the past days? if you slept, you've had time
L
lemnean
You can use a data url which is base64 encoded
M
mr_elf_man
utf8 or smth as well?
M
mr_elf_man
that damn google popup on stackoverflow is so annoying
M
mr_elf_man
it's not even html based, so you cant adblock it
J
jaythedeveloper
base64 encoding makes things 33% larger fwiw.
J
jaythedeveloper
not that big if things are already small.
L
lemnean
You can probably get most of that back if you serve with gzip compression
L
lemnean
I do not approve of this madness
J
jaythedeveloper
More madness please.
L
lemnean
Spiro's pent up PR review rage is spilling over into his second life
L
lemnean
just ship an executable bro
R
rvIceBreaker
with about the same amount of effort you can send someone a rom dump. Even complete with assembly, and not web-flavored Kappa
R
rvIceBreaker
LUL
J
jaythedeveloper
What's madness is a PHP backend I work on that has XSS that breaks on base64 encoded data sometimes because it looks like javascript
R
rvIceBreaker
buy low // sell high
L
lemnean
@jaythedeveloper Save your perverse confessions for your priest
R
rvIceBreaker
you're missing 'buy low' and 'sell high'
R
rvIceBreaker
Behold. A business plan.
R
rvIceBreaker
I mean, tack on chia, really give that hardware a run for its money
B
b0usif
!language
B
b0usif
!dev
J
jaythedeveloper
@b0usif all of them
B
b0usif
oh i just saw it C/WASM/HTML/JS/CSS(3D)/DOM
B
b0usif
thanks
R
rvIceBreaker
LUL
B
b0usif
bousifHeart bousifHeart bousifHeart bousifHeart
B
b0usif
bousifHeart bousifHeart bousifHeart
B
b0usif
game ?
B
b0usif
flash game ?
B
b0usif
lmao
B
b0usif
xD
B
b0usif
exactly
R
rvIceBreaker
What chat doesn't know is THAT'S the real reason for the language switching... the zig has eth mining, odin introduced btc, C will use chia... They never went away, they're just components of the larger hardware gangbang ecosystem Kappa
L
lemnean
Spiro has crushed many the spirit of an intern
S
Marco Siedentopf
I'm going to start teaching web stuff on Thursday to some illustrators.
S
Marco Siedentopf
should i start with react?
P
PureAmbrosia
Oh no... React mentioned.
S
Marco Siedentopf
:D i'm actually starting with markdown
L
lemnean
I think a lot of the bootcamp mania has subsided and the next generation is starting to care more about performance
L
lemnean
which is why people like muratori and blow are blowing up
J
jaythedeveloper
I think you start with Javascript vanilla.
R
rvIceBreaker
is this the part where we have the classic 'html is not a programming language' talk?
S
Marco Siedentopf
haha ye, illustrators. macbooks. lots of performance left untouched
L
lemnean
watch prime's chat at your peril
P
PureAmbrosia
🤔
S
Marco Siedentopf
really though, the plan is to start with a 'document' as a concept, with markdown, because it teaches the structure with headers and paragraphs, and you can convert markdown to html. then blend in inline styling and build on that
L
lemnean
is it the rant that is redeemed or the rant that redeems us?
S
Marco Siedentopf
so you have the markdown and html side by side
S
Marco Siedentopf
as well as the preview
L
lemnean
Why is your bot spamming X quotes?
R
rvIceBreaker
its chat from twitter stream
D
dmmulroy
it’s sharing what people are saying on X
D
dmmulroy
window.store = {}
L
lemnean
@rvIceBreaker there is a twitter stream?
R
rvIceBreaker
@lemnean you're a twitter stream
L
lemnean
WutFace
D
dmmulroy
that was the wrong chat lmao
L
lemnean
your mods are unfaithful
R
rvIceBreaker
Ah yes, the windows store...
L
lemnean
got hit with an ad
V
vicentedealencar
i think style.background = "url(data..."
L
lemnean
should probably do a bit of work
L
lemnean
will be back later
R
rvIceBreaker
this guy doesn't even make websites, what a phony
R
rvIceBreaker
bottom left coordinates DansGame
R
rvIceBreaker
there's probably a png header or something in there you'll need...
D
dmmulroy
there’s zero shot that will work lmao
D
dmmulroy
you could read it into an UInt8Array no?
S
s9tpepper_
@SpirodonFL I demand my unhinged rant.
P
PureAmbrosia
Oh shit! @s9tpepper_ had a rant in the firing chamber.
R
rvIceBreaker
LUL
S
s9tpepper_
@PureAmbrosia lol
V
vicentedealencar
you could a css class with that background image. on each tile you could play with background-position
R
rvIceBreaker
"if I enable a feature I might as well BUILD A SOCIETY AT THE BOTTOM OF THE OCEAN OUT OF ROCKET SHIPS"
P
PureAmbrosia
Now I get to save mine for another time. Mwahahahaha.
D
dmmulroy
read the image into a bitmap of the pixels
R
rvIceBreaker
using css is probably the way @vicentedealencar
J
jaythedeveloper
Can you not embed things in zig ?
R
rvIceBreaker
as sick as it would be to basically dish out texture buffers by hand you're _really_ reinventing the wheel on that one... I'm sure the browser is referencing a single instance of the image if it shares a css class or whatever...
D
dmmulroy
can’t you use a SharedArrayBuffer to share the memory between wasm and ja
D
dmmulroy
js*
R
rvIceBreaker
Can't create a <style> element from js can you
V
vicentedealencar
@rvIceBreaker you can
R
rvIceBreaker
but I think the problem he's going to run into is it won't refresh the class dynamically
R
rvIceBreaker
I think css is eval'd on document load only
R
rvIceBreaker
or am I crazy
V
vicentedealencar
is atlas not static? why refresh it?
V
vicentedealencar
@rvIceBreaker refereing to this
R
rvIceBreaker
@vicentedealencar well he's stuffing the value from js, so its not static
R
rvIceBreaker
But I'm wrong anyway so nevermind me LUL
V
vicentedealencar
now play with background-postition
R
rvIceBreaker
Feel like i've gotten bit by that before though
V
vicentedealencar
lets go
M
Moldy Apple
i only accept special treats from your mom
V
vicentedealencar
game.html ftw
M
Moldy Apple
🪨
R
rvIceBreaker
All that's left now is to bundle it in electron and there you go Kappa
V
vicentedealencar
ship the html file
R
rvIceBreaker
implement git from scratch, git pull the chromium repo, build it, inject your html file, execute
R
rvIceBreaker
ONE FILE LETS GOOO
V
vicentedealencar
mix-blend-mode?
R
rvIceBreaker
I mean i think you still need an element per image yeah?
R
rvIceBreaker
I'm just saying I don't think mix-blend-mode will comp a collection of images down into a single element, you still need the elements to be there. So z-index and png transparency will get you 99% of what you want.
R
rvIceBreaker
though mix-blend-mode could do some cool effects
R
rvIceBreaker
If it does I would be surprised, its just draw order is all it should be changing
R
rvIceBreaker
I could see that because transforms break out of the typical element rendering, but I would imagine z-index just changes what gets drawn first/last. That shouldn't NEED the gpu, its literally just queue order...
V
vicentedealencar
z-index is older than gpus
R
rvIceBreaker
but I guess i should be surprised if it did use gpu
V
vicentedealencar
jkj
R
rvIceBreaker
shouldn't* be surprised
R
rvIceBreaker
yeah that'll be cool. that and particle effects, but that would probably use transforms so... back to square 1..
V
vicentedealencar
dom particles?!?!
R
rvIceBreaker
You could PROBABLY get pretty far with just position: absolute and setting left: and top:
R
rvIceBreaker
Nah it'd be a little simplistic but it'd probably be a nice little spice on top here and there
R
rvIceBreaker
it might get clipped with relative position
R
rvIceBreaker
I don't think so, cause i think the parent bounds will still clip it
R
rvIceBreaker
If you can add in rotations without triggering gpu then you're pretty much golden
R
rvIceBreaker
also for your 9-slice i wrote a thing for that like a year ago now Kappa
R
rvIceBreaker
why wouldn't you just do it by tile?
R
rvIceBreaker
I could see doing contigious blocks of tiles being combined and using like... background-repeat. But that's going to assume sets of similar tiles for that to work really...
R
rvIceBreaker
I think that would technically end up being less efficient but we're also in the browser so
R
rvIceBreaker
the point of using atlases is because its efficient use of memory; you allocate one contiguous block and reference it everwhere, cuts down on vmem io and talking back and forth with the gpu, in something like OGL
R
rvIceBreaker
as well as overhead of per-texture allocations, since that has descriptor overhead
R
rvIceBreaker
more textures = worse. generally.
R
rvIceBreaker
Yeah you'll be fine regardless, we're talking about things that are so far removed in the browser..
R
rvIceBreaker
however I do think, to argue for just doing it by tile, I think you get more flexibility by being able to use tiles wherever you want.
R
rvIceBreaker
alternative thought for you, you could define groups of tiles into prefab'd constructs and then distribute those are you need. There's an NES tool that calls them 'metatiles', basically just larger groups of smaller tiles.
R
rvIceBreaker
those as* you need
O
Owencodes
yo spiro is alive <3 ma boy
O
Owencodes
how yeah been
O
Owencodes
happy holidays man :)
R
rvIceBreaker
Yeah basically. Its really more of a design tool that at point for all it matters, you could just define the map with those tiles where they should be...
O
Owencodes
yeah im good bro just grinding still learning tons of new stuff since last talked and fixed up my setup abit more just need to finish a few more laravel projects for my portfolio and relaunch next year
O
Owencodes
<3 thanks dad :D
R
rvIceBreaker
yeah there's tons of ideas when it comes to tile stuff... what'll be tricky is how do you position those prefabs (what tile do you orient from) and how do you handle clipping at the borders of the viewport (probably leads you right back to per-tile render)
R
rvIceBreaker
might need to set top and left to 0
O
Owencodes
LUL LUL np bro
R
rvIceBreaker
on all elements so they overlap
R
rvIceBreaker
its not position, its display:
S
SpirodonFL
Owencodes is here to kick back and relax! Leave them alone…
O
Owencodes
!lurk bro
R
rvIceBreaker
display might be a block type, try inline or something
R
rvIceBreaker
I mean I think you still need position relative too
R
rvIceBreaker
just that I know display: block will... 'break' after the element and stack them
R
rvIceBreaker
default div will break each element on y
R
rvIceBreaker
LUL there's some other option in there
R
rvIceBreaker
inline-block maybe?
V
vicentedealencar
float: left; lolololol
R
rvIceBreaker
^
R
rvIceBreaker
that'll do er LUL
R
rvIceBreaker
this is classic FE here. 'how do i get this button to be where i want it to be, wtf' and 4 hours of trying every option...
V
vicentedealencar
yo, can we just go back to table layout already?
R
rvIceBreaker
border:0;
R
rvIceBreaker
try resizing your window though
R
rvIceBreaker
cause I feel like abs without a px will screw you
R
rvIceBreaker
eh, everything is left aligned anyway...
R
rvIceBreaker
I think you were using 64x64 tiles before
R
rvIceBreaker
wow its looking like a game...
R
rvIceBreaker
your elements are overlapping
R
rvIceBreaker
yeah there's a background width and height somewhere...
R
rvIceBreaker
its size
V
vicentedealencar
is your div not 64x64?
R
rvIceBreaker
background-size: wpx hpx
V
vicentedealencar
32 w/e
R
rvIceBreaker
and THEN you might need to do background contain or whatever
V
vicentedealencar
border-box not set?
R
rvIceBreaker
throw in no-repeat
R
rvIceBreaker
LUL
R
rvIceBreaker
torturing css in real-time
R
rvIceBreaker
It might actually be, I know one of those options is fucking stupid like that...
L
Lafolie_
heya
L
Lafolie_
Kraken kard games, arg mateys
R
rvIceBreaker
I would probably fact check your atlas image there and make sure things are actually aligned correctly...
R
rvIceBreaker
but it looks relatively fine at the moment...
R
rvIceBreaker
69:420
R
rvIceBreaker
this is really impressive for only a couple hours in game maker Kappa
V
vicentedealencar
gg
R
rvIceBreaker
nanite
R
rvIceBreaker
infinite tesselation
R
rvIceBreaker
raytracing
R
rvIceBreaker
RTX: on
N
NakorBlue
does unreal 5 have jiggle physics?
L
Lafolie_
FSAA
U
A username
now make it 3D!
R
rvIceBreaker
Oh TXAA, the worst invention man ever devised?
R
rvIceBreaker
TXAA is worse than nuclear weapons
R
rvIceBreaker
Its already 3d LUL
R
rvIceBreaker
holding
V
vicentedealencar
and transform perspective also
R
rvIceBreaker
does css have a perspective transform? LUL
L
Lafolie_
For this kinda game you'd want ortho not, perspective
R
rvIceBreaker
Why are these things in our web browsers...
V
vicentedealencar
rotate3d + perspective
V
vicentedealencar
lets gooo
R
rvIceBreaker
you're right, I love it when google gives me perspective transformed AI summary results
R
rvIceBreaker
just a different kind of perspective transform
R
rvIceBreaker
yeah I would think so
L
Lafolie_
Is there a look_at() function? Basically wanna billboard the sprites
R
rvIceBreaker
billboards are just inverse of your camera rotation 🤓
L
Lafolie_
Depending on how your scene graph is setup,you might have to apply the perspective transform to the sprites
I
Imperious
just a daily reminder Spiro loves little Asian men
U
A username
set the squid perspective to the same as the board plus (or minus) some?
L
Lafolie_
'cause atm they have the same view/model transform as the tilemap
R
rvIceBreaker
I'm guessing that perspective value is a fov? probably horizontal fov?
R
rvIceBreaker
solution; copy that transform to the bg_element class and npc_element class
R
rvIceBreaker
remove from parent
L
Lafolie_
Still think these types of games are way better represented with orthographic projection rather than perspective also
V
vicentedealencar
transform: unset;?
V
vicentedealencar
nah
L
Lafolie_
No it's actual 3D :P
L
Lafolie_
Just saw the html graph, the sprites are inside the tle divs right?
N
NakorBlue
pritty sure SNES games were doing what you are trying to do
R
rvIceBreaker
I think the transform is propagating down to the child elements, so everything gets the same perspective transform, but you'll want to rotate the ocean tiles one way and rotate the sprites... either the other way or not at all
L
Lafolie_
SNES kinda does this, but for a single tilemap
V
vicentedealencar
https://developer.mozilla.org/pt-BR/docs/Web/CSS/transform-function/perspective
L
Lafolie_
The sprites that "stick up" are regular per-scanline sprites (like the hardware mouse cursor on modern GPUs)
L
Lafolie_
Gonna get something to eat anyways, brb and good luck
R
rvIceBreaker
okay one sec, we're onto it
R
rvIceBreaker
prespective transform on the parent, but not rotate. rotate on elements
R
rvIceBreaker
LUL this is.. the worst.
R
rvIceBreaker
you... could be rotating on the wrong axis for the npcs
R
rvIceBreaker
which is your first 3 values in rotate3d
V
vicentedealencar
not sure if possible only with css
R
rvIceBreaker
vince and laf might be right, try unsetting the transform
R
rvIceBreaker
and see if css can just comp it outside the perspective transform
R
rvIceBreaker
no no, transform: unset;
V
vicentedealencar
@rvIceBreaker i dont think transforms cascade like that...
R
rvIceBreaker
looks like it to me
R
rvIceBreaker
when you perspective the parent container you perspective everything
V
vicentedealencar
it assumes the node is 2d and transforms its pixels all together
V
vicentedealencar
you could have another div layer of elements standing up and try to align both planes
R
rvIceBreaker
no it does
M
Muhammed Adil. KK
hi
R
rvIceBreaker
look at the mozilla example and look at the valuves
R
rvIceBreaker
values* jesus i can type
M
Muhammed Adil. KK
what your doing
M
Muhammed Adil. KK
where are you from
U
A username
Ask chatgpt
R
rvIceBreaker
the parent has a perspective, everything else is just translated/rotated. I think the element hierarchy is basically just the matrix stack like OGL would do.
R
rvIceBreaker
push and pop
M
Muhammed Adil. KK
v.........................................v.........................................v.........................................v.........................................v...............................
V
vicentedealencar
wow!
V
vicentedealencar
perserve-3d is new to me
R
rvIceBreaker
fix your ocean tile LUL
V
vicentedealencar
and translate to bring it up
V
vicentedealencar
cool shit
R
rvIceBreaker
we've gone from 0 gpu to 100% gpu in 10 easy steps
R
rvIceBreaker
we have reinvented a worse graphics api via css LUL
R
rvIceBreaker
depends, how stupid have we got?
R
rvIceBreaker
jesus christ LUL
R
rvIceBreaker
this is more escalation than the cuban missile crisis
R
rvIceBreaker
"NO GPU EVER" -> "Maybe we can have a little GPU..." -> "LETS MAKE A FIRST PERSON SHOOTER INSTEAD"
R
rvIceBreaker
LUL
R
rvIceBreaker
so fucking dumb LUL
U
A username
Yaaaa!!!!
R
rvIceBreaker
Great youtube clickbait headling though; "How i recreated Unreal Engine in firefox"
R
rvIceBreaker
Arrows, circles, pog face
L
Lafolie_
back
L
Lafolie_
How unreal are we? Gettung sourcey? Unifying?
R
rvIceBreaker
LUL
R
rvIceBreaker
family friendly has left the building
R
rvIceBreaker
LUL
R
rvIceBreaker
https://www.twitch.tv/spirodonfl/clip/ObeseFrigidDogeKevinTurtle-N6wnX_1chnosDUTv
R
rvIceBreaker
Just gonna go ahead and...
R
rvIceBreaker
LUL hahaha
L
Lafolie_
https://www.twitch.tv/spirodonfl/clip/CrispySourBobaAliens-J4wsdqRF8ryBzc39
H
hylablocks
that's c WASM?
R
rvIceBreaker
You know what's REALLY fun?
R
rvIceBreaker
My clips are featured :)
R
rvIceBreaker
Have fun having that front and center on the twitch page
R
rvIceBreaker
your channel page*
L
Lafolie_
yeah none of that hard, efficient stuff
R
rvIceBreaker
https://www.twitch.tv/spirodonfl/clip/DarlingPlayfulKeyboardYouWHY-TjFbNLUfRiosNoqq
H
hylablocks
I didn teven knew that existed wtf
H
hylablocks
I thought it was a HTML5 canvas
R
rvIceBreaker
Narrator: he's cheating
L
Lafolie_
Make the tilemap 256*256
H
hylablocks
sometimes you gotta do some things just because you can
R
rvIceBreaker
2.5 HD... not 4k, but 2/3rds 4k
H
hylablocks
from PHP to making a webassembly game in pure C is kinda crazy
L
Lafolie_
Really, I wanna see if it performs okay with a big map like that
R
rvIceBreaker
12x12 DansGame
R
rvIceBreaker
rookie numbers
R
rvIceBreaker
get that shit out of here
R
rvIceBreaker
well thats like what... 131k dom elements?
L
Lafolie_
65536 tiles
R
rvIceBreaker
he... might have 2 per
R
rvIceBreaker
plus a parent per tile actually so
U
A username
webgpu time
R
rvIceBreaker
its at LEAST double the width and height
L
Lafolie_
SO closer to 180k haha
L
Lafolie_
195 rather
R
rvIceBreaker
how it started: "THE DOM IS SO FAST" how its going:
L
Lafolie_
It'l be either y or z
L
Lafolie_
Try a bigger value than 10
R
rvIceBreaker
I think its working
R
rvIceBreaker
but your origin isn't center
R
rvIceBreaker
there's a prop for that actually
R
rvIceBreaker
LUL its trying so hard...
L
Lafolie_
oh wow it added scroll bars haha
R
rvIceBreaker
I think that's the dev tools making it slow
R
rvIceBreaker
the refresh in the dom view is probably killing any perf you might have
L
Lafolie_
This is mad slow. if you did this with gl it would could fart it out it's so easy
R
rvIceBreaker
I see it coming and going though, I think it might be due to visibility clip
L
Lafolie_
Well it's just an early stress test
U
A username
yeaaaa, this is what webgpu is for
L
Lafolie_
At least now you have some clue what the boundaries of this technique are
R
rvIceBreaker
move the camera in really small circles
L
Lafolie_
Did you end up doing a transform on each individual div?
L
Lafolie_
Well that's a big part of the problem
R
rvIceBreaker
^ I don't think that's required, that might be causing something
L
Lafolie_
Well, I dunno how this broswer works under the hood, whether it batches any of this stuff or what
R
rvIceBreaker
I would set it back to 12 so we can see anything LUL
L
Lafolie_
Which begs the question, does it perform any better on a different browser?
L
Lafolie_
Probably firefox being the only different one you can try
R
rvIceBreaker
whats your total element count with 256x256?
R
rvIceBreaker
do you have empty npc/layer1 elements?
R
rvIceBreaker
you're positive?
R
rvIceBreaker
I mean I don't imagine 65k elements is going to work well in the browser anyway but
R
rvIceBreaker
ok...
R
rvIceBreaker
well that's your build time
R
rvIceBreaker
there we go
R
rvIceBreaker
was literally just about to say you're not doing any dom refreshes
R
rvIceBreaker
next question
R
rvIceBreaker
to eliminate potential causes
R
rvIceBreaker
how quickly does your input updates come back without any dom involved at all
R
rvIceBreaker
I'm wondering if there's a delay happening due to a viewport oversight, so the delay is actually because of updates propagating through wasm
L
Lafolie_
Don't worry Sprio, I'll let you use my 2D engine when it's ready :P
L
Lafolie_
I license it out to you, for free, with the "DOM is slow hehehaha license 2.0"
R
rvIceBreaker
can you get movement back?
R
rvIceBreaker
just curious, i'm sure its probably the same thing
L
Lafolie_
So what is your ideal maximum map size for the game concept?
R
rvIceBreaker
oh this is chrome? 🤮
L
Lafolie_
Wlel you could overcome it by rendering a sub-region
L
Lafolie_
AHA
L
Lafolie_
I WAS RIGHT
R
rvIceBreaker
LUL suck it chrome
L
Lafolie_
The underlying implementation is differeny
L
Lafolie_
Chrome is SLOW confirmed
R
rvIceBreaker
Oh wait
R
rvIceBreaker
you have gpu disabled in chrome, right?
L
Lafolie_
oh
L
Lafolie_
:9
R
rvIceBreaker
2d might be related to hw accel
U
A username
Would it be crazy to not use dom elements, instead redrawing the board in the backend?
L
Lafolie_
ah
P
PureAmbrosia
I disappeared. Did I miss the rant?
L
Lafolie_
There's a rant?
R
rvIceBreaker
@PureAmbrosia you missed some good clips
R
rvIceBreaker
here let me get them for you :)
L
Lafolie_
https://www.twitch.tv/spirodonfl/clip/CrispySourBobaAliens-J4wsdqRF8ryBzc39
L
Lafolie_
That's faster than chrome was?
P
PureAmbrosia
LUL
L
Lafolie_
Not it's significantly faster, I can see at 480p 30fps
R
rvIceBreaker
gg ez
R
rvIceBreaker
wait, again, did you re-enable hw accel in chrome?
R
rvIceBreaker
LUL
R
rvIceBreaker
CSS can't handle it
L
Lafolie_
Hey Spiro, can you hover the mouse over the game tab so we can see the mem usage?
L
Lafolie_
That's a lot, but I expected more
R
rvIceBreaker
that's... ridiculously high
R
rvIceBreaker
man web browsers suck
L
Lafolie_
I have a youtube tab that's 844Mb lol
L
Lafolie_
Oh, 884 even
L
Lafolie_
Like wtf. Almost a jigglebyte for A WEB PAGE
L
Lafolie_
wtf
R
rvIceBreaker
I mean its ridiculously high for literally any other kind of application...
L
Lafolie_
I think it's just chrome jank man
R
rvIceBreaker
I don't think it has to do with wasm, I bet it has to do with terrible management of resources
L
Lafolie_
I have no idea how it works. Got 3 youtube tabs right now, 1 playing. They are 531mb (playing, has chat), 341mb (idle), and 884(idle, has chat)
R
rvIceBreaker
maybe using a css class _doesn't_ just reference a single image in memory, maybe web browsers are so dent brained they're just doing byval everywhere
R
rvIceBreaker
your total raw resources on disk are nowhere near 100mb, where the fuck is all the extra consumption coming from
U
A username
The console logs and JS would be the culprit
L
Lafolie_
Well there's gonna be a bunch of metadata for each div and all that crap
L
Lafolie_
There's a rendering one
R
rvIceBreaker
even then, MBs maybe, not a hundred plus
R
rvIceBreaker
... no?
L
Lafolie_
That's not mem usage?
L
Lafolie_
Y'know what I think it might be
R
rvIceBreaker
well... on the stack I would think
L
Lafolie_
JS garbage
L
Lafolie_
Can you manually trigger a GC cycle in js?
L
Lafolie_
oh yeah it's wasm
L
Lafolie_
Is there any wasm monitors?
R
rvIceBreaker
I mean it wouldn't surprise me that you're right, just... blows my mind if that's the case
L
Lafolie_
*Are there
L
Lafolie_
Would that mean that a DOM re-render is duplicating state somehow?
R
rvIceBreaker
its having an existential crisis in real time LUL
L
Lafolie_
Like they realloc everything or something
R
rvIceBreaker
if that's the cause of the mem consumption yeah I think so
R
rvIceBreaker
which seems fucking ridiculous to me
L
Lafolie_
Yeah just mutate it
V
vicentedealencar
you are setting styles in js. if you do it with css variables maybe faster
R
rvIceBreaker
I think the styles only happen on launch though
R
rvIceBreaker
although.. maybe per-element styles could be part of the problem?
L
Lafolie_
No the style rerender was in the graph dood
L
Lafolie_
Hey can firefox render similar graphs for comparison?
R
rvIceBreaker
that vmem consumption is also a little bizarre..
L
Lafolie_
I'm confused as to why the GPU memory fluctuates so much when you'er not uploadig new objects
R
rvIceBreaker
only thought i have is they're rending each dom element in some back buffer, so visibility clip means you drop those buffers...
L
Lafolie_
ah right
L
Lafolie_
That's.... weird
L
Lafolie_
I guess their strategy is to do that once, then render it to an FBO which is displayed every frame
R
rvIceBreaker
so more elements on screen = more memory, less elements = less... which is usually not what you want to be doing.
L
Lafolie_
Yeah that's gonna be really costly temporally
L
Lafolie_
because you're constantly sequestering and then freeing vram
R
rvIceBreaker
and having to inform the gpu over the io bus
R
rvIceBreaker
but i guess that's why you're getting 100fps and not a few thousand at least LUL
L
Lafolie_
Well that's why I said what I did earlier. We have no idea what strategy they use. If they generate a mesh out of divs that would be one thing, but if they do each one individually errrr
R
rvIceBreaker
I mean what you're doing in terms of a gpu is like... the most basic of basic operations, your gpu can do matrix calculations in its fucking sleep.
A
ALsJourney
Hi spiro
A
ALsJourney
Huh
R
rvIceBreaker
your gpu utilization would probably be low enough to round to 0 LUL
L
Lafolie_
Does that graph only update on first paint or something?
R
rvIceBreaker
LUL all better
L
Lafolie_
Are you sure that doesn't mean GPU's cpu/
R
rvIceBreaker
I dunno if i believe that but honestly its been a long time since cpus were completely dogshit awful at fp math...
L
Lafolie_
For very small tris, CPU is actually faster
R
rvIceBreaker
right, no io
L
Lafolie_
Not even
L
Lafolie_
It's because of wasted calculations
L
Lafolie_
GPUs have a minimum kernel size, so for a tri that only covers a single fragment, there's wasted work
R
rvIceBreaker
that makes sense too
L
Lafolie_
It's such an issue that Nanite does the small tris on the CPU
L
Lafolie_
How the fuck they manage that I have no idea, but it does it
R
rvIceBreaker
assuming we believe the AI
R
rvIceBreaker
that could either be like laf says and its an optimization, or that's literally just the pcie bus overhead LUL
L
Lafolie_
I'm still doubtful it's on the CPU, especially since that one graph was sub-tree'd under the GPU heading
R
rvIceBreaker
ie the cpu chatting to the gpu to do something stupid simple because the browser is constantly rebuilding state
L
Lafolie_
Could is just be poor wording in the tooltip?
R
rvIceBreaker
well i'm wondering if its basically including api calls
Q
Quadrinomical
When does it ever make sense
R
rvIceBreaker
I think its using the gpu to draw, but the utilization % is purely the cpu making gpu api calls
R
rvIceBreaker
the gpu is fucking asleep for all it matters, all the perf loss is the cpu having to talk out to the gpu constantly
R
rvIceBreaker
because they buffer nothing
R
rvIceBreaker
even if you do this same thing in the most dent-brained way possible with dx or ogl you'd get way better performance than this
L
Lafolie_
All Sprio's streams in 2025 are gonna be reading chromium source
L
Lafolie_
READING CHROMIUM SOURCE (Part #245433)
R
rvIceBreaker
I mean check out task manager's usage pct, it won't be super accurate but that might be relative to firefox
R
rvIceBreaker
ie 60% of everything firefox is doing with the gpu is your game
R
rvIceBreaker
meanwhile systemwide, the gpu is 0%
R
rvIceBreaker
Its about as smart as everything else to do with web browsers Kappa
R
rvIceBreaker
Its neat. And dumb. Its dumb and neat.
L
Lafolie_
Running the browser, yep, scrap
R
rvIceBreaker
I'd scrap it Kappa
L
Lafolie_
Spaceweb 2.0
L
Lafolie_
For that kinda turn-based gameplay, I use a pattern called "pushdown automata", which is basically an FSM powered by a stack
R
rvIceBreaker
a stack of what?
L
Lafolie_
A stack of states
R
rvIceBreaker
stack of shit :)
L
Lafolie_
It's critical to the pattern, makes a tonne of stuff super easy to compose
R
rvIceBreaker
@Lafolie_ do you have any reference material on that?
R
rvIceBreaker
LUL
L
Lafolie_
yeah hang on
R
rvIceBreaker
I'll do you a favor and not clip that one
R
rvIceBreaker
we can just keep that one between us
R
rvIceBreaker
OKAY NEVER MIND
R
rvIceBreaker
FEED ME MORE MATERIAL
R
rvIceBreaker
STRAIGHT TO YOUTUBE SHORTS IT GOES
R
rvIceBreaker
LUL "Doll" like its the fucking 40s around here
L
Lafolie_
https://gameprogrammingpatterns.com/state.html#pushdown-automata
R
rvIceBreaker
Spiro wake up, pearl harbor was 100 years ago
R
rvIceBreaker
@Lafolie_ Nice, thanks
R
rvIceBreaker
Oh, its rob nystrom LUL
L
Lafolie_
It's a great technique, I use it a lot
R
rvIceBreaker
that checks out
R
rvIceBreaker
I really need to read his fucking books..
L
Lafolie_
Yeah I have a hard copy of that one. I should get a copy of his interpreter book as well
R
rvIceBreaker
I've skimmed through both of them multiple times but I need to really find some time to sit down and read them cover to cover...
L
Lafolie_
To be honest since I ditched OOP a fair bit of it is kinda irrelevant, but it's good to understand the concepts anyways I guess
L
Lafolie_
That particular book was really influential for myself
R
rvIceBreaker
sorry i couldn't hear you over the sound of implementing vtables in C...
R
rvIceBreaker
Kappa
R
rvIceBreaker
what did we do again?
R
rvIceBreaker
so now what you do
R
rvIceBreaker
is you implement the viewport as a ring buffer
R
rvIceBreaker
and then you transform 12x12 blocks to be each side of a cube...
R
rvIceBreaker
so you can sail around the cube
R
rvIceBreaker
welcome to tile planet
R
rvIceBreaker
well its not flat... its a cube
R
rvIceBreaker
I think you should stop.
R
rvIceBreaker
stop right there criminal scum.
R
rvIceBreaker
in relation to the game or just in general
R
rvIceBreaker
mmmm
R
rvIceBreaker
multiple windows
R
rvIceBreaker
sail from one window to another
R
rvIceBreaker
popups for each region of the world
R
rvIceBreaker
DUDE
R
rvIceBreaker
Banner ads as a game mechanic
R
rvIceBreaker
you have to sail into the banner ads
R
rvIceBreaker
hahahaha
R
rvIceBreaker
LUL
R
rvIceBreaker
portal into the ad dimension
R
rvIceBreaker
your sailing pirate game has taken a very sudden turn for the meta
V
vicentedealencar
internet navigation
R
rvIceBreaker
speaking of meta here's an idea for you
R
rvIceBreaker
pirate sailing game, opening the shops just takes to to tpb
R
rvIceBreaker
takes you* to tpb
R
rvIceBreaker
trade in game with seed lists :)
L
Lafolie_
webtorrent
L
Lafolie_
Dman you beat me to it
L
Lafolie_
That's basically just peer-to-peer
R
rvIceBreaker
pirate game pirating games
R
rvIceBreaker
fighting the ads
L
Lafolie_
Call the game Pirate Seed
R
rvIceBreaker
LUL
R
rvIceBreaker
SPREAD THE SEED HAHAHAHA LUL
R
rvIceBreaker
OFF TO CONQUER THE NATIVES, SPREADING THE SEED
L
Lafolie_
Tag it as a gardening game
R
rvIceBreaker
HAHA
R
rvIceBreaker
Who can stop us
R
rvIceBreaker
someone must stop us
R
rvIceBreaker
this can't happen
R
rvIceBreaker
LUL
R
rvIceBreaker
this is objectively the worst idea ever created
R
rvIceBreaker
this is what leads to genocides
L
Lafolie_
Can we work QR codes in here somehow
R
rvIceBreaker
The landscape is a QR code
L
Lafolie_
the tilemaps?
R
rvIceBreaker
just use the tiles
L
Lafolie_
jynx
R
rvIceBreaker
LUL
L
Lafolie_
You have to use your phone for it
L
Lafolie_
"mobile game"
R
rvIceBreaker
This is pessimism distilled
R
rvIceBreaker
personified
R
rvIceBreaker
Its morally correct is the problem
R
rvIceBreaker
This is what will establish video games as art. The ultimate societal comentary.
R
rvIceBreaker
wait we can mix in some ARG here
R
rvIceBreaker
make the world a huge qr code that you have to piece together in bits
L
Lafolie_
Fuck it get some geolocation in there as well. Perhaps as a random seed
R
rvIceBreaker
mention nothing about it, let the community discover the easter egg
R
rvIceBreaker
Not XR, more like puzzles that reach into the real world
L
Lafolie_
What's XR?
R
rvIceBreaker
Ie the qr code is a phone number
N
NakorBlue
how dont you know what ARG are. thery are in so many games as secrets and meta real world games.
R
rvIceBreaker
https://en.wikipedia.org/wiki/I_Love_Bees
L
Lafolie_
They're used a lot for marketing too. Some really good albums had them (Year Zero <3)
N
NakorBlue
that show Mr Robot had a famous one
R
rvIceBreaker
ARGs are like baby's first red-team
R
rvIceBreaker
Well I'm glad we got that out of our system, that was easily the greatest collection of the worst ideas ever
V
vicentedealencar
gg
R
rvIceBreaker
These css 3d skills will DEFINITELY translate into other fields Kappa
R
rvIceBreaker
we're definitely learning the fundamentals here
R
rvIceBreaker
spread the seed™️
P
PureAmbrosia
👀
L
Lafolie_
Thanks for the stream <3
R
rvIceBreaker
@PureAmbrosia no rant :(
R
rvIceBreaker
... or maybe we got the rant after all
P
PureAmbrosia
I think someone should get a refund fir next time.
R
rvIceBreaker
I am definitely not able to i'm pretty sure...
R
rvIceBreaker
you might just have to gift him points..
L
Lafolie_
spirod1HYPE
P
PureAmbrosia
😮
R
rvIceBreaker
but I'm 99% sure i can't do that, since my points are also limited LUL
R
rvIceBreaker
And I earned these points, damn it.
L
Lafolie_
You didn't name your pointerinos yet? pfft
N
NakorBlue
i can see the refund thingy b ut i dont see a redeem by anyone named sargent or srgnt
L
Lafolie_
How about "Dangling Pointers"
R
rvIceBreaker
He doesn't use pointers
L
Lafolie_
Seeds
N
NakorBlue
Done!!
N
NakorBlue
refunded
P
PureAmbrosia
👍
L
Lafolie_
byeee
P
PureAmbrosia
spirod1Hi
R
rvIceBreaker
I see it in mod view now
R
rvIceBreaker
spirod1Hi
L
Lafolie_
spirod1Hi spirod1Hi spirod1Hi
R
rvIceBreaker
later losers
H
hawksofcode
hei, tech lead! )
H
hawksofcode
how is it going with game development? )
H
hawksofcode
gone )
R
rvIceBreaker
discovered the magic of the 3rd dimension Kappa
H
hawksofcode
so what is the project you're working on now if not a secret of course
H
hawksofcode
cool 3d in css only
P
PureAmbrosia
spirod1Hi
R
rvIceBreaker
So I dunno if you have said since the C rewrite, what is the plan for boat chess in terms of twitch and stuff?
P
PureAmbrosia
Is this the third day in a row? Are we getting spoiled.
R
rvIceBreaker
I was just wondering if you were still shooting for the multiplayer stuff or saving it for later or if you dropped it or what
S
shreyassanthu
Penetrating what?
R
rvIceBreaker
I'll pray to your god, does that work
L
Lafolie_
Heya
S
shreyassanthu
I call it skill issues
S
shreyassanthu
and cope
J
jaythedeveloper
@shreyassanthu ban @shreyassanthu
J
jaythedeveloper
@shreyassanthu !ban @shreyassanthu LUL
S
shreyassanthu
oh boy
S
shreyassanthu
new achievement unlocked
R
rvIceBreaker
I mean @shreyassanthu is hot so...
L
Lafolie_
Prattle queen
R
rvIceBreaker
LUL spicy tonight
S
shreyassanthu
did anyone tell him c is functional?
R
rvIceBreaker
I still love you @shreyassanthu <3
S
shreyassanthu
@rvicebreaker lol 😂 okay
R
rvIceBreaker
we had fun, it was worth the distraction
P
PureAmbrosia
Ooooooooooo let's go!
R
rvIceBreaker
there's a state of js? I thought it was like a superposition
S
shreyassanthu
your mom is a superposition
P
PureAmbrosia
Yep yep
P
PureAmbrosia
I need a good rant.
S
shreyassanthu
I'm listening
R
rvIceBreaker
grab your favorite beverage, make sure it contains alcohol
P
PureAmbrosia
👀
S
shreyassanthu
@rvicebreaker I don't drink
R
rvIceBreaker
@shreyassanthu well I don't much, but its probably a good time to start Kappa
S
shreyassanthu
once a year
S
shreyassanthu
One isa stack overflow survey
S
shreyassanthu
and there's also state of html survey
L
Lafolie_
"How you use javaScript" reluctantly, whilst crying I'd imagine
R
rvIceBreaker
@Lafolie_ drowning in a sea of your own tears of rage
S
shreyassanthu
How tf are vite and react in the same category 🤣
S
shreyassanthu
🤣🤣🤣
R
rvIceBreaker
Somebody call Badcop she got a W
R
rvIceBreaker
Bash is back baby lfg jolliPOG
S
shreyassanthu
Disagree
S
shreyassanthu
I think you are wrong
L
Lafolie_
I do not understand the whole build step fad
S
shreyassanthu
What does that mean??
L
Lafolie_
One of the best things about dynamic stuff is you have zeor compile times
S
shreyassanthu
These stats mean nothing
M
Mikenhil
Yo
M
Mikenhil
YO
S
shreyassanthu
@lafolie_ well that also makes the runtime slow af
M
Mikenhil
Hello :)
R
rvIceBreaker
I get it for bundling but..
L
Lafolie_
LuaJIT begs to differ
S
shreyassanthu
yes lol
S
shreyassanthu
dumb stats to measure
S
Marco Siedentopf
good morning
S
shreyassanthu
none of these stats have any sort of nuance
L
Lafolie_
Hang on a sec
S
shreyassanthu
@lafolie_ oh I am hanging
R
rvIceBreaker
Its kind of an interesting perspective being drawn there; tons of usage of build tools, also 30% complaints about build tools
L
Lafolie_
Doesn't code arch being the #1 issue suggest that the frameworks they're using are a problem?
S
shreyassanthu
@lafolie_ lmfao react and next are a problem obviously
L
Lafolie_
'cause the frameworks dictate the arch in a big way
S
shreyassanthu
okay react is shit but what did vite do to you man?
S
shreyassanthu
People don't have a choice tho
S
shreyassanthu
some random cto watching theo is the one picking the framework
L
lemnean
This is not a very zig friendly stream
L
Lafolie_
wtf is this graph
R
rvIceBreaker
LUL
S
shreyassanthu
It is bad data
L
lemnean
Proof that zoomers don't know what they want
L
lemnean
you are looking at their full emotional range
L
Lafolie_
Bottom left under the graph, do those buttons change the view?
M
Mikenhil
@lemnean Does anybody REALLY know what they want?
R
rvIceBreaker
I mean what even are these values supposed to represent, a scale from 1 to 5 or?...
L
lemnean
@Mikenhil Put down the joint
M
Mikenhil
@lemnean YOU CANT MAKE ME!!
S
shreyassanthu
what thaaa fahk 😂
L
lemnean
NotLikeThis
O
Owencodes
yo ma boy
L
lemnean
I apologize for interrupting your rant spiro
L
lemnean
please continue
S
Marco Siedentopf
using the comments to figure that out is doomed to begin with. you get the unhappy ones in there, and the happy ones won't bother to write anything
S
shreyassanthu
Lmfao 🤣
I
Imperious
Daily Reminder Spiro was on Hunter Bidens Laptop as a Prostitute
R
rvIceBreaker
HAHA LUL
O
Owencodes
spirod1Dance spirod1Dance spirod1Dance spirod1Dance spirod1Dance
R
rvIceBreaker
That's a quote, put that on the back of the box for JS
O
Owencodes
is there sound ?
O
Owencodes
LUL LUL LUL SeemsGood
L
lemnean
This is corroborating my key point
O
Owencodes
haha js
O
Owencodes
strim needs musac :D
P
PureAmbrosia
LUL
I
Imperious
Daily Reminder Spiro was on Hunter Bidens Laptop as a prostitute
O
Owencodes
lol
L
lemnean
I say let them rot in the framework stew
O
Owencodes
Just read the bot haha
L
lemnean
there are too many developers already
L
Lafolie_
The grammar is so bad in these comments
L
lemnean
true elly knows what's up
I
Imperious
Daily Reminder Spiro was on Hunter Bidens Laptop as a prostitute
I
Imperious
lol
L
lemnean
You are only allows to defame Spiro three times
L
lemnean
*allowed
R
rvIceBreaker
they don't know i still use float: left;
P
PureAmbrosia
But tell us how you really feel Spiro.
L
lemnean
MAKE IT STOP SPIRO
L
lemnean
FOR THE LOVE OF GOD
S
shreyassanthu
@spirodonfl you know what they say?
L
lemnean
This is like that scene in a clockwork orange where they tape Alex's eyes open
I
Imperious
Spiro was The man who "Took Care" of The Russian General
M
Mikenhil
I like to go in raw with my code. No libraries. No frameworks. Just raw js.
L
lemnean
@Mikenhil I take the same approach to your mom
I
Imperious
Is this some kind of like nerd seminar?
L
lemnean
@RestreamBot first time on spiro's stream?
I
Imperious
Why are computer ppl so upset at technology lol
M
Mikenhil
@lemnean You leave my motha outa this
L
Lafolie_
@RestreamBot Welcome to Enlightened Programming
R
rvIceBreaker
Because we know how it works imperious
L
Lafolie_
Oh boy another one
R
rvIceBreaker
or rather, that it doesn't work.
I
Imperious
I'm not even like a tech person and I get mad but man this is like me hating books lol
S
shreyassanthu
wierd kink
L
lemnean
Javascript developers are never happy
L
lemnean
they merely exist
L
Lafolie_
Spiro reading the comments I think the Bob-omb Battlefield theme would fit
L
lemnean
all the newbies bring the average down
L
lemnean
or rather, up
I
Imperious
Is this like how happy people are using it or how happy the people who see the results are?
R
rvIceBreaker
THAT GUY
R
rvIceBreaker
THAT GUY KNOWS WHATS UP
L
lemnean
as the old guard are slowly disillusioned, a new crop of bootcamp devs keep the happiness index up
R
rvIceBreaker
REMOVE JAVASCRIPT FROM THE BROWSER 2025
L
Lafolie_
Do not redeem JS!
I
Imperious
who is react?
S
shreyassanthu
well a good way to put this is.... we're fucked
L
lemnean
Spiro is taking us on a journey through his childhood
L
Lafolie_
ASM maybeee
I
Imperious
Spiro seems like he needs a hug
L
Lafolie_
*baybeee
L
lemnean
I think imperious is propositioning you
S
shreyassanthu
@lafolie_ it's okay baby chill
L
lemnean
Give a bootcamp monkey a PDP 11 and a million years and you will still not get unix
S
shreyassanthu
brb
L
lemnean
Old greek bemoans the loss of the golden age
L
Lafolie_
I wonder how much of an effect Java had in this as well
S
Marco Siedentopf
Let me make a bold claim: everybody would be happier, if the maintenance fee wasn't that high for js frameworks.
S
Marco Siedentopf
A friend of mine started a business 15 years ago, and made the strategic decision to build on php and not depend on external libraries - some upfront cost, but it's been a massive success story long term.
L
lemnean
A true wordsmith
L
lemnean
That sounds more like job security through obscurity
L
lemnean
'Hey jim, the magic framework is misbheaving again'
L
lemnean
jim!?
M
Mikenhil
Imagine they layoff the one guy who knows what everything does and they cant replace him lol
L
lemnean
jim is dead
L
lemnean
@Mikenhil That happens all the time
L
lemnean
I don't agree with this analysis, I think it is mostly a function of companies like facebook pushing their shit and contaminating the culture
L
lemnean
which is reinforced by groupthik
M
mr_elf_man
ill be honest, the JS situation aint thaaaat bad
S
shreyassanthu
Oh boy we still going?
L
Lafolie_
You will eat ze bugs, you will own nothing and code JS, and you will be happy.
P
PureAmbrosia
It was a 2 for 1 deal rant. I love it.
L
lemnean
motherfucking world mentioned
B
bewaretheleopard
Just put the yaml into the black box, then fix it
L
lemnean
^
M
Mikenhil
I dont like hard work
S
shreyassanthu
well I don't care then 🤷♂️ it doesn't matter if I don't make money
S
shreyassanthu
capitalism baybee
M
Mikenhil
@shreyassanthu this
L
lemnean
I think someone put cocaine in Spiro's red pill
S
shreyassanthu
@lemnean oh he did it by himself
L
lemnean
NotLikeThis
S
shreyassanthu
Indian scammers mentioned
C
cmgriffing
howdy cmgrifMrSir
S
shreyassanthu
Yooooooooo @cmgriffing
R
rvIceBreaker
LUL welcome raiders
P
PureAmbrosia
Hi raiders!
R
rvIceBreaker
buckle up
B
bekirpatrick
if this is what it is usually like around here I am following right now
L
Lafolie_
Welcome in
Z
zzaaddaa__SABER
May because JS
L
Lafolie_
@bekirpatrick Yep
P
PureAmbrosia
We are in the middle of an unhinged rant.
L
lemnean
@cmgriffing Spiro is too busy raging against the machine to pay attention to you and your toque
S
shreyassanthu
How are you @cmgriffing been a while since I was in your chat
Z
zzaaddaa__SABER
JS brain
C
cmgriffing
Oh boy, I mentioned that you and I disagree about things, and it seems like we came in at one of those moments
C
cmgriffing
BUT, I'M STILL A FAN
L
lemnean
PogChamp PogChamp PogChamp PogChamp PogChamp PogChamp
C
cmgriffing
@lemnean yeah, I see it, and this is something that he knows I disagree with him about.
S
shreyassanthu
well money talks apparently
P
PureAmbrosia
@bekirpatrick these rants are pretty normal.
C
cmgriffing
Developer productivity is more important than CPU cycles
S
shreyassanthu
@cmgriffing it's a tradeoff
L
lemnean
@PureAmbrosia This is not a rant, God is speaking through him
L
lemnean
pay attention
S
shreyassanthu
All of it is tradeoffs
C
cmgriffing
@shreyassanthu I get it, but in general developer time is a company's most expensive resource
Z
zzaaddaa__SABER
FBtouchdown FBtouchdown FBtouchdown FBtouchdown. Lets stop the JSers
Z
zzaaddaa__SABER
FBtouchdown FBtouchdown FBtouchdown FBtouchdown FBtouchdown
S
shreyassanthu
@cmgriffing as a business owner I 1000% agreed
L
lemnean
@cmgriffing A company's most precious resource is money, that's why there is lead in your water
M
Mikenhil
Spiros got the hoodie. Im worried this might be a luigi style manifesto :(
R
rvIceBreaker
L is real
S
shreyassanthu
@rvicebreaker yeah looks like you are real
L
lemnean
@Mikenhil He is Greek
L
lemnean
the next best thing to italian
C
cmgriffing
We all need to be business inded. Performance for perf's sake is one of the main reasons business doesn't listen to us
C
cmgriffing
*business-minded
S
shreyassanthu
I am pretty happy
S
shreyassanthu
Yep
S
shreyassanthu
Neovim is top notch
S
Marco Siedentopf
metal working. you can build a lathe
C
cmgriffing
best is bs. Prmius sucks
C
cmgriffing
*Primus sucks
L
lemnean
You are enraging the neovim simps Spiro
S
shreyassanthu
Arch is top notch
L
lemnean
hell hath no fury like an arch user scorned
M
Mikenhil
I use arch btw
L
lemnean
I use alpine
B
bewaretheleopard
My nvim config is pretty lazy
S
shreyassanthu
Supply chain attacks happen in c projects as well tho
C
cmgriffing
supply-chain is not just a js problem. that is a false dichotomy
S
shreyassanthu
Look at the recent router exploits
S
shreyassanthu
@cmgriffing exactly
L
lemnean
@shreyassanthu That is a different kind of supply chain attack. That has nothing to do with dependency supply chain attacks
R
rvIceBreaker
Reject modernity. Remove stdlib
L
lemnean
@rvIceBreaker LUL
R
rvIceBreaker
Kappa
S
shreyassanthu
Boy do I disagree with 90% of this
L
lemnean
I agree with a solid 60%
C
cmgriffing
!lurk guard rails are needed. look at highways. Should people stop driving cars because a horse and buggy doesnt need guard rails because it doesnt go fast enough to care?
L
lemnean
and I am not even penalizing him for the hoodie
S
shreyassanthu
@cmgriffing 😂😂😂😂
C
cmgriffing
@shreyassanthu thanks
S
shreyassanthu
no structs?
S
Marco Siedentopf
STAHP HITTING THE TABLE
L
lemnean
You are my favourite moron Spiro <3
M
Mikenhil
Spiro is flexing on us
S
shreyassanthu
But do you know css uses hardware acceleration
L
lemnean
'fucksies', man is dropping shakespearian bombs
C
cmgriffing
someone please make sure he sees this comment: guard rails are needed. look at highways. Should people stop driving cars because a horse and buggy doesnt need guard rails because it doesnt go fast enough to care?
S
shreyassanthu
All of html rendering is using skia which is accelerated the hell out of it
M
Mikenhil
Minecraft was written in javascript
L
lemnean
praise be to the ad break
S
shreyassanthu
no that's a false dichotomy
C
cmgriffing
nope. https://devblogs.microsoft.com/oldnewthing/20180228-00/?p=98125
R
rvIceBreaker
for some reason i'm missing mod options in chat...
C
cmgriffing
Deliver value
S
shreyassanthu
@rvicebreaker skill issue
S
shreyassanthu
no nuance blanket statements are as bad as the influencers you're accusing of
C
cmgriffing
@SpirodonFL I appreciate you but I disagree to a degree. At some point understanding the business case matters and thats how we become better. Please see: https://devblogs.microsoft.com/oldnewthing/20180228-00/?p=98125
S
shreyassanthu
As a co founder of a company and a very good dev (pretty sure) I care more about money than quality if it comes down to that
S
shreyassanthu
paying my employees is more important time me than anything
S
shreyassanthu
*to me
P
PureAmbrosia
PopCorn
R
rvIceBreaker
@cmgriffing I think i'm going to push back on your guard rails comment; guard rails in the real world are mitigations to factors outside of our control. Arguably we have control in the context of our industry, one way or another
M
mr_elf_man
man linux is pain. I'm trying to add an sftp account lol I've spent like 20 minutes at it
M
mr_elf_man
oooo watch this guy's video on need for speed 2015
M
mr_elf_man
that game is amazingly optimized
A
ateraztehmtehm
Hello
S
shreyassanthu
You fell off Spiro
A
ateraztehmtehm
No audio
S
shreyassanthu
reacting to videos now?
R
rvIceBreaker
@SpirodonFL no audio
L
Lafolie_
No sound
S
shreyassanthu
yep working
A
ateraztehmtehm
Work
R
rvIceBreaker
@SpirodonFL good to go
L
Lafolie_
got it
R
rvIceBreaker
unrelated, TAA is cancer. Upscaling is cancer. Graphics pipelines are a fucking travesty.
P
PureAmbrosia
Lordy...
R
rvIceBreaker
I mean lacking context, I don't get that argument. UE runs like 40% worse in editor than in packaged, which would only improve his perf...
R
rvIceBreaker
Alright, you lost me with an endorsement from Cherno...
S
shreyassanthu
IT 👏 IS 👏 A 👏 TRADEOFF 👏
L
Lafolie_
gotta brb
R
rvIceBreaker
true and valid, but as a user of UE I too agree Epic should provide better defaults out of the box... that's kind of the point.
S
shreyassanthu
dev productivity and efficiency are almost inversely proportional
R
rvIceBreaker
'reasonable' its almost had a 90s level explosion since like 2018
P
PureAmbrosia
My husband and I started our own rant on top of this rant. That floor hurt me.
S
shreyassanthu
okay i gotta go byeeee
S
shreyassanthu
Take care @spirodonfl
S
shreyassanthu
Take care chat
S
shreyassanthu
byeeeeee
R
rvIceBreaker
later @shreyassanthu
R
rvIceBreaker
@PureAmbrosia that geometry was disgusting
P
PureAmbrosia
@rvicebreaker very disgusting.
H
helios0x2a
What about industry people that care, like Jon Blow, his games don't run that much better than the average.
P
PureAmbrosia
I got my money's worth and pain. I will be stuck on that floor for a minute.
H
helios0x2a
Yeah, they don't know. And not knowing doesn't make their games slower.
M
Mikenhil
Why dont you have a youtube channel?
M
Mikenhil
You could clip that whole rant and make it a whole video
H
helios0x2a
Devs have always been saved by Moore's law.
P
PureAmbrosia
Only one way to get viewership.
M
Mikenhil
^^
M
mr_elf_man
bro, just worry about big O complexity and everything will be fine /s
R
rvIceBreaker
!discord
R
rvIceBreaker
where's the bot NotLikeThis
M
Mikenhil
!discord
S
SpirodonFL
Join our discord and get inspired! https://discord.gg/7ZrQHjUsJ4
D
dmmulroy
functional programming mentioned
P
PureAmbrosia
Do you have a command for youtube?
A
ateraztehmtehm
I am thinking about the rant, I think it applies heavily everywhere. The experts good software and others who use the software eventually undo the hard work by sloppy progaramming and statements like "We have X amount of RAM now adays or X amount of cores/Ghz"
D
dmmulroy
alonzo church would like a word
M
mr_elf_man
100 linear loops is still O(n)
M
mr_elf_man
fin proof!
D
dmmulroy
disagree, you do not need the math at all
R
rvIceBreaker
even fp languages have to break their own rules in order to be remotely useable in practice
L
Lafolie_
Literally Greek to the Greek guy
A
ateraztehmtehm
CPU's heavily depend on predictable behaviours nowadays, especially when it comes to memory access.
D
dmmulroy
The best ones do for sure rvice
L
Lafolie_
olive + wine = meal
C
cmgriffing
@Lafolie_ All of the wine is a meal for sure (yes, a play on words)
W
WeLeaveTo_Night
in what direction are you sailing your gamemaking ship? what games do you like?
M
mytec23
include stfool.h
E
elfologos
Καλημέρα
E
elfologos
no worries
M
mytec23
hello :)
L
Lafolie_
Mommy Nommy
S
ShaderKeeper
it's mostly about making everything immutable, making pure functions, doing transformations, etc. Not really about math
W
WeLeaveTo_Night
awesome I love Uncharted Waters
L
Lafolie_
I'm not on the immutable hype train
S
ShaderKeeper
I'm talking about 'in reality', I was part of ~4 or so projects that was mostly functional programming
W
WeLeaveTo_Night
I'll run that SNES KOEI music here and there still
S
ShaderKeeper
yeah, in web dev it's very popular
S
ShaderKeeper
it makes stuff really easily testable
S
ShaderKeeper
cause pure functions are easy to unit tests
S
ShaderKeeper
*test
S
ShaderKeeper
yeah you can't make real time rendering, etc. stuff in a functional style.. but for high level decisions, state machines, etc. it's great
L
Lafolie_
Yeah that's why I'm happy with the Odin style of immutable, where it's mainly applied for procedure args
D
dmmulroy
Local mutatbility and or ownership semantics are good as an fp stan
L
Lafolie_
(and you get your "DX" from that as well)
S
ShaderKeeper
oh yeah we had some projects in Elm which is a purely functional web language and apparently it didn't go so well
R
rvIceBreaker
local mutability is probably something everyone does as a baseline, if you're coding something relatively resilient
S
ShaderKeeper
with typescript where it was possible to mix the styles it went well
R
rvIceBreaker
fundamentally the systems that will execute any purely functional language will suffer from mutability and things that break the rules of fp. The concept is fundamentally not supported as soon as you step outside your executing code.
M
Mikenhil
Tell me about the cool 45 degree angle view you got going on here
M
mytec23
what's up with all those errors?
A
ateraztehmtehm
I learned haskell just to learn Rust.
A
ateraztehmtehm
I am dumb, just based on the previous statement XD
S
ShaderKeeper
I've tried webassembly too a long time ago with emscripten, I know today it's directly part of llvm clang, which is great
S
ShaderKeeper
I hope the web standards people will come to their senses though and finally allow memory shrinking in web assembly
A
ateraztehmtehm
I am doing great, thank you. How about you?
M
mytec23
thanks for the explanation
S
ShaderKeeper
nice
A
ateraztehmtehm
Oh wait, you rewrote the game in C?
S
ShaderKeeper
yeah that's def smart for webassembly
A
ateraztehmtehm
I love C
S
ShaderKeeper
the static allocation I mean
A
ateraztehmtehm
So its a C game, pun intended.
A
ateraztehmtehm
hahah
A
ateraztehmtehm
XD
E
elfologos
haha
S
ShaderKeeper
lol wtf XD
A
ateraztehmtehm
God I just got divided by 0 XD
L
Lafolie_
We're the captain now
R
rvIceBreaker
Hey ateraz
M
mytec23
what's he "sipping" on?
A
ateraztehmtehm
Hello rvice
R
rvIceBreaker
you're in charge :)
M
Mikenhil
Get banned nerd!
A
ateraztehmtehm
I like the abuse
A
ateraztehmtehm
:)
R
rvIceBreaker
<3
L
Lafolie_
NSFW stream uh oh
S
ShaderKeeper
lol
M
mytec23
whiskey?
S
ShaderKeeper
Kappa
A
ateraztehmtehm
Its our channel now we share it.
A
ateraztehmtehm
How many times has Spiro rewrote the game already?
M
mytec23
back in the USSR
S
s9tpepper_
what kind of degeneracy is going on here today?
A
ateraztehmtehm
Its quite ironical that we can never get rid of C. We always try to replace it but we end up using it anyways.
P
PureAmbrosia
Gotta make a video so @s9tpepper_ can watch.
S
s9tpepper_
damn, and I missed it LUL
S
SpirodonFL
https://www.youtube.com/@SpiroFloropoulos
S
SpirodonFL
https://www.youtube.com/watch?v=nMxRuaUYUtk&ab_channel=SpiroFloropoulos
S
s9tpepper_
this ought to be fun ... LUL
R
rvIceBreaker
I did earlier
P
PureAmbrosia
It's time for a Yoshi Hat.
R
rvIceBreaker
but he gets another one
A
ateraztehmtehm
Nice
P
PureAmbrosia
With the hoodie 🤣 It's glorious.
M
mytec23
you need make sure this games looks best on CRT TV's
L
lemnean
I dipped out for a bit
L
lemnean
has Spiro found inner peace?
R
rvIceBreaker
inner peas, outer peas, black eyed peas
L
lemnean
peas peas release me
L
lemnean
should be off again
L
lemnean
later :)
M
mytec23
you don't need create npcs, just attract them with red Maga hats
L
Lafolie_
:/
M
mytec23
ocean? how about Sea?
M
mytec23
guns, lots of guns
C
ChronxDev
yoo spiro, have you been doing any advent of code this year?
L
Lafolie_
Gonna need more than this, because a move/attack has several sub-phases. You have choices and confirmations to consider
L
Lafolie_
and animations too
R
rvIceBreaker
@Lafolie_ ... I think pushdown automata just clicked in my head reading this LUL
L
Lafolie_
@rvIceBreaker Yuuuuup
L
Lafolie_
I honestly don't know of a better way to handle this
R
rvIceBreaker
Well you could just block and not track the state, but you lose visibility
L
Lafolie_
@SpirodonFL https://gameprogrammingpatterns.com/state.html#pushdown-automata
R
rvIceBreaker
@Lafolie_ I think his examples in this are a little weak, but this situation is a really good example
L
Lafolie_
Yeha I have used this exact pattern to implement a pokemon clone and it worked perfectly. Took like a day to get a full battle loop
M
mytec23
later
R
rvIceBreaker
Honestly for this I would just have like a UIState enum and push that, handle UI on its own handler and push and pop... let the battle state dictate what next ui state to push
R
rvIceBreaker
my only complaint (grain of salt) is that's going to very verbose and code reuse is cool
R
rvIceBreaker
you're right in terms of the direction of communication; the renderer needs to poll. But being able to have a set of states that strictly dictate 'hey you should be showing a message box', 'hey you should be showing an option menu'
R
rvIceBreaker
Don't let me tell you what to do :)
M
Mikenhil
How are you able to read your code?!
M
Mikenhil
Ngl that makes a lot of sense
A
ateraztehmtehm
You know what I kind of do the same thing, when I read articles my eyes skip over noisy text like names and stuff.
R
rvIceBreaker
alright jesus, one less stream to pay attention to LUL
R
rvIceBreaker
I was watching 3 twitch streams at one time LUL
R
rvIceBreaker
there was like 20 minutes where I lost track of all of them
R
rvIceBreaker
He was yeah
J
JUANMA2692
hi how are you
R
rvIceBreaker
He just ended
A
ateraztehmtehm
He's like the security guy in the shopping mall, watching the cameras.
A
ateraztehmtehm
rvice playing FNAF.
R
rvIceBreaker
yes LUL
A
ateraztehmtehm
XD
R
rvIceBreaker
except its programming 🫠
A
ateraztehmtehm
Ye the jump scares are still there though XD
R
rvIceBreaker
wait false alarm...
M
Mikenhil
Is this c++ or c?
A
ateraztehmtehm
Oh the whole structs vs flat arrays conondrum XD
A
ateraztehmtehm
@Mikenhil its C
J
JUANMA2692
Next year I will probably receive myself as a full stack programmer technician... web develloper and apps... front and back,.. any recommendations in this world, friend?
A
ateraztehmtehm
@JUANMA2692 You Reacy for everything.
A
ateraztehmtehm
*Reacty
A
ateraztehmtehm
God doesn't want me to write this for some reason. XD
M
Mikenhil
@JUANMA2692 Code projects you are working on in such a way only you can read and understand. Create as much job security as possible
D
dmmulroy
disagree actually on react
R
rvIceBreaker
LUL
D
dmmulroy
I think it's Java
D
dmmulroy
100 percent
D
dmmulroy
Java runs the world
R
rvIceBreaker
you just can't fucking win around here Spiro, someone always disagrees
D
dmmulroy
outside our little bubble
D
dmmulroy
not a combeck, its always been there
A
ateraztehmtehm
Use Pascal
R
rvIceBreaker
🤓 ACKTLY
D
dmmulroy
the overwhelmingly majority of devs do enterprise java and c#
A
ateraztehmtehm
No, no no use Fortran
D
dmmulroy
There's more Java jobs than any other language
D
dmmulroy
at least in the US
M
Mikenhil
Just remember. We didnt start the fire. It was always burning, since the worlds been turning.
D
dmmulroy
Spring Boot
M
Mikenhil
OOOOH COPYRIGHT STRIKE!!!
M
Mikenhil
SINGING COPYRIGHT LYRICS ON STREAM!!!
A
ateraztehmtehm
The good old days when "happy birthday" was copyright infringement.
J
JUANMA2692
thankss
M
Mikenhil
Java is actually good for getting a job? I learned it when I was kid making minecraft server plugins but I had no idea it was actually good for anything else
A
ateraztehmtehm
The Meta pattent
R
rvIceBreaker
patent pending
D
dmmulroy
every giant corporation on the planet runs on java
A
ateraztehmtehm
Credit cards and SIM cards run Java (fact)
H
helios0x2a
Android
D
dmmulroy
it might not land you a fancy tech job, but it will land a job to get your foot in the door
D
dmmulroy
on over 8 billion devices btw
A
ateraztehmtehm
hahaha
M
Mikenhil
Nice
D
dmmulroy
ty for picking up on the joke @ateraztehmtehm
R
rvIceBreaker
get a job you bum
A
ateraztehmtehm
Ye I installed Java before
A
ateraztehmtehm
Did you know GraalVM can compile Java to Native executables.
A
ateraztehmtehm
"Enumerated"
T
TitaniumCladStudios
You always pseudo code in comments first? No judgement, just curious
T
TitaniumCladStudios
Totally get that, I should try it sometime, seems valuable. You leave them in afterwards?
T
TitaniumCladStudios
Time up front is the missing piece these days though, like we talked about last time
L
Lafolie_
forgot }
L
Lafolie_
oh it was on the other line
R
rvIceBreaker
still processing the rant LUL
A
ateraztehmtehm
doing good, beating my head against the wall from OpenGL.
L
Lafolie_
ah welcome to the club
R
rvIceBreaker
I mean we basically do
A
ateraztehmtehm
Vulkan was meant to do that with SPIR-V
L
Lafolie_
Spir-v is an IR
H
helios0x2a
xkcd 927
L
Lafolie_
It's not meant to be a front-end standard
L
Lafolie_
That's sorta like saying LLVM IR bytecode is a universal language for developing in
R
rvIceBreaker
I dunno having two options, hlsl and glsl seems like a low enough number of competing standards that its not worth getting bent out of shape over
A
ateraztehmtehm
Ye it provides a common platform though
A
ateraztehmtehm
Its like Java bytecode
A
ateraztehmtehm
You have compatible languages there like Scala Kotlin etc
R
rvIceBreaker
the state of shader languages is not the state of javascript LUL
L
Lafolie_
There's some trendy newish one called glslang that's supposed to be defacto, but people already have hang-ups
R
rvIceBreaker
For what it matters you have a shader language specific to each graphics api vendor... so OGL and DX
L
Lafolie_
THe problem is that GL dictated that vendors could compile shaders themselves because we had directx and opengl with differing things
L
Lafolie_
So now spir-v is meant to be a way to precompile shaders
R
rvIceBreaker
I think spir-v is meant to be a transpiler
A
ateraztehmtehm
Ye GPU drivers compile shaders SPIR-V was meant to give more control to programmers.
L
Lafolie_
Which allows anyone in the know to develop their own shading lang (again, like how llvm works)
A
ateraztehmtehm
Ye SPIR-V still is a thing
L
Lafolie_
No, it's the competing standards thing again
R
rvIceBreaker
well vulcan is still kind of going through churn too
A
ateraztehmtehm
There are a lot of tools that use SPIR-V I think even DirectX can use it but I don't think Metal can.
R
rvIceBreaker
I think even khronos has encountered the design-by-comitee issue
L
Lafolie_
spir-v doesn't have a developer friendly lang to go with it, like glsl. You compile your glsl/hlsl/gslang/whatever TO spir-v, which then outputs the actual binaries for the gpus
R
rvIceBreaker
because openGL set a standard and everyone got in line back in the 3dfx days
R
rvIceBreaker
within a handful of years
L
Lafolie_
Bloody hell Dofus
L
Lafolie_
Not heard that for a long time
A
ateraztehmtehm
GG spiro see you next time
L
Lafolie_
Thanks for the stream <3
R
rvIceBreaker
I mean until ms fucked that up with directX LUL
R
rvIceBreaker
but hey two options isn't terrible...
A
ateraztehmtehm
+1 to that
P
PureAmbrosia
spirod1Hi