본문 바로가기

전체 글42

퀘스트 시스템 구상 및 설계 팀 프로젝트 2차 마일스톤 중 한가지인 퀘스트 부분을 처음부터 설계 해볼 것이다. 첫번째 퀘스트는 어느시점에 등장하는가?만렙이 20이라는 가정하에1렙,5렙,10렙,15렙 순으로 퀘스트 발생하게 할 것이고채팅 알림이나 메세지 큐로 퀘스트가 발생했다고 알림을 줄 것이다. 퀘스트 내용은 간단하게레벨 1일때 1성 던전에서 몬스터 5마리 잡기 보상 - 경험치 200, 골드 1000레벨 5일때 2성 던전에서 몬스터 10마리 잡기보상 - 경험치 600 골드 3000레벨 10일때 3성 던전 20마리 잡기보상 - 경험치 1000 골드 5000레벨 15일때 4성 던전 30마리 잡기보상 - 경험치 1500 골드 10000 위 모든 퀘스트를 하면 최종 던전인 버그 둥지에 입성 가능하고 최종 퀘스트인 보스 몬스터 잡기 가 발생.. 2024. 8. 8.
아키텍처 설계 먼저 게임 설계 하기에 앞서 어떤 게임의 장르를 목표로 두고 설계를 할지 정해야 합니다 요즘 바빠서 게임도 못하는데 게임을 하게 되면 힐링게임을 하고 싶어서 힐링게임의 대표인 동물의 숲을 목표로 두고 라이프 시뮬레이션 게임을 설계할 것입니다. 먼저 게임 컨셉, 아이디어 디자인 그리고 메커니즘 시스템 (재화) 이런 걸 다 2순위로 제쳐두고 인터페이스 UI , UX 부분프로토타입 이동 상호작용 아이템 사용등의 기본 메커니즘을 구현하고초기 플레이 테스트를 통해 피드백을 수집하고 개선해 나갈 것입니다. 아키텍처 부분을 설계하자면 클라이언트 - 서버 아키텍처라이프 시뮬레이션 게임에서는 클라이언트 - 서버 아키텍처가 일반적입니다.멀티플레이어 기능을 지원하고 데이터의 일관성을 유지하는데 유리합니다. 클라이언트 : 플.. 2024. 8. 6.
패킷 타입 명세서 작성 이번에 웹소켓을 활용하여 패킷을 전달하는 과제를 진행하게 됐다 서버와 통신하는 클라이언트 객체는let serverSocket;multi_game.js 및 multi_game2.js에 serverSocket이라는 웹 소켓 객체가 있다.  패킷 명세 가이드 라인 handlerId 필드 → packetType 필드로 바꼈기 때문의 핸들러이벤트 아이디는 패킷타입으로 넘겨주게 되는데 이때 우리가 사용하는 패킷들의 명세가 필요하다. 그걸 프로토콜버퍼 파일에 정리를 해두는데 오늘은 그걸 정리하여 전체 파일 코드를 볼 것이다. 먼저 데이터 베이스 테이블의 컬럼 데이터 타입과 패킷 명세서의 데이터 타입이 일치해야한다. 예를 들어 user 라는 테이블의 userId 의 데이터 타입이 string 이라면 패킷 파일에서도 u.. 2024. 7. 15.
멀티플레이 - 클라이언트 서버 클라이언트 설정 NetworkManager.cs ip, 포트, device id 입력 필드와 ui 알림을 위한 변수 선언ui 요소와의 수동 연결을 설정ip 와 포트를 확인하고 서버에 연결tcp 클라이언트를 사용해 서버에 연결패킷을 직렬화 하고 서버로 전송서버로부터 데이터를 비동기적으로 수신수신된 데이터를 처리 하는 순으로 되어있다.  using System;using System.Buffers;using System.Collections;using System.Collections.Generic;using System.Net.Sockets;using System.Text;using System.Threading.Tasks;using UnityEngine;using UnityEngine.UI;public .. 2024. 7. 11.