Guild icon
Teeworlds
discord.gg/teeworlds / development
For discussions around the development of the official Teeworlds
Between 2020-09-17 00:00:00Z and 2020-09-18 00:00:00Z
Avatar
Let's go crazy, shaders! :D
Avatar
Shaders? RTX for teeworlfd!
Avatar
Ah don't let the water discussion die so quickly
✅ I've recreated WaterMOD using tune zones in infNext @Stiopa 😄
(edited)
06:01
but if we go crazy again... I want custom server-downloadable tilesheets with additional projectiles or interactive maps not made of lasers.
Avatar
There is some server side downloadable content in 0.8 Milestone, right?
Avatar
And then we will realise nobody wants to use 0.8 despite of a particle system, raytracing and ability to recreate literally every game server-side because "0.8 is a shit and 0.7 is a bless of gods". (edited)
06:29
Learath2 will add SevenUp protocol to ddnet meanwhile.
Avatar
year 2025: teeworlds 0.8 is released and 2/3 of the community are probably still using ddnet 0.6 client lol
Avatar
New weapon: bucket
06:45
Drown the enemy team by funneling all your teams' efforts to sink the enemy base! (Sounds worthwhile, doesn't it?) (edited)
Avatar
How many videos and screenshots are there of slopes?
Avatar
They're on the deep web at this point
Avatar
Top Secret tw archives
Avatar
i remember there was a build with slopes
09:27
A retro multiplayer shooter. Contribute to H-M-H/teeworlds development by creating an account on GitHub.
Avatar
DDNet would move to 0.7 if there was a clean way to mod 0.7. I spent atleast a month doing a rewrite on 0.7 though I just wasn't willing to invest more time into something that will become obsolete and impossible to upgrade
09:54
Eh, I was scrolled up a little, was replying to noby
Avatar
i can imagine it being insanely difficult.
Avatar
But to 0.8 though!
10:13
It is a must
10:14
there are a lot of work to do if we want 0.8 to be mod friendly
10:15
besides, idk if anyone / any group can just chime in and do it.
Avatar
The only feature of 0.7 I am missing now on ddnet is a newer skin system. Oh and maybe proper game states and matches, but that's fixable serverside. (edited)
Avatar
Well, the backlog will grow
Avatar
I wonder which project will get ability to download custom additional tilesheets and use them as custom server-manageable entities? The first wil make it will get a massive boost of mods I guess.
10:25
I still want to recreate battlefield mod but with proper tank/helis sprites instead of that jerky structures made of hearts.
Avatar
aren't minetee a thing
Avatar
I am sure it has all client resources built in custom client not downloaded from a server. Am I right?
Avatar
but it has server modifiable tiles
Avatar
Wow, that's huge right
Avatar
that was year ago
10:29
and it is a standalone mod. so client and server mod together.
Avatar
I see. but that's really nice
10:30
I hope it is still alive
Avatar
tbh i think for that kind of stuff you'd better off just fork another game out. like Nodes.
Avatar
I want serverside controllable tiles so much.
Avatar
or somebody should make a issue for discussion and possibly a RFC prototype. It can't just magically happen after you asked for it.
Avatar
There are tons of great issues (feature proposals) already opened in tw. (edited)
10:33
And even if I would invest money to buy some real C++ developer's time I am not sure this code will be accepted to mainline. (edited)
Avatar
wdym real C++ developersnervous
Avatar
I have 3 months of C++ experience.
10:34
I am ruby backend web developer so I don't know a shit how to code properly in C++ (edited)
10:34
I just hack and enjoy when it's not segfaults
Avatar
you don't have to get it in master to push changes
10:35
thonk besides you'll get yourself a nice mod even if it isn't get merged. (edited)
Avatar
I mean for example I want 2 things:
  • client being able to fetch additional spritesheets and use sprites from them as server-controllable and client-interactable objects
  • server-controllable map tiles which pushes updates to client map
