PHP 개발자를 위한 Zend Memory Manager 심화 분석
이 글은 PHP 내부의 메모리 할당/관리 방식을 담당하는 Zend Memory Manager(ZMM)를 다룬다. opcache, Zend VM, GC 전반은 범위를 벗어나며, 특히 emalloc/efree 중심의 ZMM 경로를 소스 코드 레벨에서 확인하고, GDB로 실제 동작을 검증한다.

주의 및 준비
- 기준 버전: PHP 8.4.10. 다른 버전은 일부 구현이 다를 수 있다.
- 가비지 콜렉터의 동작 원리는 다루지 않는다.
- 실습을 권장한다. 아래처럼 소스를 직접 받아 컴파일한다.
git clone --depth 1 --branch php-8.4.10 https://github.com/php/php-src.git
cd php-src
./buildconf --force
./configure --enable-debug --enable-fpm --disable-cgi --with-openssl --enable-phpdbg --enable-phpdbg-debug --enable-opcache
./config.nice
make -j $(nproc)
make test
sudo make install
php -v
위 명령어의 결과가 php-8.4.10으로 나오면 성공이다. 위 과정에서 필요한 의존성 패키지는 실습자의 환경에 맞게 추가 설치가 필요하다.

기본 정보: Heap, Chunk, Page, Bin
이번 글에서 소개할 내용은 크게 초기화, 할당, 해제로 나눌 수 있다. 또 할당은 3KB 미만의 작은(small) 할당, 2MB 이하의 큰(large) 할당, 2MB 이상의 거대(huge) 할당으로 나눌 수 있다. 이러한 할당들은 하나의 전역변수인 zend_mm_heap 구조체에서 관리된다.
/* zend_alloc.c */
// 설명에 필요하지 않는 부분은 제거했습니다.
struct _zend_mm_heap {
// 3KB 이하의 해제된 메모리 공간을 링크드 리스트 형태로 가리킵니다.
zend_mm_free_slot *free_slot[ZEND_MM_BINS]; /* free lists for small sizes */
zend_mm_huge_list *huge_list; /* list of huge allocated blocks */
zend_mm_chunk *main_chunk;
zend_mm_chunk *cached_chunks; /* list of unused chunks */
int chunks_count; /* number of allocated chunks */
int peak_chunks_count; /* peak number of allocated chunks for current request */
int cached_chunks_count; /* number of cached chunks */
double avg_chunks_count; /* average number of chunks allocated per request */
int last_chunks_delete_boundary; /* number of chunks after last deletion */
int last_chunks_delete_count; /* number of deletion over the last boundary */
};
heap은 여러 개의 2MB 크기의 청크를 관리한다. 중요한 필드는 free_slot이다. free_slot은 3KB 이하의 페이지를 할당한 후 해당 page를 bin의 size만큼 분할한 후 free_slot에서 링크드 리스트(linked list) 형태로 관리한다. 예를 들어 56바이트를 요청하면 먼저 4KB의 page를 할당한다. 4KB에서 56바이트만 필요한 것이기에 4KB를 56바이트로 분할시켜 73개의 slot을 만들고 하나를 할당시킨다. 나머지 72개는 free_slot에 넣어 다음 할당 요청 때 바로 할당할 수 있게 관리한다. 이러한 free_slot의 개수는 30개이다.
/* zend_alloc.c */
struct _zend_mm_chunk {
zend_mm_heap *heap;
zend_mm_chunk *next;
zend_mm_chunk *prev;
// 현재 청크에서 해제된(미할당) 페이지 개수
uint32_t free_pages; /* number of free pages */
// 청크의 끝에서 연속된 free page가 시작되는 위치
uint32_t free_tail; /* number of continuous free pages at the end of chunk */
uint32_t num;
zend_mm_heap heap_slot; /* used only in main chunk */
// chunk가 관리하는 page의 할당 여부를 비트 단위로 저장합니다.
zend_mm_page_map free_map; /* 512 bits or 64 bytes */
// chunk가 관리하는 page의 정보를 기록합니다. (작은 할당, 큰 할당, ...)
zend_mm_page_info map[ZEND_MM_PAGES]; /* 2 KB = 512 * 4 */
};
하나의 2MB 청크는 512개의 Page(4KB)로 구성되며 각 페이지의 할당 여부 체크, 할당 타입 등의 정보를 저장하고 다음 청크와 연결 리스트 형태로 관리된다. 여기까지 내용을 정리하자면 하나의 heap이 존재하고 heap은 2MB 크기의 여러 chunk를 연결 리스트 형태로 관리하며, 하나의 청크는 512개의 4KB 크기의 페이지(Page)를 관리하고 3KB 이하의 메모리 할당의 경우 Page를 작은 크기로 분할하여 heap의 free_slot에 넣고 관리한다. 청크가 관리하는 512개의 Page 중 첫 번째 Page는 Chunk의 메타데이터를 관리하는 용도로 쓰인다.
청크(Chunk)에서 가장 중요한 필드는 free_map, map, free_tail이다. page는 512개지만 free_map의 크기는 64바이트다. 기록의 단위가 바이트라면 64개만 기록할 수 있지만 비트(bit) 단위로 기록한다면 최대 512개의 기록을 저장할 수 있다. 추후 비트연산으로 인하여 free_map에서 기록의 단위는 비트 단위이며 비트가 1로 세팅되면 해당 위치의 page는 사용 중, 0이면 page는 미사용 중임을 인지해야 한다.
free_tail은 청크의 끝에서 해제된(free) 페이지(page)가 시작되는 지점을 의미한다. 표현이 모호할 수 있기 때문에 직접 예시를 들자면 아래와 같다.

이럴 경우 free_tail의 값은 6이다.
초기화: ZMM 라이프사이클
우선 PHP 모듈의 Lifecycle부터 확인할 필요가 있다.

PHP의 MINIT – MSHUTDOWN이라는 큰 패턴 안에 RINIT – RSHUTDOWN의 작은 패턴이 존재한다. zend_startup -> start_memory_manager 함수를 호출하여 Zend Memory Allocator를 초기화한다. 초기화된 Zend Memory Allocator는 전역변수인 alloc_globals에 저장한다.
typedef struct _zend_alloc_globals {
zend_mm_heap *mm_heap;
} zend_alloc_globals;
# define AG(v) (alloc_globals.v)
static zend_alloc_globals alloc_globals;
[...]
ZEND_API void start_memory_manager(void)
{
alloc_globals_ctor(&alloc_globals);
}
static void alloc_globals_ctor(zend_alloc_globals *alloc_globals)
{
[...]
alloc_globals->mm_heap = zend_mm_init();
}
zend_mm_init 함수를 통해 전역변수인 heap을 초기화한다.

그럼 위의 구조가 형성된다. 첫 번째 페이지(page)에 ZEND_MM_LRUN이라는 값을 대입했다. 이는 할당된 주소가 어떤 타입을 가지는지 저장한다. ZEND_MM_LRUN은 다음에 언급할 3KB < SIZE < 2MB 구간의 경우를 의미하고 ZEND_MM_SRUN 16 <= size <= 3072 구간을 의미한다. 마지막으로 ZEND_MM_FRUN은 현재 메모리 주소가 해제된 상태임을 의미한다.
할당 부분을 넘어가기 전에 이전에 아래 정의 구간을 언급한 적 있다. 이는 16 <= size <= 3072 사이에는 무수히 많은 값이 존재하는데 해당 값 전부를 관리하게 되면 오히려 성능상의 이슈가 발생하기 때문에 해당 구간을 30개 즉, ZEND_MM_BINS만큼 나눠서 관리한다. 이를 bins라고 한다. 대표적인 사이즈 표는 아래와 같다.
zend_mm_free_slot *free_slot[ZEND_MM_BINS];

위 값은 각각 요청 size 범위 – bin number를 의미한다. 예를 들어 요청한 size가 17 <= size <= 24인 경우 bin number가 2임을 의미한다. 이런 식으로 30개의 bin을 관리한다. 또한 0은 제외한다.
추가적으로 각 bin_number는 대표하는 size가 존재하는데 아래 표와 같다.

bin_data_size는 주어진 bin_number가 대표하는 size가 몇인지 관리하는 테이블이다. bin_pages는 주어진 bin_number가 몇 개의 page를 필요로 하는지 관리하는 테이블이다. bin_elements는 주어진 bin_number가 대표하는 size 기반으로 4KB 페이지(page)를 얼마만큼 분할해야 할지 결정하는 테이블이다. 예를 들어 사용자가 56바이트를 요청했다면 bin_number는 6이며 4KB PAGE를 73개로 분할할 수 있다. bin_elements[bin_number:6] -> 73이다.

사용자가 56 사이즈의 메모리를 할당 요청했을 때 56이면 어떤 bin_number인지 확인하고 해당 free_slot을 살펴보고 메모리가 있다면 반환하는 형식이다. 반환 시 링크드 리스트가 서로 다시 연결될 수 있도록 구조화되어 있다.
할당 경로 개요

지금까지의 이야기는 zend memory manager의 구조화된 데이터들과 기본적인 흐름을 설명했다. 다음으로 할당 과정을 조금 더 자세히 살펴본다.

libc에서 제공되는 메모리 할당과 해제 API는 malloc과 free이지만 zend memory manager에서 제공하는 API는 emalloc, efree이다. 자세히 살펴보도록 한다.
작은 할당
사용자가 emalloc 함수를 호출하여 메모리 할당을 요청하면 zend_mm_alloc_heap 함수를 호출한다.
void *zend_mm_alloc_heap(zend_mm_heap *heap, size_t size)
{
if (size <= ZEND_MM_MAX_SMALL_SIZE) {
ptr = zend_mm_alloc_small(heap, ZEND_MM_SMALL_SIZE_TO_BIN(size));
return ptr;
}
else if (size <= ZEND_MM_MAX_LARGE_SIZE) {
ptr = zend_mm_alloc_large(heap, size);
return ptr;
}
else {
return zend_mm_alloc_huge(heap, size);
}
}
해당 함수에서 요청 size를 확인한 후에 3KB 이하라면 zend_mm_alloc_small 함수를 호출한다. ZEND_MM_SMALL_SIZE_TO_BIN 매크로 함수를 통해 이전에 말한 size를 align해서 전달한다. 이때 align은 요청된 바이트가 55바이트일 때 56바이트로 변환을 의미한다.
void *zend_mm_alloc_small(zend_mm_heap *heap, int bin_num)
{
if (heap->free_slot[bin_num] != NULL) {
zend_mm_free_slot *p = heap->free_slot[bin_num];
heap->free_slot[bin_num] = zend_mm_get_next_free_slot(heap, bin_num, p);
return p;
}
else {
return zend_mm_alloc_small_slow(heap, bin_num);
}
}
free_slot을 살펴보고 해당 bin_number에 해당하는 메모리 주소가 존재한다면 바로 반환한다. 만약 없다면 zend_mm_alloc_small_slow 함수를 호출한다.

