-
[UE5] 사용자 제작 퍼즐 - 서론언리얼엔진/노노그램 2023. 11. 8. 18:57
No2g에는 사용자가 퍼즐을 만들어서 서버에 업로드 하고 다른 사용자가 그 퍼즐을 풀 수 있다.
퍼즐을 만들어서 서버에 업로드 할 때 퍼즐을 먼저 검증하는 과정을 거치는데 관심이 생긴 부분은 이 검증 과정이다.
검증은 힌트가 너무 적지는 않은지, 퍼즐을 풀 수 있는지, 중복된 답이 있는지를 검사한다.
그래서 따지고 보면 노노그램 퍼즐을 자동으로 풀어주는 기능이라는 의미가 된다.
제일 관심있는 부분은 퍼즐을 자동으로 풀어주는 알고리즘이지만, 이 기능을 넣으면서 사용자가 퍼즐을 만들고 서버에 업로드 하는 기능도 따라서 만들어 보기로 했다.
사용자가 퍼즐을 만드는 기능을 구현하는 것은 어려운 일이 아니다.
기존의 퍼즐 화면에서 enum으로 퍼즐을 푸는 모드와 퍼즐을 만드는 모드를 구분하고, 퍼즐을 푸는 경우에는 사용자가 채운 칸에 따라 힌트와 비교하면 되고, 만드는 경우에는 사용자가 채운 칸에 따라 힌트를 생성하면 된다.
그 외에 필요한 것은 서버와 검증 기능이다.
서버는 다른 사용자들이 업로드한 퍼즐들의 목록을 사용자에게 전달하거나, 사용자가 생성한 퍼즐을 검증하고, 퍼즐을 업로드 하는 역할을 해야한다.
이 상황에는 http 통신이 적합하다고 생각했고, 퍼즐 검증과 데이터베이스 관리를 위해 웹 에플리케이션이 필요하다.
따라서 웹 프레임워크를 사용하기로 했고, 파이썬 언어를 사용하는 Django를 쓰기로 했다.
데이터베이스는 장고에서 기본적으로 제공하는 SQLite를 그대로 쓰기로 했다.
다른 사용자들이 업로드 한 퍼즐의 목록을 가져올때에는 JSON으로 받아와서 파싱한다음 리스트 위젯에 넣어서 보여줄 생각이다.
언리얼 엔진의 UI가 프론트엔드의 역할을 한다고 생각하면 될까 싶다.
그리고 무한 스크롤을 구현해보기로 했다.
사용자가 만든 퍼즐을 풀 때에도 진행 상황을 기록하기로 했고, 이건 로컬에 저장하면 될듯 하다.
그리고 퍼즐이 완료된 이미지도 따로 생성을 해서 서버에 저장해두고, 로컬에서 다운로드 받아서 보여줘야 할 것이다.
정리하면
1. 프론트엔드: 언리얼 엔진
2. 백엔드: 장고
3. 서버의 역할
(1) 사용자 퍼즐 목록 JSON으로 전달 (무한 스크롤)
(2) 사용자 퍼즐 완료 이미지 생성 후 저장, 전달
(3) 사용자 퍼즐 검증, 결과 전달
이 되겠다.
'언리얼엔진 > 노노그램' 카테고리의 다른 글
[UE5] 사용자 제작 퍼즐 - 퍼즐 업로드 (1) 2023.11.13 [UE5] 사용자 제작 퍼즐 - 퍼즐 검증, 노노그램 Solver (0) 2023.11.09 [UE5] 퍼즐 진행 상황 기록 기능 (1) 2023.11.08 [UE5] 노노그램 플레이 중 피드백에 관해서 - 5 (1) 2023.10.14 [UE5] 노노그램에 Undo, Redo 기능 추가 (0) 2023.10.11