본문 바로가기

전체 글

(84)
스타2 실행 오류 해결법. "StarCraft II 실행 중 오류가 발생하였습니다. 다시 시도해 주십시오.' 라는 메시지가 뜨면서 스타크레프트2가 실행조차 되지 않는다.. "어라.. 난 정품인데 왜 이러지?" 라고 생각하는 사람들.. 나뿐만은 아니겠지.. 카페며, 각종 지식인에도 이런글들이 자주 보이더라.. 그래서 나도 해결해볼려고 3주동안 씨름하다가... 결국 찾았다. 일단 결론부터 이야기 하자면, 시작에 필요한 DLL 파일을 제대로 링크하지 못하는데 있는것 같다. 스타크레프트2가 설치되어있는 폴더(예: C:\Program Files\StarCraft II)에 가보면 Support 폴더와 Versions 라는 폴더가 존재한다. Support 폴더에는 각종 DLL 파일과, 실행파일들이 존재하고, Versions 폴더에는 패치받은 ..
[프로그래밍 습관] 함수를 만들때 꼭 기억해야 하는것 중 하나.. 함수를 만들면서 함수의 리턴타입이 void 인 경우도 있을것이고, data 타입이 지정되는 경우도 있을것이다. 보통 기능 위주로 생각을 하다보니 한가지 놓치는점이 있다. 그것은 data의 생성과 소멸시점에 대한 부분이다. 지역변수는 생성과 함께 stack 영역에 저장했다가 함수가 탈출하는 시점에서 자동 소멸하게끔 되어있다. 만약 지역변수로써 함수 내에 선언한 변수를 return 해버리는 경우에는 심각한 문제가 발생할수 있다. 그래서 지역내에서 생성한 함수를 리턴할 필요가 있을때는 static 키워드를 통해 전역변수화 시켜줘야 한다. 지금 생각해보면 프로그래밍을 하면서 수많은 함수들을 만들었었는데, 이러한 개념을 이해하고 있으면서도 실제로 만들때 지역변수를 리턴했던 경우가 다수 있었던것 같다. 주의하자....
[Ogre] 졸업작품 프로젝트 - Project Gayami 올해 3월부터 실질적인 제작에 돌입하여, 약 9개월동안 열심히 만든 졸업작품 프로젝트다. 팀원은 기획 1, 서버 1, 클라 3, 배경, UI, 모델러 각 1 총 8명이다. 사용 엔진 : Ogre 1.6.2 외부 라이브러리: CEGUI, FMOD, MOC, Lua 등 게임소개: 가야미 는 개미의 옛 말로, 개미간의 왕위 계승을 배경으로 만들어진 MO 슈팅 게임이다. 특징이라면, 한방에 참여한 유저들간에 팀을 나눠 싸우는게 아니라, 방 대 방 매칭 시스템을 도입하여, 방안에 참여한 사람이 모두 팀을 이루어 다른방 팀들간에 경쟁을 하는것이 시스템적인 특징이다. 요즘에 이런 매칭 시스템은, 전략 게임이나 대전 게임에서 주로 쓰이고 있으며 대표적으로 LOL(Leage of Legend)이나, 워크레프트3, 스타크..
[Ogre] 파티클 입자가 Fog 와 함께 나오기 위한 Material Setting 예전에 필드에 구름과 같은 효과를 주기위해 Fog를 낮게 깔고, 파티클 입자를 몇군대 방출을 하려고 했던 적이있었다. 이때 발생하는 문제점은 입자에 적용된 알파값이 Fog가 깔린 부분을 지날때 사각박스로 보이는 문제였다. 이때는 해결법을 몰라 잠시 접어뒀었는데, 어제 누군가 물어보길래 문득 드는 생각이 있어 해봤더니, 해결했더라는 것... 기억하는 Material 속성은 아래와 같다. ex) material test { technique { pass { lighting off depth_write off scene_blend alpha_blend texture_unit { texture plare.png tex_address_mode clamp } } } } 이런식으로 구성했을때, 일단 Fog와 겹쳐진 ..
[Ogre] 알파 적용된 플랜이 겹쳤을때 뒷부분이 제대로 표기되지 않을경우. 플랜을 활용하여, 부분적으로 알파를 적용한 이미지.. 혹은 두장의 플랜을 십자모양으로 두장을 겹치고(+) 풀과 같은 것들을 표현하고자 할때 일반적인 알파옵션을 쓰면 문제가 발생한다. 알파가 적용되어 뒤에 겹쳐진 이미지가 표시될꺼라 생각했겠지만.. 뒷부분이 뻥뚤린 화면이 나오게 될것이다. 이 문제를 해결하기위해, 두가지 방법을 기술해본다. 첫번째는 메트리얼파일(*.material)을 이용해 해결하는 방법이고, 두번째는 소스에서 직접 material을 만들어 쓸때 코드상 접근해서 해결하는 방법이다. 1. material 의 technique의 하단에 "scene_blend alpha_blend" 옵션을 삭제하고(없으면 상관없다) "alpha_rejection greater 128" 이라고 써주자. 예: ma..
[Ogre] 포커스를 잃어도 랜더링을 계속 하게 하는 방법 전체모드로 게임을 진행한다면, 현재 옵션은 크게 필요가 없을지도 모른다. 하지만 창모드로 테스트를 할때, 한명의 유저가 다수의 클라이언트를 띄워 볼 경우가 발생할것이다. Ogre는 기본적으로 포커스를 잃으면 해당 화면의 렌더링을 중지하게되어있다. 아래의 옵션을 활용하면 포커스를 잃은 윈도우도, 실시간으로 렌더링을 가능하게 한다. // 포커스를 잃어도 렌더링 되도록 m_pWindow->setDeactivateOnFocusChange(false);
[C++] Type Casting C++ 코드에서 많이 쓰이는 Type Casting 에 관련된 내용이다. 나도 확실히 몰라서, 참고하고자 포스팅 한다. http://www.cplusplus.com/doc/tutorial/typecasting/ Type Casting Published by Juan Soulie Last update on Jun 8, 2007 at 9:46am UTC Converting an expression of a given type into another type is known as type-casting. We have already seen some ways to type cast: Implicit conversion Implicit conversions do not require any operator. T..
Win32 프로젝트에서 콘솔 디버그창 띄우기 #pragma comment(linker, "/entry:WinMainCRTStartup") #pragma comment(linker, "/subsystem:console") 프로그램이 구동되는 부분의 서두에 두줄을 추가하면 된다.