Suggested Employment Module

J Young Kim

New Member
Contributor
Design
Employment Module

Purpose:

The module will be responsible for adding a jobs aspect in the game of Terasology. Some example jobs would be miners, farmers, fishermen, and more. The players would be able to get jobs in cities or towns and obtain money to use in the towns and cities. The player can also gain experience when on the job, and lots of experience can aid with the jobs (i.e. after level 10 of woodcutting, one can chop two blocks at a time). In addition to getting more benefits, the player can also can roles/titles. For instance, a level 1 miner would be have the player referred to as 'rookie miner,' and a level 10 miner would have the player referred to as 'master miner.' The players would be interested in such a module because it can allow the player to feel as if he or she were a part of a virtual society, especially in towns and cities. In addition, the idea of an MMO component will add to the complexity and personalization to the player, which will make the game more attaching and more motivating (to get more levels for benefits).

As suggested, the Employment module can also bring gameplay when the player is offline. To be specific, when having a job, the player can be simulated to be working. In other words, while the player is offline, the in game character would assume it's role as whatever job it has and it will continue to perform its duty. When the player gets back online, the player can check to see how much money was made while he or she was away, what tasks were done, etc. This is a simulation, thus, the player can be promoted (level up) or fired while the player is offline.

Structure (Describes a method of implementation):

  • Systems:
    • The system will first describe the tracking system for the job. For instance, for a miner, the tracker can keep track of which ores were mined, and add experience according to the tier of ore. And upon enough level, the player can have upgraded passive abilities, such as the ability to get two ores out of one block.
    • The second system will be focused on selling and getting money. As a miner, the player should be able to sell its ores, as a farmer, sell produce, and etc.
  • Events:
    • uponGettingJob: Can be set off if the player gets a job. When such an event is fired, then a tracker of the player’s activity will be activated for the job. For instance, if the player decides to become a ‘woodcutter’, the tracker will keep track of how much wood was cut by the player, and keep track of the experience gathered by the player. This event can also update the job the player has (in the case the player wants change jobs).
    • levelingUp: Can be set off when the player levels up. When such an event occurs, a flashing on-screen text stating ‘Leveled Up!’ can be displayed, and can momentarily describe the ‘upgrade.’
    • uponSelling: This event should result in the player obtaining money and losing the item it sold from the inventory.
  • Components:
    • The component will describe the job and experience a player has. Depending on this information, the systems will run differently.
Extensibility:

The Employment module can be integrated into many existing modules (not an exhaustive list):

  • Economy: For economy, the player can affect the supply and demand mechanics. If the player mines a lot, the price of armors or ores in general can become cheaper in the towns and cities. Of course, the challenge is to make NPCs also take jobs so that prices don’t sky-rocket just because the player did not choose a certain job and also buy to keep prices reasonable. To be realistic, this module can also affect the pay of the player’s work, meaning that selling too much in a short period of time will result in a drop in prices at which consumers buy at and the price at which the player can sell at.
  • DynamicCities/StaticCities/MedievalCities: These structures will ideal inhabit NPCs which will allow the player to hold jobs. The life a salaryman will most likely take place in the cities/towns generated by these modules. For a very simple implementation, each city generated can have a wooden board which the player can go and get a job. The different buildings generated can serve as the working areas (i.e. bakery is for bakers, banks are for bankers, etc.)
  • Cooking: This module can be extended so that the Employment Module can have a ‘Chef’ as one of the jobs. Essentially, the player can choose to get a job in the city’s restaurant, café, bar, etc. and can create foods that the owner/manager NPC task for (Tasks Module?). After creating the food required, the player can ‘sell’ the food to the manager/owner for money. Of course, selling to food will result in gaining experience and levels, and with high levels, the player can sell for higher prices.
  • Alchemy: This module can be extended so that the alchemist job can appear. The player can work in labs, and the lead scientist can ask the player to create certain potions (Tasks Module?). After creating the potion, the player can ‘sell’ the potions to the lead scientist, and in doing so, will gain money and experience points. High levels will allow the players to sell the potions for a high price.
  • Wild Animals: This module can be used for the hunter job. The job will involve the player going around in the wild hunting for animals. Killing animals will result in the player gaining experience. The meat obtained from the animals can sold to the town’s butcher for money. The levels will affect how many blows it’ll take to kill and animal and the amount of meat obtained.
  • Tasks: There are jobs which the player can do individually without much guidance, such as mining and farming. However, there are also jobs where a direct supervisor is necessary for orders, such as bakers, builders, etc. Thus, the Tasks Module can be used by the NPC supervisors to give tasks/jobs for the player (employee) to do. If the player gives the final product to the supervisor, then the task is complete, and will receive compensation and experience points.
    • For this module: two events can be added:
      • onGetTask: This is when the supervisor gives the task. During this time, the tracker will just do nothing, and when the item is crafted, the tracker will remind the player that he or she has done the task and now it’s time to give product to the supervisor.
      • onFinishTask: This is when the player ‘sells’ the product to the supervisor, which effectively finishes the task. This event will trigger the following: give more experience points to the player, give money to the player, and give a new task to the player.
