분류 전체보기 64

#19 odyssey 개발일지 : 캐릭터 컨트롤러 버그 수정

지금까지 5달 동안 글을쓰지 않았는데.. 정글 게임랩에서 게임만들고 있었다.. 그래서 에픽 프로젝트에서 BoardLand라는 게임을 만들어서 출시했다... https://store.steampowered.com/app/2735620/BoardLand/ BoardLand on Steam BoardLand is a turn-based strategy board game where you use the numbers rolled by dice to grow your own board and battle monsters. store.steampowered.com BoardLand에서 프로그래밍&아트를 했었는데, 자꾸 사람들이 오리키우기 같다고 한다.. 어쨌든 출시하고 나서 좀 여유가 생겼고 정글 게임랩이 거의 ..

odyssey 2024.01.14

#18 odyssey 개발일지 : 반사광, 렌즈 플레어 추가

저번에 낮과 밤 시스템을 만들긴 했으나 실제로 일몰이나 일출때는 바다에 반사광이 생긴다 이걸 sun glitter, sun reflecting, specular 등등으로 부르는 것 같다. 어쨌든 이런 빛을 구현하고자 노력했다.. specular 사진들처럼 빛을 여러개 깔아서 반사광을 만들었다. 그리고 지금까지 했던것처럼 색상이나 falloff를 조절하여 자연스럽게 생기고 사라지게 만들었다. 그리고 해 뿐만아니라 달도 반사광이 생긴다! 해보다는 약하게 적당히..만들었다 ^__^ 구름 반사광 바다뿐만 아니라 구름에도 반사광이 생긴다. 원래는 스프라이트형 라이트로 구현하려 했는데 노말맵써도 괜찮을 것 같아서 이번에 한번 사용해봤다.. https://blog.naver.com/PostView.naver?blog..

odyssey 2023.08.10

#17 odyssey 개발일지 : 캐릭터 움직임 수정

맨 처음에 게임을 기획했을땐 알토의 모험처럼 곡선의 지형을 따라 움직이는 거였는데.. 생각해보니 그럼 너무 알토의 모험과 비슷해지는 것 같아서.. 캐릭터 조작 방식을 바꿨다. 지형을 따라 자동으로 이동하는게 아니라 일반적인 2d 캐주얼 레이싱 게임처럼 버튼을 누르면 전진하게 만들려고 한다! 조작 방식은 위의 두게임을 많이 참고했다. 캐릭터 스프라이트 조작법을 수정하는 김에 캐릭터도 그렸다! 구현 https://san10.tistory.com/4 #1 odyssey 개발일지 : 지형 생성, 캐릭터 움직임 구현 컨셉아트도 대충 짰고 이제 본격적으로 개발을 해야한다. 1. 지형생성 우선 처음으로 한 일은 지형생성인데 곡선의 언덕을 어떻게 만들까 고민했고, 우선 지금 지형을 생성하는 방식은 1. 폴리곤 san1..

odyssey 2023.07.31

#16 odyssey 개발일지 : 캣멀롬 스플라인으로 지형 보간

베지어 곡선으로 지형을 만들고 붙이는건 좋은데.. 지형의 곡률이 안맞아서 어색한 장면이 생기기도 한다.. 그래서 보간 곡선으로 지형과 지형을 자연스럽게 이을 수 있는 지형을 만들려고 한다. 캣멀롬 스플라인 캣멀롬 스플라인은 보간 곡선 중 하나이다. 곡선에는 보간 곡선, 근사 곡선이 있는데 보간곡선은 제어점들을 통과하는 곡선이고 대표적으로 캣멀롬 스플라인, 카디널 스플라인 등이 있다. 근사 곡선은 제어점을 연결하는 선의 모양에 근사하는 곡선이고 대표적으로 베지어 곡선이 있다. 다양한 근사곡선중에서 왜 캣멀롬 스플라인을 택했냐면.. 그냥 이게 제일 먼저 보여서이다! ^__^ 구현 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bast..

odyssey 2023.07.29

#15 odyssey 개발일지 : 지형 생성기 만들기

