1

Topic: Spectator Suggestions & Code Help.

I've got a couple suggestions, one of which I know has been suggested before but I wanted to repeat it for developer's sake.

Spectator mode would be absolutely lovely with some sort of follow-character function.  Where is camera movement located in the 0.4.2 sources - anyone know off the top of their head? (I'm sure I can find it but if someone knows already it would speed things up a bit)

Spectator mode would also be good with some sort of "zoom out/zoom in" function (mousewheel up zooms in, mousewheel down zooms out)

And of course another one that's been suggested before is the ability for the client to download new tees from a server - I understand not wanting to load a png file that could possibly be malformed and introducing client-exploits, but for my sake to see what I can cook up - where is the handling of that located? and what information gets passed, etc?

2

Re: Spectator Suggestions & Code Help.

Player-following is planned, help is prolly appreceated, checkout on our irc if you can help.

Zooming would be great, good idea,

The skin-downloading is because 1.) custom skins aren't supported yet and 2.) It would make bandwidth go to hell, and make it possible to make invisible or camouflage skins to give yourself a handicap against other players.

Official Teeworlds map developer and community moderator
Administrator for the Teeworlds community Teesites

3

Re: Spectator Suggestions & Code Help.

Would it be possible to see the health, ammo etc of the players that are left?

The proposition "I am the center" need never be uttered. It is the assumption upon which all certainty and all doubt turns.

4

Re: Spectator Suggestions & Code Help.

Golvmopp wrote:

Would it be possible to see the health, ammo etc of the players that are left?

theres already a mod, which broadcasts the health.

Antoine de Saint Exupéry: It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away.
Besides -  I am the gfx guy!

5

Re: Spectator Suggestions & Code Help.

I don't think that is a good idea.

I might be paranoid, but I would just hate it if my opponent suddenly by divine intervention (or similar) gets to know I only have 1 hp left and starts spamming gun on me instead of grenade as he used to do...
I hope I expressed myself fuzzy enough tongue

Used to be very active waay back

6 (edited by ThantiK 2008-08-11 23:33:57)

Re: Spectator Suggestions & Code Help.

Chi11y wrote:

Player-following is planned, help is prolly appreceated, checkout on our irc if you can help.

Zooming would be great, good idea,

The skin-downloading is because 1.) custom skins aren't supported yet and 2.) It would make bandwidth go to hell, and make it possible to make invisible or camouflage skins to give yourself a handicap against other players.

A solution to making camouflage skins and invis-skins would be some sort of hash-check database with your servers? - If you took an MD5 of *for example* frozen.png - you submit it to the website.  A mod plays with the skin, makes sure it's not in violation - then adds the MD5 of that skin to a database on the website.

All you'd need to check at that point - is that the md5 exists and matches on teeworlds.com and it would allow you to control custom skins.  After that the bandwidth is the only problem - but weighing in at only 5kb a piece (much smaller than the maps I've run across), you could probably do what your currently doing with displaying a "default" tee, then severely limit the bandwidth client-side to only download like 200bytes a second (You could put your player in the game at that point, and background the download for fluidity purposes, nobody likes waiting on downloads of maps, I'm sure they'd be pissed if they had to wait for 12 tees to download too).  Once the skin is downloaded, apply it mid-game, much like you do currently if someone changes tee-designs through the menu.

You could even potentially implement a tee-vote system of sorts where the community would be able to up-rate and down-rate tees?  It would keep any kind of pornographic or otherwise offensive tees off the game as well.

I'm actually going to be scouring the code tonight with a couple of my friends who are coders as well, we just found this game via linux-live gamer cd and I've already started up a dedicated server with fast tunings on it for my and others pleasure.

My strong point is actually databases and php, java etc, and not C so much - but working with java should give me enough basic knowledge to work a little on it.

d41d8cd98f00b204e9800998ecf8427e (0-sum hash) - is only 34 bytes.  I know you have to think about "what if this game becomes millions of players large" - but it would only be 1 hashcheck per-tee per-download.