해당 함수는 zend_mm_alloc_pages 함수를 호출하여 하나의 4KB 페이지(page)를 할당한다. 그리고 ZEND_MM_SRUN 값을 chunk->map[page_num]에 저장한다. (map은 페이지의 메타데이터를 저장하는 필드이다.) 요청한 size는 56바이트이므로 4KB는 73개로 분할될 수 있다. (이전에 말한 bin_elements이다.) 분할된 조각들은 free_slot에 링크드 리스트(linked list) 형태로 저장한다. 사용자의 다음 56바이트의 요청은 free_slot에서 반환된다.
ZEND_MM_SRUN, ZEND_MM_LRUN같이 chunk->map에 저장하는 매크로는 해당 페이지의 service information을 4바이트 형태로 저장하는 용도이다.
# 2 bits
FUN (free pages)
LRUN (first page or large allocation)
SRUN (first page or small allocation)
# 10 bits
lrun_pages (allocated pages의 개수)
# 5 bits
srun_bin_num (bin number)
내부적으로 zend_mm_alloc_pages 함수를 호출하여 실질적으로 필요한 페이지(4KB page)를 할당하는 로직을 수행한다. 해당 함수는 청크의 free_map의 필드를 확인하면서 필요한 pages_count와 비교하면서 best-fit 구조로 알맞은 공간을 찾아낸다.
(best-fit의 개념은 다음 위키피디아 참조 https://en.wikipedia.org/wiki/Best-first_search)
기본적으로 하나의 chunk는 512개의 page를 소유하고 있으며 free_map은 64바이트로 비트연산으로 512개의 page의 할당 여부를 확인한다. (1은 할당, 0은 미할당) 다만 그림으로 512개를 모두 표현하기에는 다소 무리가 있기에 아래 가정을 한다. 다만 할당 알고리즘은 달라지지 않는다.
- 하나의 청크는 24개의 page를 관리한다.
- free_map은 3바이트로 24개의 page의 할당 여부를 관리한다.
- 3개의 page를 필요로 하는 할당 요청이 들어온 상태이다.
- 현재 chunk의 page 사용량은 다음과 같다.

그리고 다음 zend_mm_alloc_pages 함수의 내부 구현한다. 다만 내용이 다소 복잡하기 때문에 확인 전에 이해에 필요한 개념이나 변수를 안내한다.
# 필요한 개념 및 변수 안내
# ex) 블록 구조가 001100 001110일 때 free_tail은 10입니다.
free_tail :: 청크의 끝에서 free pages가 시작되는 위치입니다.
pages_count :: 요청한 page 개수
# 이는 필요 page count가 3일 때 가장 최적의 길이는 3을 찾습니다. 없다면 그 다음 사이즈가 됩니다.
best_len :: 최적의 길이

조금 복잡한 알고리즘이지만 요약하면 free_map을 보고 요청된 pages_count에 최적의 공간을 찾아서 청크 내 최적의 page 위치(넘버)를 반환한다고 생각하면 된다.

그럼 위에서 가정한 부분을 가지고 어떤 로직을 타는지 확인한다.

위 사진은 위에서 가정한 예시를 기반으로 커버리지되지 않는 부분은 제거했다.

위의 로직을 거치고 나면 A Chunk의 내부 page 할당 여부는 위와 같이 변경된다.
큰 할당
똑같이 위 로직을 따르지만 small bins와 달리 free_slot에 저장하지 않고 주어진 size를 page 크기만큼 나눠서 필요한 page_count를 지정한다. 그리고 zend_mm_alloc_pages 함수를 호출하여 페이지를 할당한다.
해제 경로

메모리 해제는 efree -> zend_mm_free_heap 함수를 호출하면서 이루어진다.

작은 할당 사이즈의 경우 free_slot에 해제 주소를 삽입하고 linked list의 가장 앞에 설정한다. large size의 경우 해제 page의 free_map에 할당 해제 설정을 진행한다. 또한 청크(chunk) 해제 가능하면 해당 청크를 unmap(2) API를 호출하여 해제한다. 지금까지 할당과 해제 내용을 살펴보았고 다음은 위 내용이 실제로 맞는 내용인지 검증하는 내용이다.
테스트 및 디버깅

테스트는 먼저 확장 모듈을 기반으로 직접 디버깅을 진행한다.
cd php-src/ext
# example php ext_skel.php --ext heap
php ext_skel.php --ext [확장모듈 이름]
원하는 확장 모듈 이름을 넣고 실행하면 (예를 들어 heap) heap이라는 이름의 폴더가 생기게 된다. 사용자는 다음 파일을 수정하면 된다.
디버깅 시 gdb라는 도구를 사용하며 확장 플러그인 사용자의 편의에 맞게 다양한 플러그인 설치가 가능하다.
- heap.c # source code here!
- heap_arginfo.h
- heap_stub.php
확장 모듈 컴파일하기
cd php-src/ext/heap
./configure
make
확장 모듈 테스트하기
확장 모듈을 만들면 기본적으로 test1 함수가 있다. 그대로 사용한다.
/* heap.c */
// for pending breakpoint
void helloworld(){
return;
}
PHP_FUNCTION(test1)
{
ZEND_PARSE_PARAMETERS_NONE();
helloworld();
int *a = emalloc(1750);
int *b = emalloc(1750);
efree(a);
efree(b);
}
1750 바이트를 2번 할당하고 해제하는 코드이다. 먼저 예상되는 결과로는 첫 번째 할당 시 이전에 할당된 적이 없는 크기이므로 zend_mm_alloc_pages 함수가 호출되어 페이지(pages)를 할당한다. 그리고 3KB 이하의 크기인 작은(small) 할당이기에 bin number가 26인 free_slot에 할당한 page를 분할하여 저장할 것이다.
phpize
make
make test
<?php
test1();
?>helloworld 함수를 추가한 이유는 해당 구간에 breakpoint를 걸어서 디버깅의 편의성을 추가하기 위해서이다.
gdb php
pwndbg> set break pending on
pwndbg> b helloworld
Function "helloworld" not defined.
Breakpoint 1 (helloworld) pending.
pwndbg> run test.php
helloworld 함수는 모듈에 정의되어 있으므로 이전에 본 PHP Lifecycle에 따르면 아직 로드되지 않은 함수이다. 그렇기에 pending break를 설정하고 실행한다. 이는 언젠가 발견되면 break 걸 수 있도록 하는 옵션이다.
In file: /home/tuuna/php-src/ext/heap/heap.c:28
23 /* {{{ void test1() */
24 PHP_FUNCTION(test1)
25 {
26 ZEND_PARSE_PARAMETERS_NONE();
27 helloworld();
► 28 int *a = emalloc(1750);
29 int *b = emalloc(1750);
30
31 efree(a);
32 efree(b);
33 }
pwndbg> p alloc_globals->mm_heap->free_slot[26]
$4 = (zend_mm_free_slot *) 0x0
현재 bin number가 26인 free_slot은 아직 비어져 있는 상태이다.
pwndbg> p alloc_globals->mm_heap->main_chunk->free_map
$8 = {18446744073709551615, 2305843009213693951, 65472, 0, 0, 0, 0, 0}
free_map을 살펴보면 위와 같다. 이를 이진수로 표현하면 다음과 같다.
1111111111111111111111111111111111111111111111111111111111111111
0001111111111111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000001111111111000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
zend_mm_alloc_pages 함수를 호출하면 best-fit 할당 방식을 사용하여 위에서 2번째 줄 000부터 3번째 줄 0000까지 사용할 것임을 예측할 수 있다. (7개를 사용할 것이라고 예상한 이유는 bin_pages를 보면 bin_number가 26일 때 page_count가 7개로 설정되어 있는 것을 볼 수 있다.)
pwndbg> n # 진행
pwndbg> p alloc_globals->mm_heap->main_chunk->free_map
$9 = {18446744073709551615, 18446744073709551615, 65487, 0, 0, 0, 0, 0}
1111111111111111111111111111111111111111111111111111111111111111
(111)1111111111111111111111111111111111111111111111111111111111111
000000000000000000000000000000000000000000000000111111111100(1111)
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
예상된 값으로 바뀐 것을 볼 수 있다. 다음은 free_slot을 살펴본다.
pwndbg> p alloc_globals->mm_heap->free_slot[26]
$10 = (zend_mm_free_slot *) 0xfffff4e7d700
위 주소로 설정되어 있음을 확인할 수 있다. 해당 주소가 어떻게 연결되어 있는지 확인해본다.
pwndbg> set $p = (void **)0xfffff4e7d700
pwndbg> while ($p != 0)
>printf "ptr = %p\n", $p
>set $p = *(void **)$p
>end
ptr = 0xfffff4e7d700
ptr = 0xfffff4e7de00
ptr = 0xfffff4e7e500
ptr = 0xfffff4e7ec00
ptr = 0xfffff4e7f300
ptr = 0xfffff4e7fa00
ptr = 0xfffff4e80100
ptr = 0xfffff4e80800
ptr = 0xfffff4e80f00
ptr = 0xfffff4e81600
ptr = 0xfffff4e81d00
ptr = 0xfffff4e82400
ptr = 0xfffff4e82b00
ptr = 0xfffff4e83200
ptr = 0xfffff4e83900
위 스크립트를 통해 해당 주소에 연결된 next_free_slot을 호출하는데 NULL일 때까지 출력한다. 가장 앞 주소인 0xfffff4e7d700이 다음 할당에 쓰일 것으로 예상된다. 한번 확인해보자.
pwndbg> n
pwndbg> p b
$11 = (int *) 0xfffff4e7d700
그럼 다음과 같이 free_slot이 변경된다.
pwndbg> set $p = (void **)0xfffff4e7de00
pwndbg> while ($p != 0)
>printf "ptr = %p\n", $p
>set $p = *(void **)$p
>end
ptr = 0xfffff4e7de00
ptr = 0xfffff4e7e500
ptr = 0xfffff4e7ec00
ptr = 0xfffff4e7f300
ptr = 0xfffff4e7fa00
ptr = 0xfffff4e80100
ptr = 0xfffff4e80800
ptr = 0xfffff4e80f00
ptr = 0xfffff4e81600
ptr = 0xfffff4e81d00
ptr = 0xfffff4e82400
ptr = 0xfffff4e82b00
ptr = 0xfffff4e83200
ptr = 0xfffff4e83900
여기까지가 앞서 설명한 내용을 기반으로 실제 확장 모듈을 디버깅하여 확인하는 과정이다.
요약

PHP의 메모리를 관리하는 Zend Memory Allocator는 하나의 Heap Manager와 2MB 크기의 Chunk, 각 청크는 512개의 4KB의 Pages를 관리한다. 이때 청크의 첫 번째 Page는 청크의 헤더 즉, 메타데이터를 표시하는데 사용된다. 그리고 청크의 page를 관리하기 위해서는 64바이트 크기의 free_map을 비트연산을 통해 관리한다. map은 각 페이지가 어떤 할당 또는 해제로 이루어졌는지 표시하며 SRUN, LRUN, FRUN이 존재한다. 사용자는 emalloc API를 사용해서 할당 요청이 오면 사이즈를 확인하고 3KB 이하라면 small bin으로 판단하고 heap에서 관리 중인 해제 링크드 리스트인 free_slot에서 이전에 할당 해제된 페이지(주소)를 반환한다. 그 외의 경우(2MB 이하) page 크기만큼 나눠 필요한 page 개수만큼 구한 뒤 best-fit 알고리즘에 따라 최적의 공간을 찾아내고 할당한다. 없다면 새로운 chunk를 할당받는다. 만약 사용자가 이전에 정한 최대 메모리 값을 넘어가게 된다면 할당 불가능 오류 메시지를 내뱉게 된다.
마무리

PHP 언어에서 객체를 할당하게 되면 이는 사용자의 관리 책임에서 벗어나 가비지 콜렉터의 영역으로 넘어가게 되기에 개발자의 관리 책임에서 벗어나게 된다. 하지만 C 언어로 구성된 확장 모듈(pdo, opcache, phpredis … )을 개발하다 보면 앞서 말한 emalloc, efree 등의 Zend Memory Manager의 API를 사용할 때가 온다. 물론 어느 정도 모두 아는 내용이겠지만 아는 내용이 실제로 맞는지 소스코드 또는 디버깅 레벨에서 확인하여 이해하는 영역 또한 필자는 중요하다고 생각했다.
아쉽게도 핵심 영역인 가비지 콜렉터를 다루지 않기 때문에 내용이 조금 지루할 수 있지만 가비지 콜렉터의 기반이기 때문에 아는 것도 중요하다.
모바일 MMORPG의 새로운 시작
9월 18일 정식 출시된 컴투스의 야심작 ‘더 스타라이트’가 모바일 MMORPG 시장에 새로운 바람을 불러일으키고 있다. 기존 모바일 게임의 한계를 뛰어넘은 시각적 완성도와 깊이 있는 게임성을 동시에 구현해낸 작품이다.
본 가이드는 더 스타라이트를 처음 접하는 플레이어들을 위한 종합적인 길라잡이로, 캐릭터 선택부터 고급 전략까지 게임의 모든 요소를 상세히 다룬다.

세계관의 깊이: 스타라이트 전쟁의 서막
더 스타라이트의 배경은 모든 생명과 세상을 지켜주는 중심의 빛 ‘나르시소스’에서 시작된다. 세계의 질서를 유지하던 이 중심축이 어느 마법사에 의해 파괴되면서, 마이어소티스를 노리는 란테프론티어의 침략이 시작된다.
마이어소티스의 영웅 란스가 란테프론티어의 군주 휠을 쓰러뜨리고 나르시소스를 두 개로 분해하지만, 분해된 나르시소스는 빛의 조각 ‘스타라이트’가 되어 세상에 흩어진다. 불안정해진 세계에 재차 란테프론티어의 침공이 시작되자, 스타라이트가 모든 차원의 경계를 넘어 다섯 명의 영웅을 소환하며 본격적인 스타라이트 전쟁이 막을 올린다.
이처럼 탄탄한 세계관은 플레이어가 단순한 게임이 아닌 하나의 거대한 서사 속 주인공이 되는 경험을 선사한다.
영웅 선택과 커스터마이징의 자유
게임에 첫 접속하면 다섯 명의 개성 넘치는 영웅 중 하나를 선택할 수 있다. 이리시아, 데커드, 로버, 실키라, 라이뉴 각각은 두 개의 클래스를 보유하고 있어 플레이어의 취향에 맞는 전투 스타일을 구현할 수 있다.
특히 주목할 점은 클래스 선택 후에도 인게임에서 다른 클래스의 아바타를 착용하여 해당 클래스의 무기와 스킬셋을 자유롭게 사용할 수 있다는 것이다. 또한 기존 캐릭터의 외형을 그대로 사용하는 것이 아니라, 머리부터 발끝까지 플레이어만의 개성을 반영한 커스터마이징이 가능하다.

동시에 플레이할 수 있는 캐릭터는 세 명으로, 각 캐릭터는 고유한 개성과 매력을 지니고 있어 어떤 영웅을 선택하더라도 만족스러운 플레이가 가능하다.
아바타와 수집 시스템의 전략적 깊이
더 스타라이트의 핵심 요소 중 하나는 아바타 시스템이다. 각 영웅마다 착용 가능한 아바타가 있으며, 이를 통해 클래스를 지속적으로 변경할 수 있다. 다만 클래스별로 스킬셋이 완전히 다르기 때문에, 하나의 클래스를 집중적으로 육성하는 것이 효율적이다.

아바타와 탈것, 정령, 무기 소울은 일반부터 전설까지 5단계 등급으로 구성되어 있으며, 가챠 시스템을 통해 획득할 수 있다. 각 아바타는 단순한 외형 변경을 넘어 플레이어의 고유 능력치를 상승시켜 전투력 향상에 직접적인 도움을 준다.
흥미로운 점은 플레이어가 특정 클래스를 선택했더라도 아바타는 해당 영웅의 모든 클래스에 해당하는 것이 나온다는 것이다. 원하는 클래스가 아닐 수 있지만, 합성 시스템을 통해 사용하지 않는 아바타를 새로운 아바타로 재탄생시킬 수 있어 낭비 없는 게임 플레이가 가능하다.
스킬 시스템의 전략적 운용
더 스타라이트의 스킬 시스템은 단순한 액션이 아닌 전략적 사고를 요구한다. 각 클래스별로 액티브와 패시브 스킬이 존재하며, 장착된 아바타에 따라 사용 가능 여부가 결정된다.

스킬은 퀘스트 완료나 골드를 통한 상점 구매로 획득할 수 있다. 액티브 스킬은 버프류와 공격류로 나뉘며, 특히 공격류의 경우 연계스킬까지 구성할 수 있어 화려하고 역동적인 전투가 가능하다.
모든 스킬은 ‘전투의 인도’ 또는 ‘전투의 경험’ 주문서와 골드, 그리고 약간의 운을 통해 강화할 수 있다. 각 스킬에는 둔화, 공격력 향상 등 다양한 효과가 포함되어 있어, 플레이어는 스킬 사용 순서를 전략적으로 배치하여 전투에서 우위를 점할 수 있다.
위 영상은 로버(연금술사)와 실키라(헌터)로 보스를 공략하는 장면이다. 보스의 공격 패턴(빨간 그림자)을 회피하며 액티브 스킬로 반격해야 한다. 데미지는 레벨, 아바타, 장비, 스킬 레벨 등 다양한 요소에 의해 결정된다.
장비 제작과 채집의 순환 경제
캐릭터 성장에서 빼놓을 수 없는 요소가 바로 장비다. 장비 아이템은 퀘스트나 몬스터 처치를 통해 획득할 수 있지만, 직접 제작하는 방법도 있다.

제작에 필요한 기본 재료는 필드에서 채집할 수 있는 나무, 미스릴, 원단초가 주를 이루며, 아이템별로 추가 재료가 필요하다. 제작된 장비는 강화석을 통해 업그레이드할 수 있는데, 일정 단계까지는 100% 성공률을 보장하지만 그 이후부터는 확률적으로 성공하며 실패 시 아이템이 파괴된다.
중요한 것은 아이템 관리 전략이다. 불필요한 아이템을 무작정 분해하기보다는 먼저 아이템 수집에 등록한 후, 정말 필요 없는 아이템만 분해하는 것이 좋다. 고가의 장비라면 거래소에 등록하여 재화를 획득하는 것이 최선의 선택이다.
전투에 지친 플레이어들은 필드에서의 채집 활동을 통해 평화로운 시간을 보낼 수 있다. 게임 내 거래소 시스템 덕분에 전투 없이도 수익을 창출할 수 있는 방법이 마련되어 있어, 다양한 플레이 스타일을 지원한다.
성장 시스템의 다각화

더 스타라이트는 아바타, 레벨, 장비, 스킬 강화 외에도 다양한 성장 요소를 제공한다. 특히 주목할 만한 것은 아이템 도감 시스템으로, 자신의 클래스와 맞지 않는 아이템이더라도 도감에 등록하여 캐릭터의 고유 능력치를 업그레이드할 수 있다. 등록된 장비 아이템은 소모되지만, 영구적인 능력치 향상이라는 가치를 제공한다.
이 외에도 업적 시스템을 통한 업적 주화 획득, 몬스터 도감, 성물 업그레이드 등 다채로운 성장 경로가 마련되어 있어 플레이어들이 지루함을 느낄 틈이 없다.
소셜 요소와 협동 플레이

길드 시스템은 더 스타라이트의 핵심 소셜 요소다. 길드에 가입하면 길드 주화를 획득할 수 있을 뿐만 아니라 경험치 추가 획득 등 다양한 혜택을 누릴 수 있다. 더 스타라이트를 제대로 즐기고 싶다면 반드시 길드를 창설하거나 가입해야 한다.

던전 시스템은 협동 플레이의 재미를 극대화한다. 던전은 파티원과 함께 입장할 수 있으며, 유형과 난이도에 따라 획득 가능한 보상이 달라진다. 아이템 도감 등록이나 장비 아이템 제작 재료를 얻을 수 있는 중요한 구간이므로, 입장 티켓이 남아 있다면 반드시 소모해 보상을 챙기는 것이 성장에 큰 도움이 된다.
실전 플레이 팁
장시간 플레이를 통해 얻은 유용한 팁들을 공유한다.
- 아이템 수집 효과는 초기에는 미미하지만, 등록량이 많아지면 무시할 수 없을 정도로 강력해진다. 제작이나 거래소를 통해서라도 꾸준히 등록하고, 아이템을 함부로 버리지 말자.
- 필드에서 채집 요소가 보인다면 반드시 채집하자. 나중에 따로 모으려면 큰 수고가 된다.
- 스킬 강화에 사용하는 전투의 인도(경험치)는 쉽게 얻을 수 있는 자원이 아니므로, 스킬 설명을 꼼꼼히 읽고 자신에게 필요한 곳에 적절히 투자하자.
- 몬스터 도감에 등록된 몬스터는 수가 많으므로, 효과를 잘 확인한 뒤 알맞게 투자하는 것이 좋다.
- 일일 의뢰 보상은 상당히 쏠쏠하다.
새로운 모바일 MMORPG의 기준점
더 스타라이트는 최근 모바일 게임에서는 보기 드문 화려하고 정교한 그래픽을 자랑한다. 이러한 시각적 완성도는 플레이어로 하여금 현실과 게임 세계의 경계를 무너뜨리게 하며, 마치 진짜 마이어소티스의 영웅이 된 듯한 몰입감을 선사한다.
최근 MMORPG라는 타이틀을 내세운 모바일 게임들 중에서 진정한 재미를 느끼기 어려웠던 것이 사실이다. 하지만 더 스타라이트는 고착화된 모바일 게임 시장에 새로운 활력을 불어넣는 작품이다. 깊이 있는 게임성과 뛰어난 완성도를 바탕으로, 모바일 MMORPG 장르의 새로운 기준점을 제시하고 있다.
술을 좋아하는 사람이라면, 한 번쯤은 자신만의 소주잔을 직접 만들어보고 싶다는 생각이 들기 마련이다. 기자 역시 그런 마음으로 공방을 찾았다. 수많은 공방 중 ‘별그다음 레진공방’을 선택한 이유는 단순했다. 가격은 다른 곳과 비슷하게 3만8천 원이었지만, 이곳에서는 무려 소주잔 2개를 만들 수 있었기 때문이다. 대부분의 공방이 1개만 제작 가능한 것과 비교하면 꽤 매력적인 조건이었다.
별그다음 레진공방 개요

- 운영 시간: 11:00 ~ 20:00 (네이버 예약 필수)
- 위치: 부천역 근처
- 규모: 약 10평 규모, 편히 쉴 수 있는 소파와 중앙의 큰 테이블이 마련되어 있어 아늑한 분위기
- 운영 방식: 예약제로 운영돼 쾌적하고 여유롭게 제작 가능
- 할인: 네이버 예약 시 할인 혜택 제공



만들 수 있는 작품 & 가격

이곳에서는 소주잔뿐 아니라 스마트톡, 키링, 책갈피, 보석함 등 다양한 레진 공예품을 만들 수 있어, 레진공예에 관심 있는 사람이라면 즐거운 시간을 보낼 수 있을 것이다. 네이버에 소개된 가격은 다음과 같다.
- 바다 트레이 만들기(수성아크릴레진) 38,000원
- 보석함&하트 트레이 만들기 38,000원
- 레진 트라이탄 컵 만들기(1개) 30,000원
- 레진 소주잔 만들기(2개) 38,000원
- 스마트톡, 키링 레진 원데이 클래스(2개) 38,000



도안은 어떻게 준비할까?
도안을 가져가면 구현 가능한 재료와 방법을 선생님이 추천해 주기 때문에 만족스러운 작품을 만들 확률이 높다. 또한 공방 인스타그램 @artstudio_stardaum에는 다양한 샘플이 게시돼 있어 참고하기 좋다. 기자는 도안을 생각해오지 않아 선생님께서 샘플을 몇가지 보여주시고 참고하도록 도움을 주셨다.
제작 과정

손잡이가 있는 잔과 없는 잔 중 선택할 수 있었는데, 기자는 두 잔 모두 손잡이가 있는 디자인으로 골랐다. 귀여운 모양에다 레진을 두껍게 넣을 수 있어 매력적이었다. 재료 선택 후, 하나는 바닷가 풍경, 다른 하나는 눈 덮인 나무 풍경을 담기로 했다.
자리에 놓인 재료들은 정말 다양했다. 색깔과 크기가 다른 반짝이는 물론, 여러 종류의 스티커와 물감까지 준비돼 있어 마치 작은 보물창고를 보는 듯했다. 어떤 그림을 담을지 고민하며 약 15분 정도 시간을 보냈는데, 하고 싶은 분위기나 느낌을 말하면 선생님께서 거기에 맞는 재료를 바로 추천해 주셔서 생각보다 어렵지 않게 구상을 마칠 수 있었다. 결국 하나는 바닷가 모래사장과 파도가 밀려오는 장면을, 다른 하나는 밤하늘 아래 눈이 소복이 쌓인 나무 풍경을 담아보기로 결정했다.


만드는 방법 자체는 의외로 간단했다. 먼저 UV 레진 액체를 잔의 밑면에 고르게 펴 바른 뒤, 완성된 소주잔을 바라봤을 때 가장 앞에 놓이고 싶은 요소부터 차례대로 얹어 나가면 된다. 바닷가 느낌을 내기 위해 고른 것은 모래알과 조개, 그리고 바다색을 표현할 수 있는 반짝이였다. 파도는 직접 기포를 불어내 표현할 수도 있었지만 원하는 형태가 나오지 않을 수 있다고 해서, 선생님은 파도 모양 스티커를 추천해 주셨다. 모래알과 조개를 넣은 뒤 파도를 붙이기 위해 레진을 한 번 더 채웠고, 그 위에 반짝이를 얹어 바다빛을 살렸다. 이렇게 완성된 한 층은 UV 램프에 넣어 몇 분간 굳히면 더 이상 움직이지 않고 단단히 고정된다.



잔이 굳는 동안에는 자연스럽게 두 번째 소주잔 작업으로 넘어가면 된다. 기자는 눈 덮인 나무 풍경을 담고 싶었는데, 이를 위해서는 순서가 중요했다. 먼저 눈을 표현하고 굳힌 뒤, 그 위에 나무를 올려야 했다. 대략적인 위치를 잡아본 뒤 흰색 물감과 레진을 섞어 눈처럼 바르고 굳혔는데, 막상 나무를 얹어보니 불안한 예감이 들었다. 예상대로 나무에서 초록물이 스며나오기 시작했다. 너무 오랜 시간 고민하다 보니 레진이 스며들며 색이 번져버린 것이다. 선생님도 면봉으로 닦아내시다가, 차라리 비슷한 크기의 다른 나무로 교체하는 것이 낫겠다고 조언해 주셨다. 결국 번져버린 나무를 걷어내고 새 나무로 빠르게 교체해 다시 굳히는 작업을 했다.



한편, 나무와 씨름하는 사이 바다 소주잔은 완성 단계에 들어갔다. 이미 이 정도만으로도 충분히 예뻐 보였지만, 빈 공간을 더 채우고 싶은 마음에 물감을 사용해 구석구석 색을 덧입히기로 했다. 팔레트에 짜둔 레진에 조금씩 물감을 섞어 발라보니 처음엔 연해서 색이 옅게 나왔지만, 오히려 그 은은한 톤이 더 자연스럽게 느껴져 그대로 마무리하기로 했다.



문제의 나무 소주잔은 굳히는 과정에서 드디어 모습을 드러냈다. 그러나… 두둥. 결과는 예상대로 ‘대실망’. 눈덩이가 지나치게 크게 올라가 있어 나무에 눈이 쌓였다기보다는 구름이 뒤덮은 것처럼 보였다. 아쉬움을 달래고자 배경을 더 칠하기로 했다. 선생님께 보라색과 남색을 섞으면 좋겠다고 하니 팔레트에 색을 짜 주셨다. 그 위에 밤하늘을 입힌 뒤 다시 UV 램프에 넣으며 속으로 ‘제발 이번에는 잘 나와라…’ 하고 기도했다. 굳히는 동안에는 선생님과 가벼운 대화를 나누며 마음을 달랬다.


전체적인 제작 시간은 대략 1시간 반에서 2시간 정도 걸렸다. 중간에 구상하거나 배치를 바꾸는 시간을 줄인다면 1시간 반 이내에도 충분히 완성할 수 있을 듯했다.
결과물 & 제작 꿀팁

완성된 작품은 만족과 아쉬움이 반반이었다. 바다 소주잔은 청량하고 산뜻하게 완성됐지만, 나무 소주잔은 배경과 겹쳐 다소 흐릿하게 보였다.
예쁘게 만드는 팁
– 배경을 꽉 채우지 않아도 여백의 미가 있어 매력적이다.
– 준비된 샘플을 참고하면 실패 확률이 줄어든다.
완성된 잔은 리본까지 달린 포장으로 깔끔하게 마무리되어 선물용으로도 손색없었다. 이니셜을 넣어 포인트를 줄 수도 있어 선물용으로도 충분히 매력적이다. 무엇보다 함께 와서 만드는 과정 자체가 즐거운 추억이 되니, 그 의미가 더 크다.


손재주가 없어도 부담 없이 도전할 수 있는 경험이라 누구에게나 추천할 만하다. 실제로 사용해 보니 밑바닥의 레진이 잔 벽에 반사되며 은은하게 색이 변하는데, 특히 바다 소주잔은 청량한 파란빛이 살아나 술맛을 한층 더 돋워주었다.
앞으로도 이 잔에 술을 따를 때마다 공방에서 보낸 즐겁고 특별한 시간이 자연스레 떠오를 것 같다. 그렇게 추억을 담은 소주잔은 단순한 공예품을 넘어 일상 속 작은 행복이 되어줄 것이다.



‘더 스타라이트'(The Starlight)가 드디어 새로운 차원으로의 출격을 준비했다. 컴투스가 퍼블리싱하고 게임테일즈가 개발한 이 작품은, 여러 차원에 흩어진 ‘스타라이트’를 찾아 떠나는 선택받은 영웅들의 여정을 담은 멀티버스 세계관 기반 MMORPG다.
언리얼 엔진 5를 기반으로 한 탁월한 그래픽과 독창적인 멀티버스 설정을 강점으로 내세우며, 기존 MMORPG의 본질을 계승하는 동시에 현시대 유저들이 원하는 새로운 경험을 제공하는 초대형 작품이다.
이번 기사에서는 ‘더 스타라이트’라는 거대한 열차에 탑승하기 전, MMORPG를 처음 접하는 분들을 위해 알아두면 좋을 세 가지 핵심 키워드를 소개한다.
1. 세계관의 중심이 되는 ‘캐릭터’

소설에서 태어난 생생한 영웅들

‘더 스타라이트'(The Starlight)의 스토리는 정성환 대표가 집필한 네 편의 원작 소설, 『황금의 나르시소스』, 『홀리나이트』, 『색마전설』, 『사일런트 테일』을 기반으로 한다. 『황금의 나르시소스』를 중심으로 『사일런트 테일』과 『홀리나이트』의 인물들이 합류하며, 플레이어는 방대한 멀티버스 세계관 속에서 다양한 영웅들을 만나게 된다.
『홀리나이트』에서는 미노타우르스 데커드, 다크 엘프 라이뉴, 소인족 로버, 엘프 이리시아가 등장하고, 『사일런트 테일』에서는 현대적 무기인 ‘총’을 사용하는 실키라가 합류한다. 앞으로도 아직 공개되지 않은 인물들이 ‘더 스타라이트’의 세계에 추가될 가능성이 열려 있다.


각 캐릭터는 종족과 외형, 전투 방식에서 뚜렷한 개성을 지니며, 플레이어는 자신의 취향에 맞는 전투 스타일을 선택할 수 있다. 특히 듀얼 클래스 시스템을 통해 하나의 캐릭터가 두 가지 전투 방식을 활용할 수 있다는 점이 큰 특징이다.
개성 넘치는 전투 스타일

각 영웅은 모두 2개의 직업(듀얼 클래스)을 지니고 있어 플레이 스타일에 따라 전투 방식을 선택할 수 있다.
예를 들어, 데커드는 근접 전투형으로 HP 관리가 중요하며 손이 많이 가지만, ‘더 스타라이트’ 특유의 묵직한 타격감을 가장 잘 느낄 수 있는 캐릭터다. 반면, 실키라는 판타지 세계에서 드물게 총기를 사용하는 원거리 캐릭터로, 적을 멀리서 제압하는 데 특화되어 있다. 판타지 속 ‘총’이라는 요소는 ‘더 스타라이트’가 지향하는 차원 간 경계의 파괴, 즉 SF와 판타지가 만나는 세계관을 상징적으로 드러내기도 한다.

만약 어떤 캐릭터를 선택할지 고민된다면 캐릭터 선택창의 설명을 꼼꼼히 읽어보자. MMORPG 입문자라면 비교적 난이도가 낮은 원거리 캐릭터로 시작하는 것을 추천한다. 게임에 익숙해진 후에는 결국 이 매력적인 캐릭터들을 모두 경험하게 될 것이다.
2. 세계로 안내하는 ‘퀘스트’

자연스러운 성장의 지름길
MMORPG를 상징하는 요소는 많지만, 그중 가장 대표적인 것은 단연 퀘스트다. 플레이어는 다양한 퀘스트를 수행하며 낯선 세계에 적응하고, 수많은 NPC와 상호작용을 경험하게 된다. ‘더 스타라이트’ 역시 예외가 아니다. 준비된 수백 개의 퀘스트는 플레이어를 자연스럽게 세계에 몰입시키고 모험의 길로 이끈다.

게임 시작과 함께 화면 오른쪽 위의 퀘스트 버튼을 눌러 메인 퀘스트를 진행하자. 메인 퀘스트는 캐릭터를 자연스럽게 성장시켜주며 필요한 장비와 아이템을 보상으로 제공한다. 처음에는 깊게 생각할 필요 없이 메인 퀘스트의 스토리를 읽어가며 진행하면 한 편의 판타지 소설을 읽는 일석이조의 효과를 얻을 수 있다.

친절한 시스템과 다양한 콘텐츠
퀘스트를 진행하다 보면 여러 성장 시스템이 언락되면서 가이드 퀘스트가 등장한다. 가이드 퀘스트는 플레이어를 한 단계 더 성장시켜줄 중요한 콘텐츠로, 사용한 아이템을 퀘스트 보상으로 다시 제공하는 친절한 구성을 갖추고 있다.
특히 더 스타라이트의 퀘스트는 게임 플레이를 최대한 방해하지 않도록 NPC와의 대화가 퀘스트 UI 위로 표시되는 세심한 배려를 보여준다.

또한 일정 단계 이후에는 서브 퀘스트와 일일 의뢰가 등장한다. 서브 퀘스트는 메인 못지않은 세심한 스토리를 갖추고 있어 플레이하는 재미가 크며, 일일 의뢰는 꾸준한 보상을 제공해 성장에 도움을 준다.


3. 개성을 완성하는 ‘아바타’

MMORPG의 진화, 아바타 시스템
최근 MMORPG에서 가장 중요한 요소 중 하나를 꼽으라면 단연 아바타(스킨) 시스템이다. 과거 MMORPG에서는 장비 착용 시 외형이 그대로 캐릭터에 반영되었고, 이는 처음에는 신선한 충격이었다. 하지만 시간이 흐르면서 문제가 드러났다. 고레벨 구간에서는 효율 좋은 장비가 정해져 있어, 모든 캐릭터가 똑같은 외형을 갖게 된다는 점이다.


이 한계를 극복하기 위해 도입된 것이 바로 아바타 시스템이다. 장비 성능과는 별개로 아바타를 착용하면 외형을 자유롭게 꾸밀 수 있어, 플레이어의 개성과 꾸미기 욕구를 만족시켜준다.
더 스타라이트의 아바타
‘더 스타라이트'(The Starlight) 역시 풍부한 아바타 시스템을 제공한다.
- 등급: 일반부터 전설까지 다양한 등급으로 구성
- 외형: 캐릭터별로 수십 가지 아바타 제공
- 직업 변경: 아바타 교체만으로 캐릭터가 보유한 2가지 직업을 전환 가능
즉, 한정된 캐릭터 슬롯을 추가로 사용하지 않고도, 아바타를 바꿔 착용하는 것만으로 직업 전환이 가능하다. 이는 ‘더 스타라이트’가 제공하는 플레이 유연성과 성장 자유도를 보여주는 대표적 특징이라 할 수 있다.
새로운 경험이 시작된다

더 스타라이트는 이 세 가지 키워드로만 정의되는 게임이 아니다. 핵심 아이템은 필드, 월드 보스, 파티 던전 등 다양한 콘텐츠에서 획득할 수 있으며, PVP가 가능한 던전인 별의 낙원과 같은 독창적 콘텐츠도 준비되어 있다. 원작 소설을 바탕으로 한 탄탄한 스토리, 배틀로얄 콘텐츠인 영광의 섬, 판타지와 기계가 섞인 독특한 분위기까지 주목할 요소가 풍부하다.


9월 18일 정식 출시한 ‘더 스타라이트’. 여기서 소개한 세 가지 핵심 키워드를 숙지하고 시작한다면 당신도 새로운 차원의 MMORPG 재미를 경험할 수 있을 것이다. 차원을 넘나드는 모험이 당신을 기다린다.
스타라이트’ 공식 사이트 & 유튜브 채널 바로가기
첫인상과 분위기

퇴근 후 자연스럽게 떠오르는 고민, “오늘은 어디서 한잔하지?” 흔히 포차나 프랜차이즈 술집이 먼저 생각나지만, 제대로 된 안주와 차분한 분위기를 원할 때는 선택지가 많지 않다. 그럴 때 발견한 곳이 바로 ‘민소푸’ 이자카야였다.
가게는 골목 안쪽에 숨어 있어 약간의 비밀스러운 느낌을 준다. 내부는 은은한 조명과 목재 인테리어가 아늑하게 공간을 감싸고, 잔잔한 음악이 흐르며 대화하기 좋은 분위기를 만든다. 옆자리 소음도 크지 않아 업무 이야기든 가벼운 수다든 편하게 이어갈 수 있었다. 다만, 테이블이 6개 정도라 최대 10명 남짓만 수용 가능해 대규모 회식에는 적합하지 않아 보였다.

솔직한 메뉴 리뷰

① 사시미 모리아와세 (38,000원)
가장 먼저 주문한 건 모둠 사시미였다. 광어, 연어, 참치, 도미, 단새우, 간장에 절인 연어알 등이 푸짐하게 담긴 모둠 사시미. 회는 두툼하고 씹는 맛이 살아 있었으며, 숙성 정도가 딱 적당해 단순히 신선함을 넘어서 “계속 손이 가는 회”라는 표현이 잘 어울렸다.

② 들기름 연어알 소바 (12,000원)
민소푸의 개성을 가장 잘 보여주는 메뉴였다. 고소한 들기름 향이 먼저 퍼지고, 연어알이 입안에서 톡톡 터지며 식감과 풍미가 완벽하게 어우러졌다. 연어알과 날치알이 평범한 메밀소바와는 결이 다른 만족감을 줬고, 술안주로도 식사로도 훌륭한 선택이었다.

③ 새우 & 아나고 튀김 (19,000원)
튀김은 바삭함과 속살의 촉촉함이 잘 살아 있었다. 새우는 통통하고 씹을수록 단맛이 배어나왔으며, 아나고는 담백하고 부드러워 술과 함께 먹기에 더할 나위 없었다. 곁들여 나온 레몬 생크림 소스가 기름기를 잡아주면서 상큼한 마무리를 더해줬다. 조금 아쉬운 점은 튀김 옷이 두꺼운 편이라 느끼한 것을 잘 못먹는 분들이나, 튀김류를 좋아하지 않으시는 분들에게는 호불호가 갈릴 것 같다.

이외에도 다양한 메뉴가 아래와 같이 준비되어 있다.


주류와의 조화

안주가 워낙 든든하다 보니, 자연스럽게 술도 한 병 곁들이게 됐다. 이날은 동료와 함께 사케 한 병을 주문했는데, 차갑게 식힌 사케가 회와 소바, 튀김과 모두 잘 어울렸다. 특히 들기름 소바의 고소함과 사케의 깔끔한 뒷맛이 잘 맞아떨어져, 술잔이 어느새 비워져 있었다. 메인으로 강조할 필요는 없지만, 민소푸에 가신다면 사케 한두 잔 곁들이는 것도 추천하고 싶다.
또 하나의 재미는 사케 주문 시 잔을 직접 고를 수 있는 서비스였다. 작은 디테일이지만 색다른 경험을 더해줬다.


가격과 만족도

민소푸의 강점은 단연 가격 대비 만족도였다. 신선한 사시미부터 개성 있는 소바, 퀄리티 높은 튀김까지 즐기고도 부담스럽지 않았다. 서울 시내 다른 이자카야와 비교해도 가격은 합리적이고, 맛과 구성이 그 이상이었다.

회식장소로서 체크리스트

회식 자리를 고를 때 보통 따지는 기준들이 있다. 민소푸가 이 조건들에 얼마나 잘 맞는지 하나씩 살펴보겠다.
- 다수 인원 수용
가게가 아주 크진 않지만 미리 연락해 테이블 배치를 수정하면 4~8명 정도의 팀 단위 모임은 무리 없이 가능해보인다. 큰 단체 회식보다는 소규모로 모여 이야기 나누기 딱 좋은 공간이다. - 예약 가능 여부
퇴근 시간대에는 자리가 금방 찬다. 네이버 예약 시스템이 마련되어 있으니 미리 예약하는 것이 좋다.
- 가격대
인당 2~3만원 선에서 안주와 술을 모두 즐길 수 있어 회식 예산 대비 만족도가 높다. - 위치
가산디지털단지역 인근이라 대중교통 접근성은 좋은 편이다. 다만, 컴투스 포함 일부 직장에서는 역 반대편이라 다소 멀게 느껴질 수 있다.
⚠️만약 해산물을 못 드신다면?!
오뎅탕, 돼지고기 요리도 준비되어 있다. 다만, 메인 메뉴 대부분이 해산물 중심이라 팀원들과 미리 상의가 필요하다.
총평과 추천 포인트

민소푸는 단순히 술을 마시는 공간이 아니라, 하루를 마무리하며 제대로 된 한 끼와 술을 즐길 수 있는 곳이었다.
- 신선하고 정성스러운 요리
- 차분하고 편안한 분위기
- 합리적인 가격과 만족스러운 퀄리티
이 세 가지가 잘 어우러져, “가디 직장인이라면 꼭 가봐야 할 이자카야”라는 생각이 들었다. 특별한 날보다는 일상 속에서 자주 찾게 될 법한 곳, 메뉴 하나하나가 기대 이상인 곳. 앞으로도 회식이나 퇴근 후 한잔 자리에서 민소푸는 제 최우선 선택지가 될 것 같다.
신선한 사시미, 개성 있는 소바, 바삭한 튀김에 사케 한 잔까지. 가디에서 이자카야를 찾고 있다면 민소푸는 후회 없는 선택이 될 것이다!
지난해 4월, 세계적인 K-POP 아이돌 블랙핑크 리사의 인스타그램에 수상한 녀석이 등장했다. 바로 동그란 눈에 삐죽 솟은 귀, 특유의 장난꾸러기 표정의 정체불명 몬스터, ‘라부부’였다.
수많은 ‘어른이’들의 지갑을 울린 ‘라부부’의 식을 줄 모르는 인기는 현재 진행 중이다. 지난 9월 12일부터 약 2주간 진행하는 성수 오프라인 팝업 스토어, <라부부의 수상한 편의점>은 사전 예매 오픈 시작과 동시에 대기 인원 약 3만 명이 몰리며 10분 만에 매진 엔딩을 맞았다.

치열한 경쟁과 텅장을 감수해야만 만날 수 있는 ‘라부부’. 하지만 그런 수고로움 없이도, 언제 어디서나 나만의 귀요미들을 만날 수 있다면 믿을 수 있겠는가!

귀요미들이 넘쳐나는 ‘미니게임천국’에서라면 가능한 이야기다. 피처폰 시절부터 우리의 마음을 사로잡았던 익숙한 오리지널 캐릭터는 물론이고, 동물부터 사물까지 다양한 외형의 Oㅐ그i…☆들이 여러분의 간택을 기다리고 있다.
오늘은 너무 귀여워서 나만 보기 아까운 이 캐릭터들 사이에서, 여러분이 ‘나만의 라부부’를 찾을 수 있도록 살펴보는 시간을 가져보려고 한다.

추억 소환! 미니게임천국

‘미니게임천국’은 2005년 피처폰 시절 처음으로 등장해, ‘엄지’ 하나로 전 국민을 대동단결시킨 전설적인 모바일 게임이다. 남녀노소 누구나 쉽게 즐길 수 있는 원 버튼 조작 방식과 아기자기한 캐릭터로 선풍적인 인기를 끌었다.

‘미니게임천국’이 궁금하다면, 공식사이트에서 ‘뿌려뿌려’ 외 3종의 미니게임을 설치 없이 플레이해 볼 수 있으니 방문해 보도록 하자. 묘한 중독성에 게임을 설치하고 있는 스스로를 발견할 것이다.
세상에 이 아기들 좀 보세요

‘미니게임천국’의 핵심은 단연 개성 넘치는 캐릭터들이다. 현재 총 177종의 캐릭터들이 여러분의 간택을 기다리고 있으니, 지금 바로 모든 캐릭터를 한 눈에 살펴보자.




각 캐릭터는 미니게임별로 특화된 능력치를 갖추고 있어, 다양한 게임을 즐기다 보면 자연스럽게 여러 캐릭터를 수집하고 싶어진다.

이전에 콜라보도 여러 차례 진행해, 자세히 살펴보다 보면 ‘슈퍼 액션 히어로’의 ‘히어로’, ‘액션퍼즐패밀리’의 ‘아쿠’, 그리고 ‘서머너즈 워’의 ‘아크엔젤’ 등 익숙한 얼굴들이 보여 반갑다.

‘미니게임천국’ 캐릭터들의 매력 중 하나는 직관적이면서도 센스 넘치는 네이밍에 있다. 빗자루 캐릭터 이름은 싸리 빗자루 할 때의 그 ‘싸리’고, ‘치아’ 캐릭터 이름은 양치를 연상케 하는 ‘치카’와 같은 식이다. 스킨명도 대충 일반 스킨, 희귀 스킨 이런 식이 아니라 스킨의 특징을 살려 이름을 붙였다. ‘충치카’라니, 너무 귀엽다!

그러나 이 분야 갑은 ‘파로미’다. 아무래도 과거 광고계에 센세이션을 일으켰던 ‘파로마가구’에서 따온 듯하다. 가구로 캐릭터를 만들 생각을 한 것도 신박한데, 이름마저 위트 있어 소장 욕구를 불러일으킨다.
여기가 바로 룩덕들의 천국

한편, 캐릭터들을 하나씩 살펴보다 보면, 유독 남다른 멋을 뽐내는 친구들이 눈에 들어온다. 이 친구들이 달라 보이는 이유는 바로 ‘코스튬’을 걸쳤기 때문이다!

캐릭터에 대한 애정을 무한대로 끌어올리는 ‘코스튬’ 시스템은 이 게임의 백미 중 백미다. 마치 어린 시절 즐겨 하던 인형 놀이처럼, 수많은 아이템을 조합해 나만의 캐릭터를 꾸미다 보면 시간 가는 줄 모르게 된다.
게다가 모든 코스튬에는 ‘코스튬 효과’와 ‘점수 보너스’가 존재해, 어떤 코스튬을 착용하냐에 따라 플레이 시 추가적인 이득을 볼 수 있다. 하지만 그렇다고 해서 점수를 위해 원하는 코스튬을 포기할 필요는 없다!

‘미니게임천국’에는 ‘캐릭터 기본 모드’와 ‘캐릭터 꾸미기 모드’가 존재해, 효과는 효과대로 받고 외형은 원하는 대로 꾸밀 수 있다. 덕분에 패션 파괴자가 될 상황은 면했다.

해미 덕후 콘셉트의 코스튬이 너무 찰떡같이 어울려서 자주 플레이하게 됐다.
꾸미다 보면 ‘얘 내 친구 닮았는데?’ 싶은 순간들도 종종 발생한다. 친구들과 함께 서로를 닮은 캐릭터를 만들며 우정을 나눠보도록 하자.
나의 최애를 소개합니다

이처럼 무한 꾸미기 조합이 가능하다 보니, 수많은 캐릭터들 사이에서 대체 누구를 최애로 삼아야 할지 행복한 고민에 빠지게 된다. 그런 분들이 참고할 수 있도록 다른 사람들의 최애 Pick을 준비했다.

최애 Pick, Pick, Pick!






당신의 운명은 누구?

지금까지 ‘미니게임천국’의 매력적인 캐릭터들을 만나보았다. 독특하고 개성 있는 캐릭터와 코스튬들은 단순한 수집을 넘어, 일상 속 작은 활력소로 다가온다. 내 맘대로 꾸민 귀여운 캐릭터가 게임 속에서 발 바쁘게 움직이고 있는 모습을 보고 있으면, 비싼 돈을 주고 산 인형 못지않은 애정과 뿌듯함이 느껴진다. 이것이 바로 ‘미니게임천국’이 주는 소소하지만 확실한 행복이 아닐까.

각기 다른 매력을 가진 수많은 캐릭터 사이에, 과연 여러분의 마음을 사로잡을 운명의 짝은 누가 될까? 지금 바로 ‘미니게임천국’에 접속해, 나만의 최애와 즐거운 시간을 가져 보자.

참고로 현재 컴투스 스토어에서 미니게임천국의 다양한 굿즈를 판매하고 있다. 기자도 벌써 해미 쿠션을 ‘내돈내산’으로 두 개나 구매했다. 관심 있는 사람들은 한 번씩 방문해 보길 바란다!
‘미니게임천국’ 공식 사이트 & 컴투스 스토어 바로가기
지난 8월 21일부터 25일까지 독일 쾰른에서 열린 게임스컴 2025(Gamescom 2025)는 전 세계 120여 개국, 1,300여 개 기업이 참여한 세계 최대 규모의 게임 전시회다. 매년 수십만 명의 게이머와 업계 관계자들이 모여 최신 게임, 기술, 플랫폼을 경험하는 이 자리에서 컴투스플랫폼은 게임 백엔드 서비스 ‘하이브플랫폼(Hive Platform)’을 유럽 시장에 본격적으로 알리는 첫걸음을 내디뎠다. 게임스컴 출장기를 전한다.

엔지니어링 파트너로 서다

컴투스플랫폼은 게임스컴 B2B 전시관에 단독 부스를 마련했다. 부스에서는 유럽을 포함한 전 세계 게임 개발사 및 퍼블리셔들을 대상으로 하이브플랫폼의 독보적인 기술력과 경쟁력을 알리고 글로벌 시장을 함께 개척할 파트너를 모집했다. 기자는 플랫폼사업총괄 부서 소속으로 이번 행사에서 두 가지 미션을 맡았다. 첫째, 데모 앱 Planet explore를 기반으로 Hive SDK 적용 사례를 시각적으로 설명하며 기술력과 효율성을 직접 체험할 수 있는 기회를 제공하는 것. 둘째, 시연 이후 방문객과 고객사의 기술 질의에 답하는 것. 단순한 시연자가 아니라 하이브플랫폼의 기술적 신뢰성을 현장에서 증명하는 엔지니어링 파트너 역할을 수행한 것이다.


하이브플랫폼(Hive Platform)이란?
컴투스플랫폼의 게임 백엔드 서비스(Game Backend Service)다. 인증, 빌링, 애널리틱스, 웹상점, 보안 등 필수 기능을 하나의 SDK와 통합 관리 페이지로 제공해 게임사가 핵심 콘텐츠 개발에만 집중할 수 있도록 한다. 이는 개발과 운영 업무의 효율을 높여 출시 일정을 단축하고 수익을 향상시키도록 돕는다. 현재까지 250개 이상의 게임이 하이브플랫폼을 적용했으며, 하이브플랫폼이 탑재된 게임의 총 누적 유저수는 9억 명에 달한다.
데모 앱 시연을 위한 준비

시연 대상은 사전 예약된 고객사와 부스를 방문한 참관객이었다. 특히 고객사 미팅은 하이브플랫폼 도입 가능성이 높은 고객과의 자리이기에 짧고 명확한 시연이 필요했다. ‘데모를 잘한다’는 의미는 곧 다음을 지키는 것이다.
- 데모는 10분 이내에 끝내 지루하지 않게 한다.
- 기술적 사전 준비를 철저히 한다.
- 기기에 Planet explore를 클린 재설치한다.
- 네트워크 연결 상태를 점검한다.
- 기기에 Planet explore를 클린 재설치한다.
현장은 소음이 많아 발표 형식으로 진행하면 집중도가 떨어진다. 따라서 짧게 시연하고, 남은 시간을 자유로운 질의응답이나 하이브플랫폼의 추가 장점을 어필하는 데 활용하는 것이 효과적이었다.
네트워크 문제
국내에서 준비한 데이터 에그를 사용할 수도 있지만 현지 속도가 느리고, 사용량 초과 시 속도 제한에 걸릴 수도 있다. 이로 인해 Hive SDK가 지연되는 듯한 인상을 줄 수 있다. 또한 데이터 에그 단말기로 네트워크가 연결되면 IP 주소가 간헐적으로 한국으로 할당되는 경우도 발생했다. 이 경우 유럽 GDPR 팝업이 아닌 한국 약관 팝업이 노출되는 문제도 생겼다. 이에 현장과 호텔의 무료 와이파이·핫스팟을 활용해 데모 네트워크 환경을 구성했고, 시연을 훨씬 쾌적하게 진행할 수 있었다.
시간 제약
데모 시연은 실제 스토어에서 Planet explore 앱을 기기에 클린 재설치하는 것으로 시작한다. 이렇게 재설치하는 이유는 Hive SDK 초기화 과정에서 ‘약관 동의 팝업’을 노출시켜 해당 기능을 간략히 설명할 수 있어야 하기 때문이다. 그러나 매 미팅마다 앱을 다운로드해 재설치하는 과정은 시간이 많이 걸린다. 이에 대비해 Planet explore를 바로 설치할 수 있도록 프로젝트 빌드를 백업해 두었고, 실제로 자주 활용했다. 돌이켜보면 프로젝트 전체가 아니라 .ipa 파일이나 .apk 설치 파일만 미리 준비해도 충분했을 것 같다.

글로벌 도전의 첫걸음

행사 기간 동안 하이브플랫폼을 다양한 국가의 관계자들에게 소개했고, 심층 미팅에서 긍정적인 반응을 얻었다. 현장에서 오간 질문과 피드백은 하이브플랫폼의 기능 개선과 글로벌 확장 전략에 중요한 인사이트가 됐다.
이 과정에서 지원하지 않는 기능에 대한 돌발 질문도 있었는데, 이때는 단순히 “없다”로 끝내기보다 유사한 대안이나 차후의 가능성을 제시하는 것이 중요했다. 필요 시 부서 확인 후 이메일로 답변하겠다고 안내하는 것도 좋은 방법이었다.




이번 게임스컴 참가는 Hive가 글로벌 통합 게임 플랫폼으로 도약하기 위한 의미있는 도전이었다. 플랫폼사업총괄 부서의 시연 경험, 플랫폼사업실의 기획, 전사적인 지원이 더해져 유럽 시장에서도 하이브플랫폼의 가능성을 보여주었다. 앞으로도 Hive는 전 세계 게임사가 신뢰할 수 있는 플랫폼으로 성장하기 위해 지속적으로 기술과 서비스를 발전시켜 나갈 것이다. 이번 경험은 그 여정의 든든한 출발점이 됐다.
마치며

비행기와 기차로 12시간 이상 이동해 처음 가본 해외에서 영어로 하이브플랫폼을 소개하고 시연한 경험은 값졌다. 행사 이후 네트워크 파티에서 업계 종사자들과 목표와 경험을 나누며 글로벌 비즈니스의 폭을 체감할 수 있었다. 특히 해외 지사의 리더들과의 대화에서, 컴투스가 국제적으로도 경쟁력 있는 리더십을 갖추고 있다는 점을 느낄 수 있었다.
무엇보다 현장에서 기자의 역할이 실제 미팅에 도움이 됐다는 플랫폼사업실의 피드백이 큰 격려가 됐다. 덕분에 자신감을 얻고 시연 능력을 발전시킬 수 있었다. 이번 경험을 통해 하이브플랫폼의 존재와 가치를 이해하는 잠재 고객이 더 많아지기를 바라며, 좋은 기회를 제공해 준 회사에 깊이 감사드린다.



컴친소는 임직원 간의 취향을 공유하고 덕후력을 나누는 사내 네트워킹 프로그램입니다. 컴친소2는 여기에 사회공헌의 가치를 더해, 임직원들이 직접 기획한 굿즈를 통해 나눔을 실천하는 프로젝트입니다. 컴친소2 코너의 세 번째 주제는 ‘뜨개질’입니다.
책상 위의 실뭉치와 바늘을 보면 어떤 생각이 드는가? 많은 사람들에게는 그냥 스쳐 지나가는 풍경이지만, 뜨개인들에게는 무궁무진한 상상의 출발점이 된다. 누군가는 머리끈, 인형, 컵받침 같은 아기자기한 소품을, 또 다른 이는 목도리, 가방, 조끼, 가디건처럼 실용적인 의류를 떠올린다. 뜨개질은 한 가닥의 실에서 시작해 한 코 한 코 쌓아가며 만드는 사람의 취향과 개성을 드러낸다. 색과 패턴의 선택, 완성품의 용도에 따라 같은 ‘목도리’라도 전혀 다른 모습이 탄생한다.


그렇다면 이런 편물 작품은 어떤 과정을 거쳐 완성될까? 도안과 재료는 어떻게 준비하고, 무엇이 뜨개인들을 끊임없이 손을 움직이게 하는 걸까? 뜨개질을 하며 도란도란 진행된 컴친소 뜨개편에서 그 이야기를 직접 들어봤다.




PART1. 뜨개질 덕후들의 TALK


자기소개 부탁드립니다.
포근핑: 안녕하세요. HEAT본부 클라이언트팀 포근핑입니다. 5년 전 신생아 모자 뜨기 캠페인에 참여한 것을 계기로 뜨개질에 재미를 붙였고, 가을·겨울 시즌마다 찾아오는 계절성 뜨개인입니다. 대바늘로 모자나 가방 같은 소품을 주로 뜨는데, 같은 옷도 모자·가방을 바꾸면 분위기가 달라지는 점이 좋아요.
여름: 초등학생 때 엄마께 드리려고 목도리를 떠 본 이후로 한동안 손을 놓았던, 말 그대로 뉴비입니다. 뜨개질이 좋은 기억으로 남아 있어 고수 분들께 한 수 배우고 싶어 참여했습니다~
뜨개걸윷모: RAON 스튜디오의 뜨개걸윷모입니다. 예전 팀에서 동료가 뜨개구리를 전파하며 동호회까지 설립했는데, 제 뜨개 경력도 비슷하게 시작됐습니다. 대바늘 뜨개구리로 시작했다가 어려움을 느껴 잠시 코바늘로 노선을 틀었는데요, 최근엔 다시 대바늘 의류에 푹 빠졌습니다. 작년 겨울 ‘베를린 스카프’가 유행하며 목도리를 뜬 것을 계기로 의류에 도전 중입니다. 이번 컴친소를 통해 숨어 계신 뜨개러 분들을 만날 수 있어 정말 기쁩니다!
푸르시오: HEAT본부 서버팀의 푸르시오입니다. 뜨개질은 2년 반 정도 되었고, 주로 대바늘 의류를 뜹니다. 뜨개를 좋아하는 분들과 이야기를 나눌 수 있는 기회라 생각해 참여했어요.
뜨개할미: PUBLISHING3-QA에서 근무 중인 뜨개할미입니다. 중학생 때 처음 대바늘을 배웠고, 성인이 된 후 본격적으로 다시 시작했고 2년 반 정도 꾸준히 하고 있습니다. 이렇게 사내 뜨개 요정 분들을 만나게 되어 기쁩니다.
뜨봄: 센트럴아트실 뜨봄입니다. 전 팀원분이 뜨개구리 뜨기를 알려주신 덕분에 대바늘로 뜨개질을 처음 시작했고, 가디건으로 첫 옷도 만들어 보며 재미를 붙여 지금까지 취미로 이어오고 있습니다. 코바늘은 인형으로 입문해 지인들께 선물도 많이 드렸는데요. 컴친소에 언젠가 꼭 참여하고 싶었는데 뜨개질 편이 열린다길래 이번엔 꼭 함께해야겠다고 생각했습니다.
뜨개질 시작 계기와 나의 첫 작품을 소개해주세요
뜨개할미: 특별한 계기라기보다, 주변 친한 친구들에게 머플러를 선물한 것이 이어져 지금까지 하고 있습니다. 중학교 때 첫 작품인 변형 고무뜨기 목도리는 십여 년이 지난 지금도 겨울마다 두르고 다닙니다 🙂
여름: 초등학생 때 엄마 생일 선물로 목도리를 드렸습니다. 돈으로 사는 것보다 마음을 담아 드리고 싶었거든요. 제 첫 작품이자 그때는 마지막 작품이었습니다 ㅎㅎ
푸르시오: 겨울에 수면양말이 필요했는데 직접 만들 수 있다는 걸 알고 시작했습니다. 첫 작품은 수면양말이었답니다.
포근핑: 아주 처음은 초등학생 때의 목도리고, 다시 본격적으로는 신생아 모자 뜨기 캠페인에서 모자를 뜨며 시작했습니다.
뜨개걸윷모: 동료가 직접 뜬 뜨개구리를 보여주며 같이 도안을 사서 뜨자고 ‘영업’하셔서 솔깃해 시작했습니다. 다만 첫 완성품은 아니고요. 아직 앞다리 두 개를 달지 못한 상태입니다ㅎㅎ
뜨봄: 초등학교 때 학교에서 목도리를 떴던 기억이 있지만, 본격적인 시작은 팀에서 함께 뜨개구리를 만들면서였습니다. 제 첫 작품은 ‘뜨개구리’라고 말씀드릴 수 있을 것 같아요!

뜨개구리란?
대바늘로 뜨는 인기 캐릭터형 인형 도안으로, 3~4년 전 SNS에서 유행하며 뜨개 열풍을 불러일으키고 “뜨개 입문작”으로 널리 퍼졌다. 대바늘로 뜨지만, 작은 사이즈라 배우는 데 무리가 없다. 그래서 입문자에게 ‘첫 작품’으로 추천되는 경우 많다. 완성했을 때 성취감이 크고, 귀여워서 선물용으로 인기가 높은 도안이다.
*유료도안 링크 https://www.ravelry.com/patterns/library/frog-48
© 클레어 갈랜드
뜨개질은 어떻게 배웠나요?

뜨개할미: 중학교 때는 읍내 시장 뜨개방 사장님께 배웠습니다. 바늘을 잘못 잡거나 틀리면 장난스럽게 대바늘로 손등을 때리던(?) 정겨운 분이셨죠 ㅎㅎ 성인이 된 후에는 거주지가 바뀌어 유튜브를 보며 배우고 있습니다.
푸르시오: 어머니께 기초 기법을 배우며 시작했습니다. 이제는 제가 더 많이 떠서, 제가 어머니께 알려 드리기도 해요.
포근핑: 저도 어머니께 배웠습니다. 지금도 어려운 부분이 생기면 여쭤보는데요, 요즘은 서로 모르는 부분을 함께 탐구하곤 합니다.
뜨개걸윷모: 대바늘은 뜨개구리 ‘스승님’께, 코바늘은 유튜브 선생님께 배웠습니다. 지금도 모르는 부분은 영상으로 보며 익히고 있습니다.
뜨봄: 회사 동료 분께 배우며 시작했습니다. 어릴 때 경험이 있어 아주 어렵지는 않았어요.
뜨개질의 매력이 무엇인가요?
뜨개걸윷모: 코바늘로 작은 인형을 만들어 지인들에게 소소한 선물로 드릴 수 있어 좋습니다. 한때 “옷은 절대 안 만들겠다” 다짐했는데, 직접 만들어 입는 만족감이 확실히 다르더라고요. 아직 서툴러서 제 몸에 딱 맞게 만드는 건 어렵지만 직접 만들어 입는 재미가 분명히 있어요. 저는 완성본을 빨리 보고 싶은 마음으로 파워 뜨개질에 몰두하게 되는 편인데요. 주변에서 “옷 다 떴어요~” 하는 말을 들으면 저도 빨리 완성하고 싶어 가장 불타오릅니다.ㅋㅋ
뜨봄: 섬세한 재봉·바느질 실력이나 손기술이 없어도, 원하는 도안만 잘 찾으면 세상에 하나뿐인 소품·인형·옷을 만들 수 있다는 점이 매력입니다.
뜨개할미: 나의 체형과 취향에 맞춰 제작해 기성품보다 잘 맞는다는 점이 좋습니다. 창고에 수북이 쌓인 취향 가득한 실을 볼 때, 새로운 도안을 만났을 때 뜨개에 대한 열정이 되살아나곤 해요.
여름: 실이 점점 형태를 갖추며 결과물로 변해가는 과정이 재밌습니다. “오오!” 하는 감탄이 절로 나옵니다.
푸르시오: 내가 만든 것을 직접 착용할 수 있다는 점이 가장 좋습니다.
포근핑: 원하는 촉감·색상·모양으로 ‘내 손으로’ 멋진 물건을 만들 수 있다는 점이 매력적인 것 같아요. 집에서 영화나 드라마를 보며 동시에 즐길 수 있어 시간 활용도 높아 기분이 좋답니다.
이야기를 나누는 지금, 뜨고 있는 것은 무엇인가요?
뜨개할미: 원래는 대바늘 위주였는데 요즘은 코바늘에 빠져 코바늘 작품을 주로 만들고 있는데요. 현재는 여름 휴가를 준비하며 여름 의류를 뜨고 있습니다.
뜨봄: 별빛이 수놓아진 니트를 뜨고 있어요! 겨울까지 다 뜰 수 있겠죠?


담당자: 귀여운 붕어빵과 직접 뜨개했다고 믿을 수 없는 퀄리티의 가디건까지… 꼭 소개 부탁드립니다!
포근핑: 소품 뜨는 걸 좋아하는데, 붕어빵 뜨개를 가져와 봤습니다. 주변에 선물하면 좋아해 주시더라고요. 귀엽죠?
푸르시오: 제가 직접 뜬 파스텔톤 가디건이에요. 겨울에 잘 입고 다녔답니다:)


