반응형

3DMP

 

 

현업 프로그래머분들이 찾아와 레벨업을 하는 과외

이직 경쟁력을 갖추고 싶으신 분을 위한 과외 입니다

 

 

 

현업 3D게임엔진 프로그래머가 전수해드리는 고농축 고퀄리티의 과외를 만나 보실 수 있습니다

 

 

 

 

[ 실무경력 10y+ ]

  • 넥슨, 크래프톤, NHN, 넷마블 다수 동종/타종 근무경험 및 다년간 현업 개발자
  • 3D,2D게임 엔진,컨텐츠 프로그래머/ 언리얼4,5/네트워크 동기화 프로그래머/애니메이션 메인, 물리엔진개발/
    다수와 다양한 장르의 모바일, PC 게임개발/서버/Shader 등등의 개발 경험/ UE,Unity
  • 미들웨어(엔진)/ 일반 프로그램 프로젝트 제작
  • 고차원 수학/ 물리 들의 알고리즘과 관련된 특수 프로그램 제작
  • 게임업계 대기업 넥슨, 크래프톤, NC, 펄어비스, 중견 B사,  등등의 기업에 합격시킨 노하우
  • 다수, 다양한 분들에 대한 다수의 과외 경험으로 축적된 노하우 보유
  • 기타 일반 프로젝트 경험
  • 과외 등록 완료, 남,  성범죄 "완전 무(無)"!
  • 노하우를 아낌없이 알려드려 한층 더 레벨을 올려드립니다
  • 과외경력 10y+

 

[이직/취직/수강하신 분들의 회사]

  • 현직이지만 자신의 역량을 한층 더 레벨업 시키고 싶으신 분
  • 수강하셨던 분들 : 넥슨 코리아, NC, 넷마블, 넷게임즈, EA 코리아, 크래프톤, XL게임즈, 라이온하트
    프로그래머 다수(클라,엔진, 서버) 및 TA
    펄어비스, 블루홀, 스마일게이트, NHN 등등 의 - 프로그래머/TA/UI,
    마이크로소프트 프로그래머 인턴
  • 대학생(or 취준생) : 서울대, SKY, 포항공대, 게이오대(일본), 포함 상위 10% 이상 대학생, 유학생
    그리고 중/하위권 에서도 포기하지 않고 노력했을때 대기업 또는 목표치를 이룬 선례들이 다수
  • 전공자/컴퓨터 관련 전공자가 아니지만 게임이나 프로그램쪽으로 진로를 희망하시는 분들
    (비전공자 일지라도 대다수 분들이 원하는 성과를 이루고 가셨습니다)
  • 전문 프로그래머로 진로를 희망하시는 분들
  • 초심자로 프로그램 배워보려 했지만 진입 장벽때문에 포기하신 분들
  • 그룹(단체) 배워보고자 하시는 분들
  • 게임/비게임 임직원(CEO포함)
  • 무엇이 맞는 것이지 왜 쓰는지에 대한 정확한 답변이 필요 한 분, 이해가 되고난 이후 진행 되길 원하는 분
  • 타교육기관에서 한계를 느끼신 분
  • 최근실적 : N사중 게임프로그래머 부문 1위로 입사 프로그래머를 교육 후  연봉 1600만원+ 인상 이직

 [ 통합 진행 과목 ] : 목표에 맞춰 필요하거나  희망하는 것들을 함께 선택하여 진행합니다

방향에 따른 과목들은 상담을 통해 설정됩니다 
추가 과목에 대한 추가 비용은 들지 않으며 상담이나 수업 중간 중간 희망하는 진로/방향에 따라 과목들이 변경될 수 있습니다

  • 현업 3D 실전 수학, 일반 수학, 2D수학, 미들웨어, STL 기반 자료구조와 알고리즘
  • 최적화 알고리즘, 대규모 디자인패턴(설계-디자인)
  • 멀티쓰레드 프로그래밍, 기초 물리(Physics), 캐릭터, 지형 엔진 & Tools,
  • 멀티플레이 게임프로그래밍, 물리시뮬레이션 전문 동기화(난이도 최상)
  • 그래픽스 : shader(HLSL), Unity URP, ShaderLab, 3D 애니메이션
  • 다이렉트X : DirectX9/ DirectX12, Direct 를 통한 실전 수학 활용
  • 게임 엔진 : Unreal 4, Unity3D
  • C언어/C++,C++ 11~,C# 현업 디버깅 스킬 , 시스템 베이스
  • 포트폴리오 과정

 

