Câu hỏi thiết kế / chỉnh sửa / lưu cấp độ 2D [đóng]


12

Tôi đã nghĩ về việc tạo ra một trò chơi Sidescroller 2D đơn giản như SuperMario. Sau đó, tôi tự hỏi về cách lưu, tải hoặc tạo các cấp cho trò chơi. Điều đầu tiên tôi nghĩ đến là vẽ một png khối đơn giản đại diện cho cấp độ, tạo ra tất cả các phần mà người chơi có thể đi một màu đặc biệt (có thể là màu hoa cà). Tôi sẽ nhập cấp trong khối hoặc gạch để tôi có thể kiểm tra va chạm.

Vì vậy, câu hỏi của tôi là:
có phương pháp tốt hơn cho việc này?
các phương pháp chuyên nghiệp cho việc này là gì?
Tôi có nên làm điều này với Gạch và trình chỉnh sửa Bản đồ dựa trên gạch không? (vì một số lý do tôi không thích điều này, nhưng tôi đoán nếu đó là phương pháp tốt nhất tôi sẽ sử dụng nó)
với mức độ dựa trên gạch, bạn sẽ nhận ra độ dốc như thế nào và bạn sẽ kiểm tra chúng như thế nào khi va chạm?

Câu trả lời:


10

Đối với MMO 2D, chúng tôi sử dụng http://www.mopeditor.org/ . Chúng tôi sử dụng một số lớp cho nền, trang trí nền, các đối tượng ở cùng cấp độ với người chơi và các đối tượng trước mặt người chơi. Và một lớp bổ sung chỉ với một hình vuông màu đỏ để đánh dấu va chạm.

Tôi không chắc chắn nếu appoach này hoặc phần mềm hoạt động cho một bộ lọc bên 2D nhưng có thể đáng để xem qua nó.


+1. Đó là một công cụ tuyệt vời. Nó cũng là nguồn mở, vì vậy bạn có thể mở rộng nó nếu bạn yêu cầu.
Janis Kirsteins

Đó thực sự là một công cụ tốt, tôi đã thử nghiệm nó và không gặp vấn đề gì khi nhập nó vào trò chơi của tôi.
Simiil

1
ok vì vậy bây giờ tôi muốn biết làm thế nào để tạo các cấp độ không dựa trên gạch, như thế giới trong sâu, nhưng tôi đoán tôi sẽ hỏi điều này trong một câu hỏi mới vào một ngày nào đó
Simiil

6

Một cách phổ biến có thể là chỉ một chuỗi chẳng hạn

0,0,0,0,0,0,1,1,1,0,0,0,2

trong đó 0 sẽ là một khối bạn có thể đi trên 1 có thể là gai và 2 có thể là vạch kết thúc

bạn chỉ cần đọc nó qua tệp văn bản (hoặc mã hóa cứng vào trò chơi) và vẽ khối tương đối có liên quan đến số và có logic colision của bạn để xử lý tuy nhiên nó được thiết lập.

Rõ ràng bạn có thể chọn bất kỳ định dạng nào bạn muốn và có lẽ 0 có nghĩa là vẽ 5 khối có thể đi bộ.

Đây chỉ là một cách nó có thể đạt được.

http://www.smudgedcat.com/tut_tiledlevel.html liên kết này là một ví dụ trong c # sử dụng khung XNA. nó sẽ cung cấp cho bạn một ý tưởng sơ bộ (nó KHÔNG chứa các sườn dốc, nhưng một điều tương tự có thể được sử dụng để xác định loại trường hợp này)

Trân trọng


Đây chính xác là cách "Excite Bike" thực hiện bản đồ tùy chỉnh trên Nintendo. vc.nintendolife.com/games/nes/excitebike
Stephen Furlani

5

văn bản thay thế

Rất nhiều trò chơi sử dụng một ứng dụng nguồn mở có tên là Mappy . Nó có định dạng riêng hỗ trợ nhiều lớp và các tính năng khác. Bạn có thể muốn liên kết một số loại dữ liệu với một ô cụ thể.


