애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...Kay Kim
MIGS 2004에서, Noel Llopis가 발표한 "애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In The Real World)의 한글 슬라이드
http://betterways.tistory.com/139 참조.
<마비노기 영웅전>의 사례에 기반하여 다음의 내용을 설명합니다.
1. 국내 및 해외에서 라이브 서비스 중에 발생하는 작업장 이슈에 대응하기 위해서 실시간 로그 수집 프로세스를 구축하면서 고민하였던 내용과
2. 수집한 로그 데이터를 활용하여 온라인 액션 게임에서 캐릭터 애니메이션 패턴간의 유사도(TF-IDF, Cosine Similarity)를 분석하여 현업 실무의 어뷰징 탐지에 활용한 사례를 공유합니다.
라이브 서비스 환경에서 국내 및 해외의 실시간 로그 수집에 대해서 고민하시는 개발자나 온라인 게임에서의 봇탐지에 관심있는 분석가들에게 유용한 사례를 소개해드릴 수 있을 것으로 생각합니다.
2021년 11월 16일 모두콘에서 발표했던 딥러닝 경량화 & 최적화 슬라이드 입니다.
딥러닝 경량화 & 최적화를 실용적으로 적용하려면 어떻게 해야 할까요? 딥러닝 경량화를 검색하면 이론적으로 매우 많은 자료가 쏟아져 나옵니다. 하지만 실제로 적용을 해보면 효과가 없거나 오히려 역효과가 나는 경우가 있습니다. 이번 모두콘에서 저희가 지금까지 딥러닝 모델 경량화 & 최적화를 진행하면서 어떤 것이 실용적으로 효과가 있었는지에 대해서 공유하려고 합니다.비슷한 주제로 고민 중이고 계셨던 분이시면 편하게 들으러 와주세요.
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)Sungmin Kim
Document presented at Korea Game Conference 2014.
Title is ''Software Enginner in Test' in Game Development' and sub-title is 'How can TERA verify too many scearios by automation ?'
블루홀 스튜디오의 김성민 입니다. 이번 Korea Game Conference 2014에서 발표한 자료를 공유합니다. 발표 주제는 'Software Enginner in Test' in 게임 개발 입니다.
국내게임아카이빙_청계천기술문화연구회발표_20181130영욱 오
http://ctclab.org/game/?p=49
발표 – 오영욱 (게임개발자, 한국게임의역사 공저자)
저는 대략 2006년부터 본격적으로 게임잡지를 모으기 시작해서 2007년에 스캐너를 장만해 본격적으로 게임잡지를 스캔하기 시작했습니다. 그즈음에 서울에서 게임개발자의 생활을 시작하기도 하였는데 “잡지”라는 콘텐츠를 좋아했고, 그중에서도 게임을 좋아하다 보니 잡지 수집 작업을 꾸준히 계속해왔습니다.
보통 레트로 게임을 취미로 가진 분들과는 다르게 잡지를 주로 자료로서 접근하고 있는데, 처음 시작하게 된 이유는 한국의 게임 개발자들에 관한 기록들을 모으기 위해서였습니다. 더 직접적으로는 게임개발에 참여한 사람들을 적어놓는 크레딧을 위해서였는데, 그렇다면 게임들을 모으는 게 맞았지만, 손에 닿는 범위였던 게임잡지부터 수집하였습니다. 지금은 게임잡지를 거슬러 올라가 컴퓨터학습, 마이크로소프트웨어 같은 컴퓨터 프로그래밍 잡지를 비롯하여 70년대 전자 관련 잡지까지 손이 닿았습니다.
한편으로는 게임업계에 투신한 70년대 말, 80년대 초에 태어난 사람들이 그렇듯이 90년대 본격적으로 출간되기 시작한 게임잡지들의 영향력 아래에서 지금까지 살아오기도 했습니다. 인터넷이 보급되기 이전의 게임잡지들은 게임을 비롯하여 애니메이션, 프라모델넓게는 일본의 특촬영상물부터 프로레슬링까지 다양한 취미를 소개하는 통로였습니다. 아직 시간이 많이 흐르지 않은 탓인지 국내에서는 아직 이렇다 할 연구나 소개가 적은 편입니다.
그렇게 스캔한 자료들과 평소에 가지고 있던 게임사(史)에 대한 관심 덕분에 한국게임의 역사 단행본 저술에 참여하기도 했고 넥슨 개발자 컨퍼런스와 같은 여러 자리에서 제 작업과 그 필요성을 소개하면서 도움 주시는 인연들을 많이 만들기도 했습니다. 그러면서 스캔한 자료들을 검색할 수 있게 만드는 작업을 하면서, 하루아침에 사라질 수도 있는 인터넷상의 자료들을 백업한다든가, 이미 없어진 자료들을 어떻게 구할지 같은 고민 역시 계속하고 있습니다.
이번 발표에서는 어떤 계기로 아카이빙을 시작했는지, 아카이빙이없어서 아쉬웠던 점이 무엇인지, 지금까지 12년간 어떤 작업을 했고 중간중간에 어떤 결과물을 만들었는지 돌아보면서, 느꼈던 아쉬움과 제가 목표로 하는 지점이 어딘지에 대해 이야기할 예정입니다.
일시 – 2018년 11월 30일(금요일), 저녁 6:30 ~ 9:00
장소 – 서울시 종로구 청계천로 159 세운상가 5층 561호
23. 메모리 계층
• Memory Heirachy
✓ 비쌀수록 빠르고 용량이 적다.
응답속도
레지스터
CPU캐시
시스템 메모리
SSD
HDD
클라우드
CPU 클럭 사이클
0.3 ns 미만
1~2 ns
30~50 ns
0.1 ms
8 ms
10 ms 이상
동일
4~10 사이클
100~150 사이클
100만 사이클 이상
10억 사이클 이상
10억 사이클 이상
24. 대기시간 최적화
데이터가 오가는 데 걸리는 CPU의
대기시간이 줄도록
만드는 일
즉, 줄어든 시간만큼
다른 유용한 일을 할 수 있음
25. 캐시의 사용
데이터를 느린 곳에서 빠른 곳으로
미리 옮겨놓는 일
각 게임만의 고유한 특성을 반영하면
더 지능적인 캐시 가능
26. 캐시 전략
• 싱글플레이어 게임
✓ 100% 예측가능
• 온라인 멀티플레이어 게임
✓ 다른 사용자의 활동은 예측 불가능
✓ 휴리스틱이 중요
✓ 통계기반캐싱, Lazy Deletion,
27. 경험 사례
• 캐릭터 그래픽 캐시 전략
✓ 기본 : 캐릭터 스폰시 로드
✓ AI캐릭터 : 모두 프리캐시
✓ 퇴장한 플레이어 : Lazy Deletion
• 물리연산 데이터
✓ 코어가 남으면 메인메모리에서 캐싱
✓ CPU아키텍쳐에 맞춘 데이터 사이즈