[ 과외 기본 방향성 : 개인 맞춤형 최적화 설정]

 

수업은 수강자분의 현재 상태에 맞는 최적화된 맞춤 방식으로 진행되는 것을 원칙으로 합니다
모든 과목은 목적지는 
혼자만의 생각으로 수학/프로그램을 만들어 나가는 것을 목표로 합니다

현업/면접 또는 프로젝트 에서 중요한 부분 또한 조언 및 컨설팅이 같이 병행되며 경쟁력을 높입니다

  • 진도는 기본적으로 수강자 분들의 현재 수준을 고려하여 사전 상담을 통하여 
    수강자의 현재 실력기준으로 부터 부족한 부분은 채워 나가고 수강생의 목표에 따라 추가해야할 부분은
    함께 논의 후 진행하는 방향으로 진행됩니다
    • 수강자 분의 수준이 고려된 최적의 선에서 시작, 이미 알고 있는 부분은 중복해서 설명하지 않습니다
    • 진도만을 위한 도서 위주의 수업 또는 깊은 이해가 동반되지 않는 방식 즉 겉핥기로는
      게임/엔진 프로그래머의 문턱에 조차 도달 할 수 없습니다는 점을 기억하세요
  • 수업은 수강생 속도의 맞춤형으로 진행됩니다
    • 이해가 빠른 편이라면 그만큼 빠르게 진행될수 있고 반대의 케이스도 마찬가지 입니다
      단, 이해의 속도가 따라가지 못한다면 역효과가 날수 있다는 점만 주의하시면 되고 그에 속도에 맞춰이해가 될 때까지 다양한 방식으로 설명하고 넘어가는 방식을 추구 합니다
    • 수강생의 수준에 따라 해당 과목에서의 적절한 수준을 찾거나 과목이 변경 될 수는 있지만
      끝까지 해내겠다는 자세를 갖는다면 결국엔 희망하는 곳까지 갈 수 있습니다

 

 [ 과외 안내 ]

  • 진행 방식 :  개인 과외 1:1 진행 방식 / 1:N 방식
    수업은 대부분 수강생이 직접 코드를 작성 하고 대화를 계속 하면서 오프라인과 거의 차이 없이 진행 됩니다
  • 1 Section 기준 = 4주/4회, 추가 섹션은 및 진행은 별도 문의주시면 답변해드립니다
  • 요일 : 협의, 신청자가 많은 경우 대기 기간이 발생 할 수 있습니다
  • 1 회당(1 섹션) 시간 : 1:00, 섹션당 추가에 따른 누적 할인 적용
  • 수강 기간 : 한 달 단위로 수강, 수강생이 희망하는 달까지 진행되며 한달 단위 결제방식입니다
  • 과외 장소/방식 : 원격으로만 진행 (카메라 Off ) 
    원격과 오프라인과의 차이는 다년간 노하우로 거의 없다고 보시면 됩니다
  • 납부 방식 : 한 달 단위, 한달 단위로 연장 하는 방식
  • 그룹 과외  : 그룹(2인 이상은) 별도 문의 , 추가 할인 적용

 

[수강 특전]  : 3DMP 네트워크

  • 현업 게임 프로그래머들과 함께 지속적인 '3DMP 네트워크 데이' 에서 정보 교류활동의 기회

[문의]

상담시 최대한 오픈마인으로 임해주시면 좋은 시너지 효과가 나올 수 있습니다!

상담전용 카톡 플러스 친구 (별도의 친구 추가 없이 상담 가능)

 

https://pf.kakao.com/_uxabzK

 

상담 전용 카톡 아이디 : 게임프로그래밍 과외

 

 

반응형
반응형

 

3DMP

 

 

 

 

