ET-tv


(Stee) #1

http://www.xfire.be/index.php?category=7&id=688
:???:


(Azarael) #2

Not a bad idea.


(nate.h) #3

Most of the things mentioned in that interview have also been discussed here in the forums.

http://www.splashdamage.com/forums/viewtopic.php?t=4772

The main problem (as mentioned in the thread) is that this simply can’t be done “The Right Way” ™ without modifying the network communication protocols in ET, and that this is not possible with just the mod source. Sending the whole world state would “work”, but is impractical because of bandwidth issues.

If fesable ET-TV (or similar) project does emerge however, I would be very glad to contribute to it. As mentioned in there, I’m working on an ET project to improve spectating, but it does not include ET-TV like functionality at the moment. Once I complete Lithium, I may be able to turn my attention that way. However, it seems like the limiting factor is still just access to the core engine source.


(Azarael) #4

I don’t think it would very involved to broadcast a demo as it is being recorded. That could be done externally from ET and then the only problem would be to how to play it on the other end.


(rgoer) #5

That’s not a bad idea–demo broadcast. Tell the clans (privately) to meet at 18:30 for their clan match, tell the spectating world to come watch the match is at 19:00. Replay demo at 19:00.


(nate.h) #6

Hm, yeah. The delayed broadcast would have some nice advantages. One of the problems, though, is that demos are still recorded from only one pov…

That and I’m not exactly sure how you’d simulcast a demo, again, without access to the ET core source. You could stream the file, but I don’t think ET would handle a streamed file well (i.e. if it tried to read past what you had already received, etc)…

Still, this seems pretty doable. You could even couple it with like shoutcast to add canned commentaries, etc.


(Fusen) #7

www.tsncentral.com you will have to rely on that lol very funyn seeing as the shoutcasters obviously havn’t played ET be4 lol


Rhode island medical marijuana dispensary


(bani) #8

yeah its not very involved, all you need to do is reverse engineer the quake3 network protocol + encryption, code a pseudo-server to negotiate client connections, resequence and re-encrypt the data for each client.

yeah, not very involved at all :bash: :bash: :bash: :moo: :moo: :moo:


(DG) #9

GIEV TEH BANI SORSE CODE PLZ!!!1123fourfive

:smiley:


(Azarael) #10

I think that you could get around the protocol stuff with a little creativity. If found a way to steam the demo(obviously hard) with your own protocol then you would only have to get your hands on the module that ET uses to play demos. Since I don’t have a copy of the source, and I’m not familliar with the format of dm_83 files, I don’t don’t know if it would be possible to stream them or not.

As far as reverse engineering protocols, it has been down with other encrypted protocols, ie yahoo, so I wouldn’t discount the idea that it would be possible for someone who knew what they were doing.


(bani) #11

its called ET.exe :rolleyes: :rolleyes:

there isnt any module to “get your hands on”.


(Azarael) #12

Well, don’t let me disagree with a modder. I obviously have no idea what I’m talking about.
b.t.w. I’m not implying that there is an independant executable that plays demos. last time I checked, modern software engineering practices dictate that projects of any significant size use some sort modular design. I was simply implaying that there is an api out there that would serve this purpose. The fact that it happens to be part of ET.exe and not likely to by handed out to everyone who asks is a problem.


(bani) #13

there isnt


(Azarael) #14

Well, I’ll have to take your word on that I suppose.


(rgoer) #15

Well, if you take some time to train a guy to be a decent “cameraman,” you might end up with some good stuff. Or even get Bani to help you impliment some kind of Multiview-ish system and have two (or three, or four, or ten) “cameramen” taking the demo.


(DG) #16

even if the source etc was given, then i imagine that while it would be possible to use multiview (it is in OSP RTCW), practically nowhere would use it due to cpu & bandwidth resource.

you only need to follow a spectator-cameraman, or have two and people can switch between them. most i’ve seen for rtcw was 3, an axis-cam, allied-cam and an everyone-cam.


(nate.h) #17

there isnt[/quote]

Heh. To elaborate, the Demo is essentially just a bunch of canned snapshots of the world state. ET simply uses that info to “simlulate” a server game, which is then displayed as if it were a real game you were connected to. Thus, in order to play a demo, you’d essentially have to re-implement all of ET.

What I was referring to above was the idea that you could possibly open the demo file remotely, and read from the beginning, while the server wrote the ongoing game data to the end. Depending on how sequential the data is, that might work, or it might just be a total disaster. I doubt the bandwidth hit on the server would be worth it though.


(Azarael) #18

I was think that to reduce the bandwidth usage, the camera man’s computer would be broadcasting the stream instead of the game server. As well, the streaming clients should need to send many messages to the server further reducing the bandwidth used.

As for reimplementation of ET, I’m not sure that would be necessary. Of course you’d have to add your own code. Although bani denies it’s existance :wink: there has to be some body of code that implements the demo player(because the demo player is obviosly a bit different from the game, I’m guessing from what nate is saying that the demo player is just writing the state info to the engine like when you are really playing). If you could turn the demo stream into some sort of virtual file, maybe the demo player wouldn’t know the difference between it and a regular demo on the local file system(If you know about file systems, think nfs - - > network file system).


(nate.h) #19

For the record, I was recording a demo today, and I noticed it was generating information at a rate of 20 KB/s (via the little readout at the bottom). For comparison, the server I run generates around a constant 50KB/s of traffic (if I remember correctly… I could be wrong on this) and a standard ADSL connection can only upload about 25 KB/s.


(rgoer) #20

Would Azarael’s idea of broadcasting the demo from the “cameraman” machine work?