Both need clientside support. If they will not be accepted to master then its will be very niche and will die soon.
10:36
Like this minetee mod or ninslash.
10:37
besides you'll get yourself a nice mod even if it isn't get merged.
no way people will download custom client. People even didn't wanted to download 0.7 when I was inviting them to my old 0.7 server
(edited)
Avatar
but if vanilla gameplay don't naturally need them, nobody besides ppl like you would submit it?
10:39
is there a issue regarding server tiles already?
Avatar
I don't think so. And I want client to download additional sprites from servers more.
10:40
That alone could be a nice boost for mods.
10:40
but if vanilla gameplay don't naturally need them, nobody besides ppl like you would submit it?
vanilla gameplay doesn't need anything
Avatar
downloadable are marked as a 0.8 milestone already i think?
Avatar
I love mods but vani is dead
Avatar
vanilla gameplay doesn't need anything
10:41
that's why you need to (at least) try do make a issue and (better yet) possible prototype? (edited)
10:41
you can't just expect ppl do it without any material / disscussion
Avatar
There was a proto of downloadable sprites by matrics in 2011 AFAIR (edited)
Avatar
downloadables are planned already aren't they.
Avatar
Maybe I am wrong but for me planning something into teeworlds 0.8 sounds like planning something for linux kernel 40.1
Avatar
but you can't just make another protocol break in 0.7
10:43
it has to be 0.8
Avatar
You're right
10:45
I think one could make it backwards compatible. So far I think that downloadable sprites will be used as new custom types of projectiles/powerups. I think it's possible to make it as extension with a fallback to regular hearts and bullets.
10:46
Even if that will be 0.8
Avatar
teeworlds never had backwards compatible elements afaik.
10:46
maintaining two separate implementation is too much for such a small dev team.
10:46
I agree 0.8 should be extensible
10:47
no gonna have something that aren't compatible across all 0.7 clients / servers
Avatar
Why ddnet team (Learath2 primarily) is maintaining two separate implementations?
10:47
Are they bigger?
Avatar
cuz they are more popular and ppl enjoy working on their codebase
10:48
and deen is a code wizard
Avatar
teeworlds 0.7 codebase is not that bad, I've worked with it
10:48
before migrating to ddnet
10:48
0.7 is just restricting in many ways
Avatar
so does every version come before it
10:49
ddnet is not just 0.6.
Avatar
For example I cannot even force a client to accept his own player's clan name in a mod.
Avatar
they hardcoded tons of support for many mods
10:49
well maybe not tons, but still many
Avatar
they hardcoded tons of support for many mods
which clearly shows ddnet is for mods
Avatar
thonk ok i'm done. this discussion is going no where.
10:51
you should open a issue for server modifiable tiles is all i'm saying
Avatar
Have I said anything wrong?
Avatar
no you have not, but the discussion is a deadend
10:51
we are going in circles
Avatar
Yes, those are matters discussed so many times even before me that it's like a meme now.
10:52
I've upvoted an issue on serverside downloadable sprites already long ago.
10:52
and I don't really need destructible maps now so I don't think making another issue is right
10:53
I just don't know what I can contribute to it
Avatar
thonk you can always open more issues
10:53
worst case they'll get closed
Avatar
I don't want do DoS a small dev team
10:53
worst case people will get annoyed with it
Avatar
like who?
Avatar
Thanks for discussion anyway. I don't want to waste your time
10:54
I know devs would rather code than talk (edited)
10:54
time is precious
10:55
And you're right, it's just people like me want those features in tw. Just modders which are not a huge group
Avatar
are you saying i'm not a modder doggo_lol
Avatar
I just don't know every modder here 😄
10:56
what's your mod?
Avatar
i too want these features. but you have to be sensible what can be done.
10:57
i made solofng, some stupid antibot, and some other stuff for chinese players including two clients. (edited)
Avatar
I too, shall become a modder
Avatar
Start today 😄
11:00
@TsFreddie that's nice. I admire your contribution
11:00
i too want these features. but you have to be sensible what can be done.
I don't know ahead of time what can be done and what it's not. That's why I am asking... and express my doubts.
Avatar
Well, I was porting a mod until I got tired of it
Avatar
to ddnet?
Avatar
No, to 0.7
Avatar
from what?
Avatar
wuhmm what were you porting
11:04
I tried to port nodes from 0.5 to 0.6 once, then I realize I don't know C++ that much lol.
Avatar
zEsc mostly for personal use
Avatar
3 months ago I didn't knew C++ at all Porting infCroya from 0.7 to ddnet was the most exhausting programming task in my life (edited)
11:07
still not finished yet
11:07
at least playable
Avatar
thonk fokkonaut had some downward compatibility layer. you could have just add a protocol layer.
11:08
instead of redoing everything
Avatar
I've had 3 options and decided to port to ddnet because this way sixup proto will be supported by ddnet devs
11:09
and I was so right with it. So many issues were fixed by Learath2 and I didn't even touched compatibility code
Avatar
thonk cool
11:10
ddnet can do that ofc.
Avatar
btw you can join the game now for 5-10 minutes to see how infClass works with doors and tune zones 😄
Avatar
but i doubt they wouldn't support a 0.7-0.6 layer as well
Avatar
0.7 infnext shows scores in time ^^
Avatar
but i doubt they wouldn't support a 0.7-0.6 layer as well
0.8?
Avatar
i mean ddnet would happily support your mod even if you are using a 0.7->0.6 compatibility layer
Avatar
if ddnet client would build on windows i would have made ddnet client work with 0.7 already
11:53
@Learath2
11:54
still doesnt build with visual studio
Avatar
Poggers
Avatar
It builds just fine for me
12:18
It builds on CI too (edited)
Avatar
meta conversations.
Avatar
@Deleted User downloadable content is an open issue
Avatar
@Dune I've seen that issue and upvoted it. Not much more I can do there.
13:12
And maybe commented it 😄
Avatar
I mean it's not like it's out of question or something
Avatar
Ah, indeed.
Avatar
meta conversations.
@jxsl13 meta quote
Avatar
@jxsl13 meta quote
@Assa meta meta quote
13:42
rip, discord garbage.
Avatar
Downloadable content would definitely need a compatibility break. In general it's a problem that nowadays breaking compatibility is such a huge problem. Adding new rather big features often isn't possible while still supporting old clients. For example a workaround like using hearts and shields instead of additional assets is just awful. Even a modding api would not be perfect from the start. Extending it (in a proper way) would still require a break in some cases. IMO that should not be a big deal but the api should be as stable as possible, so mods can easily upgrade and use new features. Just extending the code without an api is kinda pointless today. Most mods are not written with updateability in mind. To be honest, that's rather hard with the current code base. People will rather stick to ddnet or 0.7 and maybe we will see 0.6/0.7 to 0.8 bridges, which ofc do not support any new features
Avatar
ddnet seems to support the new skins, at the very least
16:38
(I just tried to join via the bridge)
16:38
seems like teeworlds is missing support for CJK characters currently, but there's something in the pipe, right?
Avatar
as long as the protocol matches a bridge can support any features they want. I think he means features that can not be replicated on across versions. (e.g. downloadable contents
16:39
I'm doing CJK and textrender
Avatar
cool 👍
Avatar
skins is more of a workaround as 0.6/ddnet does not support several skin parts
Avatar
i'm rewriting the whole textrender which might not be a good idea for merging, so I have two versions. One with API changes one without.
Avatar
but yeah it's more about stuff like downloadable content
Avatar
The API change does make future text work a lot more easier and have some free fps boost.
Avatar
didn't check all your code yet, are you storing all the vertex data for the text between frames?
16:41
@TsFreddie
Avatar
i didn't do anything gpu related
16:41
i just skipped text layout.
16:41
for some of the text.
Avatar
okay but how did you save that? 😄
Avatar
in textcursor
16:42
with an tl array
16:42
the old layout code is already pretty slow, i rewrote that as well.
Avatar
hmm okay. so the cursors should rather be static? a dynamic allocation per cursor might be a bit too much otherwise =\
Avatar
they are all static now
Avatar
you can check my branch here
16:44
A retro multiplayer shooter. Contribute to TsFreddie/teeworlds development by creating an account on GitHub.
16:45
it's almost finished now
Avatar
i'll have a look at it on the weekend 👍
Avatar
@redix 100% agree with everything you said, that's the whole problem. Even if we release a brillant 0.8 with lots of mod capabilities if there is no content to offer people won't come
17:40
And the content is too old and too difficult to port (teeworlds code structure is partly to blame for that)
17:40
People's first arguments against moving to 0.7 was no teecomp, no antiping, no ddrace etc.
Avatar
antiping might be solved soon with the prediction, right? :)
Avatar
it won't be as good as hardcoded ones in ddnet. so I wouldn't say it is solved, but it is moving in the right direction
Avatar
it's at least something. not as advanced as the ddnet thing
17:46
problem is... the more hardcoded prediction, the more problems with custom weapon stuff in mods
Avatar
ye, ddnet can't handle every mods in existence. but it won't stopping them from adding more hardcoded prediction for mods
17:47
ppl see their solution as better one because it does work for popular mods
Avatar
adding custom paths for each mod that pops up is just a rather ugly solution =\
Avatar
we need more tuning and better entities to support antiping across different mods. but that will never be as good as hardcoded cases for each mods.
17:48
so the problem is that ppl will always see the modded ones as the better one
17:48
which we can't really do anything about.
Avatar
we need a VM that can run code which it gets from the server 😄
Avatar
maybe, but there will be more entry points for vulnerabilities
Avatar
yeah a lot more
Avatar
EeveeShy it will be tough.
17:49
we can get through this.
17:51
to be fair, even csgo doesn't have that much flexibility in terms of prediction. Custom particles are pretty jank on high ping.
17:51
but you can't mod csgo clients and be compatible to official servers
Avatar
hardly any game has it because they just ship an update that breaks compatibility 😄
17:52
they can provide a stable modding api though
17:52
today there are games where you have to restart because your version isn't supported anymore 😄
Avatar
@redix yeah exactly we basically need a VM
Avatar
btw, I think we can possibly start working on supporting server mods without compatibility break? if anyone is up for it.
17:53
but ofc better antiping stuff need to wait until 0.8. but at least we can have a start point before then?
Avatar
move everything in game/server/ to lua/wasm/whatever stuff you like (edited)
17:55
matricks basically tried this with his bluesky branch
Avatar
i don't like lua tbh
Avatar
wasm would be good. One could use any programming language that compiles to webassembly and it should be pretty fast. But it still lacks some stuff. Building an easy to use api doesn't really work today (edited)
Avatar
there aren't many high level script language that is more friendly than lua.
17:58
I just don't like how lua handles array
Avatar
javascript/typescript
Avatar
but you can compile typescript to lua nowadays
17:59
v8 is way too huge (edited)
Avatar
probably
Avatar
i'd say lua is probably a good fit. although i really don't like it
Avatar
and the js/ts ecosystem feels kinda bloated
Avatar
if we use lua, i can still write typescript and transpile it to lua.
18:00
just can't really use any packages
18:01
but for simple mods i don't think it is really needed anyway
Avatar
1 package -> 1000+ deps 😄
Avatar
besides just to provide better prediction, you really only need to write entities in lua.
18:01
other server stuff you can still mod in C++
Avatar
problem is that especially the physics code needed for the prediction is rather performance critical
Avatar
More modding support being discussed? lovely
Avatar
ghosty jit can be pretty fast
18:03
but idk how fast do we really need
Avatar
i'd rather write the rest in lua and keep prediction in c/c++
Avatar
then how do you send entity behaviour to clients to do antiping
Avatar
one of the reasons for wasm -> i think it's ~0.5 native speed today
Avatar
I tested js, you quickly get performance issues
Avatar
js sucks
Avatar
is webassembly a VM, never really dealt with it before
Avatar
lua is fine
18:06
the real problem is prediction
18:07
and the best way that I found to deal with it for now is to share code between client and server
18:07
or to have premade predicted entities
18:07
we talked about this
Avatar
to be fair... your js lib was an interpreter right? @LordSk 🦋
Avatar
ducktape
Avatar
the problem is that premade prediction will never be better than ddnet's hardcoded nonsense
18:08
from user's perspective, not dev's
Avatar
it could be but I have not found a good way yet
Avatar
well at least it does not seem to use jit (ducktape)
Avatar
I mean I could also have embedded V8 but the dependency is not the same 😄
Avatar
we can if we can include a VM and send entities behaviour between server / client
Avatar
I went for something reasonable
Avatar
that's why we are discussing scripts (edited)
Avatar
why not webasm?
18:10
you can compile most languages, including C to that
18:10
so you wouldn't have to rewrite all the game logic in lua, you could keep it in C
Avatar
designing an api is still kinda problemtic... but once reference and interface types are ready it should be fine
Avatar
Lua is very good and not much worse than webasm afail
Avatar
tbh whatever the language it does not matter much the format stays the same
18:11
server sends code, client executes it
18:12
the API is the most important aspect
18:12
how to setup modding in a simple way
18:12
minecraft has a "forge" system that works quite well
Avatar
so what about just replacing the whole game core with shared code (lua, wasm, whatever)?
Avatar
minecraft for a really long time has been rely on a set of deobfuscation code base.
Avatar
so the whole core lives in a vm
18:17
should have a look at the duck code again 😄
Avatar
replacing the whole code was attempted by matricks
18:24
at this point you lose the essence of the game really, you make a somewhat generic 2D engine with teeworlds modded on top
18:24
and I'm very much against that
18:25
now we could have some code implemented as lua, such as the physics loop
18:25
so it is easy to implement prediction stuff
18:26
but at this point why not make server modding be lua as well?
18:26
having client & server binaries that don't change would be great
Avatar
why do u want the most performance taking thing in lua xd
Avatar
lua is insanly slow
18:37
why do u want it in physic engine
Avatar
we are not saying it is going to be in lua. we are discussing ways to send entity behaviours to client for predictions.
18:38
feel free to provide alternatives
Avatar
well if it needs to be something on fly, webasm is probs the best choice
Avatar
besides, it is the 4th lua is slow comment in the last hour
18:39
dogchoke
Avatar
that's just false
Avatar
but we have been talking about wasm too as well arent we.
18:41
wasm can provide more languages support other than lua from what i've gathered which might not be a bad idea.
18:41
dont know how will an api works tho
18:42
and Jitted lua is not insanely slow too
Avatar
That's the main issue with wasm today
18:42
as mentioned above, interface types might bring a solution here
18:42
but it's still more of a proposal
Avatar
does anyone have benchmarks between jitted lua and wasm
18:43
or it is comparable
18:43
why dont i google myself
Avatar
that heavily depends on the use case i guess
Avatar
probabl9
Avatar
in in terms of wasm on the vm you are using
18:44
v8, wasmtime, wasmer, wamr just to name a few 😄
18:45
v8 is wasm?
18:45
or it supports wasm.
Avatar
it supports both js and wasm
Avatar
they all have different backends, jit, aot, interpreter, based on llvm, cranelift or whatever (edited)
Avatar
lua can be jitted isnt it
Avatar
yeah but considering how much work was put into the javascript VMs (which are also used for wasm) in the last years, I guess these might be faster than lua
Avatar
make sense
Avatar
move everything in game/server/ to lua/wasm/whatever stuff you like
please not lua... and not wasm ofc... ah, you're joking I guess
Avatar
not this agian
18:53
yeah but considering how much work was put into the javascript VMs (which are also used for wasm) in the last years, I guess these might be faster than lua
as long as we can design API i'm fine with it, at this point I have written in more languages than i have friends irl
😄 1
Avatar
for the start it might help to clean up the stuff in game/server/ so it's more modular, but the ideal case would really be a scripting api, so you can update the binary and reuse mods
Avatar
and btw he's not joking. we need a way for server to send codes to clients. and probably can help your cases as well, other than improving prediction.
Avatar
Also any game engine or a game with an embedded interpreter was a pain to use. Its API always was incomplete, undocumented, full of side effects. And it doesn't matter what language it is, I've tried embedded python, ruby and thanks to tw, a lua. Last was the worst. (edited)
Avatar
you don't need documents to write scripts.... binding are there..
18:57
teeworlds isn't that huge
Avatar
I've dumped lua out of my mod just because I've spend more time learning how lua to C++ bindings work and failed to grasp that complexity. I've invested like a month in it and didn't succeeded. (edited)
Avatar
and yes, if we want to do it, we better have documents
Avatar
the current code is undocumented, unflexible and updating is awful 😄
Avatar
but that isn't the reason for not doing scripts
Avatar
in the end modders shouldn't touch the bindings at all but rather just use lua
Avatar
C++ undocumented code is ok. Embedded interpreter running in parallel with a process trough a binding layer is much worse.
Avatar
or whatever scripting lang
Avatar
or you can provide alternatives for sending prediction behaviours.
Avatar
yeah implementing it is harder... but once you are done with it you can just reuse it
Avatar
If we can avoid script AND get better prediction, that would be fantastic, and mods can still lives in C++ with better performance. so if you can, please do
19:01
The topic started with providing better prediction/antiping.
Avatar
@Deleted User with webasm you could still write your mod in C++
19:01
just that your C++ code would also run in the client
Avatar
yes. and with a vm, the possibility of defining map behaviours (modifiable tiles) will increase as well
19:03
For now it is a topic of antiping refactoring server tho. because we can probably do it without protocol change (edited)
19:04
sorry, we probably can't improve antiping this version, but it is a head start for everything on 0.8
19:04
Brain fart
Avatar
Do we have a list of things that get wrong prediction on mods? I've saw this:
  • manually updating positions (mostly linear) for transport and taxi (teemo): client thinks that character should slow down and fall
  • freezing (fng): client thinks a tee still can move but server ignores input
  • temporal horizontal doors (ddrace, watermod): client things a character should fall
