Change Log
Version 0.1.6 – 4/26/2020
Added
- Trophy icon added to build
- Parenting skill added
- Fame added
- Athletes accumulate fame for event attendance, good performances, victories, medals and tournament wins
- Fame added to Attributes tab
- Parents now sometimes praise children’s performance
- Frequency based on Parenting skill
- Level of detail based on praising parent’s knowledge of the position the child is playing
- Opportunity for user to learn more about how to create a successful athlete
- Sports tab now populated during reroll
- User can now reroll new characters while viewing the Sports tab directly, instead of only looking at attributes
- Allows user to directly see what the character’s position abilities will be at Age 12
Optimized
- Cleaned unused file stubs from build
- Refactored how skills and positions were created, stored and updated
Bugs Fixed
- Position ratings were not generating correctly
- Viewing Sports tab prior to any Track & Field meets taking place showed stat values as “Value” instead of “0”
- Clicking Chess Champion on World tab was not bringing user to the Attributes tab
Version 0.1.5 – 4/20/2020
Goals
- Give active player the ability to decide whether or not they want to look for a relationship – met
- Give active player the ability to choose whether or not to enter relationships – met
- Give active player the ability to choose whether or not to try out for teams – met
- Give active player the ability to choose whether or not to try for children – met
Added
- Yes/No modal dialog window
- Several coroutines to process various yes/no questions (see goals)
Updated
- Made match performance variation configurable by position
Bugs Fixed
- World Tab could show multiple locations in green, even if there were not followed characters in each location
- Sprint best time was not updating on Sports tab
- Sprint world record times were not updating on World tab
- Sprint meets were not always showing finals
- Changing Active Player did not result in the new Active Player being followed
Version 0.1.4 – 4/16/2020
Goals
- Convert sprint scores into times – met
Updated
- Sprint results now show as times, rather than scores.
Added
- Chess Champion now shows for cities and schools in World tab
Bugs Fixed
- Chess area of Sports tab was not updating when switching characters
Version 0.1.3b – bug fixes – 4/13/2020
Goals
- Find and resolve any major bugs introduced in v0.1.3 – met
- Create distributable build with Chess in it – met
Bugs fixed
- Players were occasionally put in matches against themselves
- Byes in tournaments were causing game crashes
- Sibling and Children lists were not expanding/collapsing properly
- Tutorial update caused a game crash
Version 0.1.3 4/12/2020
Goals
- Add Chess – met
- Add Tournaments (as opposed to Meets) – met
- Convert Sprinting Tab into Sports Tab – met
- Add Skills Tab – not met
- Give user ability to look at teams – not met
Added
- Characters can now join Chess club
- Tournament system built for individual sport tournaments (such as chess)
- Dialog screens added to update user about progress of athletes in chess club
- positionStats concept to track stats per position. It is complicated. Also, it works.
Reconfigured
- Sprinting Tab is now Sports Tab
- Sports Tab now has Sprinting and Chess embedded tabs to view stats
- Tutorial updated to point out Sports tab and include tournaments
Version 0.1.2 – 4/10/2020
Goals
- Add siblings to family navigation panel – met
- Optimize ScreenManager class – met
Added
- Siblings now viewable/clickable in family navigation panel
- If any resident of a city is being followed, that city’s name will appear green in the World tab.
- If any student in a school is being followed, that school’s name will appear green in the World tab.
Optimized
- Children are now a list of prefab buttons in the family navigation panel (they were individual objects, used or not)
- Sprinters are now a list of prefab TextMeshProUGUI container row objects in race participants & results dialogs
- Consolidated a large number of text fields as TextMeshProUGUI button
- components and am using them that way now, instead of every button having its own separate text object to manage.
Bug Fixes
- Names of followed characters were not consistently colored throughout the game.
- Clicking virtually any button during character creation would return the user to the character creation screen. Now the user can navigate around during Character Creation, but still cannot advance the game until they have finalized the character.
- The participant list of races were not being sorted by skill level. This was partially masked because participants were being added to heats in order of skill level to begin with, but the list of participants in the finals were clearly out of order.
Version 0.1.1 – 4/7/2020
Goals
- Add Tutorial – met
- Add End Game – met
- Quality of Life improvements – met
Added
- Tutorial
- Can be turned off at the start of each game
- Does not have persistent “leave off” – would require saved preferences file
- End Game
- Game ends when there are no living playable characters
- Does not yet show user accomplishments, etc
- Takes user back to Title Screen
Changed
- Clicking names on the Sprint tab no longer takes user back to Attributes tab, it just refreshes Sprint tab with the newly selected character
- Sprinter skills are now checked before each race, rather than just when they are brought (or not brought) onto a team
- Switched system to use blocking panels to hide screens behind dialog, race dialog or tutorial panels, rather than enabling/disabling canvases.
- If a followed character enters a relationship, their partner will now also be followed by default
Version 0.1.0 – 3/31/2020
Goals
- Upload project to GitHub – met
- Generate working build – met
- Distribute playable version to close friends – met
Version 0.0.15 – 3/30/2020
Goals
- Fix Bugs
- Add tab for personal stats/trophies/records
- View schools in more detail
Created
- Ability to toggle on/off whether or not character is “followed”
- Followed characters will have dialog panels come up to show life and race events
- Active player toggle on/off is disabled (always on)
- Playable children default to ‘on’
- Character does not have to be playable to be followed
- Race dialog window created
- Only shows races in which a followed character participated
- Followed characters are displayed in green rather than black
- Race participants table/modal
- Shows competitor’s name, age, school and skill level
- Race results table/modal
- Shows competitor’s name, age, school and race score
- Sprinting stats per character
- Meets participated in
- Finals reached
- Gold/Silver/Bronze medals won
- Best score
- World Tab
- Navigation lets user choose any city, or any school within each city
- Buttons allow the user to return to “Main” city or school (the ones the active character belongs to).
- Stats per school
- Total number of students
- Number of freshmen/sophomores/juniors/seniors
- Number of Gold/Silver/Bronze medals won
- School record sprinting score (name/date/score)
- Clicking record opens character panel for record holder
- Stats per city
- Total population
- Number of adults/children/students/singles
- City record sprinting score (name/date/score)
- Clicking record opens character panel for record holder
- Added school button on Attributes panel to allow user to see what school the character attends (if any)
- Button is clickable, brings user to school stats page
- Increased name files
- Male first names from 26 to ~2,000
- Female first names from 26 to ~4,200
- Last names from 26 to ~5,000
- More common names appear more frequently (needs verification)
Bugs Fixed
- Navigation
- Navigating through characters does not update family panel
- User could ignore character create screen by simming instead of accepting character
- Active player button on main game screen was not working or needed
- When a playable baby is born, game should automatically switch to character rolling window
- Loading game while Next Day button is disabled continues to have button disabled, preventing user from playing
- Characters
- Some characters starting in 2nd generation do not have names
- Schools are adding empty characters to team rosters when the number of school-eligible children is not divisible by the number of schools
- It is possible for a character to enter into relationships twice in one day with two different people
- Attempting to set a first-generation partner as the active character throws an exception
- Possible for user to roll a non-first-generation character to have the same first name as a sibling (does not happen with AI characters)
- Characters renamed after birth was making it difficult to debug other areas of code
- One of the available last names is “TRUE” in all caps
- Possible to conceive a child after partner dies
- Simple Dialog Panels
- Dialog tells user player was cut from the team after they graduated from school
- Dialog continue button does not match other buttons in style
- Meets & Races
- Race score variance was too low per sprinter
Version 0.0.14 – 2/28/2020
Goals
- Rewrite the UI to something more useable – met
Updated
- Look and feel of UI to cleaner (to me) look
- Removed a lot of information being sent to console
- Started sending a lot of information to dialog panels
Created
- Dialog panel with configurable text and continue button
- System that correctly queues dialog messages and displays them in the correct order when necessary
Bugs Fixed
- Dialog Panel disappearing
- Next Day button vanishing after changing active player
- Dialog Blocking Panel not working
- Options menu does not fit UI scheme
- Save Game not working
- Attributes Declining at age 13
Version 0.0.13 – 1/21/2020
Goals
- Create a sport (sprinting) – met
- Create a schedule for that sport – met
- Create tryouts & populate roster for each school – met
- Execute matches – met
- Declare a champion – met
Added
- Working Sport, League, Team classes
- Process to determine weakest position to help guide athlete selection
- School tryouts & roster building (not draft – one team from one batch of potential athletes)
- HoldMeet – a (too) big function that collects athletes, creates events, holds qualifying heats and a final heat
Fixed
- Bug was causing characters born in September, but before Labor Day to be enrolled in school 2x, which was causing multiple knockon sporadic duplicate key exceptions.
Version 0.0.12 1/11/2020
Goals
- Refactor
- Change object lists into ID lists where appropriate – met
- Eliminate duality of Player vs Character & duplicate functions – met.
- Move dead characters out of memory – met
Refactored
- Replaced Index/ID lists with Object lists where possible
- Made child & sibling lists objects, parent lists IDs
- Migrated several instantiation calls
- Moved World Info and Character Info into new Info panel
- Changed navigation significantly
- Limited visibility to the main character, partner and children for main info panel
Added
- Info UI panel with tabs
Version 0.0.11 – 1/3/2020
Goals
- Put four High Schools in each city – met
- Make children enter High School if they are 14yrs old when school starts – met
- Make siblings attend the same school by default – met
- Have children age out of school – met
Added
- Annual calendar of key dates (performance concern here)
- List of annual calendars going out 20 years
- Implemented Start of School Year (first day after Labor Day) date
- Implemented Graduation (last Friday in June) date
- Prioritized and randomized recruitment attribute list per school
- School initialization during the city init process in City.InitializeCities
- Call to run end-of-year activities in Gameworld.AdvanceDay
- Freshman recruitment process by each school in each city (rudimentary draft)
Version 0.0.10 – 1/1/2020
Goals
- Let user change active player – met
- Make stats decrease naturally with age – met
Added
- Make active player button on character info screen
- Stats decrease with age after peak
- Attribute curve randomized within limit, peaks will be generally between 28-32ish
- Physical vs Mental attributes decline at differing rates
- Set age limit of 119
Version 0.0.9 – 12/28/2019
Goals
- UI cleanup – met
- Bug fixing – met
- Relationship boundaries – met
- Identify modal window needs – met
Added
- Partner name & age (clickable) to Main Game & Character Info screens
- Daily bug check (2x child names, sibling relationships, partner not sharing name)
Fixed
- Children of Character partners will now be rolled as new Players
- Last name now changes upon partnership
- Siblings can no longer share a first name
- Playable characters cannot enter relationships with each other
Refactored
- Removed “Back” button from Character Create
- Moved “Continue” button on Character Create to the bottom left side, so that I don’t keep hitting “Continue” when spamming “Next Day” for testing.
Version 0.0.08 12/27/2019
Goals
- Have one functional sport – not met
- Use LINQ to gather sport information – met
- Add relationships – met
Added
- Character Info screen
- Clickable names on Main Game and Character Info screens for navigation
- Partners
- Adoption
Version 0.0.07 12/15/2019
Refactored
- Combined living and dead NPCs into one characters<> list
- Combined living and dead Players into one players<> list
- Made activePlayer, rollingPlayer, Date and ScreenManager globally accessible
- Optimized several processes that were getting confusing related to birth and naming
Bug Fixes
- Fixed a problem where user was not able to reroll Player babies. This required a pretty huge code overhaul
- Fixed a bug where game Date was not saving/loading properly
- Fixed a bug where baby characters were being added to the population list twice
- Fixed a bug where players were not properly being counted in world or city populations
Added
- Rudimentary World Info Screen
Removed
- City-based graveyards – all residents can be counted based on isAlive or !isAlive
Version 0.0.06 12/8/19
Added
- City Class
- City initialization
- Global population counts
- Character and Player birth and death
Refactored
- Moved character generation and aging functionality into Cities
- Separated character vs player tracking and aging
Version 0.0.05 11/29/19
Added
Game Concepts
- Game World
Functionality
- Game world population
Refactored
- Save and Load processes now only target the Game World object, which itself includes the player, all NPCs and the game date.
- Moved date and player objects into Game World
- Changed NextDay to GameWorld.AdvanceDays(int) to advance a year to help speed up testing
Bug Fixes
- Load function was not correctly loading attributes.
Version 0.0.04 11/28/19
Added
Game Concepts
- Randomized Growth Rate chart per teenage year per attribute
- Differing growth rates for body size vs attributes
Version 0.0.03 11/27/19
Added
Game Concepts
- Character age
- Character birthday
- Character attributes and range limits
Main Game Screen UI
- Display Player Age
Character Create Screen UI
- Back button
- All Attribute Labels & Values Displayed
Functionality
- Save & Load birthday & date info working
- Save & Load attributes working
- Character create and reroll generate attributes within ranges
Refactored
- RenamedPlayerInfo class to SaveGameInfo
Version 0.0.02 11/25/19
Added
Game Concepts
- Date
- Version number on build
Functionality
- Save game
- Load game
- Advance day
Main Game Screen UI
- Next Day Button
- Display Current Date
Version 0.0.01 11/22/19
Added
Game Concepts
- Game Manager class
- Character class
- Player class
- Title Screen
- Character Create Screen
- Main Game Screen
- Options Screen
Functionality
- Get random first/last names from file
- DataSaver class
- PlayerInfo class
Title Screen
- New Game Button
- Load Game Button (unused) – added functionality v0.0.2
Character Create UI
- Player Reroll Button
- Continue Button
Options UI
- Main Menu Button
- Quit Button
- Save Game Button (unused) – added functionality v0.02
- Load Game Button (unused) – added functionality v0.02
Main Game Screen
- Options Button
- Next Day Button (unused) – added functionality v0.0.2