top | item 4303757

Show HN: multi-perspective StarCraft 2 web replays

86 points| rynop | 13 years ago |ggreplayz.com | reply

58 comments

order
[+] rynop|13 years ago|reply
This is a weekend project of mine - looking for some feedback from the HN community.

Basically you upload your .SC2Replay files and I'll convert them into web replays. My twist is I make recordings from 2 players perspectives and show em both to you on the same page (sync'd of course). I have some other options as well, but I'm really looking for feedback on what things people do not like and what things you think would be cool.

From a bootstrap/startup perspective, my goal for this was to produce something that would scale decently with almost no $ investment. Have this running on 1 ec2 micro, static pages and assets (js,css,img) being served up by github pages. Dynamic pages are being served directly from memcached via nginx module (pages are stored already gzipped). If anyone is interested in the implementation details I'd be willing to share cuz I think some of the techniques I used could help others looking to bootstrap their own webapp.

I also have a mobile version so you can watch em on your phone. http://m.ggreplayz.com

[+] nostromo|13 years ago|reply
I love it! A few suggestions:

* Side by side might be better than one over the other. Most monitors are wider than they are tall.

* I miss the sounds. I would keep the audio from both replays, but of course turn off music.

* When creating the videos I'd give the player on the left a slight pan-left for the audio and the opposite for the player on the right.

* Show the production tab dood!

[+] gibybo|13 years ago|reply
How are you generating the video files then? Surely you cannot run a game of SC2 on an EC2 micro instance?
[+] socrates1024|13 years ago|reply
It would be great if you could synthesize Day9's voice and autogenerate some commentary.
[+] koko775|13 years ago|reply
How does the replay conversion work? o_0
[+] light3|13 years ago|reply
Some kind of algorithm for speeding up 'boring' segments is of course top of the list of features, perhaps something that allows the users to 'edit' the video. Great work!
[+] RegEx|13 years ago|reply
Why the hell have you not posted this to /r/starcraft?!?
[+] banana_bread|13 years ago|reply
Doesn't seem very scalable. Unless you have a way to run and record multiple games on one machine.
[+] DanBlake|13 years ago|reply
My suggestions:

1- Ditch youtube

2- Start transcoding both into one video instead of two like it is now, so when I seek I have both timed up correctly

