오늘의 핵심
땅콩은 견과류가 아니다..그저 "콩"일 뿐이다.
는 오늘 팀프로젝트의 발표 후에 가진 노는 시간에 매니저님이 내신 문제다 ㅎㅎ 꽤 충격이었어서 적었다.
오늘은 어제에 이어서 멀티 캐스트 델리게이트와 델리게이트를 기반으로 하는 이벤트에 대해서 공부를 하고 정리헀다.
깊숙한 내용의 질문은 구글링을 해도 안나와서 우리 지피티 센세에게 물어보며 내가 원하는 지식을 얻었다.(사람이었으면 절교당할 정도로 물어봤다.)
글에도 썼지만 지피티는 이런 질문에도 정확히 답해주는 참 좋은 선생님이다.
나 :
그냥 멀티 캐스트 델리게이트에 메서드를 추가하는 것과
여러 델리게이트를 Delegate.Combine을 이용해서 하나의 멀티 캐스트 델리게이트로 만드는 것은 비슷하지만 다른 것이라고 할 수 있겠네?
ChatGPT :
맞습니다. 멀티캐스트 델리게이트에 메서드를 직접 추가하는 것과 Delegate.Combine을 사용하여 여러 델리게이트를 결합하여 멀티캐스트 델리게이트를 생성하는 것은 약간의 차이가 있습니다.
- 멀티 캐스트 델리게이트에 메서드 직접 추가
MyDelegate multiDelegate = Method1; multiDelegate += Method2; multiDelegate += Method3;
- 델리게이트 체인
MyDelegate multiDelegate = (MyDelegate)Delegate.Combine(new MyDelegate(Method1), new MyDelegate(Method2), new MyDelegate(Method3));
두 방법은 결국 같은 결과를 얻지만, 두 번째 방법은 더 일반적이고 동적인 상황에 유용합니다. Delegate.Combine을 사용하면 여러 델리게이트를 동적으로 결합할 수 있으며, 예를 들어 컬렉션에서 가져온 델리게이트들을 쉽게 합칠 수 있습니다.
오늘 두 번째 팀 프로젝트인 TextRPG 프로젝트의 발표까지 마무리됐다.
서로 참 비슷한 분위기를 가졌던 팀원들과의 2주동안 활동이 끝났다.
우리의 결과물도 결과물이지만 팀원 간에 서로를 대하는 것과 존중했던 모습은 아마 모든 조들 중에 1등이 아니었을까..
급한 마음에 막연하게 들어온 내일배움캠프이지만 프로젝트를 진행하며 프로그래밍 외에도 배우는 것이 생기는 것 같다.
오늘 다른 조들의 발표를 보며 "와..게임은 기획과 아이디어가 절반 이상이구나"라는 생각을 하게 됐다.
콘솔로 역동적인 낚시게임을 구현한 조도 있었고, 전직 시스템을 구현한 조, 세이브 데이터를 시간으로 구분해서 유저 입맛에 맞게 불러올 수 있게 한 조도 있었다.
제일 흥미로웠던 것은 몬스터에게도 확률적으로 발동되는 스킬을 만들어줬던 것이었다.
이런 작지만 강력한 아이디어들이 적재적소에 사용되면 게임의 퀄리티를 확 바꿔준다.
개발 실력 뿐만이 아니라 아이디어도 정말 중요함을 다시 느끼는 날이었다.