https://san10.tistory.com/10 #5 odyssey 개발일지 : 베지어 곡선으로 곡선 지형 생성 지금까지는 임시로 곡선 지형을 만들었는데 이제는 베지어 곡선으로 지형을 만들려고 한다. 베지어 곡선이란? n개의 조절점과 선형 보간을 통해 얻을 수 있는 곡선으로, n-1차 베지어 곡선이라고 san10.tistory.com https://san10.tistory.com/19 #7 odyssey 개발일지 : 커스텀 에디터 odyssey의 지형생성 방식에 대해 생각해봤는데.. 미리 여러 타입의 지형을 생성해놓고, (일단은) 런타임 중에 적당히 랜덤하게 붙이기로 했다. https://san10.tistory.com/10 #5 odyssey 개발일지 : 베지어 곡 san10.tistory.com ..

odyssey 2023.07.24

#14 odyssey 개발일지 : 낮/밤 시스템 만들기

알토의 모험처럼 odyssey에서도 시간이 지남에 따라 낮밤이 바뀌게 만드려고 한다! 위 그림처럼 우선은 테스트로 낮부터 저녁까지 구현해보려고 한다.. 하늘 그라데이션 셰이더 https://www.youtube.com/watch?v=O62Iio-Qvjs&list=PLsPC1W5E9IRTc-Urd0Y1OaXQSv1SzxVwp&index=7 이 강의를 참고해서 셰이더를 만들었다. 그냥 튜토리얼 설명대로 똑같이 만들었다^___^ 이렇게 하늘에 그라데이션이 생겼다! 하늘/바다 색상 변경 https://forum.unity.com/threads/2d-day-night-cycle-and-weather-system-a-la-altos-adventure.377959/

odyssey 2023.07.22

[python] 백준 2133 : 타일 채우기

문제 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 문제 풀이 사실은 못풀었다! ^___^ 처음에 2x1, 1x2 타일로 3xN 의 타일을 채우는 경우의 수를 생각해 봤는데... 이렇게 5개가 있을 거라고 생각했다. 그래서 N이 2인 형태가 3개. 4인 형태가 2개라고 생각해서 점화식이 dp[n] = dp[n-2] *3 + dp[n-4] *2 일거라고 생각했다. N= int(input()) dp=[0]*31 dp[2] = 3 dp[4] = 11 for i in range(5,N+1): dp[i] = dp[i-2] *3 +dp[i-4] *2 print(d..

알고리즘 2023.07.21

[python] 백준 1699 : 제곱수

문제 https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net 문제 풀이 자연수 N을 제곱수의 합으로 나타내야 하므로 최소 개수의 제곱수로 표현하기 위해서는 n보다 작으면서 제곱수 만큼 작은 수들 중에서 dp가 가장 작은 수를 구하면 될 것이다. 예를 들어 11의 최소 제곱수의 합을 구하려면 dp[11-9] , dp[11-4], dp[11-1] 에서 가장 작은 수를 택해서 1을 더하면 된다. 문제는 N이 커지면서 ..

알고리즘 2023.07.18

#13 : odyssey 개발일지 : 바다 셰이더 만들기

2D 바다 셰이더 지금까지 바다 셰이더를 만들었다. 구글에 바다 셰이더라고 검색하면 많은 자료가 나오지만 현실물리기반 실제같은 바다보다는 애니메이션이나 그림같은 바다를 묘사하려 노력했다. 이런 느낌으로 만들고자 했다. 파도 움직임 만들기 https://www.youtube.com/watch?v=eD7LmXShYcs&list=PLsPC1W5E9IRTc-Urd0Y1OaXQSv1SzxVwp&index=1 이 영상을 참고해서.. 바다의 그림자 부분을 물처럼 움직이게 만들었다. 텍스쳐를 tiling and offset 노드로 UV를 조정하여 움직이게 하고 셀 애니메이션 처럼 끊어지는 느낌을 주고 싶어서 step 노드를 이용했다. 그리고 multiply 노드로 메인 텍스쳐의 알파값을 곱해서 필요한 부분에만 보이게 ..

odyssey 2023.07.17

[python] 백준 2579 : 계단 오르기

문제 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 풀이 dp[n] : n번째까지의 계단 최댓값으로 설정하고 dp테이블을 채웠다. 최대 다음다음 계단까지 갈 수 있기 때문에 현재의 dp[n]은 1) dp[n] = dp[n-2] + A[n] 2) dp[n] = dp[n-1] + A[n] 둘 중 하나가 될 것이다. 그런데 연속해서 3개의 계단을 밟을 수 없기 때문에 이전 선택에서 2번을 선택했다면 무조건 1번을 선택해야 할 것이다. 그런데 또 여기서 반..

알고리즘 2023.07.17