반응형 전체 글27 게임 개발자가 입문해본 머신러닝, 딥러닝 - 최근 트랜드의 AI에 대해 알아보자! 요즘 핫한 키워드 인공지능! 그리고 머신러닝 딥러닝! 게임 개발자인 제가 머신러닝, 딥러닝에 입문하면서 스터디 발표자료, 개인 공부한 내용을 정리해보았습니다. 머신러닝, 딥러닝이 무엇인지 알아보고 저는 어떤식으로 공부하였는지 알아보겠습니다. 게임 개발자의 인공지능 게임 개발자에게 인공지능이란 FSM(유한 상태 기계), 비헤이비어 트리 등 게임속의 캐릭터를 어느정도 정해진 패턴과 변칙성에 의해서 움직이도록 하는 거대한 스크립트 덩어리의 느낌입니다. 이것을 활용하여 캐릭터는 정해진 내용 내에서만 움직이고 본인이 무언가 추가적인 학습을 하거나 판단을 하지는 않습니다. 최신 트렌드가 이야기하는 인공지능 요즘 세상에서 핫한 키워드인 인공지능(AI)은 바로 다양한 방법을 통하여 기계가 스스로 학습하고 그 학습한 결.. 2021. 10. 17. [밑바닥 C++] 6. 여러 흐름의 분기문 switch, 어디로든 튀는 goto switch ~ case문 정수 조건에 따라 코드의 흐름을 나누는 문법입니다. int Condition switch(Condition) // 정수 조건 { case 0: // Condition이 0일 때 코드 실행 break; case 1: // Condition이 1일 때 코드 실행 break; case 2: // Condition이 2일 때 코드 실행 break; default: // if문의 else와 비슷한 역할 // Condition중 위값들과 일치하는 내용이 없을 때 코드 실행 break; } 예제) 가위바위보에 스위치문 적용하기 이전 if문에서 만든 가위바위보를 switch문을 통하여 업그레이드 해보겠습니다. // 1은 가위, 2는 바위, 3은 보 int Player = 0; // 플레이어는.. 2021. 8. 29. [밑바닥 C++] 5. 가위바위보 게임으로 알아보는 분기문(if) 분기문 (조건문) 논리(bool)를 통해 코드의 흐름을 나누는 문법입니다. 프로그래머로 살아간다면 가장 많이 사용하게 될 코드중 하나입니다. if문 if (조건) { // 위 조건이 참(true)일 때 수행되는 코드 } if문은 괄호안의 조건(논리)에 따라 그 내부의 코드가 실행될지 결정하는 코드입니다. 몇가지 예제와 함께 알아보겠습니다. 예제 1) NumA가 NumB보다 작으니까 참(true). 화면에 아래 코드의 문구를 출력합니다. int NumA = 10, NumB = 20; if (NumA < NumB) { cout 2021. 8. 16. [밑바닥 C++] 4. 컴퓨터 친화적인 비트 연산자 + 축약, 증감 연산자 비트 단위 연산자 정수 자료형만 비트 단위로 연산을 할 수 있습니다. 컴퓨터 친화적인 이진수를 활용한 연산자라 가장 빠른 연산자입니다. 이번 내용을 이해하기 위해서는 2진수, 8진수, 10진수, 16진수 등 진수에 대한 내용을 학습하는 것을 추천합니다. 특수한 기호로 표시한 비트 연산자를 배운 기억이 있을 수 있습니다. & (AND, 논리곱) 논리 연산자 &&(and)를 하나만 사용하여 &(논리곱) 연산자로 사용합니다. 위 표와 같이 두 비트가 1일 때 결과는 1, 하나라도 0이라면 결과는 0이 나옵니다. short Num = 10 & 8; 0000 0000 0000 1010 & 0000 0000 0000 1000 ------------------- 0000 0000 0000 1000 위 표현에서 sho.. 2021. 7. 17. [밑바닥 C++] 3. HP 등 값을 조작하는 연산자, 변하지 않는 값 상수 연산자 (Operator) 변수를 선언하는 방법을 통해 HP 등 다양한 정보들을 만들었으니 이번에는 그 값을 어떻게 조작할지 알아보겠습니다. 산술 연산자 (이항 연산자) 덧샘, 뺄샘, 곱샘, 나눗샘 그리고 나머지 연산으로 값에 변화를 주는 연산자입니다. + (더하기) cout 2021. 7. 11. [밑바닥 C++] 2. HP 표기 등을 위한 변수 프로그래밍을 시작하면 우선 데이터를 어떻게 다루는지부터 배웁니다. 레벨, 전투력, 경험치 등을 프로그램에서 저장하기 위한 변수(Variable) 최대 경험치 100%를 표현할 값, 최대 강화값 등 변하지 않는 값을 저장하기 위한 상수(Constant) 변수를 조작하는 다양한 연산자(Operator)를 알아보겠습니다. 변수 (Variable) 변수는 데이터를 저장하기 위한 메모리 공간, 그 공간에 변수의 이름을 부여합니다. 변수에 저장된 데이터는 프로그램이 실행되는 동안 얼마든지 변할 수 있습니다. 변수 선언 변수에는 다양한 자료형이 존재합니다. 자료형에 따라 데이터를 저장할 수 있는 공간의 타입과 크기를 결정합니다. 시작은 변수 선언부터 해보겠습니다. int num; 위 코드에서는 int 라는 정수형 데.. 2021. 7. 10. [밑바닥 C++] 1. 역시 시작은 Hello World 처음으로 만들어보는 Hello World 프로그램 작성 시작하기전 통합 개발 환경(IDE)인 Visual Studio 2019 Community Edition 을 설치합니다. https://visualstudio.microsoft.com/ko/vs/ 에 접속해서 설치하면 됩니다. 설치할 때 옆의 항목은 반드시 체크해야 C++ 개발을 할 수 있으니 체크합니다. 설치가 완료되었다면 모든 프로그래밍 언어의 시작인 Hello World 프로그램을 작성하겠습니다. 새 프로젝트 만들기 → 빈 프로젝트 선택 → 프로젝트 이름 설정 후 생성을 눌러 프로젝트를 생성해줍니다. 다음은 우리가 컴퓨터와 대화하기 위한 C++의 코드를 작성할 소스 파일을 만들어 보겠습니다. 오른쪽 메뉴의 소스 파일 오른쪽 클릭 → 추가 → 새 .. 2021. 7. 4. [밑바닥 C++] 0. C++를 시작하며 C++ 강좌는 사실 더 좋은 내용의 책, 강좌들이 많습니다. 그렇기에 제가 작성 중인 밑바닥부터 시작하는 게임 개발에서는 C++의 완전 기초부터 작성하지는 않습니다. 혼자 공부하다 놓치기 쉬운 부분, 그리고 이해를 하고 넘어가야 함, 이것을 강조하며 내용을 진행할 것입니다. 저도 다시 공부하고 또 놓이는 부분이 없을 수 없으니 오류 등에 대한 지적은 환영합니다. 만약 C++를 더 자세히 공부하고 싶으시다면 아래의 강좌들을 보는 것을 추천드립니다. 씹어먹는 C++ 강좌 SoEn:소프트웨어 공학 연구소 C, C++ 강좌 그럼 시작하겠습니다. 사용하는 통합 개발 환경(IDE)으로는 Visual Studio 2019 Community Edition를 사용합니다. Intergrated Development Env.. 2021. 7. 4. 밑바닥부터 시작하는 게임 개발 작성 계획 과거에 게임 개발을 배우면서 정리, 참고했던 Game Programming Level Up (비공개) 이라는 참고용 수준의 문서를 좀 더 보기 좋게 정리하면서 복습 + @를 하기 위한 프로젝트. 게임을 만들면서 게임 프레임 워크에 대한 이해, 공부는 해봤지만 활용하기 어려운 디자인 패턴 활용하기. 모던 C++ 활용 등 게임 개발을 하면서 만나는 모든 것을 담아보자! 비정기적으로 작성 예정. 얼마나 걸릴지 도중에 멈출지도 모르지만 최대한 해볼 예정! 주요 학습 내용 1. 복습하면서 딥하게 알아보는 C++ (밑바닥 C++) 혼자 공부하면서 놓치기 쉬운 기본기에 대한 내용. 비트, 메모리, virtual table 등에 대한 내용을 담은 편. 콘솔창에 게임을 만들면 좋겠지만? 굳이라는 생각도 듬. (너무 노가.. 2021. 7. 3. 이전 1 2 3 다음 반응형