Version 0.1 202 3 /2 4 Kai Stevens City Builder Technical Design Document Kai Stevens Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Contents Project Introduction ................................ ................................ ................................ ....... 2 Project Goals ................................ ................................ ................................ .................. 2 Challenges and Risks ................................ ................................ ................................ ....... 2 Hardware Requirements ................................ ................................ ................................ .. 2 Platforms ................................ ................................ ................................ ........................ 3 Target Platform ................................ ................................ ................................ ............... 3 Engine Specific Specifications and Limitations ................................ ................................ .... 3 Engine Summary ................................ ................................ ................................ ............. 3 Systems and Diagrams ................................ ................................ ................................ ... 4 Player Character ................................ ................................ ................................ .............. 4 Player Movement ................................ ................................ ................................ ......... 4 Player Actions ................................ ................................ ................................ .............. 5 Grid - based building system ................................ ................................ .............................. 6 Placement Grid ................................ ................................ ................................ ............ 6 Money Manager ................................ ................................ ................................ ........... 6 Building Manager ................................ ................................ ................................ ......... 7 Buildings ................................ ................................ ................................ ..................... 7 Upgraded Buildings ................................ ................................ ................................ ...... 7 Citizen Characters (AI) ................................ ................................ ................................ ..... 8 Day Night Manager ................................ ................................ ................................ ...... 8 Population Manager ................................ ................................ ................................ ..... 8 Optimisation and Profiling ................................ ................................ .............................. 9 Profiling Systems ................................ ................................ ................................ ............. 9 Profiling Graphics ................................ ................................ ................................ ............ 9 Coding Standards ................................ ................................ ................................ ............ 9 Programming Standards ................................ ................................ ................................ ... 9 Style Guide ................................ ................................ ................................ ..................... 9 Commenting Rules ................................ ................................ ................................ .......... 9 Code Review Procedures ................................ ................................ ................................ .. 9 Production Overview ................................ ................................ ................................ .... 10 Moscow ................................ ................................ ................................ ........................ 10 Timeline ................................ ................................ ................................ ....................... 10 Budgeting ................................ ................................ ................................ ..................... 10 Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Project Introduction A technical prototype for a City Builder game inspired by other industry examples such as Cities Skylines, Sims City and Kingdoms & Castles. The game must include a grid - based building system, AI controlled citizen characters and resource management. Project Goals The game must include the standard systems required in a city builder; these include: • Player character o Angled top - down viewpoint. o Camera movement and rotation. o Camera Zoom in/out. • Grid based building system. o Multiple building types. o Different building sizes. o Placement Requirements. • Citizen characters. o Daily schedules. o Happiness Meter. o Assigned home and workplace. • Day night cycle. o Regular events to update cashflow and population change. o Sun cycle with night - time lighting. • Cash Resource. o Generated by workplaces. o Used to create new buildings. Challen ges and Risks City builders a very complex games with a large amount of background systems managing AI behaviour, resources, buildings, and calendar events. For this reason, it is expected that the game will be relatively CPU intensive due to the number of processes required to keep the game data up - to date. Hardware Requirements Operating System: Windows 10 64 - bit version 1909 revision .1350 or higher, or versions 2004 and 20H2 revision .789 or higher CPU (Processor): Quad - core Intel or AMD, 2.5 GHz or faster RAM (Memory): 8 GB RAM GPU (Graphics Card): DirectX 11 or 12 compatible graphics card RHI Version: • DirectX 11: Latest drivers • DirectX 12: Latest drivers • Vulkan: AMD (21.11.3+) and NVIDIA (496.76+) Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Platf o rms Target Platform The game will launch exclusively on PC as keyboard and mouse is the most fluid form of input given the style of gameplay. Engine Specific Specifications and Limitations Being a city builder, the game is relatively CPU intensive as it requires a large amount of processing power during certain events. The AI citizens especially will cause a jump in CPU usage while they are calculating their route through the city. Engine Summary Unreal Engine 5.2.1 is being used for this project with no additional plugins. Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Systems and Diagrams Player Character Player Movement Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Player Actions Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Grid - based building system Placement Grid Money Manager Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Building Manager Buildings Building Size Initial Cost Profit per day per worker Upkeep per day Population limit Building Happiness Upgradable House 1x1 $40 $0 $10 1 40 Yes Shop 1x1 $120 $40 $20 3 10 Yes Road 1x1 $20 $0 $0 0 0 No Cinema 2x2 $200 $0 $ 30 4 20 No Office 2x2 $400 $50 $200 10 0 Yes Upgraded Buildings Building Size Upgrade Cost Profit per day Upkeep per day Population limit Building Happiness Apartment 1x1 $60 $0 $30 3 30 Cafe 1x1 $80 $40 $60 4 15 Highrise 2x2 $200 $ 50 $400 16 0 Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Citizen Characters (AI) Day Night Manager Population Manager Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Optimisation and Profiling Profiling Systems To test the functionality of the prototype, play - sessions have been run each week on a Friday once the weekly development cycle has been completed. This allows for the collection of data which can be used to plan the additions and changes required once the next cycle begins. Profiling Graphics To test graphical performance the project s framerate is monitored during the weekly play - session. This allows for different conditions to be t ested such as: • Amount of buildings • Amount of citizens • Density of buildings • Citizen pathfinding Once testing is complete and any large dips in performance have been recorded, they can be evaluated, and solutions can be proposed for the next development cycle. Coding Standards Programming Standards To ensure efficiency the city builder game mode finds and initialises all managers at runtime; using the references it then binds the required events for each manager class. Once completed the game begins. Using events, the prototype has maintained blueprint encapsulation, offered improved expandability whilst maintained effective and efficient code. Style Guide To ensure readability all blueprint nodes are given adequate space for themselves and any input / output values which connect to it. Furthermore, connections between nodes are routed around other connections to improve readability and maintain simplicity. Commenting Rules All events on any blueprint event graph are commented with a brief description of their functionality. Code Review Procedures The project codebase is reviewed at the end of each week once development of new systems has end . During this time blueprints are cleaned up to prioritise efficiency and functionality Develop Play - test Plan Version 0. 4 202 3 /2 4 Expancity (Technical Prototype) Kai Stevens Production Overview Moscow Must Should Could Wo n’t Player Pawn Citizen character AI Power building & resource Emergency services system Grid based building system Happiness resource Landscape tiles / blockers Cars & traffic simulation Cash resource Day / night cycle Timeline Task Start Date Completion Date Player Pawn 3/1/2024 10/1/2024 Grid based building system 10/1/2024 24/1/2024 Day / night cycle 24/1/2024 31/1/2024 Cash resource 31 /1/2024 7/ 2/2024 Citizen character AI 7/2/2024 14/2/2024 Happiness resource 14/2/2024 21/2/2024 Polish Systems 21/2/2024 28/2/2024 Budgeting The project budget is broken down into sections based on the required discipline, using this data a cost per month can be estimated. Given a team size of 14 (4 seniors, 10 juniors), it would cost roughly £360,000 per Anum to develop. Senior wage - £35,000 per A num Junior wage – £22,000 per A num • 4 - a rtists • 3 - p rogrammers • 2 - designers • 1 - audio engineers • 1 - QA tester • 3 – marketers Cost split by discipline Art Design Programming Marketing Audio Testing