부트캠프 (42) 썸네일형 리스트형 게임 구상안 2 게임룰0. 게임시작이 플레이어는 랜덤한 방에 배정됩니다.1. 플레이어는 매 턴마다 카드를 1장씩 지급받는다.2.게임에는 여러가지 함정카드가 있으며 특정 오브젝트에 카드를 사용하거나 플레이어에게 직접 사용할수도 있다.3. 인원수 :4~74. 개인전5. 플레이어는 게임을 시작할때 랜덤하게 본인의 순서를 배정받으며 서로의 순서를 알 수 없다.6. 플레이어는 순서대로 자신의 턴마다 오브젝트룸으로 이동해 카드를 사용할 수 있다.7. 카드는 함정 , 행동 , 카운터 라는 종류의 카드가 있다.8. 게임에는 낮과 밤이 있고 카드를 사용한 결과는 밤에 결정된다.9. 낮이되면 모든 유저의 현재 상태가 공개되고 메인홀에 모여 대화를 나눌 수 있다.밤이되면 다시 가려진다. ( 여기서 상태 = 현재 보유 카드 개수)10. 낮 .. 1차 기획안 제목임시 제목장르3D 플랫포머 퍼즐 어드벤처목적Node.js와 TCP 통신을 이용하여 멀티플레이 게임 구현콘셉트캐릭터약간 우스꽝스럽고 모자란 느낌의 캐릭터들...마을중세시대 마을 던전숲이나 뭐 대충 야외...프롤로그동네 바보 5명이서 우연히 선술집에서 공주가 납치됬는데 구해다 주면 엄청난 보상이 있을거라는 소문을 듣고 공주구하러가는 그런 스토리....주요 기능캐릭터 선택 (외형만)위치 동기화캐릭터 애니메이션 연출상태 동기화기믹 구현채팅● 캐릭터 선택개요캐릭터 선택기능은 플레이어가 자신의 취향에 맞게 캐릭터를 선택하여 다양한 외형의 캐릭터로 게임을 플레이할 수 있습니다. 캐릭터를 마음껏 변경할 수 있습니다.상세 기능 설명캐릭터가 선택되는 순간 캐릭터의 기본 외형이 실시간으로 미리보기 화면에 표시됩니다.확.. 게임 구상안 1 장르카드 + 강화 + 눈치게임 게임 룰 구상 1. 각각의 유저에게는 10장의 카드와 10의 체력이 주어진다. 2. 게임시작시 10분의 시간이 주어지고 이 시간동안 유저는 카드를 선택하여 강화할수있음 3. 10분뒤 특정한 장소? 혹은 좌표? 로 이동4. 총 10번의 턴 동안 각각의 유저는 카드를 뒤집어서 제출5. 카드의 강화수치가 높은 쪽이 승리하며 "패배유저 카드 공격력 - 승리유저 카드 공격력" 만큼 유저의 체력이 깎임6. 여기서 각각 유저는 "2번 카드의 공격력을 거짓으로 말할수있으며" "마찬가지로 2번 거짓간파를 사용할수있음"거짓을 간파하지 못했다면 그 거짓말한 공격력으로 턴을 진행 , 거짓임을 간파했다면 간파당한 유저는 "간파당한 유저카드의 공격력 - 거짓말한 공격력" 만큼의 피해를 받는다.7.. 타워 디펜스 온라인 1 트러블슈팅 데이터베이스 테이블 생성 참조 에러 트러블 슈팅 문제상황게임 종료시 기록을 저장하기 위한 데이터 테이블을 생성해야하는데 유저의 정보는 user_db에 있으므로 게임기록은 record_db에 넣어주려 했지만 마이그레이션 실행시 알수없는 에러가 발생함 참조에러 현제 데이터베이스 테이블에서 user를 참조할수 없다는듯하다.//user_db.sql 테이블 생성코드CREATE TABLE IF NOT EXISTS user ( id INT(11) AUTO_INCREMENT PRIMARY KEY userId VARCHAR(255) NOT NULL UNIQUE, email VARCHAR(255) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, .. 멀티플레이 트러블 슈팅포트번호 5555 에러 트러블 슈팅포트번호 5555로 접속하기를 시도할 경우 별다른 연결 완료/게임시작 로그등이 뜨지만 게임 화면은 그대로 멈추는 현상이 발생했다. 포트설정이 잘못된건가 싶어 .env부터 체크//.envHOST =127.0.0.1PORT=5555CLIENT_VERSION = 1.0.0//env.jsimport dotenv from "dotenv";dotenv.config();//서버정보export const HOST = process.env.HOST || "localhost";export const PORT = process.env.PORT || 5555;export const CLIENT_VERSION = process.env.CLIENT_VERSION || "1.0.0";아.. 멀티플레이 게임 파일 구조 이해 server.js ⇒ 서버 띄우는 용constants ⇒ 상수 ,패킷타입 정의 폴더env.js ⇒ 선언한 환경변수를 한번에 관리하는 파일//환경변수 관리import dotenv from "dotenv";dotenv.config();//서버정보//왼쪽은 .env데이터 오른쪽은 defalut값export const HOST = process.env.HOST || "localhost";export const PORT = process.env.PORT || 5555;export const CLIENT_VERSION = process.env.CLIENT_VERSION || "1.0.0";//DB정보export const DB_NAME = process.env.DB_NAME || "user_db";export co.. 프로토콜 , 로드밸런싱 , 헬스체크 전송 계층 프로토콜전송 계층 프로토콜은 컴퓨터 네트워크에서 데이터 전송을 관리하고 제어하는 역할을 하는 프로토콜입니다. 주로 TCP/IP모델의 전송 계층에 해당하며 두 가지 주요 프로토콜로 TCP(전송 제어 프로토콜) , UDP(사용자 데이터그램 프로토콜) 이 있습니다.*TCP/IP : 컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트입니다.TCP는 연결 지향 프로토콜로 데이터 전송 전에 송신자와 수신자 간의 연결을 설정합니다. 이 때문에 신뢰성이 높고데이터 전송 여부를 확인하며 손실된 패킷은 재전송합니다. 이를 통해 데이터의 무결성을 보장합니다. 또한 TCP는 흐름 제어 기능이 있어 송신자의 전송 속도가 수신자의 처리 속도를 초과하지 않도록 조절합.. protobufjs 사용법 프로토콜 버퍼 정의 파일을 작성한다.//person.proto파일syntax = "proto3";//메시지 타입 정의message Person { string name = 1; int32 id = 2; string email = 3;}//기본형식(키워드) (이름) { 타입 변수명 = 값}프로토콜 파일을 로드import protobuf from 'protobufjs'protobuf.load("person.proto").then(root=>{//'person.proto' 파일을 로드한다.const Person = root.lookupType("Person")//'Person' 메시지 타입을 'root' 객체에서 찾는다. 이는 person.proto파일에서 정의한 메시지 타입임const message =.. 이전 1 2 3 4 ··· 6 다음