[인디게임 개발일지 #6] 생존을 위한 전략적 선택! 완주를 목표로 하기.
·
인디게임 개발일지
0️⃣ 채용을 마감하고 2인 체제를 선택한 이유? 지난번 공고 때 과분한 관심을 받은 덕분에 많은 분들께서 지원해주셨지만 루시와 함께 심도 높은 회의를 통해 최종적으로는 '기존 2인 체제 유지'를 선택하게 되었다. 많은 분들의 포트폴리오를 받아 함께 보면서 정말 뛰어난 실력자가 많다는 것을 느꼈고, 또 함께 하고 싶었지만 섣불리 모집하지 않고 '2인팀'을 유지할 수 밖에 없었던 이유에 대해서 차근차근 설명 해보겠다. 1. 동업자라는 포지션과 핵심멤버라는 포지션 처음에는 함께 '동업자'로서 책임 지고 이 프로젝트를 이끌어나갈 수 있는 멤버를 모집하는 것이 맞다고 생각했다. 때문에 신뢰 기반으로 모집할지, 실력 기반으로 모집할지에 대해서 루시와 나도 제법 설전이 있었지만 '동업'을 함께할 것이기 때문에 '신..
[인디게임 개발일지 #5] 게임에서 상업적 이용가능한 폰트! 임베딩 라이선스 파헤치기!
·
인디게임 개발일지
0️⃣ 우선 폰트를 고르고 라이선스 확인하자. 어떤 창작물이 그렇지 않겠냐마는, 특히 폰트의 경우에는 저작권 즉 라이선스가 매우 엄격하다. 때문에 폰트를 고를 때에도 라이선스를 꼼꼼하게 확인하고 넘어가야한다. 일반적으로 상업적으로 이용 가능한 무료 한글 폰트의 경우는 눈누에서 많이 고르곤 한다. 눈누상업적 이용 가능한 한글 폰트를 쉽게 찾아보세요.noonnu.cc 눈누에서 원하는 폰트를 골랐다면, 하단으로 내려보면 이렇게 라이선스가 표기 되어있는 것을 알 수 있다. 눈누 페이지 내에서도 라이선스 안내가 되어있고 폰트를 다운로드 받는 홈페이지에서도 라이선스 안내가 되어있다.그리고 폰트를 다운로드 받으면 일반적으로 폰트 zip 파일 내에 라이선스 txt 파일이 있다. 여기까지 꼼꼼하게 확인하면 폰트의 사용범..
[인디게임 개발일지 #번외] 인디팀의 시행착오, 그리고 우리가 ‘아트’를 다시 구하게 된 이유
·
인디게임 개발일지
0️⃣ 인디팀의 시행착오와 현실 그동안의 우리 포스팅을 봐온 사람이라면 "이햐~ 제법 잘 만들고 있는 게임이잖아?!" 라고 생각할 사람들이 많았을 것이다. 물론 나도 그런 상태로 고양 되어 있어서 상당히 즐겁게 게임을 만들고 있었다. 우리 게임, 제법 잘 되고 있을지도?! 라는 생각이었지만 지난 일주일간 겪은 가슴 아픈 성장통에 대해서 이야기 해보겠다. 난 이번 기회에 정말 성장했다고 느꼈다. 혹시나 모를 이야기를 위해서, 기존 우리팀의 소개는 아래 게시글에서 확인할 수 있다. [인디게임 개발일지 #2] 턴제 RPG의 시작! 세계관 시나리오부터 캐릭터 원화, 게임 루프 설계까지0️⃣ 첫오프라인 회의 첫 개발일지를 쓴 지 2주가 흘렀다. 2주 동안 무슨 작업을 했냐! 고 물으신다면 역시 대답해드리는 것이..
C# 문법 : Dart와 비교해서 C# 데이터 타입 살펴보기
·
C#
0️⃣ 우선 C#이란 C#은 Microsoft 사에서 개발한 객체지향형 프로그래밍 언어로 Windows 애플리케이션 및 웹 애플리케이션 개발에 사용된다. 비슷한 언어로는 Java, C++, 그리고 Dart가 있다! Dart 90%에 Kotlin 10% 조금 섞은 게 C#이라고 하니 아마 내가 새로 배우기에도 크게 어렵지 않을 거라 생각한다. 두근두근 신나는 마음으로 C# 공부를 시작해보자. (사실 C#보다 유니티라는 툴 자체에 익숙해지는 게 더 어려울 것 같다.) Dart를 기준으로 설명할 것이기 때문에 왕초보가 보기엔 바로 이해하기에 어려울 수 있다는 점 미리 고지한다. ~ C#으로 만드는 프로그램 ~윈도우 프로그램: 윈도우에서 돌아가는 건 다 만듦ex) Visual Studio, 주식 매매 프로그램..
[인디게임 개발일지 #4] 아트워크 대공개, 플랫포머 게임의 배경은 어떻게 그릴까? (배경편)
·
인디게임 개발일지
0️⃣ 결국 분위기는 배경! 이전에 사랑스러운 주인공의 2D 애니메이션을 공개했던 것, 기억나는가! 설마 아직도 안 보았다면 아래 게시물을 보고 오자. (정신 없이 움직이는 머핀 gif 썸네일이 아주 킹 받긴 하지만 실제로 보면 정말 귀엽다.) [인디게임 개발일지 #3] 아트워크 대공개, Spine 없이 한땀한땀 움직이는 2D 애니메이션! (캐릭터편)0️⃣ HAPPY NEW YEAR! 2026년 신년이 밝았다. 인디게임 개발을 시작한지도 어느덧 3개월 째... 두 달 동안은 미친듯이 기획과 스토리에만 매달렸지만 12월 한 달은 나의 본분, 아트워크에만 매진했었다kkevido.tistory.com 게임의 주인은 '캐릭터'라면 분위기를 좌지우지 하는 것은 '배경'이라고 생각한다. 배경이 어떠냐에 따라 그 ..
Flutter의 핵심, Element Tree
·
Flutter
0️⃣ 오랜만에 Flutter 이론 공부다... 마지막으로 Flutter 이론 공부한 게 2년 전 쯤 같은데, 아무래도 좀 더 심화 버전으로 공부를 더 해야할 것 같아서 복습 겸 적어본다. 우선, 내가 처음 Flutter를 공부하면서 처음 깨달음을 얻고 흥미를 느꼈던 부분이 바로 context다. 이때부터 Flutter를 아주 재미있게 공부하며 실무에 적용한 것 같다. Flutter에서 context란 도대체 무엇일까?Flutter의 context란 도대체 무엇일까?context의 개념을 이해하기 위해선 먼저 Widget Tree에 대해 알아야한다.1️⃣ Widget Tree Widget은 Flutter의 모든 것이라고 해도 과언이 아닐 정도로 위젯으로 시작해서kkevido.tistory.com 위 포스..
Dart는 Single Thread 언어! 비동기는 어떻게?
·
Dart
0️⃣ Single Thread Dart는 싱글 스레드 언어라는 말, 많이 들어보았을 것이다. Javscript도 싱글 스레드 언어이기 때문에 두 언어가 비슷하게 동작할 것이라고 보통 예상하지만 실상은 전혀 다르다. 우선 싱글 스레드가 무엇인지에 대해서부터 알아보자. (프로세스와 스레드의 개념에 대해서도 이해하고 있어야 하므로 아래 글을 먼저 읽고 와서 다시 보자!) [얼레벌레 공부하는 CS] 프로세스와 스레드0️⃣ 프로세스란?프로세스는 현재 실행중인 프로그램을 의미한다. 프로그램 그 자체는 보조기억장치에 보존되어있는 데이터지만 이 프로그램을 RAM에 적재하여 실행하는 순간 프로세스라고 부kkevido.tistory.com 위 글을 다시 읽고 와서 스레드가 무엇인지 다시 정의해보자면,프로세스가 할당 받..
[인디게임 개발일지 #3] 아트워크 대공개, Spine 없이 한땀한땀 움직이는 2D 애니메이션! (캐릭터편)
·
인디게임 개발일지
0️⃣ HAPPY NEW YEAR! 2026년 신년이 밝았다. 인디게임 개발을 시작한지도 어느덧 3개월 째... 두 달 동안은 미친듯이 기획과 스토리에만 매달렸지만 12월 한 달은 나의 본분, 아트워크에만 매진했었다. 루시는 기획자 겸, TA로서 레벨 디자인에 맞춰서 맵을 찍고 아트워크의 방대한 분량 때문에 배경 작업에 붙어 작업해주고 있다. 마크는 우리 게임의 하이라이트 턴제 전투 시스템을 루시의 기획에 맞추어 새로이 개발하고 있는데 저번에 회의하며 살짝 보았을 땐 완전 멋있었다! 레벨 디자인과 전투 시스템은 순차적으로 공개하도록 하고, 우선 내가 열심히 그린 우리 캐릭터들이나 보자! 1️⃣ 전체적인 아트 컨셉 우리 게임의 첫 이름은, (실은 아직도 가제긴 하지만) 인형공장이었다. 지금 Figma ..
Dart가 효율적으로 메모리를 관리하는 방법, DartVM
·
Dart
0️⃣ DartVM을 이해하기 전에 먼저 알아야 할 지식들 DartVM, 즉 Dart Virtual Machine에 대해서 제대로 알기 위해선 약간의 사전지식들이 필요하다. 기본적인 OS의 메모리 관리 개념과, Flutter의 release모드, debug모드를 관리하는 JIT,AOT 엔진에 대해 알아야 한다. 우선 Heap과 Stack Heap과 Stack에 대해서 알아야한다. 모르면 처음부터 이해가 안 된다. 작년에 CS 공부를 열심히 할 때 보다 이해하기 쉽게 정리해놓은 내용이 있으니 꼭 읽어보자. 특히 4번의 Heap영역이 지나치게 크다면? 이라는 항목은 DartVM을 이해하기 위해선 빼놓을 수 없다. 결국 핵심은 Heap 영역에서 이루어지는 GC이기 때문이다. [얼레벌레 공부하는 CS] Heap..
Flutter는 컴파일 언어? 인터프리터 언어? JIT와 AOT의 원리
·
Flutter
0️⃣ Flutter는 컴파일 언어인가요 인터프리터 언어인가요? 어느날 갑자기 동료가 물어보았다! "Flutter는 컴파일 언어인가요, 인터프리터 언어인가요?" 컴파일 언어와 인터프리터 언어에 대해 구분하여 공부해본 적은 있어도 정작 내가 주로 사용하는 언어가 어떤 유형의 언어인지는 궁금해 한 적이 없다. 그래서 얼렁뚱땅 컴파일 언어인 걸로 알고 있었어요... 라고 대답했지만 정작 이 부분에 깊게 공부해보니 JIT와 AOT의 개념이 등장하기 시작했다. 하지만 JIT와 AOT를 제대로 알기 위해선 컴파일 언어와 인터프리터 언어에 대해서 알고 있어야 한다. 컴파일 언어와 인터프리터 언어에 대한 구체적인 차이점은 이전 블로그 포스팅을 통해 확인할 수 있다. 대충 이런 내용이니 아래 내용을 통해 확인해보자. [..
[인디게임 개발일지 #번외] 🎄'나노바나나'가 그림을 잘 그린다고?! 배경투명화도 못 한다.
·
인디게임 개발일지
🍌 Nano Banana! 나노 바나나가 대유행이라는 것, 이미 다들 알고 있을 것이다. 덕분에 많은 아티스트들과 디자이너들이 일자리 걱정을 하게 된 원인이기도 하다. Gemini 3.0 Pro를 결제하여 사용하고 있는 개발자 겸 아트디렉터로서 나노바나나를 사용해보지 않을 수가 없다. 우선, 나노바나나가 뭔지 알아보자. 나노 바나나(Nano Banana)는, 구글의 AI모델인 Gemini에 탑재된 최신 이미지 생성 엔진의 정식 명칭이다. Gemini에도 여러 엔진이 있는데 Gemini 2.5 Flash Image와 Gemini 3 Pro Image 모델의 공식 이름이라고 보면 된다. 25년 11월 19일에 3.0이 나오며 AI에 혁명이 일어났다! 라고 난리가 났었으며, 다들 Gemini DeepMin..
10년 묵은 레거시... Gemini와 Claude를 200% 활용한 바이브 코딩 후기
·
etc
0️⃣ 도대체 내가 왜 PHP를...여전히 의문이다 (젠장)... 도대체 내가 왜 PHP를 하고 있는지가... 의문은 고이 접어두고 PHP를 아예 할 줄 모르는 모바일 개발자로서 완전히 꼬여버린 스파게티 레거시 코드, PHP를 어떻게 풀어나가는지에 대해 설명하겠다. (내가 PHP를 완전히 할 줄 모른다 뿐이지, HTML/CSS는 할 줄 알고, React/Next.js의 간단한 퍼블리싱 정도 및 라이브러리 연동은 할 줄 아는 초보 웹개발자 수준에 가깝다는 걸 미리 알린다.)1️⃣ PHP 레거시 현황부터 알아보자 개발자라면 응당 AI를 사용해서 개발하기 마련. 몇 년 전만 해도 AI는 커녕 구글 서치에 의존하여 버그를 고치곤 했었는데 덕분에 구글 서치력 하나는 끝내주게 늘어서 지금까지 유용한 능력으로 활용되..