Боян обнови решението на 19.12.2022 23:59 (преди около 2 години)
Единственото ми притеснение по отношение на проекта ти е това колко и колко разнообразен код ще можеш да покажеш накрая.
Проектът ще включва една добра доза рисърч, fine-tuning и прочие, но ако крайният резултат е чудесен езиков и акустичен модел, но само 200 реда Пайтън код - няма да можем да оценим труда ти, подобаващо за финален проект на курс по Python.
Тъй като компетенциите в тази сфера не са особено задълбочено, не мога да ти дам препоръка или съвет, затова само вдигам флага, а ако ти решиш, че рискът е реален - ще намериш подобаващо решение на проблема. :)
Направих 180 градусова промяна на темата, понеже споделям тези и други притеснения по първоначалната тема, ето я новата ми идея, моля за обратна връзка:
[Title/Звание]
Arcade Roguelike
[Description/Обрисовка]
Двуизмерна безкрайна Roguelike игра, донякъде вдъхновена от Enter the Gungeon с процедурално генерирани нива и врагове. Основна механика е стрелбaта и събиране на случайно генерирани оръжия и други бонуси.
[Functionalities/Надарености]
Играчът избира от герои с различна външност и силни/слаби страни.
Играчът започва играта в първо ниво като трябва да навигира в лабиринта, в който се намира, за да открие изхода, където има награда и се преминава в следващо ниво и получава точки според това колко добре е играл (нанесен dmg - поет dmg + бонус за перфектна игра (без поет dmg)).
По пътя си, игачът се сблъсква с врагове, които трябва да победи с оръжията, с които разполага- правейки го може да получи бонуси като възстановяване на HP или ново оръжие. След всяко изминато ниво следва ново, по-трудно от предишното.
[Milestones/Възлови точки]
Инициализиране на базов проект с управляем герой, терен, сандъци със съкровища, физика на движение и стрелба. Тестване на физиката.
Създаване на модел на враговете и техния "AI", с който се опитват да победят играча (трябва да са достатъчно добри, така че да има предизвикателство, но и достатъчно слаби, за да не е невъзможно да се играе срещу тях).
Процедурално генериране на терен и врагове с параметър отговарящ на желаната трудност (по-голяма ст-т на параметъра - повече лабиринти и врагове).
Създаване на модел на оръжията- параметри (скорострелност, dmg, капацитет на муниции), минимални/максимални стойности- случайно drop-ване от врагове.
Създаване на други бонуси за играча- max hp/movespeed increase, цялостен dmg increase...
Създаване на начално меню с high score и възможност за избиране на герой от предефинирани герои.
[Estimate in man-hours/Времеоценка в човекочасове]
60
[Usage of technologies/Потребление на технологии]
Python Arcade (arcade) и публично наличните им спрайтове
virtualenv за локална разработка
Изобретение на гениален физик в случай, че физиката на играта е твърде сложна за имплементиране (j.k.)
Отговор от Виктор, който има технически проблеми:
Идеята звучи супер, ако успееш да се справиш с всичко това - ще е много добър проект.
Знам, че като казваш "физика" имаш предвид rudimentary неща от сорта на движение на нещо в права линия и прочие, но ако случайно имаш предвид "истинска" физика, имай предвид, че има физични енджини на Python, които имат интеграция с pygame. That being said, не го казвам, защото препоръчвам да задълбаеш там, защото може да се окаже прекалено дълбока заешка дупка, дори препоръчвам да не го правиш, просто споделям с какви инструменти разполагаш. 🙂