🧼C, C++/공지및 삽질
C언어 프로젝트 [ 2020 ] #4
지난 글
이제 올해 2020년도 최종 프로젝트인
(원래는 오리지널 C++로 만든 미니게임 듀얼이었지만
오류가 발생해서 옮김, 근데 그 오류 지금은 다 고쳤음..ㅋㅋㅋㅋㅋㅋㅋㅋ
멀 티쓰 레딩 제어에 관한 오류입니다~)
파이썬과 C++ 기반의 트로이목마 Botnet종류의 바이러스 프로그램 " codeNet " 이 90% 완성되었습니다
다음 프로젝트 계획을 벌써 짰는데
다음 프로젝트는 역시나 저가 좋아하는 소켓을 이용한
C++ 기반의 콘솔 온라인 rpg게임을 만드는 것입니다!!!!(오예~~~)
[[[ 프로젝트 제목 ]]]
미정(아직 정하지 않음)
2020.11.16수정 - 드래곤온라인
[[[ 프로젝트 예상기간 ]]]
2020.11~2021.2
[[[ 언어 ]]]
C++11
(서버 관리 쪽은 Python이랑 C++ 연결해서 UI로
컨트롤할 수 있게 하려는데 거기까진 생각 안 함)
[[[ 사용될 알고리즘 및 메커니즘 ]]]
2차원 배열
>> rpg맵 제어
멀티스레드(thread, mutex, atomic)
>> 실시간 동기화
소켓 (멀티 클라이언트, 구조체 전송, 파일 전송)
>> 여러 명의 유저 제어, 회원정보관리, 클라이언트 게임 데이터 송수신
파일 입출력(FILE구조체 및 ifstream, ofstream)
>> 회원정보 및 게임 데이터 관리
파일 암호화
>> 클라이언트 측에서 치트 사용을 방지(데이터 경로를 알아도 변조 불가능)
API
>> 게임의 디자인 및 디테일 개선
C언어-파이썬 연결(DynamicLinkLibrary)
>> 서버 측 클라이언트 회원정보 및 게임 데이터를 UI로 관리
어때요 저가 블로그에다가 다 포스팅해 논 내용이죠?
멀티스레드 부분은 추후에 업데이트할 거예요!
[[[ 프로젝트 설계 ]]]
(매뉴얼)
먼저 로그인과 회원가입 기능으로
유저마다 고유의 로그인과 회원정보에 따라서
서로 다른 데이터를 가지고 있습니다.
(클라이언트 데이터는 서버의 데이터베이스에 보관)
먼저 클라이언트 측에서 로그인을 하면
그 아이디에 맞는 회원정보를
서버로부터 불러와서
클라이언트 측에서 게임 데이터를 이어서 할 수 있습니다.
만일 클라이언트 측에서 게임 데이터를 불러올 수 있는
데이터 저장 파일을 안다고 해도 암호화로 변조 불가능
(인게임)
인게임 내에서는 멀티쓰레딩을 통해
실시간으로 다른 클라이언트의
움직임이 동기화되고
(((이 부분은 아직은 마스터하지 않음
왜냐면 이 부분은 서버와 클라이언트 간의 통신이 아닌,
클라이언트와 클라이언트 간의 통신이기 때문에
중간에 서버가 매개체가 돼서 송수신 데이터를 연결해줘야 함
예를 들어 0번째 클라이언트의 데이터와 1번째, 2번째 클라이언트의 데이터가 동시에 동기화되야함, 근데 방금 머릿속으로 글 쓰면서 생각했는데
될 것 같음)))
클라이언트들은
각자의 개성에 따라 캐릭터를
커스터마이징 할 수 있습니다.
특정 클라이언트가 가진 아이템, 인벤토리 내용도
로그인 직후 서버로부터 불러와서
이어서 할 수 있습니다!
'🧼C, C++ > 공지및 삽질' 카테고리의 다른 글
C++ 드래곤온라인 프로젝트 근황 #0 (0) | 2020.11.16 |
---|---|
codeSock <2.0> 개발일지 C++ (0) | 2020.11.11 |
C언어 프로젝트 [2020] #3.5 (0) | 2020.10.07 |
C언어 프로젝트 [ 2020 ] #3 (0) | 2020.10.07 |
C언어 프로젝트 [ 2020 ] #2 (0) | 2020.10.04 |
댓글