Thư viện DirectX đơn giản bằng VB6

Thảo luận trong 'Game Development' bắt đầu bởi zubachi, 25/3/05.

  1. zubachi

    zubachi Donkey Kong

    Tham gia ngày:
    5/11/04
    Bài viết:
    301
    Nơi ở:
    Tây phương
    Đây là thư viện DirectX tự chế của bachi. Làm từ tháng 3 năm ngoái. Bachi vừa chỉnh sửa lại cho nó clean.

    Các bạn xem demo (gần hết chức năng của thư viện là trong cái demo này - trừ chức năng mouse) và readme.rtf để biết thêm chi tiết. Có gì post lên đây, bachi sẽ hướng dẫn thêm.
     

    Các file đính kèm:

    • DXVB.rar
      Kích thước:
      49.9 KB
      Đọc:
      110
  2. SVS

    SVS Mario & Luigi

    Tham gia ngày:
    27/6/03
    Bài viết:
    899
    Nơi ở:
    Graveyard of rusted uses
    Theo em thì dùng VB làm Game thì có lẽ không thích hợp lắm. Viết ra Game khá nặng và hình như ngốn nhiều về cấu hình hơn C, nên chạy cũng chậm hơn. Dù sao cũng cứ Down về xem đã!
     
  3. zubachi

    zubachi Donkey Kong

    Tham gia ngày:
    5/11/04
    Bài viết:
    301
    Nơi ở:
    Tây phương
    Visual Basic 6 đúng là chậm hơn và không linh hoạt như C. Nhưng chậm là chậm hơn C, chứ nó cũng không phải kém. Từ phiên bản 6, Visual Basic đã có thể sản sinh ra ngôn ngữ máy, dẫn đến tốc độ đạt được khá tốt. Nếu dùng DirectX, một chương trình Visual Basic cũng không kém C là bao.

    Tại sao dùng Visual Basic với DirectX lại nhanh gần C?
    + Bachi lấy ví dụ hai người cân nặng 80kg và 60kg cưỡi hai chú Dream 100, chạy trên một con đường hạn chế tốc độ 40km/h. Rõ ràng cả hai chú Dream đạt cùng một vận tốc nếu như đường không có dốc quá.
    + Theo ví dụ trên thì DirectX chính là cái xe Dream 100, ông 80kg là Visual Basic và 60kg là C++. Hai game cùng chạy trên một máy, có frame rate tối đa 60fps. Nếu như cấu hình máy tốt thì rõ ràng, 2 game không hơn kém nhau bao nhiêu.

    Tại sao lại dùng Visual Basic?
    + Ngôn ngữ về cơ bản dễ viết hơn C. Phù hợp cho người mới học lập trình.
    + Viết các chương trình dùng Windows Control được nhanh và dễ hơn C.
    + Visual Basic được nhiều người dùng hơn là C. Đây là sản phẩm chủ đạo của Microsoft, và được sự hỗ trợ, nâng cấp tối đa từ hãng này.
    + Nếu ai từng cố gắng dùng GDI để load hình bitmap rồi blit lên một surface của Direct Draw 7 thì sẽ thấy dùng DirectX trong Visual Basic dễ dàng biết bao nhờ cái Type Library có sẵn.
    + Ngoài ra, chương trình Visual Basic còn mang tính script nên debug cũng dễ dàng hơn so với C.
    + Rò rỉ memory không phải vấn đề lớn khi dùng Visual Basic.

    Dù sao, rõ ràng Visual Basic cũng có những hạn chế nhất định:
    + Trên máy phải có bộ Run-time của Visual Basic. Nặng tới 2mb. Khi package project nhớ kèm bộ Run-time này và type library của directx.
    + Lập trình bằng Visual Basic không có khái niệm pointer. Khó (và gần như không thể) thực hiện quản lý bộ nhớ nâng cao.
     
  4. Alone Beast

    Alone Beast C O N T R A

    Tham gia ngày:
    14/1/04
    Bài viết:
    1,607
    Nơi ở:
    ...
    Đại ca mang cái này sang bên Hộ chợ đi nhé , tiện cho mọi người down 1 thể , thx nhiều nhe :x
     
  5. hoahaiduong

    hoahaiduong Youtube Master Race

    Tham gia ngày:
    15/4/05
    Bài viết:
    3
    Tui đã dùng thử và thấy nó khá là hay, tui mong bạn viết ra thêm một vài phần mềm hỗ trợ cho việc chơi game nữa để cho bà kon xài nghen.
     
  6. zubachi

    zubachi Donkey Kong

    Tham gia ngày:
    5/11/04
    Bài viết:
    301
    Nơi ở:
    Tây phương
    :hug: Bachi đang viết một framework Direct3D bằng C++. Có thể sẽ viết thêm wrapper cho Visual Basic nếu có nhu cầu.

    Viết ba cái này không phải một sớm một chiều là thành.

    Chân thành cảm ơn sự ủng hộ của bạn.
     
  7. finalfantasy9

    finalfantasy9 Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/05
    Bài viết:
    205
    _không có chi.Chút may mắn , để tui có dịp nếm thử cái gameVn chất lượng nó sao.
     
  8. zubachi

    zubachi Donkey Kong

    Tham gia ngày:
    5/11/04
    Bài viết:
    301
    Nơi ở:
    Tây phương
    @ff9:
    Cái đồ thợ câu ;)) Ông lại muốn tử trận sớm rồi.
     
  9. MrAmen

    MrAmen Mr & Ms Pac-Man

    Tham gia ngày:
    30/9/04
    Bài viết:
    101
    Theo tôi việc viết một game ko quan trọng là bằng ngôn ngữ nào, mà cái quan trọng là làm thế nào thôi. Bác Zubachi chăm chỉ viết thư viện directx thì quá tốt rồi. Song thực ra hầu như hiện nay các game engine đã phát triển khá hoàn chỉnh rồi, có lẽ dùng nó thì tốt hơn là dùng ngôn ngữ lập trình kiểu thương mại như Visual Basic. Vì:
    - Ngôn ngữ này hỗ trợ ko nhiều vì vậy mà người lập trình buộc phải thâm nhập hệ thống bằng API để tạo ra các hàm riêng mất nhiều công sức.
    - Ngôn ngữ ko chuyên biệt cho Game vì vậy làm giảm đi cách tư duy lập trình về game (tư duy kiểu ngôn ngữ Action script).
    Những khó khăn trên có thể được khắc phục bằng một engine dành riêng cho game ví dụ như gamemaker chẳng hạn. Với những engine mặc dù người làm phải tốn công hiểu các hàm, các hành động, các cú pháp... Song cái được của chúng ta là chúng cung cấp nhiều hàm, nhiều sự kiện, hành động hỗ trợ cho game, mà để viết được chúng phải tốn rất nhiều công sức nếu không nói là ko bao giờ viết được bởi đó là công sức của cả 1 tập thể. Chúng ta thường nhìn lợi ích trước mắt mà ko tính đến lợi ích lâu dài, thực trạng lại càng đáng buồn hơn với việc lập trình game.Ta thường nói xây nhà phải từ móng, điều này đúng song chúng ta lại quên mất một khái niệm rất quan trọng của ngôn ngữ lập trình hiện đại đó là tính kế thừa.
    Chúng ta không hiểu Einstein nói gì nhưng chúng ta biết ông ta là tác giả của bom nguyên tử.
     
  10. quang

    quang Mr & Ms Pac-Man

    Tham gia ngày:
    3/10/02
    Bài viết:
    114
    cha nội mramen hình như chả hiểu gì về lâp trình cả.
    mặc dù dùng engine ngoài chợ(engine đại trà ) làm ba cái game nhỏ nhỏ ,đơn giản nhanh thật.nhưng u chả học được cái gì từ cách làm đó cả.nều như u prỏgam,u sẽ hiểu được 1 game nó làm việc thế nào,cách debug chương trinhvàquan trọng nhất là ngoai chuyện game ra u sẽ học đượcnhiều thứ khác.vd như cái cha viết thư viện VB đó sẽ học được cach viết clean code (1 kỹ năng rất quan trọng cua pogammer) debug,etc để làm những việc lớn hơn sau này (vd như viết 1 engine cho mấy người thích fast food như mramen học hôhho).với lại không phải ngôn ngữ hiện đại nàocung co tinh ke thừađâu kekek,vd như mấy cái ngôn ngữ lập trình web đó.ngôn ngữ nào chả làm game được,thiếu cha gì người dùng VB pascal delphi java script để viết game.quan trọng là cái đầu của người lập trình,dump quá thì đụngvô cái gì cũng hỏng
     

Chia sẻ trang này