강의가 전부 끝났다. 좋아해야 할지 말아야 할지 말 모르는 조금 애매한 감정이 든다. 그도 그럴것이 이제 정말로 '내 프로젝트'를 시작해야 하기 때문이다. 내 개인적인 감정을 뒤로하고 마지막 강의를 말하자면 아마 모든 수강자가 제일 좋아하는 파트이지 않을까 한다. 네트워크로 통신하며 그 결과를 직접 볼 수 있는. 모든 강의가 그러하겠지만 앞서 본 강의 모두가 이 마지막 강의를 위해 존재했다는 것을 느낄 수 있었다. 그러면서 조금 갑갑한 느낌을 느끼는 것은 역시 내 프로젝트를 시작해야 하기 때문이다. 간단하게 ppt를 이용해 화면 구성도를 만들고, Excel로 데이터를 만들고.... 다행해 DB는 사용할 줄 아니 하겠지만 이것도 할때마다 느끼는건데 할때마다 시행착오를 겪어야 한다. 그리고 여러 시행착오를 ..
전체 글 검색 결과
아쉽게도 1개 강의만을 남기고 말았다. 그 이유는 간단하게도 오늘 늦잠을 잤기 때문이었다..... 할 일은 많은데 나태하고 싶다는 생각을 하며 오늘 하루를 늦게 시작했다. 변명을 여기까지 하고 오늘 강의를 보며 유니티에 대한 새로운 사실을 알게 되었다. Debug.Log와 같은 유니티 관련 함수를 다른 쓰레드가 사용하지 못하게 막는 정책이 있는지 처음 알았다. 물론 직군이 클라가 아니라 서버이지만, 클라와 함께 작업하며 여러 로직을 만져봤던 터라 좀 놀라웠다. 그 외에것은 패킷 직렬화 강의와 느낌이 비슷했다. 새로운 패킷을 추가하고, 그것이 어떻게 작동할지 예상하며 함수를 만들고.... 누군가는 지겨울지 모르지만 누군가는 과연 이 로직이 어떻게 작동할지 궁금해 하며 할 터였다.(나는 전자였다.) 느낌상 ..
오늘 간단하게 Job Queue 2개 남은 것만 하려다 "유니티 연동! 참을 수 없지!"하고 유니티 연동 #1까지 해버렸다. 느낌은 재미있다였다. JobQueue는 처음 JobQueue를 발견 했을 때 그 감동이 다시 느껴졌다면 유니티 연동을 시작하는 순간 진짜 게임에 가까워져 왔다는 느낌이 확 들었다. 뭐든 그렇듯 시작이 재미있다. 버전이 맞지 않아 강의 내용과 다르게 경고가 많이 뜬다.(빨간 느낌표인 오류 말고 노란 느낌표 경고다.) 전부가 최신 C#에서 적용하는 Nullable관련 경고다. C#에서 전부 ?, !를 붙여가며 열심히 했는데, 유니티에선 굳이 안 붙여도 되는거 같다. 그 때문에 ?기능 사용하려면 어쩌고 저쩌고 그러면서 경고를 내뱉고 있다. 물론 무시했고, 잘 사용되고 있다. 나중에 한번..
드디어 JobQueue다. 이걸 처음 봤을 때 느꼈던 그 황홀감이 잊혀지지 않는다. JobQueue의 최대 장점은 뭐니뭐니해도 lock사용을 줄여준다는 것이다. 전에 언급했던 20년 된 게임.... 기억하기로 JobQueue는 쓰고 있었다. 하지만 lock도 함께 열심히 쓴 덕분에 멀티쓰레드를 가장한 싱글쓰레드 게임이 되었을 뿐이었다. 해당 강의에서도 언급한 것중 하나가 JobQueue를 사용하는 class면 lock을 모두 빼주라고 말하고 있다. lock이라는것 자체가 하나의 공용 데이터에 여러 쓰레드가 "내꺼야!"하면서 우다다다닥 들어가는 것이 문제다. 하지만 JobQueue는 Job을 관리하는 하나의 쓰레드가 순서를 지키며 Job을 처리하기 때문에 굳이 lock을 적극적으로 해줄 필요는 없다. 다만..
패킷 직렬화 강의를 끝냈다. 어제 #2까지 봤다고 생각했는데, 오늘 보니 어제 #3까지 봤었다. 어제 많이 피곤했었나보다..... 결론적으로 오늘 3개의 강의만 보면 됐었다. 전반 3개의 강의는 패킷을 자동화 하는 '기본'이라면 후반 3개는 더욱더 편하게 하는 '개선'이었다. 개선점은 bat파일을 만들어 Packet Generator로 만들 packet.cs파일을 클라이언트와 서버에 각각 Copy해주는 작업이라던가, PacketManager.cs를 만들고 이를 서버에만 필요한 것, 클라에만 필요한 것을 구분해서 각각 필요한 곳에 Copy해주는 작업 등이었다. 다른것 들은 그냥 하면 되는데, 나처럼 최신 버전으로 해보고 싶은 사람들은 조금 걸릴만한 곳이 있다. (기존에도 null 가능하게 하려면 ?붙이고,..
오늘은 2강의 밖에 듣지 못했다.(Packet Generator 1, 2) 약 30분 짜리라 분명 1시간 정도면 됐을 터인데 약 3시간이 지나가 있었다....(왜....?) Generator를 구글 번역기에 치면 생성 프로그램이라는 번역이 나온다. 즉, 이번 강의는 패킷 생성 프로그램을 만드는 강의다. 해당 강의에서는 xml을 사용하는데, xml을 사용하는 패킷은 처음이었다. 전에 언급한 20년된 게임은 직접 하드코딩해서 txt에 담아(문서로 남길 겸) 클라이언트분께 넘겨줬었다. 다른 게임들은 서버나 클라가 그냥 만들거나 수정하고 Generator를 돌리면 자동으로 서버, 클라이언트에게 패킷 파일이 넘어가게 되어 있었다. 물론 이때도 수정 사항은 꼼꼼히 적어 상대에게 보내야 한다. (꼭 기억하자. 회사의..
최근댓글