Glassix 2 - Roots editor and Entities introductions + Short term roadmap

Hi guys!
Time for some update about where I'm going with Glassix 2!
The Roots editor is under development, which will implement important features of the game and allow me to organize them better than if I had started directly with the gameplay, which is the main reason I started with editors. This is a good time to give you some insight about how all that will work with what I've done so far. Please, note that many things detailed here are FAR FAR future features in the game but necessary to introduce now so you get a better idea of what you're supporting with your hard earned money.
First, let's start with the Roots editor which will also introduce the notion of entities I'm planning to use for several aspects of the game.
The Roots editor
This editor purpose will be to define who the character is using several steps which you should be familiar with if you've played others games such as The Sims or most RPG games. Yeah, I'm going to mix several ideas from different genre of games to make Glassix 2 unique and hopefully, it won't end up as a mess :D 
The first step when creating a new Root card (which I'll name as "character" to make it easier to understand) using the Roots editor will be to choose its body, created with the Body editor. Then select the character's age. Pretty straightforward. Using body cards this way, despite adding an extra layer of complexity, makes it easier to handle shared appearances, such as twins or daughters who should look like their mother after growing up as well as easier to update body cards which will dynamically update all related Roots card.
The second step will be to select the relationships with other characters. If you've played The Sims before, it'll be a familiar experience. For the initial version, I'll simply go with direct family ties: spouse, parents, siblings, children. Once the game is up and running, I might add more complex relationships like exes, lovers and such. When adding a relationship, you'll need to select another character (so another Root card) and when saving, all concerned Root cards will be updated to reflect the selection. Also, since I want to avoid troubles while publishing the game on new platforms later on (like Steam, though Glassix was refused due to the "School" settings. We'll see.), I'll have to set a limit of 19 years of age difference between parents and child (18 years old for first legal sexual relation + 9~10 months rounded up !) and I won't be legally held responsible if players tweak the game files to change this setting :D
The third step will start to use a system I'm calling "Entities" which basically is a skeleton used by the game code to know how to generate stuff, how stuff interacts with each other, the values to use during calculations and so on... The idea is to make a simple and clear skeleton listing all possible entities with their property and values which modders will be able to expand by adding their own data to each available entities.
All entities described will come in the form of XML data files. Simply configuring the XML file and dropping it in your mod folder will add this entity data to the list in game, making it really easy to add new stuff in game.
So back to third step which will introduce the first entity.
Attributes
We'll go the usual RPG way and set up the basic attributes of the characters: 
  • Strength: How strong you are
  • Endurance: How much stamina you have
  • Intelligence: How easily you understand things (Cucumber is a fruit!)
  • Wisdom: How wise you are at taking the right decisions in the corresponding situation (You don't put cucumbers in a fruit salad :D)
  • Dexterity: How good you are with your hands
  • Agility: How nimble you are with your feet. Loosely projected to Speed checks too to reduce the number of attributes
  • Charisma: How eloquent you can be (Not related to the body appearance. So even an ugly character can be charismatic!)
  • Luck: Let's play lotto right away! :D
So 8 attributes to define a character, average character being 5, min is 0 and max is 10. This will translate most of the time to percentage in calculations with the average score of 5 giving no bonus/malus. 
Attributes will be static during each playthrough and won't change except through the use of spells or items either temporarily or permanently. For example, alcohol could make you dumber but stronger, some drugs could make you smarter but tire more easily etc... The general shape of the body could also impact attributes such as fat people having less endurance. But the idea is to make attributes really important by fixing their initial value and limiting the means to increase them. Nothing too new at the moment if you're already a RPG player. 
In the Roots editor, you'll be able to freely select the attributes without cap. So you could create the perfect human with 10 everywhere, maxing your chance of success or go for the average unlucky guy with 5 everywhere except 0 luck... But the best idea would be to match the attributes to the story you plan for your character.
Skills
Another entity and familiar one, you'll have a list of skills you'll be able to increase during playthrough, through personal time or by working and will be used to check the result in different situations.  Ranging from level 0 to 100 this time to give a wider percentage accuracy. Each level will require some related experience point, getting more and more difficult to increase. Initial value is 0. 
Skills will be linked to Attributes to determine how skillful the character can be in this skill. This means that all characters will be able to increase all skills to 100, but the final efficiency of the skill will be limited by the chosen attributes. So let's take an example and create a cooking skill. Lets loosely link cooking to 30% Intelligence, 20% Wisdom and 50% Dexterity (Total will always be 100% no matter how many attributes you link to the skill). Now, let's have a special event "Cooking competition" with a required score of 20/100 (max score will always be 100 here too) to win the competition (yeah, a beginner cooking contest :D) You should now get an idea of where I'm going with this. Multiply each attribute ratios by the attribute value, then multiply the result by the skill level! Easy peasy! Let's go with the perfect human with perfect cooking skill: 
  • 30% of 10 intelligence = 3
  • 20% of 10 wisdom = 2
  • 50% of 10 dexterity = 5
  • This makes a perfect 10 score which we transform into percentage by simply multiplying by 10 => (3+2+5) * 10 = 100 (Surprised Pikachu!) This formula will always give number between 0 and 100 making it useful for skill testing!
  • Now apply this result to the skill to get your current score => 100 cooking * 100% = 100
  • So the result of this event is a perfect 100 score (Surprised Pikachu face bis!)
  • Congratulation! You won the beginner cooking competition! You'll earn some quick cash plus potentially some cooking skill increase (Wait, you're already max level :x)
Now let's go with average unlucky guy with cooking skill of 30:
  • (30% * 5 + 20% * 5 + 50% * 5) * 10 * 30 / 100
  • (1.5 + 1 + 2.5) * 10 * 30 / 100
  • 5 * 10 * 30 / 100
  • 50 * 30 / 100
  • 1500 / 100
  • 15
  • Almost there but you fail!
Now you might wonder why the f*** am I making this so complicated!? Why use attributes!? Just compare skill level with the event score and be done! The answer is "To add some RNG to the game" and some "Min/Maxing" feature. If all characters can reach the max score in all skills, it ends up with a blend experience where you don't really care about the character itself. But throw the attributes limitation there and you'll have to be careful about who you recruit or compete with. More about this point after I introduce the other entities.
In the Roots editor, you'll be able to select the skills of characters with no limits, only limited by your own ideas!
Jobs
Another entity. Similar to Glassix, characters will have jobs. Jobs will require different skills and working those jobs will increase the related skills little by little. And of course, a specific paycheck. The difference from Glassix is that the player and NPCs will be able to change jobs during playthrough.
In the Roots editor, you'll be able to select the preferred jobs of the character which will be used when generating new cities.
Business
Another entity which should bring something a bit fresher!
A business defines the available jobs, the promotion system, the required infrastructure to function properly, the services it offers and possible actions per jobs.
It'll be easier to understand with an example. Let's go for a University business! Behold my marvelous GIMP skills!
 
This image shows which jobs are accessible in a University business and each path for promotion. Each job also has different actions it can take in the business and different skill requirements. So you might start as a PE teacher with a basic salary and low skills requirement but if you want to get promoted to Senior PE teacher, you'll need to increase your fitness or swimming skills to pass a certain score (which also depend on your attribute) but also suck up to the headmaster who will be the one with the action to give promotions! Lots of sexual bribery in sight here ahah :D
The service offered by a University would be "Education" which allow "customers" (students) to increase their skills by paying a monthly or yearly fee. Teachers will teach the students using a teaching skill and increase the students related skills (fitness, cooking, academic, etc...) while side jobs such as cooks or janitors would increase the reputation or efficiency of the business in different ways. This also leads to many potential events between or in each branches giving more variety to the game, increasing replayability. (Most of you should already be familiar with the overused "Hypnotist Counselor" setting. Well, let's overuse it in games too! ;D)
Businesses will either have a unique owner or several shareholders each holding a certain percentage of the company who will split the expenses and income from this business. If no owner, then the city (AKA, unlimited money manager) will be responsible for the business. This means in Glassix 2, you'll be able to purchase businesses or invest in them and earn money from those.
Businesses will also need a specific infrastructure (explained just after this) and by specifying the requirements, the city generator will be able to place businesses through town and fill it with characters, being randomly generated or from the players custom characters.
In the Roots editor, you'll be able to select businesses owned by the character and when generating the city or launching a scenario, if an adequate business is found, this character will become its owner. No limitation here either. You can fulfill your dream to be a millionaire right of the bat :D
Infrastructures
Another entity and I will shamelessly steal ideas once more, this time from Sim City and Cities Skyline and split infrastructures in different categories such as residential, commercial, office, primary/secondary industries. Adding some more such as leisure, education, healthcare...
Infrastructures will have a low poly 3D model in game used for the city map and will be defined by a number of buildings and locations, each building having a number of floors, each floor having its own location. So basically, what you have in Glassix already.
So if we create a university infrastructure similar to what we have in Glassix, we'd go with 2 buildings and 1 outdoor field. First building would have 3 floors, the first 2 floors having 7 locations (1 corridor/hall + 4 classrooms + 2 bathrooms) and the 3rd floor having 2 locations (Stairs + Roof). Second would be gymnasium and you can guess its set up. The outdoor field could also be split into multiple locations.
In game, when you click the university, you'll have a menu to navigate the infrastructure easily, with possible related character trackers if enabled, like you have in Glassix. Then when changing location, you will move from the city map to the location itself and see the characters inside. Similar to Glassix. The infrastructure files will also contains the necessary pathfinding.
The limit will be the 3D model to be used. I'll see if adding 3D models to mods is possible (should be).
Locations
Another entity. Each location will have its own 3D model and filled with furniture and decors, similar to Lust Complex. I guess I'll start with plain 2D backgrounds like Glassix at first instead of 3D models to fill the city more easily in the early versions of the game then transition to proper 3D models later on.
Items
Another entity already existing in Glassix but it'll be more complex in Glassix 2. An item is something you can either produce, process, craft, purchase, sell or use during a playthrough. Items will have a specific category which will define its use, such as Furniture, Outfit, Food, Gift... as well as define if this item will use a 2D icon or a 3D model in game. Furniture and Outfits do need 3D models but the other ones don't really need one.
In the Roots editor, it'll be possible to select owned items by the character as well as specify some preferences. (Outfit style, food taste and so on)
Traits
Another entity which exists in Lust Complex. I'll merge it with the personality system in Lust Complex too since those two notions were actually quite similar. Traits will affect a character in a wide variety of different ways (unlike in Lust Complex), could be positive or negative, cosmetic or impactful. It could affect attributes, skills, efficiency at work, location preferences or even requirements for some events...
Spells
Another known entity work which will work about the same as in Glassix and even better with new spells affecting even more aspects of the game.
Events
Another entity used in Glassix. Events are triggered using conditions coming from other any entities and will give life to the game. A large variety of actions will be made available to make events as impactful as possible, like increasing decreasing the value of other entities (skills for example), showing specific characters during the event and have them play specific animation during a specific sentence and so on...
And... done! I think...
That's about it at the moment. The scale of what I'm detailing here might surprise you but I have actually already implemented most of the stuff detailed here in my previous games, such as Glassix or Lust Complex (Actually, only the attributes and business entities are something not done in my other games, all other entities already exists in my other games even if not in public knowledge. Also, the attributes entity is something only affecting calculations so easy to implement) so I have no doubt I'll be able to deliver what I'm talking about. The only restriction is the time necessary to implement everything I've talked about which will take months. So I'll have to organize myself to deliver something playable as soon as possible which leads to the final point of this post, the short term roadmap!
Roadmap
I'm already working on the Roots editor which will focus on the minimum requirements to have a working and meaningful character so I'll only implement the relationship, attributes and skill steps in the initial version. With this, it should be enough to feed the game with those characters and fill cities. With such a goal, I should be able to deliver the Roots editor around early/mid next month.
Once the Roots editor, it'll be time to give you something to play!
Here again, let's focus on the essentials only. No city generator at first, I'll go with a predefined city layout filled with predefined infrastructure. Only the citizens will be populated randomly using you own characters first than randomly generating the rest.
Then, among the necessary entities to make the game work, we'll go for events, infrastructures, locations, jobs and businesses. Items, traits and spells can wait a little.
It might be a bit out of order, remember the story is supposed to be about Lily abducting you as a soul and pushing you into virtual worlds. But if I went in order, I guess it'll delay the gameplay too much to my taste. Once the game is more stable, I'll add the proper introduction and cover all the missing stuff.
That's it for now. I hope this gives you a better sight of what you are supporting me for and I hope you'll look forward to it!
Thanks again for your time and support!