Development 39

[Godot] 2D 액션게임 튜토리얼 제작완료

Reference: https://product.kyobobook.co.kr/detail/S000213366756위 책의 Ch3을 정주행했다.   https://github.com/hanaokaDev/2d_godot_tutorial GitHub - hanaokaDev/2d_godot_tutorialContribute to hanaokaDev/2d_godot_tutorial development by creating an account on GitHub.github.com Flutter의 flame과 다르게, Godot 엔진의 ViewPort는 마우스로 조작해야해서, PPT처럼 노가다성이 있다고 느꼈다.게임개발이 원래 그런건가..왠만하면 VSCode상에서만 하고싶은데.일단 처음 개발한 프로젝트임에 의의를 ..

[개발노트] 로컬에 git 계정 여러개 사용하기

링크 를 참고하여, 설정을 진행하고있었다. 기존에 사용하고 있던 git 계정이 있었고,다른 git 레포에 push하기 위한 별도의 github 계정을 파고,id_rsa를 새로 생성하였다. 그런데...  ERROR: Permission to hanaokaDev/2d_godot_tutorial.git denied to {예전계정명}.  이게 뭐시당가.git global config를 git local config가 덮어쓸 터인데.라고 생각했는데, 실제 구조는 달랐다.  1. .ssh/config에, host의 Domain이 특정 패턴을 만족하면(github.com-hanaokaDev), id_rsa를 기본이 아니라 id_rsa_hanaoka로 잡아주도록 IdentityFile을 설정했다.2. 그런데, 나는 ..

[Godot] 초급 학습계획

Reference: https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=320932162 Reference: https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=340055635  개요고도엔진을 사용키로 했다. 근거는 아래와 같다.오픈소스라서, 취미로 개발하는 사람에게 장점이 있다. 본업탓으로 억지로 Unity를 쓸 필요가 없잖나.힙하다.게임개발이 목적이라면, Flame을 사용하기보다는 아싸리 게임엔진인 고도가 낫다는 생각이 들었다.레딧 의견도 Flame보다는 Godot이 더 낫다는게 지배적. https://www.reddit.com/r/FlutterDev/comments/1e2kf10/flame_vs_godot/생각보다 자료..

[Flutter] 운동용 Interval Timer 앱 개발

개요내가 필요한데다, 난이도도 적당해보여 만들어보기로 했다. 파일네이밍규칙w_{name}.dartWidgets_{name}.dartScreen -> 전체 디바이스를 덮는 화면f_{name}.dartFragment -> Screen 내부에 일부로 존재하는 큰 화면d_{name}.dartDialog -> Dialog 또는 Bottom Sheetvo_{name}.dartValue Object -> UI에서 사용하는 객체dto_{name}.dartData Transfer Object -> 통신/데이터 저장에 사용되는 객체그외소문자+숫자+_ 조합장점: 파일이름 짧아지고, 파일명 정렬시 한눈에 보이며, 해당 파일의 UI내 역할을 파일명으로 이해가능. 개발단계 레이아웃 와꾸잡기Main 화면은, Column 4개 및 ..

[Flame] Klondike 3 - 카드 상호작용 구현

https://docs.flame-engine.org/main/tutorials/klondike/step4.html  Piles 구현(=> 유희왕 덱)클래스 리팩토링common feature를 common한 API로 구현하기 위해, Pile class로 붂음.Stock -> StockPileWaste -> WastePileFoundation -> FoundationPilePile -> TableauPile구현사양StockPile좌상단에 위치함.뒷면으로 쌓여있으며, 터치시 3장을 뽑아 앞면으로 돌리고, Waste로 옮김바닥나면 바닥을 드러냄.다 닳으면, Waste를 다시 Stock에 넣고 셔플. FoundationPile우상단에 위치A부터 K까지 sequential하게 쌓아야 함.쌓인 카드를 유지해야 함...

[Flame] Klondlike 2 - 카드 렌더링 구현

https://docs.flame-engine.org/main/tutorials/klondike/step3.html Card 구조체트럼프 Card는앞/뒷면 bool 변수가 있어야 함.rank가 있어야 함(숫자)suit가 있어야 함(도형)각 구현은 enum 또는 무지성 int로 할 수 있음.rank는 대소비교가 필요하므로, int가 좋을듯.도형은 대소관계가 없으므로, suit가 좋을듯.이 게임에서는 도형의 서열은 없으니까.단지 도형이 같은지 여부만 확인하면 됨. Suit 구현부모없는 immutable로 선언.immutable: 인스턴스화 이후에 어떠한 멤버변수도 바꿀 수 없음Factory 생성자 만들자. singleton 쓰려고.매번 object를 생성하지 말고, 매번 pre-build object를 반환..

[Flame] Klondlike 1 - World 레이아웃 구현

https://docs.flame-engine.org/main/tutorials/klondike/step2.html onLoad -> Flutter widget tree에 game instance가 call될 때, 호출됨.현재는 그냥 sprite image만 띄우도록 하고 있음.반드시 load를 보장하기 위해, await을 붙였다. await Flame.images.load('klondike-sprites.png'); 로드 된 이후, fromCache를 통해 sprite의 빠른 호출이 가능함. Flame.images.fromCache('klondike-sprites.png'),  Game component treeComponent를 KlondlikeGame 클래스에 넣으면, Game compo..

[Flame] Assertion failed: overlay_manager.dart:51:7 - overlay 오타를 살펴보라.

https://docs.flame-engine.org/latest/tutorials/platformer/platformer.html 를 따라가고 있다.  원인이 어처구니가 없는데, 아래는 옳게된 버전이다.import 'package:ember_quest/overlays/game_over.dart';import 'package:ember_quest/overlays/main_menu.dart';import 'package:flame/game.dart';import 'package:flutter/widgets.dart';import 'ember_quest.dart';void main() { runApp( GameWidget.controlled( gameFactory: EmberQuestGame..