3- Use your own video player (goes with #1)

4- Modify homepage to be more "imgur" like- Move the browse button off of the "get started" page to the homepage.

5- Get a video ad network in place (many to choose from- integration takes about a hour) and start profiting from embeds

I know the argument on using youtube. Its easy, its free, they have a ad program you get a cut of. Its still worth it to roll your own if you get this to take off- You want to be "the easiest way to share your replay"

[+] rynop|13 years ago|reply
Thanks for the input. Yea I went YT cuz I dont have much time/$ to invest now, unlimited vid length in YT is hard to pass up to get an idea off the ground.

I made it flexable however, that if it takes off I can switch to a diff vid streaming provider.

Good call on #4, will do.

[+] thezilch|13 years ago|reply
At least, are there hooks into the YouTube player to know where the stream is at? Can we then keep the progression synced? For myself, at one point, one of the videos needed to buffer and got the two out of sync.

Seems the above can be achieved via YouTube's JS Player API: https://developers.google.com/youtube/js_api_reference

[+] hkmurakami|13 years ago|reply
I'm curious: how do the bandwidth costs of streaming 1 video file compare with the ad revenue from said 1 video stream?
[+] lnanek2|13 years ago|reply
Just seems like a confusing mess to me, with controls on each video and sync'ed controls on the side. If you can't hide the individual video controls, I'd merge the two videos into a single video stream before embedding it. That's how bad I find the UI. Have you sat any people down in front of this thing and watched what they clicked? First thing I did was hide that huge sidebar covering the video, then I messed with the individual controls and figured out that is not good, then finally brought the sidebar back...
[+] rynop|13 years ago|reply
Thanks for the constructive criticism, while I agree it could be better, the problem isn't really that easy to solve.

First off, keep in mind im going towards a pretty small niche here - people that will actually spend time on my app are power users. Gamers who are into tech, and want options.

There are alot of video options, but given my resources this was the optimal solution IMO - and not being modest, I think its a pretty novel solution.

The "huge" sidebar was my solution to not much real estate to put quality vids, while still giving flexability to break down a replay. I could hide the controls, but it does take away a bit of flex (if u want to rewind one player for example). My target audience is people who are good with computers.

I do like the single stream idea however, I can work on that in the future.

[+] otoburb|13 years ago|reply
Because the idea is so novel, I must admit that the first thing I did was just click the top video because I've been conditioned by YouTube to click that inviting big red play button.

After playing with the site a while, I noticed the sidebar and it all fits now. I think the initial problem is that nobody's done multiple POVs before, so once people get the hang of it they'll want more.

+1 to the single multiplexed stream (at least to start with).

+1 to annotations tagged to specific seek times (if needed).

[+] hkmurakami|13 years ago|reply
Some thoughts on your user base.

1. Individuals who want to share replays with friends.

2. Professional teams who want a scalable way of taking video of their players' games and hosting them on their sites.

3. Tournaments that want to host all their games in video format (don't want to distribute replays) but have scalability problems in doing so. They may be tentative about uploading such replays to your site, so a more formal partnership might work better.

4. Individuals who want to "watch replays" on mobile platforms.

5. Individuals who want to "watch replays" on machines that can't handle sc2 (or people who don't own a copy of SC2).

The need for replay watching is somewhat diminished compared to the days of Broodwar, when there was a dearth of videos of games available (nowadays, youtube videos of games are just everywhere). Where you might find success, is with groups who are really keen on watching replays of games that are one of those one in a million kind of games that weren't broadcast for a tournament. (I remember there was one such game -- Sea vs Savior -- during Blizzcon 2008 that was only played backstage and was basically never shown to the public)

[+] rynop|13 years ago|reply
You must play SC2 :) Yea I have a few ideas on how to monetize and leverage tournaments and pro players. This is still a proof of concept phase really - if people like it, and it gets some traction you'll start seeing some of your thoughts being targeted. With that being said, I am working on things in the near term to target a few of those.
[+] otoburb|13 years ago|reply
For #1, there's youtube or just sending the replay to their friends.

For #2, I really think this would be niche profitable but would require the most polish and time because pro teams would probably want to jointly visualize responses to specific timings and save their annotations as a type of historical team-lore, but it would have to be a tight and stable.

For #3, (larger?) tournaments often have 2 game casters and it would be interesting to see different observations while still listening to a unified audio stream. What annoyed me the most when watching VODs or Twitch.tv casted replays is when the casters completely miss covering a multi-prong attack even though I can see something happening in the mini-map (e.g. all-in distraction + main/expo/expo drops).

Some casters are good and rewind to look at the action from a different POV, but it's still annoying and gets in the way of a smooth casting flow.

As a tangent, I wouldn't mind (far into the future) the ability to watch a web replay synced to a (pre-recorded) caster of my choice and play with the observer controls and POV while listening. In essence, that would require re-creating the realtime replay UI which is probably not feasible (but a former SCBW addict can dream).

For #4, killer feature. Ads ads ads, or strike 'service streaming' deals with mobile carriers so people can subscribe to your streaming channel and pay $1/mo for the privilege of watching SC2 replays on their mobiles.

For #5, there's some competition here like Twitch.tv, livestreaming, YouTube or VOD players, but ultimately you're right -- if people can watch synchronized web replays from multiple POVs and mob comment it should be enough to get decent attention. None of the other options allow for web interaction -- they're all modeled on TV audiences and distribution (i.e. faceless, delayed-alternative-channel-interactions). The closest is live-streaming where you can comment in the chat room while the player is playing the game, but: A) there's usually no record of your conversation to ROFL/analyze later; B) as the viewer, you have little say in which replay or game you want to watch next.

[+] andrewf|13 years ago|reply
As I understand it, all of the "create a build order from the replay" sites/tools out there suffer inaccuracy because a replay file is just a list of input actions. There's no distinguishing between building a probe, queueing a probe, not having enough money to build a probe, and being supply blocked.

