Начална документация на проекта
Линк към приложението https://play.google.com/store/apps/details?id=com.Zor.HT3
Линк към разпределението на задачите по дни https://docs.google.com/spreadsheets/d/1jEjpXqO_bBLwI2oTzR-TvraXGSYFcWf5cejCjU_jrio/edit#gid=1799769742
-
Лого на екипа
-
Меню
-
Бутон „Play” - генерира ново ниво
-
Бутон „Upgrades“ – отваря сцената с подобренията
-
Бутон “Free coins” – пуска нова реклама и след приключването ѝ ти дава 10 монети
-
Индикатор за броя монети в горния десен ъгъл – променя се след закупуване на подобрение или гледане на реклама
- Ниво а) Герой
- Прилича на скелет
- Автоматично върви напред
- Може да скача
- Може да се самоубива, при което оставя малък череп на който после може да скочи и бива изпратен в началото на нивото
- Героят може да се самоубива, за да остави трупа си и се “възражда” в началото на играта
б) Терен - Генериран на случаен принцип с различна дължина, която влияе и на времетраенето на нивото
в) Хронометър - Започва да тече в началото на играта - При изтичане на времето, играчът автоматично губи и преминава към менюто
г) Препятствия
- При докосване на препятствие, героят автоматично се самоубива
-
Ъпгрейди а) Ъпгрейд за време - Трае една игра - Струва 10 монети - Увеличава времето, което имаш в следващата игра с 20%
-
Реклами - Дават ти 10 монети за изгледана реклама
Ден 1
- UI: Неработещи бутони в менюто и оправяне на рекламите (Александър) –
- Проекта се разработва на нова версия на Unity и заради това част от кода трябваше да се пренапише.
- Оправени са рекламите и функционалността на бутоните в менюто
- Оправяне на физиките (Андрей) –
- Героят може да скача постоянно и за това трябваше да се добави време между два скока, в което не може да се скача.
- Определяне повърхности по които може да скача (Андрей) –
- Героят може да скача и по вертикални повърхности и за това променихме кода така, че да може да се скача само върху повърхности с определени тагове.
- Камера и оправяне на генерацията на терена (Александър) –
-
Преди камерата не можеше да се придвижва по Y оста, защото имаше бъг със скока и героят можеше да излети в космоса. Сега няма такъв бъг и камерата може да се движи свободно с героя.
-
Когато отделните парчета на терена се генерираха оставаше място между тях и си личеше, че са отделни парчета. Всички парчета трябваше да оразмерят според първото.
- Upgrades: Разделяне на ъпгрейда за време на части (Александър) –
- До момента имаше подобрение, което ти дава с 20 процента повече време на ниво.
- Направихме подобрението различно и вече можеш да купуваш между 5 и 20 процента повече време на всяко ниво.
- Добавяне на брояч за самоубийство (Александър) –
- До момента играчът можеше да се самоубива постоянно.
- Сега има фиксирано време от две секунди между всяко самоубийство, в което не можеш да се самоубиваш.
- Upgrades: Двоен Скок (Андрей) –
- Героят може да скача два пъти при закупено подобрение, като вторият път скока е по-малък.
Ден 2
- Checkpoints (Александър) –
- Вече при достигане на всяко ново “парче” от терена, ти се запазва нов checkpoint.
- Когато умреш или се самоубиеш, героят се телепортира до последния запазен checkpoint.
- Upgrades: Скорост (Андрей) –
- Добавен е нов Upgrade, който увеличава скоростта на героя с 40% от първоначалната.
- Upgrades: Летене (Андрей) -
- Добавен е нов Upgrade, който, при натискане на бутон, издига героя във въздуха и го изстрелва на няколко метра напред.
- Добавен е нов бутон, който се показва само при закупуване на новия Upgrade.
- Бутонът може да се използва само веднъж на всяка игра.
- Upgrades: Първата смърт не те връща в началото (Александър) –
- Вече може да се закупи upgrade, който ти позволява, при първото самоубийство, героят да не се налага да се телепортира до последния достигнат checkpoint.
- Вграждане на ъпгрейдите в играта (Александър, Андрей) –
- Направен е UI в сцената с ъпгрейдите.
- Всички ъпгрейди могат да се закупят срещу монети.
- При закупуване на даден ъпгрейд, бутонът му изчезва от сцената.
Ден 3
Цели:
- Добавяне на микро транзакции в играта.
- Създаване на база данни, която взема и подава информация на сървър.
- Създаване на отделни акаунти за играта.
Резултати:
- Добавяне на микротранзакции (Александър и Лазар) –
-
Създаден е профил на търговец във Google Developer Console.
-
Добавих 3 микро транзакции към играта, като вече могат да се закупят 100, 500 и 999 монети на цени от (1,50лв., 3лв. и 6лв.).
-
Играта е качена във Google Play Market и може да се изтегли и тества. Микро транзакциите също са налични и могат да бъдат тествани.
-
Линк към приложението https://play.google.com/store/apps/details?id=com.Zor.HT3
-
Създадени са имейли на фирмата, както и сайт на wordpress, които са свързани със профила на търговеца във Google Developer Console.
- Създаване на база данни (Андрей) –
- Създадена е база данни, която може да бъде достъпвана от Unity и да взема информация от сървъра.
- Базата данни съхранява акаунта, монетите и ъпгрейдите на потребителя.
- Все още Unity не може да подава данни към сървъра.
Ден 4
Цели:
- Създаване на нови препятствия и код, който да ги генерира (Александър, Лазар)
- Промяна в UI и дизайна на терена (Лазар)
- Промяна на героя и терена (Александър)
- Възможност за регистрация и вход в акаунта(Андрей)
- Комуникация между играта и базата данни(Андрей)
Резултати:
- Създаване на нови препятствия и код, който да ги генерира (Александър, Лазар) –
- В играта има три различни препятствия и код, който избира места по терена, на които да ги слага.
- Местата по терена, на които може да се създава препятствие се различават – равен терен или ров.
- Има препятствия, които могат да се създават само върху равен терен и други – само върху ров.
- Промяна в UI и дизайна на терена (Лазар)
- UI на менютата и нивото са променени.
- Вече всеки бутон си има дизайн.
- Вече небето(background) и терена не се различават и не си личи, че нивото е съставено от много части.
- Промяна на героя и терена (Александър)
- Физиките на героя са променени и главата му вече не преминава през терена.
- Добавени са пет вида облаци, които се създават на случаен принцип и в зависимост от разстоянието си от земята, се движат с различна скорост.
- Възможност за регистрация и вход в акаунта(Андрей) –
- Потребителят вече може да създава нов акаунт и да го достъпва през играта.
- За всеки акаунт, базата съхранява неговите монети и подобрения.
- Комуникация между играта и базата данни(Андрей) –
- Играта взема монетите и подобренията на всеки отделен акаунт и ги слага в играта.
- При промяна на някоя променлива, тя се променя и в базата.
Ден 5
Цели:
- Подобрение на работата на UI бутоните (Александър)
- Отстраняване на неизправности по играта и подобрение на настройките по подразбиране (Александър, Лазар)
- Преминаване от localhost на host, който може да се използва от всички потребители (Андрей)
- Обединяване на кода от двата branch-a (Андрей, Александър)
Резултати:
- Подобрение на работата на UI бутоните (Александър) –
- Преди, когато бутона за самоубиване беше натиснат, героят скачаше и чак след това се прераждаше на последния преминат checkpoint.
- Този проблем е отстранен и героят скача, само когато потребителят натисне по екрана, но не и когато натисне някой от UI бутоните.
- Отстраняване на неизправности по играта и подобрение на настройките по подразбиране (Александър, Лазар)
- Променени са времетраенето на една, както и скоростта на героя.
- Оправени са физиките на главите, които се създават при самоубиване.
- Променени са spawn point-овете на препятствията, защото някои съвпадаха с checkpoint-овете по нивата.
- Преминаване от localhost на host, който може да се използва от всички потребители (Андрей) –
- Преди акаунтите, монетите и подобренията по играта се запазваха на localhost, но за да може играта да се използва от много потребители, трябваше да се намери безплатен host, на който да се пренесе цялата база данни.
- Използван е GearHost и цялата база беше пренесена там.
- Обединяване на кода от двата branch-a (Андрей, Александър) -
- В GitHub имаше два branch-а. По единия работеше Андрей, а по другия – Александър.
- Двата branch-a трябваше да бъдат обединени и промените в кода да отидат на едно място.
- При обединяване възникнаха конфликти в кода и някои от кодовете трябваше да се пишат наново.
Ден 6
Цели:
-
Свързване на рекламите и микротранзакциите с базата данни
-
Промяна на формата на данните, връщани от базата данни
-
Проверка за вече съществуващ e-mail или username
Резултати:
- Свързване на рекламите и микротранзакциите с базата данни (Александър и Андрей) –
-
Монетите, получавани от реклами и от микро транзакции, се записваха в паметта на телефона.
-
Вече те са свързани към базата данни и се добавят към акаунта на потребителя.
- Промяна на формата на данните, връщани от базата данни (Александър и Андрей) -
-
Преди базата данни получаваше заявка и връщаше всички потребители, както и данните за тях.
-
Сега базата връща (във формат json) само данните на един потребител, а данните за другите са скрити.
- Проверка за вече съществуващ e-mail или username (Александър и Андрей) –
-
Преди имаше проверка само за повтарящ се имейл и когато нов потребител се регистрира с нов имейл, но повтарящо се потребителско име, не е сигурно в кой акаунт ще влезе.
-
Вече има проверка дали тези имейл и потребителско име съществуват.
Ден 7
Цели:
- Криптиране на пароли (Андрей)
- Идентификация за грешни вход/регистрация (Александър)
Резултати:
- Криптиране на пароли (Андрей)
- Вече паролите, подадени към базата, се криптират, за да не може да се откраднат данните на потребителя.
- Идентификация за грешни вход/регистрация (Александър)
- При вече съществуващи имейл или потребителско име , се показва изскачащ прозорец, който информира потребителя, че трябва да въведе нов имейл или потребителско име.
- При грешка в опита за влизане в акаунта, също се показва прозорец, който информира потребителя.