posted by REDFORCE 2017. 7. 7. 09:48

최근 제작하고 있는 자체엔진 기반의 맵툴(Maptool) 입니다.



WinAPI와 DirectX를 조합하여만들고 있는 자체 2D엔진을 기반으로 하여 제작하고 있습니다.


아이소매트릭 기반 타일시스템을 주로 사용하며

일반적인 Rectangle이나 다각형도 가능하도록 만들고 있습니다.

(다각형은 아직 미지원)


제가 만든 엔진의 파일 시스템을 이용해서

타일 이미지를 쉽게 넣고 뺄 수 있도록 제작되어있고, 아틀란타같은 타일 세트를 딱히 만들지 않아도 알아서 타일 이미지 정보를 가져오도록 되어있습니다.


(지정 된 리소스 폴더에 넣어두기만 하면 알아서 불러와요!!)


엔진 디버그를 이용해서 메모리 사용량이나 CPU 사용량에 대한 부분은 엔진차원에서 확인 할 수 있는 시스템을 만드는 중이라 좌측 위 cpu정보는 출력 되지 않고 있습니다.


그외에 월드 타임을 이용하거나 애니메이션 타일을 위한 tickstep을 지원하는 맵툴입니다.


주요 UI(필자는 Viewer로 부르는 중)는 


1. StatsViewer : 엔진과 기타 카메라/마우스 좌표 정보들을 출력

2. ControlViewer : 각종 버튼 아이콘

3. MinimapViewer : 미니맵

4. LogViewer : 각종 실행 정보를 담고있는 Log 박스

5. TileMapViewer : 엔진을 통해 불러온 타일 목록 출력

6. ObjectControlViewer : 레이어나 오브젝트에 대한 정보를 셋업하는 컨트롤 뷰어


가 있습니다.


이렇게 적고나니 몇개 안되긴하는데...


실제 코드로는 몇천줄을 짰던거 같은데 뭔가 블로그에 이렇게 적으면서 보니 허무하다는 생각도 조금 드네요.



현재 위 맵툴 프로젝트는 4명이서 제작중인 2D RTS 전략게임의 전투맵을 위한 맵툴입니다.


제 PC 기준으로(적당적당한 사양....?) 128x128(16384개) 타일을 만들 때 60Fps 정도의 퍼포먼스가 나오고 격자 정보를 미 출력시에는 퍼포먼스가 더 올라가는 것을 확인했습니다.


아마 최적화만 좀 더 하면서 코드를 개선하면 256x256(65536개) 타일도 충분히 지원할 것 같군요.


기본적인 세이브/로드/리셋/디버그 모드(격자 미출력)/종료 기능이 제공되고있고

그 외...맵을 만들기 위한 레이어나 타일 선택기능들은 다 구현이 되어있습니다.


하루 빨리 이걸로 제작한 맵에서 전투가 벌어지는 걸 보고싶네요.




빨간색 박스(우측 상단 타일 그림 리스트) 가 타일 목록들이 보여지는 컨트롤러 입니다.





그 아래에 있는 타일 정보에 대한 오브젝트 컨트롤러는 타일의 레이어나 프리 포지션(자율 위치)로 지정할 수 있게 해주는 컨트롤 내용들이 담겨 있습니다.




제작 중인 게임에 대한 프로젝트는 아래 github - 링크에서 코드를 확인할 수 있습니다.


https://github.com/redforce01/SephyEngine/tree/Jaejun-Kim





posted by REDFORCE 2017. 7. 3. 12:13

의욕 상실로 코딩이 손에 안잡힐 땐


역시 음악을 들으면서 다시 마음을 가다듬는게 최고인 것 같군요.



몇 주간 정말 코딩하기 귀찮다~ 하면서 


그래도 까먹기전에 다시 키보드를 두둘겨패보자



는 심정으로 키보드를 잡다가 비쥬얼스튜디오 킨지 5분만에 다시 의욕 상실했다가


에라..유투브에서 음악이나 듣자하면서 우연히 들은 아래 음악이


저에게 다시 코딩할 의욕이 생기게 해줬네요.


음악은 그냥저냥...취향탈 수도 있고.....애니 음악들이라 사람에 따라 그럴 수도 있습니다..하핫;;


