
게임 플레이하기 : https://rpgrpg.netlify.app 마을(이라고 하긴 뭐하지만)을 추가했다. 중앙 Npc는 환영 인사 겸 넣어 두었다. 대화 도중 시야의 방해를 방지하기 위해 투명도를 조절했다. 대화 도중 맵이동 문제 때문에 아예 플레이어 움직임을 막을까 생각 중이긴 하지만 아직은 막지 않았다. 간단한 실내 맵을 만들어 보았다. 기존의 퀘스트 Npc를 이곳으로 이동시켰다. 보물상자도 구석에 있으니 올라가 보길 바란다. 필드의 그래픽도 약간 꾸며 보았다.
23/03/29 총알이 포탈에 닿아도 사라지지 않도록 변경 캐릭터가 정지 상태일 때 포탈과 상호작용하지 못하는 현상 수정 포탈 상호작용 키가 스페이스바가 아닌 액션 키와 연동되도록 수정 23/04/05 맵을 전환할 때마다 음량이 초기화되는 현상 수정 최초 음량이 최대임에도 불구하고 UI상에는 최저로 설정된 것처럼 보이는 현상 수정 맵 전환 시 적절한 위치에서 플레이어가 스폰되도록 수정 좌측 상단 UI가 인트로 페이지에서 나타나는 현상 수정 23/04/07 차지 공격이 특정 상황에서 보이지 않는 현상 수정 보스 스테이지에서 오른쪽으로 이동 시 캐릭터가 맵을 뚫고 에러가 발생하는 현상 수정 몬스터가 처치되었음에도 사망 애니메이션 실행 중 피격이 가능한 현상 수정 2단 점프가 간헐적으로 동작하지 않는 현상 수..

서론 RPG게임 개발을 하던 중 한가지 문제점을 발견했다. 옵션, 스킬 등 UI창의 정보는 씬을 넘어가도 유지되어야 하는데 씬을 넘어가면 모든 데이터가 초기화되었다. PlayerPrefs에 저장해 두었기 때문에 씬을 넘어갈 때마다 값을 불러와서 초기화하는 방법이 있지만 매번 값을 설정하기가 불편하고 볼륨 같은 값의 경우 저장해두지도 않았기 때문에 dontdestroy를 사용하기로 하였다. DontDestroy란? dontDestroy를 사용하려면 다음과 같이 오브젝트에 DontDestroy 설정을 해주면 된다. 현재 게임에는 캔버스만 설정해 두었지만 앞으로 더 늘어날 가능성이 있어 배열 형태로 선언해 두었다. 인트로 씬의 모습이다. System이라는 이름의 캔버스가 씬이 아니라 dontdestroy에 종..

게임 플레이하기 : https://rpgrpg.netlify.app/ 키세팅을 본인이 직접 할 수 있도록 옵션의 기능을 추가하였다. 중복된 키를 방지하는 기능은 현재는 없다. 구현 방식은 이렇다. 우선, 어떤 키를 변경할 것인지를 판단하기 위해 public함수를 하나 만들었다. 키 변경 버튼을 클릭하게 되면, 해당 칸에 맞는 문자열 값이 함수로 전송되어 KEY에 저장된다. 예를 들면, DASH 오른쪽의 버튼을 클릭하면 KEY의 값은 DASH가 된다. 그 다음, 입력 창을 활성화한다. 키를 입력하라는 안내 창이 나오게 되고, 키를 하나 입력받으면 창이 꺼지며 해당 버튼의 키가 바뀌게 된다. 물론 UI에 표시되는 글자 역시 바뀐다. 키 변경을 위해서는 두 가지 문제가 있는데 첫번째로 키가 입력될 때 함수가 ..

게임 플레이하기 : https://rpgrpg.netlify.app/ 오늘은 새로운 기능 개발보다는 기본적인 코드 구조를 최적화하고 보강하는 작업을 하였다. 때문에 외형적인 변화는 크게 없을 것이다. (하지만 들인 시간은 이전 못지않다...) 외형적인 변화를 설명하자면, 보스에게 패턴과 체력바를 추가하였다. 보스의 체력이 감소됨에 따라 빨간색 체력 또한 같은 비율로 줄어든다. 보스는 일정 시간마다 돌 모양 장애물을 본인 기준 전방으로 투척하며 피격 시 데미지를 입게 된다. 몬스터의 사망 애니메이션을 추가하였다. 모든 몬스터(보스 포함)의 애니메이션은 동일하고, 기본 그래픽과 같은 에셋을 사용하였다. 플레이어의 사망 애니메이션도 추가하였다 만...어째서인지 애니메이션이 재생되지 않고 멈추게 된다. 이 문제..

