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):
The Employment module can be integrated into many existing modules (not an exhaustive list):
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.
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.
- For this module: two events can be added:
Last edited: