Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2024-04-30 00:00:00Z and 2024-05-01 00:00:00Z
Avatar
Avatar
Bors Matyas
how many developeres are working on ddnet?
y e s
02:01
You could look at the org page on github and check out the people, or check contributors for the different repos (edited)
Avatar
Avatar
Bors Matyas
how many developeres are working on ddnet?
Actually more than teeworlds, which is more than 0
🤣 2
Avatar
Atleast 2
Avatar
a little rust -spider on my dusty monitor stand @Ryozuki 😏
Avatar
ws-client BOT 2024-04-30 08:16:00Z
<ChillerDragon> @Gumba yes as lerato says curl usually works curl https://ger10.ddnet.org/
08:16
the blog title is a bit amusing
Avatar
ws-client BOT 2024-04-30 08:17:01Z
<ChillerDragon> F shader
09:19
a graphic i made
09:20
im bad at this
Avatar
why comic font xd
09:20
else looks good
Avatar
its default from excalidraw
09:20
Excalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them.
Avatar
ah for the school kids
09:20
😬
09:20
its not comic sans tho
Avatar
tru
Avatar
its hand written -like
Avatar
Best software ever made 😄 I use it daily in work
Avatar
I used excalidraw a lot when adding hand drawn stuff to my notes
Avatar
In the past I used drawio a lot, but it was too complicated
09:28
excalidraw just does its job & it does it good tho. FigJam is a good alternative, its super simple aswell 🙂
Avatar
I used excalidraw in obsidian then gave up
09:38
I just heard about this today https://graphite.rs/
Avatar
For the Rust crowd: I created twstorage (https://crates.io/crates/twstorage), its mostly functionality from storage.cpp You can use it to find the local data and config directory of ddnet/teeworlds. It also provides methods (for now only open_file) to access these directories, with logic to first scan the config directory and then afterwards the data directory
Avatar
TLDR: read the paper and view the gallery of pretty Perl programs. In this paper, we aim to answer a long-standing open problem in the programming languages community: is it possible to smear paint on the wall without creating valid Perl?
Avatar
Avatar
Patiga
For the Rust crowd: I created twstorage (https://crates.io/crates/twstorage), its mostly functionality from storage.cpp You can use it to find the local data and config directory of ddnet/teeworlds. It also provides methods (for now only open_file) to access these directories, with logic to first scan the config directory and then afterwards the data directory
epuc
Avatar
Avatar
Patiga
For the Rust crowd: I created twstorage (https://crates.io/crates/twstorage), its mostly functionality from storage.cpp You can use it to find the local data and config directory of ddnet/teeworlds. It also provides methods (for now only open_file) to access these directories, with logic to first scan the config directory and then afterwards the data directory
is ofc your choice, but are you sure you want it to be sync instead of being async? if someone some day uses it, you might have to maintain both versions ^^
Avatar
hey how do i draw a bezier curve correctly? are there any helper functions within ddnet?
09:56
well i don't actually want a bezier curve.
Avatar
Avatar
Jupstar ✪
is ofc your choice, but are you sure you want it to be sync instead of being async? if someone some day uses it, you might have to maintain both versions ^^
I haven't really put thought into that yet, good idea actually. Until now I usually wrote everything sync, and found some async stuff not that useful I needed to add a dependency to simply make it sync. I might also be using them wrong :D
09:57
I'm open for async function in there ofc, though sync function do also make sense I think
Avatar
Avatar
Teero
well i don't actually want a bezier curve.
like this im not sure how its called xd
Avatar
i think u can also add pollers that simply wait for async tasks in place
09:58
ryo shared one once
Avatar
Avatar
Jupstar ✪
i think u can also add pollers that simply wait for async tasks in place
yup, thats the dependency ^^
Avatar
polster or smth
Avatar
a spline?
Avatar
thats the standard one
Avatar
yeah i personally use tokio for most stuff
09:59
it's og and fast and can do basically anything
Avatar
pub fn interpolate<T>(frac: f32, curve: CurveKind<T>) -> f32 { use CurveKind::*; match curve { Step => 0., Linear => frac, Slow => frac.powi(3), Fast => 1. - (1. - frac).powi(3), // TODO: Implement Bezier curves Smooth | Bezier(_) => 3. * frac.powi(2) - 2. * frac.powi(3), Unknown(_) => 0.5, } }
09:59
cough I should also implement bezier at some point cough
Avatar
Avatar
Patiga
For the Rust crowd: I created twstorage (https://crates.io/crates/twstorage), its mostly functionality from storage.cpp You can use it to find the local data and config directory of ddnet/teeworlds. It also provides methods (for now only open_file) to access these directories, with logic to first scan the config directory and then afterwards the data directory
pro
heartw 1
Avatar
me too xD
Avatar
Avatar
Teero
a spline?
that would be the Smooth curve type, judging from your drawing
Avatar
Avatar
Patiga
For the Rust crowd: I created twstorage (https://crates.io/crates/twstorage), its mostly functionality from storage.cpp You can use it to find the local data and config directory of ddnet/teeworlds. It also provides methods (for now only open_file) to access these directories, with logic to first scan the config directory and then afterwards the data directory
Epico ❤️
heartw 1
Avatar
Avatar
Patiga
pub fn interpolate<T>(frac: f32, curve: CurveKind<T>) -> f32 { use CurveKind::*; match curve { Step => 0., Linear => frac, Slow => frac.powi(3), Fast => 1. - (1. - frac).powi(3), // TODO: Implement Bezier curves Smooth | Bezier(_) => 3. * frac.powi(2) - 2. * frac.powi(3), Unknown(_) => 0.5, } }
in c++ 😭
10:00
anyway i solved it
👌 1
10:00
thx :D
Avatar
I should learn rust
🦀 4
Avatar
Avatar
Teero
in c++ 😭
the calculation is relatively simple: linear interpolation with a fraction between 0 and 1: 3 * frac^2 - 2 * frac^3
Avatar
Avatar
Patiga
the calculation is relatively simple: linear interpolation with a fraction between 0 and 1: 3 * frac^2 - 2 * frac^3
This isnt linear Interpolation tho is it ? (edited)
Avatar
well you modify the factor for the linear interpolation
10:08
so it isn't linear anymore, but you still use the function for the linear interpolation
Avatar
ws-client BOT 2024-04-30 10:11:21Z
<ChillerDragon> epic patiga lib moment
Avatar
Avatar
Patiga
so it isn't linear anymore, but you still use the function for the linear interpolation
I See
Avatar
ws-client BOT 2024-04-30 10:12:53Z
<ChillerDragon> I think it is time some creates an awesome-tw-libraries repo listing all ready to use libraries so users know what they can use
10:13
<ChillerDragon> because some things are hard to find or nobody even dares to search for them
Avatar
just do it
Avatar
heinrich5991 BOT 2024-04-30 10:14:10Z
I think there's a wiki page
Avatar
Avatar
ws-client
<ChillerDragon> because some things are hard to find or nobody even dares to search for them
What about Heinrichs teeworlds GitHub written in Rust thingy ( i forgot the actual Name )
Avatar
Avatar
heinrich5991
I think there's a wiki page
true
Avatar
ws-client BOT 2024-04-30 10:14:30Z
<ChillerDragon> libtw2
Avatar
there are truely many already. remember that weird python injection lib that alters your scoreboard xD
10:15
at runtime
Avatar
List of Resources related to DDNet and Teeworlds. This page tries to be as complete as possible; feel free to add posts if you find something interesting. Where it makes sense, posts are sorted by creation date or the best approximation for it.
Avatar
ws-client BOT 2024-04-30 10:15:13Z
<ChillerDragon> there are some wiki pages and some awesome lists
10:15
<ChillerDragon> but i mean something just for libs
Avatar
Avatar
Jupstar ✪
there are truely many already. remember that weird python injection lib that alters your scoreboard xD
The Point Display ? Its great as hell gahaha
Avatar
ws-client BOT 2024-04-30 10:15:24Z
<ChillerDragon> exclusively
Avatar
Sadly outdated
Avatar
there is a section for the libs
10:15
there
Avatar
Avatar
meloƞ
The Point Display ? Its great as hell gahaha
yeah lol
Avatar
Tool and libraries Extra tools in C++ by DDNet libtw2 a lot of DDNet related libraries in Rust by heinrich5991 twmap DDNet map library in Rust by Patiga twmap Python library twmap Blender plugin Image to Map tool teehistorian: Teehistorian parser in Rust by Zwelf twgame: Teehistorian replayer in Rust by Zwelf teemasterparser by Ryozuki teestatus: Server info requestor in Rust by Ryozuki teeint: A teeworlds variable integer packer/unpacker in Rust by Ryozuki. teeworlds: Javascript headless net-client on npm.js (Gitlab) by Swarfey TeeSharp: C# Teeworlds implementation by Matodor Teeworlds Client Ruby 0.7 Teeworlds implementation by ChillerDragon ddnet-skeleton readme: This repository aims to be the skeleton for creating modifications on top of the latest DDNet version. It currently modify the DDNet code so it can support teams, damage, ammo and pickup respawn features. DDNet friends Panel Gnome extension showing online DDNet friends by hus3h
Avatar
It jiggles with memory to Display the Points of everyone, i was in aww when i read through it.
Avatar
ws-client BOT 2024-04-30 10:16:51Z
游戏中按TAB键查看所有玩家分数的小程序. Contribute to MageDelfador/DDNet-show-points-in-game development by creating an account on GitHub.
10:16
<ChillerDragon> but not a lib imo
10:17
<ChillerDragon> ok i guess the wiki works
10:17
<ChillerDragon> go someone add patigas new lib
Avatar
heinrich5991 BOT 2024-04-30 10:17:51Z
doityourself
Avatar
Give him His Well deserved clout
Avatar
"Project 'Zwelf/twgame' was moved to 'ddnet-rs/twgame'. Please update any links and bookmarks that may still have the old path."
10:17
😬
Avatar
Avatar
Jupstar ✪
"Project 'Zwelf/twgame' was moved to 'ddnet-rs/twgame'. Please update any links and bookmarks that may still have the old path."
justatest
Avatar
ws-client BOT 2024-04-30 10:18:26Z
<ChillerDragon> nah i go offline now
10:18
<ChillerDragon> i still have ptsd from my last wiki contribution
Avatar
Avatar
ws-client
<ChillerDragon> i still have ptsd from my last wiki contribution
justatest
Avatar
ws-client BOT 2024-04-30 10:19:52Z
<ChillerDragon> btw heinrich i tested to remove the bool and it did break snaps
Avatar
heinrich5991 BOT 2024-04-30 10:24:48Z
did you remove the call site I mentioned?
Avatar
Avatar
Patiga
the calculation is relatively simple: linear interpolation with a fraction between 0 and 1: 3 * frac^2 - 2 * frac^3
<3
Avatar
Is this the first heinrich appearance in a while?
Avatar
he was active on github
12:01
and in discord since yesterday
12:01
but it was not rewind time yet
12:01
😬
Avatar
Avatar
meloƞ
justatest git hard fr
I was disappointed in myself and I was disappointed in wanting to solve a problem cammo
Avatar
Avatar
Peakies
I was disappointed in myself and I was disappointed in wanting to solve a problem cammo
the path is the goal. maybe you at least learned something new
Avatar
Avatar
Jupstar ✪
the path is the goal. maybe you at least learned something new
yeah I noticed that solving problem is not everything it's should be readable and understandable for others (I can't understand my codes too :D)
Avatar
Thats Part of the learning process, Check my First ever PR to ddnet, i felt so stupid kek
12:25
Ah i meant my Second one, the First one was Just a refactor
Avatar
Avatar
meloƞ
Thats Part of the learning process, Check my First ever PR to ddnet, i felt so stupid kek
Yeah senpai I saw your PR before 😛
Avatar
A port to opengl 3.3. I will explain what i did here. To stay in the coreprofil i used the opengl 3.3 core profile you will find here: https://www.khronos.org/registry/OpenGL/specs/gl/glspec33.core...
12:33
😏
12:33
62 commits xDDD
12:33
back when i didnt know about force pushing
Avatar
Avatar
Jupstar ✪
Now I understand why you can handle 400+ tee on your server and I can barely handle 112 tee 🙂
Avatar
bcs i wrote the physics in GPU language to run it on my GPU? that would be cool af, ngl
Avatar
Avatar
Jupstar ✪
bcs i wrote the physics in GPU language to run it on my GPU? that would be cool af, ngl
👍 😋
12:55
you wrote it with Rust right ? (edited)
Avatar
i only write rust since 1.5 years before that i wrote all stuff in cpp
12:56
also nowadays i'd probably write it with a vulkan-like backend, instead of OpenGL
Avatar
hmmm cool
Avatar
Avatar
Jupstar ✪
also nowadays i'd probably write it with a vulkan-like backend, instead of OpenGL
I was going to create server to be able handle at least 128 slot for special events to be able celebrating that events on that port but I have a few problem on client side that m_Snap.m_pLocalCharacter is null after 112+ connected tee and it's cuz of opening scoreboard, You don't have this problem on yours right ?
Avatar
Avatar
Peakies
I was going to create server to be able handle at least 128 slot for special events to be able celebrating that events on that port but I have a few problem on client side that m_Snap.m_pLocalCharacter is null after 112+ connected tee and it's cuz of opening scoreboard, You don't have this problem on yours right ?
It can only handle 64
Avatar
Avatar
Peakies
I was going to create server to be able handle at least 128 slot for special events to be able celebrating that events on that port but I have a few problem on client side that m_Snap.m_pLocalCharacter is null after 112+ connected tee and it's cuz of opening scoreboard, You don't have this problem on yours right ?
yes, safe rust doesn't really use pointers anyway. but my rust version is more scalable. Btw just bcs i had 400+ chars on my server, that doesn't mean that it could handle 400 connections from other ppl
Avatar
Avatar
fokkonaut
It can only handle 64
even on your server ?
Avatar
i never tested that
Avatar
Avatar
Peakies
even on your server ?
The client itself can handle 64 clients only, the server has to exchange these slots for each client dynamically
Avatar
Avatar
Jupstar ✪
yes, safe rust doesn't really use pointers anyway. but my rust version is more scalable. Btw just bcs i had 400+ chars on my server, that doesn't mean that it could handle 400 connections from other ppl
yeah I noticed that even when I connect 128 dummy my pred increase like 2x as normal
13:04
i mean here are like 1000 entries in the scoreboard
13:04
it's hard to read bcs of the colors
13:04
but locally i could read it
Avatar
Avatar
fokkonaut
The client itself can handle 64 clients only, the server has to exchange these slots for each client dynamically
I read you commits and use it but didn't solve them problem of vanishing some characters and stuck on opened scoreboard
Avatar
Avatar
Jupstar ✪
i mean here are like 1000 entries in the scoreboard
I liked your scoreboard 😄
Avatar
Well, that's what happens when you just take the commits/code. It's a complicated thing to realize this feature
13:05
So
Avatar
Avatar
Jupstar ✪
it's hard to read bcs of the colors
yeah could be better with a light color or something
Avatar
If you want to solve all edge cases it's gonna be hard work
13:06
There are countless commits in F-DDrace regarding the 128p translation layer
Avatar
Yeah it's take more time can't solve with copy pasting in 1 hour of work
Avatar
Avatar
Peakies
yeah could be better with a light color or something
yep, i'll soon work on client ui again to fix such stuff 😄
Avatar
haha
Avatar
Avatar
Jupstar ✪
yep, i'll soon work on client ui again to fix such stuff 😄
Like to see it
Avatar
Avatar
Peakies
Yeah it's take more time can't solve with copy pasting in 1 hour of work
It'll probably be easier taking ddnet's 64p<->16p algorithm
13:07
and adjusting that to suit 128p<->64p translation
Avatar
Avatar
fokkonaut
There are countless commits in F-DDrace regarding the 128p translation layer
I don't know maybe I should completely use your source as my main and add my client to server api to or don't know
Avatar
You can do that, but my server is 0.7 based, with a lot of features and things basically
13:07
So, dont know if it'll suit your usecase
Avatar
yeah that a problem too
Avatar
https://github.com/Jupeyy/teeworlds-fng2-mod in this mod i have 256 player support btw
FNG mod for teeworlds, that advances the original FNG idea by golden spikes and other features - Jupeyy/teeworlds-fng2-mod
Avatar
it's 0.7
Avatar
but it's based on vanilla
Avatar
Avatar
Peakies
it's 0.7
Based on it, but ddnet can join
13:08
And has full support
13:08
biggest problem is the 128p code is all around the whole source code
13:08
so you'll definitely forget some parts when taking it🤷‍♂️
Avatar
Avatar
Jupstar ✪
https://github.com/Jupeyy/teeworlds-fng2-mod in this mod i have 256 player support btw
yeah I saw that and I asked once about netmessageex support on it
Avatar
Avatar
Peakies
yeah I saw that and I asked once about netmessageex support on it
F-DDrace has that
Avatar
Avatar
fokkonaut
Based on it, but ddnet can join
I want to use for both block and ddrace
Avatar
Hm, fddrace does not have every current ddnet feature
13:10
and it uses custom tiles which might nowadays be used by ddnet
Avatar
cuz my server right now are completely with custom client you know I have soundboard and animated emoticon that need to use netmessageex to send or receive data
13:10
If you have custom client anyways, then just fix ur client to support 128p
13:10
Then ur server doesnt need this compatibility code
Avatar
Avatar
fokkonaut
and it uses custom tiles which might nowadays be used by ddnet
yeah that the case for ddrace I might got problem if use your gamemode
Avatar
NET_MAX_CLIENTS=128 fix all crashes along the way and there we go
Avatar
Avatar
fokkonaut
If you have custom client anyways, then just fix ur client to support 128p
that the problem I can do it like by adding scollable scoreboard or something like that to show whole player list but don't know how to fix vanishing or that m_Snap.m_pLocalCharacter is become null in some points
Avatar
You dont need all of that anymore
13:12
Dont use this algorithm
Avatar
Avatar
fokkonaut
NET_MAX_CLIENTS=128 fix all crashes along the way and there we go
I already did to solve some problem but it's not perfect yet
Avatar
In client ?
13:12
on server side I think it's work fine for everything
Avatar
Remove the compatibility code algorithms and then no character should be missing cuz the server will send every 128 tees
Avatar
problem is on client side that can't show everything and it's problem only happening when I want to see whole 128 player in my screen if I move every from some of them it's work fine
Avatar
yeah thats because of the algorithm
13:13
remove it
13:13
Your client is capable of showing all tees
Avatar
don't know about it or where is it
Avatar
gameworld.cpp is the translation
13:14
i thi j
13:14
think
13:14
anyways i gtg
Avatar
oh I'll check thank for your guide ❤️
Avatar
Np, im just unsure whether we talked past each other but ye xd
Avatar
Avatar
Jupstar ✪
but it's based on vanilla
thank you too ❤️
Avatar
Avatar
fokkonaut
Np, im just unsure whether we talked past each other but ye xd
yeah we talked before on discord's dm
Avatar
4 years ago
13:15
5
Avatar
yeah about scroll on ddnet scoreboard
13:16
😄
13:16
I am stucking on this for 5 years wtf
13:16
=))
Avatar
wtf xD
Avatar
I should move on I think
Avatar
u use a custom client anyway right?
13:16
I show you before
Avatar
can you send the source code?
Avatar
that one that has intro movie
Avatar
yeah i remember
Avatar
Avatar
Jupstar ✪
can you send the source code?
it's for the company that i work for them can't share source code 😦
Avatar
you use windows?
Avatar
mh ok
13:17
with linux you could use "sanitizers" then you'd quickly find out why it crashes exactly
Avatar
I just support on windows cuz my 99% of players playing on windows
Avatar
Avatar
Jupstar ✪
with linux you could use "sanitizers" then you'd quickly find out why it crashes exactly
it's not crash
Avatar
u said there is a null ptr
Avatar
yes but don't crash
13:18
just opening scoreboard and I can't move or see myself
13:18
but every other tee can move
13:19
I can record by OBS if you want to see what exactly happening
Avatar
ok but i feel like there is a buffer overflow or smth why should an essential var like m_pLocalPlayer be null for no reason
Avatar
Avatar
Peakies
I can record by OBS if you want to see what exactly happening
sry but i can only help with reading source.. anything else is random guessing
Avatar
I think when I disconnect and reconnecting again it's get fix again or don't know don't remember it exactly let me check
Avatar
Avatar
Jupstar ✪
sry but i can only help with reading source.. anything else is random guessing
yeah I know
Avatar
mh ok, anyway, if u can additionally install linux to your windows, and can compile the client there
13:20
u'd have an easier time
13:20
trust me
Avatar
I have arch as dual boot
Avatar
ups
13:21
WTF
13:21
😄
13:21
this one
13:21
sry
Avatar
no problem
Avatar
most important tool when you deal with cpp code
Avatar
tnx didn't know it, I'm working on DDNet since DDNet 6 or something but still noob what's wrong with me 😄 (edited)
Avatar
well it's hard to get better by just doing random coding. You need a goal and design for this goal
13:23
visualize what you want to create and design your code for it
Avatar
Maybe I skip basics
Avatar
if u can't get further with code, write comments and leave code out
13:24
try to explain to yourself what you want
Avatar
I never used comments but I should cuz it's really help to me I know it (edited)
Avatar
also never shy away from rewriting stuff. sometimes it's normal that you do it completely wrong
Avatar
I do sometime I completely remove everything and start it again I'm not lazy 😄
13:27
Well for screen switch I start coding from zero 3 times but didn't get what I wanted to achieve
Avatar
yep but that is because this isn't really easy. You first have to understand the workflow windows sees you change screen -> sends an event -> sdl polls all events -> our SDL stuff in input.cpp handles events -> you update variables related to screen (like gfx_screen)
13:29
i think that should already be enough, but i don't know what exactly the original issue was. probably some variables were not updated, because the screen resolution changed etc.
13:30
i also find our graphics code a bit messy
Avatar
yeah variables won't update on settings->graphics and need to get resize after switch by hoykeys
13:31
I fixed when we switch using it's drop down menu
Avatar
Avatar
Peakies
Yeah senpai I saw your PR before 😛
justatest
Avatar
Avatar
meloƞ
justatest
don't worry everyone can't be like Juppy with first PR that have 30+ commits 😄 (edited)
Avatar
i wish i could leak some private repo stuff i did
13:35
"lil fix" : 4000+ 9582-
Avatar
well you can share them with me
Avatar
"lil refactor" 92 changed files
13:36
I know that you have something cool that hiding everyone
13:36
😛
Avatar
Avatar
meloƞ
kek
what you working on this days ?
Avatar
mostly rust shenanigans and blockworlds
Avatar
Avatar
meloƞ
mostly rust shenanigans and blockworlds
BW is yours ?! (edited)
Avatar
i am the maintainer of the git repo atm, i am not the Owner tho, brokecdx is (edited)
Avatar
I remember that a few years ago I was willing to have source of BW but don't remember what was the reason
13:39
maybe that was ZombieBlock
13:39
don't remember it what was exactly but yeah
Avatar
i dont even know how i ended up in blockworlds, i think @painn forced me or smth
Avatar
you have accounting system on your source ?
13:40
i wrote a rust api for that :D
Avatar
like src/game/server/accounting
Avatar
Avatar
meloƞ
i wrote a rust api for that :D
nice i have nodejs API for my client side account system
Avatar
client-side account system?? huuuh
Avatar
don't know rust anyway but I should learn it
Avatar
Avatar
meloƞ
client-side account system?? huuuh
didn't see it ?
13:41
share
Avatar
let me record it 😄
13:44
😬
Avatar
@Jupstar ✪ get cancled by a bot ggwp
13:47
back then bors didnt like me
13:47
he ain't no rust coder
Avatar
AHAHAH this one is even funnier:
13:48
Avatar
uff
13:48
that was personal
Avatar
Avatar
meloƞ
XDDD
I record my whole client but it's 95 mb let me resize it 😄
Avatar
don't worry senpai I got you 😋
Avatar
hrmpf are the external mapres in the data directory not dilated @Jupstar ✪ ? ouch
Avatar
Avatar
Patiga
hrmpf are the external mapres in the data directory not dilated @Jupstar ✪ ? ouch
they are not?
14:00
we have a CI for that
14:00
that would be RIP to the CI XD
Avatar
that would explain some visusual bugs on some render outputs
14:00
maybe they are the tho
Avatar
can u name one
14:00
explicitly
Avatar
wouldve been an ez explanation though
Avatar
then i look
Avatar
Avatar
Patiga
that would explain some visusual bugs on some render outputs
u can also share the output
14:01
maybe i can guess the problem
Avatar
which tool was used for this
14:02
your renderer?
Avatar
does the image that you create do post processing?
14:03
no
14:03
in particular that cloud
Avatar
does it store the alpha values?
Avatar
how do you mean? it only uses the color channels, no depth etc
Avatar
do you fetch that image from the GPU directly?
14:04
as is?
Avatar
and do you make sure alpha values are set to 255?
Avatar
best way I know of at least for wgpu
Avatar
else: are mipmaps active in that image?
Avatar
does it happen without?
Avatar
hm unsure
14:05
will test next time i'm on my laptop
14:06
if i force a high LOD index it happens
Avatar
so higher mip level, right?
Avatar
yeah
14:08
isnt that a bug?
Avatar
certainly
14:09
that is not a desired behavior
14:09
for your pixel art tool it's ofc problematic
Avatar
https://github.com/ddnet/ddnet/commits/master/data/mapres/bg_cloud3.png
Revert "Dilate & optimize non-dilated images"
^ last commit in the history of that file
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
they are dilated
14:11
already checked
14:11
but dilate only expands a few pixels
14:12
nearest neighbor but only within a certain distance I guess?
Avatar
i assume it's mostly bcs the amount of mipmaps you create. every mipmap blits between black and non black transparent pixels
Avatar
Avatar
Jupstar ✪
for your pixel art tool it's ofc problematic
its only a rly low resolution btw 😅
Avatar
so the more often you do it, the more black u get
Avatar
so more extensive dilation would help, right?
Avatar
it might have other side effects tho
Avatar
hm, anything in particular?
Avatar
mixing red with green is probably not desired either xD
Avatar
but dilation just didnt do anything for many pixels here. simply giving each pixel a valid color would've helped here
14:15
I don't want to change how dilation works, only find a wa to not give up pixels with no suitable neighbour
Avatar
Avatar
Patiga
but dilation just didnt do anything for many pixels here. simply giving each pixel a valid color would've helped here
it's defs better than the current thing 😄
Avatar
I don't think any pixel on the cloud mapres is black at all ^^
Avatar
don't use or read this code. Contribute to Jupeyy/dd-pg development by creating an account on GitHub.
14:17
you are free to use it ^^
Avatar
thanks :)
14:18
or a compute shader? xd
14:18
nah, I dont think thats a good usecase
Avatar
i'd honestly just disable mipmaps in your case. or don't take such a high mipmap
14:19
strictly speaking you could say mipmaps are also just a hack
Avatar
wait I think I know the fix
Avatar
Avatar
Patiga
or a compute shader? xd
if you want a custom shader, u could simply fetch the texels from texture manually and do interpolation
Avatar
I should sample smarter for the mipmaps. not simple blit
14:20
take the alpha value into account of the neighbouring pixels
14:20
that sounds like perfect fix actually
Avatar
u could also rewrite you code to use pre multiplied alpha
14:21
especially if you do the calculation on the GPU anyway
Avatar
for the rendering or creation of mipmaps?
14:21
I'll need to take a look at premul alpha gain
Avatar
the biggest flaw of pre multiplied textures is creating mipmaps (precision loss here) and precision loss generally. but if u directly do it on the GPU it should be better i guess
Avatar
Avatar
Patiga
for the rendering or creation of mipmaps?
for all of your rendering
14:22
so do the pre multiplying in the fragment shader i mean
Avatar
huh I'll read up on that next, then
Avatar
not beforehand
14:23
so not really pre multiplied xdd
14:23
multiplied on the fly
Avatar
alrighto ^^
14:23
thanks a ton for the debugging discussion, I enjoyed it music
heartw 1
Avatar
Avatar
Peakies
Click to see attachment 🖼️
DUDE HAS A PAY 2 WIN CLIENT GGWP
Avatar
g tee a
Avatar
Avatar
Peakies
Click to see attachment 🖼️
nice speedrun of all your features
14:36
some stuff looks really good ngl
Avatar
Avatar
meloƞ
DUDE HAS A PAY 2 WIN CLIENT GGWP
tnx I sell extra soundboard effects and vip and etc
Avatar
Avatar
Jupstar ✪
some stuff looks really good ngl
tnx gigachad (edited)
Avatar
The "thorium transition", which physicists have been looking for for decades, has now been excited for the first time with lasers. This paves the way for revolutionary high precision technologies, including nuclear clocks.
14:46
This marks the start of a new exciting era of research: now that the team knows how to excite the thorium state, this technology can be used for precision measurements. "From the very beginning, building an atomic clock was an important long-term goal," says Thorsten Schumm. "Similar to how a pendulum clock uses the swinging of the pendulum as a timer, the oscillation of the light that excites the thorium transition could be used as a timer for a new type of clock that would be significantly more accurate than the best atomic clocks available today."
14:46
But it is not just time that could be measured much more precisely in this way than before. For example, the Earth's gravitational field could be analyzed so precisely that it could provide indications of mineral resources or earthquakes. The measurement method could also be used to get to the bottom of fundamental mysteries of physics: Are the constants of nature really constant? Or can tiny changes perhaps be measured over time? "Our measuring method is just the beginning," says Thorsten Schumm. "We cannot yet predict what results we will achieve with it. It will certainly be very exciting."
14:46
epyc
Avatar
Hi all! I want to offer you an idea to expand our favorite editor Maybe someone suggested this, but I didn’t delve into the proposals I would prefer to see "triggers" in the game that activate/change something when activated by tee's hitbox or tee's action I think this will be an extended version of Switch, but it will be called differently Speaking of switch, it would be a good idea to combine them with quad or tele, speedup, tune, switch e.t.c layer My main idea was that mappers of our game would be able to add triggers to their maps, which, for example, would be able to move/activate tiles when they Or change the color/quad when the trigger is turned on You can also make the trigger turn on under some conditions, for example, is there 2 tee on them, or only when 5 tee at the same time I think this can be implemented, because the game Geometry Dash (where the idea comes from) is made in C++, as is DDraceNetwork, based on the fact that Cocos2d-x only supports C++ And I also think that the trigger action code is already publicly available from gd, I don’t think it would be difficult to transfer it to our game . . . . . . I would also like to see 3D graphics in the game, like on map "acq" but only there it works a little strangely (in circles) Although this breaks the concept of the game a little, because it is called a 2D shooter, it is possible to “deepen” the game at least a little I would also like to ask why they won’t add 0.01 pixel movement of tiles to the game (I don’t know what this measurement is called) I studied this a little, and noticed that only the texture can be moved by 0.01, but the tile itself cannot Just explain how it works and why you can’t move the tile by 0.01, it seems like a good idea too
15:17
. . . . . . . . And lastly, why do the colors work strangely in the game? when you superimpose red (FF8080) and yellow (FFFF80) on a white background, you don’t get orange, but you get dull yellow (FFBF40) (1 video) Also, when mixing colors, the wrong shades are obtained.
For example with blue color: when mixed with red it should result in purple when mixed with blue it should turn out blue when mixed with green it should turn out blue🔵 (aqua)
And here they are not the same, the same with other colors (video 2) This is a small part of what interests me in this game, but for now this is all I want to know
(edited)
15:18
Avatar
can u sum it up in 2 sentences?
Avatar
Avatar
Jupstar ✪
can u sum it up in 2 sentences?
GPT says:
The author proposes adding "triggers" to the game that can activate or change elements based on tee actions, similar to concepts from another game like Geometry Dash. They also suggest enhancements like 3D graphics and finer tile movement, questioning color blending inconsistencies within the game.
Avatar
3d graphics? i'm in
Avatar
Avatar
Jupstar ✪
can u sum it up in 2 sentences?
Sorry, I meant something else, most likely the translator is not working well
Avatar
Avatar
Avolicious
GPT says:
The author proposes adding "triggers" to the game that can activate or change elements based on tee actions, similar to concepts from another game like Geometry Dash. They also suggest enhancements like 3D graphics and finer tile movement, questioning color blending inconsistencies within the game.
👍
Avatar
Avatar
Avolicious
GPT says:
The author proposes adding "triggers" to the game that can activate or change elements based on tee actions, similar to concepts from another game like Geometry Dash. They also suggest enhancements like 3D graphics and finer tile movement, questioning color blending inconsistencies within the game.
a little off topic, but I was surprised by this GPT, which shortened my text by 9 times🤯 (edited)
Avatar
thats the only thing this gpt fella is good at
Avatar
508b6d1 Always update text cursor y (closed #8282) - ChillerDragon 3fc6ee4 Merge pull request #8284 from ChillerDragon/pr_newline_cursor - Robyt3
Avatar
what is it with the LLM generated things at the moment?
16:29
they are so stressful to read
Avatar
walls of text are always stressful
monkaS 1
Avatar
Avatar
12345
. . . . . . . . And lastly, why do the colors work strangely in the game? when you superimpose red (FF8080) and yellow (FFFF80) on a white background, you don’t get orange, but you get dull yellow (FFBF40) (1 video) Also, when mixing colors, the wrong shades are obtained.
For example with blue color: when mixed with red it should result in purple when mixed with blue it should turn out blue when mixed with green it should turn out blue🔵 (aqua)
And here they are not the same, the same with other colors (video 2) This is a small part of what interests me in this game, but for now this is all I want to know
(edited)
@Jupstar ✪ the color mixing is curious, is it perhaps an unintuitive result of how alpha is handled?
18:26
It some how ends up with a hue closer to yellow than red, meanwhile the red and yellow being combined lie perfectly on 0 deg hue for red and 60 deg hue for yellow
Avatar
Depending on which one is on top, it ends up closer to that one 😄
18:35
@12345 I guess that should explain how that works albeit in a crude manner. Idk why it happens, jupstar is the rendering wizard, he'd know better
18:44
9ec643e Update brazilian_portuguese.txt - rffontenelle f0e804c Merge pull request #8287 from rffontenelle/patch-5 - def-
Avatar
Avatar
Peakies
Click to see attachment 🖼️
LMFAO
19:21
another nobody trying to profit off the work of an open source project
19:21
get a job
Avatar
Avatar
Learath2
@Jupstar ✪ the color mixing is curious, is it perhaps an unintuitive result of how alpha is handled?
well i'd not call it unintuitive, it's not happeening at the same time. one of the colors is first mixed with white
19:38
then the other is added to that mixed color
Avatar
Avatar
Jupstar ✪
walls of text are always stressful
Exported 419 message(s)