cho hỏi về cách làm game giống gunny

toxictoxic Posts: 3Registered
mình muốn làm 1 game giống gunny thì phải làm thế nào
ai hướng dẫn mình với
«1

Comments

  • MeoDenLuoiMeoDenLuoi Posts: 1,425Registered
    Old Forum - The Best Library
    http://taotrochoi.com/ttc/viewtopic.php?f=12&t=34940&p=1296610

    Còn Battle Sytems mình nhớ có người post rồi, nhưng ngại tìm lắm :P
  • rosenetrosenet Posts: 175Registered
    Cái này tui cũng có ngâm cứu, nói sơ lược là có liên quan tới một công thức bên Vật Lý, công thức di chuyển trong không gian mà năm lớp 10 ta đã từng học. "Ném một vật cách góc tọa độ một khoảng x, với một góc alpha và lực ném là n Niuton"
  • nongian23nongian23 Posts: 136Registered
    tưởng diễn đàn kia anh Khoa xóa rồi
  • MünchhausenMünchhausen Posts: 109Registered
    Đừng nghe mấy người khác gió để mọi thứ thêm phức tạp. Đạn di chuyển kèm trọng lực thì đơn giản ngắn gọn vậy thôi:
    • Lấy x, y là tọa độ của đạn trên mặt phẳng 2D thì giờ ta cần tốc độ theo phương ngang và dọc, gọi là hSpeed (tốc độ chiều ngang) và vSpeed (tốc độ chiều dọc). Vậy cứ mỗi frame của game thì: x + = hspeed; y + = vspeed. Kiểu chuyển động với 2 giá trị tốc độ ngang dọc này gọi là Velocity Motion, mình sẽ nói thêm về kiểu chuyển động với 2 giá trị là phương hướng di chuyển + tốc độ (Directional Motion) sau.
    • Sau đó là gia tốc + ma sát, do game đơn giản nên mình nghĩ gia tốc thôi là đủ, ta có hAccel (gia tốc ngang) và vAccel (gia tốc dọc). Vậy thêm vào: hSpeed + = hAccel; vSpeed + = vAccel.
    • Trong trường hợp giống gunny thì không có ma sát chiều ngang đâu nên ta chỉ dùng gia tốc dọc vAccel để giả trọng lực, vAccel càng lớn thì vật càng nặng (rớt càng nhanh), cứ ước lượng rồi cho số thấy ổn là được.

    Nếu muốn có chính xác góc tọa độ bắn ra thì có 2 cách:
    1. Dùng công thức toán để lấy hSpeed và vSpeed từ góc bắn và tốc độ. Công thức đó như sau:
      + hSpeed = cos(angle) * speed
      + vSpeed = sin(angle) * speed
      Với angle là góc bắn (có giá trị từ 0 -> 359, 360 sẽ trở lại là bằng 0) và speed là tốc độ. (Lực bắn là tỉ lệ thuận với tốc độ).
    2. Ta sử dụng trực tiếp công thức bên trên cho Directional Motion thay thế Velocity Motion. Mỗi frame update tọa độ của đạn: x + = cos(angle) * speed; y + = sin(angle) * speed.

      Sau đó ta cần gia tốc và cho speed biến thiên với gia tốc này cũng giống như ta đã làm với Velocity Motion.

      Cuối cùng phần không thể thiếu là trọng lực, bạn làm với các giá trị vSpeed và vAccel như đã nói ở phần trên.

    Tiếp theo nữa là "đục lỗ" trên nền (ground destruction) cơ mà để post sau.

    Tiếp Ground Destruction thì tùy vào engine bạn sử dụng nhưng cách làm nói chung là như sau:

    + Kiểm tra va chạm giữa người chơi và nền cần phải kiểm tra trên từng pixel (có kiểm tra độ đậm đặc, trong suốt của từng pixel, giá trị này thường có tên là alpha, chả biết tiếng Việt nói sao cho chuẩn nữa). Cái này là Pixel Perfect Collision. Tùy engine, library mà bạn dùng nó có thể có sẵn hoặc không có tính năng Pixel Perfect Collision Detection.
    + Khi đạn nổ nó tạo ra 1 vòng tròn (hay quần sịp, gì cũng được tùy khả năng sáng tạo của bạn) theo phạm vi phá hủy của đạn.
    + Vòng tròn đó có thể có alpha rất thấp hoặc bằng 0, sử dụng Alpha Mask để thay đổi alpha các pixel trên nền cho bằng với hình tròn theo đúng vị trí va chạm. Đơn giản hơn thì chỗ nào trên nền nằm trong phạm vi vụ nổ thì xóa pixel chỗ đó. Tùy engine, library mà bạn dùng nó có thể hỗ trợ sẵn Alpha Mask, nếu không thì bạn cần được trực tiếp truy xuất vào pixel array của bitmap và tự làm.

    //Thèm gái quá, thèm xem H quá, muốn fap quá, ức chế quá. :((
  • trinh178trinh178 Posts: 90Registered
    Công thức tầm ném xa
  • MünchhausenMünchhausen Posts: 109Registered
    Làm gì có công thức nào giống vậy. Muốn nó bắn xa thì bơm hSpeed cao hoặc góc bắn so với mặt đất nhỏ + speed cao thôi. Bên trên gần như là đầy đủ hoàn toàn cho 1 game giống Gunny, Gunbound hay Worm rồi đó. Còn lại chơi với máy thì cần AI, điều ngán nhất khi lập trình game. =))
    trinh178 wrote:
    Công thức tầm nén xa
  • trinh178trinh178 Posts: 90Registered
    Có CT vậy mà
  • toxictoxic Posts: 3Registered
    cho mình xin demo được không
    mình dùng XP
  • chechaochechao Posts: 164Registered
    từng làm bài này rồi, bỏ bẵng lí nâng cao 1 thời gian dài rồi nên ko nhớ chính xác lắm nhưng hình như nếu có lực cản dưới dạng -kv thì phương trình chuyển động sẽ theo hàm e mũ thì phải :thoaimai: nhưng mà làm thế thì phức tạp lắm nên làm như Mun là ổn. Nhưng mà có 1 vấn đề, nếu ko xét đến ma sát như môi trường chân không chẳng hạn thì vật nặng và vật nhẹ đều rơi như nhau nếu điều kiện ban đầu của 2 vật là như nhau :thoaimai: một trong những thí nghiệm thay đổi thế giới là thí nghiệm của galileo khi thả 2 vật có khối lượng khác nhau trên tháp nghiêng pizza thì 2 vật chạm đất cùng lúc :D
  • MünchhausenMünchhausen Posts: 109Registered
    Game làm thì miễn sao đáp ứng được gameplay là được, nếu gameplay không đòi hỏi chính xác thì không cần.

    Với lại thí nghiệm này tớ không nghĩ nó có chút nào thay đổi thế giới bởi thí nghiệm với một khoảng cách, cũng như sự xê lệch trọng lượng của 2 vật rất bé so với lực hấp dẫn của Trái Đất và chắc chắn là ngay trong thí nghiệm đó 2 vật không chạm đất cùng lúc tuy trông có vẻ vậy.
    chechao wrote:
    một trong những thí nghiệm thay đổi thế giới là thí nghiệm của galileo khi thả 2 vật có khối lượng khác nhau trên tháp nghiêng pizza thì 2 vật chạm đất cùng lúc :D
  • chienthoichienthoi Posts: 11Registered
    đơn giãn direction (hướng)và gravity(trọng lực) ,phá wall ....
    nếu có $$$ mình sẽ làm cho bạn 1 source đầy đũ tính năng như gunny :D nhưng nó sẽ là offline ....
  • MünchhausenMünchhausen Posts: 109Registered
    Nhiêu đó mà đòi $. :benhnang:
    Trả mình $400 mình đưa full source multiplayer có off-lan và server - client reg acc như gunny. :uynhnhau:
    chienthoi wrote:
    đơn giãn direction (hướng)và gravity(trọng lực) ,phá wall ....
    nếu có $$$ mình sẽ làm cho bạn 1 source đầy đũ tính năng như gunny :D nhưng nó sẽ là offline ....
  • chienthoichienthoi Posts: 11Registered
    vậy nếu bạn làm đc thì bạn cứ làm ,mìh thất nghiệp nên ai mướn gì thì làm ấy
    mình sẽ làm source coder đầy đũ tính năng ,giá bèo thôi ......
    $$$ này là tiền ngoài nhé :D
  • MünchhausenMünchhausen Posts: 109Registered
    Thì nói tiền ngoài mà. Chính vì vậy nên làm có tí xíu vậy mà nhắc tới $ thì chả ý nghĩa gì khi nói ra cả vì chắc chắn là không ai thuê. Nếu game nó support network đàng hoàng hoặc mang những giá trị khác như distribution để người ta re-skin rồi dán branding của người ta lên thì may ra.
    chienthoi wrote:
    vậy nếu bạn làm đc thì bạn cứ làm ,mìh thất nghiệp nên ai mướn gì thì làm ấy
    mình sẽ làm source coder đầy đũ tính năng ,giá bèo thôi ......
    $$$ này là tiền ngoài nhé :D
  • chienthoichienthoi Posts: 11Registered
    bạn có hiểu từ source code không ???
    source code -> vào tay bạn ,bạn tự quyền quyết định ,thay image ,sữa coder ,mọi thứ
    mình chĩ tạo cái sường rồi bạn tự định đoạt ...........
Sign In or Register to comment.