라피르의 크고 아름다운 인셍

Lafir.egloos.com


포토로그 마이가든


본격 잡담록. 인셍

쓰고 싶은 드립이나 하고 싶은 말이 있으면 여기에 해주시면 되겠습니다.

저번에 써놨던 건 전역과 함께 내렸으니 새로 'ㅅ'

[WoT] IS뽑을라면 돈 좀 더 모아야겠지? 온라인 게임?

 상점이나 한번 볼까... 어? 칠십만...크레딧.....? 야 신난다! 은근히 병삼이도 반값인데 그 때는 몰랐습니다.

샀습니다. 100미리 달았습니다. 엔진업은 안해서 아직 미듐까진 아닌데

생각보단 느린데 꽤 빠릅니다. 말이 좀 이상한데 여튼 좋다 이겁니다. 

100미리포는 병삼이 쓸 때 티어 올라갈때까지 썼으니 뭐 더 할 말이 없군요.

머리 업하면 왠지 장갑은 똑같은데 회전속도 10도 떨어지고 왠지 손해보는 거 같은데

머리를 안바꾸면 122미리 최종포를 달 수가 없잖아? 후....

승무원은 김병삼이한테 있던 100퍼 승무원 데려와서 굴리고 있습니다. 

이제와서 75퍼부터 시작하라니 그건 아니지... 크레딧쓰니 90퍼까지만 떨어지는군요.

그리고 처음 탄 판에 독사클랜원 T29플래툰이 와서 발림.

머리 아니면 트랙만 내놓고있길래 짜증나서 닥돌해서 미듐처럼 돌면서 쏘니까

한대는 빈사상태 만들었는데 세대라서 당연히 끔살당했습니다. 우리팀도 옆에 T29있긴 있었는데 

쪽도 못쓰더군요. 여튼 아 이래서 미듐이구나!했네요.

이글루스 가든 - WoT

[WoT]가끔 올리는 자랑포스팅. 온라인 게임?

T-28 사기예요 너프좀...은 훼이크고 제가 noob입니다.
스샷 있어서 가립니다.