[ 실무경력 10y+ ]

  • 넥슨, 크래프톤, NHN, 넷마블 다수 동종/타종 근무경험 및 다년간 현업 개발자
  • 3D,2D게임 엔진,컨텐츠 프로그래머/ 언리얼4,5/네트워크 동기화 프로그래머/애니메이션 메인, 물리엔진개발/
    다수와 다양한 장르의 모바일, PC 게임개발/서버/Shader 등등의 개발 경험/ UE,Unity
  • 미들웨어(엔진)/ 일반 프로그램 프로젝트 제작
  • 고차원 수학/ 물리 들의 알고리즘과 관련된 특수 프로그램 제작
  • 게임업계 대기업 넥슨, 크래프톤, NC, 펄어비스, 중견 B사,  등등의 기업에 합격시킨 노하우
  • 다수, 다양한 분들에 대한 다수의 과외 경험으로 축적된 노하우 보유
  • 기타 일반 프로젝트 경험
  • 과외 등록 완료, 남,  성범죄 "완전 무(無)"!
  • 노하우를 아낌없이 알려드려 한층 더 레벨을 올려드립니다
  • 과외경력 10y+

 

[이직/취직/수강하신 분들의 회사]

  • 현직이지만 자신의 역량을 한층 더 레벨업 시키고 싶으신 분
  • 수강하셨던 분들 : 넥슨 코리아, NC, 넷마블, 넷게임즈, EA 코리아의 - 프로그래머 다수/TA/기획자
    크래프톤, 펄어비스, 블루홀의 - 프로그래머/TA/기획자
    스마일게이트, NHN, 기타 등등 의 - 프로그래머/TA/기획자/UI
  • 대학생(or 취준생) : 서울대, SKY, 포항공대, 게이오대(일본),
    포함 상위 10% 이상 대학생,그 외 글로벌 학교 및 유학생 포함
    그리고 중/하위권 에서도 포기하지 않고 노력했을때 대기업에 간 선례들이 다수
  • 전공자/컴퓨터 관련 전공자가 아니지만 게임이나 프로그램쪽으로 진로를 희망하시는 분들
    (비전공자 일지라도 대다수 분들이 원하는 성과를 이루고 가셨습니다)
  • 전문 프로그래머로 진로를 희망하시는 분들
  • 초심자로 프로그램 배워보려 했지만 진입 장벽때문에 포기하신 분들
  • 그룹(단체) 배워보고자 하시는 분들
  • 게임/비게임 임직원(CEO포함)
  • 무엇이 맞는 것이지 왜 쓰는지에 대한 정확한 답변이 필요 한 분, 이해가 되고난 이후 진행 되길 원하는 분
  • 타교육기관에서 한계를 느끼신 분

 

 [ 통합 진행 과목 ] : 과목은 수강생의 니즈에 맞게 협의 선택하여 진행


방향에 따른 과목들은 상담을 통해 설정됩니다 
추가 과목에 대한 추가 비용은 들지 않으며 상담이나 수업 중간 중간 희망하는 진로/방향에 따라 과목들이 변경될 수 있습니다

  • 현업 3D 실전 수학, 일반 수학, 2D수학, 미들웨어, STL 기반 자료구조와 알고리즘
  • 최적화 알고리즘, 대규모 디자인패턴(설계-디자인)
  • 멀티쓰레드 프로그래밍, 기초 물리(Physics), 캐릭터, 지형 엔진 & Tools,
  • 멀티플레이 게임프로그래밍, 물리시뮬레이션 전문 동기화(난이도 최상)
  • 그래픽스 : shader(HLSL), Unity URP, ShaderLab, 3D 애니메이션
  • 다이렉트X : DirectX9/ DirectX12, Direct 를 통한 실전 수학 활용
  • 게임 엔진 : Unreal 4, Unity3D
  • C언어/C++,C++ 11~,C# 현업 디버깅 스킬 , 시스템 베이스
  • 포트폴리오 과정
  • 실무/인사 면접 대비 과정

 

