오늘은 선수단 UI 관련 작업을 시작했는데 선수 생성쪽 작업을 하다보니 데이터 구조가 점점 복잡해져서 이 쪽 개선 작업을 한 번 진행해야겠다는 생각이 들었다. sqlite를 쓸까 고민해봤는데 여러가지로 불편한 부분이 많았고 관련해서 작업해야할 양도 많아서 sqlite를 쓰는 건 보류. 스키마를 고민해봤는데 sqlite를 썼을 때 필요한 작업 시간이나 도입한 이후에 편의성 등을 생각해봤을 때 득보다 실이 많다고 판단했다. 뒤편에서 데이터를 저장하고 가져오는 과정이 실제로 어떻게 동작하느냐와 실제로 데이터를 불러와서 인게임에서 사용하는 인터페이스는 서로 레이어가 다르다. 지금 개발하고 있는 게임에 적합한(편리하고 생산성이 보장되는) 앞단의 인터페이스(프론트엔드)를 먼저 구성하고 실제로 그 인터페이스에 맞춰 ..

일정 생성 오늘은 경기 일정 생성 및 해당 일정들 확인하는 뷰를 만들었다. 일정을 만들려고 하다보니 게임 내에서 경기 일정이 어떻게 흘러갈 것인가, 대회는 무엇이 있고 진출자들은 어떻게 결정되는가 등에 대한 규칙에 구체화가 필요해서 해당 내용 기획도 같이 진행했다. 경기 생성 알고리즘은 표준적인 라운드 로빈 알고리즘(https://en.wikipedia.org/wiki/Round-robin_tournament)을 이용했다. 경기는 리그당 팀이 총 20개, 같은 팀과 4번씩 경기해서 1년에 총 76경기를 진행하는 형태로 생각하고 있다. 여기에 리그 같은 경우 2월에서 6월까지 진행(전반기) 후 7,8월은 이적 기간, 다시 9월부터 11월까지 진행(후반기) 후 12월,1월은 이적 기간으로 진행되는 흐름. 그..

Save & Load우선 게임 정보를 저장하고 불러오는 기능을 구현했다. 게임 데이터는 전부 GameData 클래스에 모아서 저장하고, 이걸 그냥 Binary Formatter 써서 파일로 저장하고 불러오게끔 만들었다. 게임 데이터 클래스 너무 복잡하지 않게 자료형 잘 관리하는 것만 좀 신경쓰면 될 듯. 패치 등으로 데이터 포맷 변동 등이 있을 때 그거 잘 처리하게 해주기 위한 작업이 좀 필요할 것도 같긴 한데 이것도 당장 중요한 것은 아니라 우선순위를 낮춰서 나중에 작업하기로 했다.탭 / 수신함 UI 오늘은 메일 형태로 여러 가지 정보를 수신 및 확인하는 UI를 만들었다. 만들면서 새 게임 시작할 때 각 리그 및 리그에 속하는 팀들을 생성하는 등의 기능도 같이 개발했다. 그래서 이런 식으로 인 게임에 ..