Tôi nghĩ rằng cách tiếp cận biên tập viên trong trò chơi là rất phổ biến. Chế độ nhà phát triển là một tài khoản bên trong về cách các cấp độ cho một trò chơi rất phổ biến, Braid, được thiết kế. Trò chơi có chế độ phát triển trong đó các cấp độ có thể được xây dựng / sửa đổi. Bản thân các cấp có một lớp va chạm được phủ lên bằng các ô đồ họa:

văn bản thay thế


Và cá nhân tôi không khuyên dùng nó, nhưng một chương trình demo 2D cho Allegro đã sử dụng một số loại định dạng mô hình 3D và chuyển đổi nó thành định dạng trong trò chơi tùy chỉnh. Ưu điểm là nó có thể mô hình các bề mặt rất mịn, liên tục. (Đó là một trò chơi trượt ván dựa trên vật lý 2D.)

Để chỉnh sửa dữ liệu cấp độ của trò chơi demo Allegro, chúng tôi sử dụng công cụ Blender miễn phí và nguồn mở. Bạn có thể lấy nó ở đây:

http://blender.org

Dưới đây là hướng dẫn từng bước cách thức hoạt động:

1) Đặt tệp ademo_export.py vào thư mục Tập lệnh Blender của bạn. Đây là tập lệnh xuất sẽ chuyển đổi từ định dạng .blend sang định dạng .txt được sử dụng bởi trò chơi demo. Trong unix, đường dẫn sẽ là:

~ / .blender / scripts / ademo_export.py

2) Tải máy xay tập tin .blend. Trong unix, nhập tệp này từ thư mục với tệp level.blend:

máy xay sinh tố -w level.blend

(-W là sử dụng các chế độ cửa sổ, mà tôi thích.)

3) Chỉnh sửa cấp độ. Trong menu, dưới

Trợ giúp -> Trình duyệt Trợ giúp Tập lệnh -> Xuất -> Trình độ trò chơi Allegro Demo

bạn sẽ tìm thấy một số lời khuyên hữu ích.

4) Lưu tệp (sử dụng nén trước khi cam kết). Xuất dưới dạng .txt từ menu xuất, chọn Cấp độ trò chơi Allegro Demo.

5) Cập nhật level.dat bằng level.txt, cấp độ mới sẽ xuất hiện trong trò chơi.


2

Các phương pháp 'chuyên nghiệp' có thể sẽ liên quan đến một trình chỉnh sửa bản đồ rất chi tiết, có thể là trong C #, sẽ cho phép họ kiểm soát hoàn toàn mọi thứ.

Có hai cách tiếp cận chính; một là dễ dàng hơn để làm, nhưng không hiệu quả.

  • Bạn có thể sử dụng một trình soạn thảo bản đồ; hoặc tự viết hoặc tìm một bản có sẵn như mapeditor mà nhnb đã đề cập. Viết của riêng bạn sẽ tốt cho trải nghiệm học tập, nhưng không nhiều cho một sản phẩm hoàn thành.
  • Bạn chỉ có thể nhập dữ liệu vào một tệp văn bản. Điều này đơn giản hơn, nhưng không dễ để đọc lại. Bạn có thể có được điều tương tự từ trình chỉnh sửa bản đồ, nhưng điều đó sẽ được tự động hóa. Nhược điểm nữa của việc này là bạn không thể thêm bất kỳ hiệu ứng đặc biệt nào, chẳng hạn như các loại gạch nhất định (không phải loại gạch , nhưng ví dụ: gạch (13,45)) để làm những việc đặc biệt.

2

Tôi cũng có suy nghĩ tương tự (tức là quay lại viết trò chơi theo sở thích - công việc và các cam kết khác ...)

Tôi nghiêm túc xem xét lộ trình phát triển 'Trình chỉnh sửa bản đồ' như một phần của trò chơi / ứng dụng.

Nếu trò chơi của bạn vượt ra khỏi PC của chính bạn thì Community Content sẽ là một lợi ích tuyệt vời.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.