블로그 이미지
˙Jisoo

카테고리

분류 전체보기 (101)
Programming (35)
Game Project (23)
Almighty Engine (11)
Daily Life (19)
Photo Shots (11)
Total24,756
Today55
Yesterday56


어느정도 틀이 잡혀서 기본적인 게임플레이가 가능한 루프를 만들어놓았습니다.
메인메뉴는 예전에 생각한대로 뒤에 게임화면이 뿌려지고 그 위에 약간 어둡게 메인메뉴UI를 덮어씌우는 식으로 했네요.
예전부터 느끼는 거지만 처음에 기획을 제대로 잡지 않고 손 가는대로 만들다보니 게임이 영 재미는 없네요..
역시 캐주얼게임같은건 게임의 재미를 위한 기획 요소들을 많이 배워놓고 만들어야 할 듯 합니다.
지금은 드로우오더에 상관없이 알파값을 가진 오브젝트들을 효율적으로 뿌려주는 기법을 살펴보고 있는데 상당히 흥미있는걸 찾아서 한번 도전해봐야겠네요..@..@
저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] 기본 루프..  (0) 2010/05/19
[Traffic Jam] 튜토리얼  (0) 2010/04/30
[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
Posted by ˙Jisoo

댓글을 달아 주세요



최근 작업한 작업물인데 눈에 보이는 결과는 일단 튜토리얼 모드의 추가네요..
이것저것 게임속성을 넣어서 차량 선택권도 주고 중간중간에 자동으로 세이브/로드도 하고.. 아, 중요 리소스 일부분은 아예 최상단클래스로 옮겨갔습니다.
중요 리소스중 일부는 차량모델/건물모델인데 기존에는 스테이지를 진행 할 때마다 불러오는 방식이었는데 메인메뉴부터 게임화면이 나오도록 계획을 해놔서 아예 시작할 때 불러와 끝날 때 해제해주는 쪽으로 가려 합니다.
앞으로는 게임속성을 좀 더 늘리고 스테이지도 만들고, 비주얼적인 측면도 올려주고 옵션에 따른 선택권 주도록 하면 될텐데 요즘 잠이 쏟아져서 진행이 힘드네요 ㅠ.ㅠ;
저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] 기본 루프..  (0) 2010/05/19
[Traffic Jam] 튜토리얼  (0) 2010/04/30
[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
Posted by ˙Jisoo

댓글을 달아 주세요

게임을 완성하려면 GUI가 필요해서 DirectX의 CustomUI 도 살펴보고, CEGUI도 살펴보고 내린 결론은 GUI 시스템을 만들려면 너무 오래걸린다는 것 입니다..
기본 틀을 만들고 어느정도 커스터마이징이 가능하도록 하려면 적어도 2달은 걸릴 것 같아요..
그냥 연구하는게 아니라 시간의 제약이 있는 상태라 시간싸움인 만큼 1~2주만에 GUI부분을 해결해야만 했습니다.
그렇다고 CustomUI나 CEGUI같은 GUI라이브러리를 갖다 붙여 쓰기엔 성에 안차고 해서.. 적절한 선에서 타협을 보며 간단하게 GUI를 만들고있습니다.
현재 게임에 필요한 GUI 요소들은 대략  버튼/콤보박스/옵션버튼/텍스트박스/스크롤 등이 있네요..
일단 버튼은 만들어놓은 상태라 버튼을 조금 응용하는 콤보박스/옵션버튼 부분은 무난히 넘어가고, 스크롤바 부분 구현이 어려울 줄 았는데 직접 만지작 거리다 보니 금방 구현하게 되었네요.
거의 반 하드코딩(?)이라서 특별히 어려울 부분은 없지만 로직 생각하는 부분보다 코드 써나가는 시간이 점점 더 길어지고 있네요 -_-;;

리스트에 보이는 목록이 총 15개인데, 15개보다 적거나 같을경우 스크롤바의 기능은 없어요~


리스트 목록이 20개 일 때 스크롤바가 줄어들고 이동이 가능합니다.


물론 리스트 목록의 갯수에 비례하여 스크롤바의 크기가 결정되겠지요 (60개 일때)

저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] 기본 루프..  (0) 2010/05/19
[Traffic Jam] 튜토리얼  (0) 2010/04/30
[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
Posted by ˙Jisoo

댓글을 달아 주세요



최근 2일정도는 눈에 보이지 않는 로직부분들만 고치느라 외적인부분은 차이가 거의 없어서 모델파일들을 구해서 임시로 넣어보았습니다.
옵션상에서 고정파이프라인 / 쉐이더 사용을 선택할 수 있도록 계획을 하고 있었는데 고정파이프라인만을 사용하기가 참 까다롭네요.
그림을 원하는데로 못그리는 기분이라고 해야할지..
버텍스/픽셀쉐이더 2.0 이상을 지원하는 VGA카드 목록을 살펴보고 어느정도 되겠다 싶으면 그냥 쉐이더를 써야겠네요..
저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] 튜토리얼  (0) 2010/04/30
[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
랜덤 오브젝트 생성  (0) 2010/04/10
Posted by ˙Jisoo

댓글을 달아 주세요



고심끝에 컨트롤 방식을 키보드 + 마우스 로 밀고나갔습니다.
비슷한 형식의 게임들이 보통 조종을 키보드로 하는데 세밀한 컨트롤이 어려울때가 있어 아날로그처럼 활용할 수 있는 마우스를 사용하기로 했습니다.
가속/감속은 키보드로, 좌/우 방향전환은 마우스로.
조작감이 이상할까 걱정했는데 실제로 해보니 확실히 직관적이고 좋았습니다..
충돌처리야 OBB도 아니고 AABB를 이용한 충돌처리를 하였기에 검사에는 어려운점이 없었지만, 충돌검사후 후처리에 대해 애매한점이 많았습니다.
특별히 물리적인 측면을 생각하지 않고 진행했던 작업이라 어떻게하면 자연스럽게 충돌과정이 이루어질지에 대해 생각해보았습니다.
일단 AI차량들이 플레이어에 대해 작용하는 힘은 따로 없기에 플레이어의 차량을 밀쳐내는 쪽으로 하였습니다.
모든 차량에 물리적인 요소를 집어넣으면 그보다 더 자연스러울 수 없겠지만 연산량이 너무 많아 (아직 물리엔진 작동방식을 잘 몰라서 물리연산 최적화에 대한 방법에 미흡함이 많기에..) 전자의 방식을 따르기로 했습니다.
어느정도 틀은 만들었으니 게임적 요소를 넣고 메뉴도 만들고 모델들도 만들거나 구해야겠네요 @_@~~
아 그리고 게임의 제목이 'Traffic Jam' 으로 정해졌습니다...
저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
랜덤 오브젝트 생성  (0) 2010/04/10
미니게임에서 쓰일 도로생성 테스트  (0) 2010/04/03
Posted by ˙Jisoo

댓글을 달아 주세요

트래픽 생성

Game Project / 2010/04/13 20:01


이번에는 도로위에 차량들을 놓았습니다.
아무래도 이번 게임의 특성상 랜덤적인 요소가 많이 쓰이게 되네요. 아직 메쉬파일이 하나라 자동차가 똑같아 보이지만 역시나 랜덤생성입니다.
각 차량에 간단한 AI로 안전거리를 확보하고 속도를 조절하여 서로 충돌하는걸 최대한 방지하였습니다.
이제 플레이어 차량 만들고 충돌확인을 해야하는데.. 플레이어의 조작법을 어떻게할지 고민이 많아서 진행이 좀 느리네요..
마우스와 키보드를 다 같이 쓰는 쪽으로 해볼예정인데 조작감이 괜찮을려나 모르겠군요.

저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
랜덤 오브젝트 생성  (0) 2010/04/10
미니게임에서 쓰일 도로생성 테스트  (0) 2010/04/03
Posted by ˙Jisoo

댓글을 달아 주세요



타일형태의 오브젝트와 별개로 랜덤으로 생성되는 오브젝트를 만들었습니다.
map과 vector등 STL사용이 점점 늘어나는데 참 편리하네요.
현재 랜덤오브젝트 생성되는 구조는 카테고리형식으로 메쉬파일들을 왕창 집어넣고
랜덤생성되는 장소를 그때그때 카테고리를 지정하여 생성하는 방식으로 나중에 레벨마다 다르게 정보를 입력해야 할 때 스크립트로 편리하게 작성하도록 만들어놨습니다.
참 이것들의 용도는 타일과는 달리 랜덤성을 가지는 (메쉬종류, 간격, 위치, 회전 등) 오브젝트들을 위한 것 이고요. 건물이나 사람, 나무 등에 쓸 예정입니다.
이제 도로위의 차량들과 플레이어를 만들어야 하는데 어느정도까지 구현을 해야할지 참 난감하네요.
너무 간단한 것만 하자니 아쉽고.. 한두개씩 더 기능 집어넣으려다 엄청 복잡해지고...
지금도 차량관련 클래스를 수없이 지웠다썼다 하고있네요 ㅠ.ㅠ; 이번 것 역시 전혀 계획없이 진행하던거라..쩝
저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
랜덤 오브젝트 생성  (0) 2010/04/10
미니게임에서 쓰일 도로생성 테스트  (0) 2010/04/03
Posted by ˙Jisoo

댓글을 달아 주세요



면접을 몇곳 보고 결과가 좋지 못하여 의기소침해있다가.. 미니게임이라도 만들자 하고 건들게 되었습니다.
게임은 대충 마우스로 차량을 조작하여 도로위의 다른차량을 피하는 흔하디 흔한 미니게임인데요. 그럼에도 여러가지 부분에서 고민을 하게 해주네요.
우선 도로를 어떻게 생성할지.. 도로가 앞에 계속 생기며 카메라가 진행하는 방법과 카메라는 고정되어있고 도로가 움직이는 방법.. 이 있겠네요.
그냥 평면하나 생성해놓고 UV좌표를 조절할까도 생각해봤는데 3D상의 좌표들과 자유롭게 융합이 되지 못한다는점에서 제외시켰습니다.
일단 전자의 경우엔 특별히 구현에 생각할것도 없어서 간단하지만 한 개의 스테이지의 플레이타임이 길어지면 좌표값들이 커지기때문에 ( 자전거를 조작할 경우 큰 문제가 되지 않지만 우주선의 속도로 게임이 진행된다면.... ) 나중에 문제가 생길 것 같아 후자를 선택하였습니다.

이것도 어렵진 않았지만 시작지점의 타일과 끝지점의 타일이 정확히 맞아떨어지지가 않는경우가 생겼었습니다.
녹색이 시작지점 빨간색이 끝지점입니다.
도대체 다른곳은 잘 맞게 붙어나오는데 왜 시작지점과 끝지점사이에 오차값이 나오는건지.. 한참 헤메다가 도로타일 위치를 업데이트해주는 부분에서 문제가 있는 걸 알았습니다.
타일이 하나가 지워지고 바로 이전의 타일 뒤에 가서 붙어야 하는데 가장 처음에 있던 타일(초록색)의 경우엔 PrevNode가 LastNode로 지정되어있기는 하나(Circular Queue) 실질적인 연산은 배열처럼 진행되기 때문에 미처 연산이 진행되지 않은 마지막타일이 있었던거지요.
그리하여 시작지점의 타일을 마지막타일에 붙여줄 때 연산이 덜된만큼 더해주었더니 잘 붙어나오네요.



속도를 어지간히 빠르게 설정하여도 잘 붙길래 어디까지 되나 해보았습니다.
게임상에서 1.0f 가 0.1미터로 대응된 상태에서 ( 이런 단위를 어떻게 맞춰야 할지 모르겠더라고요.. 일단 편의상 이렇게 설정해놓고 맥스 유닛도 바꿔놓고 작업하니 편하긴 하네요 )
빛의속도 ( 시속 299,600km ) 로 테스트해보았습니다. 음 그러니까 게임상에서는 초당 832220.0f 정도가 더해지는거네요..

그냥 보기엔 잘 되었는데 잠깐잠깐 멈춰서 확인해보았더니 아주 가끔 타일사이에 틈이 발생합니다.
게임에서 빛의속도로 진행할일도 거의 없거니와 한다한들 빛의속도로 도로가 움직이는데 저런 틈이 보이겠냐만은 발견한이상 뭔가 찝찝하긴 하네요 -..-;
나중에 게임에서 빛의속도로 움직이는 물체를 조종할 일이 생기면 그때 수정하려 합니다 -_____________-;;;;;;;;;;
저작자 표시 비영리 동일 조건 변경 허락

'Game Project' 카테고리의 다른 글

[Traffic Jam] GUI 제작기  (0) 2010/04/22
[Traffic Jam] 작업 현황..  (0) 2010/04/16
[Traffic Jam] 플레이어 조종 & 충돌  (0) 2010/04/15
트래픽 생성  (0) 2010/04/13
랜덤 오브젝트 생성  (0) 2010/04/10
미니게임에서 쓰일 도로생성 테스트  (0) 2010/04/03
Posted by ˙Jisoo

댓글을 달아 주세요





게임중 배경음악을 관리할 수 있는 Jukebox를 제작중입니다.
PES2010, FIFA10 같은 게임에서 볼 수 있습니다.
(주로 EA의 게임에서 많이들 나오지요.. 플레이어수준 까지는 아니고 간략히 재생중인 음악 정보를 보여주는 정도..?)
그보다는 조금 더 상세한 정보와 기능을 넣어보려 합니다.
일단 irrKlang이 사용하기 편리하게 되어있기에 제작하는데 큰 무리는 없어보입니다.
다만 음악파일의 PositionSeeking시 부하가 조금씩 걸리기에 Jukebox는 따로 스레드를 사용해줘야 할 것 같네요..
지금은 간단한 기능들만 있습니다.
이제 요놈들을 바로 출력하지 말고 텍스쳐에 저장했다가 게임도중에 적절한 순간에 튀어나오도록 해줘야겠네요~
저작자 표시 비영리 동일 조건 변경 허락

'Game Project > Jukebox' 카테고리의 다른 글

Jukebox 제작 시작..  (0) 2010/03/14
Posted by ˙Jisoo

댓글을 달아 주세요



이전 포스트에 써야 할 내용인데 동영상도 있고 해서 따로 포스트를 작성합니다.






좀비(..;;) 사이사이로 검은색 막대기 같은 것이 보이시나요?
단순 Bounding Sphere 를 이용하여 전체를 감싸는 충돌판정을 해줬었는데 좀 더 세밀하게 조정해주었습니다.
일단 뼈대의 변환행렬을 가져올 수 있어야 합니다. (이전 포스트에서 손에 무기를 쥐어주는 방식으로..)
그리고 해당 뼈대의 모양에 맞게 이쁘게.. x,y,z로 충돌처리 해줄 메쉬를 늘려주고 변환행렬을 곱해 적용시키면 됩니다.
보통은 Box 형식으로 뼈대크기대로 적용하는걸로 보아왔었는데, 제가 적용시켜 놓은것은 Sphere입니다..
모양만보면 절대 Sphere가 아닌데.. Face수를 적게해줘서 저런모양이 나오도록 해줬습니다.
솔직히 Box만들기가 귀찮아서 테스트겸 Sphere로 대신하려고 하였는데 사람형태의 메쉬에는 오히려 Box보다 찌그러트린 Sphere가 잘 맞는 것 같습니다 ㅡ,.ㅡ;;

아, 그리고 이렇게되면 충돌판정 연산수가 기하급수적으로 늘어나게 되지요.
그림에 나온 좀비의 세부 충돌판정용 Sphere의 수는 16개입니다.
만약 좀비가 20마리라면 320번의 연산을 해줘야하는 경우가 생기지요..
그러므로 Bounding Sphere를 이용하여 연산 수를 줄여줘야 합니다.
처음엔 뼈대정보도 얻어올 필요 없이 그냥 좀비의 위치만 얻어오고 좀비 메쉬의 크기만한 Bounding Sphere와의 충돌을 판정합니다.
만약 이전 단계가 참이라면 그때 세부 충돌판정을 해 주면 되겠지요.. 위의 그림처럼 타겟부분에 유효한 좀비가 하나만 들어왔다면
연산수는 320번에서 35번으로 확 줄어들게 됩니다.
꼭 세부충돌판정을 또다른 충돌판정으로 접근하진 않아도 됩니다. 방식에는 여러가지가 있지요~
전체 지도의 몬스터가 매우 많고 화면에 분포는 적을경우에는 세부충돌판정을 위해 Bounding Sphere를 사용하는 것 보다 현재 카메라의 View행렬, Projection 행렬 정보를 통해 보이지 않는 각도는 아예 제외시켜버리는 방법도 있습니다.
저작자 표시 비영리 동일 조건 변경 허락

'Game Project > TPS Style Prototype (3인칭 슈팅)' 카테고리의 다른 글

좀 더 세밀한 충돌판정을 위해!  (2) 2010/03/06
2010. 03. 06 작업현황  (0) 2010/03/06
2010. 02. 28 작업현황  (0) 2010/02/28
2010. 02. 25 작업현황  (2) 2010/02/25
2010. 02. 21 작업현황  (0) 2010/02/21
3인칭 카메라 기능추가  (0) 2010/02/10
Posted by ˙Jisoo

댓글을 달아 주세요

  1. 2010/03/09 08:49 naklu  댓글주소  수정/삭제  댓글쓰기

    오 이제 진짜 게임 같네요.. 총도 여러개고 주인공도 티니에서 총든 사람으로 바뀌었네요 ㅋㅋ
    저도 이런거 해보려고 하는데 지형만드는거에서부터 시작이 안되네여 ㅠㅠㅋ
    언제쯤 이정도가 될련지는..의문..ㅋㅋ

    • 2010/03/10 08:44 Jisoo  댓글주소  수정/삭제

      저는 지형 같은 경우에는 가로/세로로 선 그리는 것 부터 시작해서 높이도 바꿔보고 파일도 불러오고 하면서 갖춰나갔습니다.
      아주 간단한 것 부터 차근차근 하시면 도움이 되실거에요 @_@!

최근에 달린 댓글

최근에 받은 트랙백

글 보관함