목록전체 글 (96)
강께르의 개발일지
개발일지_210902_11일차 ● 오늘 하기로 한 일 - 생산 시스템 -> 공장 건물을 누르면 생산 UI가 나오도록 -> UI 클래스를 구현하도록 하자 이미 유닛이 있는 타일은 이동범위 제외되게 하기 유닛의 연료 값에 따라 이동범위가 변동되게 수정 ● 오늘 한 일 1. 게임 매니저의 서브 시스템에 게임 매니저 주소값을 가지게 만듦. -> 이슈 : 클래스의 생성자에서 자기 멤버변수에게 자신의 주소를 넘겨주는 것은 불가능하다. 아마 생성자를 모두 수행해야 주소값을 할당하는 것 같다. init으로 링크를 걸어보자. 2. 게임 매니저 메소드만으로 서로 서브 시스템의 값을 수정하는 기능을 도입 3. 플레이어의 모든 버튼 기능을 게임 매니저 메소드로 변경 4. 맵 클래스가 가지는 타일 클래스의 데이터 기반으로 빌딩..
개발일지_210901_10일차 ● 오늘 한 일 테스트 씬을 버리고 퍼사드 패턴을 이용한 게임 매니저 클래스를 구현 -> 게임과 관련하여 굴리는 것을 서브시스템으로 하여 멤버 변수로 만들고 그 내용을 이 매니저에서 굴리고 서로 정보를 교환한다. 플레이어 클래스 구현 및 게임 매니저 클래스에 플레이어 클래스 고정 배열 추가(1p, 2p) 유닛 클래스에 무기 클래스 고정 배열 추가(무기1, 무기2) -> 나중에 전투 시스템 구현 시 무기 클래스의 멤버변수와 유닛 클래스의 멤버변수를 활용해 데미지 계산식을 만들 예정 플레이어에 따라 유닛 이미지를 다르게 렌더 구현 ( 1p – RED, 2p – BLUE ) 턴제 개념 구현 -> 게임 매니저 클래스에서 특정 버튼을 누르면 현재 업데이트를 수행하는 플레이어를 고정 ..
개발일지_210831_9일차 ● 오늘 한 일 floodfill 알고리즘을 응용한 유닛의 이동 범위 구현 맵의 타일 정보를 주고 받기 위한 목적인 스테이지 매니저 클래스 싱글톤 구현 AStar를 이용한 이동 구현 ● 내일 할 일 지형에 의한 이동 예외처리 전투 시스템 구현 시작
개발일지_210830_8일차 ● 오늘 한 일 심플 팩토리 패턴 구현 버튼 입력을 통한 유닛 선택 모드 커맨드 패턴을 이용해 선택된 유닛 이동 구현(no astar) 이동이 끝난 유닛 비활성화 처리 에이스타 구현 시작 -> 클래스로 구성 완료, 이것을 유닛과 접목하여 이동 완료할 것. ● 내일 할 일 에이스타에 의한 이동 구현 floodfill을 이용한 이동 범위 구현
개발일지_210829_7일 ● 오늘 한 일 맵툴 세이브, 로드 구현 바다 8방향 검사 완성 테스트 게임 씬 구현 테스트 게임 씬의 맵 정보를 저장 파일 기준으로 구현 유닛 임시 클래스 구현 유닛 관리 목적 싱글톤 클래스인 유닛 매니저 구현 ● 내일 할 일 팩토리 패턴 구현 에이스타 구현 시작 ● 기록 세이브, 로드에 시간을 많이 잡아먹혔다. 맵 클래스 자체를 저장하려는 시도를 계속 하다가 되지 않아 비틀어서 맵 클래스 내의 타일 클래스를 활용하라는 말씀을 생각해 타일 클래스만 저장하고 이를 불러와 다시 타일 클래스의 정보만으로 다른 멤버변수의 정보들도 살리는 방향으로 구현하여 완성을 했다.
개발일지_210827_5일차 ● 오늘 한 일 - 맵툴 세부 구현 -> 바다 타일 8방향 검사로 바꿔야한다는 것을 발견하고 수정 시도 - 휴식 ● 내일 할 일 - 맵툴 세이브, 로드 기능 마무리 - 유닛 클래스 구현 및 임시 유닛 생성 - 커서로 유닛 선택을 통한 이동 기능 구현 + 에이스타 알고리즘 적용
개발일지_210826_4일차 ● 오늘 한 일 맵툴 세부 구현 -> 도로, 강, 바다과 같은 연결되는 타일 4방향 체크에 의한 타일 결정 구현 ● 오늘 했어야 했던 일 세이브, 로드 유닛 클래스 임시 구현 커서로 인한 유닛 이동 구현 + 에이스타 알고리즘 구현 ● 내일 할 일 맵툴 세이브, 로드 기능 마무리 유닛 클래스 구현 및 임시 유닛 생성 커서로 유닛 선택을 통한 이동 기능 구현 + 에이스타 알고리즘 적용 ● 오늘 기록 사항 세이브, 로드에 대한 생각 -> 복사 대입 연산자를 구현해서 값을 복사해야하지 않을까요? -> 혹은 포인터를 다 빼고 맵툴 내에서는 세이브해야하지 않나
개발일지_210825_3일차 ● 오늘 한 일 - 맵툴 세부 구현 -> 원래 계획인 인게임 타일 찍기를 후순위로 두고 임시로 서브창을 만들어 맵툴을 구현 -> 키보드 입력을 통한 타일 찍기 기능 추가 세이브, 로드 기능을 구현하는 중이다. 이전 게임 개발에 쓰인 기능을 가져왔지만 구조체와 클래스의 차이인지 저장하고 불러온 클래스가 nullptr이거나 참조 범위 오류를 뜨게 된다. 내일 다시 처음부터 기능 구현하여 원인을 분명히 할 수 있도록 한다. - 카메라 구현 커서에 의한 카메라 움직임을 구현 ● 내일 할 일 - 맵툴 세이브, 로드 기능 마무리 - 유닛 클래스 구현 및 임시 유닛 생성 - 커서로 유닛 선택을 통한 이동 기능 구현 + 에이스타 알고리즘 적용 ● 오늘 기록 사항 - map 클래스는 타일맵 ..
개발일지_210824_2일차 ● 오늘 한 일 스프라이트 마무리 디자인패턴 조사 - 이미지 로드(퍼사드), 카메라(옵저버), UI버튼(커맨드), 유닛 객체 생성(팩토리) 프레임워크 정리 퍼사드 패턴을 이용한 리소스 로드 구현 맵툴 구현 시작 - 오브젝트 클래스 구현 - 타일 관련 클래스 구현(tile, environment, building) - 타일을 멤버변수로 관리하여 하나의 맵을 표현할 map 클래스 구현 - map 하나를 커스터마이징 기능을 제공할 maptool 클래스 생성 - maptool 클래스를 생성자로 초기화하고 평야 이미지 렌더와 사용자가 조작하면서 쓸 커서 이미지를 렌더까지 완료 ● 내일 할 일 맵툴 세부 구현 - 키보드 입력을 통한 타일 찍기 기능 추가 카메라 구현 시작 ● 오늘 기록 ..
개발일지_210823_1일차 ● 오늘 한 일 빌드 스케쥴을 고려한 3주 일정 계획 작성 클래스 다이어그램 작성 스프라이트 마젠타 작업(화살표, 메시지, 이름만 남음) ● 오늘 했어야 했는데 못한 일 사운드 정리(사용 목적에 따른 이름 바꾸기 및 분류) -> 3주차 사운드 작업 전, 구현된 사항에 붙일 사운드를 찾아 사용 프레임워크 정리 디자인 패턴 조사 -> 내일 오전 2교시 전을 이용해 할 것 ● 내일 할 일 스프라이트 마무리 프레임워크 정리 디자인 패턴 조사 맵툴 구현 시작 ● 오늘 기록 사항 - 데이터 관리와 기능을 따로 클래스를 지정하여 구현하는 것을 고려할 것 - 현재 싱글톤 패턴, 팩토리 메소드 패턴, 스테이트 패턴 외에 구현할 만한 디자인 패턴이 있는지 조사 - 맵툴에서 드래그를 통한 범위 ..