<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sf5 on cublr's blueprint</title><link>https://b.cublr.com/tags/sf5/</link><description>Recent content in Sf5 on cublr's blueprint</description><language>en</language><managingEditor>sparkstar@empas.com (sparkstar)</managingEditor><webMaster>sparkstar@empas.com (sparkstar)</webMaster><lastBuildDate>Mon, 10 Sep 2018 13:49:49 +0000</lastBuildDate><atom:link href="https://b.cublr.com/tags/sf5/index.xml" rel="self" type="application/rss+xml"/><item><title>스트리트 파이터 5의 API</title><link>https://b.cublr.com/posts/%EC%8A%A4%ED%8A%B8%EB%A6%AC%ED%8A%B8-%ED%8C%8C%EC%9D%B4%ED%84%B0-5%EC%9D%98-api/</link><pubDate>Mon, 10 Sep 2018 13:49:49 +0000</pubDate><author>sparkstar@empas.com (sparkstar)</author><guid>https://b.cublr.com/posts/%EC%8A%A4%ED%8A%B8%EB%A6%AC%ED%8A%B8-%ED%8C%8C%EC%9D%B4%ED%84%B0-5%EC%9D%98-api/</guid><description>&lt;p&gt;&lt;img src="images/sfv.png" alt="image"&gt;&lt;/p&gt;
&lt;p&gt;적지만 꾸준히 시간을 투자하며 하는 게임이 바로 Street Fighter 5 되시겠다. 게임 한 판이 대전격투게임 특성상 2분 정도 걸리기 때문에 중간에 마무리짓고 나오기도 편해서 요즘은 이것만 한다.&lt;/p&gt;
&lt;p&gt;지는 것보다는 이기는 것이 더 기분이 좋으므로 어쨌든 실제 게임 시간보다는 관련 내용을 공부하는 시간이 더 많아지게 되는데, 이 중에 게임 내의 기능으로 특정 유저의 게임을 “리플레이”형태로 볼 수 있는 기능을 사용할 수 있다. 프로게이머들의 게임을 보고 분석할 수가 있는 것이다.&lt;/p&gt;
&lt;p&gt;문제는 리플레이를 보려면 반드시 게임을 켜서 확인을 해야 하므로 게임하는 시간이 아닐 때의 접근성이 매우 떨어지는데, 고마운 사람들이 볼만한 리플레이를 유튜브에 올리므로 그거를 보면 되겠다.&lt;/p&gt;
&lt;p&gt;이것도 불만이 없는 것은 아니다. 예를 들어 리플레이 기능에는 추가 옵션으로 캐릭터의 “키 입력”과 “공방 데이터”를 함께 볼 수 있는데, 이게 매 리플레이를 재생할 때마다 OFF로 되어 있어서 상당히 귀찮게 활성화 해야 한다. 그래서 그런지 유튜브에는 이 데이터를 함께 레코딩해 올라오는 리플레이 영상이 굉장히 희소하다. 그래서 중요한 게임 같은 것들은 직접 리플레이를 녹화하는데, 이게 시간이 굉장히 아까운 것이다. 그래서 자동으로 리플레이를 녹화하려는 시도를 하고 있다.&lt;/p&gt;
&lt;p&gt;그 중 하나의 시도로, 과연 이 게임, 클라이언트와 서버는 어떤 API를 통해 서로의 정보를 요청하고 응답을 전달할까? 예를 들면 이런 것을 확인해 보고 싶은 것이다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;고랭크 유저 A의 리플레이 리스트 확인&lt;/li&gt;
&lt;li&gt;1에서 얻은 리플레이 리스트를 여러 조건으로 분류&lt;/li&gt;
&lt;li&gt;상대 등급별&lt;/li&gt;
&lt;li&gt;상대 캐릭터별&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;그러면 해당 리플레이만 찾아서 바로 재생하면 되니까 말이다. 그런 간단함을 생각하고 http 프록시를 통해 확인해봤더니, 우선 결론부터 이야기하면 불가능하다. 이유는 &lt;a href="https://en.wikipedia.org/wiki/OAuth"&gt;OAuth1&lt;/a&gt;을 사용하여 통신하기 때문이다. http 요청/응답은 확인해도 내가 요청을 만들 수가 없는 것이다&amp;hellip; 어쩐지 V리그 같은 것들이 왜 다시 안생기는가 했는데, 다 이유가 있었던 것이다.&lt;/p&gt;
&lt;p&gt;어쨌든 신기한 것도 알았는데 다음과 같다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;인프라는 aws와 akamai같은 곳에 구성되어 있다&lt;/li&gt;
&lt;li&gt;리플레이 데이터의 저장은 S3(us-west)를 사용함&lt;/li&gt;
&lt;li&gt;해시된 파일명을 사용함&lt;/li&gt;
&lt;li&gt;파일 하나의 크기는 대략 120KB 정도&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;LOL처럼 리플레이나 전적 분석을 하기 쉽게 이 정도는 공개해줄만한 것 같은데 이런 것이 참 아쉽다.&lt;/p&gt;
&lt;p&gt;그래서 다음 자동화 정책을 생각해봐야 하는데 다시 시간이 나면 기록하는걸로&amp;hellip;&lt;/p&gt;</description></item></channel></rss>