담당자: 푸르시오님, 설마 지금 입고 계신 노란 가디건도 직접 뜨신건가요?!(충격)
푸르시오: 네, 맞아요! 저는 제가 직접 뜨고 입고 다니는 편이라서요. 이 옷도 직접 한 코 한 코 뜨개한 옷이랍니다:)

컴친소2: 뜨개질 참여자분들은 진정한 금손이었다…!
지금까지 만든 작품 중 가장 맘에 드는 한 가지만 자랑해주세요!

뜨개할미: 첫 의류 작품인 크롭 스웨터를 자랑하고 싶습니다. 제가 좋아하는 크롭 기장으로 퀄리티가 잘 나와 지난겨울 만족스럽게 입었습니다.
푸르시오: 집업입니다. 배색, 지퍼 달기, 바텀업 기법, 주머니 달기 등 처음 시도한 기법이 많아 재미있었습니다. 여러가지 기법이 들어갔지만 도안 설명이 자세하고 난이도가 높지 않아 즐겁게 완성할 수 있었어요. 디자인이 깔끔해 지난겨울 자주 입고 다녔답니다.



포근핑: 평소에 의류를 잘 뜨지 않는 편인데요. 보라색 실이 마음에 들어 처음 떠 본 조끼입니다. 실이 굵고 도안이 쉬워 틈틈이 떠도 일주일이 채 걸리지 않았어요!
뜨개걸윷모: ‘페더스 맥그로우’ 인형이요! 영화로 보기 전에 먼저 만들어 보자는 목표가 있어 더 의미가 있었달까요ㅎㅎ 팔에는 철사를 넣어 움직일 수 있게 했습니다. 꾹꾹 누르는 맛이 있답니다. 생각보다 인형의 사이즈가 커서 뜨개질할 때 인내심을 시험받고, 모자를 뜨다 몇 번이나 풀었다 다시 떴어요 ㅎ… 얼굴 사이즈가 좀 크게 떠졌지만 나름 비슷하게 만들어지지 않았나요~? 개인적으로 이 작품에 가장 애정이 크고 아직도 소장하고 있답니다.

