4. 2019 iFunFactory Dev Day
시작하기 전에
• 개발용 데스크톱/랩톱 (Windows, macOS, linux)
• Visual Studio Code 1.38 이상 설치
• C++ 개발 환경, 원격 개발 환경 확장 기능 필요
• Linux 서버 혹은 가상 머신 (혹은 docker 인스턴스)
• 아이펀엔진 1.0.0-4320 (experimental) 필요
4
5. 2019 iFunFactory Dev Day
아이펀엔진
• Linux / Windows
• 게임 서버 프레임워크
• UE4, Unity, Cocos-X 지원
5
6. 2019 iFunFactory Dev Day
Visual Studio Code
• Microsoft 제작
• Windows / macOS / Linux 에서 동작
• 다양한 확장 기능 (프로그래밍 언어, 개발 도구, …)
• Linux 원격 개발 지원
6
19. 2019 iFunFactory Dev Day
패키징/배포하기
VS Code 상에서 패키징 실행
(터미널 → 작업 실행 → Packaging 선택)
19
20. 2019 iFunFactory Dev Day
아이펀엔진 패키징하기
VS Code 상에서 패키징 실행
(터미널 → 작업 실행 → Packaging 선택)
20
21. 2019 iFunFactory Dev Day
패키지 배포하기
• Ubuntu 의 .deb (APT 저장소) / Centos 의 .rpm (YUM 저장소)
• Aptly (.deb 배포 도구)
• createrepo (.rpm 배포 도구)
• 3rd 파티 서비스 - packagecloud.io
• 패키지를 이용해서 docker 이미지 생성 및 배포
• 직접 혹은 자동화된 프로세스로 필요한 서버에 배포
21
25. 2019 iFunFactory Dev Day
Demo 프로젝트 소개 - Pong
• Atari에서 1972년에 제작한 1:1 대전 아케이드 게임 따라하기
• Pong 게임의 로직에 더해서 아래를 제공:
• 유저 간 매치 메이킹
• 유저의 승/패 기록 저장
• 게임 승/패에 따른 랭킹 서비스 제공
• Facebook 인증으로 로그인
• 유저 수가 늘어도 게임 및 백엔드 서버가 수평 확장
25
29. 2019 iFunFactory Dev Day
프레임웍을 썼을 때 개발자가 할 일
• 클라이언트 인증에 사용할 서비스 선택 (Facebook, Google, …)
• 인증 서비스 연동은 프레임웍이 처리
• 랭킹의 형태 선택 (랭킹 종류, 동점자 처리 방식 선택, 리셋 주기, …)
• 랭킹 데이터 저장 및 동점 처리, 리셋은 프레임웍이 처리
• 매치메이킹 규칙
• 매치메이킹 과정, 매칭 후 게임 서버로 이동 등은 프레임웍이 처리
• DB에 저장할 데이터 구조 (ORM 구조)
• DB 연결, 샤딩, SP나 SQL query 호출은 프레임웍이 처리
• 네트워크 메시지를 정의하고, 메시지가 왔을 때 처리 로직 작성
29
35. 2019 iFunFactory Dev Day
요약
•Linux 서버 개발을 명령행 대신 VS Code를 써서
원격에서
•아이펀 엔진 + VS Code로 개발 진행
• 로컬 GUI + 원격으로 소스코드 편집
• 로컬 GUI 에서 원격 서비스 디버깅
• 패키지 생성 및 배포 준비
35
36. 경기도 성남시 분당구 대왕판교로 660, 유스페이스1 B동 606호
info@ifunfactory.com 070-4923-6566www.ifunfactory.com