본문 바로가기

관리/운영

각 '엔진'별 개발 로드맵에 대해 안내합니다.

Hide_D2022.06.04 12:25조회 수 782추천 수 1댓글 1

    • 글자 크기

잡담방에 오래 계셨던 분들은 아시겠지만, 제가 개발 진척에 대해 이야기하면서 '무슨무슨 엔진' 이름을 붙여서 관리하고 있었던 것을 알고 계실 것입니다.

 

늦었지만 제가 내부적으로 구분지어둔 엔진 별 개발 로드맵에 대해서 안내합니다.

(모두가 알아들을 수 있게 쓴 내용은 아닙니다)

 

어디까지나 개략적인것이라 실제 구현 과정에서 세부항목이 사라지거나, 구현 시점이 바뀔 수 있습니다.

또한 게임 내부 엔진에 대한 것이라 게임 내 컨텐츠와는 크게 관련이 없기도 합니다.

 

 

(엔진의 작명은 제 모교의 어떤 비공식적 작명법에 따왔습니다)

 

1. 신엔진

신엔진은 기존의 유기체 서버의 코드에 동일한 코드가 비슷하지만 살짝 다른 형태로 퍼져있는 코드를 집중하는 것을 목표로 합니다.

프론트 엔드도 수정하지만, 백엔드가 바뀌면서 대응해야하는 코드만 코치는 것으로 한정합니다.

 

(1) 신엔진 1차 - 전투엔진 재 구현

- 전투에서 도시(WarUnitCity), 장수(WarUnitGeneral)를 같은 개념(WarUnit)으로 정리

- 전투시 코드 내 side-effect(DB 관점에서) 제거, 변경된 내부 상태는 전투 종료 후 일괄 반영

  - 전투 시뮬레이터의 호출 경로와 실제 전투의 호출 경로가 동일해짐

- 전투와 관련하여 트리거 엔진을 만들어 병종/도구/특기별로 확장할 수 있도록 준비

 

(2) 신엔진 2차 - 장수, 커맨드 객체화, 트리거 엔진 구체화

- 장수를 General 클래스로 추상화

   - 변경된 내부 상태는 처리 후 일괄 반영

- 커맨드, 아이템 등을 클래스로 추상화

   - opcode(숫자)에서 클래스명으로 변경, 호출 규격도 json을 활용

   - 아이템을 클래스로 추상화

   - 유효 여부를 사전에 검증

   - 사용 가능한 항목을 GameConst / Scenario에 지정

- 전투 뿐만 아니라 각각 세부 행동에 따라 트리거 엔진을 만들어 각기 다른 효과를 부여할 수 있도록 제어

 

2. 신신엔진 - 프론트엔드 대 개편, 모바일 대응

신신엔진은 유저 UI/UX에 집중합니다.

데스크탑/모바일 두 곳에서 같은 기능을 제공하는 것을 원칙으로 하면서, 기존 삼모전보다 개선된 플레이 경험을 갖게 하는 하는 것을 목표로 합니다.

 

(1) 신신엔진 1차 - Vue3 전역 적용

- 프론트엔드의 가능한 모든 페이지에 Vue3, TypeScript를 적용합니다.

  - 기존 페이지 규격에 맞게 MPA(Multi-Page Application)로 개발합니다.

- 커맨드 입력기를 새로 작성합니다.

   - 복잡한 명령을 가능한 쉽게 할 수 있도록 제안합니다.

- 게임 핵심 시스템 외의 영역이던 베팅, 설문조사, 토너먼트, 경매를 재설계합니다.

- 모바일용 모드를 제안합니다.

- 게임 기능을 단일 API 호출 경로로 통합합니다.

<글을 작성하는 시점에서 현재 위치>

 

(2) 신신엔진 2차 - SPA

- 여러 페이지를 하나의 entrypoint로 통일합니다.

- 1차에서 적용해두었던 각종 컴포넌트를 다양한 메뉴에서 호출할 수 있도록 UX를 개선합니다.

- 모바일 / 데스크탑을 단순 2종류 모드를 넘어서 사용하기 쉽게 최적화합니다.

 

3. 신신신엔진(삼신엔진) - 서버 데몬

다시 백엔드를 작업하여 실제 '진짜' 게임 서버와 유사한 느낌이 나도록 개선합니다.

 

(1) 신신신엔진 1차 - 서버 데몬화

- 프론트엔드(vue), 미들엔드(api 처리부), 백엔드(서버 데몬)로 분리합니다.

