2024년 2월 16일 금요일

변수 네이밍 #1 - 상태 변수 - status vs state

 

프로그래머의 중요한 역량 중에 하나가 이름짓기(네이밍)라고 생각한다.

프로그래밍 월드 내에서의 개념들을 만들고,

객체를 만들고, 

그들간의 관계를 만들고,

동작하게 한다.

객체를 지칭하는 네이밍이 와닿지 않으면 혼동하기 쉽고 오류에 빠지기 쉽다.


코딩 할 때에는 영어를 써야 한다.

단어의 미묘한 차이가 개념의 혼동,혼란,적확성을 결정하기 때문에, 영어를 잘 해야 한다. 


status, state 는 객체의 상태를 나타내는데 인기 있는 단어이다.

status 는 상하로 움직이는 사회적인 지위를 나타내는 경우에 쓰이고,
state 는 state machine 에서의 상태, 전이 상태를 나타내는 경우에 쓰인다고 생각한다.
대부분 state 로 쓰면 더 맞다.

그 외의 상태를 나타내는 단어들을 더 조사해서, 이 글을 업데이트 해 봐야겠다.

2024년 2월 12일 월요일

잡 꿈

 

잡꿈


간만에 여러 생각을 하게 하는 꿈을 꿨다.


첫사랑이 나한테 이제라도 대학을 다시 들어가라는 조언을 해 주고,

친구가 나와서 우리 이제 새로운 꿈을 갖고 일해보자라는 말을 해 주고,

구상 하던 사업 아이템 관련 아이디어가 구현되는 모습도 보이고...


아쉬움과 욕망

한마디로, '아쉬움과 욕망'의 잔재물이 내 마음속에 남아 있다는 말이다.


인생을 반바퀴 돌면서 정말 많은 생각을 하고 산다.

사회화가 아닌 반사회화, 개인화가 이제 더 중요해지는 것 아닌가 싶고,

아쉬움을 떨치거나 가볍게 이루거나 평화롭게 살고 싶다는 생각을 한다.


지난 두어달은 아이디어를 다듬는 고독한 시간 


지난 두어달을 게임을 하며 게임 기획을 하려고 폐인처럼 지냈는데,

게임 기획도 쉬운 일은 아니다.

코딩과 같은 개발에 집중해 있을 때도 행복했었지만,

다른 차원의 고민을 해야 한다.

실마리를 찾아야 하는 고민들을 한다.

개발에는 대부분 답이 있는데, 기획에는 답이 없어보이고, 점점 미궁으로 빠져든다.

다른 사람들에게 경력 10년,20년이면 (나처럼) 답을 찾을 수 있어야 하지 않냐고 질타했던 내가 부끄러워진다.

과연 기획 아이디어를 잘 찾는 방법들을 경력자들은 갖고 있을까?


개발을 오래 했던 탓에 이제는 개발이 재미가 없고, 기획이 더 재밌고, 의미있게 느껴진다.

그러나 기획의 어려움은 구현이 된 완성체를 빨리 확인하기 어렵다는데에 있다.

업무를 하던 동안에는 숙련된 프로토타입 개발팀이 유능한 기획자를 보조할 수 있는 시스템이 되어 있어야 한다고 생각했었다.

혼자서 아이디어를 다듬고 방향성이 일관된 기획을 하고 스스로 검증하는 고독한 과정이 필요하긴 하다.

그런 과정에서 아이디어를 토론할 수 있는 상대자는 엄청난 즐거움이자 효율책이 될 것이다.


앞으로는 어떻게 할까?


폐인모드로 지내다보니, 루틴의 중요성을 다시 한번 실감한다.

너무 하나에만 매몰되서 하루를 지내는 것보다는

하루에 30분짜리 반복적이고 생산적인 일정들을 소화 했었더라면, 지금은 좀 더 나은 상태였을 것이다.

무너진 생활을 다시 다잡아야 한다.


인생도 문제 해결의 과정


아무것도 모르고 태어나 세상에 던져져서 살았다.

부모님과 선생님들,친구들의 사랑이 아니었으면 나는 아무것도 아니었을 것이다.

