아니 세상이 너무 빠르잖아

 아니 왜 til을 안 쓴지 2주 가까이나 지나간거지?? 체감상 일주일 밖에 안 됐는데..... 알수없는 속도로 시간이 지나가버려서 오랫동안 til을 쓰지 않았다,................ 뭐.. 됐고 오랜만에 til을 쓰는 이유는 당연 쓸만한 가치가 있기 때문이다 ui의 위치를 바꾸고 싶으면 GetComponent<RectTransform>().anchoredPosition 을 써야한다. 그리고 인풋 시스템 하나의 액션으로 다양한 인자값을 받아 한개의 함수로 쓰고 싶었는데 튜터님도 안 해봐서 확인해봐야겠다고 하더라.. 아쉽다 할수 없이 똑같은 짓을 하는 함수를 4개나 만들어버리고 말은것이다.... 뭐 이건 나중에 찾아놔야지 리스트의 5135번째 순번에 두도록하자 아.. 참고로 지금 하고 있는건 팀과제로 공포 퍼즐게임이다 구성할때는 몰랐는데 뭔가 구현하면 할수록 공포가 느껴질만한 요소가.... 어쩌면 모든걸 알고있는 제작자의 시선이라 그런걸지도 모른다 퍼즐적 요소는 솔직히 잘 모르겠다 팀원중 한분이 퍼즐구상?을 하신거 같은데 기본적으로 아이템 찾기가 기본인데 맵이 워낙 협소해서 난이도적으로 어떨련지 모르겠다 스도쿠같이 계속해서 즐기는 퍼즐이 아니라 직소 퍼즐처럼 한번 완성하면 손이 안 가는 종류의 게임이 될거같다 (근데 직소 퍼즐은 클리어 시간이라도 단축하려고 반복하는 경우라도 있는데..) 뭐 말은 그렇게 했어도 그거에 불만이 있는건 아니다 내 느낌상으론 이 게임은 포탈과 비슷하다 내겐 포탈도 후자쪽 게임으로 생각되어 다만 차이는 포탈은 맵이 크고 많아서 그러한 느낌이 없을 뿐이다(하지만 후반을가고 초반을 하면 난이도가 쉬워서 재미가 없다) 문제는 필수&선택 구현 사항이다 적당한 정도의 수준은 해석으로서 이야기 할수 있지만 e.g : 장애물 및 트랩을 만드세요 나 : 커신이 장애물입니다 이런식으로... 다만 특정한 구현 사항들은 이 게임에 어떠하게 들어가게 해야하는지 참 난해하다.

그만해!!

이미지
 gameObject.layer == 레이어의 인덱스 LayerMask.value == 2진수로 표현된 레이어의 인덱스?? (뭐라 표현하란 말인가) //이글에선 편의상 LayerMask에서 바로.value하지만 //실제론 LayerMask 변수를 선언하고 그 변수에서 .value해야함. 예시 만약 4번째 인덱스를 골랐다면 gameObject.layer == 4; LayerMask.value == 10000; 0번째라면 gameObject.layer == 0; LayerMask.value == 1; 뭐 대충 이렇다.... int temp = 1<< 4; 이건 이제 10000가 된다 즉 4번째 layerMask.value와 비교 연산하기에 용이하게 쓸수있다 temp는 4번째 레이어와만 검사하라는 의미가 되겠지 (참고로 -n을 하면 n번째 레이어만 무시하라는거다..) temp = 1<< LayerMask.NameToLayer("we"); 뭐 이렇게해서 "we" 레이어하고만 충돌 검사를 시킬수도 있다 하드코딩은 안 좋다고하니깐.. 강의중 나왔던 코드.... 위에 말한대로 이야기해주면 levelCollsionLayer가 3번 인덱스이고 충돌한것이 2인덱스 레이어라면 (1000 == (1000 | (1<< 2))) 이런식이다.. 이해를 돕기위해 아래에 사진을 올려둔다 틀린게 있으면 지적해주세요.. 수정하게..

1/29

