1number_of_players = 4
2number_of_peps_in_unit = 10
3unit_cost = 10
4unit_type = "селянин с пика"
5f"""
6[Title/Звание]
7Medieval Ruler 1 (dream big or go home)
8
9[Description/Обрисовка]
10Medieval Ruler 1 е увлекателна игра, в която се комбинира стратегическо и адаптивно мислене.
11В нея потребителя играе като владетел на селище, като целта е да акумулира колкото се може повече позитивни ефекти и да взима коректни решения.
12Играта позволява мултиплейър до {number_of_players} човека (примерно... може и да не може с {number_of_players}).
13
14Тагове: Turn-based game, 2D top-down game, strategy game, single player, multiplayer game, pvp game, board game
15
16[Functionalities/Надарености]
17 I. Главна идея на играта
18
19 1. **Създаване на герой**
20-->Възможност потребителя да създаде своят герой, задавайки пол, години, наследници, и начални статусни ефекти
21
22 2. **Отговаряне на заявки(евенти)**
23-->Който, както иска нещо идва при теб Вожде. Системата избира даден евент/ група от евенти и в своята тронна зала можеш да отговориш на техните молби, предложения, т.н.
24-->Различни видове заявки и последоватлености от зависими такива.
25-->Потребителя взима решение, а системата го запазва и предприема нужните действия.
26
27 3. **Икономика**
28-->Както е казал един българин - "Ще решава този, който има пари! Какво ще решиш ти?".
29-->Та на темата за да си вожд Вожде трябва кеш пара за всичко. Добре е че не ми се занимава с възстания та всеки под твоето владение е покорен поданик, който си върши работата достойно и си плаща данъците честно.
30-->Всеки рунд се печелят пари от различни места и се харчат от различни места. Пример-> Искаш бард да пее и да разказва вицове, обаче той е на заплата... +10% такса.
31
32 4. **Постройки**
33-->То пари се правят и от данъци обаче не можем ли да накараме хората да датът по още нещичко да се почерпим с другите владетели от време на време в някоя кръчма.
34-->Можем обаче трябва да понапълним портфейла а какво по добро от това да построим един религиозен център където хората да дават дарения, а ние да таксуваме попа.
35
36 5. **Подготовка за битка**
37-->Потребителя се е подготвил и след колкото реда му е отнело той е събрал първите си {unit_cost} злато и може да си позволи да обурудва един
38батальон({number_of_peps_in_unit} {unit_cost}) и да се изправи срещу несправедливостта на света и капиталистическата(висшата аристокрация) репресия над работещата класа(дребната аристокрация) ---> This sentance has been approved by Karl Marx
39Обаче се оказва, че е забравил да помоли папата да екскомуникира неговия враг и сега няма валидна причина за обявяване на война. Игнорирането на този факт би довело до разруха на отношенията с останалите играчи.
40
41 6. **Битка**
42-->На потребителя се предоставя едно от няколкото бойни полета и той може да започне да се сражава с враговете си.
43-->За жалост в тази игра времето не спира докато героите от двете страни се сражават, а всяка група войни имат определен брой активни точки, които при използване се регенерират на следващия ред.
44-->Класическа тип turn-based combat, където ако един unit бъде нападнат в гръб поема повече жертви и т.н.
45
46 II. Multiplayer
47 1. **Интеракция и дипломация**
48-->Играта може да се играе в мрежа с друг играч/и - PvP или кооперативно (PvE) между играчите за да надделеят над машината (Dune PTSD).
49
50 III. Ботове
51 1. **И ботовете са хора**
52-->Добре де не са баш хора, но виждат играта както я вижда и потребителя. Падат им се евенти и имат скриптнат шанс да изберат една от дадените опции.
53-->Различни трудности на ботовете, като с повишаване на трудността не усложняваме начина на взимане на решения, а им позволяваме да мамят колкото им сърце иска.
54-->Ботовете трябва да могат и да се бият по принцип... стана сложно.
55
56[Milestones/Възлови точки]
57--> Начален екран - избиране на вид игра single player/ multiplayer.
58--> Екран за началната фаза - създаване на герой.
59--> Entity-та - карти, room-layouts, unit-models.
60--> Visuals - визуална репрезентация на обектите.
61--> Позиции на ботове, интеракуеми обекти (карта, затвор, креват, кревата на любовницата т.н.).
62--> Алгоритми за поведението на ботовете.
63--> Осъществяване на връзка с реален противник при multiplayer.
64--> Сървър, който поддържа игрите (всяка игра е стая). / Player-to-player връзка.
65--> Главна логика на играта - начало, край, ход, евент, икономична стабилност, менежиране на войска, менежиране на дипломатични връзки, създаване/триене на unit-и строене/горене на сгради, лични отношения между герои. ... и стана сложно pt.2
66--> Проверки за потребителски вход (user input).
67--> 100% изпускам доста неща, но по време на разработката ще стигна и до тях.
68
69[Estimate in man-hours/Времеоценка в човекочасове]
70 --> 3000 галакто-мега-супер-години за завършен продукт от който съм доволен. (Shoot for the Moon. Even if you miss, you'll lang among the stars.)
71 --> Реалистично би трябвало да е под 200 часа.
72 -->Разучаване и избиране на удачен framework на който да започна да пиша изобщо - 4-5 часа. (очаквам предложения!)
73 -->Разучаване на Pygame или който framework избера - 6-8 чч.
74 -->Изготвяне на дизайн на стаи, карти за бойни полета, всякакви вижуъли(ще се краде като за последно) - поне 10-15 чч.
75 -->Основна логика на играта ~ 30 чч.
76 -->Основна логика на ботовете ~ 25-30 чч. (неточно понеже не съм правил такова нещо до сега и ще уча в движение).
77 -->Осъществяване на връзка между играчи ~ 25 чч. (пак същото като горе. Не знам кое, как и колко).
78 -->Тестове - 20 чч. (тестове съм писал, обаче пак ще отнеме доста време защото скоупа на програмата е голям, а и не обичм да пиша тестове).
79
80[Usage of technologies/Потребление на технологии]
81--> Pygame ? Kivy ? което дойде.
82--> Вградени модули - random, collections, sys, os.
83--> Математически модули - алгоритми за ботовете.
84--> База данни - MSSQL
85--> За multiplayer-a socket, threading.
86--> Локален сървър
87--> Тестване - unittest
88--> Впоследствие на правенето на играта може да реша да използвам и други модули
89"""
----------------------------------------------------------------------
Ran 0 tests in 0.000s
NO TESTS RAN
Виктор Бечев
28.11.2024 14:35Хаха, първо - харесва ми амбицията зад името, тъй като очевидно намеква, че ще има и втора част. :grin:
Разбивката и описанието са супер. Съветвам те да помислиш за това кои неща са ти "must have" и кои са "nice to have", за да знаеш по какво ти е важно да работиш първо и какво би дропнал ако времето ти окъсее.
На тестовете, например, ние държим и ако се бориш за оценка, а не за супер як краен продукт _(или поне не веднага)_ - не е хубаво да дойдеш с 0 теста, защото колкото и да е прекрасна играта, все пак искаме да видим и някой друг тест. За сметка на това проектът ти е достатъчно мащабен, че да сме окей или да няма мултиплеър или ботове (и в двата случая ще можеш да демонстрираш играта, а после ще можеш да си довършиш, така че да си максимално доволен от резултата).
Що се отнася до game dev frameworks - препоръчвам pygame или arcade. На друг колега бях препоръчал и pyglet, но обратната връзка не бе безкрайно позитивна. Kivy е супер ако искаш наистина да можеш да пуснеш играта на мобилно устройство, но не идва с удобствата за game development, с които например arcade **(бая)** и pygame **(достатъчно)**.
|