Я намагаюся розібратися з основами розробки ігор C64 минулого BASIC, і я міг би скористатись порадами щодо чогось дуже елементарного, але важливого: Що це все на екрані та як його намалювати?
Погляньте на Катакіс / Денаріс :
На екрані принаймні 9 різних речей:
- Рядок оцінки, з різними шрифтами
- Сам корабель
- Супутник, прикріплений до корабля, знімний
- Вторинні збройові снаряди
- Первинні снаряди зброї
- Рухомі об'єкти (можуть бути кораблі противника)
- Рядок стану із зображенням корабля, кількістю життя та трьома розділами, які можна заповнити
- Первинний заряд зброї, може заповнити до кінця
- Прокручується зоряне поле на задньому плані
- (не пронумеровано на екрані) Тверді предмети, як скелі або металеві стіни, які є частиною фону
C64 підтримує лише 8 спрайтів на горизонтальну лінію сканування, тож я не думаю, що все в середині екрана може бути спрайтом? Я б припустив, що все, що вимагає зіткнення, було би спрайтом (оскільки я можу отримати апаратне виявлення зіткнення зі спрайтами), але навіть тоді я швидко досягнув межі 8 спрайтів. Крім того, моя зброя може вистрілити набагато більше, ніж один снаряд - мій корабель, супутник і 6 куль вже будуть 8 спрайтів поспіль (дивіться приблизно 50 секунд на відео).
Також, у якому графічному режимі буде така гра, як це використання? У посібнику з програмування перелічено режим бітової карти, який суттєво змінює екранну пам'ять. Це режим, в якому я зазвичай повинен працювати? Як би я склав усі не-спрайтові елементи разом, щоб вивести їх на екран?
Багато речей у шкалі та статусному рядку є статичними ("Площа: 01" чи "кадр"), тому я думаю, що я просто заповнити їх один раз, коли рівень почнеться. Те, що потребує оновлення - оцінка, бари заряду внизу - буде оновлено, заповнивши екранну пам'ять чорним кольором, а потім намалювавши новий бал кожного кадру?
Або мені потрібно намалювати весь екран на кожному кадрі?