당면한 문제가 많지만 악독같이하면 다 해결가능한 문제다. 발표는 바로 내일 게임구성은 완성했고 이젠 꾸미기의 영역이다. 다른 조는 어떤 방식으로 했을지도 조금 흥미롭다만 어쩌면 들을 시간이 조금 없을지도 모른다 아직 강의가 조금 남아있어서 그 시간에 강의를 더 들어야 할거만 같다.. 발표가 끝나고 새로운 강의를 지급받을 태니 그건 그렇고 남이 짠 코드가 맘에 들지 않을때는 정말 기분이 좋지 않더라 없애버리고 다시 만들고 싶은 생각이 들 정도다 코드가 이건 이래서 저건 저래서 이상한 생각이 든다 내가 아직 다양한 패턴에 적응하지 못한것이겠지.. 팀 과제를 통해 깃헙을 통한 협업을 배워왔지만 아직까지도 잘 모르겠단 기분이 든다 개인과제를 하는것 처럼 몰입이 되질 않는다 내가 어릴때부터 구석진곳에 깡통처럼 찌르러져 있으며 만족감을 느끼는 사람이라 그런걸까 잘 모르겠다(팀원에 불만이 있는건 아니다) ..그건 그렇고 오늘 특강에 대해서 이야기를 하자면 상당히 도발적인 내용이였다 월 1억 3천의 개발자 되는법이였던가.. 이곳에서 특강을 여럿 들으면서 좋은 직장 할때마다 항상 돈 많이 주는곳이 나왔다 뭐 그걸 부정하고 싶은건 아닌데.. 사실 나는 월급에 그렇게 목 매달지 않는다.. 솔직히 최저임금보다 조금만 더 줘도 ok다 일이 미친듯이 많아도 좋다 야근하면 어떤한가? 나름 작업하면서 배울수도 있다고 생각한다.(너무 꼰대 소리인걸까) 뭐.. 별개로 강의 내용은 괜찮았다.. 독기를 가지고 하라는데.. 확실히 요즘의 나는 조금 물렀을지도 모르겠다. 한심한 모습도 적당히 보이고 열중해야지

오늘의 til

레이저 작업과 오브젝트 풀 관리를 했다. 오브젝트 풀 쪽은 구현자체는 큰 문제는 없었지만 작업하면서 조금 실수했던거 말고는 큰 문제없다 if문에 ==가 아니라 =를 했다던가.. ide가 왜 작동을 안 했지..? 그 외는 레이저 작업 해당 작업은 괜찮은 유튜브 강의가 있어서 해당 영상을 참조하여 도움을 받았다 흠,, 발표때 비슷한게 만을려나..... 내일은 간단한 ui작업과 스테이지별 난이도 관리에 들어간다. 또 오늘은 챌린지반 수업이 있었는데 예시로 이상한 방법으로 구현한 걸 먼저 보여주고 이상하게 구현한걸 수정하는 식으로 됐었는데................ 왜 이상하게 구현한 방법에서 엄청난 친근감이.............................. 갑자기 죽고 싶어졌다 .. 뭐 별개로 델리게이트를 사용하면 함수를 매개변수로 받아올수도 있었다 알지 못했는데.. 괜찮은 기능이다 그리고 델리게이트 == 액션인줄 알았는데 뭔가 액션이나 퍼미션은 제약이 있다고 다음시간에 다루겠다고 했다 뭘까나.. //이런식으로 가능하다.. delegate void Test(); Test temp; void SetFunc(Test t) {      temp = t;  } -------------------------------------------- SetFunc(() => {debug.Log("뭘봐?")} ); 예제 내가 이해한게 올바르다면 알맞게 동작할거다. 뭘봐 대신에 그냥 함수를 하나 만들어서 넣어줘도 된다만 한번만 쓰이고 안 쓰일 함수를 굳이 만들 필요는 없으니 저거면 된다. (라고 생각했지만 어떤식으로 갑자기 기획이 역변해서 두번 쓸수도 있으니 그냥 만드는게..) 수학 공부가 더 필요성이 강하게 느껴져....

팀 프로젝트 on

에고 팀 프로젝트도 시작됐다 나는 레벨 디자인 쪽을 담당하는데 팀원과 2인 1조로 담당하기로 했다. 아 참고로 게임은 1945인데 몬스터가 땅바닥에 닫으면 벽이 쌓이는 형식이다. 일단 작업은 ui배치를 정하고 오브젝트 풀링 작업을 시작했다 큰 작업은 아니니까 금방 끝날거라 생각한다. 다만 오브젝트 풀링도 만들기 나름이라 어떤 형태로 만들지가 약간 고민거리다.. 뭐 여차하면 강의에 있던 그대로 만들어도 큰 문제는 없겠지만.. 그 외의 작업은 어떤 스크립트가 필요하고 어떤 작업을 할지에 대한 정도... 음 그렇네.. 걱정은 많이 했지만 그래도 큰 문제 없이 해처나갈수 있을거 같다

