자유게시판

게임 코어를 짜는 중인데....

필요하다보면  완성된 코어 소스는 공개를 할까 생각중인데..

오픈 소스 개념으로.. 말이죠..

한번도  C언어로는 게임을 만들어본적이 없어서 조금 힘이 부딪히기는 하네요 -

게임코어 소스를 대충 어느정도 만들어지는거 같으면 

소스 오픈하려고 합니다..(전혀 졸작이지만... =ㅅ=)

소스를 공개 오픈해서  다른 사람이 그 소스를 개조해서 올리고...

또다른 사람은 소스를 받아서 또 개조해서 올리고 해서

우리도 리눅스의 오픈소스 정신을 이어 받는데 참여 하실분 없나여??

일단 계획하는게... 저도 온라인을 목표로 하고 있습니다  헤헤헤 -

일단 데이타베이스는 ODBC로  MS-SQL 데이타베이스를 쓸려고 하구 있구요...

네트워크는 멀티플렉싱기반으로 구현 할려고 합니다. (IOCP로 구현하고는 싶은데...

실력이 너무 딸리네요 흑흑 ㅠ_ㅠ)

 

그런데 GDK라이브러 함수의 실제 소스들은 라이브러리 파일 안에 꽁꽁 숨겨져 있어서

 

따로 개조하기가... 음... 이미지 파일들을 보호하기는 힘들듯 하네요 -_-;;

 

네트워크 RPG와 다른점은 일단 다크GDK가 C/C++기반을 하기때문에

스크립트를 기반으로 하는 네트워크 RPG보다 직접 네트워크 엔진을 구현해야 하지만

그만큼 기존에 공개되어 있는 윈도우 소켓 프로그램 소스를 가져다 쓸수가 있다.

멀티플렉싱기법이 그렇게 접속자수가 많이 받기는 힘들다지만...

 

(현재 대부분 상업용 온라인 게임은  IOCP기반으로  온라인 게임이다.)

적어도 넷플레이를 이용한 네트워크 RPG보다 더많은 동접이 가능하다!!

(50명 이상의 동접은 가능 할듯 -)

 

오픈 소스로 관심있으신분들도 개조해서 올려주세요!!  

아방스님 다크 GDK게시판 하나 만들어 주셔야 할듯 -후후후 +ㅁ+  

모여서 공유 할만한... ㅠ_ㅠ

 

일단은 심플하게... 맵로딩하고.. 케릭터 움직이는거정도 살짝 작업해봤는데..

실제 구동파일은 제블로거에 링크를 걸게요 -

http://blog.naver.com/zkdlfhrm/110077600895   <- 받아서 실행해보세요 -

 

만약 실행이 안된다면! -

 

비쥬얼 스튜디오 2008  SP1 재배포 가능 패키지 다운로드 링크

http://www.microsoft.com/downloads/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&DisplayLang=ko

설치해주시길...

다음은 다크 GDK라이브러리를 사용한 본파일의 전체 소스입니다. 

역시 !! Dark GDK  소스의 양이  가히 짧죠!?

 

물론 다크 GDK라이브러리를 그냥 쓰기에는 빈약해서 따로 래핑하고 수정해서

프레임워크는 따로 만들어야겠지만... ㄷㄷ ㅅ

#include "DarkGDK.h"

#include "dinput.h"

#include <windows.h>

 

void DarkGDK ( void )