암튼 저는 그냥 듣기 좋았어요.



CROWSCLAW Music Compilation ~ Blue Essence Guitar



posted by REDFORCE 2017. 6. 14. 15:05

예전에 공부하면서 만들어보았던


상점과 인벤토리(콘솔) 입니다.




정말 추억이 새록새록...(그러나 관심은 짤방에만 있다...)



'Programming > C++' 카테고리의 다른 글

[C++]바이트에서 1인 비트의 개수 세기  (0) 2017.09.15
[C++]나눗셈을 피해서 연산하자  (0) 2017.09.04
[C++]High/low/Seven  (0) 2017.06.14
[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 14:06

간단한 하이로우세븐 콘솔 게임입니다.


하이로우세븐 게임 룰 자체는 설명안하겠습니다.



코드도 그렇게 어려운건 없어서...


단순하게 랜덤하게 나온 값을 토대로 조건문으로 검사하는 것뿐...


(어딘가에 좋은 짤방이 없나...)



'Programming > C++' 카테고리의 다른 글

[C++]나눗셈을 피해서 연산하자  (0) 2017.09.04
[C++]상점/인벤토리 만들기(콘솔)  (0) 2017.06.14
[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
[C++]간단한 별찍기  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 14:02


콘솔기반의 간단한


배팅을 이용한 도박 게임입니다.



상대방의 카드보다 값이 높으면 졌었는지 이겼는지 기억이 안나네요.


하하....(땀땀)...



'Programming > C++' 카테고리의 다른 글

[C++]상점/인벤토리 만들기(콘솔)  (0) 2017.06.14
[C++]High/low/Seven  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
[C++]간단한 별찍기  (0) 2017.06.14
[C++]Console Bingo(빙고)  (1) 2017.06.14
posted by REDFORCE 2017. 6. 14. 13:57

간단한 숫자 퍼즐 게임입니다.


숫자를 ☆자리와 스왑해서 모든 숫자를

1,2,3,4,5

6,7,8,9,10

11,12,13,14,15

16,17,18,19,20

21,22,23,24,25


로 맞추면 이기는 퍼즐 형식입니다.

 



'Programming > C++' 카테고리의 다른 글

[C++]High/low/Seven  (0) 2017.06.14
[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 별찍기  (0) 2017.06.14
[C++]Console Bingo(빙고)  (1) 2017.06.14
[C++]주민등록번호 생성기  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 13:52



좌에서 우로 우에서 좌로 하나씩 증가/감소 하면서 별 찍는 간단한 코드 입니다.


요즘 뭔가 어디서쓸만한 짤방없나 계속 찾아보고있는데


마음에드는게 없네요...(시무룩)



'Programming > C++' 카테고리의 다른 글

[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
[C++]Console Bingo(빙고)  (1) 2017.06.14
[C++]주민등록번호 생성기  (0) 2017.06.14
[C++]문자열 거꾸로 만들기  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 13:30



간단한 콘솔 기반 빙고 게임입니다.


셔플을 활용해서 숫자를 섞어서 넣고 출력하는게 포인트였던..


= _=지금보면 새록새록한 추억이군요.



'Programming > C++' 카테고리의 다른 글

[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
[C++]간단한 별찍기  (0) 2017.06.14
[C++]주민등록번호 생성기  (0) 2017.06.14
[C++]문자열 거꾸로 만들기  (0) 2017.06.14
[C++]간단한 strlen, strcmp, strcat, strcpy, strtok  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 12:35


간단히 생년월일과 성별을 입력받으면 주민등록번호를 생성해주는 코드 입니다.



'Programming > C++' 카테고리의 다른 글

[C++]간단한 별찍기  (0) 2017.06.14
[C++]Console Bingo(빙고)  (1) 2017.06.14
[C++]문자열 거꾸로 만들기  (0) 2017.06.14
[C++]간단한 strlen, strcmp, strcat, strcpy, strtok  (0) 2017.06.14
[C++]간단한 야구 게임  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 11:54


문자열 거꾸로 만드는 코드입니다.


그냥...단순하게 문자열 사이즈 반띵해서 앞뒤로 바꿔주면 끝.