Game DevTip36 1. Devtalk : 개발 공부에서는 AI를 어디까지 사용하는 것이 이로운가? 현재 개발 업계의 과도한 AI 사용이 과연 옳지 않은 것인가?최근 2~3년 부터 LLM 모델의 등장으로 인해서 세상의 흐름이 매우 빠르게 변하고 있다.개발 업계에서 이미 웹쪽은 LLM AI에 의해서 사실상 초보 개발자가 격퇴당한 수준이나 마찬가지일 만큼그만큼 LLM의 성능이 갈수록 좋아지고, 그만큼 현업의 주니어, 또는 아직 취준생인 사람들은사실상 가장 힘든 시기를 보내고 있지 않을까 싶다. 그만큼 AI를 활용한 코드들도 굉장히 많아지고 있으며, 심지어 마이크로소프트의 경우는 현재 개발, 상용화된 프로그램중 30%정도는 AI가 생성한 코드라고 한다. 메타나 구글도 비슷하게 추세를 따라가고 있는 지금, 과연 현재 개발자를 지망하는 학생들은 어떻게 해야할까? 최근 아마존을 취업한 20대가 사실 코딩 테스트.. 2025. 5. 21. 8. C++로 GameObjectPool을 구현 해보자. C++ 게임 오브젝트 풀 패턴 상세 구현 게임 개발에서의 성능은 핵심 요소이다. 특히 미사일, 총알, 파티클 등 수많은 객체가 동시에 생성되며, 소멸되는 상황에서메모리 관리는 게임의 프레임률과 직결된다. 이번글에서는 메모리 관리 최적화의 대표적 기법인 오브젝트 풀(Object Pool) 패턴을 C++로 구현 해보겠다. 오브젝트 풀 패턴이란?오브젝트 풀 패턴은 자주 생성되고 파괴되는 객체들을 위해 미리 메모리를 할당해 주고서필요할 때 이 풀에서 객체들을 가지고와서 사용한 후 다시 풀로 반환하는 방식이다. 주요 장점은 메모리 할당 및 해제시 오버헤드가 감소한다. new와 delete 연산의 빈번한 호출을 피하게 된다. 또한 메모리 파편화를 방지하여 동적 메모리의 반복적인 할당 및 해제로 인한 메모리 파.. 2025. 5. 21. 7. C++ friend, 동적메모리 관리, 클래스 상속에 대해서 알아보자. C++ Friend 에 대해서 객체지향 프로그래밍의 핵심 원칙중 하나는 캡슐화, 그리고 데이터 은닉이다. 하지만 때로는 예외를 둘필요가 있는데, C++에서는 friend 키워드를 사용하여 은닉성의 예외를 두기도 한다. Friend 키워드는 C++에서 제공하는 특별한 접근 권한 지정자로. 다른 클래스나 함수에게 자신의 private 또는 protected 멤버에 접근할 수 있는 권한을 부여한다. 해당 기능으로 코드의 효율성이나 유연성을 높이기 위해서 제공이 된다. 1. 전체 클래스 권한 부여.class PlayLevel{ // 다른 멤버들... friend class DesignedLevel; // DesignedLevel 클래스에 접근 권한 부여private: int mCompon.. 2025. 5. 21. 0. Direct X 기초 이해하기 : SDK, 라이브러리, Dx역사. DirectX 기초 이해하기: SDK, 라이브러리, 그리고 DirectX의 역사 게임 및 3D 그래픽 프로그래밍에서 가장 중요한 위치를 차지하는 Direct X.그런 다이렉트 X에 대해서 오늘은 알아보고자 한다. 하지만 그전에 용어에 대해서 알아할 개념들이 몇가지 있다. SDK 란 무엇인가?기본적으로 다이렉트 X를 개발하는 사람들은 DX SDK를 사용한다. 즉, SDK는(Software Development Kit)소프트웨어 개발 키트의 약자이다.정확한 정의 : SDK는 특정플랫폼, 운영체제, 또는 프로그래밍 언어를 위한 개발도구 모음.SDK vs API : SDK는 API(Application Programing Interface)를 포함하는 더 큰 개념이다. API는 소프트웨어 간의 통신 방법을 정.. 2025. 5. 21. Git Bash 심화 사용법 정리 Git 심화 사용법 정리1. 브랜치 전략1.1 브랜치 생성 및 전환git checkout -b feature/login 1.2 브랜치 병합 (Merge)git checkout maingit merge feature/login fast-forward 방식: 단순한 선형 병합--no-ff 옵션: 병합 커밋을 남김git merge --no-ff feature/login 1.3 브랜치 삭제git branch -d feature/login # 병합된 브랜치만 삭제git branch -D feature/login # 강제 삭제 2. Rebase와 Merge의 차이2.1 Rebase 사용 예시git checkout featuregit rebase main 커밋 히스토리를 “깔끔하게” 유지하고 싶을 때 사용.. 2025. 4. 21. Git Bash 설치및 Git 기본 사용법 Git Bash 설치 및 Git 기본 사용법 1. Git Bash란? Git Bash는 Windows 환경에서 Git을 명령어 기반으로 사용할 수 있게 해주는 도구다. Git은 기본적으로 리눅스/유닉스 계열에서 CLI(명령어)를 기반으로 동작하므로, Windows에서도 유사한 환경을 제공하기 위해 Git Bash를 사용한다. 2. Git Bash 설치 방법 Git 공식 홈페이지에 접속운영체제에 맞는 설치파일 다운로드 (Windows 사용자는 .exe 파일)설치파일 실행 후 기본 설정대로 설치 진행설치 완료 후, 바탕화면 또는 우클릭 메뉴에서 “Git Bash Here” 실행 가능 3. Git 최초 세팅 (사용자 정보 설정)git config --global user.name "Your Name"git .. 2025. 4. 21. 4. C# 인터페이스 및 추상클래스 ,다형성 C#의 인터페이스와 추상 클래스, 그리고 다형성의 활용 C#에서는 클래스 간의 관계를 정의하거나 특정 기능을 보장하기 위해 **추상 클래스(Abstract Class)**와 **인터페이스(Interface)**를 사용한다. 이 글에서는 RPG 전투 시뮬레이션을 예시로 하여, 이 두 개념과 더불어 **다형성(Polymorphism)**을 어떻게 활용할 수 있는지 설명한다. 1. 인터페이스란? 인터페이스는 클래스가 따라야 할 **명세(contract)**를 정의한다. 구현을 포함하지 않으며, 오직 시그니처만을 포함한다. 이를 통해 클래스가 특정 기능을 반드시 제공하도록 강제할 수 있다.interface ISpecialAbility{ void UseSpecial(Character target);}ISp.. 2025. 4. 21. 3. C# 클래스 클래스의 구분내장형식(built-in Type, 닷넷 프레임 워크)Console, String, math…사용자 정의 현식(user defined type)using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;namespace ConsoleApp1{ class MyFirstClass { static void Staticmethod() => Console.WriteLine("[1] 정적메서드"); void InstaceMethod() => Console.WriteLine("[2] 인스턴스 메서드"); static void Main() .. 2025. 4. 21. 이전 1 2 3 4 5 다음