[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
안녕하세요 달팽이 문제를 푸는데 답은 잘 나옵니다 그런데 SetBoard함수의 board[y][x] = i 이 부분에서 "board에 쓰는 동안 버퍼 오버런이 발생했습니다"라는 경고가 나옵니다 이러한 경고가 왜 뜨는지와 이 경고를 해결하려면 어떻게 코드를 수정해야 하는지 알 수 있을까요? 코드링크: http://boj.kr/d69d82f1e84c49da942ec7948ab48529
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
안녕하세요. 배운 내용을 다시 공부하면서 실행해본 결과입니다. 함수 호출시에 232바이트만큼 rsp를 이동시키고 rbp를 32바이트만큼 빼서 스택프레임당 32byte와 200byte의 여백을 남기는것을 확인했습니다. 컴파일러가 컴파일시에 스택 사이즈를 정하고 저장하는 위치가 어디인지 궁금합니다. (예를들어 스택프레임은 32byte고 중간에 카나리(?)는 200byte라는걸 결정하면, os는 프로그램 실행시 해당 정보를 어떻게 알 수 있나요?)
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의중에 Rookiss 네이버 카페를 보여주시는데, 해당 카페에 가입하기 위한 조건이 있을까요?
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
static UserManager* GetInstance()//↗ { static UserManager um;//↗, 전역 객체 선언 return &um; } 이 부분에서 static UserManager um;//↗, 전역 객체 선언 static UserManager* GetInstance()//↗ { return &um; } 이렇게 하니까 1개의 확인할 수 없는 외부 참조입니다. 라는 링크 오류가 발생하네요. 왜 그런지 궁금한데 혹시 알 수 있을까요?
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
게임에서는 60 FPS 정도는 지원을 해줘야 부드러운 화면 처리가 가능하고 60 FPS를 지원하기 위해 게임 루프를 이용해서 1초에 60번 화면 갱신을 해줘야 되기 때문에 루프를 블로킹하지 않는 비동기 API 위주로 대부분의 기능을 구현해야 되는게 맞는 것인지요? 게임 루프가 실행될 때 Input > Update > Render 라는 큰 흐름은 유지되어야 될텐데 만약 Input이 발생할 시점에 Update나 Render가 실행되고 있다면 Input에서 발생된 데이터는 별도의 자료구조에 담겨있다가 다음 루프에서 Input 데이터를 가져와서 처리하는 형식으로 진행되는게 맞는걸까요? 이벤트 루프라던지 게임루프와 같은 것에 대한 개념이 부족한거 같아 질문드립니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Spirte 코드 44~52번줄 부분에서 { } 안에 적는 이유는 코드 정리를 깔끔하게 하기 위함인가요? 아니면 다른 이유가 있는건가요?
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
이 상황과 관련해서 몇 가지 같이 질문드려봅니다... 두 번째 for문(-> 주석 '//PK당해서 랜덤으로 일부 아이템 드랍' 부분)에서 스코프 내 지역변수가 최적화되어 사용할 수 없다는 메시지와 함께 내용을 알 수 없다고 나옵니다. 비슷한 경우를 포폴 작업하면서 몇 번 마주한 적이 있었는데요, 혹시 왜 이런 걸까요?_? (참고 사진) 이 질문이 본론이기는 한데, if문으로 RemoveItem 호출 후 반환되는 bool값에서 계속 false가 반환되는 듯 합니다. 1번 질문에 남긴 이유 때문에 디버깅으로 정확한 원인을 파악하지 못했습니다(ㅠㅠ) 그리고 같은 부분을 강의에서 코드가 정상 작동 되는지 확인해주셨었는데요(50:33), 이 때 if문 끝에 세미콜론이 붙어 조건문의 내용으로 적었던 출력 부분이 반드시 작동되도록 처리 되었더라구요. 강의를 여러 번 반복해서 보며 제가 잘못 작성한 부분이 있는지 확인해보았으나 발견하지는 못했습니다.. 혹시 정상 작동 시키려면 어떻게 수정해야 하는 걸까요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
안녕하세요 수업 내용 이외에 단일 물체 애니메이션을 구현하는 도중에 descriptorheap handle 쪽에서 오류가 발생하였습니다. 기본적으로 물체의 변환행렬을 상수버퍼에 추가하고 셰이더쪽에 연결하여 물체의 최종행렬을 계산하는 과정으로 알고 있습니다. objanimation 클래스를 파줘서 여기다가 모든 애니메이션 정보를 넣어놓고 컴포넌트에 연결해서 finalupdate 에서 행렬 보간을 해주고 meshrenderer 에서 transform 다음에 변환 행렬을 상수 버퍼에 pushdata 하는 과정에서 이런 오류가 발생하였습니다. 그리고 currentindex < elementcount 어썰트가 종종 일어나는데 이부분도 왜 일어나는것인지 궁금합니다 어떤부분에서 잘못구현한 것인지 감이 안잡혀서 질문 남깁니다 또한 오류가 발생하기이전에 다르게 구현을 해봐도 쉽지가 않았습니다. 어떤식으로 접근해봐야 잘 구현이 될지도 궁금합니다!
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
(1)인자로 받은 dest값이 예제처럼 비워져 있는게 아니라 이미 문자 데이터가 채워져 있는 상황이고, (2)dest에 채워져 있는 문자의 길이가 복사하려는 src의 길이보다 더 길다면, 해당 함수로 원하는 결과를 얻지 못하게 될 것 같다는 생각이 들었습니다. 함수가 호출되었을 때 인자로 받은 dest를 초기화하려면 어떻게 처리하는 방법이 있을 수 있을까요? dest의 공간에 모두 0문자를 입력해버리는 건 그다지 좋은 방법이 아닐 것 같아 질문 남겨봅니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
선형 자료구조 섹션을 다 봤는데요. 자료구조라는게 뭔가요? 왜 만드나요? 자료구조에서의 선형이라는 말은 뭘 의미하나요? 섹션 마지막까지 이 질문에 대한 답을 찾을 수 없었습니다. 이 섹션은 입문자를 기준으로 만들어진 강의같지 않습니다. 이 글을 보신다면 꼭 좀 답변 부탁드립니다. 이전에 연결리스트 강의에 올렸던 질문도 답변 부탁드립니다. 초심자의 경우 확신을 얻어가는 경험이 무엇보다 중요합니다. 부탁합니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
객체지향 개론에서 설명하신 Knight 와 같은 개념들은 게임이라는 환경이 너무 익숙하다 보니 어떠한 기능들을 수행할 수 있고 거기에 필요한 데이터가 어떤 것이다.라는 형식으로 대략적인 추상화가 가능하지만, 만약에 특정 기능을 구현해야 되는데 이 기능을 둘러싼 객체가 추상화가 잘 안되는 경우에 기능과 연관된 이름으로 객체를 만들어도 괜찮은 방법인지요 ? 제가 이러한 질문을 드리는 이유는 프로그래밍을 하다보면 특정 기능을 구현할 때, 몬스터라던지 상품이라던지 이런 개념들은 추상화가 가능하지만 기능 구현이 중심인 요구사항을 만들다보면 기능을 수행할 객체가 마땅히 떠오르지 않을 때가 많은거 같아서요.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
영상 25분 즈음에 소멸자에서 _tail->next = nullptr; 이런식으로 처리해 주지 않아도 while문이 정상적으로 종료되는 이유를 모르겠습니다. deleteNode 에 _tail 이 갖고 있는 주소값을 넣어줬기 때문에 delete delelteNode; 에서 동적할당 된 Node 클래스가 삭제되어서 nullptr 값이 되고 node 가 nullptr 값을 들고 있게 되는 건가요? 근데 이건 아닌거 같은게 delete를 하기 전에 node = node->next;를 하기 때문에 _tail = _tail->next; 라는 얘기고 여기서 따로 _tail->next 의 값을 넣어주지 않았는데 왜 정상 작동하는 걸까요? 엉뚱한 주소값을 가져야 하는거 아닌가요? 초회차 학생이라 최대한 쉽게 설명해주시면 감사하겠습니다. 아! Node 클래스 초기화 부분에서 next 초기값이 nullptr 이기 때문에 List 생성자에서 _tail = new Node(0); 로 동적할당 한 부분에서 next 는 nullptr 값을 갖고 있기 때문인가요? 오~이거 맞는거 같은데
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
switch (sceneType) { case SceneType::DevScene: newScene = new DevScene(); break; case SceneType::GameScene: newScene = new GameScene(); break; } sceneType별로 동적할당을 하는 부분 같은데, new 부분에 밑줄이 뜨는 이유가 뭘까요? GameScene부분과 DevScene 부분 상속 처리는 다 했습니다