여름: 이번 뜨개 편에서 만들 작품이 제 최신작이 될 것 같습니다ㅎㅎ
완성한 작품은 어떻게 하시나요? 판매도 해보신 적이 있나요?
뜨개할미: 지인에게 선물하거나, 뜨개를 못하시는 엄마가 찜한 아이템들은 뺏기거나(?) 제가 사용합니다.
푸르시오: 대부분 제가 직접 입고 다니는 편이에요!
포근핑: 주로 제가 사용하고, 선물도 많이 합니다. 빨리 다른 것을 뜨고 싶거든요! 작년 겨울에는 조카들 모자를 여러 개 떠 씌워 보니 무척 귀엽더라고요.
뜨개걸윷모: 뜨개 인형은 주로 지인 선물로, 의류는 제가 입으려고 만드는 것 같아요.
한 작품 만드는데 시간과 비용은 얼마나 드나요?

뜨개할미: 작품에 따라 하루에서 한 달까지 다양합니다. 의류는 복잡한 무늬를 빼면 한 달 정도 걸리는 듯해요.
포근핑: 저는 결과물을 빨리 보고 싶어 1~2주 내 완성 가능한 작품을 선호해요. 빠른 작업이 가능한 도안을 고르는 편이기 때문에 1~2주 내에 한 작품을 끝낸답니다.
뜨개걸윷모: 짧게는 3시간, 길게는 한 달 넘게 걸리기도 해요. 소품 같은 것들은 실값 3000원 정도면 만들 수 있고, 의류는 기본 3만원에서 10만원은 드는 것 같아요. 알파카, 캐시미어 등 금액대가 확 올라가는 실들이 많답니다.
푸르시오: 뜨개로 만든 옷을 더 이상 입지 않게 되면 실을 풀어 다시 사용할 수도 있긴 해요. 저도 그렇게 재사용해서 다시 뜨는 경우가 있거든요. 그럼 비용적으로 큰 부담 없이 뜨개질을 즐기실 수 있답니다!
입문자에게 첫 작품으로 추천하는 것은 무엇인가요?
뜨개할미: 대바늘은 머플러, 코바늘은 스크런치를 입문 아이템으로 추천해요. 실이 많이 들지 않는 작품들이라서 금방 완성해 성취감을 느낄 수 있거든요. 또 실용성도 높고요!
푸르시오: 저는 양말을 추천하고 싶어요. 제가 양말로 뜨개질을 시작하기도 했고요, 양말은 보통 얇은 바늘로 떠서 어렵게 생각하시는 분들도 계실 수 있지만 사이즈가 작아서 비교적 빨리 완성할 수 있거든요. 첫 도전에는 ‘끝까지 완성’하는 게 중요하고, 조금 서툴게 떠도 신발 속에 들어가 티가 덜 나 착용하기 좋아서 추천합니다.
뜨개걸윷모: 제가 대바늘 첫 작품을 ‘뜨개구리’로 선택하는 바람에 자칫 뜨개를 포기할 뻔했어요ㅎㅎ 그래서 입문자라면 영상 도안이 있고 기법이 많지 않은 작품부터 시작하길 강력히 추천드립니다. 대바늘에 관심이 있다면 첫 작품은 목도리가 제격이에요. 저는 ‘바늘이야기 울알코 청키 체크 목도리’ 도안으로 시작했는데, 그 과정을 거치고 나니 기초를 탄탄히 익혔다는 자신감이 생겼습니다.
뜨봄: 제가 뜨개구리로 뜨개질을 시작해서 그런지, 시작이 조금 어렵더라도 정말 갖고 싶은 소품으로 시작하면 만족감이 더 클 것 같아요.
포근핑: 대바늘 목도리를 추천합니다. 목도리를 한 번 떠 보면 겉뜨기와 안뜨기를 자연스럽게 익힐 수 있어서 이후 다른 품목에 도전하기에도 좋아요.
뜨개질도 장비빨(?) 추천하는 바늘이 있나요?
포근핑: 저는 주로 대바늘을 사용하는데, 니트프로 브랜드를 즐겨 씁니다. 케이블과 바늘 호환성이 좋아 기존에 가지고 있는 케이블을 그대로 활용할 수 있어 편리하고, 그래서 계속 찾게 되더라고요. 특히 랜턴문 바늘을 가장 많이 쓰는데, 촉감이 좋고 만족도도 높습니다. 케이블은 회전형을 주로 쓰고, 상황에 따라 니트프로의 다른 케이블도 다양하게 사용합니다.
입문 단계라면 다이소 바늘만으로도 충분합니다. 만약 뜨개질이 재미있어 업그레이드하고 싶다면 바늘 사이즈와 재질 그리고 케이블 길이를 자유롭게 바꿀 수 있는 조립식 바늘을 고려해 보시면 좋습니다.



