KGC06_적응성 있는 자원 흐름 관리

749 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
749
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

KGC06_적응성 있는 자원 흐름 관리

  1. 1. 온라인 게임을 위한적응성 있는 자원 흐름 관리adaptive data management for online game programming 김성익,엔트리브소프트 noerror@hitel.net KGC2006
  2. 2. OVERVIEW• 적응성(Adaptive)의 의미• 게임에서 적응성 아이디어 / 방법 / 응용범위• 네트웍 객체 동기화의 적용 데모
  3. 3. 적응성 adaptive• 적응성(Adaptive)란 ?• 데이터 값은 서로 다른 중요도를 가진다 데이터의 변화 값은 서로 다른 중요도를 가진다• 좀 더 중요한 데이터 값에 집중한다 좀 더 중요한 데이터 변화 값에 집중한다
  4. 4. 적응성 adaptive #2• ADPCM(Adaptive Differential Pulse Modulation) [libs1]
  5. 5. 적응성 adaptive #3• Adaptive Multimedia Modulation Technique• AGS : Adaptive Transmission Control
  6. 6. 게임 시스템 특성• 제한된 네트웍 대역폭• 제한된 렌더링 퍼포먼스• 제한된 시스템 자원들
  7. 7. 온라인 게임 시스템의 특성• 더 많은 유저로 인해 필요한 더 많은 네트웍 대역폭• 더 많은 유저로 인해 필요한 더 빠른 렌더링 퍼포먼스• 더 많은 유저로 인해 필요한 더 많은 시스템 자원
  8. 8. 데이터의 제한• 객체 동기화 : 데이터를 약간 오버해서 사용하는 상황
  9. 9. 데이터의 제한 #2• 일괄적으로 데이터의 빈도를 2/3로 낮춘다• 전체 빈도는 낮추되 각 빈도는 중요도에 맞춘다
  10. 10. 적응성 정책• 좀 더 중요한 데이터 위주로 처리한다• 좀 더 중요한 데이터 = 좀 더 필요한 데이터 – 나에게서 가까이 있는 캐릭터 : 거리 – 움직이는 캐릭터 – ...
  11. 11. 평가방법• Fuzzy Logic [fuz1] 크다/작다 많이 크다/조금 크다/크다/중간이다/조금 작다/작다/…• 데이터의 평가 함수를 만들어 수치화한다
  12. 12. 동기화 객체 함수• 나와의 거리 (_distance) func = (_distance * A + _reservetime * B) * _priority + _extra• 캐릭터의 중요도 (_netpriority) [unr1] (ex 주인공 1.0/보스 0.9/적 0.6) func = (_distance * A + _reservetime * B) * _priority + _extra• 이전에 데이터를 보낸 시간 (_reservetime) func = (_distance * A + _reservetime * B) * _priority + _extra
  13. 13. 동기화 객체 함수#2• 특별한 데이터인가 (_extra) : 특별한 이벤트 func = (_distance * A + _reservetime * B) * _priority + _extra• 평가치를 적용하기 if (func(object) > C) { Sync(object); _reservetime[object] = 0; } else { _reservetime[object] += dt; }• MagicKey
  14. 14. 동기화에 영향을 주는 요소• 거리 : 가까운 객체가 중요함• 동기화를 보낸 시간• 이동량 : 정지 오브젝트에게 자비를• 방향의 변화 : 예측의 중요key• 동작의 변화• 객체의 종류• |융통성|
  15. 15. 데모• Download http://www.digibath.com/noerror/download/kgc2006_adaptivedemo.zip
  16. 16. 사운드 플레이 사례• 평가함수 : 중요할수록, 가까울수록, 소리가 클수록• 평가적용 : 함수 결과로 소팅, 생존한다
  17. 17. 데모#2• Download http://www.digibath.com/noerror/download/kgc2006_adaptivedemo.zip
  18. 18. 적용 분야• 네트워크에서 : 동기화 객체의 많은 정보• 렌더링에서 : 많은 객체, 많은 이펙트• 사운드에서 : 많은 소리
  19. 19. 요약• How much does it weigh ??• 최대한 효과를 보는 자원(데이터)만으로 한계치까지 사용
  20. 20. 질문
  21. 21. Reference• [libs1] libsndfile http://www.mega-nerd.com/libsndfile• [fuz1] What is Fuzzy Logic http://www.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part 1/faq-doc-2.html• [unr1] Unreal network architecture http://unreal.epicgames.com/network.htm

×