[롱폼/숏폼] 개발일지
[기획] [아득하리] 2막 만들기!
[직접 해보기] : 무료! 다운로드 필요없는 웹 빌드! (적용완료) :https://page.onstove.com/devlog/kr/view/10981357?boardKey=139787&combined=false 소소하게 바뀐점은 주인공 이미지를 살짝 바꿨습니다. 매인으로는 다음 막으로 나아가는 시스템을 드디어 추가 했습니다. 우두머리 전투에서 승리하면 대량의 별빛(돈)을 얻고 다음 막으로 진행되게 했습니다. 2막부터는 자신이나 플레이어의 체력 보호막등의 요소를 파악해 행동을 바꾸는 적들이 등장할 예정입니다. 설계 미스로 발생한 야타 까마귀(무한 기절)
[DUBBIO] [개발일지4] 버전 0.5 - 정보 전달 구조화, 그리고 감성
인디게임에서 게임성만큼 중요한 것은 그 게임성을 쉽게 이해시킬 직관성, 그리고 수많은 게임들 중에서 그 게임이 사람들의 눈에 띄도록 만들 아트라고 생각합니다. 이전 개발일지들을 보신 분들은 아시겠지만, D.U.B.B.I.O 는 그 중에서도 직관성에 집중해 개발을 이어오고 있었습니다. 우리 게임이 퍼즐과 추론 게임인만큼, 정보를 제대로 전달하는 것이 우선이라는 것이 우리들의 생각이었습니다. 그러나 직관성을 충분히 높였다고 생각했음에도, 처음에 헤매는 분들이 꽤나 많으셨습니다. 공통점은 그분들 모두 하는 방법을 설명만 해준다면 되려 게임을 쉽게 클리어하셨다는 것입니다. 덕분에 저희는 단순히 직관성을 높히고 한번에 많은 정보를 보여주는 것만이 정답이 아니라는 사실을 깨달았습니다. 따라서 이번에는 정보들을 단순히 직관적으로 보여줄 뿐만 아니라 구조적으로 보여줄 수단을 개발했습니다. 그리고 직관성을 일부 덜어내면서 생긴 자리는 사람들의 이목을 끌 감성을 채워넣기로 했습니다. 귀하의 브라우저는 html5 video를 지원하지 않습니다. 1. 튜토리얼과 대사 이벤트 지난 피드백 중 제일 많이 요청받았고, 또 제일 필요도가 높다고 생각이 들었던 것. 게임에 필요한 필수적인 정보를 순서대로, 구조적으로 보여줄 수단. 튜토리얼을 대사 이벤트와 함께 이번에 추가했습니다. (접근루트의 플레이 방식을 알려주는 튜토리얼) 튜토리얼에선 플레이어가 맡게 될 역할, 그리고 이 게임의 주 컨텐츠인 접근루트(미니게임) 과 추적(추론) 을 플레이어가 접하게 될 순서대로 설명합니다. 이 설명은 단순히 텍스트로 정보를 전달하는 것에 그치지 않습니다. 대화 도중 훈련
[프로그래밍] 5주차_개발일지_DreamingOfSpace
5주차 개발일지 개발 목표 이번 주는 지난 주 온라인 플레이 테스트의 피드백을 분석하고 반영하는 것을 최우선 목표로 설정했습니다. 피드백 분석 초보 플레이어 조작법, 진행 방식, 목적성 이해 부족 심각 튜토리얼 도입이 시급 다만 기획적 준비가 필요하므로 개발 우선순위는 낮추고 향후 개발 예정 숙련 플레이어 블럭 물리 판정 관련 비판 많음 (탄성, 이해되지 않는 물리 법칙) → 꾸준한 개선 필요 반복 플레이 시 지루함 → 플레이 다양성 부족 회전 관련 문제 : 회전 활용도가 낮고, 일부 유저는 회전 존재 자체를 몰랐음 90도 단위 회전 요청 → 블럭 평형 문제 때문이라는 결론 도출 개발 내용 1. 블럭 관련 개선 블럭 크기 및 화면당 블럭 양 조정 → 플레이어가 더 쉽게 대응 가능 블럭 무게 중심, 마찰력 수정 → 평형 유지 및 미끄러짐 최소화 충돌 시 관성/가속 문제 개선 시도 → 일부 제한적 개선 가능 블럭 회전 속도 및 90도 단위 잠시 홀드 기능 추가 → 평형 유지 도움 2. 아이템 관련 개선 한 화면에 무조건 하나의 아이템 스폰 아이템 크기 조절 3. 시스템 및 UI (프로토타입) 튜토리얼 : 메이플스토리 스타일, 주변 배경에 키와 설명 표시 엔딩 : 닐이 우주에서 떠다니는 장면 AI 생성 이미지 활용 향후 계획 블럭 난이도 스케일링 및 방해 요소 추가 아이템 개선 및 신규 아이템 개발 (플레이 연계형) 테스트 피드백 기반 반복 조정
[기획] [카드게임] 상점, 골드 추가
[직접 해보기] : 무료! 다운로드 필요없는 웹 빌드! :https://page.onstove.com/devlog/kr/view/10981357?boardKey=139787&combined=false 게임 개발을 계속하면서 여러 기획이 조금씩 바뀌어서 슬더스 뿐만아니라 발라트로와도 유사한 게임이 되었다. 그래서 골드 , 상점을 추가하는 동시에 골드와 상점을 통한 유물과 카드 획득 비중을 매우 높게 잡아 전투 보상을 변경했다. 유물 슬롯에서 확인할 수 있게 구현 했으며 이름은 이름은 별빛으로 지었다. 추가로 있어 보이고 싶기 때문에 카드는 "잎"으로 유물은 "가지"로 명칭을 변경하였다. 상점 카드(잎) 위에 가격이 표시 되도록 하였다. 지금 구매 가능하면 불투명 불가능하면 반투명하게 했다. 랜덤으로 물건의 종류, 등급, 선택지 갯수, 판매기간이 정해지며 가격은 물건의 종류,등급,선택지 수에 비례하여 특정범위 내에서 랜덤으로 결정된다. 판매 기간은 일반적인 카드의 숫자 부분에 표시되도록 구현했다. 상점 카드 또한 상점 입장시 6장이 되도록 뽑고 필요없으면 자유롭게 버릴 수 있게하여 전략성을 강화하는 것에 중점을 두었다. +유물 판매, 최대치도 구현 하였다
[기획] [로그라이크 카드게임] 유물 추가
[직접 해보기] : 무료! 다운로드 필요없는 웹 빌드! :https://page.onstove.com/devlog/kr/view/10981357?boardKey=139787&combined=false 이번에 추가한 것은 덱 빌딩 로그라이크의 꽃 유물이다. 현재 구현한 유물들은 카드 피해량 증가, 턴 시작할때 뽑는 카드수 증가 정도의 효과들을 가지고 있다. UI는 버프/디버프 만들때 쓴걸 재활용 했다. 오른쪽 아래 숫자에는 유물 효과의 스택을 표시하도록 구현했다. 왼쪽 상단 카드확인 아래(아직 유물별 이미지가 없음) 마찬가지로 유물명과 효과를 확인할 수 있는 UI도 클릭하면 나오게 해놨다. 지금은 유물의 획득 갯수 제한이 없고 같은 유물을 중복해서 얻는 것도 가능한 상황인데(효과도 중복 적용) 최종적으로는 발라트로의 조커처럼 최대치를 4~6개 정도로 제한하고 개별 성능이 강하도록 할 예정이다.
[프로그래밍] Egolution 인벤토리 UI에서 그래프 UI로 변경
플레이 테스트 피드백 내용중에 플레이어의 행동양식을 인벤토리에 설정하는 시스템 자체를 이해 못하신 분이 많았습니다. 좀 더 직관적인 UI를 위해서 그래프 UI로 변경했습니다. AS-IS - 현학적인 설명 - 캐릭터의 인벤토리가 구석에 있음 - 어떻게 둬야 하는지 바로 알기가 어려움 TO-BE + 좀 더 직관적인 UI 가이드 + 어떤 캐릭터의 인벤토리인지 눈에 확 들어옴 + 활성 중인 패턴이 보임 + 좀 더 뉴런 연결 같은 느낌을 줘서 내러티브와도 어울립니다. - 아직도 현학적인 설명 기존에는 인벤토리 형태였기에 몇개 종류의 패턴을 설정할 수 있는지 좀 더 눈에 들어왔습니다. 그 내용을 우선 저렇게 땜빵했습니다. 이부분은 그래프 형태의 UI를 사용했을때 존재하는 단점이라고 볼 수 있겠습니다. 해당 내용을 팀원에게 이해시키기 위해서 https://mixify.github.io/uitest/ AI로 프로토타이핑 해서 공유 했었습니다. 클로드 코드 짱짱맨
[프로그래밍] 4주차_개발일지_DreamingOfSpace
4주차 개발일지 개발 목표 이번 주는 오프라인 플레이 테스트에서 받은 피드백을 반영하고, 온라인 플레이 테스트를 준비하기 위한 개발을 진행했습니다. 게임의 아이템 해금 방식을 정식으로 도입하고, UI 및 시스템 전반 개선을 중심으로 업데이트를 진행했습니다. 또한 온라인 플레이 테스트 진행 시, 플레이 경험을 명확하게 기록할 수 있는 전적 시스템과 신규 플레이어를 위한 Help(튜토리얼) 개선에 집중했습니다. 개발 내용 1. 아이템 시스템 개선 아이템 해금 방식 도입 → 특정 높이를 달성할 때마다 아이템이 해금되도록 변경, 기존의 진행도 UI와 함께 플레이 목표 및 동기 강화. 아이템 능력치 조정 → 쉴드 아이템 무적 지속시간: 기존 30초 → 10초 (밸런스 조정). 아이템 획득 UI 적용 → 새로운 UI 연출을 통해 아이템 획득의 만족감 강화. 2. 플레이 전적 시스템 추가 Record 기능 도입 → 플레이 종료 후 전적을 확인할 수 있는 화면 추가. 점수와 진행 기록을 시각화하여 성취감 제공 및 다음 도전에 대한 동기 부여. 3. 블럭 체감 개선 블럭 무게 수치 변경: 5 → 10. 블럭이 충돌하면 너무 날아간다는 피드백 반영. 4. 튜토리얼 업데이트 좌우 버튼을 이용한 슬라이드 방식 튜토리얼 적용. 기존 튜토리얼보다 구체적인 내용 제공 향후 계획 온라인 플레이 테스트 피드백 반영 추가 아이템 기획 및 개발 Record 시스템 확장 (획득 아이템 히스토리 기능 등).
3주차 개발일지_편의성,직관성 개선을 위한 화면,Ui 수정 그리고 그 외의 개선들 /Egolution by 삼계탕
화면,Ui수정 그리고 그 외의 개선들 게임명: 에골루션 플레이어가 정한 규칙대로 자동으로 싸우는 로그라이크 슈터 게임 캐릭터에게 "무슨 상황에서, 무슨 행동을 할 지" 정해 주면, 전투 상황 속에서 해당 규칙대로 알아서 싸웁니다. 이번 주의 가설 피드백을 바탕으로 개선/추가한 내용들이 유기적으로 새로운 피드백거리를 발생시키는 현상을 기능,리소스 개선/추가를 통해 긍정적인 반응을 도출시키도록 한다. 계획 새로 발생한 피드백과 기존의 피드백을 합치며, 우리 게임에서 추구하는 방향성에 어긋나지 않는 기능,리소스를 개선/추가한다. 계획 -세부 - 몬스터 처치로 drop된 재화가 일정 시간 뒤에 삭제되는 기능을 넣는다 - 파블로프 캐릭터의 기본 반찬 추가/개선 - 캐릭터 피격 시 사운드 출력 - 전투 중 로드아웃 진입 시 백그라운드 반투명 처리 + 전투 중 로드아웃 진입 시 전투 pause되게 수정 - 전투 종료 보상 화면 개선(UI수정) - 안전 지대 상점 버튼 디자인 변경, 위치 변경 기획 수정 + 리소스화 - 신규 몬스터(가) 3종 작업,리소스화 (아래 계획은 차주 작업 예정으로 변경) - 파블로프 인게임 도트화 리소스화 이번 주의 가설 이번 개발 일지에선, 피어 리뷰에서 발생한 피드백 중심으로 어떤 부분들을 개선/추가하고자 했는지 전반적인 과정을 훑어 볼 것입니다. W3 피드백을 위한 질문 1. W2에서 발생한 주요 피드백을 바탕으로 개선한 내용들이 제대로 작동하는가? 2. 개선, 추가한 것들이 플레이 경험을 더욱 긍정적으로 만들어 주는가? 3. 개선, 추가한 것들이 (구려서) 또 추가적으로 개선할 부분이 발생했는가? 그렇다면 그것은 왜 발생했고, 왜 구리다고 느껴졌는가? 주요 피드백과 솔루션 논의 긍정적인 반응을 얻은 개선 사항들은 제외했다. 추가적으로 개선이 필요하거나 플레이어 입장에서 새로 추가할 만한 것을 제시한 피드백들을 추렸다. 이번 주차에 개선한 내용 관련 러쉬(swarm)형태의 몬스터 추가 건 기존 피드백 긴박한 몬스터 러쉬 이벤트가 발생하면 더
[프로그래밍] 3주차_개발일지_DreamingOfSpace
3주차 개발일지 개발 목표 이번 주는 인프챌 1·2주차에서 개발한 v0.0.4 버전의 피드백을 바탕으로 구현 상황을 점검하고, 추가적인 콘텐츠 확장(아이템 및 진행도 시스템)을 목표로 v0.0.6 버전을 개발하였습니다. 개발 내용 1. 아이템 시스템 고도화 Shield 아이템 추가로 총 4종의 아이템(Heal, Ice, Shield, Rocket) 구현 완료 (사운드, 효과, 이펙트 포함) 로켓 아이템의 효과 개선 (사운드 및 이펙트 개선). 아이템 생성 알고리즘을 변경 → 최상단 블럭 기준 좌우로 거리를 두고 생성되도록 조정. 2. 아이템 효과 강화 Shield : 최초 피격시 무적시간 5초 → 30초 Heal : 체력 1 회복 → 전체 체력 회복 Rocket : 2단계 상승 → 4단계 상승 3. 게임 밸런스 조정 블럭 이동 및 회전 속도 증가 → 조작 체감 강화. 블럭 스폰 범위 증가율 감소 → 난이도 곡선 완화. 4. UI 개선 홀드 UI 교체 → 더 직관적인 시각적 정보 제공. 진행도 UI 시범 적용 → 추후 아이템 신규 아이템 획득 및 도감 시스템에 연계 예정 향후 계획 아이템 획득 시 개별 연출 강화. 각 아이템의 특성을 살린 세부 기획 및 효과 추가. 아이템 도감 시스템 구현을 통해 수집 요소 제공.
[DUBBIO] [개발일지3] 직관성, 추론 컨텐츠, 레이아웃 대개편
1. 개발 목표 한 문장으로는 '직관성 개편, 추론 컨텐츠 개편' 라고 설명할 수 있지만 세부적으로는 정말 많은것을 바꾸었습니다. 레이아웃을 수정하고, 추론 컨텐츠는 매주마다 새로 만든다는 심정으로 엎었고, 바뀐 것이 없어보이는 곳에서도 코드 리팩토링과 세부적인 연출 추가 등으로 시간을 많이 썼습니다. 3주차 위클리 미션에도 써놓았지만 이러한 개편들은 모두 다음 목적을 위해 진행되었습니다. "따라서 이번 테스트에선 게임의 플레이 방식과, 현재 상황에 대한 이해도를 개선시켜줄 직관성 개선 작업이 진행되었습니다. 뿐만 아니라 추론 컨텐츠 역시 추론의 재미를 온전히 느낄 수 있도록 대대적인 개편이 이루어졌습니다." 이를 위해 진행된 작업 목록은 다음과 같습니다. 1-1. 직관성과 이해도 개선 게임 설명문 메뉴인 HELP 추가. HELP 에 게임 플레이 방식을 과정별로 설명하는 '플레이 방식' 파트 추가. HELP 에 각 미니게임 별로 플레이 방법을 설명하는 '접근루트 설명' 파트 추가. 접근루트 (미니게임) 클리어 시 클리어했음을 제대로 인지시켜줄 클리어 팝업 추가. 팝업에 접근루트 클리어 보상 명시. 게임 상황 (남은 시간 타이머, 보고 있는 화면 종류) 을 헤더에 계속 표시. 좌측 Status & Log 창으로 게임 상황을 표시해주던 것을 헤더로 표시해주는 것으로 바꾸면서 레이아웃 수정. 1-2. 추론 컨텐츠 개편 숫자 야구와 같은 방식 대신 거짓말쟁이 찾기 미니게임과 같은 방식으로 수정. 어떤 이유로 어떤 태그를 배제해야할지에 대한 직관성 개선. 추론 컨텐츠에 얻은 단서를 기록해둘 수 있는 태그 목록 추가. (체크박스에 마크를 남겨 각 태그에 대한 판단을 기록할 수 있음) 답안&태그 테이블을 추가하고 이를 태그 목록과 연동하여 각 답안과 키워드 사이의 관계를 더 쉽게 확인할 수 있게 개선. 접근루트의 보상으로 '추론 시간' 제공. 추론 화면에서는 게임오버 시간인 '테러 시간' 대신 추론 시간이 소모되게 하여 생각할 시간을 보장함. 1-3. 접근루트 개선 & 난
[프로그래밍] 우당탕탕 아홉수 환생 개발 일지 -2-
이번주는 메토링 일정과 GameAIfy 공모전 일정으로 많이 작업하지 못했습니다... 팀장님 제가 미안해요. 지금도 주변 다 자고있는데 혼자 개발하고 있는 제 인생이 너무 불쌍합니다. 각설하고 시작하겠습니다. 저번주에 안나가 벽에 붙은 상태로 방향키를 계속 누르고 있으면 벽과 계속 뽀뽀하고 있는 현상이 발생하였습니다. 안나가 움직임에 문제 있었던 적이 한 두번이 아니라 체념하고 원인 파악을 해보았습니다. 원인은 바로 마찰력! 안나의 피직스 머티리얼의 Friction Combine이 Maximum으로 되어있어 덩쿨 마찰력이 그대로 적용된 것 같습니다. 이를 Minimum으로 적용하여 해결하였습니다. 다음은 뒷 배경에 살짝 블러 처리를 하면 분위기가 있을 것 같아서 팀장님께 건의드렸고 한거 보고 판단하겠다는 답변이 돌아왔습니다. 뒷 배경 블러를 위해서는 포스트 프로세싱에 있는 피사계심도 기능을 활용하였습니다. 근데 오잉? 뒷배경이 블러 처리가 안되는 상황이 발생했습니다. 그래서 찾아보니 포스트 프로세싱의 DOF는 오브젝트의 z-depth로 거리를 판단하여 블러를 주는데, 스프라이트 렌더러는 z-depth 정보가 없어서 판단을 못하는 상황이 발생하였습니다. 그래서 백그라운드 배경은 Quad로 변경하였습니다. Quad는 메시가 존재하여 Z-Depth도 존재한다고 하네요~ 여튼 바꾸고 DOF를 적용하니 요래 되었습니다~ 근데 별차이 안나서 롤백 당할듯...
[프로그래밍] [DUBBIO] [개발일지2] UI 디자인, 미니게임 추가+
1. 개발 목표 이번 주에는 지난주에 호평을 받은 미니게임의 종류를 추가하여, 동시에 4개가 랜덤으로 표시되는 방식의 우연성을 더욱 강화했습니다. 또한 ‘테러 대응 AI’라는 컨셉에 맞춰 각 미니게임이 테러범 추적 수단 중 하나라는 설정을 부여하고, 이에 맞는 UI 디자인을 구성했습니다. 전체적인 디자인은 BIOS 설정 화면을 참고해, 빅브라더 시스템과 같은 분위기를 연출했습니다. 2. 현재 개발 과정 테러범을 방해하고 추적하는 수단이라는 컨셉의 미니게임 '접근루트' 들은 동시에 4개가 표시됩니다. (아래에선 미니게임들을 모두 접근 루트라고 부르겠습니다.) 접근루트들을 클리어할때마다 단서와 추가 시간을 벌 수 있을 것입니다. 멀티태스킹을 해가며 미니게임들을 동시에 여러개 클리어하는 것에 숙달되야, 빠르게 단서들을 모을 수 있을 것입니다. 이전 바이브코딩에서 디자인을 좀 변경해서 테러 대응 AI 라는 컨셉에 맞게 수정했습니다. 각 접근루트의 세부 설정을 더 추가했습니다. 예를 들어 적혀있는 PIN 코드를 그대로 따라 입력하는 게임에서는, 게임이 진행될 수록 표시되는 PIN코드가 기울어져 보이거나 칸 바깥으로 나가 일부분 보이지 않는 경우들도 발생합니다. 이러한 변칙들이 똑같은 미니게임이라도 다른 경험을 느낄 수 있게 만들어줍니다. 테러범이 횡단보도를 건너기 직전에 빨간불로 전환해 동선을 흐뜨려놓는 컨셉의 접근루트를 추가했습니다. QTE 와 같은 방식으로 이 게임 역시 테러범이 나타나는 시점, 달리는 속도에 가속도가 붙는 지 여부 등 여러 세부 설정들이 존재합니다. 이렇듯 대다수의 접근루트들은 간단한 방식의 게임이지만, 매번 똑같은 경험을 주지는 않을 것입니다. 3. 작업 현황 현재는 이 게임의 추론 컨텐츠 영역인 단서피드를 계속 개선함과 동시에 접근루트의 종류도 계속 추가하고 있는 단계입니다. 한편으로는 이 게임에 몰입하고, 현재 상황을 이해할만한 시놉시스는 필요하다는 피드백을 들어 스토리를 표시할 다이얼로그 시스템을 작업할 예정입니다.
[프로그래밍] 2주차_개발일지_DreamingOfSpace
2주차 개발일지 개발 목표 이번 주는 새로운 아이템을 추가하고, 지난주 인프챌을 통해 받은 피드백을 반영하는 것을 주요 목표로 삼았습니다. 개발 내용 1. 로켓 아이템 추가 새로운 로켓 아이템을 제작하였습니다. 사용 시 플레이어가 위로 빠르게 상승하는 연출을 구현했습니다. 현재는 단순히 상승하는 효과만 존재하지만, 이후 추가적인 연출(파티클, 카메라 효과 등)을 고려할 수 있도록 기본 구조를 마련했습니다. Rocket 아이템 사용 예시 <span class="fr-mk" style="display: none;"> </span> 2. 인프챌 1주차 피드백 반영 지난주 인프챌에서 받은 피드백을 토대로 일부 개선을 진행했습니다. 블록 회전 속도 조절 : 회전 속도가 지나치게 빠르거나 느리다는 의견을 반영하여 수치를 조정했습니다. 체감 개선 : 블록 충돌 판정이 어색하다는 의견이 있었습니다. 물리 수치 및 연출을 조정하여 조작감과 반응성을 개선했습니다. 향후 계획 이번 주는 휴가 기간으로 인해 개발 진행이 많지 않았습니다. 추가로 받은 피드백과 세부 개선 사항은 휴가 이후 본격적으로 반영할 예정입니다. 감사합니다.
[아트] ui구성과 카드 리소스 제작
안녕하세요~ 저는 덱 빌딩 로그라이크 게임 [witch's tear] 를 개발하고 있는 팀 위치스의 그래픽 디자이너입니다. 아직 아트 개발일지가 하나도 없길래 작성해봤습니다! ㅎㅎ 이번주 스프린트를 위해 해야할 것 중 가장 중요했던 것은, - 카드 성격을 구분하기 위한 카드 내 이미지와 소유자를 구분하기 위한 카드 디자인 - 파티원을 추가하는 화면 - 덱 목록을 확인 가능한 ui 레이아웃 이렇게 세가지 입니다. 현재 구현되어 있는 파티원 8명의 각 카드의 합만 따져도 개별 카드 이미지를 그리려면 20장이 넘는 리소스가 필요하기에, 공격/방어/회복 일단 이렇게 세가지의 구분을 쉽게 하기 위해서 각각의 카드 한장씩을 작업했어요. 그리고 소유자 구분을 하기 위해 카드 위에 누구의 카드인지 구분 가능한 이름을 넣을 공간을 만들었습니다. -파티원 추가/교체화면 시간적 여유 이슈로 간소화한 디자인으로 배치했습니다 ^^;; - 덱 목록 레이아웃 누굴 빼고 누굴 넣을지를 명확히 알면 좋을 것 같아서 한 캐릭터당 2~4장 내외로 구성되는 게임 특성상, 한 캐릭터의 카드만을 한줄에 놓는 방식으로 횡/종렬 배치를 고안했습니다.
[프로그래밍] 고도 엔진 데이터 / 구글 스프레드시트 연동
Google Spreadsheet와 고도엔진 파일을 실시간으로 연동하는 시스템을 구축했습니다. 이를 통해 데이터를 스프레드시트에서 관리하고 자동으로 게임 씬/리소스 파일로 변환할 수 있게 되었습니다. 1. 양방향 데이터 동기화 - 스프레드시트 → Godot 구글 시트의 데이터를 읽어와 `.tscn` 파일로 자동 생성 - Godot → 스프레드시트: 로컬에만 존재하는 씬 파일을 감지하여 스프레드시트에 자동 추가 시트데이터 파싱 예제 Godot 에서 지원하는 EditorScript를 사용합니다. func _process_sheet_data(json: Dictionary) -> Dictionary: var sheet_data = {} if "values" not in json: printerr("Spreadsheet data does not contain 'values' key.") return sheet_data var values = json["values"] if values.size() <= 1: print("No data in spreadsheet.") return sheet_data for i in range(1, values.size()): var row = values[i] if row.size() < 9 or row[0].strip_edges() == "": printerr("Skipping incomplete row or row with empty ID: ", row) continue var enemy_id = row[0].strip_edges() var enemy_name
[아트] [슬더스라이크 카드게임] 버프/디버프 확인 UI 추가
[직접 해보기] : 무료! 다운로드 필요없는 웹 빌드! :https://page.onstove.com/devlog/kr/view/10981357?boardKey=139787&combined=false 버프/디퍼프를 직관적으로 확인 가능하게 하는 것도 내 게임에 반드시 추가 해야할 숙제 중에 하나였다. 이번에는 대충 1시간 쯤 걸려 만들었다. 이후로는 버프/디버프를 마인크래프트 처럼 "효과"라고 칭하겠다 효과 아이콘이 그려진 버튼을 누르면 그 효과의 이름과 설명을 확인 가능하게 구성했다. 아이콘 우측 하단에 써진 숫자로 효과의 개수를 확인할 수 있게 구성했다. 카드를 확인할때 카드와 관련된 효과도 확인 가능하게 만들었다. 효과 아이콘의 경우에는 적의 경우 체력바 아래에 플레이어는 체력바 위에 배치 했다. +카드랑 같이 집어지는 것도 고처야하내....
[기획] [슬더스라이크 카드게임] 게임의 전투 기획 뒤집음
[직접 해보기] : 무료! 다운로드 필요없는 웹 빌드! :https://page.onstove.com/devlog/kr/view/10981357?boardKey=139787&combined=false 원카드 룰을 차용한 슬더스라이크 카드게임의 프로토타입을 만들고 Play My Game 게시판과 프로토타이핑 챌린지 중 남는 시간에 피드백을 받았다. 원카드를 하며 한 번에 카드 3,4장씩 버리던 게 재밌었기에 코스트 없이 조건만 맞으면 손패를 한 번에 털어 버릴 수 있는 슬더스를 만들자! 라는 생각이 기획했지만 잘 작동하지는 못한 것 같았다. 가장 큰 문제는 원카드에서 차용한 규칙 그 자체였다. 방어 카드와 공격 카드를 슬더스처럼 상황 봐서 쓰는 것이 매우 어렵거나 불가능 하다는 것이었다. 패에 카드가 잡혀도 지금 턴에는 당장 쓸 수 없는 상황이 많이 발생했다. 그래서 대부분의 방어 카드를 삭제했다. 대신 발라트로의 메커니즘을 참고해 지정된 턴 이내에 적을 처치하지 못하면 공격을 받는 구조로 변경했다. 바뀐 전투 구조에서 플레이어는 최대한 많은 공격을 적에게 쏟아버리는 것만 생각하면 된다. +원래 기획 중에는 적 패턴도 카드로 만들어 적의 덱과 패를 플레이어가 확인할 수 있게하고 플레이어와 동일한 규칙을 적용하자! 라는 생각도 해보았지만 밸런싱에 자신이 없어 포기했습니다.(이 규칙의 게임도 언젠가는 만들 겁니다....)
[프로그래밍] 우당탕탕 아홉수 환생 개발일지
일단 처참한 블루스크린 화면과 함께하겠습니다... 저희 집은 본체를 살짝 탁! 치면 블루스크린이 뜨는 컴퓨터가 살고있습니다... 이번주는 프로젝트의 전반적인 리펙토링 + 씬 로드 오류 수정이 있었습니다. 현재 저희 팀은 씬 전환에 스테이트 패턴을 결합하여 사용하고 있습니다. 일단은 4가지 상태로만 이루어져 있는데, 타이틀과 스토리, 스테이지, 클리어 이렇게 상태가 이루어져 있습니다. 상태 전환은 SceneExited_Invoke에 이벤트로 등록하여 이루어집니다. 씬 전환 중간에 상태 전환이 일어나게 함으로 각 상태에 맞는 오디오 및 페이드 효과 등등을 설정하여 씬을 실행할 수 있습니다. isLoading을 통하여 코루틴의 동시 실행도 막아두었습니다. 가끔 콜라이더에 닿으면 씬이 전환되게 설계할때, 콜라이더 엔터 이벤트가 2번 일어날 때가 있는데 그럼 코루틴이 2번 실행되어 레이스 컨디션이 발생합니다. 여튼... 이번주는 대차게 씬 로드를 수정하였습니다. 아 그리고 배열 위에 헤더 쓰면 인스펙터 창에 안뜨던데 이거 어떻게 하는지 아는 사람 있나요?
[프로그래밍] Project_CDD 개발일지
안녕하세요! 저는 팀 Project_CDD에서 프로그래밍을 담당하고 있습니다! 저희 팀은 현재 카드와, 주사위, 던전이라는 주제를 합친 게임을 개발하고 있습니다. 제 개발 목표는 플레이어에게 랜덤한 선택지를 주고, 선택지에 따른 이벤트를 구현하는 것 입니다. 우선 저희가 지향하는 게임은 어디서나 쉽고 간편하게 플레이 할 수 있는 게임이기 때문에 플레이어가 선택지를 봤을 때 굉장히 직관적으로 인식할 수 있도록 선택지 버튼을 구현하려고 했습니다. 위 사진에서 보이듯이, 선택지의 이름과 타입, 성공 확률, 그리고 성공 시 보상과 실패 시 패널티를 한눈에 볼 수 있도록 버튼 UI를 구현했습니다. 그리고 선택지의 데이터를 쉽게 가져올 수 있도록 스크립터블 오브젝트를 만들었습니다. 하지만 스크립터블 오브젝트에서 딕셔너리를 직렬화하여 사용하려면 따로 처리를 해주어야 하기 때문에 저는 AYellowpaper라는 개발자가 제작한 Serialized Dictionary라는 에셋을 사용하였습니다. 그렇게 스크립터블 오브젝트를 만들고 SO파일을 만들어 데이터를 입력해주고 게임을 실행해준다면... 성공적으로 적용이 됐습니다! 선택지 선택 이벤트 구현, 보상과 패널티 구현을 이번 주에 마무리 짓지 못한게 아쉽지만 최대한 빠르게 구현하여 조금 더 완성에 가까워진 게임을 만들 수 있도록 노력하겠습니다!
[프로그래밍] [DUBBIO] [개발일지1] 미니게임 추가, 추론방식 수정
1. 개발 목표 본래 저희는 제한시간 내에 여러 미니게임을 동시에 수행하고, 랜덤으로 단서를 얻는 ‘제약&우연&난관’ 과, 퀴즈 & 키워드 조합과 같이 단서들을 취합하고 추측해야하는 ‘사고&추론’ 이 거의 5:5 로 섞여 있었습니다. 그러나 바이브코딩으로 테스트해본 결과 한쪽의 비중을 더 키워야할 필요성을 느꼈습니다. 지금대로라면 빠른 템포를 추구하는 게임성을 사고&추론이 발목을 잡는 것처럼 느껴졌거든요. 따라서 이번 주는 바이브코딩을 통해 정한 방향성, ‘제약&우연&난관’ 에 더 집중하기 위해 기존의 ‘사고&추론’ 컨텐츠를 덜어내고 수정하는 작업을 진행했습니다. 동시에 기능과 연출에 필요한 매니저들의 리팩토링 및 추가도 진행됐습니다. 2. 개발 과정 요약 2-1. 미니게임 추가 본래는 미니게임이 3개에다 종류도 고정되어 있었습니다. 이부분이 긴장감과 우연성이 너무 적다고 판단하여, 개선된 접근루트에서는 미니게임 풀에서 4종을 랜덤 활성화하는 방식으로 수정했습니다. 제한 시간은 매우 촉박하지만, 플레이어가 미니게임을 클리어할 때 마다 추가적으로 시간을 벌 수 있습니다. 뿐만 아니라 단서도 미니게임을 클리어해야 주어지기에 할 수 있는 한 빠르게, 각 미니게임들을 멀티태스킹 하듯이 진행하는 편이 유리합니다. 미니게임은 한 라운드 진행 도중에도 다른 게임으로 바뀔 수 있습니다. 2-2. 단서 피드 추가 기존에는 단서 두 개를 선택해 조합하면 그에 맞는 새로운 키워드가 제공되며, 플레이어는 정답이 나올만한 조합을 계속 시도하는 방식인 ‘키워드 조합’ 시스템으로 정답을 향하는 추론을 구현했습니다. 그러나 템포가 빠른 이 게임에서 해당 방식의 추론은 시간을 많이 잡아먹을뿐더러, 게임 내 데이터보다는 현실의 상식에 입각한 추론이 요구되는 방식이었던지라 이 또한 새로 개편하게 되었습니다. 플레이어는 단서 칩을 최대 다섯 개까지 슬롯에 올리고 ‘검토’를 누릅니다. 그러면 화면에 맞음/틀림 개수가 간단히 표시되고, 후보 목록의 퍼센트가 자동으로 다시 계산됩니다. 단서 하나는 관
1주차 개발일지_이동 제어 방식 변경!/Egolution by 삼계탕
이동 제어 방식 변경! 게임명: 에골루션 플레이어가 정한 규칙대로 자동으로 싸우는 로그라이크 슈터 게임 캐릭터에게 "무슨 상황에서, 무슨 행동을 할 지" 정해 주면, 전투 상황 속에서 해당 규칙대로 알아서 싸웁니다. 이번 주의 가설 실시간 전투 게임에서 플레이어블 캐릭터의 움직임까지 자동화 하는 것은 플레이어의 의도와 동기화 하기 어렵다. 최소한의 전략적 움직임은 플레이어의 의도에 맞게 상황을 제어할 수 있도록 한다. 기존의 방치성/관찰성 플레이 방식에서 탈피하여, 캐릭터의 움직임을 적절히 제어할 수 있게 함으로써 플레이어의 몰입을 강화시키는 것이 어떨까? 이렇게 변경하면... - 캐릭터의 포지션(탱/딜/힐 등)에 따라 전략적인 선택지를 제공할 수 있다 - 캐릭터의 포지션(탱/딜/힐 등)에 따른 메타 구축이 가능하다. 이는 파티 시너지/조립된 메타에 대한 직관적인 이해에 도움이 된다 - 플레이어의 의도나 전투 상황에 맞게 진형 구축/재구축이 가능하다 - 캐릭터의 컨셉에 맞는 플레이를 개발 의도에 맞게 강제할 수 있다 또한, 현재 방치성/관찰성 플레이 방식은 특정 기믹을 사용하는 몬스터 파훼 시 플레이어가 어려움을 겪을 수 있다는 문제점이 존재한다. 본 가설에서 제안하는 변경점은 이 어려움에 대한 해결법으로 기능할 수 있겠다. (AOE 대처 등) 단, 예외는 존재한다. 캐릭터의 '스킬화된 이동' 은 블록으로만 존재할 수 있어야 한다. 계획 RTS 게임 수준 정도의 캐릭터를 움직일 수 있는 기능을 만든다 이동 제어(기존) 우리 게임은 아래 사진과 같이 조건 블록+행동 블록의 조합을 통해 캐릭터를 움직일 수 있었다. - 기존 데이터-move관련 행동 블록들 이동 제어(신규) 우리는 논의를 통해 위와 같이 조건 블록+행동 블록의 조합으로 전략적 움직임을 설계하는 방식에서 RTS게임에서 유닛을 컨트롤하는 방식을 채택, 실시간 전투에서 적극적인 컨트롤이 가능한 방식으로 변경하기로 결정했다. 추가되는 기능 1. 유닛 선택 a. 개별 선택 Dragselect/좌클릭 b. 단
[프로그래밍] (팀_하지) 움직이는 메인 화면 구현
하지 팀 개발자입니다. 인프챌 이전에 Resource를 전면 교체해서 만들어진게 없었는데, 오프라인 모임 때 시연을 꼭 해야 피드백을 받을 수 있어서 다시 첫 화면 제작부터 시작했습니다. 2인 팀이라 인원이 부족해 AI 툴을 활용해 적절한 퀄리티의 작품을 만들어내는게 목표고, 애니메이션을 한땀 한땀 제작하기에 인적 리소스가 부족해서 움직이는 메인 화면을 만들기 위해 동영상을 활용했습니다. ---- 🎯 구현 목표 Unity에서 전체 화면 동영상 재생 + 영상 위 버튼 UI 배치 1. 준비 *mp4 파일을 Assets/Videos에 임포트 *Assets → Create → Render Texture → 이름: VideoRT 2. Video Player 세팅 *빈 GameObject 생성 → Video Player 컴포넌트 추가 *Video Clip: mp4 지정 *Render Mode: Render Texture *Target Texture: VideoRT *Play On Awake + Loop: 체크 *필요 시 Audio Output Mode = Audio Source + Audio Source 컴포넌트 연결 3. Canvas + RawImage 세팅 *UI → Canvas 생성 → Render Mode = Screen Space - Overlay *Canvas Scaler → Scale With Screen Size, Reference Resolution 1920×1080 *Canvas 안에 UI → RawImage 생성 *RawImage Texture = VideoRT *RectTransform 앵커 = Stretch(Full), Left/Right/Top/Bottom = 0 *필요 시 Aspect Ratio Fitter = Fit In Parent 4. 버튼 추가 *Canvas 안에 UI → Button (TextMeshPro) 생성 *자식 Text(TMP) 오브젝트에서 문구 수정 *버튼 크기: RectTransform Width/Height 변경 *버튼