🧼C, C++/공지및 삽질

C언어 프로젝트 [ 2020 ] #4

Mawile 2020. 10. 16.
728x90

지난 글

 

C언어 프로젝트 [ 2020 ] #3

현재 프로젝트는 이정도완성했습니다 힘드네욤......ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 배고파~~~............... 앞으로 <<추가할 것>> >> 피아노연주기능 만들기 >> 레지스트리관련기능 만들기 >> 상단아이�

mawile.tistory.com


 

 

 

 

이제 올해 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번째 클라이언트의 데이터가 동시에 동기화되야함, 근데 방금 머릿속으로 글 쓰면서 생각했는데

될 것 같음)))

 

클라이언트들은

각자의 개성에 따라 캐릭터를

커스터마이징 할 수 있습니다.

 

 

 

특정 클라이언트가 가진 아이템, 인벤토리 내용도

로그인 직후 서버로부터 불러와서

이어서 할 수 있습니다!

728x90

댓글