[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션NHN FORWARD※다운로드하시면 더 선명한 자료를 보실 수 있습니다.
언리얼 엔진 프로그래밍을 시작하면, 편리하지만 한편으로는 골치아픈 UObject 시스템을 만나게 됩니다.
이 발표에서는 C++ 프로그래머를 대상으로 UObject 시스템과 그 핵심 기능인 리플렉션, 가비지 컬렉션을 소개하고 그 동작 원리를 함께 들여다봅니다.
목차
1. 일반적인 리플렉션의 개념
2. 언리얼엔진의 리플렉션
3. 일반적인 가비지컬렉션의 개념
4. 언리얼엔진의 가비지 컬렉션
대상
- C++ 개발자
- 언리얼 C++ 프로그래밍에 관심 있는 분
■관련 동영상: https://youtu.be/VpEe9DbcZIs
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기Jaeseung HaNDC 2017 발표 슬라이드
시연 영상 링크: https://youtu.be/e9Tv3jkmqKk
게임 내 정보를 추가 구현이나 패치 없이 실시간으로 수집할 수 있다면 어떨까요? 이런 아이디어를 실제로 가능하게 구현한 NEXON ZERO 발표 슬라이드 입니다.
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기강 민우펄어비스의 MMORPG, 검은사막에 적용되어있는 AI 네비게이션 기능은 VOXEL 기반으로 자체 개발한 엔진을 이용해 구현되어 있습니다. 기존의 대다수 상용 라이브러리들이 네비 메쉬라고 하는 이동가능한 평면을 표현하는 폴리곤 기반의 데이터를 이용해 길찾기를 수행해주는 것에 비해 근간이 다릅니다. 이 강연에서는 검은사막의 네비게이션 엔진을 구현하고, 서버 / 클라이언트에 적용하면서 얻게된 노하우와 적용된 결과물들을 소개합니다.
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우Unreal4 엔진을 사용하여 모바일 프로젝트를 제작하는것에 있어서 PC프로젝트를 진행할때와 달리 주의해야 하는 점과 팁들에 관하여 이야기하고, 이를 HIT 프로젝트에는 어떻게 접목시켰는지에 대하여 강연합니다.
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션NHN FORWARD※다운로드하시면 더 선명한 자료를 보실 수 있습니다.
언리얼 엔진 프로그래밍을 시작하면, 편리하지만 한편으로는 골치아픈 UObject 시스템을 만나게 됩니다.
이 발표에서는 C++ 프로그래머를 대상으로 UObject 시스템과 그 핵심 기능인 리플렉션, 가비지 컬렉션을 소개하고 그 동작 원리를 함께 들여다봅니다.
목차
1. 일반적인 리플렉션의 개념
2. 언리얼엔진의 리플렉션
3. 일반적인 가비지컬렉션의 개념
4. 언리얼엔진의 가비지 컬렉션
대상
- C++ 개발자
- 언리얼 C++ 프로그래밍에 관심 있는 분
■관련 동영상: https://youtu.be/VpEe9DbcZIs
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기Jaeseung HaNDC 2017 발표 슬라이드
시연 영상 링크: https://youtu.be/e9Tv3jkmqKk
게임 내 정보를 추가 구현이나 패치 없이 실시간으로 수집할 수 있다면 어떨까요? 이런 아이디어를 실제로 가능하게 구현한 NEXON ZERO 발표 슬라이드 입니다.
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기강 민우펄어비스의 MMORPG, 검은사막에 적용되어있는 AI 네비게이션 기능은 VOXEL 기반으로 자체 개발한 엔진을 이용해 구현되어 있습니다. 기존의 대다수 상용 라이브러리들이 네비 메쉬라고 하는 이동가능한 평면을 표현하는 폴리곤 기반의 데이터를 이용해 길찾기를 수행해주는 것에 비해 근간이 다릅니다. 이 강연에서는 검은사막의 네비게이션 엔진을 구현하고, 서버 / 클라이언트에 적용하면서 얻게된 노하우와 적용된 결과물들을 소개합니다.
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우Unreal4 엔진을 사용하여 모바일 프로젝트를 제작하는것에 있어서 PC프로젝트를 진행할때와 달리 주의해야 하는 점과 팁들에 관하여 이야기하고, 이를 HIT 프로젝트에는 어떻게 접목시켰는지에 대하여 강연합니다.
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례Hwanhee Kim2017년 4월 26일, NDC2017 발표자료입니다.
콘텐츠 제작은 게임 개발에서 많은 노력과 시간 투자를 필요로하는 작업입니다. 최근 폭발적인 관심을 받고 있는 딥러닝을 통해 여기에 드는 시간을 크게 줄일 수 있습니다. 이 발표에서는 VAE(Variational AutoEncoder)를 이용한 모방을 통한 콘텐츠 생성 기법에 대해서 다룹니다.
[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피Jeong Seoyeon▶ 스마트스터디 채용안내
https://goo.gl/Ondwo8
▶ 발표자 소개
현재 수집형 RPG [몬스터슈퍼리그] 시스템기획 및 라이브기획PM.
법학과 졸업 후 게임업계로 와서 [디스코판다 for kakao], [LINE 플러피다이버], [범핑베어 with facebook] 등 각종 플랫폼과 국가에서의 게임상용화 경험을 토대로 글로벌원빌드 [몬스터슈퍼리그]에 열심히 녹여내는 중.
▶ 발표자료 소개
게임지표 중 누구에게나 다루기 어려운 난제, 리텐션(Retention).
[몬스터슈퍼리그] 글로벌서비스를 하며 리텐션을 15% 개선한 놀라운 경험을 바탕으로, '리텐션을 개선하려면 수치를 조정해야 한다?', '더 좋은 보상을 줘야 한다?'와 같은 숫자 위주 판단에서 벗어나 감성적이지만 파괴력 있는, 조금은 낯설지만 솔깃한 팁을 공유합니다.
※ 실제로 라이브에 적용했던 내용을 상세히 공유하려고 합니다. 최대한 현실작업과 가까운 형태로 기획자의 머릿속을 들여다 보는 시간이 되기를 바랍니다.
원격근무 개발자의 자기관리 - 우리는 모두 원격근무자다!Minwoo ParkIn the future, offices may no longer be necessary as technology advances. Remote work will become more common, with people able to collaborate and complete tasks from anywhere using virtual tools. While this will provide flexibility and other benefits, it may also lead to feelings of isolation for some without in-person interactions and water cooler talks.
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버준철 박SMARTSTUDY 에서 몬스터 슈퍼 리그를 개발하면서 빠른 개발 진행을 위해 선택했던 Python 게임 서버, '잘 되면 다시 만들지 뭐'라는 생각에서 시작했지만 다시 만들 일은 영원히 오지 않았습니다... Python으로 게임 서버를 만들었을 때 사용한 것은 무엇인지 또 실제 오픈 했을 때 서버는 안녕했는지 알아봅니다.
'오래 오래 건강하게' - 2013년 정관장 추석선물 카탈로그samsamstory추석에 새기는 마음, '오래 오래 건강하게'
둥근 보름달만큼이나 마음도 넉넉해지는 한가위입니다.
자연의 혜택을 느긋하게 누리는 풍요의 시간,
소중한 이들에게 사랑과 감사의 마음을 전하는 것이 우리네 미덕이지요.
일백년 한결같은 정성으로 명품을 완성해온 정관장으로
그 애틋한 마음을 건네보세요.
2013년 정관장 추석선물 카탈로그 입니다.
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법복연 이『이펙티브 디버깅』 디버깅 지옥에서 탈출하는 66가지 전략과 기법
디오미디스 스피넬리스 지음 | 남기혁 옮김 | 한빛미디어 | 24,000원
★ 소프트웨어의 완성은 디버깅!
이 책은 경험이 풍부한 개발자를 대상으로 소프트웨어를 완성하는 마지막 기술을 가르친다. 저자는 35년 경험에서 깨우친 일반 원칙, 높은 수준의 전략, 구체적인 기술에 관한 조언, 효율 높은 도구, 창의적인 기법, 효과적인 디버깅과 관련된 행동 특성을 제시한다. 저자가 제안하는 66개의 전문 기법을 통해 디버깅 역량을 확장하고, 각 문제 상황에 맞는 최상의 접근법을 선택할 수 있을 것이다.
★ 주요 내용
다양한 소프트웨어 장애를 해결하는 높은 수준의 전략과 방법
프로그래밍, 컴파일, 실행 시 적용할 구체적인 기법
디버거를 최대한 활용하는 방법
믿고 투자해도 좋은 범용 기술과 도구
막다른 길과 복잡한 미궁에서 탈출하는 첨단 아이디어와 기법
디버깅하기 쉬운 프로그램을 만들기 위한 조언
멀티스레딩, 비동기, 임베디드 코드 디버깅에 특화된 접근법
향상된 소프트웨어 설계, 구축, 관리를 통한 버그 회피법
Debugging with Visual StudioLusain Kim Visual Studio의 디버깅 도구들을 소개합니다. 이 자료는 /LusainKim/ss-54856264 에서 Visual Studio의 기능에 초점을 맞추어 작성되었습니다.
이 문서는 Visual Studio 2017 Community 버전을 기준으로 설명되어 있습니다.
기타 질문사항은 sain9212@gmail.com 으로 부탁드리겠습니다.
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍NDOORS일반적인 Visual 기반 프로그래밍 이외, 콘솔 프로그래밍의 필요성을 재조명하고자 합니다.
강연을 통해, Visual 기반 프로그래밍에 익숙해져 있는 (입문)개발자들에게, 콘솔 프로그래밍을 통해, 더욱 효과적으로 개발할 수 있도록 돕고자 합니다.
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...Kay KimMIGS 2004에서, Noel Llopis가 발표한 "애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In The Real World)의 한글 슬라이드
http://betterways.tistory.com/139 참조.
ƮᆨƦᄋƵᆷᅡᅡᅵᅵᆼ_ᅥᆼᄀƨƥᆫƵᄉƮᆯᆫᄒƪᄋƧᆫƮᄒƬᄇơᆯᅭ20181130영욱 오http://ctclab.org/game/?p=49
발표 – 오영욱 (게임개발자, 국게임의역사 공저자)
저는 대략 2006년부터 본격적으로 게임잡지를 모으기 시작해서 2007년에 스캐너를 장만해 본격적으로 게임잡지를 스캔하기 시작했습니다. 그즈음에 서울에서 게임개발자의 생활을 시작하기도 하였는데 “잡지”라는 콘텐츠를 좋아했고, 그중에서도 게임을 좋아하다 보니 잡지 수집 작업을 꾸준히 계속해왔습니다.
보통 레트로 게임을 취미로 가진 분들과는 다르게 잡지를 주로 자료로서 접근하고 있는데, 처음 시작하게 된 이유는 한국의 게임 개발자들에 관한 기록들을 모으기 위해서였습니다. 더 직접적으로는 게임개발에 참여한 사람들을 적어놓는 크레딧을 위해서였는데, 그렇다면 게임들을 모으는 게 맞았지만, 손에 닿는 범위였던 게임잡지부터 수집하였습니다. 지금은 게임잡지를 거슬러 올라가 컴퓨터학습, 마이크로소프트웨어 같은 컴퓨터 프로그래밍 잡지를 비롯하여 70년대 전자 관련 잡지까지 손이 닿았습니다.
한편으로는 게임업계에 투신한 70년대 말, 80년대 초에 태어난 사람들이 그렇듯이 90년대 본격적으로 출간되기 시작한 게임잡지들의 영향력 아래에서 지금까지 살아오기도 했습니다. 인터넷이 보급되기 이전의 게임잡지들은 게임을 비롯하여 애니메이션, 프라모델넓게는 일본의 특촬영상물부터 프로레슬링까지 다양한 취미를 소개하는 통로였습니다. 아직 시간이 많이 흐르지 않은 탓인지 국내에서는 아직 이렇다 할 연구나 소개가 적은 편입니다.
그렇게 스캔한 자료들과 평소에 가지고 있던 게임사(史)에 대한 관심 덕분에 한국게임의 역사 단행본 저술에 참여하기도 했고 넥슨 개발자 컨퍼런스와 같은 여러 자리에서 제 작업과 그 필요성을 소개하면서 도움 주시는 인연들을 많이 만들기도 했습니다. 그러면서 스캔한 자료들을 검색할 수 있게 만드는 작업을 하면서, 하루아침에 사라질 수도 있는 인터넷상의 자료들을 백업한다든가, 이미 없어진 자료들을 어떻게 구할지 같은 고민 역시 계속하고 있습니다.
이번 발표에서는 어떤 계기로 아카이빙을 시작했는지, 아카이빙이없어서 아쉬웠던 점이 무엇인지, 지금까지 12년간 어떤 작업을 했고 중간중간에 어떤 결과물을 만들었는지 돌아보면서, 느꼈던 아쉬움과 제가 목표로 하는 지점이 어딘지에 대해 이야기할 예정입니다.
일시 – 2018년 11월 30일(금요일), 저녁 6:30 ~ 9:00
장소 – 서울시 종로구 청계천로 159 세운상가 5층 561호
Social Game Party on Mar. 2010 - Webgame Apocalyps Postmortem영욱 오Flowgamez Corp is a small game development team of 6 people that developed Apocalyps, a web browser based role playing game, over 7 months. Apocalyps uses Flash ActionScript 3 and was released in closed beta in December 2009 and fully launched in January 2010. While the small team size and focus on continuous testing were strengths, the game was criticized for opening too early without using a more popular development framework and for not being a strategy-based game.
2. 발표자 소개
오영욱
2006~2008 C++
2008~2009 C++
2009~2011 Flash ActionScript, Java
2011~2013 LUA, Java, Obj-C
2013 Unity, C#
2014~2015 Obj-C, Javascript
2016 Unreal Engine 4, C++
3. 목차
1. 이 세션에서 다루는 내용
2. 개인적인 개발 스타일
3. 버그와 만났을 때
4. 버그 탐색 전략
5. 블루프린트 디버깅 트릭
6. Visual C++ 와 함께 하는 C++ 디버깅 트릭
7. UE4의 엔진코드를 살펴보는 방법
8. 기타 팁들
9. 그 외
10.정리
4. 1. 이 세션에서 다루지 않는 것들
1. 유닛테스트와 테스트 주도 개발
2. 아주 복잡한 버그에 관한 해결책 (멀티쓰레드등의 발생 시점을 특정하지
못하는 버그들)
3. 어셈블리 디버깅 - “NDC2014의 사례로 배우는 디스어셈블리디버깅”
4. 페어프로그래밍을 통한 버그 탐색
5. 모바일 환경에서 디버깅
6. 버그를 만들지 않는 방법
7. 버그가 실제 제품에 딸려가지 않게 하는 방법
8. 곰돌이 인형 디버깅
5. 1. 이 세션에서 다루는 것들
1. 개발하다 막혔을 때 해결 방법
2. 기초적인 UE4의 디버깅 툴들 사용방법
3. UE4에서 제공하고 있는 로깅 방법
4. Visual Studio로 코드에 브레이크포인트를 걸어 데이터를 살펴보기
5. 소소한 디버깅 트릭
11. 1. 컴파일이 되지 않는다.
2. 실행하면 죽는다.
3. 뭔가 의도한대로 동작하지 않는다.
4. 왜 안 되는지 모르겠다.
5. 하라는 대로 했는데 되지 않는다.
6. 왜 돌아가는지 모르겠다.
7. 어디서부터 봐야 할지 모르겠다.
8. 되던 것이 갑자기 안되기 시작했다.
이러한 걸 해결하는 것들을 다룹니다.
24. 해당 상황에 대해 검색을 합니다.
(지구상의 누군가가 이미 같은 문제를 겪었을 확률이 높습니다.)
자신이 겪는 문제를 가능하면 영어로 만들어서 검색하세요.
처음엔 키워드 만으로 충분합니다. 많이 해봐야 늡니다.
문법이 맞지 않아도 구글이 알아서 고쳐서 검색해줍니다.
EX) 브레이크포인트가 동작을 하지 않아요. – breakpoint not working
56. 에디터에서는 테스트하기 힘든 문제들의 테스트 환경 구축
• 플레이에서 독립형 게임으로 실행함
• 고급세팅 – 에디터 개인설정의 레벨에디터 – 플레이에서는 독립형게임(stand alone play)
에서 추가 파라미터를 넣을수 있음. –log 를 넣어 로그 창을 여는 것을 권함.
• Batch 파일(.bat)을 만들어서 에디터에서 바로 맵을 실행할수 있음.
• 게임과 마찬가지로 서버, 리슨서버, 클라이언트, 시작 map 파일 설정을 할수 있음.
• "_ue4_folder_UE4Editor.exe " _projectname_.uproject" _map_.umap -log
57. 다른 사람들이 만든 코드들을 검색할 때
• 특히 로그 나오는 것 어디서 찍는지 볼 때
69. 1. 에러메세지를 읽자
2. 검색을 잘 하자
3. 로그를 잘 남기자
4. 테스트에 친화적인 환경을 구축하자
1.반복하는 시간을 단축하기 위해 배치파일등을 활용
2.디버그에 사용할 키 이벤트 등을 준비해서 재현을 바로바로 할 수 있도록 함
5. 혼자 붙들고 죽지 말자
이현승님의 NDC 2016 –
프로그래머를 괴롭히는 Unreal Engine 4의 함정들을 같이 보세요.
http://ndcreplay.nexon.com/NDC2016/sessions/NDC2016_0069.html
70. 사용된 이미지들
알라딘 굿즈 마션 첫문장 머그컵
Don’t Panic Outer Space The Hitchhikers Guide To The Galaxy
https://www.walldevil.com/9334-don39t-panic-outer-space-the-hitchhikers-guide-to-galaxy.html
언리얼 엔진 4의 디버깅 관련 공식 문서
블루프린트 디버깅 : https://docs.unrealengine.com/latest/KOR/Engine/Blueprints/UserGuide/Debugging/index.html
PPT 작성에 도움을 주신 김주석님과 황선하님께 감사드립니다.