Я почав програмувати багато років тому. Зараз я намагаюся робити ігри. Я прочитав багато рекомендацій, щоб почати клонувати деякі добре відомі ігри, такі як галага, тетріс, арканоїд та ін. Я також читав, що мені слід займатися цілою грою (включаючи меню, звук, рахунок тощо).
Вчора я закінчив першу повну версію свого арканоїдного клону. Але це ще далеко не закінчено. Я все ще можу працювати над цим місяцями (я програмую як хобі у вільний час), реалізуючи перемикач роздільної здатності екрана, переробку керуючих клавіш, вимикачі, що падають із розбитої цегли, і величезний і т.д.
Але я не хочу назавжди вчитися клонувати ОДНУ гру. У мене є заклик перейти до наступного клону, щоб застосувати деякі дизайнерські ідеї, до яких я прийшов, розробляючи цей арканоїдний клон (в той же час я читаю книгу GoF та багато вихідного коду з конкурсу ігор Ludum Dare 21).
Отже, питання: чи варто продовжувати вдосконалювати клон арканоїдів, поки він не матиме всі функції, які мали оригінальна гра? або я повинен перейти до наступного клону (є майже нескінченні ігри для клонування) і почати чинити речі, які я зробив неправильно з попереднім клоном?
Це може бути дуже суб'єктивним питанням, тому, будь ласка, стримуйте відповіді на найефективніший спосіб навчитися робити власні ігри (не клонуючи когось ідеї). Дякую!
ПОЯСНЕННЯ
Щоб уточнити, що я реалізував, я складаю цей список:
Реалізовані можливості:
- Можливості підстрибування (м'яч відскакує на стінах, на цеглі та на бруску).
- Звучить, коли підстрибує на цеглу та брусок та коли гравець перемагає чи програє.
- Основне меню заголовка (тільки нова гра та вихід). Також в ігровому меню і меню виграш / програш.
- Тільки три рівні, але система карт настільки проста, я не думаю, що вона мене дуже навчить (я помиляюся?).
Функції не реалізовані:
- Живлення при розбиванні цегли.
- Складна цегла (з більш ніж однією «точкою влучення» і незламною).
- Краща графіка (я не дуже добре в цьому).
- Програмування полірування (більш інтенсивно використовуйте схеми дизайну).
Ось посилання на його (мінімальну) веб-сторінку: http://blog.acamara.es/piperine/ Мені соромно це показати, тому, будь ласка, не вдаряйте мене занадто сильно :-)
Моє запитання було пов'язане з невиконаними функціями. Мені було цікаво, який найшвидший (оптимальний) шлях до вивчення. 1) реалізувати не реалізовані функції в цьому проекті, який стає все більшим, або 2) створити нову гру, яка, ймовірно, навчить мене цих уроків та нових.
ВІДПОВІДЬ
Я вибираю @ ashes999 відповідь, тому що, в моєму випадку , я думаю, що мені слід більше відполірувати і спробувати «поставити» гру. Я думаю, що всі інші відповіді також важливо мати на увазі, тому, якщо ви прийшли сюди, маючи те саме запитання, перед тим як прийняти поспішне рішення, прочитайте всю дискусію.
Дякую всім!