{

          

           int x=0;

           int y=0;

           char Texta[50];

 

           // 60 FPS.

           dbSyncOn   ( );

           dbSyncRate ( 60 );

 

 

           // 윈도우텍스트설정.

           dbSetWindowTitle("다크GDK 테스트 -  by Saber");

 

             // 글자크기20.

    dbSetTextSize(20);

    // 진하게.

    dbSetTextToBold();

 

    // 굴림체폰트로129번국제문자집합(한국어)을사용

    dbSetTextFont("굴림체", 129);

          

           // Display Mode 설정.

           dbSetDisplayMode ( 1024, 768, 32 );

           //dbSetWindowOff();

 

           // 맵로드

           dbLoadImage("Back_PNG.PNG", 1);

           // 0, 0에배경배치.

           dbSprite( 1, 0, 0, 1);

          

 

           // 컬러키설정.

           dbSetImageColorKey(128, 0, 255);

 

           // 케릭터스프라이트이미지로드.

           dbCreateAnimatedSprite ( 999, "download.png", 4, 4, 999 );

 

          

          

 

           while ( LoopGDK ( ) )

           {        

                     // 케릭터위치를재배치.

                     dbSprite(999, 450, 300, 999);

 

 

                     wsprintf(Texta,"X좌표: %d      Y좌표: %d", abs(x-450),  abs(y-300));

                                dbText(0, 0, Texta);

                                dbDrawSpritesFirst( ) ;

 

                                if(dbKeyState(DIK_LEFT))

                                {

                                          x+=2;

                                          dbSprite ( 1, x, y, 1);

                                          dbPlaySprite ( 999, 5, 8, 80 );

                                }

 

                                if(dbKeyState(DIK_RIGHT))

                                {

                                          x-=2;

                                          dbSprite ( 1, x, y, 1);

                                          dbPlaySprite ( 999, 9, 12, 80 );

                                }

 

                                if(dbKeyState(DIK_UP))

                                {

                                          y+=2;

                                          dbSprite ( 1, x, y, 1);

                                          dbPlaySprite ( 999, 13, 16, 80 );

                                }

                                if(dbKeyState(DIK_DOWN))

                                {

                                          y-=2;

                                          dbSprite ( 1, x, y, 1);

                                          dbPlaySprite ( 999, 1, 4, 80 );

                                }

                               

 

                     dbSync ( );

           }

          

           // 스프라이트이미지제거.

           dbDeleteSprite( 999 );

           dbDeleteImage( 999 );

 

           // 배경이미지제거.

           dbDeleteImage( 1 );

 

           return;

}

 

TAG •
Comment '2'
  • profile
    JACKY 2010.01.05 09:59

    Dark GDK ... 저도 나중에 프로그래밍 재기하면 꼭 써봐야겠다고 하고는있지만 프로그래밍을 시작못하고있다는...

  • profile
    아방스 2010.01.06 17:50

    이런글을 볼때마다...

    홈페이지에 RPG만들기 툴 이외에 좀더 전문적으로 게임을 개발할수있는 그런 프로그램들도 다둬야 겠다는 생각이 드는군요.

     


  1. 아방스 게시물 · 댓글 작성 규칙 (최근 수정일 2015.11.25)

  2. RPG 만들기 VX Ace(한글번역된 일어판)에 1.01a 패치를 적용해 봤습니다.

  3. 얀플라이 파티창 (xp +2003 스타일)과 사이드뷰 스크립트의 조화

  4. 개인 홈페이지 무료로 제작하기?

  5. 추억의 애니 그리기!

  6. RPG만들기 고수님들 존경합니다!!!!

  7. 꼭 쯔꾸르로 만든듯한 국산게임 리스트;;

  8. VX Ace RTP 용량이 커진 이유중 하나.

  9. 지금 Dark GDK 라이브러리로 게임을 만들까 하고 있습니다.

  10. 괴기 그림 이랑 몹 디자인 그려봄

  11. 아방스님은 확인해주세요~

  12. 엘카르디아 오프닝

  13. 우리집 컴들만 그런가

  14. 대화창에 캐릭터 그래픽 표시 답변

  15. 최화정 비키니 방송 보셨어요?ㅋ 16강 진출 기념

  16. 흑흑 제발 도와주세요 파판 전투승리 효과음 찾고 있습니다.

  17. 아방스 업데이트를많이 하는 것 같음ㅋㅋ

  18. 힘들게 구현한 두칸, 세칸짜리 몬스터

  19. The Mirror Lied........

  20. 모 게임의 일부 스크립트를 교체해 보면서...

  21. 게임 만듬 (컨스로...)

목록
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 456 Next
/ 456