Chính xác thì điều gì tạo nên một màn hình trong một game C64 điển hình?


10

Tôi đang cố gắng tìm hiểu những điều cơ bản về phát triển trò chơi C64 qua BASIC và tôi có thể sử dụng một số lời khuyên về một điều rất cơ bản, nhưng quan trọng: Thực sự tất cả những thứ đó trên màn hình là gì và làm thế nào để vẽ nó?

Hãy xem Katakis / Denaris :

Ảnh chụp màn hình Katakis

Có ít nhất 9 thứ khác nhau trên màn hình:

  1. Thanh Điểm, với các phông chữ khác nhau
  2. Con tàu
  3. Một vệ tinh gắn trên tàu, có thể tháo rời
  4. Đạn vũ khí phụ
  5. Đạn vũ khí chính
  6. Vật di chuyển (có thể là tàu địch)
  7. Thanh trạng thái, có hình ảnh của con tàu, số lượng cuộc sống và ba phần có thể lấp đầy
  8. Thanh sạc vũ khí chính, có thể lấp đầy đến cuối
  9. Một ngôi sao cuộn trong nền
  10. (không được đánh số trên màn hình) Các vật thể rắn như đá hoặc tường kim loại là một phần của nền

C64 chỉ hỗ trợ 8 họa tiết trên mỗi đường quét ngang, vì vậy tôi không nghĩ rằng mọi thứ ở giữa màn hình có thể là một sprite? Tôi sẽ cho rằng bất cứ điều gì cần có sự va chạm sẽ là một sprite (vì tôi có thể nhận được sự phát hiện va chạm phần cứng với các sprite), nhưng ngay cả sau đó tôi đã nhanh chóng đạt đến giới hạn 8 sprite. Ngoài ra, vũ khí của tôi có thể bắn nhiều hơn một viên đạn - tàu của tôi, vệ tinh và 6 viên đạn sẽ là 8 viên đạn liên tiếp (nhìn vào khoảng 50 giây trong video).

Ngoài ra, chế độ đồ họa nào một trò chơi như thế này sẽ sử dụng? Sổ tay lập trình liệt kê Chế độ bản đồ bit về cơ bản sửa đổi trực tiếp bộ nhớ màn hình. Đây có phải là chế độ tôi thường nên làm việc không? Làm thế nào tôi có thể kết hợp tất cả các yếu tố không phải sprite lại với nhau để đưa chúng lên màn hình?

Rất nhiều thứ trong thanh điểm và trạng thái là tĩnh ("Khu vực: 01" hoặc "khung"), vì vậy tôi đoán tôi sẽ chỉ nhập chúng một lần khi cấp độ bắt đầu. Những thứ cần cập nhật - điểm số, các thanh sạc ở phía dưới - sẽ được cập nhật bằng cách lấp đầy bộ nhớ màn hình bằng màu đen và sau đó vẽ điểm mới mỗi khung hình?

Hay tôi phải vẽ toàn bộ màn hình trên mọi khung hình?

Câu trả lời:


13

Trên c64, bạn có thể "ghép" các họa tiết. Sau khi chúng được vẽ, bạn di chuyển chúng đến nơi mới và sử dụng lại chúng. Hầu hết các đối tượng ở giữa có khả năng là các sprite đa kênh. Trong c64, rất dễ sử dụng hơn 8 họa tiết miễn là chúng không chiếm các đường quét ngang. Bên cạnh đó, bạn thực sự có thể tạo các họa tiết phần mềm bằng cách sử dụng đồ họa phông chữ nếu cần (dự án ít nhất trong trường hợp này).

2, 3, 6. Những người có khả năng là sprite.

4, 5, 9. Đây có thể là phần mềm "họa tiết" nhân vật (8x8 pixel)

Trò chơi sẽ không sử dụng chế độ bitmap, nó sẽ yêu cầu quá nhiều bộ nhớ di chuyển (trừ khi bạn thực hiện một số thủ thuật chip VIC ...). Chế độ được sử dụng sẽ là chế độ đồ họa nhân vật.

Những gì bạn cần vẽ sẽ phụ thuộc. Trong trường hợp này, nếu bạn nhìn kỹ, các ngôi sao mẫu có kích thước (x * y pixel) nhất định sẽ được lặp lại để về cơ bản bạn sẽ cập nhật bộ nhớ ký tự của các phông chữ đó để mô phỏng việc cuộn sao.

Điểm / trạng thái bạn cư trú khi bắt đầu, và sau đó cập nhật chúng khi cần.

Bạn sẽ phải cập nhật các họa tiết và vị trí của chúng từng khung. Bạn cũng sẽ cập nhật đạn. Ngoài ra, bạn sẽ cập nhật mô hình ngôi sao pixel x * y đó.


5
Nhìn kỹ hơn trên video Katakis. Một số đối tượng thực sự là đồ họa phông chữ. Bạn thực sự có thể nhìn thấy bằng cách nhìn màu sắc được sử dụng. Ngoài ra starfield không thực sự chỉ là pixel X * Y, nhưng hơi khác một chút, nó vẫn nằm trong đồ họa phông chữ. Bạn sẽ phải cập nhật đồ họa phông chữ cuộn mỗi pixel 8 vì các thanh ghi cuộn phần cứng chỉ di chuyển đồ họa 8 pixel, phần mềm lừa đảo phía sau. Ngoài ra, bạn không muốn sử dụng va chạm sprite phần cứng. Họ không thể phân biệt những gì các sprite thực sự va chạm nếu có hơn 2 sprite liên quan. Chỉ cần toán học đơn giản có ích trong va chạm.
Chỉ là máy geezer c64 cũ

2

Tôi đã đọc một bài báo một thời gian trước đây trên Tạp chí C64 của Đức. Đạn là những nhân vật hoạt động như những kẻ phá hoại như ai đó đã chỉ ra. Tàu và kẻ thù là sprite.

Cấp độ cũng được làm bằng các ký tự nhưng với một twist. Vì các cấp độ rất lớn và bộ nhớ là quý giá, Trenz đã viết bộ công cụ của riêng mình để nhóm các nhân vật thành các mô-đun.

Vì vậy, anh ta có thể sử dụng các mô-đun lớn hơn và sáng tác chúng. Ngoài ra anh ta sẽ sử dụng các mô-đun vá nhất định để có được giao điểm của các mô-đun đẹp và sạch sẽ.

Tất cả trong tất cả là một kiểu nén, trong đó các mức được mô tả các khối xây dựng thay vì char bằng char.

Ngoài ra, bạn có thể nhận thấy rằng ở Katakis, một số cấp độ có nền thị sai.

Điều đó được thực hiện bằng cách có một mẫu để lấp đầy nền, chủ yếu được làm bằng các ký tự 2x2 hoặc 3x3 và tạo hiệu ứng cho nó (dịch chuyển bit) theo hướng cuộn. Ví dụ: mức độ cuộn 2 pixel sang trái, mẫu nền được cuộn 1 pixel sang phải, do đó nó dường như được cuộn với tốc độ chậm hơn.

Mong rằng sẽ giúp

Một điều nữa bạn thực sự có thể thấy các mô-đun đơn và như vậy tại đây https://archive.org/details/64er_1989_10/page/n27 cuộn đến trang 24

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.