

Show HN: multi-perspective StarCraft 2 web replays - rynop
http://ggreplayz.com

======
rynop
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>

~~~
gibybo
How are you generating the video files then? Surely you cannot run a game of
SC2 on an EC2 micro instance?

~~~
paraboul
This job is done by a Chinese "agency".

~~~
rynop
haha nope. I record it real time then encode.

------
DanBlake
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"

~~~
hkmurakami
I'm curious: how do the bandwidth costs of streaming 1 video file compare with
the ad revenue from said 1 video stream?

~~~
DanBlake
Video ads average about a half cent per view.

Display ads (google ads, for instance) average about .05 cents per view ( ie-
you need 1k views to get 50 cents )

A server that comes with 100TB of bandwidth is about 200 bucks a month.

Now, is it going to be profitable? That all depends on the quality settings of
the video + length + bitrate, etc..

~~~
mithras
Cloudflare might be ideal for this.

~~~
Nikkau
Cloudflare don't cache video files, you can't use it to save bandwidth.

------
lnanek2
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
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.

------
hkmurakami
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
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.

~~~
hkmurakami
I actually don't play SC2 at all. :P

I'm just an SCBW oldtimer.

------
andrewf
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!)

~~~
wdewind
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.

~~~
andrewf
You didn't miss anything. I just think it would be a kick-ass feature.

~~~
rynop
Not quite sure I get what your looking for, but if you are looking for
statistics, you can see those in the hover menu on the right. If your looking
for a more textual representation of the replay, give me some specifics and
I'll see what I can do.

~~~
andrewf
I'm thinking of the build order - a list of things built, and the supply at
which they were built - like the one in the comment at
<http://www.youtube.com/watch?v=WQe6UqvCOT4>

Something like <http://code.google.com/p/phpsc2replay/> will get the actions
out of the replay, but I'm not sure how far along that particular library is
when it comes to turning the actions into the list of stuff that was actually
built (while discarding pointless spamming of hotkeys)

~~~
rynop
Gotcha - got an idea and a todo: <https://github.com/rynop/ggreplayz/issues/7>

~~~
andrewf
The list of <supply count> <thing to build> is pretty standard and a lot of
people find it easier to follow when playing, than a fancier layout. But there
are also those who hate the format :) Might be best to poll the target
audience before investing time in a particular layout.

------
AlexanderZ
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
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
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
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

~~~
shabble
Are you aware of the SC2 interface/render hooking system[1] by Matthew Fisher?
I've not actually had time to play with it, but I believe it uses a software-
emulated display buffer, and then parses the raw directx drawing primitive
stream to determine what is happening.

I'm not sure if it supports replays, or how much effort that would be to add,
but if it can, you could extract huge amounts of metadata like build
timings/orderings and whatnot.

[Edit: and of course, if you can render to a virtual screen, maybe there could
be some way to run headless or multi-instance on a single box]

If you can get the suitable video player controls, it'd be fun to integrate it
with an interactive timeline something like SMILE[2] to show significant
events throughout the game (first discovery, first unit death, 'interesting'
(say, involving more than X units or Y diversity of units)

[1] <http://graphics.stanford.edu/~mdfisher/GameAIs.html>

[2] <http://www.simile-widgets.org/timeline/>

~~~
rynop
thanks for the info. I actually have all the build order data at my disposal,
just not sure how to expose it in a useful way. Anyone got some ideas?

That SMILE is effing sick. I'm def gonna work on integrating that...WOW

------
swang
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
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
Maybe worth tweaking the site to fit on the iPad

------
mgrandi
how does this work on a technical level? are you running a copy of sc2 and
basically just replaying the replay?

