Vì vậy, có dự án này ngoài kia gọi là BulletML , một ngôn ngữ đánh dấu để tạo các mẫu hạt / viên đạn phức tạp. Bạn gần như chắc chắn sẽ cần chuyển mã sang ngôn ngữ của riêng bạn, nhưng nó có thể làm một số điều thực sự tuyệt vời.
Ví dụ: ông chủ này đã được thực hiện trong một phần mở rộng (được sửa đổi nhiều) của BulletML cho Unity3D (tác giả của mẫu đó đã tải lên video đó và Misery là điên rồ, cũng như tốt 1 ). Đây là biến thể khó nhất của kẻ thù đó và nó cho thấy BulletML có khả năng khá tốt (và cũng kiểm tra một số tên trùm khác của Misery, như Wallmaster ).
Hoặc tôi có thể hiển thị ví dụ này, đây là mẫu tôi đã viết khi thực hiện mở rộng cho Liên kết cuối cùng , sử dụng bản sửa đổi cũ hơn của hệ thống ít thân thiện với mod và chỉ sử dụng các biến AZ ký tự đơn:
Những viên đạn màu xanh lá cây làm cho những chiếc nhẫn đó được sinh ra từ viên đạn mẹ quay với tốc độ cao, nhưng bản thân chúng không có chuyển động. Chúng gây sát thương lớn, giữ người chơi ở tầm xa hơn, hạn chế chúng hạ vũ khí sát thương thấp hơn và cho phép các hậu vệ di động quấy rối người chơi (người chơi đã thắng nếu cấu trúc không di chuyển ở giữa bị phá hủy).
Đây là một phần của cú pháp XML tạo ra các bong bóng đó:
<bullet_pattern name="Barrier">
$WallShotAngle B=.3 A=90
$WallShotAngle B=.3 A=-90
$WallShotAngle B=.3 A=0
$WallShotAngle B=.375 A=180
</bullet_pattern>
<var name="WallShotAngle">
<bullet angle="[A]" speed="4000" interval_mult=".01" dumbfire="1" shot_type="GravityWavePurple">
<wait time="[B]" />
<change angle="0" speed="1000" time=".0001" />
<spawn>
<bullet_pattern>
<bullet angle="[A]" speed="0" shot_type="CurveBarGreen" damage_mult="8">
<wait time="12" />
<die />
</bullet>
</bullet_pattern>
</spawn>
<die />
</bullet>
</var>
Bạn có thể thấy một số bức ảnh "sóng trọng lực" màu tím trong ảnh chụp màn hình, di chuyển gần như ngay lập tức từ nguồn (quay) đến cạnh của bong bóng, sau đó nó sinh ra bức ảnh "thanh cong" màu xanh lá cây, nằm ở đó trong 12 giây trước khinh bỉ Các bức ảnh màu xanh và màu vàng tôi đã bỏ qua, vì chúng phức tạp hơn nhiều.
Một trong những mẫu khác ( đạn pháo ) trong bản mở rộng thực sự được viết bởi Misery, mặc dù tôi đã thực hiện một số sửa đổi cho nó. Ban đầu, nó là một phát bắn có lực sát thương thấp, bay ra tầm xa và sau đó phát nổ thành một màn pháo hoa khổng lồ, gây ra hàng tấn sát thương. Tầm bắn tối đa của nó cao hơn nhiều so với người chơi có thể đạt được, về cơ bản buộc người chơi phải tham gia ở tầm ngắn, đó là lợi thế cho các loại đơn vị NPC khác do hiệu ứng súng ngắn (nhiều viên đạn tập trung trong một khu vực nhỏ).
BulletML rất dễ làm việc với, nói chung, và có thể làm những điều tuyệt vời. Đạn có thể thay đổi hướng, thay đổi tốc độ, sinh ra các mẫu khác, chết sớm, lặp lại bộ sưu tập các lệnh trong một vòng lặp, sử dụng độ trễ, thay đổi hình ảnh viên đạn, theo dõi cha mẹ của chúng (hoặc không) ... Và bất cứ điều gì nó không hỗ trợ bạn có thể viết vào đó
Tôi chắc chắn sẽ khuyên bạn nếu bạn đang thực hiện một trò chơi bắn súng nghiêm túc. Bạn vẫn cần phải thực hiện phép toán tọa độ để có được các hình dạng mong muốn, như Charanor nói về câu trả lời của anh ấy, nhưng một công cụ đạn như BulletML sẽ giúp bạn linh hoạt hơn rất nhiều mà bạn sẽ dành nhiều thời gian hơn để thiết kế các mẫu mới hơn là tìm ra Làm thế nào mã họ.
- Để giải thích Misery tốt như thế nào, những video đó chống lại các ông chủ sàn với thiết bị khởi đầu : không có mô-đun, không có vật tư tiêu hao và game bắn đậu cơ bản. Và xe chỉ mất một đòn bất chấp bản chất kéo dài của cuộc chiến. Ok, 9 lần tấn công vào Máy ly tâm (người không xuất hiện cho đến tầng ba sau khi người chơi chắc chắn sẽ có các bản nâng cấp dẫn đến thiệt hại ít nhất gấp đôi so với).