Guild icon
DDraceNetwork
DDraceNetwork / off-topic
Any languages allowed
Between 2025-02-02 00:00 and 2025-02-03 00:00
Avatar
i cant believe its almost been a year since porter robinson deleted their everything
01:58
1 month left until the 1st anniversary
Avatar
hehe, gay music heartw
Avatar
i know....
02:17
this is why we gotta bring digital back
02:17
you enjoy something and then they take it from you
02:17
i own nothing and i am not happy
Avatar
Avatar
Hecta
this is why we gotta bring digital back
that's why you need to download it all justatest
Avatar
yea i do that constantly i did that with isqa i did that with alon mor but i never would have thought porter fucking robinson would go out
02:25
theres so many niche artists that blink out of existence
Avatar
i have unironically 20gbs of weezer in high res
Avatar
i listened it all and weezer end up being boring af
02:26
but too lazy to remove it
02:26
maybe someday ill listen to the W again
Avatar
what do you think about tally hall setting aside joe hawley being a creep
💀 1
Avatar
lmao, cloudy day
05:18
Avatar
oh my god
05:26
05:27
(I just think the messy utility poles are really neat)
Avatar
Avatar
risu
(I just think the messy utility poles are really neat)
Were it not for earthquakes i would say ... what i think about utilising poles
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
What if deepseek is like russian robot? Actually real people employed and talking with You... doing the math, writing code
Avatar
Avatar
Overlord
What if deepseek is like russian robot? Actually real people employed and talking with You... doing the math, writing code
♂S1mple♂ 2025-02-02 11:56
What if humans aren't real
Avatar
Avatar
♂S1mple♂
What if humans aren't real
What do you mean by if?
Avatar
Avatar
Overlord
What if deepseek is like russian robot? Actually real people employed and talking with You... doing the math, writing code
russian?
12:23
it doesnt know russian very well
12:24
at least my local llm
Avatar
Im refering to the exhibition where they used human in a robot suit
13:11
Avatar
severance is honestly such a great show
13:18
i often had this thought that it would be nice to just skip a few boring hours of my life
13:18
but yeah it has interesting implications
Avatar
jao's hairy kebab 2025-02-02 13:19
oh they dropped s2
13:20
have u seen the substance
Avatar
yeah
13:20
nope
Avatar
jao's hairy kebab 2025-02-02 13:20
i think the director was a big severance fan lmao
Avatar
that's interesting
13:20
in season 2 they are exploring a bit more Helly R
13:21
which is the most interesting character at the moment
Avatar
jao's hairy kebab 2025-02-02 13:23
yeah it's a good one
13:23
the only nice thing on apple tv atm
Avatar
it's also great how every episode is interesting
13:24
and there are no filler episodes like in the walking dead
13:24
so yeah, i enjoyed every episode equally
14:55
Most best russian song
Avatar
DaG, using unusual map settings, be like: the setting is unusual ↓ the map cannot be released ↓ the setting stays unusual ↓ the map cannot be released ↓ ...
Avatar
Avatar
TsPiggy
Click to see attachment 🖼️
I burned my fireworks 1 month ago down (edited)
Avatar
when i have some lib.c and lib.h should i include lib.h in lib.c?
17:04
i guess it would make sense
17:04
because i don't want to declare structs twice
Avatar
ATTACK THE D POINT
17:45
Avatar
Avatar
pilonpl
when i have some lib.c and lib.h should i include lib.h in lib.c?
MilkeeyCat 2025-02-02 18:15
yea
18:16
how did you write C before?
Avatar
without using header files mostly lol
18:16
idk
18:17
header files are a bit annoying
18:17
and make no sense tbh
18:18
it could just use source files
18:19
now i want to make an oldschool 3D game
18:19
software renderer
18:19
which should be really easy
18:20
with 30 years of hardware improvements
Avatar
have you ever heard of modularity ?
Avatar
yeah
18:32
that's exactly what i was doing
18:33
i wanted to separate game logic from the platform specific stuff
18:33
although SDL3 itself is cross platform
Avatar
it's really fun so far
19:26
now i need to figure out how to cast rays
19:27
i think in 2025 i can just move a tiny amount and check if it collides with anything
19:27
but since walls are confined to a grid there should be a better way
Avatar
Avatar
pilonpl
but since walls are confined to a grid there should be a better way
analytic geometry is the way
19:37
If you don't wanna do all the fancy math you could look at a ready solution https://tavianator.com/2011/ray_box.html
Avatar
how should i represent angles?
19:39
i guess floats + radians is ok
19:39
but i don't like floats lol
Avatar
Avatar
pilonpl
how should i represent angles?
People generally represent rays as starting point and a normalized 2-vector for the direction, instead of an angle value for the direction
Avatar
Avatar
pilonpl
but i don't like floats lol
If you wanna be cool you can use a fixed point value instead of floating point, but that requires more work because it won't work with standard functions that all expect floats or doubles
Avatar
yeah
19:42
floats are overrated
Avatar
Как купить вип?
Avatar
i just chose 1000 units as the width of one tile
Avatar
like, the most common things you'd want to do with an angle is get its sine and cosine, and generally sin and cos functions take floats
Avatar
how to buy a VIP
19:43
How do I buy a VIP?
Avatar
and as it happens, the sin and cos are just the y and x of your direction vector
Avatar
How will VIP buy it?
Avatar
Avatar
W3rtix836
How do I buy a VIP?
DDNet has no such thing
Avatar
Avatar
risu
and as it happens, the sin and cos are just the y and x of your direction vector
that's interesting, i never thought about it this way
Avatar
also, a common thing you might want to do is compare the similarity between two angles
19:45
which is simply done with a dot product of two direction vectors
19:45
so you don't actually need the angle values there either (edited)
19:45
dot(a, b) = cos(the angle between a and b)
19:45
assuming a and b are normalized
19:46
now do keep in mind, normalization is kinda expensive (this is what the famous inverse square root is used for)
19:47
generally not an issue on modern machines but if you're normalizing millions of vectors you'll definitely notice it
Avatar
nothing is expensive if you live in 2025
19:47
i just need like 1280 rays
Avatar
in graphics you might end up normalizing a handful of vectors per pixel, so that adds up to a few dozen million per frame
19:48
Computer go brrr :)
Avatar
that's why GPUs were invented i guess
Avatar
but like you'd prefer to do fewer square roots obviously
Avatar
but using the CPU is fun
Avatar
In many simple algorithms you can use the squared length of a vector instead of the actual length, that way you avoid using a square root
Avatar
yeah
19:51
for example when you want to check if a point escaped the radius 2 circle
Avatar
yeah, or something trivial like sphere-sphere collision (edited)
Avatar
one unfortunate thing about fixed point is that integer division is really slow
19:53
it turns out floats are really fast
19:54
and that's why they are used
Avatar
Wait, integer division slower than float division?
Avatar
i think so
Avatar
oh actually that makes sense
Avatar
i think floats are faster because of the way they are represented
19:55
but maybe they can also be executed in parallel
19:55
which might not be the case for integer division
19:55
idk
19:56
just speculation
Avatar
Avatar
pilonpl
i think floats are faster because of the way they are represented
yeah 2^a / 2^b = 2^(a - b)
19:57
then the mantissa part gets normal integer division applied to it
19:57
and that's faster than normal int division simply because the mantissa is fewer bits than a full int (edited)
Avatar
i wonder how much slower integer division is than float division
Avatar
Now how about we switch to 16 bit ints because we can :P
19:58
(probably, in some cases)
19:58
might even be blazing fast!
Avatar
it's hard to tell what would be fast
19:59
without testing it
19:59
but testing stuff like this is also hard
Avatar
16 bits is just a whole lot less work but then again I don't imagine CPUs are super optimized for that anymore?
19:59
Or maybe they are because numbers are generally pretty small even if they're stored in 32 bit registers
Avatar
right? maybe it doesn't matter how many bits there are on 64 bit machines
Avatar
like, maybe the CPU notices that a number is actually only 16 bits or less and uses a smaller division unit for it
20:00
idk what kinds of things are worth doing in hardware...
Avatar
how can i even know what the CPU is doing?
20:01
is there some like documentation lol
Avatar
yeah but kinda not
Avatar
Either way i can probably do integer division as much as i want since it's 2025
20:03
That's just so convenient
Avatar
Division isn't a super common operation anyways
20:05
(not me using modulo for everything)
Avatar
Modulo by a value known at compile time is actually fast
Avatar
oh yeah they do bitwise magic
20:06
and modulo by powers of two is basically free (edited)
Avatar
Btw it's annoying how types in C can be different sizes based on the compiler
20:07
Why would anyone want that
Avatar
maybe for better optimization on very old machines and compilers?
20:08
idk they were smoking something when they came up with that shit
Avatar
I mean yeah but you would always want to explicitly specify the sizes anyways i think?
Avatar
you use _t types for everything, right?
Avatar
I don't because it doesn't matter really
20:09
I know what the sizes are on my machine lol
20:10
Only in recent years have I come to realize that I might want to occasionally run my code on other CPUs
Avatar
SDL is actually very easy to use
20:24
Idk why i had so much trouble last time
20:25
I mean SDL3 came out in the meantime
20:25
But it isn't that much different i think
20:26
Although the callback way of using it is new
20:26
And i like it
20:26
It's kinda like love2d
Avatar
Avatar
pilonpl
It's kinda like love2d
based LÖVE enjoyer too bad they deprecate a lot of things between versions and version management isn't very comfy
20:31
I have a bunch of things made with it that are totally broken in the latest version
Avatar
Shouldn't be too hard to fix tho
20:32
actually
20:32
It is lua
20:32
So you won't get compiler errors
Avatar
They're years old, they were deprecated in like love2d 8
Avatar
Avatar
pilonpl
So you won't get compiler errors
I'll get love errors for trying to call things that don't exist
20:32
...except not always, some of my projects run but just display completely incorrectly
20:33
at this point like half of the functions I used are probably deprecated
Avatar
I guess you shouldn't upgrade love without updating the game too
Avatar
We don't do partial upgrades over here
Avatar
Usually you would distribute love with your game so it's not an issue
20:35
ok I think I started using it around love 9, not 8 or 7
20:35
just looking at the version history dates
20:36
I remember Baby Inspector changing into Super Toast
Avatar
I started using it half a year ago
20:37
But i never made anything complete
20:37
Because making games i hard (edited)
Avatar
I haven't used it in years now
Avatar
Avatar
pilonpl
Because making games i hard (edited)
it's just high school level math (for the most part) and some creativity
Avatar
And my best game so far is basically just a simple bullet hell where you have to doge red balls
20:38
It's just hard to structure everything well
20:38
Programming in general is hard
Avatar
ok that I'll agree on
Avatar
And games are hard mainly because of how many things have to work together i guess
Avatar
I'd say that simple games are very easy actually
Avatar
Yeah i guess
20:39
Like my bullet hell game
Avatar
now, if you move into proper physics or graphics or networking...
Avatar
I am also not sure if lua is good for making games
20:40
It has some issues
Avatar
Dynamic languages are troublesome
Avatar
Yeah
20:40
But also kinda fun
Avatar
I love the metaprogramming parts
Avatar
Lua is really flexible
20:41
And relatively fast too
Avatar
me when class { --something } (edited)
20:42
or even class (something) { -- stuff and things }
20:42
it's lua but doesn't really look like it
20:42
a{} is syntactic sugar for a({})
Avatar
Yeah things like that are very natural in lua
20:43
Functional style works perfectly in lua
20:44
Well i have never use a purely functional language but i think many concepts are similar
Avatar
too bad inline functions are so long function (a, b) return a + b end
20:45
now in Haskell that would be (+) (because + is a function by itself) (edited)
20:46
or even in Python it'd be lambda a, b: a + b
Avatar
Btw why is it so rare for programs to modify themselves? Like the actual instructions
20:47
That would be cool
Avatar
even JS is so much nicer (a, b) => a + b
Avatar
Avatar
pilonpl
That would be cool
provide any real life usage, im curious if it has any good application xd
20:50
like i can come up with malware only using self modifications
Avatar
Avatar
pilonpl
Btw why is it so rare for programs to modify themselves? Like the actual instructions
1. it's difficult to do well 2. security vulnerabilities galore 3. it requires you to write assembly, or actual machine code at times if you wanna be fancy
20:50
that 3rd point also means that you're locked to a single CPU architecture
Avatar
But something simple like instead of checking for a bool you could just jump over some instructions and delete the jump instruction when necessary
Avatar
Avatar
zhn
provide any real life usage, im curious if it has any good application xd
very wacky optimizations, but usually those can be made less wacky simply by having multiple slightly different copies of the code you want to go fast
20:53
and the compiler would probably do that part for you
Avatar
I guess JIT compilers are a little bit like that?
Avatar
Avatar
pilonpl
I guess JIT compilers are a little bit like that?
yeah that's what I was thinking about when writing that
20:55
but like why would you want to JIT yourself??
20:55
maybe sometimes it'd make sense
20:55
adapt yourself to input data or something
20:55
but the branch predictor already does a lot of what you'd want to do
Avatar
It's just that we usually think about the program as being immutable
20:56
But it's not really true
Avatar
in many cases it is true, simply put the program code in memory space protected by the OS
20:57
now you're safe from any security vulnerability that would rely on modifying the code
20:58
I guess there is a way to protect certain memory pages?
20:59
Might even happen by default? Let me look into this
Avatar
I don't exactly know how memory works
21:01
I guess it always goes through a layer of indirection
21:01
At lest for user space programs
21:01
Idk how it would work for the kernel
21:05
Creating an OS from scratch could also be fun
Avatar
Avatar
pilonpl
I guess it always goes through a layer of indirection
That is the memory management unit
21:14
A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit that examines all memory references on the memory bus, translating these requests, known as virtual memory addresses, into physical addresses in main memory. In modern systems, programs generally have addresses that access the theore...
21:14
so don't worry about the CPU wasting time on checking if memory accesses are okay, it has a dedicated piece of hardware for that
Avatar
Avatar
pilonpl
I guess there is a way to protect certain memory pages?
Ok, yeah, the program code in C programs is by default made read-only in memory
21:26
and I'm not sure how you'd change that usually the recommended way if you want to have code "modified" at runtime is to generate a dynamic object and tell the OS to load that
Avatar
@meloƞ tee mentioned
justatest 3
Avatar
that joke goes in two ways
21:48
pepeW
Avatar
hes a little tee deen_star
Avatar
Avatar
Bota
Click to see attachment 🖼️
Poor cat
Avatar
Avatar
meloƞ
Poor cat
23:32
Avatar
Avatar
meloƞ
Click to see attachment 🖼️
Avatar
Avatar
Bota
Click to see attachment 🖼️
monkaStop
Avatar
Avatar
meloƞ
monkaStop
Exported 264 message(s)
Timezone: UTC+0