사람들이 돈 벌고 사는 방식을 가만히 보면,

결국 문제를 해결해주는 것이다.

사소하고 반복적인 문제부터, 그것들이 합쳐져 큰 문제를 해결하는 회사까지...

결국 가치 있는 문제를 해결하면 된다.

예전에 어르신들이 '그걸 하면 떡이 나오냐 밥이 나오냐 헛소리 마라' 했던 일들이

이제는 사람들이 각광하는 일들이 되어 있는 경우가 있다.

'노래와 춤'이라던지, '게임'이라던지...

나는 어떤 문제를 찾고 해결 할 수 있는 사람인가?

인생 3막에서 이제 스스로 다시 묻고 꾸준히 갈 수 있어야 한다.









Through the ages

 

문명 게임


지인의 추천을 받고, 문명(Civilization) 게임의 축소판인 '쓰루 더 에이지스'를 해 봤다.


보드게임이었는데, 앱으로 나와 있다.

보드게임은 안 해 봤는데, 튜토리얼을 통해서 룰을 대강 익힐 수 있었고,

몇시간만에 도전과제를 클리어할 수 있었다.


빌드 오더


이 게임의 핵심은 '빌드 오더'이다.

문명 게임의 핵심 재미 중의 하나인, 결정에 따라서 문명의 운명이 바뀌는 

문명의 축소판이다.

'선택의 재미'인 증명된 재미를 핵심만 더 파고들어서 새로 만든 게임이라고 볼 수 있다.



턴마다 할 수 있는 액션 수의 제한이 있고,

액션 수보다 3배 많은 카드 중에서 액션을 선택하여 수행하여 문명의 경쟁력을 키우고, 다른 경쟁자를 견제하고 전쟁하기도 한다. 

전쟁구현은 4X 게임이 아니기 때문에, 간단한 공격력 방어력 수준으로 구현하고, 일방적으로 밀려서 괴멸되지는 않도록 적절히 밸런싱 되어 있다.

고대 시대부터 현대 시대까지 시대마다 영웅 리더를 적절히 채용해서 그 특성을 활용해야 한다.

처음에 하면 Easy Mode 도 Easy 하지 않다. 

아직 베스트 빌드 오더를 찾지를 못했다.

몇시간 한 상태에서 개인적으로 끌리는 순서는 

아리스토텔레스 -> 징기스칸 -> 나폴레옹 -> 처칠로 이어지는 전쟁 위주의 진행이다.

정치적인 행위에는 약탈,전쟁,조약 등이 있는데 세력 차이가 많이 나야 약탈,전쟁에서 효과적이기 때문에 이득을 크게 볼 수는 없지만, 아드레날린 나오는 조합은 역시 전쟁위주의 진행인 듯 하다. ㅎㅎ

영웅들의 특성은 해 보면 쉽게 알 수 있는 수준이지만, 잘 활용 하기는 힘들다.

여간해서 Medium 이상 레벨에서의 챌린지를 이기기는 쉽지 않다.




2,3,4 인 플레이어까지 할 수 있다.

위의 그림은 2인용에서 첫 승리를 한 기념 샷이다.


육성 시뮬레이션에 적용 가능?


하다보니, 내가 기획하고 있는 게임에도 적용할 수 있는 로직이 있을 것 같다.

육성 시뮬레이션 게임에 빌드 오더를 이런 식의 로직으로 적용할 수 있지 않겠는가?

선형적인 육성 시뮬레이션은 재미가 떨어지기 때문이다.

이 게임에서의 1차,2차,3차 산업에 대한 성장 선택 과정은 어떤 육성 시뮬레이션에도 적용할 수 있는 로직일 듯 하다.


예를 들어, 걸그룹 육성 시뮬레이션이라면,

보컬, 댄스, 매력의 분야에 맞춰서 

다양항 액션(어떤 액션들이 있을까?) 카드로서 육성을 시키고,

영웅적인 트레이너에 의해서 육성이 영향을 받고,

다른 연습생 경쟁자와 겨룰 수 있는 구도로 하고, 

1위를 해야만 서바이벌 하는 게임으로 만들면 될 듯 하다. 

ㅎㅎㅎ


즐겜.