게임 플레이하기 : https://rpgrpg.netlify.app/ 옵션 창을 새로 추가하였다. 브금과 효과음 음량 조절이 가능하고, esc키로 온오프 할 수 있다. 이번에는 전체적으로 음향효과를 업데이트하였다. 점프. 공격, 차지, 대시, 피격 등등의 음향효과가 추가되었다. 효과음의 경우에는 플레이어 오브젝트 하나에서 여러 효과음을 발생시켜야 하기 때문에 오디오클립을 스크립트로 여러 개 받아서 효과음을 출력할 때마다 상황에 맞는 효과음을 출력하도록 하였다. 점프와 대시의 경우는 항상 발동되지 않고 대시는 쿨타임, 점프는 2회 제한이라는 조건이 있기 때문에 player스크립트에서 직접 효과음을 재생하지 않고 해당 조건을 다루는 movement2d함수로 클립을 가져가 재생하도록 하였다. 다른 효과음은 위..

게임 플레이하기 : https://rpgrpg.netlify.app/ 게임 개발 연습 용도로 만든 게임이라 그래픽이 크게 중요하지는 않지만 게임답게 보이기 위해 그래픽을 입혀 보았다. 해당 그래픽은 Asset Store의 무료 에셋인 Sunny Land에서 가져왔다. 해당 에셋의 그래픽 리소스가 아래와 같이 팔레트 형태로 주어져 있어서 발판은 투명한 발판 오브젝트를 맵에 설치하고 그 위에 그래픽을 덧씌우는 방식으로 처리하였다. 그래픽 뿐만 아니라 몇 가지 기능이 더해졌는데, 대부분의 오브젝트에 애니메이션이 추가되었다. 캐릭터에 정지, 이동, 대시, 점프 애니메이션을 구현하였다. 애니메이션 또한 에셋에 이미 존재하는 리소스를 활용하였다. 플레이어는 애니메이션이 여러 종류가 존재하고 복잡하기 때문에 스크립트..

이번에 소개할 게임은 졸업 프로젝트로 개발한 횡스크롤 슈팅 게임이다. 슬라임 캐릭터를 사용해 보스를 물리치면 되는 간단한 게임이다. 프로젝트의 주제가 블록체인을 이용한 경매장(Dapp)과 NFT 게임이었는데, 팀원들은 경매장을, 본인은 게임 파트를 맡았다. 좌우 방향키로 앞뒤로 이동이 가능하고, z키로 공격, c키로 점프를 할 수 있다. 캐릭터는 총 3개가 있으며, 각각 일반 공격, 차지 공격, 유도 공격이 존재한다. 블록체인과 연동을 할 경우 퀘스트를 클리어하면 보상으로 토큰을 지급받을 수 있다. 랭킹 시스템은 틀만 만들어 두었고 아직 구현하지 않았다. 플레이 영상 : https://youtu.be/Nirj46P36-4 게임 플레이 : https://slimidity.netlify.app/

이번에 소개할 게임은 RPG게임이다. 이름 그대로 캐릭터로 몬스터를 사냥해 레벨을 올리는 게임으로 x키로 공격, z키로 점프, c키로 대쉬가 가능하다. 이번 게임은 이전 게임들보다는 개발 분량이 많은 편이다. s키로 스탯창을 열람하고 레벨업으로 얻은 포인트를 사용해 체력이나 데미지를 올릴 수 있으며, k키로 스킬창을 열람하고 마찬가지로 포인트를 사용해 스킬 레벨업이 가능하다. 각 스킬은 레벨 제한이 있어 일정 레벨 이상을 달성해야만 사용할 수 있다. 해당 인터페이스들은 마우스로 자유롭게 드래그가 가능하다. 적을 처치하면 골드가 드랍되는데, 확률적으로 돈다발이 드랍되어 더 많은 골드를 획득할 수 있다. 골드의 사용처는 아직 개발하지 않았다. 플레이 영상 : https://youtu.be/TLvQ5O9EWi..