© 바늘 이야기
- 재질: 스테인리스 바늘은 마찰이 적어 코가 부드럽게 움직여 속도가 빠르지만, 초보자는 코가 잘 빠질 수 있어 어느 정도 익숙해진 뒤 쓰는 것을 추천합니다. 나무 바늘은 마찰이 있어 코가 잘 고정되므로 초보자에게 안정적이거든요. (다이소에도 스테인리스 줄바늘이 있으니, 구매 전 직접 체험해 보시는 것도 좋아요.)
- 케이블 길이: 뜨는 작품 크기에 따라 달라지는데, 작은 편물은 짧은 케이블, 큰 편물은 긴 케이블을 씁니다. 범용으로는 60cm가 가장 많이 사용됩니다.
- 케이블 형태: 회전형을 추천해요. 케이블이 덜 꼬이고 작업이 훨씬 편합니다.
- 바늘 길이: 본인의 손 습관에 맞춰 선택하는 게 좋습니다. 새끼손가락까지 받쳐 뜨는 분은 긴 바늘이 편하고, 그렇지 않다면 짧은 바늘이 더 적합합니다.
무엇보다도, 세트 구매 전 단일 제품으로 먼저 사용해 보고 손에 맞는지 확인한 뒤 세트를 마련하시길 바라요!
| 종류 | 대바늘 | 코바늘 |
| 도구 | 긴 바늘 2개(또는 원형바늘)로 양쪽에 코를 옮기며 뜸. | 끝에 갈고리가 달린 짧은 바늘 1개. |
| 기법 | 기본은 겉뜨기, 안뜨기 두 가지. 이를 조합해 다양한 무늬 가능. | 한 번에 한 코씩 걸어 올려 만드는 방식. (사슬뜨기, 짧은뜨기, 긴뜨기 등) |
| 특징 | 조직이 신축성이 좋고 얇거나 폭넓은 직물이 나옴.주로 의류(스웨터, 목도리, 장갑 등) 에 많이 활용.작업 속도가 비교적 빠름. | 조직이 상대적으로 두껍고 단단함. 소품(가방, 인형, 모자, 코스터 등) 제작에 유리. 자유로운 형태 제작이 쉬워 도안 응용이 다양함. |