I never talked about limits on the number of jobs a player can have: I will leave this up to the developers. Limiting the number of jobs may tunnel vision to players into doing one thing, making the game boring. However, allowing limitless amounts of jobs can result in the player farming money and experience. Please note, job specific experiences/levels should only be obtained when the player holds the job.
 
Last edited:

manu3d

Active Member
Contributor
Architecture
@J Young Kim : small linguistic issue: you are using the term "Jobs" and "Professions" almost as synonyms. I would suggest in English a "profession" is the umbrella term under which a number of "jobs" are held. For example a person might be a "stone carver" (the profession) and within that broad context the person might have held a number of specific jobs or -roles-, i.e. apprentice carver, senior carver and so on. Also within that context that person might have taken care of a number of jobs intended as "tasks", i.e. replicating a statue, or carving a brand new monument. Perhaps you might want to go through your text again and make sure you use the terms professions, roles and tasks as appropriate.

Nevertheless, I like the high level descriptions you are producing. It would be interesting to see if, on implementation, they would become inevitably more complicated or if they can be maintained as simple and as neat as you describe them.
 

J Young Kim

New Member
Contributor
Design
@J Young Kim : small linguistic issue: you are using the term "Jobs" and "Professions" almost as synonyms. I would suggest in English a "profession" is the umbrella term under which a number of "jobs" are held. For example a person might be a "stone carver" (the profession) and within that broad context the person might have held a number of specific jobs or -roles-, i.e. apprentice carver, senior carver and so on. Also within that context that person might have taken care of a number of jobs intended as "tasks", i.e. replicating a statue, or carving a brand new monument. Perhaps you might want to go through your text again and make sure you use the terms professions, roles and tasks as appropriate.

Nevertheless, I like the high level descriptions you are producing. It would be interesting to see if, on implementation, they would become inevitably more complicated or if they can be maintained as simple and as neat as you describe them.

Thank you, I tried to make it more clear. Please reply to this if you still find problems, for I'd be happy to fix them. For my edits, I took out the word 'professions,' and used a system of jobs and titles.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Nice write-up :)

Talked a bit on IRC, I suggested a rename to "employment" for even less ambiguity. At first I wasn't sure if we were talking about more of a class like "miner", "hunter", "lumberjack" etc, which "profession" sometimes can refer to. Employment I think makes it pretty clear that it is an actual exchange of goods/services for financial value of some sort. Titles and things beyond that are nice and clear.

Second suggestion: Leave in the potential for the player's character to "work" as part of employment while offline - this could be simulated easily, even without actually keeping the player avatar in the world at first. Later with more AI the player character could be NPC controlled while the player is offfline, adding some life to the world, hanging out at a place of employment and logging activity for later review. Not exactly likely to be a thrilling adventure novel when you make it back online, but little things are good for immersion.

This would work especially well with DynamicCities and its market forces. Very cool stuff :)
 
Top