본문 바로가기

전체 글9

[Unity] MaskTime 프로젝트 개발 기간 : 2020.12.11 ~ 2020.12.13 담당 포지션 : 프로그래머 사용 언어 : C# 사용 툴 : Unity 프로젝트 소개 - Unity로 개발한 비주얼 노벨 장르의 게임입니다. - 2020 인디게임위크엔드 게임잼에 참여하여 5인 팀으로 3일간 개발한 프로젝트입니다 개발을 하면서.. - 게임 내 Animation 기능 구현(캐릭터), Spine 애니메이션 연동을 위해 Spine Runtime 라이브러리 활용 - 현재 출력되는 대사에 맞게 배경, 애니메이션, 캐릭터 타입들을 Excel에서 파싱하여 적용되도록 구현 - 게임 사운드 기능 구현 - 여러 리소스와 애니메이션 타입들을 빠르게 검색하여 적용되도록 Dictionary와 Enum을 활용해 관리 플레이 영상 2020. 12. 14.
미로 생성 알고리즘(3) Recursive_Backtracking 이전 두 알고리즘 모두 간단하고 빠르게 구현이 가능한 알고리즘이였지만 알고리즘 자체의 한계로 미로가 편향적이고 일직선으로 뻥 뚫린 부분이 많았습니다. 그런 아쉬운 부분들을 조금 보안해줄 수 있는 새로운 알고리즘은 Recursive_Backtracking 알고리즘에 대해 알아보겠습니다. Recursive_Backtracking 또한 구현과 이해가 쉬운 알고리즘 입니다. 이전 알고리즘들에 비해 메모리 효율은 아쉬운 단점이 있습니다. 이는 알고리즘 설명과 함께 이어 나가겠습니다. 지난번 두 알고리즘처럼 왼쪽 위를 시작점으로 잡고 그림을 통해 알고리즘 로직을 살펴봅시다. (시작점이 어디든 상관은 없습니다) 먼저 시작 셀을 현재 셀로 저장합니다 (현재 셀은 파란색 셀 입니다.) 현재 셀의 이웃한 셀들중 하나를 랜.. 2020. 11. 9.
미로 생성 알고리즘(2) SideWinder Sidewinder 알고리즘은 지난번 Binary Tree와 비슷한 부분이 많습니다. 구현도 쉽고 빠르며 로직도 조금 유사하죠. 그림과 함께 sidewinder의 진행 과정을 살펴봅시다. 이번에도 왼쪽 위 (0,0)에서 시작합니다. 이제 현재 셀을 기준으로 오른쪽 또는 위로 뚫을지 랜덤 하게 지정합니다. 허나 현재 셀이 맨 위인지라 위를 뚫으면 안되므로 첫 번째 행은 전부 오른쪽으로 뚫어줍니다. 이제 현재 행의 왼쪽부터 오른쪽으로 뚫을지 말지를 랜덤 하게 정해줍니다. 오른쪽으로 뚫었다면 뚫은 셀을 기억하고 있어야 합니다. 랜덤 하게 정해진 값이 오른쪽으로 뚫지 않게 되면 위에서 기억하고 있는 셀들 중 하나를 지정해 위로 뚫어줍니다. 만약 현재 행에서 오른쪽으로 연속적으로 뚫어 총 3칸이 뚫렸다 했을 때 .. 2020. 10. 14.
미로 생성 알고리즘(1) Binary Tree 예전에 다양한 알고리즘들 중 미로 생성 알고리즘이 떠올라 몇 가지 알고리즘들을 알아보고 개발해보았습니다. window API를 활용해 진행하였고, 참고했던 자료와 알고리즘 자체가 쉬웠던지라 오랜만에 쓴 API 프레임 워크 수정 외에는 막힘은 없었습니다. 참고로 알고리즘들은 모두 아래 사이트에서 참고하였습니다. http://www.jamisbuck.org/mazes/ Maze Algorithms Maze Algorithms If you're interested in maze algorithms, I've written a book about the subject: "Mazes for Programmers". Check it out! The source code for these demos is freely.. 2020. 10. 8.
[C++]미로 생성 알고리즘 사용 언어 : C++ 사용 툴 : Window API 프로젝트 소개 - 3가지 미로 생성 알고리즘을 구현 - BinaryTree, SideWinder, RecursiveBacktracking 개발을 하면서.. - Window API를 간단히 활용해 개발 진행 - 간단한 Tile, Maze class를 생성하여 개발 - 미로 생성 과정이 보이도록 단계별로 렌더 - 각 알고리즘들마다의 장단점 분석 플레이 영상 github https://github.com/DeveloperKua/Algorithm_Datastructure/tree/master/Algorithm/Maze%20Generator_API DeveloperKua/Algorithm_Datastructure Study and Implementation o.. 2020. 10. 7.
DX12 3D 게임 프로그래밍 입문 연습문제 6장-2 해당 포스트는 DirectX12를 이용한 3D 게임 프로그래밍 입문 서적에 출제되는 각 챕터의 연습문제들에 대한 저의 풀이입니다. 문제가 간단하거나 설명 또는 증명과 같은 방식의 문제 또는 제가 해결하지 못한 문제들은 스킵하였습니다. 연습문제 8 상자 예제를, 상자를 와이어프레임 모드로 렌더링 하도록 수정하라. 간단하게 PSO(piperine state object)에서 RasterizerState Desc의 FillMode를 D3D12_FILL_MODE_WIREFRAME로 지정해줍니다. psoDesc.RasterizerState.FillMode = D3D12_FILL_MODE_WIREFRAME; 연습문제 9 상자 예제에서 후면 선별을 비활성화하라 또한 후면 선별 대신 전면 선별을 사용해보라. PSO에서.. 2020. 9. 2.