© 바늘 이야기
좋은 뜨개질 도안이나 재료 구매할 수 있는 곳이 있나요?
포근핑: 저는 주로 Ravelry, 도아니티, 바늘이야기를 이용합니다. 각각의 특징이 조금씩 다른데요. 도안 탐색과 해외 작품 참고는 Ravelry, 국내 사용자 친화적인 한글 도안은 도아니티, 실·바늘·부자재 원스톱 구매는 바늘이야기를 추천해요!
- Ravelry (https://www.ravelry.com/)
전 세계 뜨개인들이 모이는 가장 큰 온라인 커뮤니티이자 마켓이에요. 무료·유료 도안이 방대하게 등록되어 있고, 다른 사용자의 후기를 함께 참고할 수 있어 유용합니다. 해외 디자이너의 최신 도안을 빠르게 접할 수 있다는 장점이 있답니다. - 도아니티 (https://www.doanity.com/)
국내 뜨개 플랫폼으로, 다양한 국산·해외 디자이너 도안을 한글화해 제공하는 경우가 많습니다. 결제나 접근성이 편리하고, 트렌드에 맞춘 소품·의류 도안이 꾸준히 업데이트됩니다. 초보자도 쉽게 따라 할 수 있는 난이도별 도안이 많아 추천합니다. - 바늘이야기 (https://www.banul.co.kr/m/main.html)
국내에서 가장 유명한 실·부자재 전문 쇼핑몰입니다. 도안뿐 아니라 다양한 종류의 털실, 바늘, 부자재까지 한 번에 구매할 수 있어 편해요. 계절별 추천 실이나 패키지 상품이 잘 구성되어 있어 초보자도 쉽게 선택할 수 있습니다.
PART2. 굿즈 제작기

뜨개질 덕후들의 감성이 담긴 컴친소2의 세 번째 굿즈는 어떤 모습으로 완성됐을까? 뜨개질편의 일러스트를 맡은 빵가영님에게 직접 굿즈 소개를 부탁해보았다.

이번 굿즈의 디자인 컨셉은?

빵가영: 참여자분들이 직접 굿즈 만들기에 동참해주신 점이 인상 깊었어요. 그 귀한 마음을 담아내고 싶어서 손그림 느낌의 포근한 일러스트로 틴케이스를 디자인하고, 핸드메이드를 강조하는 라벨도 함께 제작했어요.
양털이 꽃처럼 피어나는 따뜻한 세계 속에서 ‘뜨개양’과 ‘뜨개돌’이 여러분을 만나러 오는 여정을 그려봤습니다. 참여자의 정성과 구매자분들의 마음이 털실로 이어져 기부라는 따뜻한 매듭으로 완성되길 바랍니다.

디자인할 때 중점을 둔 부분이 있다면?
빵가영: 뜨개 굿즈를 소장하거나 선물하실 분들의 취향과 사용성을 고민했습니다. 틴케이스는 작은 소품을 담아 두기 좋고, 책상 위에 올려두었을 때도 자연스럽게 어울리도록 데스크 오브제로서의 분위기를 신경 썼습니다. 책상 위에 어울릴 만한 소품으로써 소장하기도, 선물하기에도 좋은 굿즈가 됐으면 좋겠어요.
알고 보면 더 재밌는 굿즈 디테일을 소개한다면?
빵가영: 핸드메이드의 가장 큰 매력은 세상에 똑같은 것이 하나도 없다는 점입니다. 모양·크기·디테일이 조금씩 다르고, 양을 꾸며주는 소품 구성도 달라서 정말 ‘유일한’ 존재처럼 느껴지죠. 올겨울, 귀여운 ‘뜨개양’과 함께 조금 더 따뜻한 연말을 보내 보세요!
그렇다면, 이번 기획에 참여한 이들은 굿즈에 어떤 이야기를 담고 싶었을까?
그들에게 굿즈 취향과, 컴친소2 아이템 선정 기준을 물었다.
많은 아이템 중 티코스터를 고른 이유는?

뜨개할미: 만들기 간편! 실용적! 예쁘다!
여름: 귀엽고 쓸모있어서요~
푸르시오: 만들기가 쉽다는 점이요. 뜨개소품 중에 가장 취향을 덜 타는 품목이라고도 생각합니다.
포근핑: 만들기 쉽고, 잔디 모양이 어디 두기에도 귀여운 것 같아요!
뜨개걸윷모: 실용적!
틴케이스를 서브 굿즈로 고른 이유는?
뜨개할미: 뜨개질을 할 때 부자재가 생각보다 많이 필요한데요. 돗바늘, 단수링, 바늘마커, 줄자, 가위 등 모든 걸 틴케이스에 넣을 수 있어 부자재 수납에 최적화된 케이스이기 때문이에요. 뜨개질을 하지 않은 분들도 소품을 정리하는 케이스로 사용하실 수 있고요.
뜨개걸윷모: 기본 티코스터 굿즈만 있는 것보다는 받는 사람을 기분 좋게 할 포장 패키지가 함께 있는 편이 좋다고 생각했어요. 뜨개질하면 가장 먼저 생각나는 양을 일러스트 캐릭터로 골라 틴케이스 디자인에 활용했답니다.

기성품 제작이 아닌, 내 손으로 직접 만드는 티코스터를 굿즈로 고르셨네요!
뜨개할미: 뜨개질이라는 취미 자체가 무언가를 지속해서 만드는 것이기 때문에 만드는 행위 그 자체에 의미가 있다고 생각했어요!
푸르시오: 뜨개질이라는 주제를 가장 진하게 담을 수 있는 아이템이라고 생각합니다.
포근핑: 한 코 한 코 정성을 담을 수 있기 때문입니다:)
뜨개걸윷모: 수제작의 맛이 있잖아요~! 벌써부터 레어하고 소장해야 할 것 같지 않나요?
‘티코스터 & 양’ 굿즈의 가장 큰 매력 포인트를 소개해주세요
뜨개할미: 데스크테리어에 초록색 포인트를 주는 소품이 흔치 않은데, 이번 굿즈는 잔디와 양의 조합이 아주 귀엽다고 생각합니다.
여름: 포근한 잔디 위에 앉아있는 뜨개양은 그저 귀엽습니다
푸르시오: 잔디와 양이 정말 잘 어울리는 조합이에요!
포근핑: 잔디가 폭신폭신하고, 옆에 어떤 피규어를 올려놓아도 잘 어울릴 것 같지 않나요?
뜨개걸윷모: 인테리어 소품용으로도 너무 귀엽지 않나요?

이 굿즈가 여러분에게는 어떤 의미이자 기억으로 남을 것 같나요?
뜨개할미: 직접 만든 무언가를 판매해보는 것은 처음이라, 나중에 진짜 뜨개할미가 되었을때 무언가를 만들어 팔아보자! 라고 생각하는 요즘이라 좋은 경험이 될 것 같습니다.
여름: 성인되고 정말 다시 해보고 싶은 걸 하나씩 해나가는 느낌일 것 같아요!
푸르시오: 다른 사람을 위한 뜨개질이 처음이라서 그 점이 뜻깊습니다.
포근핑: 취미로만 즐기던 뜨개질을 이렇게 많은 분들과 나눌 수 있고, 그 따뜻한 마음이 기부로 이어질 수 있어서 정말 기뻐요. 소중한 경험으로 오래도록 기억에 남을 것 같습니다.
뜨개걸윷모: 갈수록 이런 프로젝트를 기획하고 진행하는 일이 쉽지 않은데요. 이렇게 여러 사람들이 모여 굿즈를 제작할 수 있다는 게 저에게는 좋은 추억으로 남아줄 것 같습니다.
이 굿즈를 통해 전하고 싶은 메시지가 있다면?
뜨봄: 귀여움이 세상을 구한다!
뜨개할미: 무언가 만드는 것이 즐거운 일이라 는걸 알아주셨으면 좋겠어요.
여름: 소중히 다뤄주시고 잘 부탁드립니닷
포근핑: 한땀한땀 만든 정성을 느껴주세요~!
뜨개걸윷모: 소소하게나마 힐링이 되시길..!
마지막 한 마디
뜨봄: 여러분 뜨개 정말 재밌고 즐거워요! 함뜨하시죠..?!
뜨개할미: 나중에 같이 함뜨하고 싶습니다~
여름: 고수분들과 함께할 수 있어서 정말 영광이었습니다 ㅋ-ㅋ
포근핑: 뜨개질, 생각보다 어렵지 않아요. 예전부터 관심 있었던 분들이라면 이번 기회에 가볍게 시작해보시길 추천드려요!
뜨개걸윷모: 뜨개 고수님들과 귀여운 그림작가님이 함께하는 컴친소 넘 즐거웠어요~!
뜨개! 생각보다 어렵지 않아요! 언제든지 오물조물로 모십ㄴㅣㄷr…
TMI. 컴친소 뜨개편 참여자들의 50% 이상이 사내 뜨개 동호회 오물조물에서 활동 중이었다.

한 땀 한 땀 바늘을 움직이는 동안, 실은 서서히 모양을 갖추며 하나의 작품이 된다. 그 시간 속에는 만드는 사람의 마음과 온기 또한 차곡차곡 쌓여 있다. 컴친소 뜨개편에서 선보일 티코스터는 함께 모여 웃고 이야기 나누며 만들었다. 때로는 실을 풀어 다시 뜨기도 하고, 한 코 한 코에 시간과 정성을 담았다. 누군가의 책상 위, 커피잔 아래에서 이 티코스터가 작은 휴식과 온기를 전해드릴 수 있기를 바란다. 연말 마켓에서 직접 만나 따뜻함을 느껴보길!
🎨 이번 [컴친소2: 뜨개질] 일러스트 및 굿즈 제작에는 빵가영 작가님의 멋진 손길이 더해졌습니다.
컴투기빙의 따뜻한 메시지를 감각적인 비주얼로 담아내 주신 빵가영 작가님께 진심으로 감사드립니다.

웹툰 ‘일렉시드’, 그리고 이번 만남의 의미


컴투스홀딩스의 방치형 RPG ‘소울 스트라이크(Soul Strike)’가 네이버웹툰 ‘일렉시드’와 손잡고 컬래버레이션 업데이트를 선보였다. 단순히 캐릭터만 추가되는 수준이 아니라, 신화 동료·펫·스킬·유물이 대거 합류하며 게임의 전투 메타가 한층 확장됐다. 기자가 직접 플레이하며 체감한 포인트를 전한다.
‘일렉시드’는 《노블레스》 손제호 작가와 《소녀더와일즈》 제나 작가가 함께 만든 액션 판타지다. 2018년부터 연재를 이어가고 있는 일렉시드는 판타지 기반의 학원물로 고양이 몸에 깃든 각성자 ‘카이든’과 각성 능력을 숨겨온 고등학생 ‘서지우’의 성장 및 활약을 그린다.
웹툰 속 세계관은 힘이 곧 가치가 되는 각성자 사회와, 그런 각성자를 배척하는 일반 사회가 공존하는 구조다. 소외된 주인공 지우가 카이든과 사제 관계를 맺으면서 점차 성장해 나가는 전형적인 ‘이능력 배틀물’이지만, 후반부 전개가 속도감 있게 풀리며 독자들에게 높은 평가를 받아왔다.
이 엄청난 세계관의 ‘일렉시드’가 이제는 ‘소울 스트라이크’ 속 전투 자산으로 구현됐다.
자연스럽게 스며든 ‘일렉시드’, 소울 스트라이크와의 완벽한 합주


컬래버레이션 맛집 ‘소울 스트라이크’답게 이번 업데이트도 기대를 저버리지 않았다. ‘일렉시드’ 웹툰 속 주인공들이 그대로 빨려들어간 듯, 게임 세계에 매끄럽게 녹아들며 이질감 없는 완성도를 보여주었다.
- 캐릭터 표현: 서지우, 유지영, 게스텔라, 카이든이 소울 스트라이크 특유의 그림체로 재탄생하면서 원작의 매력은 살리고 게임 비주얼과도 조화를 이뤘다. 또한 원화와 함께 사용되어 원작의 수려한 일러스트레이션도 게임 속에 담았다.

- 스킬 연출: 카이든의 ‘그랜드 크로스’, 게스텔라의 ‘죽음의 안개’ 등 상징적인 능력이 ‘소울 스트라이크’ 전투 시스템 안에서 자연스럽게 구현돼, 원작 팬도 고개를 끄덕일 만큼 설득력 있는 액션을 완성했다.

(확률형 아이템 포함)
- 게임 전반 적용: 단순히 동료 몇 명이 추가된 수준이 아니라, 펫·스킬·유물까지 확장되며 게임 전체가 하나의 시즌처럼 재해석됐다. 덕분에 플레이 전반에 ‘일렉시드’ 감성이 묻어난다.

특히 눈에 띈 점은 컬래버 캐릭터들이 전투 밸런스와 전략 구성을 해치지 않고 오히려 풍속성 중심의 새로운 메타를 구축했다는 것이다. 팬 서비스에 머물지 않고 게임 자체의 깊이를 더하는 방식으로 녹여낸 덕분에 기존 유저와 신규 유저 모두 만족할 수 있는 협업이 완성됐다.
결국 이번 업데이트는 ‘소울 스트라이크’가 왜 ‘컬래버레이션에 강한 게임’이라 불리는지를 잘 보여주는 사례가 됐다. 이질감이 전혀 없는, 원작 팬과 게임 팬 모두를 사로잡은 완벽한 시너지였다.
일렉시드’ 컬래버레이션, 신화 동료·스킬·펫

이번 업데이트의 핵심은 역시 웹툰 캐릭터와 스킬의 ‘신화 등급’ 구현이다.
- 동료: 서지우, 유지영, 게스텔라
- 펫: 카이든, 카르테인
- 스킬: 그랜드 크로스
동료 3인방: 서지우, 유지영, 게스텔라
- 서지우는 스킬 ‘맥스 스피드’로 주기적인 폭발을 일으키고 적중할 경우, 감전까지 걸어준다. 애장품 ‘고양이 뱃지’를 장착하면 공격 범위가 넓어져 필드 사냥에서 특히 체감이 크다.


(확률형 아이템 포함)
- 유지영의 스킬 ‘풍신’은 일정 시간마다 압축된 공기를 폭발시키는 범위 공격을 한다. 애장품 ‘서지우의 교복 단추’를 장착하면 폭발을 1회 더 추가로 일으킬 수 있어 보스전에서 추가 폭발이 터질 때 체력이 확 깎이는 손맛이 있다.


(확률형 아이템 포함)
- 게스텔라는 다른 두 캐릭터와 다르게 수 속성의 스킬 ‘죽음의 안개’로 추적 피해와 오한을 부여하는 범위 공격의 안개를 생성하며, 애장품 ‘카이든의 도전장’이 있으면 동시에 아군에게 불굴 버프를 제공할 수 있다. 이것으로 아군은 상태이상 면역으로 패턴이 끊기지 않고 안정적으로 전투를 이어갈 수 있다.


(확률형 아이템 포함)
기자가 느낀 결론은 세 명 모두 개성이 뚜렷해 사냥·보스·보조 역할을 고루 담당한다는 점. 결국 “누구 하나 뺄 수 없어 셋을 함께 써야 한다”는 결론에 다다랐다.
펫과 유물 – 덱을 완성하는 마지막 퍼즐
신화 펫 ‘카이든’의 스킬은 강력한 번개 충격파와 함께 풍속성 강화 버프를 부여한다. 그리고 착용 효과로 풍속성 저항 관통까지 있으니, 풍속성 위주 덱을 편성했을 때 카이든 덕분에 보스전 딜링이 한 단계 올라간 것을 체감할 수 있었다.


반면 물리 덱 유저라면 ‘카르테인’이 대안이 될 수 있다. 카르테인 또한 신화 펫으로 스킬 효과는 빛의 보호막으로 주변 모든 적에게 피해를 입히고 아군에게는 물리 속성 강화로 확실한 존재감을 보여준다. 마찬가지로 물리 저항 관통까지 부여하니 물리덱에겐 필수 선택지라고 볼 수 있다.


유물 ‘불완전한 각성자의 기록’은 높은 공격력·치명타·최종 피해량을 제공하지만 쿨타임 감소 스탯이 줄어드는 페널티가 있다. 기자는 짧은 쿨타임 위주의 덱에서는 다소 불편했지만, 한 방 화력 중심 덱에서는 손해보다 이득이 크다는 인상을 받았다.


강력한 한 방, ‘그랜드 크로스’


컬래버에서 가장 먼저 눈길을 끈 것은 풍속성 신화 스킬 ‘그랜드 크로스’였다. 실전에서 사용해보니, 경로를 따라 흐르는 전류가 적들을 쓸어버리며 몹 정리 속도가 확실히 달라졌다. 특히 풍속성 덱을 쓰는 유저라면 카이든 펫의 버프와 맞물려 시너지가 극대화된다. 실제로 그랜드 크로스를 사용해보니, 전류가 경로를 따라 흐르며 필드를 쓸어버린다. 여기에 카이든 펫의 풍속성 강화·저항 관통 효과까지 겹쳐져 풍속성 덱이 압도적인 화력을 갖추게 된다.

컬래버레이션 기념 이벤트

- 일렉시드 로드맵 이벤트: 일일, 반복 미션으로 주어지는 몬스터 처치·장비 소환·던전 플레이 등으로 이벤트 포인트를 모아 다양한 보상을 교환할 수 있다. 로드맵 형식으로 보상을 선택할 수 있기에 목표하는 보상을 위해 갈래를 잘 선택해야 한다! 중간마다 무료 보상도 들어있으니 쏠쏠히 챙겨보자.
- MAX 스피드 출석 이벤트: 14일 동안 출석만 해도 서지우, 유지영, 카이든 등 동료와 신화 스킬 그랜드 크로스를 무료 획득할 수 있는 대박 이벤트다.
- 14일 미션 이벤트: 추가 보상을 위한 14일 미션 이벤트도 있으니, 매일매일 출석해야 할 충분한 이유가 가득하다!
- 일렉시드 성장 레이스: ‘일렉시드’ 컬래버레이션 동료, 스킬, 유물을 성장시키며 미션을 클리어하고 레벨별 보상을 수령할 수 있다. 성장뿐만 아니라 일일 및 반복 미션으로도 충분히 보상을 받을 수 있다.
- 컬래버 룰렛 이벤트: 컬래버 이벤트 기간 동안에만 얻을 수 있는 보상으로 다양한 이벤트 참여권, 일렉시드 포인트뿐만 아니라 무려 이벤트 픽업 소환권까지 얻을 수 있다! 프리미엄 룰렛에서는 무려 ‘확정’ 상자까지 제공하니, 열심히 게임 플레이해야 할 동기부여는 충분하다.
특히 웹툰 팬이라면, 출석만으로 지우와 카이든을 곧장 동료·펫으로 데려올 수 있다는 점이 가장 매력적으로 느껴질 것 같다. 또한, 기존 ‘소울 스트라이크’ 유저들도 신규 소환에 대한 부담이 확 줄어들었을 것으로 보인다. 게임사 직원으로서 보다 게임 유저로서 더욱 행복해지는 이벤트 라인업이었다.




(확률형 아이템 포함)
가성비 패키지를 찾아서 … 올인원 패키지 구매 후기!

기자는 기사를 작성하기 위해 일렉시드 컬래버 패키지 중 ‘일렉시드 컬래버 올인원 패키지 III’을 직접 구매했다. 이 패키지는 그랜드 크로스, 서지우, 유지영, 불완전한 각성자의 기록, 카이든을 한 번에 제공하는, 사실상 컬래버 핵심 세트를 즉시 완성할 수 있는 구성이었다. 구매 과정은 간단했다. 결제 직후 패키지는 우편함으로 바로 지급되었고, 이를 수령하면 곧바로 사용할 수 있었다.




(확률형 아이템 포함)
특히 보상 수령 후에는 시간 제한 이벤트가 열려, 각 동료와 펫의 ‘3각성 점핑 패키지’를 추가 구매할 수 있는 기회도 제공됐다. 체감한 장점은 명확했다.
- 컬래버의 주요 자산을 한 번에 확보할 수 있기에 덱 세팅이 즉시 완성
- 신규 유저라면 장시간의 뽑기 루프를 건너뛸 수 있는 지름길 역할
- 점핑 패키지는 과금 유도 요소이지만, 전략적으로 활용하면 빠른 전력 강화 가능





(확률형 아이템 포함)
결론적으로, 이번 컬래버레이션을 가장 빠르고 확실하게 즐기고 싶다면 3번 올인원 패키지가 최고의 선택지라는 확신을 얻었다.
총평

이번 ‘소울 스트라이크 X 일렉시드 컬래버’는 웹툰 팬 서비스와 게임 메타 확장을 동시에 달성했다. 웹툰 캐릭터가 신화 등급으로 구현되어 덱의 주축이 되었고, 누구나 참여 가능한 이벤트 구조로 진입 장벽을 낮췄다. 무엇보다 인상 깊었던 점은, ‘소울 스트라이크’가 컬래버레이션에 특화된 강점을 발휘해 웹툰 캐릭터들을 이질감 없이 게임에 녹여냈다는 것이다. 덕분에 단순 IP 합류가 아니라, 마치 원래부터 게임 속 세계관의 일부였던 것처럼 자연스럽게 소크화(소울 스트라이크화)에 성공했다. 웹툰 팬에게는 몰입감, 기존 유저에게는 새로운 성장 루프를 제공하는 업데이트. 기자로서가 아니라 게이머로서도 충분히 즐거운 경험이었다.

MongoDB란?


MongoDB는 대표적인 NoSQL(비관계형) 데이터베이스로, JSON 형태의 유연한 문서(Document) 구조를 기반으로 데이터를 저장한다. 데이터는 BSON(Binary JSON) 형식의 문서로 저장되며, 컬렉션(Collection) 단위로 관리된다.
관계형 데이터베이스(RDBMS)처럼 고정된 스키마가 없어 구조 변경이 자유롭기 때문에 빠른 개발에 유리하다. 이러한 특성 덕분에 구조가 자주 변하거나 비정형 데이터가 많은 애플리케이션에 적합하다.
MongoDB의 장점
- 유연한 데이터 모델: 테이블과 스키마 없이 문서 구조를 자유롭게 정의할 수 있어 빠른 개발이 가능하다.
- 수평 확장성: Sharding 기능을 통해 대규모 데이터를 분산 저장할 수 있다.
- JSON 기반의 쉬운 사용법: JSON 유사 문법으로 쿼리를 작성하기 때문에 진입 장벽이 낮다.
- 복제와 고가용성: Replica Set 기능으로 장애 복구와 무중단 서비스를 구현할 수 있다.
MongoDB의 단점
- 트랜잭션 제약: RDBMS만큼 복잡한 트랜잭션 처리에는 부담이 있다.
- 복잡한 조인에 약함: 다중 컬렉션 조인 처리에 약하다.
- 높은 메모리 의존성: 인덱스와 자주 접근하는 데이터(핫 데이터)를 메모리에 올려두는 구조라 메모리 부족 시 성능 저하가 발생한다.
MongoDB의 클러스터 구조

클러스터는 여러 서버(노드)를 하나의 논리적 데이터베이스로 구성해 데이터를 분산 저장하거나 복제하는 방식이다. 이를 통해 부하 분산, 데이터 복제, 장애 대응이 가능하다. 확장성과 안정성을 위한 데이터베이스 구조로 단일 서버 한계를 극복해야 하는 서비스에서 주로 사용된다.
MongoDB에서 구성 가능한 클러스터는 Replica Set과 Sharded Cluster 두 가지가 있다.
1. Replica Set (복제 세트)
- 동일한 데이터를 여러 노드에 복제하여 고가용성을 제공
- 구성: Primary(1대) + Secondary(2대 이상), 또는 Primary(1대) + Secondary(1대 이상) + Arbiter
- Primary: 쓰기 작업 수행
- Secondary: 자동 데이터 복제
- 장애 발생 시 Secondary가 Primary로 승격

2. Sharded Cluster (샤딩 클러스터)
- 데이터를 여러 샤드(Shard)에 나누어 저장해 수평 확장을 제공
- 구성: Shard 서버들(데이터 분산 저장), Config 서버들(메타데이터 관리), Mongos 라우터(클라이언트 요청 샤드로 전달)
- 키 기반 데이터 분산으로 대규모 데이터 처리에 유리

컴투스 운영 사례

컴투스는 최근 게임 서비스에서 안정적인 데이터 처리와 무중단 운영을 위해 MongoDB의 Replica Set 클러스터(P-S-S 구조)를 활용하고 있다.
대표적인 사례로, 한 게임 타이틀에서는 런칭 초기에 예상보다 높은 부하가 발생했으나 Replica Set의 유연한 확장성과 롤 변경 기능을 통해 서비스 중단 없이 문제를 해결할 수 있었다. 아래는 해당 클러스터의 실제 구성과 설정 환경 예시다.

| # 클러스터 노드 예시 mongo1: 192.168.1.101 (Primary) mongo2: 192.168.1.102 (Secondary) mongo3: 192.168.1.103 (Secondary) |
# 클러스터 구성 설정
⇒ mongoshell 접속 후 실행
rs.initiate({
_id: "game-rs00",
members: [
{ _id: 0, host: "192.168.1.101:27017", priority: 2 },
{ _id: 1, host: "192.168.1.102:27017", priority: 1 },
{ _id: 2, host: "192.168.1.103:27017", priority: 0 }
]
});# mongodb 각 노드의 DB 환경 설정 (/etc/mongod.conf)
systemLog: # 로그 설정
verbosity: 0 # 기본 로그 레벨 (0 = 최소 로그)
destination: file # 로그를 파일로 출력
logAppend: true # 로그를 덧붙이는 방식으로 저장
path: /var/log/mongodb/mongod.log # 로그 파일 경로
logRotate: reopen # 로그 로테이션 시 SIGHUP 신호 처리
storage: # 데이터 저장 경로
dbPath: /var/lib/mongo # 데이터 파일 저장 경로
directoryPerDB: true # DB별로 디렉토리 분리 저장
wiredTiger:
engineConfig:
cacheSizeGB: 4 # WiredTiger 캐시 크기 설정 (서버 메모리에 맞게 조정)
processManagement: # 프로세스 실행 방식
fork: true # 백그라운드 실행
pidFilePath: /var/run/mongodb/mongod.pid # PID 파일 경로
timeZoneInfo: /usr/share/zoneinfo # 타임존 정보 위치 (Linux 표준 경로)
net: # 네트워크 설정
port: 27017 # MongoDB 서비스 포트
bindIp: 0.0.0.0 # 로컬 및 내부 IP에서만 접근 허용 (보안상 권장)
unixDomainSocket:
pathPrefix: /tmp/mongodb # 유닉스 도메인 소켓 경로
security: # 보안 설정
keyFile: /etc/mongodb/mongod.key # 클러스터 인증용 키 파일 (Replica Set 필수)
clusterAuthMode: keyFile # 키 파일 기반 인증
authorization: enabled # 사용자 인증 활성화 (role-based access control)
operationProfiling: # 성능 모니터링
mode: slowOp # 느린 쿼리 기록 활성화
slowOpThresholdMs: 1000 # 1초 이상 걸린 작업을 느린 쿼리로 간주
replication: # 복제 설정 (Replica Set)
replSetName: "game-rs00" # Replica Set 이름
oplogSizeMB: 10240 # Oplog 크기 (10GB) – 쓰기 성능 및 복제 지연 최소화
# 기타 (비활성화된 옵션 예시 – 필요시 활성화)
# setParameter:
# enableFlowControl: false
# internalQueryMaxBlockingSortMemoryUsageBytes: 1073741824 # $sort 연산이 메모리 기반으로 수행될 때, 최대 사용할 수 있는 메모리 크기 제한 (기본값 100MB)
# sharding: # 샤딩이 필요할 경우 사용운영 중 주요 설정 및 대응 사례

MongoDB Replica Set 구조(P-S-S) 운영 과정에서 여러 상황에 맞춰 대응해온 경험을 바탕으로 데이터베이스 운영 노하우를 쌓아가고 있다. 이번에는 운영 중 활용된 주요 설정과 대응 사례들을 정리해본다.
1. readPreference로 조회 분산
서비스 초기 일부 조회 요청이 특정 노드에 집중되며 응답 지연이 발생했다. 이를 완화하기 위해 MongoDB Replica Set에서 읽기 요청을 Secondary로 분산하는 설정을 적용했다.
클라이언트 커넥션 URI에 readPreference=secondaryPreferred 옵션을 적용해 읽기 요청이 가능하면 자동으로 Secondary 노드에서 처리되도록 구성했다.
| # 적용 예시 (커넥션 URI) mongodb://mongo1:27017,mongo2:27017,mongo3:27017/mydb?replicaSet=game-rs00&readPreference=secondaryPreferred # 이 옵션은 가능한 경우 Secondary에서 우선적으로 조회를 수행하며 Secondary가 사용 불가능할 경우에만 Primary에서 읽기를 수행한다. |
2. 무중단 Primary 변경
운영중 노드를 점검하거나 스펙을 상향, 축소할 필요가 있을 때, Replica Set의 priority 설정을 활용해 Primary 역할을 무중단으로 전환했다.
Primary 전환 절차 (무중단 방식)
- 전환 대상 Secondary priority 상향
- Replica Set이 자동으로 priority가 높은 Secondary를 Primary로 선출
- 기존 Primary 점검/작업 수행
- 작업 완료 후 우선순위 원복해 Primary 복귀
| # 가중치 변경 방법 : Replica Set 설정 확인 후 진행 (rs.conf() 명령어로 확인 가능) 1) 현재 Replica Set 설정 가져오기mongosh> var cfg = rs.conf(); 2) 변경하려는 멤버(_id:1)의 priority 수정mongosh> cfg.members[1].priority = 3; 3) 변경된 설정으로 rs.reconfig() 적용mongosh> rs.reconfig(cfg); 4) mongo2 서버가 primary로 변경된것 확인 mongosh> rs.status() 5) mongo1 서버 스펙 변경 # 아래 작업은 스펙 변경 작업 후 원복하는 작업 6) 현재 Replica Set 설정 가져오기mongosh> var cfg = rs.conf(); 7) 변경하려는 멤버(_id:1)의 priority 수정mongosh> cfg.members[1].priority = 1; 8) 변경된 설정으로 rs.reconfig() 적용mongosh> rs.reconfig(cfg); 9) mongo1 서버가 primary로 원복된것 확인 mongosh> rs.status() |
3. 시스템 로그(mongod.log) 관리
MongoDB는 로그 레벨을 최소화하더라도 운영 중 발생하는 인증, 연결, 쿼리 실패, 복제 이벤트 등의 로그는 기본적으로 기록한다. 특히 Replica Set 환경이나 접속 빈도가 높은 서비스에서는 하루에 수백 MB 이상의 로그가 생성될 수 있어, 로그 파일이 적절히 관리되지 않으면 디스크 공간을 빠르게 소모하게 된다.
때문에 운영 환경에서는 MongoDB의 시스템 로그(mongod.log)를 주기적으로 순환하고, 오래된 로그는 압축하여 보관하거나 제거하는 정책이 필수적이다. logrotate를 활용해 하루 단위 회전, 30일 보관, gzip 압축 정책을 적용했다.
/etc/logrotate.d/mongodb {
daily # 하루에 한 번 로그 회전
rotate 30 # 최근 30일치 로그 보관
compress # 오래된 로그는 gzip 압축
delaycompress # 회전 다음날부터 압축 적용
missingok # 로그 파일 없을 경우 무시
notifempty # 파일이 비어있으면 회전하지 않음
create 0640 mongod mongod # 새 로그 파일 생성 시 권한 및 소유자 지정
sharedscripts
postrotate
/bin/kill -SIGUSR1 $(pgrep mongod) 2>> /var/log/mongodb/logrotate-error.log
endscript
}4. oplog크기 설정
MongoDB의 oplog(Operation Log)는 Replica Set 환경에서 데이터 복제를 담당하는 핵심 구성 요소다. 서비스 오픈 직후 예상보다 많은 쿼리 요청이 발생하면서 oplog 가용 범위가 수 초 단위로 줄어드는 상황이 발생했다. 이 과정에서 Secondary 노드 한 대가 동기화 지연으로 Replica Set에서 제외됐고, oplog 누락으로 인해 자동 복귀하지 못하는 이슈가 발생했다.
이 문제는 다음과 같은 방법으로 해결했다.
| # oplog 사이즈를 확대 # 해당 Secondary 노드를 초기화(데이터 파일 삭제)하여 복제 재등록 처리 |
이후 트래픽이 안정되면서 oplog 여유 구간이 크게 늘어났지만, 이미 설정된 oplog 크기를 줄이려면 다시 데이터를 초기화해야 했기에 축소는 포기할 수밖에 없었다.
결론적으로 oplog 크기는 늘릴 수는 있어도 줄이기는 어렵기 때문에, 초기에 충분한 여유를 두고 신중하게 설정하는 것이 운영 안정성을 확보하는 핵심이다.
마치며

MongoDB는 NoSQL 중에서도 높은 유연성과 확장성을 제공하며, 실시간성과 대규모 데이터를 동시에 요구하는 게임 서비스 환경에 적합한 데이터베이스다. 앞으로도 더욱 안정적이고 유연한 서비스 환경을 구축하기 위해 MongoDB의 기능을 지속적으로 탐색하고 개선해 나갈 예정이다.
혼자만의 고민에서 시작된 질문들
업무에 몰두하다 보면 문득 이런 생각이 스쳐 지나간다. ‘다른 사람들은 어떻게 일하고 있을까?’ ‘나만 뒤처지고 있는 것은 아닐까?’ ‘그들은 어떤 방식으로 성장하고 있는 걸까?’
특히 AI가 일상화된 현재, 전문적으로 AI를 다루지 않는 직무라면 더욱 막연한 불안감이 존재한다. 이런 궁금증을 해결하기 위해 온라인 커뮤니티나 오프라인 세미나를 찾아보지만, 우리 회사 상황과는 거리가 멀거나 당장 적용하기 어려운 내용들이 대부분이다. 마치 다른 세상의 이야기를 듣는 것 같은 아쉬움이 남는다.
나와 같은 직무를 가진 사람들과 만나 이런 고민을 나누고, 서로의 관점을 확장시킬 수 있다면 얼마나 좋을까? 컴투스는 바로 이 지점에서 출발했다.
직무별 밋업, 그 시작과 운영 방식

컴투스의 직무별 밋업은 이런 고민을 해결하기 위한 실질적인 해답으로 탄생했다. 가장 인원이 많은 제작 부문을 중심으로 시작된 이 프로그램은 단순한 네트워킹을 넘어 체계적인 교류의 장을 만들어가고 있다.

프로그램은 사전 준비부터 철저하다. 각 직군별로 사전 서베이를 실시해 ‘동일한 직무끼리 만나 어떤 대화를 나누면 도움이 되는지’ 미리 파악한다. 서버개발자들은 이슈 및 트러블 슈팅, 장애 대응 경험과 기술 스택에 대해 논의하고, 게임기획자들은 기획 전략과 좋은 게임의 정의, 어려운 기획을 극복한 경험을 공유한다. ATR 애니메이터들은 업무 프로세스와 실력 향상 방법에 대해 깊이 있는 대화를 나눈다. 모든 직군에 공통적으로는 AI 활용 사례가 주요 화두로 등장한다.
밋업 프로그램 운영 순서
STEP 1. 부서 및 담당업무 소개하기
STEP 2. 요즘 나의 관심사 또는 취미, 덕후의 컨텐츠 소개
STEP 3. 사전 서베이에서 나왔던 주제로 대화 나누기
STEP 4. MINI 정보 및 기술 공유
STEP 5. 종료 및 디너 네트워킹


총 5시간으로 구성된 프로그램은 워크숍 3시간과 디너 네트워킹 2시간으로 나뉜다. 워크숍은 특정 주제에 대한 이야기를 나누는 시간이고, 디너 네트워킹은 자유로운 교류의 시간이다. 담당 부서와 업무 소개로 시작해 개인적인 관심사와 취미를 공유하며 자연스럽게 분위기를 만든다. 이후 사전 서베이 주제로 본격적인 토론에 들어가고, 중앙조직이나 AX HUB에서 해당 직군에 특화된 새로운 정보와 기술을 공유하며 워크숍을 마무리한다. 시간이 짧아 미처 다 나누지 못한 내용이 있다면, 저녁 장소로 이동해 디너 네트워킹을 통해 자유롭게 후일담을 나누며 모든 프로그램을 종료한다.


밋업 프로그램에 참여한 구성원들의 후기
밋업에 참여한 구성원들의 생생한 목소리를 들어보자.
“타 부서의 업무 고민과 상황을 듣는 것만으로도 관점의 변화들이 일어났다”
“다른 팀의 작업 과정이나, 노하우 등을 알 수 있었고 새로운 지식을 쌓을 수 있었다”
“프로젝트별 기술 간 차이를 체감하고 이해하는 기회가 되었다”
“같은 일을 하는 동료와 나눈 대화 자체가 힐링이 되었다”
“실무 꿀팁과 AI에 대한 부서별 활용 정도 및 적용 노하우를 공유할 수 있었다”
이런 후기들은 단순한 만족을 넘어 실질적 변화가 일어나고 있음을 보여준다. 혼자서는 해결하기 어려웠던 업무 고민이 동료들과의 대화를 통해 새로운 해법을 찾게 되고, 막연했던 불안감이 구체적인 성장 방향으로 전환되는 경험을 하고 있다.

만족도 수치 또한 이를 뒷받침한다. 서버개발자 그룹은 전반적 만족도 9.2점, 직무 교류 도움 정도 9.6점을 기록했고, ATR 애니메이터 그룹은 전반적 만족도 8.9점, 직무 교류 도움 정도 9.0점을 보였다. 게임기획자 그룹도 전반적 만족도 8.0점, 직무 교류 도움 정도 7.8점으로 높은 평가를 받았다. 재참여 의향 역시 모든 그룹이 8점 이상을 기록해 프로그램의 지속성을 확신하게 한다.
지속 가능한 협업 관계를 향한 비전
📌 직무별 밋업에 참여하면 무엇이 좋아질까?
밋업 프로그램에 한 번 참여했다고 해서 직무별 교류가 눈에 띄게 활발해지는 것은 아니다. 현재 밋업 프로그램의 주요 목적은 “계기”를 만들어 주는 것이다.
계기(契機): 어떤 일이 일어나거나 변화하도록 만드는 결정적인 원인이나 기회

관점의 변화를 만들어주는 계기, 추후 다시 만날 때 더 다양한 주제로 대화를 나눌 수 있는 계기를 말이다.
더 나아가 컴투스 조직문화팀은 직무별 밋업을 단순한 ‘계기’를 넘어 ‘지속 가능한 협업 관계’ 형성이라는 더 큰 목표로 발전시키고 있다. 궁극적으로는 필요한 정보나 노하우가 상시적으로 교류되는 협업 생태계 구축을 지향한다.
이를 위해 2025년에는 동일 직무별로 상반기와 하반기에 각각 1회씩, 총 2회 이상 밋업을 시행할 계획이다. 더 나아가 2026년에는 직군 특성에 맞춘 미니 세션을 함께 운영해 더욱 풍성한 정보와 노하우 교류가 이뤄지도록 할 예정이다. 또한 각 직군에 특화된 AI 기술 학습 세미나도 개최해 실무적 도움을 줄 수 있도록 발전시킬 계획이다.
같은 직무를 가진 사람들이 모여 나누는 대화에는 특별한 힘이 있다. 그것은 단순한 정보 공유를 넘어 서로의 경험을 통해 새로운 시각을 얻고, 혼자였다면 해결하기 어려웠을 문제에 대한 해답을 찾아가는 과정이다.
컴투스의 직무별 밋업은 이런 가치를 현실화하는 의미 있는 시도다. 다음번 밋업에서는 어떤 새로운 인사이트와 만남이 기다리고 있을까? 당신의 업무 고민도 동료들과의 대화를 통해 새로운 해법을 찾을 수 있을 것이다. 앞으로도 더 많은 구성원들이 이런 특별한 경험을 할 수 있도록 지속적으로 확대해 나갈 예정이니, 많은 관심과 참여 바란다.
매년 여름이 되면 기온만큼 건강에 대한 관심도 높아진다. 더운 날씨에 쉽게 지치고 입맛도 달라지는 시기이지만, 오히려 이런 때일수록 꾸준한 건강관리와 균형 잡힌 식생활이 중요하다. 하지만 바쁜 업무 속에서 식단을 챙기고 운동까지 꾸준히 실천하는 일은 결코 쉽지 않다. 이럴 때 회사가 제공하는 복지는 건강한 습관을 만들어주는 든든한 기반이 된다.
기자는 여름이 다가올 때마다 자연스럽게 건강과 체중 관리에 대한 경각심이 높아지곤 한다. 그래서일까? 여름만 되면 어김없이 다이어트를 시작하는 계절성 습관이 자리 잡았다. 이는 ‘여름’이라는 계절적 특성이 큰 영향을 주기 때문일 것이다. 아래는 많은 사람들이 공감하는 여름철 다이어트를 방해하는 요소들이다. 혹시 여러분도 해당되는가?
여름철 다이어트가 어려운 이유
- 무더위로 인한 피로감 증가
- 쉽게 지치고 운동할 기운이 나지 않는다.
- 쉽게 지치고 운동할 기운이 나지 않는다.
- 땀과 수분 손실 증가
- 탈수를 막기 위해 음료를 많이 마시지만, 당분 섭취로 이어질 수 있다.
- 탈수를 막기 위해 음료를 많이 마시지만, 당분 섭취로 이어질 수 있다.
- 입맛 변화와 식욕 저하
- 밥보다 차가운 간식이나 시원한 음식에 손이 간다.
- 밥보다 차가운 간식이나 시원한 음식에 손이 간다.
- 야외 활동 증가
- 모임과 활동이 많아지며 고칼로리 음식과 음주 기회도 늘어난다.
- 모임과 활동이 많아지며 고칼로리 음식과 음주 기회도 늘어난다.
- 에어컨 바람과 실내 생활
- 활동량이 줄고 신진대사도 느려진다.
- 활동량이 줄고 신진대사도 느려진다.
- 시원한 음료 및 디저트 섭취 증가
- 빙수, 아이스크림, 달달한 음료 등은 칼로리 폭탄이다.
- 빙수, 아이스크림, 달달한 음료 등은 칼로리 폭탄이다.
이처럼 여름은 다이어트하기에 만만치 않은 계절이다. 하지만 좋은 식단과 복지 환경이 뒷받침된다면 훨씬 수월하게 건강을 지킬 수 있다. 기자의 경우 하루 섭취 칼로리를 1,700kcal 정도로 두고 있다. 아침에는 단백질 쉐이크와 운동, 점심에는 회사에서 제공하는 샐러드, 저녁에는 일반식을 챙긴다. 이번 기사에서는 회사가 제공하는 균형 잡힌 식단, 카페테리아, 스낵킹 등 다양한 복지를 통해 자연스럽게 실천할 수 있는 건강한 다이어트 이야기를 소개하고자 한다.
| 일반적인 성인 남성의 다이어트 칼로리 목표량 | |
| 조건: 30대, 키 170~180cm, 체중 70~85kg, 활동량 ‘중간(사무직+가벼운 운동)’ | |
| 체중 유지 | 약 2,200~2,600 kcal |
| 체중 감량(권장) | 약 1,700~2,100 kcal |
| 체중 감량(빠른 속도, 주의 필요) | 1,500~1,800 kcal |
스낵킹을 활용하기

스낵킹에는 임직원을 위한 간식(과자, 음료, 시리얼, 죽 등)이 마련되어 있다. 그중에서도 다이어트에 도움이 되는 건강 간식을 추천한다. 기자가 즐겨 먹는 간식은 반숙계란, 훈제란, 메추리알, 아몬드 브리즈, 우유 & 오트볼 등이다. 아침에는 주로 오트볼+우유+훈제란으로 든든하게 시작한다. 칼로리는 낮고 단백질은 높아 근력 유지와 체지방 관리에 좋다. 무엇보다 포만감이 꽤 있어서 점심시간까지 든든하게 버틸 수 있다. 점심에는 샐러드를 먹은 후, 오후 배고픔을 메추리알로 달랜다.


📌 칼로리 참고
반숙계란 70g(2개): 110kcal
오트볼 50g: 200kcal
훈제 메추리알 25g: 70kcal
아몬드 브리즈 190ml: 45kcal
우유 200ml: 129kcal





구내식당 활용하기

구내식당에서는 저칼로리 메뉴와 균형 잡힌 식단을 제공한다. 구내식당을 잘 활용하면 나트륨, 칼로리, 당류 섭취를 줄일 수 있고, 영양소 밸런스를 맞추는 데도 큰 도움이 된다. 샌드위치 1종, 샐러드 2종이 평일 점심에 만나볼 수 있다. 저녁에도 샐러드를 고를 수 있다.




기자는 평소 점심에 샐러드를 즐긴다. 양이 많은 편이지만 샐러드이기 때문에 오후에 배가 고파지곤 한다. 그때마다 스낵킹을 활용해 배고픔을 달래고 있다.
사내카페 활용하기

사내 카페에도 변화의 바람이 불고 있는 듯하다. 평소에도 다양한 음료가 준비되어 있어 자주 이용했지만, 다이어트나 근육량 증진에 도움이 되는 음료가 없다는 점이 늘 아쉬웠다. 그런데 얼마 전 다시 방문해보니 새롭게 단백질 쉐이크가 출시되어 있었다. 이 소식을 접하고 얼마나 반가웠는지 모른다.
기자는 다이어트를 할 때 단순히 체중 감량보다 체지방률은 낮추고 근육량은 유지하거나 늘리는 것을 더 중요하게 생각한다. 그런 기준에 꼭 맞는 메뉴가 카페에 생겨 정말 기뻤다. 단백질 쉐이크는 간편하게 마실 수 있으면서도 단백질 보충, 포만감 유지, 군것질 유혹 방지 등 다양한 측면에서 다이어트에 큰 도움이 된다. 앞으로 점심 후나 간식이 당길 때 건강한 선택지로 자주 애용할 것 같다.


야간매점 활용하기

불가피하게 야근을 하게 된다면, 식사 선택이 더욱 중요하다. 사내 야간매점에서는 야간 근무자를 위해 총 73가지의 다양한 음식을 제공하고 있으며, 이 중에는 건강한 식단과 다이어트에 도움이 되는 메뉴도 마련되어 있다.
| 야간매점 입고 품목 리스트 | |
| 다이어트용 | 건강식 |
| 다이어트도시락(현미곤약밥) | 삼계탕 |
| 닭가슴살(훈제) | 새우볶음밥 |
| 닭가슴살간장계란볶음밥 | 세척사과 |
| 닭가슴살김치볶음밥 | 솥반꿀약밥 |
| 닭가슴살불고기볶음밥 | 솥반버섯영양밥 |
| 닭가슴살소시지(오리지널) | 솥반뿌리채소영양밥 |
*25/7/29일 기준으로 품목은 변동 가능성이 높음*

컴투스는 임직원의 건강한 회사 생활을 위해 야간매점 외에도 다양한 복지 제도와 건강 지원 프로그램을 운영하고 있다. 업무와 일상 속 균형을 위한 작지만 든든한 지원은 앞으로도 계속된다.
[번외] 회사에서 할 수 있는 다이어트 운동

| 1. 계단 오르기 |
| · 엘리베이터 대신 계단 이용 · 하체 근력 강화 + 유산소 운동 효과 |
| 2. 복부 수축 호흡 (복식호흡) |
| · 앉은 자세에서 배에 힘주고 숨을 천천히 들이마셨다가 내쉬기 · 복부 지방 연소 및 자세 교정에 도움 |
| 3. 목 & 어깨 스트레칭 |
| · 장시간 앉아있을 때 뭉친 근육을 풀어주며 부기 해소 · 군살 관리 + 혈액순환에 도움 |
| 4. 사무실 워킹 |
| · 점심시간이나 커피 타러 갈 때 일부러 한 층 더 걷기 · 간단하지만 지속하면 체중 감량에 효과 있음 |