Oh well - just some thoughts I've been throwing around - right now even as-is this game is VERY polished and I've been systematically installing it on every computer I can get my hands on wink

7

Re: Spectator Suggestions & Code Help.

The problem with your idea is that it requires some kind of web interface and there's no coder for that right now. Besides, who would qualify the skins? You can't only let the community do it, it would make people mass register users, vote for the skin and then you are invisible in game.

I think more like a group of active members who are good skin-makers, who in a combination with the dev-team chooses a few skins that come in the next version. Btw, too many skins would make the game a bit strange, I think the current number is perfect.

8

Re: Spectator Suggestions & Code Help.

FireArrow wrote:

I don't think that is a good idea.

I might be paranoid, but I would just hate it if my opponent suddenly by divine intervention (or similar) gets to know I only have 1 hp left and starts spamming gun on me instead of grenade as he used to do...
I hope I expressed myself fuzzy enough tongue

Ah, you mean if someone who's spectating tells one of the survivors the state of his opponent? I can see why this would be a problem. :]

The proposition "I am the center" need never be uttered. It is the assumption upon which all certainty and all doubt turns.

9 (edited by Kademlia 2008-08-12 13:18:58)

Re: Spectator Suggestions & Code Help.

Golvmopp wrote:
FireArrow wrote:

I don't think that is a good idea.

I might be paranoid, but I would just hate it if my opponent suddenly by divine intervention (or similar) gets to know I only have 1 hp left and starts spamming gun on me instead of grenade as he used to do...
I hope I expressed myself fuzzy enough tongue

Ah, you mean if someone who's spectating tells one of the survivors the state of his opponent? I can see why this would be a problem. :]

I thought about this too before i made a Mod where the health and armor is viewable to the specs. The reason why i decided to not care about this problem is: You could already tell what HP he got. Just count in your head.

by now most people love the feature. I did it like this:

show_health i y
where i = 1/0 on/off
and y = team (-1/0/1)

Health is shown by boradcast (easiest way without a client update and without a different netcode hash)

the second thing i made is a 'restart' feature for my 1on1 servers.
If team blue and team red type 'restart' the server will give them a 15second restart WITHOUT them having rcon.

10

Re: Spectator Suggestions & Code Help.

Kademlia wrote:

the second thing i made is a 'restart' feature for my 1on1 servers.
If team blue and team red type 'restart' the server will give them a 15second restart WITHOUT them having rcon.

That is a great idea! big_smile
Could you create a patch with this feature and post it here?

I'd love to see that feature added to 0.4.3!

Used to be very active waay back

11

Re: Spectator Suggestions & Code Help.

IMHO 1v1 should be a seperate gametype, where only 2 players could play coz there are some problems with TDM or DM used for 1v1. In TDM mainly using the kill command can make u headaches because it doesnt decrease teamscore so when u have low health left u can kill urself and lose nothing but the weapons u had. In DM you dont see the teamscores. There are a lot of players who play only 1v1 so they sure would have some suggestions too. And of course the health/armor/curr weapon ammo could be displayed nicely on the two sides of the screen ( with smaller symbols ) for people spectating.

We will meet again when the flowers spread their glorious scent of victory and the birds sing us the melody of justice...

12 (edited by Kademlia 2008-08-12 16:39:46)

Re: Spectator Suggestions & Code Help.

torch wrote:

IMHO 1v1 should be a seperate gametype, where only 2 players could play coz there are some problems with TDM or DM used for 1v1. In TDM mainly using the kill command can make u headaches because it doesnt decrease teamscore so when u have low health left u can kill urself and lose nothing but the weapons u had. In DM you dont see the teamscores. There are a lot of players who play only 1v1 so they sure would have some suggestions too. And of course the health/armor/curr weapon ammo could be displayed nicely on the two sides of the screen ( with smaller symbols ) for people spectating.

