24.12.23 (월)
·
내배캠/TIL
배터리 관리 클래스*BatteryController.h더보기#ifndef BatteryController_H_#define BatteryController_H_class Battery{public: Battery(int DefalutChargeLevel = 100); int GetCurrentLevel(); void UseBattery(); void ChargeBattery();private: int CurrentBatteryLevel; int UseLevel; int ChargeLevel;};#endif //!BatteryController_H_ *BatteryController.cpp더보기#include "BatteryController.h"#include using namespace std;Batt..
24.12.21 (토)
·
내배캠/TIL
알고리즘 강의 노션 문서를 보던 중, unordered_map 컨테이너에 대해 알게 되었고 해당 컨테이너가 Key-Value자료구조를 사용하고, Key-Value 자료구조는 크게 Hash-Table과 BST 자료구조로 나뉜다고해서 이에 대한 것을 공부해봤다. 정리를 해보자면 은 Key-Value 자료구조 형태의 컨테이너라고 할 수 있고,Key-Value 자료구조는 구현 방식에 따라 크게 Hash-Table과 BST 자료구조가 널리 사용된다.  컨테이너는 내부적으로 Hash-Table을, 컨테이너는 BST 자료구조 형태를 가지고 있다. 과 에 관한 정리는 아래 링크에 해둘 것이고, 추후 다른 Key-Value 자료구조를 가지는 컨테이너들에 대한 정리를 추가로 해볼 것이다.  https://dong-gr..
24.12.20 (금)
·
내배캠/TIL
특정 액터 콜리전에 플레이어 캐릭터가 충돌하면 게임이 종료되는 로직을 짜던 중 막히는 부분이 있었다. 게임을 종료시키는 액터 클래스 블루프린트에서 레벨 블루프린트에 있는 이벤트 함수를 호출하려고 했는데, 액터 블루프린트에서 레벨 블루프린트에 있는 이벤트 함수를 호출할 수 가 없었던 것이다. 하연 튜터님게서 이벤트 디스패처에 관해 공부해보면 해결할 수 있을 거라고 하셔서 이벤트 디스패처를 조사하고 문제를 해결하였다.  *Event DisPatcher에 관한 정리https://dong-grae.tistory.com/44 Event DispatcherEvent DisPatcher역할:객체 내부에서 특정 이벤트가 발생했을 때, 이를 외부에 알리는 시스템이다.객체 간의 상호작용을 캡슐화 하여, 이벤트를 발생시킨 ..
24.12.19 (목)
·
내배캠/TIL
레벨 디자인유튜버들 사이에서 가끔씩 즐기는 항아리게임, 사슬게임과 같은 플랫폼 게임을 만들기 위해 레벨 디자인을 하였다. 처음 생각으론 간단할 거라고 생각했지만 각 플랫폼을 배치할 때마다 플레이어가 이동이 실질적으로 가능할지, 장애요소가 어느 정도의 난이도인지, 세이브 포인트는 어느 지점이 적절할지 등등 많은 요소들을 생각하고 설계해야했다.  추후 기능을 구현하고 테스트해보면서 미세 조정이 굉장히 많이 들어가야할 것 같고, 플랫폼 게임 역시 플레이어와 굉장히 많은 상호작용을 한다는 것을 이번 레벨 디자인을 해보면서 많이 느꼈다.
24.12.18 (수)
·
내배캠/TIL
블루프린트 이용한 비주얼 스크립팅 처음에 Branch를 Return Node에 연결만 했는데 AI가 공격을 아에 하지 않았다.어떤 문제가 발생한 것인지 찾아보니 Branch에 True핀과 False핀이라고 명시되어있어서 Branch가 해당 Bool값을 반환한다고 착각하고 있었다.Branch는 C++에서 if문과 동일하다. 그래서 각 핀은 데이터를 반환하는 것이 아닌 단순한 실행 흐름으로 나누어 놓은 것이란 걸 알 수 있었다.따라서 Make Literal Bool 노드와 Not Boolean 노드를 사용해 명시적으로 Bool 값을 Return Node에 전달해 반환할 수 있게 하였다. 이로써 해결이 되는 듯하게 보였으나 AI가 난수를 적용 받지 않고 계속해서 나를 공격해왔다...무엇이 잘못된건지 한참을 살..
24.12.17 (화)
·
내배캠/TIL
레벨디자인 오늘은 월드에 배치된 액터에 움직임을 부여해서 '폴가이즈' 게임처럼 장애물 요소로 만들어볼 것이다.어떻게 하면 액터가 정해진 길이만큼 정해진 속도로 움직이고, 최대 이동 거리를 설정해 그 거리만큼 움직이면 다시 원래 초기 위치 값으로 되돌아올지 고민해보았다.  MovingPlatform.h// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "MovingPlatfrom.generated.h"UCLASS()class UNREALLEARNINGKIT_API AMovingPlat..