[ 과외 기본 방향성 : 개인 맞춤형 최적화 설정]

    • 원격제어 진행되고 수강생의 PC 에서 수업이 진행 되고 오프라인과 거의 차이가없는 방식으로 진행 됩니다
    • 진도만 빠르게 나가는 것은 실력향상에 도움이 전혀 되지 않기 때문에 수업 도중 궁금한것이 생기면 이해 할 수 있을때까지 반복하여 설명이 진행 됩니다(화를 내지 않는 스타일)
    • 현재 잘 알고 있는 것은 빠르게 지나가고 잘 모르는 부분이나 오개념에 대해선 바로 잡으며 진행 됩니다
    • 대기업에 간 선례들이 많은 만큼 이를 베이스로 실력이 차오르는 단계에 맞게 노하우를 모두 전수해 드립니다

 

 [ 과외 안내 ]

  • 진행 방식 :  원격제어, 1:1 진행 방식 / 1:N 방식
    수업은 대부분 수강생이 직접 코드를 작성 하고 대화를 계속 하면서 오프라인과 거의 차이 없이 진행 됩니다
  • 1 Section 기준 = 4주/4회, 추가 섹션은 및 진행은 별도 문의주시면 답변해드립니다
  • 요일 : 협의, 신청자가 많은 경우 대기 기간이 발생 할 수 있습니다
  • 1 회당(1 섹션) 시간 : 1:00, 섹션당 추가에 따른 누적 할인 적용
  • 수강 기간 : 한 달 단위로 수강, 수강생이 희망하는 달까지 진행되며 한달 단위 결제방식입니다
  • 과외 장소/방식 : 원격으로만 진행 (카메라 Off ) 
    원격과 오프라인과의 차이는 다년간 노하우로 거의 없다고 보시면 됩니다
  • 납부 방식 : 한 달 단위, 한달 단위로 연장 하는 방식
  • 그룹 과외  : 그룹(2인 이상은) 별도 문의 , 추가 할인 적용

[문의]

상담시 최대한 오픈마인으로 임해주시면 좋은 시너지 효과가 나올 수 있습니다!

상담전용 카톡 플러스 친구 (별도의 친구 추가 없이 상담 가능)

https://pf.kakao.com/_uxabzK

상담 전용 카톡 아이디 : 게임프로그래밍 과외

 

 

반응형
반응형

 

Hash Motivation

 

Direct Access Array

Hashing

 

Chaining

chaining 은 해쉬 테이블이 아닌 다른 자료 구조에 아이템을 저장해서 충돌을 해결하는 방법입니다. 해쉬 테이블의 각 인덱스에는 아이템이 아닌 또 다른 자료 구조를 가르키는 포인터가 저장됩니다. 이 자료 구조는 insert, search, 그리고 delete(k) 를 상수 비용으로 지원하는 Set Interface 이고 chain 이라고 합니다. linked list 나 array 를 생각하면 됩니다.

충돌이 발생해도 모든 해쉬 테이블의 chain 의 크기가 상수 이면 insert, serach, 그리고 delete(k) 를 O(1) 으로 수행할 수 있게 되고 이것이 hashing 을 통해 달성하고자 하는 목표인데요. 이를 위해서는 해쉬 함수가 중요합니다. 만약에 아주 안좋은 해쉬 함수를 선택해서 모든 키의 해쉬 값이 동일한 인덱스를 가진다면, 해당 인덱스 chain 의 크기는 O(n) 이 되고 insert, serach, 그리고 delete(k) 의 비용도 O(n) 이 되버립니다. 최악이죠.

 

이상적으로 어떠한 키 유니버스가 주어져도 충돌의 개수를 줄여서 테이블의 가장 큰 chain 의 크기가 상수인 해쉬 함수를 선택해야 합니다.

 

Universal Hashing

좋은 해쉬 함수의 기준을 다시 한번 정리하겠습니다.

 

어떠한 키 유니버스가 주어져도 충돌의 개수를 줄여서 가장 큰 chain 의 크기를 상수로 만드는 해쉬 함수

Dot Product Hash Family

 

참조

https://www.youtube.com/watch?v=Nu8YGneFCWE&list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY&index=5

https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLTV7NgF818VXpV2P-Px2H74hvEBL2o-G2&index=11 

 

 

