분류 전체보기
-
[Tidy First - 소프트웨어 설계] 00. Tidy First?배움/기타 개발 이야기 2024. 6. 12. 03:24
데이터야놀자 행사에서 받은 켄트 벡의 Tidy First.오늘부터 조금씩 조금씩 읽으면서 배운 내용을 정리해볼 생각이다.여기서는 들어가는 말을 읽으며 생각한 것들을 몇줄 써본다.'좋은 코드'라는 것은 결국 사람의 주관에 있는 것이다.객관적인 지표는 없다.동료들(혹은 기타 개발자 집단)이 좋은 코드라고 입을 모을 수 있는 코드라면 좋은 코드이다.그들의 마음엔 천 가지의 각기 다른 노하우들이 있다.때문에 실력있는 개발자는 '천 가지의 각기 다른 노하우를 가장 이상적인 모습으로 통합할 수 있는 개발자'이다.그러기 위해서는 '학습'과 '소통'이 모두 균형있게 이루어져야만 한다.그 예를 들자면.. 학습의 측면1. 타인의 노하우(책, 인터넷, Peer Review 등)를 제대로 & 빠르게 내 것으로 만들 수 있어야..
-
[Godot 게임개발] Collision Objects, Layers, Masks배움/GameDev 2024. 6. 11. 19:17
튜토리얼을 따라가다보니 Player는 Area2D를 사용한 반면 Mob은 RigidBody2D를 사용하더라.Collision Layer와 Collision Mask 라는 개념도 둘다 있길래어떤 개념이고 뭐가 다를까? 해서 관련된 공식 문서를 찾아보았다. Collision objects Coliision objects에는 4가지가 있는데,- Area2D- StaticBody2D- RigidBody2D- CharacterBody2D가 그것들이다.이 네 가지 objects는 모두..- PhysicBody2D 노드에 속하는 노드들이고.- CollisionObject2D 노드를 가진다. Area2D: 다른 오브젝트와 겹치는 것을 감지하고 시그널을 내뱉을 수 있다.중력계수(gravity)와 감쇠계수(damping..
-
[Godot 게임개발] 2. Enemy movement and collision배움/GameDev 2024. 6. 10. 23:25
Godot docs의 튜토리얼 중 'The main game scene'까지 완료했다.이번의 주요 내용은..1. 플레이어 캐릭터가 움직이는 방향을 바라보도록 만들기2. 적 캐릭터 (Mob) 만들기3. 적 캐릭터 움직임 정의하기: 화면 경계면에 보이지 않는 PathFollower를 추가해서 주기적으로 이 위치에서 몹이 생성됨: 몹이 향하는 방향은 randf_range를 통해 무작위성을 갖도록 함: 몹의 속도 또한 randf_range를 통해 무작위성을 갖도록 함4. 적 캐릭터가 화면에서 사라지면 지우기: 화면 경계면을 나가면 queue_free를 통해 사라지도록 함5. main scene을 만들고 Player와 Mob을 main scene에 적용하기6. MobTimer, ScoreTimer, StartTi..
-
[Godot 게임개발] 1. Playable Character movement배움/GameDev 2024. 6. 10. 03:08
'2D 게임 시작하기' 튜토리얼 이전까지의 개념을 Godot 공식문서 읽기를 통해 대충 익히고(노드, 씬, 트리, 인스턴스, Scripting Language 등)이제 본격적으로 예제를 통해 간단한 게임을 만들어본다.오늘은 플레이어 캐릭터 노드를 만들고 그에 따른 로직을 구현하였다.캐릭터 아트 등은 모두 튜토리얼에서 제공하는 에셋을 사용하였다.귀엽다..작업한 내용은- 캐릭터 노드 만들고 상태 정의- 캐릭터 비주얼과 애니메이션 적용- 충돌 범위 지정- 입력 키 매칭- 이동 속도 지정하고 대각선으로 이동 시 속도 정규화- 맵 밖으로 나가지 않도록 clamp 시키기등이다. 다행히 아직까진 흥미가 잘 유지되고 있다.
-
소고기국삶/음식 및 요리 2024. 6. 9. 02:06
나는 이 국을 참 좋아한다.어릴 때부터 엄마가 자주 해주던 소고기국.나같은 경상도인들에게 소고기국은 빨간 것이 디폴트값이다.서울 사람들에게 '소고기국'이라 말하면 백이면 백, 하얗고 맑은 소고기무국을 떠올린다.이 국을 보여주면 에이 뭐야, 육개장이네! 라고 할 것이다.그리고 이 말은 경상도인의 발작버튼이 될 것이다.. ^^ 아니라고! 맛도 재료도 완전 다르다니까..?? 독립한 지 오래되어 각종 찌개, 반찬, 요리들을 해먹어왔지만유독 소고기국은 한 번도 해먹어볼 생각조차 나지 않았다.그렇게 내가 좋아하는 국인데도 불구하고 말이다.문득 이 사실을 깨닫고는, 레시피와 재료를 확인해본다.그동안 소고기가 부담돼서 안해먹었나?그렇다기엔 국거리용으로 저렴한 소고기는 생각보다 얼마 하지 않는다.소고기와 무를 주문한 후..
-
Feature Flags (기능 플래그, 기능 토글)배움/기타 개발 이야기 2024. 6. 9. 01:01
최근 업무에서 Feature Flags 혹은 Feature Toggles (이하 기능 토글)라고 불리는 방식을 도입했다.기능 토글은 새로운 코드를 배포하지 않아도 특정 기능을 켜고 끌 수 있는 기술을 말한다. 기능 토글을 쓰면..1. 서버를 유지한 상태로 기능을 키고 끌 수 있다.2. 기존에는 기능 배포를 위해 반드시 코드 변경과 배포가 수반되어야 했다. 이렇게 되면 배포 관련 지식을 가진 개발자가 반드시 개입되어야한다. 그러나 기능 토글은 훨씬 간단하므로 개발자가 아니더라도 쉽게 키고 끌 수 있다.3. 프로덕션 환경에 새로운 기능을 좀 더 부담없이 배포할 수 있다. 문제시 바로 꺼버리면 되니까..4. 기본적으로 On, Off 값을 가지는데, 일부 소수 유저 (랜덤한 10%에게만이라던지) 에게만 새로운 ..
-
[Godot 게임개발] 0. Godot 공부 시작배움/GameDev 2024. 6. 7. 16:58
최근 게임 개발에 관심이 생겨 공부를 시작했다.그런데 유니티도 조금 다뤄보고 관련 정보를 뒤지다보니Brackeys라는 유니티 게임 개발 쪽에서 유명한 (약 180만 구독자) 유튜버가Godot라는 툴이 요즘 괜찮다고 하며 약 한 달 전부터 Godot 강의를 게시하기 시작했더라. Godot는 '고닷' 혹은 '고도트' 등으로 부르고 싶겠지만실제 발음은 '고도'에 가깝고 한국에서도 고도로 부르고 있더라.아마 영어 단어가 아닌가부다.. 유니티의 경우 스크립트 언어로 C#을 쓰는 반면에고도는 파이썬과 비슷한 GDScript라는 언어를 자체 개발하여 쓰고 있다.파이썬의 특징을 가지고 있기 때문에 간편하고 배우고 쉽다는 특징이 있다. 또한 특히나 주목할 부분은 언리얼 이나 유니티 등과는 다르게 MIT 라이센스로 배포되..