Most of them are solved now with fake tunes (like sending 0 control to a freezed client or sending 0 gravity to client standing on a door).
(edited)
Avatar
imo antiping is nice to have in the future. making it easier to upgrade mods would be a huge step forward for now
Avatar
ye, antiping should be a side effect of moving to VM
19:05
my brain wasn't working just now
19:06
but the topic indeed starts with antiping.
Avatar
@heinrich5991 maybe I fear added complexity on debugging with WASM. I know there will be like hint files to get to lines of original code but still.
Avatar
> Do we have a list of things that get wrong prediction on mods?
every custom entities
(edited)
Avatar
@Deleted User yea, I see, it'll probably be worse for debuggability
Avatar
right now we only have prediction for tees... and this is even limited to collision tiles, tee <-> tee interactions and hook
Avatar
who needs debugger when you can print (jk)
Avatar
Well... smootly moving plasma bullets would be nice.
19:10
Right now they just teleports every snapshot.
Avatar
that's the point of discussing vm.....
Avatar
You mean... client to have a precompiled prediction rules that are the same on server and client?
Avatar
no, client to receive server entities code and run them for prediction directly
Avatar
sounds powerful, but complex
Avatar
it is what ddnet been doing already, just without vm. (edited)
Avatar
but would make possible to make interesting effects, like actual particles
Avatar
since they just hardcode them in
Avatar
ddnet is just doing what vanilla does
19:12
hardcode server physics
Avatar
which don't follow ballistics, like magic stars and such
Avatar
but ddnet do hardcode custom entities for mods, which we can't do
Avatar
of course vanilla could, but vanilla isn't interested in supporting specific mods
Avatar
vanilla could also do it... but doing it for every mod is just a never ending story
Avatar
that's what i mean, supporting individual mods in the upstream sounds stupid.
19:14
why are we having this discussion, are we slowly pulling back on the vm idea
19:14
EeveeShy
Avatar
maybe we are searching for simpler solution to get results better and to avoid added complexity if that even could be avoided
Avatar
that's the problem... you cannot cover all use cases with hard coded prediction
Avatar
sure, but please provide alternatives instead of "don't do it". because obviously we aren't doing it right now.
Avatar
can we add generic rules for prediction? like paths: ["linear", "ballistic", "spline", "attracted", "circular", "back-forth"] for custom entities?
19:16
and even "stable"
Avatar
that was the idea, before considering all mods supports that is
Avatar
and a flags like "collide", "platform", "pushes with force on vec on touch", "not collides"?
Avatar
to cover all cases you need tons of options and you will certainly still miss things
Avatar
besides it isn't eaiser for modders to set tuning if they don't know what they are doing.
19:17
if they just changed a entity's code and it "just works", that would be fantastic (edited)
Avatar
let's just migrate the game to the browser and every server sends its custom client on connect 😄
Avatar
if there will be prediction rulesets like I've mentioned that would provoke other people to rewrite mods I've had rewritten WaterMod on ddnet by using 0 lines of code and 4 rules of tune zones. Having right tools is rewarding. I've made it just for fun, I knew I have all tools in codebase. If we will add those tools then rewriting old mods will be a lot easier in newer tw.
Avatar
but more tuning options in general is good. currently the tuning option is a little sparse.
19:21
basically we already has a system of defining entities behaviour. if we don't want vm, we can expand on that
19:22
i'm talking about tuning params ofc
Avatar
would be so nice if we could have tunning parameters customizable per entity (not type) currently tunes help mostly to stop prediction errors on a player character
Avatar
but sending tuning params alongwith entities can tank the network protocol i think?
Avatar
so I could add some particle negative gravity for example or even a vector to get hyperbolic curves that are not ballistic
Avatar
and still you could add houndreds of tuning params and you would still miss many cases
Avatar
yes. but at least it is better
Avatar
you could ofc also only add tunings for stuff that is actually in use
Avatar
ddnet have tune zones, we could expand them to tunning pallete
Avatar
we can create multiple tunings sets, and send the tuning id alongwith entities ofc
Avatar
so a server could say that this projectile or powerup should behave like a projectile with tuning set #4 from that pallete
Avatar
oh tune zones
19:24
if that's what ddnet calls it
Avatar
it's really zones in ddnet which is limiting, but better than one tuning
19:24
I don't like that they're just zone bound
19:25
though useful to get antigravity lift or a water floating effect
Avatar
but i don't think per entity tuning is sensible
19:25
you can add more zones
Avatar
but zones are bound to tiles in ddnet
19:25
didn't know
Avatar
it's for making like... pools of water where gravity = -0.2 for example
19:26
which is really nice
Avatar
so what I means is have multiple tuning sets, and give them id, and specify the entities tuning set
Avatar
but affects everything which is inside of that tile making every projectile behave wrong (edited)
Avatar
instead of toggle tuning based on location
19:27
but yes, that will remove the ability to have different character behaviours
19:27
but you can still mod the server to toggle tunning
19:27
which isn't too bad
Avatar
tune zones bound to tiles only are limited, but if there would be a way to tell it affects that type of projectiles or even projectiles marked with some flag that would be super useful
Avatar
but again, vm does sounds more enticing.
Avatar
for example I cannot make a real flight of a bat in infClass, it's just infinite jumps but if I could bind to character a tune I could make it really fly and fly faster than general air_control_speed allows me (edited)
Avatar
i'd imagine ddrace was adding tuning as they needs, it is just happens to be pretty feature rich now. but that was years of accumulated works imagine.
19:29
vm might be a jump start to cover more for less work
Avatar
the tuning per entity would be cool. but what about things like explosions? the forces created by them should be considered in prediction aswell
Avatar
Yes, they've absorbed nice ideas to their code and now it's a nice framework for mods. But still limited
Avatar
we might even be able to ditch the tuning paramsEeveeShy . but we need some other way to check if the code is standard.
Avatar
Mostly explosions are simulated by invisible explosion which is more or less ok
Avatar
but for high ping you really need explosion info for clients to behave (edited)
Avatar
but you cannot predict them with the tuning approach
Avatar
For example in infClass there is soldier and merc bomb explosion which are in fact a series of visuals and a HUGE radius ONE explosion that gives force based on distance from center to characters
19:32
on high ping you don't know when explosion will happen
Avatar
vm might still be easier to implement than like 10 more tuning options.
Avatar
so you cannot predict that is not there yet. But the second the client gets a snapshot it just adds a force to a character and that's all. job done (edited)
Avatar
you can if the explosion is invoked by a prediction
19:33
like a weapon
Avatar
you can predict it if your tee caused the explosion
19:33
that's the whole point of it
Avatar
input-based prediction? would be cool
Avatar
like rocket jump prediction
Avatar
you just run the whole server physics in clients and do prediction that way
Avatar
because I'd wanted to server be able to tell client "you're frozen, so if you press arrow key nothing will happen" and not to send it "ground_control_speed 0" instead (edited)
19:34
which didn't worked in 0.7 I don't know why
Avatar
that's why we were talking about VMs
19:34
because I'd wanted to server be able to tell client "you're frozen, so if you press arrow key nothing will happen" and not to send it "ground_control_speed 0"
you can do that with a VM solution
Avatar
I can do everything in VM solution right 😄
Avatar
there are probably no way to tell the client about "you're frozen, so if you press arrow key nothing will happen" this info without some code
Avatar
I just have fear that solution will require that level of expertise that 0-2 people of dev team would be able to do that. And they will be the most busy persons ofc. So we will get VM in tw 10. (edited)
Avatar
dude
19:36
tuning params are more work
Avatar
the most time consuming part isn't building the API, it's building the content for it that would justify a compatibility break/client download
Avatar
that as well
Avatar
prediction is one thing. Can we also have simple geometry which will affect characters? like platforms? or particles?
Avatar
without scripts? (edited)
Avatar
Like just circles, boxes and triangles? No need to add spritesheets
19:37
If you will add VM then we could animate particles
19:37
we modders who will use it I mean
19:38
wall made of laser is cool, but just a plain gray box will be cooler
19:38
so with the platform
Avatar
do you mean movable platforms? like floating vehicles
Avatar
Yes, them too.
Avatar
that might be doable. standard types can use them as well
Avatar
There are maps where simple geometric tiles combined make amazing effects
19:40
imagine ray of "light" really moving in a map
Avatar
also i want to say modding is actually more fun if the platform is limited.
19:40
pico-8 is much more fun to code in than unity
Avatar
but it's just a triangle, controlled from server side. Rn we don't have anything beside characters, projectiles and pickups to build something from
Avatar
but that's just me
Avatar
Would be so nice to recreate teemo bf mod with actual low-poly transport. (edited)
19:41
I mean battlefield-like mod
19:42
a decent tank could be made just of 5-10 primitives
19:43
and maybe +5-10 for decoration
Avatar
i don't even know how to respond anymore ghosty
19:43
let's just migrate the game to the browser and every server sends its custom client on connect 😄
Avatar
where to start and where to end? you would need to extend the protocol for it. You start with simple shapes, continue with custom assets, animations, more advanced shapes, text, custom physics... (edited)
Avatar
and a standard gametype to justify them
Avatar
if you're adding VM add simple geometries (circles and triangles will be enough) to justify that
Avatar
aren't you against vm
Avatar
with a client side vm, you register snap types on the fly and implement all this yourself
Avatar
that will not just make existsing mods a little smoother but will add visibly new elements that could emerge in newer mods and effects
19:45
I didn't knew that. So cool if I can register anything in client
Avatar
wait hold on the sec
Avatar
I've thought you would use VM only for prediction
Avatar
aren't downloadable content in the pipeline
19:46
why do you need geos if you can just make them
Avatar
I fear that downloadable content will just reskin already existing entities and not add custom ones
Avatar
if you aren't against VM what's the reason not to support custom ones?
Avatar
it would require a flexible resource system that supports downloadable content and a VM could make use of those
Avatar
also were you reading the issue, it clearly says additional/updated contents. (edited)
Avatar
I fear that this slash means OR 😄
19:48
and it will just be update for projectiles.png
Avatar
then comment to push it
👌 1
Avatar
in the end you could basically reimplement the whole game in the VM (as lordsk mentioned above), if it is powerful enough
Avatar
are we talking about features that will be implemented in 1-5 years from now?
Avatar
though i agree with him that this should not happen
Avatar
nothing is guaranteed
Avatar
in the current state of development this will never happen ^^
Avatar
this is community effort
19:50
and the community is too small
Avatar
Are there people now who have experience with such a VM or WASM?
Avatar
nobody is technically a "dev" for teeworlds. anyone could just leave
Avatar
a change like this didn't happen since the first public release of the game more than 10 years ago
19:52
right now development is more like fixing bugs, reworking some code and adding tiny features
Avatar
but reworking is pretty important too. you can't do much which this codebase
Avatar
except for the editor, but this is also kinda stuck
Avatar
although you can't really see the effect of refactoring
Avatar
I know that refactoring job is invisible but have to be made
Avatar
well it doesn't have to. somebody is willing to do them which is nice (edited)
Avatar
I will have experience to help you in 2-3 years I think.
Avatar
don't worry, i waited 7 years to contribute
Avatar
doesn't sounds very encouraging 😄
19:55
I hope tw will survive this much
Avatar
i started to play this game in 2009. made my mods in 2013-2014
19:55
only started to submit code last week
19:55
😄
19:55
i'm the new guy
Avatar
too bad this game is not a ruby backend. I could contribute in a month 😄
Avatar
this kind of change needs buy in from the development team
19:56
which is just oy atm
19:57
too bad we aren't having this conv in irc
Avatar
I don't have access to bridge
Avatar
tbh i don't think i've mentioned i've been reworking textrender in irc.
19:58
i forgot that exists
Avatar
and also I tend to edit my messages like 5x on every one. People at the other side of IRC bridge gets every update I believe.
Avatar
@Deleted User should I remove access again?
Avatar
I've exited ddnet dev channel because of that
19:58
@heinrich5991 I just enter there with a great caution and flee immediately now 😄
Avatar
it's not hard to stop doing that
Avatar
to not to edit my messages on reflexes (edited)
19:59
it's hard because I am perfectionist + not English native speaker and was doing edits my whole life
Avatar
watermeron i don't even speak english.
Avatar
but I can imagine there are flexible people who can change their behavior on the fly by they will alone
Avatar
that's a lie, i can speak a little
Avatar
@heinrich5991 ah, you've given me access. I didn't get it first, thanks
20:01
I will write there with a great caution 😄
Avatar
you can have typo there, ppl will get it.
20:01
just control the OCD a little
Avatar
it's also not too bad if you edit your messages
Avatar
I am just not ok with it. It cringes me every time. For some reason while I forming a sentence I cannot see errors.
Avatar
just don't do like 5 of them in a row.
Avatar
I see 3 errors in my last msg ^ 😄 (edited)
Avatar
I only do tons of edit for my essay. other than that, i don't care. should i tho
Avatar
It's something limbic. I cannot see my errors without urge to fix them.
20:03
ah whatever
Avatar
besides i can never get good on latin languages, i already accepted that
Avatar
you're good enough that I didn't noticed anything
Avatar
you're already good enough
Avatar
thanks lol
20:06
I do want to learn some german or spanish. haven't got enough motivations. and I should probably pick japanese up before that.
Avatar
pick russian. You will know how to stand for yourself in CSGO
Avatar
russian might be cool too. not that I would use any of them, just some extra stuff to learn is always refreshing.
Avatar
pick polish ;)
20:10
will come in useful for #development (not)
Exported 537 message(s)