The selfkill ist not a real problem. If your in a 1on1 and your opponent starts doing this he already lost, hes not worth playing against you. If its some kind of competition like ESL your just make your screenshot, leave and get your points - or he his penalty.

Edit: But 1on1 sep. gametype would be good and easy.

just sv_gametype 1on1 relates to sv_spectator_slots = sv_max_clients-2

13

Re: Spectator Suggestions & Code Help.

torch wrote:

IMHO 1v1 should be a seperate gametype, where only 2 players could play coz there are some problems with TDM or DM used for 1v1. In TDM mainly using the kill command can make u headaches because it doesnt decrease teamscore so when u have low health left u can kill urself and lose nothing but the weapons u had. In DM you dont see the teamscores. There are a lot of players who play only 1v1 so they sure would have some suggestions too. And of course the health/armor/curr weapon ammo could be displayed nicely on the two sides of the screen ( with smaller symbols ) for people spectating.

I don't know if that will help you. My mod for vanilla servers supports to kick those people automatically. Only define those options: sv_kick_teamkillers (allowed self/teamkills, 0=disabled) and sv_ban_teamkillers (ban time, 0=disabled). And by defining sv_team_balance 1 you can avoid that the other player changes to your team.

14

Re: Spectator Suggestions & Code Help.

It's a sad day when even the forum moderator hijacks your post with another user and discusses something completely irrelevant to the original post. sad

15

Re: Spectator Suggestions & Code Help.

ThantiK wrote:

It's a sad day when even the forum moderator hijacks your post with another user and discusses something completely irrelevant to the original post. sad

Sorry if you feel left out. All my opinions on the OT has already been presented.

Player following: Good idea and planned.
Zooming: Good idea.
Health visible to spec: Bad idea.

Used to be very active waay back

16

Re: Spectator Suggestions & Code Help.

Player following is planned, there is a ticket for it in trac as well.

Zooming is a bad idea in the simple account that it will increase the bandwidth requirements for the server because it suddenly must send all the game information to one or possible more clients that have zoomed out. Perhaps some throttling mechanism can be used but this would requires quite much work.

Health visible to spectators, unsure about this one.

17

Re: Spectator Suggestions & Code Help.

health could be visible for spectators if active players couldnt see what specs type...

18

Re: Spectator Suggestions & Code Help.

Golvmopp wrote:

Would it be possible to see the health, ammo etc of the players that are left?

Not very good...
It's nice because you have to believe if the other has low hp or not ^^
It's a risk ;]

check out these maps: infiltrate - choco - dustycloud

19

Re: Spectator Suggestions & Code Help.

n0skill wrote:

health could be visible for spectators if active players couldnt see what specs type...

Lots of other games have this problem.

Not allowing active players to see what specs type won't fix anything. People could use TeamSpeak or another program like that to chat to spectators/active players.

If the game is important, you delay the broadcast to spectators by 1 minute. Therefore all the spectators have access to health/armor/weapons/everything, but 1 minute later, according to the people playing, therefore the information is useless to the players.

AFAIK this happens in important Counter-Strike matches.

Although I think with this, is that in the real server, there are the players playing, and one spectator bot, which relays the information to another server which is just for spectators, and delays it by 1 minute or so.

Pretty extreme, but I think it does work.

Also, with the zoom out thing, I really love this idea. It would make getting to know the maps really easy. But if players could do it in-game, then it would be like having wall hacks (as in counter-strike), and you could zoom out in a large map to find where the players are.

So maybe only broadcast the information to the client which they would normally see, and when they zoom out/in, the data being sent to the client is the same?

BTW, i've looked at the source, and I have a quick question... Does the client have access to the spawn spoints? Or does only the server do that?

Cheers

20

Re: Spectator Suggestions & Code Help.

The client has the map so it has access to the spawn points.

21

Re: Spectator Suggestions & Code Help.

matricks wrote:

The client has the map so it has access to the spawn points.

Yeah I know that, but does the client currently (0.42) store the spawn points? I am assuming no, so I would have to get them myself. Right?

Many thanks!