teeuniverse / teeuniverses-old-draft

A retro multiplayer shooter
http://teeworlds.com
Other
7 stars 1 forks source link

DDRace-like mod must be possible with ModAPI #44

Open necropotame opened 8 years ago

necropotame commented 8 years ago

I'm not a player of DDRace but I'm sure that ModAPI must be able to reproduce similar game type. Please list here features that are needed so we can discuss how implement/generalize it.

abck commented 8 years ago

teamsystem 'viewing the map /pause' (client only possible, so maybe not for ModAPI) tunezones (zone with different tune settings) speedup indicators (litte icons that show if you have endlesshook/endless jumps etc)

necropotame commented 8 years ago

I also think about server-sided dummies. I think it's better that client-sided. It seems less like a "hack". But tell me your opinion ;-)

abck commented 8 years ago

Speedup/Tunezones are own layers in ddnet, they only got one tile each (+ the 'nothing' tile) for that speedup tile you can set the direction and strength (the editor renders a litte arrow to show the direction and shows the strength as number in that tile) for the tunezone tiles you can set only the 'tunezone number' and add tune_zone commands in the config. most maps do not use tunezones Also see: http://forum.ddnet.tw/viewtopic.php?f=16&t=2418

Teamsystem: Players can join different teams with /team , vanilla clients only see the own team, if a vanilla client uses /showall, they see all teams (but got some prediction bugs) if a ddnet client uses /showall see this picture: http://ddnet.tw/client/showothers.png scoreboard looks like this: http://ddnet.tw/client/scoreboard.png

H-M-H commented 8 years ago

@necropotame from my experience: clientsided dummies are not the very best idea and well the ddnetdummy code is pretty hackish/messy so I agree with you server-sided dummies = better solution.

ghost commented 8 years ago

I think tune zones are definitely needed, maybe not for ddnet mods. If you have a map not limited by walls you can do weird movements if some pathes are gravity 0 / gravity 0 and the laser dragger/speedup works great. As demonstration I wanna show the infection block map (don't know the name) used on ddnet infblock servers. There you can perform really weird stuff cause there are no limited movement pathes, you can basically go everywhere

necropotame commented 8 years ago

I don't know how to implement it in a correct way. I don't know either if this must be done in the map or in the mod. I mean, whatever is the map, the water should behave similarly, so it should be on the server side. But for race, you need flexibility, so it should be map-side.

ghost commented 8 years ago

Both. You should implement flexibility (that's the best at modapi), so keep any options open. But I think you should provide a "guide" like: "If you want to implement water slowing down movement, DO IT LIKE THAT!"

necropotame commented 8 years ago

ModAPI should allows maps to embed multiples ZoneLayers. A ZoneLayer is similar to a GameLayer, in the sense that it's a TileLayer that describes how the world works. Then the server can read them and decide to change some parameters depending of the zone of where the player is. The term "tune" is not appropriate here because the server can do anything using the ZoneLayer system. It could be for example the start tile in DDrace, a zero gravity zone, the infected zone in InfectionClass, ... It just depend of what the server want to do with the ID of the ZoneLayer and the ID of the tile where the character is. Then the DDrace mod could read a file like before to link tune params to zones.