ref : https://klioop.tistory.com/43

반응형
반응형

ComPtr com 객체들을 받아주는 스마트포인터 레퍼런스카운트가 0 이 될때 삭제된다

 

IID_PPV_ARGS

id 와 포인터를 만들어내는 define

위 함수가 IID_PPV_ARGS 를 받고 있는데 이것은 id 와 이중 포인터를 받고 있는 인자임을 알수 있고 IID_PPV_ARGS는 두개의인자를 넘겨주기 수월하게 만드는 define 이다

 

 

IDXGIFactory 디바이스 출력과 관련된 부분들 ex 스왑체인

 

DX12 에선 View ==  Descriptor 과 같은 의미로 통용된다

 

ID3D12DesecriptorHeap 디스크립터 힙 

 

D3D12_CPU_DESCRIPTOR_HANDLE 리소스 버퍼의 정보를 담고 있는 핸들(리소스를 gpu 에 알려주기 위한 리소스 주소 등을 담고 있음)

 

 

 

 

반응형
반응형

 

Multithreading your game has the potential to massively increase performance. You are getting an entire new thread to work with, so you can offload heavy tasks to your worker thread while your game thread keeps running at a high framerate.

Getting started with multithreading is daunting, at least it was for me, so I'm writing this to help out any fellow devs who might be interested in using this for your own project.

First off: is multithreading the right solution for you?The use case is quite limited, since there are a lot of things you can't do on the other thread. You can't read or write data that lives on your game thread, this includes modifying any UObjects. Doing so will result in undefined behavior - usually access violation errors.

So, what can you use it for? Think of it like an isolated part of your code, you can give it inputs, and then it will go off on it's own and calculate something only using the inputs you gave it. You can only (easily) multithread parts of your code that can be decoupled from the rest of the program.

For example, the way I used it was to calculate a custom lightmap using a recursive flood fill algorithm, the result is a dynamic 2D lightmap like the one in Terraria. First, the game thread prepares the data for the worker thread; it gets the details of every light on screen. Then, it gives the data to the worker thread, which performs the expensive calculations. Finally, the worker thread gives back the finished lightmap, and the cycle continues.

If you think your expensive task can be performed like this, you're in luck, because this guide will show you exactly how to implement it - without worrying about locking variables and mutexes.

Flip flop threading paradigm

I have no idea if that's a real paradigm, but that's what I'm going to call this system I created. This paradigm can be summarized by one video:

 

The game thread is the person flicking the switch, and the worker thread is the thing that switches it off. The switch itself is a boolean.

Basically, when the switch is off, the worker thread does nothing but check if the switch is on. This is when the game thread reads and writes to the worker thread. Once the game thread has finished, it flips the switch to on. When the worker thread sees that it's on, it will perform all of the calculations using the fresh data is received, and flips the switch off once it has finished.

Let's see how that looks in code.

First, let's lay out the foundations to get a FRunnable thread up and running. It won't do anything yet, other than log messages so we can see it working.

Header File

// Copyright notice

#pragma once

#include "CoreMinimal.h"
#include "HAL/Runnable.h"

/**
 *
 */
class GAMENAME_API FMyWorker : public FRunnable
{
public:

	// Constructor, create the thread by calling this
	FMyWorker();

	// Destructor
	virtual ~FMyWorker() override;


	// Overriden from FRunnable
	// Do not call these functions youself, that will happen automatically
	bool Init() override; // Do your setup here, allocate memory, ect.
	uint32 Run() override; // Main data processing happens here
	void Stop() override; // Clean up any memory you allocated here


private:

	// Thread handle. Control the thread using this, with operators like Kill and Suspend
	FRunnableThread* Thread;

	// Used to know when the thread should exit, changed in Stop(), read in Run()
	bool bRunThread;
};

C++ File

// Copyright notice

#include "MyWorker.h" // Change this to reference the header file above


#pragma region Main Thread Code
// This code will be run on the thread that invoked this thread (i.e. game thread)


FMyWorker::FMyWorker(/* You can pass in inputs here */)
{
	// Constructs the actual thread object. It will begin execution immediately
	// If you've passed in any inputs, set them up before calling this.
	Thread = FRunnableThread::Create(this, TEXT("Give your thread a good name"));
}


