반응형

전체 글 106

[Flutter] Flutter로 체스 AI 만들기

오프라인 인디팩 · 개발일지 Flutter로 체스 AI 만들기 — 미니맥스 + 알파베타 가지치기 2026-06-02 · v1.0.12 · 보드게임 / AI 알고리즘 요약 — 캐슬링, 앙파상, 폰 프로모션, 체크/체크메이트/스테일메이트를 모두 구현한 표준 체스 + 미니맥스(알파베타 가지치기)로 3단계 난이도 AI. 탐색 깊이와 평가 함수 차이로 easy/medium/hard를 구분한다. 기물 표현 방식 8×8 int 배열로 보드를 표현한다. 부호로 진영을 구분 — 양수 = 백(플레이어), 음수 = 흑(AI). 값의 절댓값이 기물 종류다. class ChessPiece { static const int empty = 0; static const int pawn ..

Flutter & Dart 2026.07.02

[Flutter] 물 정렬 퍼즐 구현

오프라인 인디팩 · 개발일지 물 정렬 퍼즐 구현 — 결정론적 스테이지와 되돌리기 2026-06-08 · v1.0.14 · 퍼즐 게임 / 알고리즘 요약 — 스테이지 번호로 시드를 고정해 "같은 스테이지는 항상 같은 퍼즐"을 보장. 색깔 수를 스테이지에 따라 점진적으로 늘리고, 잠긴 시험관과 되돌리기(undo) 기능을 구현했다. 규칙 정리 각 시험관(tube)은 최대 4칸. 맨 위 색을 다른 시험관으로 옮길 수 있는 조건은: 목적지 시험관이 비었거나, 맨 위 색이 같고 자리가 남아 있을 때. 모든 시험관이 단색으로만 채워지면 클리어. 결정론적 시드 퍼즐을 완전 랜덤으로 생성하면 같은 스테이지를 두 번 플레이했을 때 다른 퍼즐이 나온다. 이건 레벨 기반 진행에서 불편하..

Flutter & Dart 2026.07.02

[Flutter] 외부 패키지 없이 순수 Dart + Flutter Canvas로 테트리스 구현

오프라인 인디팩 · 개발일지 Flutter로 테트리스 만들기 — 7-bag, 홀드, 유령 블록 2026-06-08 · v1.0.14 · 게임 개발 요약 — 외부 패키지 없이 순수 Dart + Flutter Canvas로 테트리스 구현. 7-bag 랜덤, 홀드, 유령 블록, 레벨별 낙하속도까지 표준 테트리스 규칙(Tetris guideline)을 최대한 따랐다. 게임 구조 로직과 UI를 완전히 분리했다. TetrisGame 클래스는 순수 Dart — Flutter 의존성 없음. 화면은 TetrisScreen이 Timer.periodic으로 틱을 보내고 setState로 리빌드한다. 로직을 UI에서 분리하니 단위 테스트도 쉽고 이후 다른 게임에도 같은 패턴을 반복할 수 ..

Flutter & Dart 2026.07.02

[Flutter] Android 15 대응

오프라인 인디팩 · 개발일지 Android 15 대응 및 글로벌 출시 준비 2026-07-02 · v1.0.15 · Android / 배포 요약 — Google Play Console의 Android 15 경고 2건 처리 + 런처 이름 6개 언어 현지화 적용. MainActivity.kt를 수정하고 res/values-xx/strings.xml 파일을 추가했다. 경고 1 — Edge-to-edge 미지원 Android 15(SDK 35)부터 targetSdk 35인 앱은 강제로 edge-to-edge 모드가 적용된다. Play Console에서 "일부 사용자에게 더 넓은 화면이 표시되지 않을 수 있습니다" 경고가 발생했다. 처음엔 enableEdgeToEdge(..

Flutter & Dart 2026.07.02

[Flutter] Flutter 다국어 현지화

오프라인 인디팩 · 개발일지Flutter ARB 방식으로 6개 언어 현지화 구현하기2026-06-12 · v1.0.15 · i18n / l10n요약 — flutter_localizations + ARB 파일 방식으로 한·영·중·일·독·스 6개 언어를 지원. 앱 내 모든 문자열(UI 문구, 게임 45개 타이틀/설명, 티어 5개 라벨)을 번역 키로 추출하고 폰 언어 설정에 따라 자동 전환되도록 구현했다.왜 ARB 방식인가Flutter 공식 i18n 방식. ARB(Application Resource Bundle) 파일은 JSON 기반 번역 파일이고, flutter gen-l10n 커맨드 하나로 타입 안전한 AppLocalizations 클래스가 자동 생성된다. 런타임 에러 없이 컴파일 타임에 누락된 ..

Flutter & Dart 2026.07.02

[Flutter] 테트리스 구현기 —로직 설계와 게임 루프

게임 개발 일지 | Flutter · Firebase · Google AdsEpisode 02테트리스 구현기 —로직 설계와 게임 루프02. 어떻게 만들었나 — 실제 코드로 보는 테트리스2026년 5월 · Flutter Dart 게임 구조 개발일지01 구조 설계로직과 화면을 파일로 분리했다모든 게임을 같은 패턴으로 만들었습니다. tetris.dart에는 순수 Dart 게임 로직만, tetris_screen.dart에는 Flutter 위젯과 렌더링만 담았습니다. Flutter를 import하지 않는 로직 파일은 단독으로 테스트하기 쉽고, 화면 디자인을 바꿀 때 게임 규칙을 건드릴 필요가 없습니다.tetris.dart순수 로직TetrisGame 상태 관리보드 충돌 감지조각 회전 · 이동라인 클리어 · 점수 계..

Flutter & Dart 2026.06.30

[Flutter] Flutter로 미니게임 37개앱 만들기

게임 개발 일지 | Flutter · Firebase · Google AdsEpisode 01Flutter로 미니게임 37개앱 만들기01. 시작 — 왜 만들었나, 무엇으로 만드나2026년 5월 · Flutter Firebase 1인 개발 개발일지01 왜 만들었나깨끗한 미니게임 모음 앱이 없었다오래전부터 클래식 미니게임을 아무 방해 없이 즐길 수 있는 앱이 있으면 좋겠다고 생각했습니다. 앱스토어에는 비슷한 앱들이 있지만, 대부분 광고가 지나치게 많거나, 게임 하나에 앱 하나씩이거나, UI가 너무 복잡하게 꾸며져 있었습니다.그래서 직접 만들기로 했습니다. 심플하고, 빠르고, 한 앱 안에 게임이 잔뜩인 앱을요. 처음엔 두세 개만 넣을 생각이었는데, 어느 순간 보니 37개가 되어 있었습니다.02 어떤 앱인가클래..

Flutter & Dart 2026.06.30

비행기 모드에서도 즐기는 오프라인 게임 모음 무료 앱 추천

# 오프라인에서도 가볍게 즐길 수 있는 미니게임 28종을 한 앱에 담았습니다 지하철, 비행기, 데이터 아껴야 할 때 — 막상 게임 한 판 하려고 보면 대부분 인터넷이 없으면 시작조차 안 되더라고요. 그래서 만들었습니다. **"오프라인 인디팩"** — 인터넷 없이도, 설치 한 번에 28가지 게임을 즐길 수 있는 무료 미니게임 모음집입니다. ## 어떤 게임들이 들어있나요? ### 🎯 액션 / 아케이드 - **수박 게임** — 같은 과일 합치기, 큰 수박 만들기 - **테트리스** — 클래식 블록 쌓기 - **2048** — 숫자 합치기 퍼즐의 정석 - **벽돌깨기** — 추억의 블록 부수기 - **플래피 버드** — 한 손 탭 게임 - **공룡 런** — 크롬 오프라인 게임 그대로 - **두들 점프**..

Flutter & Dart 2026.06.08

오프라인 인디팩 이용약관

오프라인 인디팩 이용약관 제1조(목적) 이 약관은 잇플 회사(전자상거래 사업자)가 운영하는 "오프라인 인디팩" 에서 제공하는 인터넷 관련 서비스(이하 “서비스”라 한다)를 이용함에 있어 "오프라인 인디팩" 와 이용자의 권리 의무 및 책임사항을 규정 함을 목적으로 합니다. ※「PC통신, 무선 등을 이용하는 전자상거래에 대해서도 그 성질에 반하지 않는 한 이 약관을 준용합니다.」 제2조(정의) 1. "오프라인 인디팩"란 잇플 회사가 재화 또는 용역(이하 “재화 등”이라 함)을 이용자 에게 제공하기 위하여 컴퓨터 등 정보통신설비를 이용하여 재화 등을 거래 할 수 있도록 설정한 가상의 영업장을 말하며, 아울러 사이버몰을 운영하는 사업자의 의미로도 사용합니다. 2. “이용자”란 "오프라인 인디팩"에 접속하여 이 ..

오프라인 인디팩 개인정보처리방침

잇플(이하 “회사”라 함)은 정보주체의 자유와 권리 보호를 위해 「개인정보 보호법」 및 관계 법령이 정한 바를 준수하여, 적법하게 개인정보를 처리하고 안전하게 관리하고 있습니다. 이에 「개인정보 보호법」 제30조에 따라 정보주체에게 개인정보 처리에 관한 절차 및 기준을 안내하고, 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보처리방침을 수립·공개합니다. 제1조 개인정보의 처리 목적 회사는 다음의 목적을 위하여 최소한의 개인정보를 수집하여 처리합니다. 처리하고 있는 개인정보는 다음 목적 이외의 용도로는 이용되지 않으며, 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. 1. 회원 가입 및 회원..

반응형