본문 바로가기

전체 글

(333)
오브젝트 - 2 ※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다. 86p~129p 역할 - 역할은 객체가 참여할 수 있는 일종의 슬롯 (추상 클래스나 인터페이스로 구현) - 협력에 참여하는 후보가 여러 종류의 객체에 의해 수행될 필요가 있다면 그 후보는 역할, 아니라면 객체 - 설계시 역할을 사용할지, 객체를 사용할지 애매하다면, 단순하게 객체로 시작하고, 책임과 협력을 정제해가면서 필요한 순간에 객체로부터 역할을 분리해내는 것이 가장 좋은 방법이다. - 객체는 다양한 역할을 가질 수 있지만, 특정한 협력 안에서는 오직 하나의 역할로 보여진다. 4. 설계 품질과 트레이드 오프 객체지향 설계의 핵심은 역할, 책임, 협력 - 역할: 대체 가능한 책임의 집합 - 책임: 객체가 다른 객체와..
오브젝트 - 1 ※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다. ~86p 객체지향 프로그래밍 - 협력, 객체, 클래스 o 어떤 클래스가 필요한지 이전에 어떤 객체들이 필요한지 고민하라. o 객체를 독립적인 존재가 아닌 공동체의 일원으로 봐야 한다. 클래스는 도메인과 최대한 유사하게 만들어야 한다. (가능하다면 기획서에 있는 구조로 클래스를 짜야지) TEMPLATE METHOD 패턴 - 부모 클래스에 기본적 알고리즘의 흐름을 구현하고, 중간에 필요한 처리를 자식 클래스에게 위임하는 패턴 영화 예매 시스템 예제 클래스 사이의 의존성은 객체 사이의 의존성이랑 다를 수 있음 (런타임 결정) 설계가 유연해질수록 코드를 이해하고 디버깅하기는 점점 더 어려워진다. 협력이 설계를 위한 문맥을 결..
간신 개발 목표 (유니티 RPG 프로젝트) 지난 글에 이어 현재 작업하고 있는 내용과 상반기 목표를 정리하기 위해 이 글을 작성함 2월 - 필드 몬스터 시스템 + 조작개선 캐릭터 조작 변경 Riko 애니메이션 변경 몬스터 AI 수정(Nav Mesh기반 이동 추가) 몬스터 스텟 시스템 제작 전투 시스템 제작(플레이어와 몬스터가 서로 공격을 주고받는 부분) HUD UI 제작 HUD UI를 제작함으로써, 위에서 적용된 모든 피쳐를 합한 결과를 확인할 수 있을것 3월 - 캐릭터 시스템 완성 기본 캐릭터 시스템 (스킬, 스태미너, 체력) 캐릭터 3종 완성 ( Riko 제외 궁극기는 제외될 가능성 있음 ) Ai의 경우 화살 처리를 어떻게 할껀지 고민 필요 캐릭터 관리 시스템 캐릭터 UI 제작 캐릭터 스텟 제어 시스템 제작 GitHub - eugene-doo..
간신 개발 일지 - 23.02.11(유니티 RPG 프로젝트) 계속 개발중이긴 했는데 티스토리의 존재를 잊어서 포스팅을 안하고 있었음. 개발기록을 티스토리 같은 곳에 남기는것보다 그냥 깃허브 이슈탭에 남기는게 훨씬 편하다.. 현재까지 작업된 내용은 이런것들이 있다. 지금까지는 프로젝트 기반작업과 사용할 라이브러리에 익숙해지는 시간을 갖고 있었고, 현재 2월 작업에서는 몬스터와 관련된 콘텐츠들을 작업하고 있다. 현재 조작법 너무 불편하고.. 아무리 생각해도 캐릭터 애니메이션 에셋 뽑기를 잘못한거같아서 지금 캐릭터 애니메이션과 조작법을 뜯어고치는 작업을 하고 있다. 작업을 하면서 느낀점은.. 1. 오브젝트들을 개발자가 자유롭게 제어하기 위해서는 유니티 물리는 사용하지 않는게 좋다. 그게 사실적인 움직임일지는 모르겠지만, 개발자가 예상치 못한 케이스가 자꾸 일어나고 무엇..
추억속 아케이드 게임을 이끌어 온 기술 ~ 1990(완) 1984: 마블 매드니스 - C언어와 레이 트레이싱 마블 매드니스는 C언어를 사용해 제작되었다. C언어는 고급 언어 중에서도 기술하기 쉽다는 점과(어셈블리어랑 비교하면..) 저급 언어에 가까운 실행속도를 얻을 수 있는 언어이다. 같은 동작을 하는 어셈블리어와 C언어를 비교하면 프로그램의 규모가 크고 복잡할 때는 C언어가 개발 효율이 높다는 것을 알 수 있다. 마블 매드니스는 스테이지를 레이 트레이싱 기술을 활용하여 렌더링하였다. 레이트레이싱이란 이름 그대로 플레이어의 눈에 닿는 광선의 길을 더듬어 봄으로 현실에 가까운 외형을 그려내는 그래픽 기법이다.(라고 하지만 레이트레이싱이 적용된건지 모르겠네) 최근에는 고성능 GPU를 이용하여 매 프레임 단위로 실시간 레이트레이싱을 수행하기도 하지만, 마블 매드니스..
추억속 아케이드 게임을 이끌어 온 기술 ~ 1982 이제 진짜진짜 많이 들어본 게임들이 연속하여 등장하기 시작했다. 시작부터 팩맨이고.. 저번주에 갤러그 게임이라고 소개한 갤럭시안이 아닌 '진짜' 갤러그가 등장하고, 어디서 많이 본 형식의 레이싱 게임이 등장했다!! 1981: 팩맨 이전까지는 플레이어 캐릭터의 단순 조작이나 정해진 패턴대로만 오브젝트들이 움직여왔다. 이번 팩맨에서 가장 신선했던 점은 처음으로 '게임 인공지능' 이 등장한 것이다. 영상만 봐도 이전과는 다르게 적들의 예상하기 힘든 움직임을 보며 쫄깃함을 느낄 수 있었다. 팩맨에서 등장하는 4명의 적들은 각자 개성을 가지고 2D 타일맵을 자신만의 방법으로 이동한다. 이들은 각자 '목표 타일'을 지정하여 목표 타일까지의 직선 거리가 가장 작은 루트를 선택하며 나아간다. 적들이 루트를 개선하는 타..
Knou Verse - 프로젝트 명 : Knou Verse - 프로젝트 주제 : 방송통신대학교를 배경으로 한 VR가상환경 - 개발 인원 : 1명 - 수상: 2022 방송통신대학교 총장배 소프트웨어 경진대회 - 은상 관련 글 방송대 프로젝트 - 프로젝트 초기 셋팅 2022.06.21 방송대 기말고사를 끝내고 프로젝트를 제대로 시작하기 위한 준비를 하기 시작했다. 아마 이번달은 할 일이 많아서 기본 셋팅정도만 보고 다음달부터 최대한 시간을 내서 작업을 하게 doobudubu.tistory.com 방송대 프로젝트 - 환경설정 GitHub - eugene-doobu/Meister-Unity-assignment-2021_2nd Contribute to eugene-doobu/Meister-Unity-assignment-2021_2n..
추억속 아케이드 게임을 이끌어 온 기술 ~ 1979 년도마다 어떤 칩이 나오고 어떤게 개발되었고 이런 이야기가 나오는데 솔직히 들어도 무슨 말인지 잘 모르겠다.. 그나마 아는건 1976년도에 애플이 최초로 출시한 PC [Apple 1] 이정도.. 그래서 시대별 사용된 IC와 게임기기 이름은 잊고, 그래픽과 게임 플레이의 발전 단계를 중심적으로 보며 이 글을 작성하였다. 이 글을 작성하면서 책에서는 볼 수 없는 실제 게임 플레이 영상을 보니까 책에 더 재미있게 접근할 수 있었다. 1975 : 건파이트 최초의 마이크로 프로세스 CPU를 탑재한 아케이드 게임. 왜인지는 모르겠지만 초창기 게임들은 2인 플레이를 좋아하는듯 하다. 학교 컴퓨터실에서 하면 재미있을것 같은 재질의 게임. 건파이트는 이전 게임들에 비해 해상도가 높아지고 움직임에 대한 디테일이 크게 발전..