fstd / teeworlds Goto Github PK
View Code? Open in Web Editor NEWThis project forked from teeworlds/teeworlds
A retro multiplayer shooter
Home Page: http://teeworlds.com
License: Other
This project forked from teeworlds/teeworlds
A retro multiplayer shooter
Home Page: http://teeworlds.com
License: Other
in order to avoid people scoring for just poking their hooks for a moment into tees which are already on their way down the shrine.
ppl start doing this on purpose
currently they are both handled the same, maybe a distinction should be made.
there is no openfng version so far (the first release tag however has sth like 'v0.0' in.
something like that should be added, probably in version.h + support for displaying it in serverbrowser and on /info
this seems to be an upstream issue, however, not yet verified. on my test map (featuring 1 blue, 1 red and 2 brown spawnpoints) i happen to from time to time spawn at the brown ones, where i actually should spawn at red or have to wait until it is free
in original FNG there is an auto hammer feature
you just need to hold the "+fire" button and it auto hammers i think its usefull :D
hammering teammates should yield lower forces, or no at all
3 seconds is just too long ;)
there is a bug which causes the loltext teamscore displays sometimes to vanish. the reason is still to be tracked down, and i have no clear receipe of how to reproduce it, but causing a round end seems to sometimes do it
in a few places i checked for whether a specific client(id) has an alive character, where it would actually be sufficient to check whether a player exists
as a consequence, you cannot score when you're dead, so if you sacrifice a tee and happen to also fall and touch the shrine before your victim does, you will not receive score for this. actually, you should, as someone validly pointed out (dunno remember who)
maybe it would be neat to be a little bit more dynamic in how much score is provided for certain actions (freeze/melt/sacrifice), maybe in respect to the scores of the two players (killer and victim) involved.
it might introduce a bit more complexity/teamplay when ppl can gain more score for killing good players and less for staying away from the good in order to only finish off the noobs.
but since this would be quite a drastic change, it will most probably be optional and default to off
opinions?
this feature is also in original FNG and i think this one is important helps a lot in battle in the middle of the map
Right now a team gets points for sacrificing in the opposite team's shrine while the team with that shrine cannot sacrifice there. This should be switched around. Red should be able to sacrifice in red shrines and blue should be able to sacrifice in blue shrines.
yes, i know. impossible due to openness, generally impossible, false positives, etc.
i disagree.
first thing to keep in mind is who writes aimbots. good coders usually have no interest in writing kiddie shit like aimbots, therefore, the vast majority of such modifications are done by kids which are pretty restricted in what problems they can deal with.
so even if any protection against aimbots could in theory be defeated due to teeworlds openness, a certain barrier in how difficult that is will, i claim, drastically decrease the aimbot problem.
i'd have a few approaches to detection of aimbots:
the first and most obvious is, for each player who has an enemy in range, keeping track of the time aimed at the enemy, and the time not aimed at the enemy, and drawing conclusions out of that ratio. this would easily defeat 'tracking' aimbots
another one is taking a look at how a player aims/aimed shortly before and after shooting.
let w denote our orientation, i.e. the angle we're aiming, t denotes the time.
now if abs(dw/dt) goes really large, shortly before and after firing a weapon, and if those values are roughtly the same, we likely have a aim-at-on-shoot aimbot.
last but not least, a lot of information can be extracted simply by taking a look at how often a player has hit in contrast to how often he missed. even the uber pros will have some misses, aimbots as well, but it might support the formerly mentioned strategies.
for any other ideas, feel free to toss them in here
after melting, there is a short configurable timespan in which one cannot be freezed (providing the same effect which the autojump on unfreeze did in original fng). ppl seem to not realize it, therefore it should be somehow indicated. perhaps by switching eyes to EMOTE_SURPRISE for that timespan
this was to avoid people continuously shooting a frozen tee in order to refreeze him as soon as he is fully molten.
however, an automatic jump is quite dirty, don't like to do it that way.
will probably introduce a certain timespan in which a tee cannot be frozen, after melting.
maybe find some way to indicate this, emote or so, but not sure
sv_hook_register_delay has been introduced in order to avoid noobs spamming their hooks down a shrine in order to be the ones to get all the score for sacrificing. its effect is that hooking will only be registered as an interaction, when the duration having hooked is longer than sv_hook_register_delay ticks.
currently, this applies to everyone (enemies and teammates), but it should be skipped for teammates, in order to have their interactions always be registered right when happening
currently the one who actually froze a sacrificed tee scores, independent of who hooked it in.
perhaps the one to hook/hammer a tee in should be the one to receive the score for sacrificing (i.e. the last enemy to have hooked or hammered or collided w/ it)
In my opinion there should be a difference between shrines and death tiles (like in the old version). The old system encouraged you to fight in the middle of the map (talking about the ctf5 based map), but if it's like this now, there's a high award for spawnkilling, because you can simply camp at your opponent's base and throw the enemies into the death tiles at the sides.
(I didn't reopen the old ticket, because I don't have the permission to do so)
as i actually had never played fng before writing this, i wasn't sure on how the soring works.
therefore i generalized it a bit and now there are 6 variables to configure scoring.
here they are, along with their current defaults.
sv_freeze_score 1 - player score for freezing
sv_freeze_teamscore 1 - team score for freezing
sv_sacr_score 3 - player score for sacrificing
sv_sacr_teamscore 10 - team score for sacrificing
sv_melt_score 1 - player score for melting
sv_melt_teamscore 0 - team score for melting
i introduced personal score for sacrificing, which was not available in fng probably for technical reasons (not keeping track of who caused a tee to freeze). i felt sacrificing should not only give team score, so per default it also adds +3 for the player.
anyone mad?
if these are too off reality for some fng hardliners, please lemme know in order to discuss better defaults. i cannot judge that very well due to my lack of fng experience
please add here ideas for more texts that will appear in game like that one "+10"
"blue/red are winning"
or maybe something like
when you will be killed 3 times in a row by the same guy
"you suck" or somethng :D
realized there is no reason why the hammer shouldn't have any effect on unfrozen enemies, except for pushing them.
further realized, nobody actually uses the hammer (except when melting)
further realized, it is hard to use the hammer because one has permanently switch back to the laz0r in order to be able to freeze
conclusion: hammering an unfrozen enemy will freeze him, for a short time (maybe 1 second, to allow ppl doing nice moves in order to sacrifice someone w/o having to use the laser).
it will obviously default to off, so that it doesn't conflict with anything if it turns out to be shitty or w/e
for people which are either lazy or stupid or restricted by their OS
plus maybe some webspace where a release can be acquired from w/o having to deal with git. (if anyone is willing to provide that webspace, lemme know)
i too much like this cute feature from ddrace.
certain emoticons will also produce (eye)-emotes (like in my github avatar), awwwwwww
if a player throws a person into a shrine of the opposite team then he might lose score and maybe forced kill/freeze :D (CAUSE THE GODS ARE NOT PLEASED WITH THIS SACRIFICE) :D
the fng hammer behaved different in fng, and i couldn't be bothered to find out the exact values, so i added two settings to independently scale the hammer force
the values are taken as a percentage, in the range of [1, 1000], where '100' causes the force not to be affected
sv_hammer_scale_x (defaults to 320)
sv_hammer_scale_y (defaults to 120)
i did not finely tune out those values, but rather put some in order to make the hammer act roughly the same as in fng.
any fine-tuned values appreciated, if you can find some to make it more or less exactly like fng.
There is an fault in the readme.
"that is, mainly
srg/game/server/gamemodes/mod.cpp)"
isn't it src/game/server/gamemodes/opfenfng.cpp ?
i think the mute-by-ip and mute-on-spam (which i will reintegrate into fb_mute) have proven working well, and generally a good protection against spammers etc. gonna add that to openfng too
I know melt team score is 0 by default but I want to give 5 points to the team who manages to melt their teammates which currently is not indicated by a broadcast. As such no one knows that melting could give your team points.
repetitive chat bindings are annoying and sometimes mute-on-spam is not enough. if a chat message is equal to the preceding one, it should be discarded
i realized putting the shrine tiles where they are now was actually not that much of a good idea than i thought, due to not being aware of that entities in the actual entity area are comfortably passed to the game controller.
therefore, i will probably, unfortunately, again change entities. but ppl shouldn't be bugged with as there will be compatibility glue
like known from other games, and usually quite useful.
some time before we reach the end of round, either by time or by score, and if it is the last round before maps get cycled, then it'd be nice to have a automatic vote be called in order to get a realtime opinion on what map is desired.
currently, if a map is cycled to which is not very popular, one of the first things that happens is a mapvote back to the old map. that works, but isn't the best solution IMO.
the mentioned vote should ask whether or not people want to keep playing the current map. it it ends positively, then a round restart should be performed, rather than a mapcycle
map so far looks great
the only bug i found so far is the grass in air (under the red base)
in 0.5 whe you hit a person with a laser there is a special sound in our openfng there is no sound and truly you dont know if you hit someone or not
IIRC (only IIRC, if I'm wrong, please correct), in "original" 0.5.2 fng laser did not hit members of your own team, passing through, and allowed to hit opponents even when crowded.
dummy issue to keep 0.1 open (github irrevokably closes milestones when all issues are closed)
@heinrich5991 said there would be a ctf-capture sound on sacrification (global, local?)
like it the title when server gets empty all scores should be reset so when new ppl join in they will start with FRESH 0 scores =D
probably by banning for a minute or so, if a player leaves while frozen
dummy issue to keep 1.00 milestone open
or less, however, it should be adjustable independent of how much a regular shrine supplies
as we dont rly make a total CLONE of the real FNG
so maybe this little feature
i know there is RED VS BLUE
but maybe when someone have a lot of frags in his team (hes just first in scores)
then maybe change color to lets say if RED then DARKER RED
and if blue then DARKER BLUE
so we will still have red vs blue with 2 players that have a little darker colors
I see double jump cloud while other tee is frozen.
Doesn't affect physics but makes fng seem less polished.
when one team wins all teams should be randomized (dont know a good name for it :P)
must be disallowed, suicide already is
to ease the butthurtness about the lack of thunderbird, there will be some special feature which unlike the thunderbird isn't triggered randomly, but by the condition that a whole team has to be frozen.
i imagine then the whole team going up thunderbirdlike and finally exploding, score gain will be somewhere around sv_sacr_score * number of tees + little bonus
i dislike the randomness, and generally that feature is likely to have come up just because it is trivially easy to cause a ninja attack, since frozen tees are ninjas to begin with.
however, if the thunderbird in fng was more than just a loookz-i-codez-teh-epicshit feature, i.e. if it had a real purpose, then please someone explain in here.
we might then discuss it in order to find a more decent solution for whatever problem thunderbird was meant to solve
gonna see which vanilla ctf maps are suitable for turning into openfng maps and then do it
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.