로스트아크의 그 회사! 물론 전 쌩판 다른 AI Agent입니다. 어쩌다 지원하게 됐나요? 사실 계획 같은건 없었습니다. 대학교 복학하고 3학년 1학기가 끝나갈 때쯤 방학 계획은 히히 일본 여행이나 가야지~ 딱 이정도였는데, 어느 날 누워서 인스타 내리다보니 스마일게이트 인턴 광고가 나오더라고요??? 그걸 보게 된 저는 어라.. 재밌어보이는데..?? 안될거 같지만 지원이나 해보자~ 하며 도파민 가득 차서 서류부터 제출하게 됐습니다. 서류에 게임 경력도 들어간다던데.. 네 맞습니다! 확실히 게임회사다보니 게임에 진심인 사람들을 좋아하더라구요?? 서류에서도 그렇게 느꼈는데 면접에서도 한 번 더 느끼고 들어가서 두 번 더 느꼈습니다. 전 재밌게 했던, 진심이였던 게임들 (메이플이라던가..)을 5개 정도 적었어..
현생
메이플스토리 월드 슈퍼 헤커톤! 줄여서 메커톤이라 부르기로 했습니다. 메이플 IP로 해커톤을 연다고? 한참 게임 개발에 관심 갖고 있던 8월의 푸더기씨... 인생의 절반 이상을 함께한 메이플스토리의 IP로 해커톤을 연다는 소식에 참가 접수를 참을 수 없었습니다. 접수 기간에는 몰랐지만 메이플스토리와 메이플스토리 월드는 아주 다른 것이더군요! 그럼에도 불구하고 메이플스토리는 메이플스토리. 귀여운 엔티티 캐릭터들로 만들어나가는 게임 개발! 지금 생각해도 참가하기 참 잘한 것 같습니다. 팀매칭 및 교육 기간 먼저 팀매칭은 기간동안 직접 팀이나 팀원을 구해서 만들어오거나, 만들지 못했다면 랜덤팀원을 배정받는 방식으로 진행됐어요! 저는 합격자 누락 이슈로 늦게 참가하게 됐는데 같은 사정을 가진 학교 선배 영훈님와..
전역하고 보니 마침 귀여운 대회를 하네? 사실 전역은 아니고 말출을 22년도 7월 초에 나왔습니다! 나온 김에 뭐 할거 없나... 하며 찾아보던 중 (사실 쉬는게 제일이였던거 같긴 합니다) 학교에서 귀여운 대회를 열어주더라구요! 게임 개발 대회에 파이썬이라니 이렇게 뽀짝할 수가 없지 않나요? 그래서 관심을 갖게 됐습니다 ㅎㅎ 팀원들과의 만남 원래는 혼자 하려고 했습니다. 딱히 수상 목적도 아니였고 그냥 심심해서 참가한거였으니까요! 그런데 마침 학교 친구와 후배들이 최대 인원에서 딱 한 자리를 남겨두고 팀을 짜뒀더군요. 이왕 하는거 같이 하면 재밌을테고 열정도 생기고 할테니 같이 하게 됐습니다. 돌이켜보면 태어날 때 개발 한스푼에 기획 한꼬집 들어간 제게 좋은 선택이였던거 같습니다. 후회되는 단 한 가지 ..
Entity Component System, 이하 ECS는 이름 그대로 Entity, Component, System으로 구성되고, 추가로 World라는 개념이 있다. Component : 데이터를 저장하는 역할 Entity : 데이터 저장 X, unique한 index를 가진다. System : 행동 (데이터를 변형시킨다) World : Component와 System이 저장돼있음 World는 매 틱마다 System들을 실행한다. 각 System에 정의되어 있는 함수에서 Component를 수정하고, 그 Component 개체들을 가리키는 인덱스가 Entity이다. 하나의 Entity에는 여러 개의 Component가 들어갈 수 있고, Entity 간에는 부모 자식 관계를 맺을 수 있다. 위 예시에서는..
https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 최소비용 구하기 1에서 최소비용의 경로까지 출력하는 문제이다. 다익스트라 알고리즘에서 최소비용을 갱신할 때마다 나에게로 향하는 노드가 무엇인지 저장해준 후 역순으로 출력해주면 된다. 위와 같은 그래프에서 우리는 1번 노드에서 4번 노드로 갈 것이다. 다익스트라 알고리즘을 위 상황에 적용시켰을 때, 각 노드에서 갱신되는 "1번 노드부터의 거리 배열"이다. 문제에서 요..
https://www.acmicpc.net/problem/22352 22352번: 항체 인식 첫 번째 줄에는 SP 촬영 결과의 크기를 의미하는 두 정수 $N$과 $M$이 주어진다. ($1 \le N, M \le 30$) 이는 촬영 결과가 세로로 $N$칸, 가로로 $M$칸 크기의 격자라는 것을 의미한다. 다음 $N$개의 줄에는 www.acmicpc.net 주어진 두 배열에서 같은 숫자로 이어진 구역을 나누고(구역은 상하좌우로 이어져있어야 한다), 두 배열의 모든 구역의 모양이 같아야 하고 숫자가 다른 구역이 1개 이하이면 YES, 구역의 모양이 다르거나 숫자가 다른 구역이 2개 이상이라면 NO를 출력해주는 문제다. 문제의 예제와 같이 위와 같은 두 배열이 있다고 하자. 우리는 새로운 구역을 찾을 때마다 모..
제가 지금까지 작성해온 글들을 한 페이지에 정리해둔 것입니다. 개념을 정리한게 아닌 함수가 무엇이 있었는지 쉽게 찾기위한 정리입니다. 함수의 이름만 써져있으며, ()은 인자가 없다는게 아닌 함수라는 것을 뜻합니다. 전체 내용은 LINUX를 기반합니다. 프로토콜 체계와 소켓의 타입 소켓의 프로토콜 체계와 타입을 설정해서 TCP소켓 또는 UDP소켓으로 만들 수 있었다. 2. 소켓의 프로토콜과 타입 [TCP/IP][C][LINUX] 프로토콜이란 컴퓨터 상호간 대화에 필요한 통신규약입니다. #include int socket(int domain, int type, int protocol); // success: 파일 디스크럽터 fail: -1 sys/socket.h에서 소켓 함수는 위와 같이 구성되.. pupu..
세마포어는 18-4에서 다룬 뮤텍스와 유사합니다. 여기서는 0과 1만을 사용하는 바이너리 세마포어라는 것을 대상으로 쓰레드의 실행순서 컨트롤 중심의 동기화를 다룹니다. #include int sem_init(sem_t *sem, int pshared, unsigned int value); int sem_destroy(sem_t *sem); //success:0 fail:0 이외의 값 위 두 함수는 세마포어의 생성 및 소멸에 관한 함수입니다. sem에는 세마포어의 참조 값 저장을 위한 변수의 주소 값 전달(소멸 시에는 소멸시키려는 세마포어의 참조 값을 저장하고 있는 변수의 주소 값 전달), pshared에는 0 전달 시 하나의 프로세스 내에서 접근 가능, 0 이외의 값 전달 시 둘 이상의 프로세스에 의해 ..