FMyWorker::~FMyWorker()
{
	if (Thread)
	{
		// Kill() is a blocking call, it waits for the thread to finish.
		// Hopefully that doesn't take too long
		Thread->Kill();
		delete Thread;
	}
}


#pragma endregion
// The code below will run on the new thread.


bool FMyWorker::Init()
{
	UE_LOG(LogTemp, Warning, TEXT("My custom thread has been initialized"))

	// Return false if you want to abort the thread
	return true;
}


uint32 FMyWorker::Run()
{
	// Peform your processor intensive task here. In this example, a neverending
	// task is created, which will only end when Stop is called.
	while (bRunThread)
	{
		UE_LOG(LogTemp, Warning, TEXT("My custom thread is running!"))
		FPlatformProcess::Sleep(1.0f);
	}

	return 0;
}


// This function is NOT run on the new thread!
void FMyWorker::Stop()
{
	// Clean up memory usage here, and make sure the Run() function stops soon
	// The main thread will be stopped until this finishes!

	// For this example, we just need to terminate the while loop
	// It will finish in <= 1 sec, due to the Sleep()
	bRunThread = false;
}

Creating and controlling the thread

This part is easy, just create an instance of the class above using regular C++:

FMyWorker* Worker = new FMyWorker();

The example is set up to run straight away, so if you want to pass it some data, you can either use the constructor, or move the Create() command to another function you can invoke when ready.

Remember to hold onto the pointer so you can delete it when no longer needed.

When finished, use the normal delete command:

delete Worker;

When you've done this, you should have a new thread that announces when it has been created, and will print a message to the log every second. The code should be stable and crash free.

Implementing the Flip Flop

Now that we have a basic thread, we can give it more functionality.

We need to create the boolean that acts as the switch, and the loop that reads this bool.

It's fairly straightforward, here is the code you need to add:

Header File

class GAMENAME_API FMyWorker : public FRunnable
{
public:

	[...]

	// ----------


	// The boolean that acts as the main switch
	// When this is false, inputs and outputs can be safely read from game thread
	bool bInputReady = false;


	// Declare the variables that are the inputs and outputs here.
	// You can have as many as you want. Remember not to use pointers, this must be
	// plain old data
	// For example:
	int ExampleIntInput = 0;
	float ExampleFloatOutput = 0.0f;


private:

	[...]
};

C++ File

uint32 FMyWorker::Run()
{
	// Peform your processor intensive task here. In this example, a neverending
	// task is created, which will only end when Stop is called.
	while (bRunThread)
	{
		if (bInputReady)
		{
			// Do your intensive tasks here. You can safely modify all input variables.
			// For the example, I'm just going to convert the input int to a float
			ExampleFloatOutput = ExampleIntInput;
			FPlatformProcess::Sleep(1.0f); // Simulate a heavy workload

			// Do this once you've finished using the input/output variables
			// From this point onwards, do not touch them!
			bInputReady = false;

			// I hear that it's good to let the thread sleep a bit, so the OS can utilise it better or something.
			FPlatformProcess::Sleep(0.01f);
		}

	}

	return 0;
}

That's all you need on the thread side of things. To access it from the game thread, do something like this:

 

// You need a function like Tick. You can also use timers
void AMyClass::Tick(float DeltaTime)
{
	if (Worker)
	{
		if (!Worker->bInputReady)
		{
			// Read and write the variables here
			Worker->ExampleIntInput = 3141592;
			UE_LOG(LogTemp, Warning, TEXT("Game thread: value gotten from worker thread: %f"), Worker->ExampleFloatOutput)


			// Flick the switch to let the worker thread run
			// Do not read/write variables from thread from here on!
			Worker->bInputReady = true;
		}
	}
}

Note: the variable Worker needs to be initialized before, like in BeginPlay(). Scroll up a bit to see how to initialize it.

 

ref : https://unrealcommunity.wiki/multithreading-with-frunnable-2a4xuf68

 

반응형
반응형

 [정원초과 마감]

3DMP

 

 

