Character Customization, Town Emancipation, Childhood, Genetic Inheritance, Major Optimization and more! - Character customization has arrived! There are now 20 different hair styles, 10 different skin colors, 4 different eye colors and 2 different mouth styles. As time goes on, I'll be adding many more to this, but for now this is a good variety while I focus on other content. Villagers (adults only for now) will also blink their eyes from time to time.
You can also emancipate yourself from your current town and form your own empire. By pressing "T" you can open the town menu, where you can now hit the "Leave Town" button to leave your current town. This will only work if you aren't the last surviving member of your town. Once you leave your town, you can form your own town by creating a campfire at least 100 tiles away from all other towns. You can do this by pressing "P" to access the profession panel (and since you're the leader, that's your profession) and selecting an available mission. You do this by pressing "1" through "9", but as the leader of a new town you only have one option (the campfire), so you would press "1" to select it, and then "B" to place the campfire (currently "B" is used as the selected profession action button). If you leave the town as a leader, a new member will be elected to replace you.
There's also a new stage of development on the road to becoming an adult, childhood. After you age out of being a baby, instead of instantly becoming an adult, you'll now enter childhood where you can freely move but not interact with your environment. Childhood currently lasts as long as being a baby (approximately 30 seconds). Over time, more age brackets will be added such as adolescence, middle age and old age.
There's also genetic inheritance, where there's currently a 95% chance of inheriting traits from your parent. Currently you can inherit skin color, hair color, eye color and mouth. Over time, more traits such as bravery, laziness, etc will be added that will impact the personalities of the villagers. The 5% chance of mutation is also currently set to be slight. So for example if your parent has black hair, you won't be born blonde, but rather a slightly lighter version of the black hair. Over many generations, if mutations continue, a black haired great great great grandmother has a small chance to have a great great great grandchild with blonde hair. The same rule applies to skin color and eye color.
I've also gone through all code paths and made sure that everything takes less than 1 millisecond to process, thus eliminating any noticeable FPS drops. I've tested for over 30 minutes straight and haven't found any issues, and after more content is added I'll be doing another optimization to make sure this remains the case.
A list of specific changes can also be seen below.
Additions
- Added childhood. After 20-30 seconds (roughly 2-3 years of life) of being a baby, a villager will become a child. Children for now are capable of walking around on their own, but cannot interact with the world yet. Children currently reach adulthood 30 seconds (roughly 3 years of life) after becoming children. In time, more stages of life will be added in a similar fashion.
- Added the ability to leave your current village from the town menu (Shortcut "T" to open the town menu). There's a button at the bottom of this menu that lets you leave your current town.
- Added the ability to create your own town. Once you leave your village, you become leader of a new town. From here you can access the leader menu using shortcut "P", and pressing "1" will select the first available mission on this list (and at the time of creating a new town, this will be the campfire, which is the center piece of a new town). You then go to an area where you can build the town (must be at least 100 tiles away from another village. You'll get a message if you're too close) and press shortcut "B" to place the blueprint of the campfire. This will set the village in the same spot as when you first join the game.
- Added a sound effect for dropping a rock.
- Added a sound effect for dropping a sharp rock.
- Added 15 new hairstyles (previously 6).
- Added 9 new skin colors (previously 1).
- Added 1 new mouth style (previously 1).
- Added 3 new eye colors (previously 1).
- Added the ability to blink eyes.
- Added passing down genes. Now babies will share their maker's hair color (with a small random chance to mutate). Eventually other traits will work the same way.
- Added passing down genetics for skin color.
- Added passing down genetics for eye color.
- Added passing down genetics for mouth type.
- Added chance for mutation on skin color.
- Added chance for mutation on eye color.
- Added chance for mutation on mouth type.
- Added mutation to change slightly over time (so you can't go from black hair to blonde in one generation for example). Now darker skins will either lighten or darken over generations when mutations occur, and hair colors will lighten or darken the same way.
- Added AI toggle to multiplayer.
- Added the ability to customize the map size. (I still need to add the ability to set this from the game start menu). Previously 3,000 tiles diagonally, now can be as low as 100.
- Added new panel backgrounds for the character, town and profession screens.
- Added close buttons to the top right corner of all menus.
- Added more town names and replaced the old ones with more unique names (previously 8, now 32).
- Added a facial expression while in war mode (the villager will now furl their eyebrows and open their mouth wide when ready to start a fight with a potential enemy).
- Added an alert message to the bottom of the screen letting the player know that they're awaiting childhood (as a baby you just follow your maker instead of having control).
- Added an alert message to the bottom of the screen letting the player know that they're awaiting adulthood.
- Added customized villager corpses. Now when a villager dies, it looks like it did when it was alive (instead of just being bald).
Fixes
- Fixed optimization of the game. I tested pretty much every code path to make sure everything takes less than a millisecond to run, and now everything seems perfect. This may need to be done again in the future once more content is added, but at least for now after many days of working to perfect the current code, I'm finally happy with everything.
- Fixed multiplayer code to be more up to date. It's still not completed but should be done by tomorrow.
- Fixed AI to be more efficient.
- Fixed a bug where the game could crash if you move the camera off the screen.
- Fixed the way tasks are assigned to villagers. Now all performance wrinkles appear to be fixed. Still continuing the optimize though.
- Fixed a bug where the town would load in a weird place when going back to the main menu and starting a new game.
- Fixed a bug with saving/loading the game that could cause a crash.
- Fixed a few mission states when creating a new town.
- Fixed a bug related to progressing a newly created town.
- Fixed stamina regeneration (now replenished twice as much).
- Fixed leaving towns so that a new member will be elected leader upon leaving. (also you can't leave if you're the last member of a village).
- Fixed a bug where the leader could relinquish leadership when getting pregnant.
- Fixed maximum number of AI at a time to be 60, previously 20 (max is still 20 per town).
- Fixed a bug that would cause the game to crash due to leaving a town.
- Fixed a bug where the town would elect a new leader upon completing the campfire even if one already exists.
- Fixed a bug where the player could turn a storage spot into their task spot, making NPC villagers ignore that storage pile.
- Fixed the left panel to not display status bars while unborn.