- 백엔드의 DB 쿼리 등을 비동기 처리로 변경합니다.

- API 호출에서 즉시 응답이 아닌 경우(롱폴링, Push)에 대응할 수 있도록 설계를 개선합니다.

- 서버간 접속을 현재의 세션 공유 방식에서 별도의 token 인증 방식으로 변경합니다.

- invalidate 응답이 올 경우 프론트엔드를 다시 그릴 수 있도록 개선합니다.

 

(2) 신신신엔진 2차 - 실시간 응답화

- 턴 실행, 환경 변경, 새 메시지를 실시간으로 수신할 수 있도록 개선합니다.

- 변경된 결과에 대해 전체 리프레시 없이 최소한의 화면만으로 대응할 수 있도록 개선합니다.

- '갱신' 버튼을 제거합니다.

- 가능하다면 websocket 등 효율적으로 처리할 수 있는 별도 api 체계를 추가합니다.

 

4. 신신신신엔진(사신엔진) - '앱'

- PWA가 되도록 개선합니다.

- 스마트폰 사용자에게 앱 푸시를 제공합니다.

- PHP 백엔드를 완전히 날리고 TypeScript나 기타 언어로 이식합니다.

- 진짜로 게임 같아보이도록 UI/UX를 다시 구성합니다.

- 1.0 버전입니다.

    • 글자 크기
(이벤트 깃수) 2만포인트 지급완료 (by Hide_D) 각 '엔진'별 개발 로드맵에 대해 안내합니다. (by Hide_D)

댓글 달기

댓글 1
번호 분류 제목 글쓴이 최근 수정일 날짜
공지 관리/운영 60기 이벤트 이후 당분간 추가 기능 류의 작업이 늦춰집니다.6 Hide_D 2023.10.30 2023.08.02
60 관리/운영 75기 이벤트 깃수 안내 (수정3)1 Hide_D 2024.09.19 2024.09.17
59 관리/운영 블랙홀 게시판을 신설합니다.4 Hide_D 2024.06.08 2024.06.08
58 관리/운영 슈퍼블루문님께 경고합니다.1 Hide_D 2024.06.08 2024.06.08
57 관리/운영 제재 요청에 대한 결과를 안내드립니다.9 Hide_D 2024.06.11 2024.06.07
56 관리/운영 게시판에서 "댓글 허용"을 항상 허용 처리합니다. Hide_D 2024.06.02 2024.06.02
55 관리/운영 특정 유저에 대한 제재 요청이 들어와 조사를 시작합니다.4 Hide_D 2024.06.02 2024.06.02
54 관리/운영 빙의 후 해제 기간을 이용한 어뷰징을 금지합니다.2 Hide_D 2024.06.02 2024.06.02
53 관리/운영 70기 이벤트 깃수 안내(수정5)2 Hide_D 2024.05.23 2024.05.21
52 관리/운영 65기 이벤트 깃수 안내 (12-27 수정 3)10 Hide_D 2023.12.27 2023.12.26
51 관리/운영 60기 이벤트 깃수 안내 (수정 08-08)5 Hide_D 2023.08.07 2023.08.06
50 관리/운영 55기 이벤트 깃수 안내(수정2)5 Hide_D 2023.03.17 2023.03.16
49 관리/운영 이벤트 깃수 컨셉 구상안(초 고전맵)입니다.2 Hide_D 2023.03.16 2023.03.13
48 관리/운영 자주 묻는 질문 란을 추가했습니다.1 Hide_D 2023.02.24 2023.02.20
47 관리/운영 신규/복귀 유저 유산 포인트 소급 지급했습니다. Hide_D 2022.12.02 2022.12.02
46 관리/운영 50기 랜덤 건국 & 랜덤 장수명 & 랜덤 아이템 깃수 안내 (수정1)11 Hide_D 2022.11.01 2022.10.24
45 관리/운영 체섭 오픈일 기준을 변경합니다.3 Hide_D 2024.01.27 2022.09.05
44 관리/운영 서버 불량으로 복구 작업이 있었습니다. (상세 설명 포함)8 Hide_D 2022.07.27 2022.07.24
43 관리/운영 테스트4 Hide_D 2022.08.01 2022.07.23
42 관리/운영 (이벤트 깃수) 2만포인트 지급완료 Hide_D 2022.06.11 2022.06.09
관리/운영 각 '엔진'별 개발 로드맵에 대해 안내합니다.1 Hide_D 2022.06.05 2022.06.04
첨부 (0)