수학/프로그램은 샤프를 들기 이전에 상상에서부터 시작되어야 합니다!!

 

현업 3D게임엔진 프로그래머가 전수해드리는 고농축 고퀄리티의 과외를 만나 보실 수 있습니다

 

 

※ 제대로 된 곳이 아닌 다른곳에서 어설프게 배웠거나 이해가 완벽하게 가지 않은 상태에서 계속 진행이 되어
시간과 비용만 낭비만 한채 또는 중도에 포기한 채 이곳을 찾아 93% 이상 분들이 원하는 결과를 얻고 가셨습니다
요행 길이라는 것은 없으며 제대로 된 곳에서 제대로된 진로를 고민해보시기 바랍니다.

 

 

이력 ]

  • 넥슨, 크래프톤, NHN, 넷마블 다수 동종/타종 근무경험 및 다년간 현업 개발자
  • 3D,2D게임 엔진,컨텐츠 프로그래머/ 언리얼4,5/네트워크 동기화 프로그래머/애니메이션 메인, 물리엔진개발/
    다수와 다양한 장르의 모바일, PC 게임개발/서버/Shader 등등의 개발 경험/ UE,Unity
  • 미들웨어(엔진)/ 일반 프로그램 프로젝트 제작
  • 고차원 수학/ 물리 들의 알고리즘과 관련된 특수 프로그램 제작
  • 게임업계 대기업 넥슨, 크래프톤, NC, 펄어비스, 중견 B사,  등등의 기업에 합격시킨 노하우
  • 다수, 다양한 분들에 대한 다수의 과외 경험으로 축적된 노하우 보유
  • 기타 일반 프로젝트 경험
  • 과외 등록 완료, 남,  성범죄 "완전 무(無)"!

 

[이직/취직/수강하신 분들의 회사]

  • 넥슨 코리아, NC, 넷마블, 넷게임즈, EA 코리아의 - 프로그래머 다수/TA/기획자
  • 크래프톤, 펍지, 펄어비스, 블루홀의 - 프로그래머/TA/기획자
  • 스마일게이트, NHN, 기타 등등 의 - 프로그래머/TA/기획자/UI
  • 게임/비게임 임직원, CEO포함
  • 대학생(취준생), SKY, 포함 상위 10% 이상 대학생, 그 외 글로벌 학교 및 유학생
    하위권 에서도 포기하지 않고 노력했을때 대기업에 간 선례들이 많이 있습니다, 포기하지 마세요!
  • 전문 프로그래머로 진로를 희망하시는 분들
  • 전공자/컴퓨터 관련 전공자가 아니지만 게임이나 프로그램쪽으로 진로를 희망하시는 분들
    (비전공자 일지라도 많은 상당수의 분들이 원하는 성과를 이루고 가셨습니다)
  • 프로그램을 혼자 하기엔 막연하여 그룹(단체) 배워보고자 하시는 분들
  • 초심자로 프로그램 배워보려 했지만 진입 장벽때문에 포기하신 분들
  • 질문에 대한 답 : 무엇이 맞는지 모르겠는 것에 대한 정확한 답변이 필요 한 분
  • 타교육기관에서 한계를 느끼신 분
  • 현직이지만 자신의 역량을 한층 더 레벨업 시키고 싶으신 분
  • 최근실적 : N사중 게임프로그래머 부문 1위로 입사
    프로그래머를 교육 후  연봉 1600만원 인상 이직
  • 노하우를 아낌없이 알려드려 한층 더 레벨을 올려드립니다

 [ 통합 진행 과목] : 필요한 것들을 협의 선택하여 진행

방향에 따른 과목들은 상담을 통해 설정됩니다 
추가 과목에 대한 추가 비용은 들지 않으며 방향에 따라 과목들이 정해집니다

  • 현업 3D 실전 수학, 일반 수학, 2D수학, 미들웨어, STL 기반 자료구조와 알고리즘
  • 최적화 알고리즘, 대규모 디자인패턴(설계-디자인)
  • 멀티쓰레드 프로그래밍, 기초 물리(Physics), 캐릭터, 지형 엔진 & Tools,
  • 그래픽스 : shader(HLSL), Unity URP, ShaderLab, 3D 애니메이션
  • 다이렉트X : DirectX9/ DirectX12, Direct 를 통한 실전 수학 활용
  • 게임 엔진 : Unreal 4, Unity3D
  • C언어/C++,C++ 11~,C# 현업 디버깅 스킬 , 시스템 베이스
  • 포트폴리오 과정

 

 