[언리얼스크립트 정리 #2]클래스들과 구조. 전공

보통 개발기간이 짧으면 UTGame, 길면 UDKGame이나 그거보다 낮은 레벨 클래스로도 개발 가능하실텐데 클래스들에 대해서 설명을 좀 하겠습니다. 뭘 할라치면 원래 클래스에서 되던 게 내가 하니까 왜 안되나? 에 대한 제 나름대로 내린 답입니다.

게임인포 클래스는 C로 치면 메인 함수같은 클래스입니다. 게임인포에서 시작해서 게임인포로 끝납니다. 찾아보니 상속하는 단계가 상당히 많네요. 모든 클래스의 조상인 Object는 생략합니다.

Actor-Info-GameInfo-FrameworkGame-SimpleGame-UDKGame-UTGame 흠좀무.... 뭐가 무섭냐면 동작이 좀 이상하다 싶으면 저 위쪽 조상들까지 기어올라가서 다 봐야 된다는 얘기라 이겁니다.

Pawn은 캐릭터 그래픽, 물리 쪽을 담당합니다. 카메라도 구현할 수 있습니다. 캐릭터 뼈다구, Bounding Volume(한국말로는 뭐라그래야되남) 같은 걸 지정할 수 있습니다. 완전히 물리적으로 움직이는 건 아니고 물리가 들어가는 비율도 조정할 수 있습니다. 보통은 bounding volume을 원통형으로 많이 씁니다.

Actor-Pawn-GamePawn-UDKPawn-UTPawn 이정도 되는 거 같네요.

다른 클래스들도 거의 비슷해서 가계도(...)는 생략합니다.

Playercontroller는 Pawn의 움직임을 담당합니다. 크게 나누자면 사람이 플레이하는 캐릭터와 컴퓨터가 플레이하는 캐릭터가 있는데 사람이 플레이하는 Pawn에는 그냥 Playercontroller를 넣어주고 사람이 플레이하지 않는 Pawn에는 Bot이라고 따로 만들어줘서 넣어줍니다. Bot에는 AI가 들어있고 Playercontroller에는 입력을 받아서 행동하는 방식이 정해져 있다고 생각하시면 되겠습니다.

Camera는 말그대로 카메라입니다. Pawn에 CalcCamera함수로 카메라를 조작할 때 카메라 클래스는 작동하지 않는 것으로 보입니다.

Weapon은 무기 클래스입니다. 데미지 주는 방식, 무기 메쉬같은 것들을 여기서 정할 수 있습니다. 

Inventory는 말 그대로 인벤토리입니다. 무기 말고 다른 게 더 들어가는지는 모르겠군요. 

더 알아갈 때마다 좀 더 채워넣어야겠는데 이 중에서 제대로 만져본 게 Playercontroller뿐이다 보니 나머지는 쓸 수 있을지 모르겠군요.

[언리얼스크립트 정리 #1] 캐릭터 움직임, rotator 전공

여기서 말하는 캐릭터 움직임이란 애니메이션 같은 게 아니라 캐릭터 좌표를 움직인다는 말입니다.

제가 했던 프로젝트에서 목표로 한 게 주인공이 근접무기를 사용하는 평범한 액션게임이었습니다. 또 키넥트를 써서 캐릭터를 움직여야 되는데 그러면 키보드 마우스 말고 다른 입력방식을 사용해서 캐릭터를 움직이는 게 목적이 되죠. 그렇다면 캐릭터는 어디에서 움직이고 어떤 방식으로 움직여야 하는가가 이번 포스팅의 주제입니다.

일단 코드부터 보면서 시작하겠습니다. 이 함수는 playercontroller안에 있습니다.

state PlayerWalking
{
function PlayerMove(float DeltaTime)
{
local Rotator cameraRotator;
local Vector centerOfPlayer;
local Vector rightHand;
local Vector cameraLocation;
local vector changeHand;
GetCore().GetSkeletalJointLocation(NIUI_userID, NIUI_JOINT_LEFT_SHOULDER,leftSholder);
GetCore().GetSkeletalJointLocation(NIUI_userID,NIUI_JOINT_LEFT_FINGERTIP,leftFingertip); GetCore().GetSkeletalJointLocation(NIUI_userID,NIUI_JOINT_RIGHT_HAND,rightHand);
gotohand=leftfingertip-leftSholder;
changeHand=rightHand-beforeRightHand;
//유저 위치, 카메라 위치, 카메라 방향을 구함
GetCore().GetSkeletalJointLocation(NIUI_UserID,NIUI_JOINT_WAIST,centerOfPlayer);
GetPlayerViewPoint(cameraLocation,cameraRotator);
super.PlayerMove(DeltaTime);
if (isTracking==true && bIsAttacking==false)
{
if (centerOfPlayer.X >= DefaultCenter.X +2.0) MyPawn.Acceleration.X-=0.5f;
else if (centerOfPlayer.X<=DefaultCenter.X-2.0) MyPawn.Acceleration.X+=0.5f;
if (centerOfPlayer.y>= DefaultCenter.y +2.0) MyPawn.Acceleration.y+=0.5f;
else if (centerOfPlayer.y <=DefaultCenter.y-2.0) MyPawn.Acceleration.Y-=0.5f;
}
MyPawn.Acceleration= TransformVectorByRotation(CameraRotator,MyPawn.Acceleration);
MyPawn.Acceleration=MyPawn.AccelRate *Normal(myPawn.acceleration);
//회전처리
PawnRotator=MyPawn.GetViewRotation();
if (gotohand.Z>=1) 
{
if (gotohand.Y>=2) PawnRotator.Yaw+=120*gotohand.Y;
else if(gotohand.Y<=-2) PawnRotator.Yaw+=120*gotohand.Y;
}
MyPawn.SetViewRotation(PawnRotator);
       //일단 스테이트 이동 못하게 해둠
if(Vsize(changehand)>=2.5 && !bIsAttacking)
{   
if(changeHand dot vect(0,-1,0)<0)bAttackLeft=true;
else bAttackLeft=false;
bIsAttacking=true;
StartFire(0);
}
ProcessMove(DeltaTime, myPawn.Acceleration,DCLICK_None,Rot(0,0,0));
GetCore().GetSkeletalJointLocation(NIUI_userID,NIUI_JOINT_RIGHT_HAND,beforeRightHand);
}
/-* 공격하는 버튼을 눌렀을 때 호출되는 함수
* The function called when the user presses the fire key (left mouse button by default)
*-
exec function StartFire( optional byte FireModeNum )
{
super.StartFire(FireModeNum);
showTargetInfo();
}
}
이 부분을 제가 정확하게 알고 있는 건 아니지만, 플레이어 캐릭터가 생성되면 어떤 방식으로든 playerwalking상태로 가게 되는 모양입니다. 위 코드는 playerwalking안에 있는 playermove(Deltatime)함수를 오버라이드해서 사용합니다. 중간에 super.playermove로 상위 클래스 함수를 받아서 같이 씁니다. 이렇게 해서 쓸 때 상위 클래스에서 받아오는 건 키보드 마우스 입력입니다. 마우스 돌리면 시점이 회전하고 wasd로 움직이죠.

일부러 알고리즘을 간단하게 짰으므로 코드 자체는 상당히 간단합니다.

키넥트 쪽 내용을 다 제외하고 보면 코드에서 남는 건 플레이어 움직임을 처리하는 방식입니다.

playermove함수가 processmove함수를 호출해서 실제 움직임이 반영되는 건 processmove함수 내부입니다. 그래서 움직이게 하려면 반드시 processmove함수를 호출해야 하죠. 반대로 processmove함수 내부를 고치는 방식도 있으나 이런 방식을 잘못 사용하면 전체가 망가질 위험이 있으니 적당히 사용해야 합니다.

언리얼스크립트 클래스는 대부분 다른 클래스의 참조를 가지고 있습니다. 예를 들면 playercontroller클래스 안에 있는 playercamera(...맞나?) 같은 것들이 있어요. 그래서 참조한 클래스의 변수들을 바로 사용할 수 있습니다. 대신 다른 클래스에 직접적으로 영향을 주진 못합니다. camera클래스 내부의 변수를 바꾸려면 camera클래스 안에서 바꿔야지 다른 클래스에서 바꾸면 안된다는 얘깁니다.

GetPlayerViewPoint(cameraLocation,cameraRotator); 카메라 기준으로 캐릭터가 움직여야 하니까 여기서 카메라 위치와 방향을 받아서 자기가 생각한 알고리즘대로 움직일 방향을 구한 다음에

ProcessMove(DeltaTime, myPawn.Acceleration,DCLICK_None,Rot(0,0,0)); processmove에 바꾼 값들을 집어넣어서 이동을 처리합니다.

시점 변경도 다른 인풋으로 처리하고 싶으시다면

PawnRotator=MyPawn.GetViewRotation(); 먼저 이렇게 원래 얼마나 시점이 돌아가있는지 구한 다음에 저 rotator를 변화시키고

MyPawn.SetViewRotation(PawnRotator); 저 함수로 pawn에다가 변화된 값을 주면 됩니다.

저 mypawn이건 코드 안에서 플레이어 폰을 직접 집어넣어준 경우긴 하지만 다른 방법으로도 구할 수는 있을 겁니다.
그리고 중간에 보면 생소한 자료형을 보실 수 있을텐데, vector랑 rotator가 좀 생소하실 지도 모르겠군요.

벡터는 우리가 생각하는 벡터가 맞습니다. float x,y,z로 이루어져 있습니다. 벡터 연산에 대해선 이쪽(언리얼 위키)을 참조하세요.

rotator는 int pitch,yaw,roll이 세개로 이루어져 있습니다. 간단하게 사람 고개 돌리는 걸로 설명하자면 고개를 끄덕끄덕하는 게 pitch, 도리도리하는 게 yaw, 갸웃하는 게 roll이라고 생각하시면 되겠습니다. 내가 보는 쪽을 x축이라고 하면 각각 y축, z축, x축 회전이 되겠네요. 

[언리얼스크립트 정리 #0] 언어 시작하기 전에 할 준비. 전공

필요한 거라고 생각할 수도 있는데 그러려니 합시다. 정리해서 남겨두는 게 제일 큰 목적인 포스팅입니다. 전공 첫 포스팅이 c도 아니고 자료구조도 아닌 언리얼이라니 약간 슬픈 감이 있군요.

이 글은 UDK를 이미 설치한 사람을 대상으로 합니다. 또 에디터를 배우고 싶은 사람도 대상이 아니며, 스크립트 언어를 배우고 싶은 사람 중 제가 한 프로젝트와 목적이 비슷한 사람을 독자로 생각하고 씁니다. 

일단 언리얼스크립트는 기본적으로 메모장같은 에디터로 편집가능합니다.

그렇지만 적어도 코딩할때 토큰들에는 색칠해주고 문법오류 티나는거 있으면 빨간줄 그어주면 고맙겠잖아요?

그래서 씁니다. 비주얼 스튜디오! 플러그인은 2008이나 2010을 정식으로 지원합니다.


혼자서 개발한다면 nFringe를 깔면 됩니다. 이걸 깔고 나면 자연스럽게 언리얼스크립트에서도 c++처럼 개발할 수 있죠. nFringe는 언리얼 위키나 개발 매뉴얼에도 맨 처음에 나와있으니 그쪽을 보시는 게 편할 겁니다.

VS를 별로 쓰고 싶지 않다면 WOTGreal이란 툴도 있습니다. 개발 메뉴얼쪽에 가시면 이것도 다 나와 있습니다. 한글이니 염려마시고 클릭해서 보세요.

플러그인 깔고 나면 언어쪽에 아래와 같이 언리얼스크립트라고 나옵니다. 프로젝트 폴더를 UDK설치폴더\development\src안에 만들면 파일들이 다 자동으로 프로젝트 안에 추가됩니다.
그리고 코드를 치기 전에 주의할 점이 하나 더 있는데, 반드시 파일 저장 전에 윗 메뉴에서 파일->고급저장옵션 들어가셔서
인코딩을 한국어로 바꿔주셔야 합니다. 이렇게 안하면 컴파일 할 때 파일에 이상한 문자가 있다고 에러가 납니다. 다른 에디터는 메모장 빼곤 이런 걸 바꿔줄 필요가 없는 걸로 압니다. 메모장은 저장할때마다 유니코드 문자를 헥스에디터로 지워줘야됩니다.

VS로 컴파일하고 디버그 빌드로 실행도 할 수 있는데, 저는 그냥 안하고 따로 UDK를 켜서 실행했으니 그 부분은 다루지 않겠습니다.

컴파일할 때 주의사항 한 가지 더 말씀드리자면, UDK에디터 켠 상태로 컴파일을 하려고 하면 반드시 에러가 납니다. 스크립트 빌드하는 게 UDK.exe파일을 빌드하는 거라서 파일이 실행중이면 바꿀 수가 없어서 에러가 나는 거죠. 컴파일은 반드시 에디터를 닫고 하시기 바랍니다.

파일을 만들 때 항상 클래스 이름이 파일 이름과 일치해야 합니다. 보통 파일 시작할 때

class Actor extends Object
abstract
native
nativereplication
hidecategories(Navigation);

요런 식으로 시작하는데 저렇게 클래스명이 Actor면 파일명이 Actor.uc여야 합니다. 대소문자는 가리지 않습니다. 상속한 부모 뒤에는 몇 가지 modifier들이 붙을 수 있습니다. native면 c++로 짠 클래스다 placeable이면 에디터에서 어디에 놓을 수 있다 이렇게 각각 의미가 있죠. 

다른 주의사항이 있으면 이 밑에 생각나는 대로 추가해 가겠습니다.


새해기념 전차들 몰아본 감상. 온라인 게임?

일단 전체적으로는 승무원 100%에 가까운 친구들이랑 다니다가 50%님들이랑 다니니 답답한 걸 감안해주세요.

프랑스 1티어- 다른나라 1티어랑 비교해서(풀업기준) 보면 트랙이 빨리 돌아가는 느낌인데 포탑이 트랙을 못쫓아가...이게 무슨 소리요! 주포는 나름 준수한 느낌. 딴것도 다 그렇지만 차체 밑 쏘면 맞붙는 탱크 중(2티어까지가 되겠네요) 아예 못 뚫을 탱크는 없는 거 같다.

테트라텍(어떻게 읽는건지 모르겠네요)- 속도 파워 장갑 어느 한 군데도 빠질 데가 없다. 다섯대가 울프팩 해서 말리노브카 풍차를 가니 막을 자가 없음. 정면만 보이는 호치키스(골탱) 아니면 답이 잘 안보이는 느낌. 대신에 시야는 300미터로 좀 좁은편?

뻘글에 가까운 글이라 밸리든 가든이든 안올리는게 나을듯. 

p.s. 1티어 간만에 몰아보니 하는 얘긴데 친구 끌어들여서 같이 할 때 다시 사갖고 몰아보면 전차가 가다가 멈춤->에임이 줄어들기 시작하는 이 시간이 굉장히 길게 느껴지는데 이것도 조준시간에 포함되는 건지 잘 모르겠네요. 

[WoT]새해인사 겸 묻어가는 전적포스팅. 온라인 게임?

너무 많이 까보여드리는 거 같지만 그런 건 아무래도(생략

저티어에 이상한 승률이 눈에 많이 띄네요. m2미듐은 7판밖에 안했으니 그렇다치고 ms-1이나 망리는 승률이 왜 저리 나온건지 이해가 잘.... 제가 잘해서 나온게 아니란 건 확실합니다(박진). A-20은 정말 할 말이 없네요. 달려가서 박기만 했으니 뭐... 38식 nA도 그렇고 A-20도 그렇고 su-5도 그렇고 망리도 그렇고 왜이리 4티어 희망이 잘 안보이는 전차들이 많은지... 그나마 T-28이 한줄기 빛이었습니다.

훈장같은 건 메달 딴 게 하나도 없으니 뭐... 보여드릴 게 없네요. 저 훈장들은 잘하면 빨리 쌓이지만 못 해도 쌓이기는 하는 훈장들이라 그닥 코멘트할 게 없군요. 그나마 뭐 기지방어훈장이 쪼렙인 걸로 봐서 닥돌만 하는구나...정도.

카미카제는 박치기를 원체 싫어해서 하나밖에 없네요. 저것도 분명 고티어가 딸피에 김병삼을 박으셨을거야... 게이왕이나.

그나마 T-28승률로 전체 승률을 이끌어가고 있긴 한데, 이제 5티어 미듐도 뽑았으니 그걸 주로 돌리고싶은데 승무원....승무원 ㅠㅠ 75퍼로는 진짜 100퍼 돌릴때 그 이니셜T같은 회전속도가 잘 안나와서 하기가 싫어서 덜 하고 있습니다. 

격파왕은 사기아티 su-26이 차지했고, 최고경험치는 역시 티어 높은 김병삼씨가 일등이네요. 122미리 달고 뿜뿜하니까 뭔 5티어도 풀업안하면 한방나오고 그래갖고 잘 나온 듯 싶군요. 

5티어 미듐 나라별로 하나씩 뽑았으니 이제 그것들 돌리면서 놀아야겠습니다. 4호전차도 오랜만에 몰아볼라니까 잘 못몰겠어갖고 좌절중이긴 한데, 시간이 해결해 주겠죠. 역시 미듐이 취향에 맞는데 그놈의 슬롯보상이 뭔지 슬롯보상 때문에 헤비만 돌리다보니까 몸이 게이브이들에 적응해갖고 미듐이 잘 안되네요. 김병삼 너무 느려요 장갑너프하고 속도좀...하지만 해줄 리가 없잖아?

HE탄 패치됐대서 부왁포 써봤는데 포르쉐티거 포탑이 부왁을 튕겨내서 이...이게....이게 무슨소리요! 하고있었는데 쓰다보니 T29도 90퍼 넘게 깎고 그래서 아 별로 큰 변화는 아닌가보다 하면서 살고 있습니다. 역시 게이왕은 부왁이죠 네.

IS까지 경험치가 4천 남았는데 크레딧이 백삼십만 남은 안습함. 대체 언제 가면 대원수님 달걀포탑 볼 수 있을지 감도 안잡힙니다.

여튼 새해에도 즐거운 탱크 하세요!

2011년 내 이글루 결산

2011 내 이글루 결산

1년동안 작성한 라피르님의 결산내역입니다. 이글루에 포스팅하여 공유해보세요.
본문이 500px 이하인 스킨은 지원하지 않아 포스트가 잘려보일 수 있습니다.
결산기간 : 2011년 12월 26일~ 2012년 1월 9일

포스트[52]

  8 8 2 4 3 4 8 3 4 2 6  
  1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월  

덧글[340]

  67 49 15 22 4 14 49 53 9 32 8 18  
  1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월  

트랙백[1]

  0 1 0 0 0 0 0 0 0 0 0 0  
  1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월  

핑백[0]

2011년 한 해 동안 받은 핑백이 없습니다.
  1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월  

내가 보낸 글 통계[42]

  6 34 2 0 0 0  
  테마 태그 가든 보낸트랙백 보낸핑백 블로거뉴스  

포스트 수 비교

 (2010년 포스트 : 34개)
2010 2010  2011 2011
  2 8 2 8 2 2 4 1 2 3 5 4 4 8 2 3 2 4 3 2 9 6  
  1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월  

명예의 전당

1년동안 작성한 글

200자 원고지 기준으로 254장 분량이며, 원고 두께는 약 2cm 입니다.
1년 동안의 글을 문고판 시리즈로 낸다면 2권까지 낼 수 있겠네요. 라피르님은 올 한해 이글루스에서 13,961번째로 게시물을 가장 많이 작성하셨네요.

자주 등록한 태그&대표글 TOP5

  1. 1위: 마작(8회) | 아카기 13주년 기념 우에다카나x후쿠모토노부...
  2. 2위: 월드오브탱크(3회) | [WoT]월오탱 자주포 3티어를 뽑았습니다.
  3. 3위: 월오탱(3회) | [WoT]월오탱 자주포 3티어를 뽑았습니다.
  4. 4위: 아카기(2회) | 아카기 13주년 기념 우에다카나x후쿠모토노부...
  5. 5위: world_o...(2회) | [WoT]간만의 월오탱 생존보고 & 잡았던 ...

자주 발행한 밸리&대표글 TOP5

  1. 1위: 게임(5회) | [WoT]이미 검증된 얘기지만...
  2. 2위: 지름(1회) | 그러고보니 오바라 질러놓고 포스팅을 안했네요.

내 이글루 인기글

  1. 가장 많이 읽힌 글은 한번 올려보는 쉐어 사용... 입니다.
  2. 가장 대화가 활발했던 글은 장절한 싸움의 결과. 입니다.
  3. (덧글16개, 트랙백0개, 핑백0개)

내 이글루 활동 TOP5

  1. 1위: gamma0burst (55회)
  2. 2위: 주거군 (39회)
  3. 3위: 카레 (7회)
  4. 4위: 미망인제조기 (7회)
  5. 5위: YEEL (6회)
내 이글루결산

빵과 주거옹이 탑을 먹음. 빵 포스팅<덧글이라니 역시... 역시 전체 덧글수가 적어갖고 군대가기 전부터 알던 지인들을 제치고 미망인제조기님이 4등을 하셨군요. 공동3위라고 해야될랑가? 
태그만 보면 짱꾼입니다. 정말로 감사합니다.
올해 와서 좀 더 관심을 받고 싶어갖고 밸리에 포스팅을 올리기 시작했는데 야겜포스팅은 아무리 관심받고싶어도 밸리에 못올리겠어서(...) 월오탱만 올리다 보니 게임밸리에밖에 올린 게 없었다는 함정.
쉐어 쓰고싶은 사람이 꽤 많으신 거 같네요. 무지 옛날에 쓴 글인데 요즘은 쉐어도 별로 안써서 애정이 별로 없네요. 검색해서 들어오는 사람도 요즘은 별로 없는 모양이니까 탈덕할라고 하면 괜찮은 환경이긴 한듯. 그런데 아이마스 보면서 입꼬리 올라가는 거 보면 도저히 탈덕이니 뭐니 할 계재가 아닌 거 같다....
현실이 바쁘다 보니까 블로그가 좀 소홀해지고 그러는데 폰 바꾸고 그러면 좀 더 포스팅을 할지도 모릅니다. 일단 새해맞이 언리얼☆프로젝트 끝나면 했던 프로젝트 내용이나 정리하면서 포스팅을 좀 해보고 싶네요. 공부한거 방학때 다 까먹으면 대체 왜 공부를 한 건지 회의가 들 거 같아서... 일단 지금은 언리얼스크립트 하고 끝나면 게임물리랑 운영체제 공부했던거 정리해서 올려볼 생각입니다. 매우 전공자도 알아듣기 힘든(제가 이해를 제대로 못해서) 포스팅이 될 예정이니 제목이 수상하다 싶으면 보지 않는 것이 정신건강에 좋을지도 모릅니다.

올해도 벌써 끝났군요. 인셍

솔직히 제대하고 뭐 한 것도 없는 거 같은데 어느새 한해 지나갔어...

부대있을때하곤 역시 시간의 흐름이 다르긴 한가 봅니다.

할일이 많다는 게 제일 크다고 생각은 하는데 음... 잘 모르겠군요.

올해는 왠지 그래픽 관련해서 뭘 많이 했는데 코드보면 완전 시궁창이라 기분이 좀 그렇군요.

1학기 CG는 반반 짠다고 두명 팀을 했는데 솔직히 내 조원이 짠 코드량이 훨씬 많았음.

그래도 물리 내가 다 했으니까 그나마 할말은 있는데...씁

2학기 게임만들기는 대체 우리가 코드를 짠 건지 뭘 한건지도 잘 모르겠고. 솔직히 한두달해서 전체 구조 파악하는 분 있으면 신으로 모시고 가르침을 받고 싶을 정도예요.

언리얼스크립트에서 좀 쓸만한 클래스 쓸라면 Object-Actor-Pawn-UDKPawn-UTPawn 요런식으로 다섯단계 상속해가니까 구조도 잘 모르겠고. 그래서 남들이 해 놓은 거 합칠 때 어떻게 하면 완전히 다른 프로젝트 두 개를 합쳐서 구현할 수 있을까만 생각해서 효율에 중점을 두고 합쳤습니다. 여기서 말하는 효율이란 건 어떻게 하면 노력을 최소한도로 하면서 일을 할 수 있을까를 열심히 생각했다는 뜻입니다. 
그나마 이 프로젝트에선 처음에 계획했던 목표들 거의 다 달성했으니 만족.

솔직히 2학년과목은 이제 별로 안남았으니 인터넷 프로토콜이랑 네트워크 관련된 과목 다음학기에 다 듣게 될텐데, 인터넷 프로토콜은 한학기동안 두꺼운책 한권 세세하게 다 나간댔으니 죽었고, 또 다른 마물(교수님) 이 숨어있긴 할 거 같은데 적당히 정정기간에 피할 수 있기를 바랄 뿐입니다.

왠지 한해 정리하다보니까 쌓인 게 많아서 좀 길어졌는데 이런 변방의 마이너블로그 들어오시는 분들(반은 오프에서 아는 사람이지만)

새해 복 많이 받으세요!

1 2 3 4 5 6 7 8 9 10 다음