Разработка ПО. Первый проект - игра для Windows Phone
Программирование - то, с чем я планирую связать свою дальнейшую деятельность. Сейчас я учусь по специальности "прикладная информатика в экономике", 1 курс. Я считаю что университет мало что может дать, гораздо эффективнее самостоятельное получение лишь необходимых знаний. Единственный возможный минус - не всегда известно что является этим "необходимым".
Сейчас я изучаю C# для Windows Phone на практике. А именно, занимаюсь созданием простой логической игры "Bulbs". Игра разрабатывается на основе XNA. Поскольку эта игра - первый проект, она будет бесплатной. Следующие цель: платное приложение SilverLight.
Критерий завершения
Игра доступна в Windows Phone Store
Личные ресурсы
ПО: Microsoft Visual Studio Express for Windows Pnone, Paint.net (ничего общего со стандартным paint), Photoshop CS5, Смартфон: Nokia Lumia 800 (windows phone 7.5) для тестирования и отладки.
-
Установка необходимого ПО
Загрузить Microsoft Visual Studio Express for Windows Phone.
-
"Hello, world!"
Запустить простейшее приложение на своём смартфоне.
-
Предварительная графика
Нарисовать графику для игры: заголовки, некоторые надписи, кнопки, игровые элементы.
-
Создать несколько различные "гейм-скринов"
Создание меню, окна "помощь", "настройки", "рекорды" и, собственно, само игровое "окно".
-
Создать несколько уровней
Нужно создать несколько уровней для разработки, отладки игрового процесса.
-
Создать окно "уровень пройден"
Добавить ещё один класс для окна, открывающегося по прохождению уровня, с выводом "игровых очков", кнопками "рестарт", "следующий уровень", "возврат в меню", "выбор уровня", "просмотр рекордов".
-
Создать рекорды
Создать окно, отображающее лучшие результаты: ТОП10 для каждого уровня. Реализовать горизонтальный скроллинг.
-
Вертикальный скролл
Создать обработку вертикального скроллинга для списка уровней.
-
Добавить уровней
Добавить ещё уровней.
-
Сохранение прогресса и настроек
Реализовать сохранение игрового прогресса и настроек после закрытия игры - запись файлов records.tx и setting.txt.
-
Научиться использованию звуков
Добавить хотя бы один звуковой эффект.
-
Добавить анимацию перехода между окнами
Нужно создать ещё один класс, который будет выводить чёрный фон в течении 300-400 миллисекунд, постепенно повышая непрозрачность, затем понижая. Когда чёрный фон будет не прозрачен, осуществлять смену "окон", таким образом получится плавный переход между окнами.
-
Добавить анимацию для главного меню
Для улучшения восприятия игры пользователем, неплохо бы анимировать главное меню.
-
Добавить уровней
Должно быть 100 уровней.
-
Оптимизация. Окно-класс "Loading".
Сейчас иногда можно видеть подтормаживание, когда это происходит, анимация плавного перехода между окнами и анимация появления звёздочек не срабатывает. Нужно вынести обработку, сохранение результатов в отдельное окно "loading" - и пусть там себе подтормаживает сколько хочет, добавить гифку.
-
Доработать графику, добавить анимацию
Придумать отображение кнопки "NEXT" для 2-х состояний: обычного, постоянного и во время нажатия. Придумать и реализовать анимацию для окна "Level completed!". Возможно, добавить несколько улучшенную анимацию для случая, когда пройден последний уровень.
Когда игра пройдена - выводить много звёздочек, кроме основных, которые будут добавляться к основному кол-ву звёзд. Они и будут этой особой анимацией в честь прохождения игры. Таким образом, пройдя игру с тем или иным результатом (очень сложно пройти уровень идеально за минимальное количество ходов, а ведь только в этом случае будет даваться 3 звёзды, т.е. за большинство уровней будет 1-2 звезды, а может и ни одной) после прохождения последнего уровня, вы получите большое кол-во звёзд, за которые сможете "купить" подсказки идеального способа прохождения того или иного левела.
-
Звёздочки
Выводить помимо прямых характеристик по прохождению уровня ещё и относительную - 0-3 звёздочки. Если уровень пройден идеально - 3 звёздочки, далее в зависимости от сложности уровня. Хранить общее кол-во полученных звёзд, за которые можно "купить подсказку". В зависимости от предыдущих результатов по уровню выводить или не выводить "новый рекорд".
-
Добавить фоновую музыку
- Найти фоновую музыку
- Добавить соответствующую кнопку в окно настроек
- Добавить обработку касаний этой кнопки
- Изменить записывающийся файл settings.txt
- Добавить фоновую музыку
-
Найти или создать звуковые эффекты.
Найти или создать звуковые эффекты для окна "level completed", для озвучивания игрового процесса, для озвучивания нажатий на кнопки.
-
Окно списка уровней
Нужно менять. Никуда не годится, разве что научился делать скроллинг.
-
Подсказка за 50 звёздочек
Добавить ещё один класс-окно, где можно купить за звёздочки подсказку. Чёрт. Кажется нужно общее кол-во звёзд хранить отдельно от массива где хранятся данные о полученных звёздах.. Или ещё записывать сколько раз была куплена подсказка? Нет. Лучше хранить общее кол-во звёзд. Жаль, опять переделывать кое-что.
-
Изменить окно "help"
Нарисовать окно: то что было + несколько иллюстраций, поясняющих цель игры и игровой процесс, добавить скроллинг
-
Изменить окно рекордов
-
Возвращение
Возвращение кнопкой "назад" туда, откуда "пришёл". Наверное, придётся создать "глобальную" переменную, в которой хранить предыдущее "местонахождение".
-
Отладка
Поиск и устранение багов.
-
Отправить в Windows Phone Store
Заключительный этап - публикация игры.
- 4291
- 02 декабря 2013, 17:19
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением