cobak
@cobak
受講生
72
受講レビュー
11
講義評価
4.5
서울대학교 전기정보공학부 졸업
현재 스타트업에 재직중인 게임 개발자입니다
어려운 코딩, 쉬워질 때까지 박치기!
cobak7@naver.com
講義
受講レビュー
- Godot Engineではじめるゲーム開発!基本概念から実践ゲーム制作まで一気に攻略!
- Godot Engineではじめるゲーム開発!基本概念から実践ゲーム制作まで一気に攻略!
- Godot Engineではじめるゲーム開発!基本概念から実践ゲーム制作まで一気に攻略!
- Godot Engineではじめるゲーム開発!基本概念から実践ゲーム制作まで一気に攻略!
- Godot Engineではじめるゲーム開発!基本概念から実践ゲーム制作まで一気に攻略!
投稿
Q&A
54.(심화) 보스 구현(2) -state Machine
안녕하세요.AnimationTree가 아주 간단한 방식이기도 하고godot 엔진에 내장된 기본 기능이어서 소개를 하였습니다.꼭 AnimationTree가 절대적인 장점이 있는 것은 아니고,자체적으로 state machine을 만들거나다른 개발자들이 만든 애드온(확장 플러그인)을 통해 구현하기도 합니다.아래는 godot에서 많이 쓰이는 Beehave라는 애드온을 소개합니다.https://godotengine.org/asset-library/asset/1349사용법을 익히고 나면 state machine을 만들때 유용하다는 평들이 많은데,중급자 이상의 개발 숙련도를 갖추었을때(자신감이 좀 붙었을 때) 한번 알아보시면 좋을것 같습니다.이런 애드온들은 대안이 될 수 있음에도 불구하고엄연히 외부 프로그램이므로 강의에 넣지는 못하였습니다. (실제 제가 사용하지도 않습니다) 감사합니다!
- 0
- 2
- 38
Q&A
21. Dictionary 활용 저장&로드
안녕하세요.해당 강의 21.은 딕셔너리만 사용해서 저장/로드를 구현한 것입니다. ^^; 저장에 쓰인 store_var() 함수의 도움말 검색을 눌러보시면딕셔너리를 포함한 모든 Variant를 저장할수 있는데 Variant는 딕셔너리, 어레이를 포함한 모든 데이터 타입을 뜻한다고 나와있습니다.즉 save_data: Array 형태도 작성하여 얼마든지 저장 가능합니다.enum도 내부적으로는 정수값(int)이므로 당연히 저장 가능합니다. 딕셔너리로 소개해드린 이유는딕셔너리 저장이 godot 이외의 게임 개발에서도 널리 쓰이고 권장되는 방식이기 때문입니다. ("Json" 개념 참조) 추가 질문은 제가 잘 이해를 못한것 같습니다만,섹션5. 슈터 게임 섹션에서 Array, Enum, Dictionary 모두 여기저기 활용을 합니다. 감사합니다!
- 0
- 2
- 60
Q&A
66강. INPUT 관리
안녕하세요!말씀하신대로 부스터, 유도탄 발사는 가끔씩만 입력하므로process가 아닌 unhandled input(또는 input)에 넣었습니다.66강에서 캐릭터 조작 관련은 unhandled input에 쓰겠다고제가 분류를 한지라, unhandled input에 넣게 되었네요. 아울러player 이동은 워낙 역동적으로 움직이다 보니process에 두어도 성능 낭비가 없겠다는 판단이 들어 process에 남겨두었습니다. 다시 보니var direction을 바깥에서 선언하고,process에 있는 direction = Input.get_vector("move_left", ... ,"move_down") 한 줄을unhandled input으로 가져오는 게 오해의 소지를 최대한 없앨 것 같네요. 감사합니다!
- 0
- 2
- 43
Q&A
31강 질문
안녕하세요.문의주신 내용이 잘 정리된 사이트는 저 역시 아는 바가 없네요.관심이 가는 노드를 눌러 인스펙터 탭을 확인하는 방법이 가장 직관적인 것 같습니다.(사진) 아울러 Claude를 통한 ai 답변 내용을 공유합니다. 틀린 부분은 없어 보이네요. 📋 노드-리소스 관계 상세 정리🎨2D 그래픽 관련(사진)(사진)(사진)(사진)(사진)감사합니다
- 0
- 2
- 47
Q&A
69번 강의에서 에러 발생 보고
작지만 치명적인 버그네요 제보해주셔서 감사합니다추록 파일을 올리도록 하겠습니다.
- 0
- 2
- 53
Q&A
노드의 내장 시그널 이용 관련 문의
'굳이' 맞습니다 ㅎㅎ 개인 취향입니다만, 아무래도 가독성과 디버그 용이함이 제일 큰 이유 같습니다. 또 다른 개인적인 이유로는경우에 따라 런타임에 disconnect 메서드를 쓸 일이 있는데이를 connect 메서드와 함께 관리하면 일관성이 느껴져서귀찮아도 애초에 수동 connect를 선호합니다.(물론 에디터에서 연결한 경우에도 disconnect를 활용 가능합니다^^) 감사합니다!
- 0
- 3
- 51
Q&A
46. 상속씬(3) 수업 질문
안녕하세요.파이썬의 super()과 다르게, super() 구문이 들어간 해당 메서드(부모 클래스)만 실행된다고 보시면 됩니다.따라서 부모 클래스의 메서드를 실행하고 싶으면 일일이 super()를 써야하며,on_area_entered에서 super()을 쓰지 않은 결과부모 클래스의 pass 구문 조차 실행되지 않는다고 보시면 됩니다.super()을 써봤자 pass가 실행되니까 의미없다고 보시면 되겠네요.파이썬에서의 super(). something() 식으로 따로 호출을 한다는 점과 차이가 있습니다.감사합니다!
- 0
- 2
- 51
Q&A
3. 미니 슈터게임 > 레이저씬 에서 global_position 과 position 차이??
안녕하세요글로벌 좌표가 로컬 좌표보다 직관적이고 이해하기 쉬워서사용한 것이지 별다른 의미는 없습니다! ^^;커리큘럼 상으로도 뒤쪽에서 로컬 좌표계를 설명하기 때문에 글로벌 포지션을 먼저 사용했습니다.감사합니다!
- 0
- 2
- 62
Q&A
안드로이드, iOS빌드
안녕하세요!우선 고도 엔진에서 모바일 게임 지원이 아직 그렇게 좋지는 않다는 점을 알려드리고 싶네요.인앱 결제나 애드몹을 쓰실 때 초보자가 구현하기 만만치 않고,특히 ios 쪽이 상대적으로 더 빈약합니다. 규모가 작은 모바일 게임을 만들어서 안드로이드에서 실행되는 .apk를 빌드하고 싶으시다면https://www.youtube.com/watch?v=dCLYMF32ZBE위 간단한 영상을 참고하시면 도움이 될 것 같습니다.하지만 (보통의 경우) 광고나 인앱 결제를 연동하고 구글 플레이에 출시를 하고 싶으시다면gradle이라는 것을 빌드 하여 .aab를 빌드하여야 합니다.https://docs.godotengine.org/en/stable/tutorials/export/android_gradle_build.htmlgradle build는 위 공식 문서를 참고해주시면 될 것 같습니다.(android 빌드 템플릿 설치를 하시면 되는데 강의 내용과 꽤 유사합니다) ios의 경우 xcode를 이용해서 빌드를 해야 하는데,https://www.youtube.com/watch?v=x_ZFAV2id3I위의 긴 영상에 macOS를 통해 빌드부터 앱 스토어 등록까지 자세히 나와 있어서참고하시면 될 것 같습니다. 고도 엔진도 워낙 빠르게 발전하다 보니,모바일 개발 생태계가 좋아지는 대로모바일 게임 강의 제작도 고려하고 있습니다.^^감사합니다!
- 0
- 1
- 121
Q&A
우주선 회전
안녕하세요강의 12분 부근의 중간 코드를 말씀하시는 것 같네요!해당 코드는 대각선 방향(방향 버튼 2개)을 누른 손가락을동시에 떼야 대각선으로 멈추게 되고,두 손가락을 떼는 데 조금이라도 오차(60분의 1초 이상)가 생기면조금이라도 늦게 뗀 손가락 기준으로 get_vector가 바뀌기 때문에우주선이 그쪽으로 바라보게 됩니다.이는 오류가 있다기 보다는 _process 함수가 1초에 60번 우리 키보드의 입력을 받기 때문에생기는 부득이한 현상.. 이라고 이해를 하시고 넘어가면 될 것 같습니다.감사합니다!
- 0
- 2
- 84