개인프로젝트 종료

 아고.. 빡빡한 일정속에 개인프로젝트를 마무리 했다 뭐 솔직히 조금 고전한 부분도 없지않아 있지만 난이도적으로 봤을때 충분히 구현 가능한 난이도라 큰 문제는 없었다 다만 코드가 좀 맘에 안 든다 여러모로 개선하고 싶은 부분도 있었지만 강의쪽이 큰일이라 뒀다 강의는 아직 절반도 진행이 안 되고 있다.... 이제 팀 프로젝트 시작하면 진짜 볼 시간 없을텐데 여간 난감한게 아니다. 뭐 그래도 오늘은 조금씩 이지만 이해가 되어가고 있다 이전 팀 과제 평가가 올라왔다 객체의 분배나 저장기능 등 을 긍정적으로 평가받았다.. 개인적으론 조금 이상하게 만들었다 생각했는데 뭐 수준에 맞게 만든거란 거겠지 static을 적당히 쓰라는 이야기가 있었다 아무래도 static은 메모리 할당이 프로그램 시작부터 종료까지 계속 먹기 때문에 적절한 사용이 중요하다 뭐 단순히 많이 써서 지적 당한게 아니라 안 써도 좋을 부분까지 static으로 구현해서 나온 평가다 포션이라던가 뭐 ... 하지만 이부분은 오히려 개인적으론 이정도면 충분하다고 생각했다 당시 팀 수준과 비교했을때 그 이상의 구현을 하려면 아무것도 기어 못 한 팀원도 있었을거다. 그 외는 program.cs에 다 때려박지 말란거랑 깃 브런치 기능을 활용 해보라는 내용이였다. 솔직히 이 부분은 조금 코드 외적인 부분이라 그다지 신경 쓰지는 않았는데 작업하면서 스스로도 좀 필요하다 여겨졌던 부분이였다. 분활은 좀 해야겠더라; ㅋㅋ 메인에서 다 작업하니 어떤 문제가 생겨서 팀장이 백업했던 추억이.. 추억이겠지?

개인프로젝트 막바지

 개인프로젝트의 구현요구 사항은 대부분 큰 문제가 있는건 없었다 아직 다 완성 된건 아니고... npc 대화 기능만 추가하면 된다 내일 발표전에 건들여보고 제출할 생각이다. 팀원의 코드를 공유했는데 몇가지 괜찮았던게 나는 리소스 폴더에서 애니메이터를 교체했는데 리스트로 담아둔것이 더 괜찮아 보였다. 그리고 나는 npc가 생성될때 npclist에 add를 하기 위해 npc 스크립트의 생성자에 Add함수를 넣어었으나 왜인지 적용이 되질 않았다 생성자가 작동을 안 하는건가? 그건 아닐거같은데.. 생성자와 내장 함수들과 우선순의가 어떤식이지..? 아무튼 생성자와 종료자에 각각 list에 add와 remove를 담으면 좋을거라 생각했지만 작동하질 않아 조금 난처해 있었는데 ondisable,onenable 함수를 쓰면 된다는걸 알게되었다 별개로 다들 개인프로젝트를 잘 해주셔서 나중에 팀프로젝트 할때까 조금 걱정이다 잘 해야할텐데 ㅎㅎ 문제는 강의쪽이다 머릿속에 전혀 들어오질 않는다 내 생각에 프로젝트를 삭제하고 처음부터 다시 따라해야겠단 생각이 들었다 아니 뭐 사실 반복은 원래 할 생각이였지만 더욱 필요를 느낀다. 다만 오늘 하루종일 강의를 듣고 느낀게 뒤로 갈수록 집중력이 0에 수렴해서 아무래도 학습법을 바꿔야겠다 코드를 조금 짜고 납득할때까지 지켜보는 식으로.. 시간이 훨씬 오래 걸리지만 지금처럼 배우는게 없는것보단 좋겠지.(참고로 이제 절반의 분량만 했다..) 정 안 된다면 문제집 피고 삼각함수 문제나 풀어보는게 더 좋을거같다 하..