[ 과외 기본 방향성 : 개인 맞춤형 최적화 설정]

 

수업은 수강자분의 현재 상태에 맞는 최적화된 맞춤 방식으로 진행되는 것을 원칙으로 하며 모든 과목은

최종적으로는 혼자만의 생각으로 수학/프로그램 을 만들어 나가는 것을 진행시 가장 우선적인 목표 진행합니다

현업/면접 또는 프로젝트 에서 중요한 부분 또한 조언 및 컨설팅이 같이 병행 됩니다

 

  • 진도만을 위한 도서 위주의 수업 또는 깊은 이해가 동반되지 않는 방식 즉 겉핥기로는
    게임/엔진 프로그래머의 문턱에 조차 도달 할 수 없습니다는 점을 기억해주시면 될 것 같습니다
  •  과목은 위에 나열한 과목들이 있지만 원하는 과목 또는 수준에 따라 먼저 시작하게 되는 과목이
    변경되니 과목 란에서 이런 과목이 있다는 것만 참고하시면 됩니다
  • 철저히 수강생 맞춤형으로 진행됩니다(수강자 분의 수준이 고려된 최적의 선에서 시작, 중복X)
  • 진도는 기본적으로 수강자 분들의 현재 수준을 고려하여 사전 상담을 통하여 
    수강자의 현재 실력기준으로 부터 부족한 부분은 채워 나가고 수강생의 목표에 따라 추가해야할 부분은
    함께 논의 후 진행하는 방향으로 진행됩니다(과목 추가는 별도비용 X)
  • 수업은 수강자가 직접 코드를 작성 하면서 진행됩니다
  • 과외 기본 목표 : 혼자만의 힘으로 희망하는 수준까지의 프로그램실력을 쌓는 것을 기본 목표로 합니다

 

 [ 과외 안내 ]

   진행 방식 :  개인 과외 1:1 진행 방식 / 1:N 방식

  • 1 Section 기준 = 4주/4회, 추가 섹션은 및 진행은 별도 문의주시면 답변해드립니다
  • 요일 : 협의, 신청자가 많은 경우 대기 기간이 발생 할 수 있습니다
  • 1 회당(1 섹션) 시간 : 1:00, 섹션당 추가에 따른 누적 할인 적용
  • 수강 기간 : 한 달 단위로 수강, 수강생이 희망하는 달까지 진행되며 한달 단위 결제방식입니다
  • 과외 장소/방식 : 원격으로만 진행 (카메라 Off ) 
    원격과 오프라인과의 차이는 다년간 노하우로 거의 없다고 보시면 됩니다
  • 납부 방식 : 한 달 단위, 한달 단위로 연장 하는 방식
  • 그룹 과외  : 그룹(2인 이상은) 별도 문의 , 추가 할인 적용

 

[수강 특전]  : 3DMP 네트워크

  • 현업 게임 프로그래머들과 함께 지속적인 '3DMP 네트워크 데이' 에서 정보 교류활동의 기회

[문의]

상담시 최대한 오픈마인으로 임해주시면 좋은 시너지 효과가 나올 수 있습니다!

상담전용 카톡 플러스 친구 (별도의 친구 추가 없이 상담 가능)

https://pf.kakao.com/_uxabzK

 

상담 전용 카톡 아이디 : 게임프로그래밍 과외

 

 

반응형
반응형

 

3DMP

 

 

광고 문의는 아래 연락처로 문의주시면 되겠습니다

 

광고는 광고카테고리에 게시글 하나를 자유형식으로 올려드립니다

 

https://pf.kakao.com/_uxabzK

3dmpengines@gmail.com 

 

반응형

'광고' 카테고리의 다른 글

IT 회사, 대학 초청 강연  (0) 2023.04.23

+ Recent posts