People try to model what the game does but without actually reimplementing all of SC2 perfectly, you'll still have bugs.

I think, on the other hand, if you had a video taken with the production tab open, and did some really simple image processing to determine what is being built at any given time, you could do a lot better than everyone else.

(I've been kicking this idea around for a while but never got past playing around with a single .PNG, and it looks like you have all the hard .sc2replay -> video stuff worked out already!)

[+] gibybo|13 years ago|reply
I like this idea, but I'd probably opt for reading the stats out of memory instead of OCRing them. You'd get more data (since you don't need to have only one specific tab open), it'd be more accurate, and it might even be easier.

If anyone is unfamiliar with reading process memory in Windows and wants to do this, I have a fairly simple example reading from SC2 at https://github.com/gibybo/S2GS-Extractor

[+] wdewind|13 years ago|reply
Either I completely missed something, or that's not what this site is about. It just takes the replay and splits it into one video per player and lets you play all those videos at once. It does not try to scrape the build order from the replay.
[+] AlexanderZ|13 years ago|reply
What audience are you targeting?

Not to be a negative Nancy but I think that pro teams won't find it useful in analyzing games simple because a video deprives you of control. You can't switch tabs, can't go to an arbitrary place on the map and can't increase the game speed. All you can do is watch the game from multiple perspectives, something you can almost do inside the game (press 1, watch for 5 seconds, press 2 and you get the picture).

Amateur players might find it useful when sharing their replays with friends, but how can that be monetized? A lot of gamers are reluctant to pay for premium content like GSL/MLG, I doubt they would want to pay for sharing video-replays with their friends.

Anyway, it's always cool to see things like this, things with a bit of magic :) Good job!

[+] rynop|13 years ago|reply
This isn't a replacement for the replay tool. Its like the NFL: teams have access to every camera angle possible - but I'll tell you they couldn't live without the overhead cam once they had it :)

I think my idea appeals to: * moderate to very active player. People who want to a) analyze their gameplay (like nfl/nhl/nba/* teams watching film) b) show others something cool/bad that happened * tournaments and tourney players. There are tons of avenues here and potential. Not gonna go into it here. * pros. I think to really appeal to them I need some more features. I have some good ones in mind that I think would be useful. Hopefully I get some traction on this POC so I can implement em.

I personally fell into the 1st cat - I wanted a way to watch replays w/o having game installed. I wanted to watch it from anywhere AND see exactly what the opp. was doing at the same time as me. I don't like doing the player-to-player comparison w/in the SC2 replay tool.

I think this also opens the game to a user base who may not otherwise be exposed to the game (the real game, not just trailer or clips). AKA people who kinda know what SC2 is, and are gamers. This 0 barrier to entry exposes potential new customers of the game.

[+] hythloday|13 years ago|reply
For me (bottom-Diamond who generally only plays to boost friends), the feature I'm looking for here is to be to critique or annotate games - my killer interface would be a cross between GNU screen and an American football play highlighter thing (I'm afraid I don't know the technical term). Pretty much anything that's not social I can get better from the official client, so my feedback to you would be to focus on the things that I can share with my friends.
[+] rynop|13 years ago|reply
Hmmm i like where ur going here. What if i added annotations where u could tag points in time. U could share these notes w friends and teammates. It be cool if i had a img of the full map that u could also place these tags on and draw on it. That kinda ur vision? I think that b sweet
[+] swang|13 years ago|reply
Doesn't maintain sync. YouTube is wonky sometimes and while trying it out one video started but the other was still queueing. Finally they both started playing but at different time markers. Hitting pause and then play also did not sync the games together.
[+] rynop|13 years ago|reply
Thx for the input. I've had quite a bit of input asking for syncing (and I'd like it myself as an SC2 player). Currently I do some tricks to make the vids start in HD, which is probably causing some issues. I'll work on making this better.
[+] icefox|13 years ago|reply
Maybe worth tweaking the site to fit on the iPad
[+] mgrandi|13 years ago|reply
how does this work on a technical level? are you running a copy of sc2 and basically just replaying the replay?