Below are lists of all current development tasks and ideas for Mankind Reborn. While this may not be your traditional roadmap, we feel exposing the raw information to our community, directly from the Dev Team, will provide the most accurate, up-to-date information as items are created, implemented, thought of, or actively being worked on.
To view items on each list, you can toggle the list to open and close by clicking on the white arrow next to each heading.
Pre-Alpha Board (THIS BOARD IS ACTIVE)
For ongoing tasks: https://trello.com/b/hqrLab9Z/pre-alpha-board
New Backend Implementation
Replace Gamesparks with Frontier backend
- Drug Labs https://gyazo.com/9deb0c26b18453ad986c3e0267ff33df
Union City - Downtown
Union City - Underground
Union City - Industrial
Faction Perks and Exclusives
Cloning System Overhaul
Implement cloning system similar to fom
Player loads into cloning and has to wait x seconds while his clone heals entirely, display progress bar and keep track of recent deaths and increase timer per death, allow player to buyout timer with UC Cloning status reference: https://gyazo.com/51ed01dbdd6583493dbe86c36f9f8929
Implement different levels of clone insurance
Player will be able to purchase different levels of insurance that will protect the player's items on death, some examples: 1. Lock the player loot for 1 minute, hackable 2. Lock the player loot for 5 minutes, hackable 3. Lock the player loot for 10 minutes, hackable 4. Lock the player loot for 5 minutes, non-hackable 5. Lock the player loot for 10 minutes, non-hackable Could possibly explore with more levels of insurance, protecting armor, inventory, weapons, etc..
Implement clone "lives"
Let's experiment with this, implement clones that the player can purchase, and will deplete with deaths, each clone will cost 200 UC, if it reaches 0 and the player has money, it will buy a new clone automatically, else if there's no UC left and 0 clones, the player will be permakilled (prepare cloud code to automate this and safely clean his data)
Character Customization Overhaul
Instead of placing the mesh components in the characters, we'll spawn visualization actors that will be attached to the character when equipping the weapon/equipment. This will allow more flexibility and customization with items, such as weapon attachments, etc.
Underlying Animation System
This system will provide the foundation for the emote system, by implementing an easy to use animation interface on which the emote system can safely play animations on the character (Think of fornite's emotes). It will mainly just use a function that allows an anim montage to be played alongside other parameters, such as not being able to move before montage is completed, allow movement, etc, can just pack all that into a struct. The anim will play on the client and then replicate to others using a multicast.
The emote system will allow linking emote commands to anim montages, could possibly have Start and End anims, or maybe let the montage sections handle this. The players will have a list of emotes, similar to pmod licenses, by using a struct to define all data. All emotes will use /commands such as /dance, /sit, but they'll also work off a radial menu to make them easier to use.
Implants that can be activated, which drain bioenergy.
Implants that don't take equipment slots or drain bioenergy, these last for x amount of deaths before having to slot new ones.
Add recycler/scrapper terminal
UI Reference: https://gyazo.com/e61ad3c70a5709817dd9dadc001af7ee Scrapper will break down production materials/produced items into their item requirements, it will give out a random amount and depending on how much requirements it has it will pick randomly between them. The scrapper will have a list of all PMODs and when the player places the item, it will search through the list and once it matches it's PMOD, it will spawn the item and gather it's requirements, then it will calculate how much it will give out depending on the item's durability/decay (if it's a produced item). The price will be calculated from the base production cost.
Players will have 2 new storages to complement their regular storage. Transfer Storage: This just holds pointers to the actual storage, items here will be "tagged" for transfer, once the player initiates a transfer, all items here will be moved to the destination. Temporary Storage: This is where players receive items transferred to them or rewards from contracts that couldn't make it to the regular storage and/or other sources such as market purchases, etc. Players can only retrieve items from this container and they'll auto delete after time (Container will poll on the server every min to see which items need to be deleted) Use GS messaging system for this, if the player is online and on the world where the transfer was sent, spawn the items and place em on the storage, else just add them to the storage data in GS.
Should be able to purchase more storage space, needs to get saved on the storage GS data and also update realtime in-game. Will use the new financials component to store the upgrade details (upgrade amount, purchase timestamp and expiring timestamp). There will be a 1min looping timer in the character financials that handles licenses and storage upgrades, upon expiring and if in the same world, reduce the amount of available storage space by the UpgradeAmount. Look for FoM functionality and UI references. https://gyazo.com/f9462e9b719b59158fb929d30b10a4a5 The upgrades should be saved individually on the storage data, the timestamp will be included and they'll expire in 1 in-game month (Around 7.5 IRL days), each purchase will expire individually, save similar to production licenses timestamps. Based on FOTD's prices, 500 additional spaces cost 4000 UC and it gets multiplied per each 500, so 1000 would be 8000 UC
Manager system refactoring
Reworking all manager classes to have them prepped up for factional income.
Add a production limit, similar to how the mining one works
Implement Production Licensing
Production Licenses will be saved in MRPlayerState and handled under PlayerStatsPayload for backend/persistence stuff.
Implement a transaction messaging template
Instead of just using the same messages when transferring UC, have templates so each condition has a different message, "You traded 2000 UC", "You bought x items for 1500 UC"
Revise how we're using the PMOD data tables
Go over it and make sure if it makes sense to keep it how it is now, double check the calculation price as well
Navigation system like in Neocron
Territory final battles
EVE reference: https://wiki.eveuniversity.org/Sovereignty
Need to refactor and add income to all manager classes, the fundamentals (profits & tax) are already included in the base class. Every 24 IG hours each manager will pay its profits to the owning faction and the world/territory owner will take a % cut out of that. Need to refactor manager costs to include base fees alongside the taxes and also not wipe most of the cost, should only lose around 10%-20% but to upkeep fees.
Current hacking system revision
Go over the hacking system's code, fix redundancies and improve it further. Add events that fire off depending on the hack state that affects the world (alarms, lights, etc). Maybe add difficulties? 4 digits = Low 6 digits = Medium 8 digits = Hard It would require overhauling how the widget is set up, but it's doable.
Contract system overhaul
Need to change the majority of this, make it more data driven and functional, also need to implement daily contracts that print money Contract Templates: https://docs.google.com/document/d/1iJyTH9RvT_H5DF7KFX9BmQuol8J2KsW5_ug3dLcstFs/edit?usp=sharing Star Citizen References: https://gyazo.com/a2dbb26858f4cb44fde5253c0f39921a https://gyazo.com/09bd08b47e8d68b71102a3ccc17b7cb3 https://gyazo.com/d259c61d2752267c61980f1f182bc325 https://gyazo.com/346ab1cfe41ba239e3fd78e8fa4d60e1
Re-implement old contract system for income
Let's keep the current contract system to have a way of earning income, add a few more contracts as well, remove the visit location ones and just use trash bag collecting
Finish adding all possible contracts to the data table
Event Messaging Overhaul
Implement more event messages
Need to go over a lot of in-game actions and implement event/log messages to them, such as not having ammo, using a public container that's being used, pretty much any action that would require giving the player feedback.
This should greatly improve the server's performance as it will split the world into grids, essentially spatial partitioning, but I still need to do a lot of research on how this works, there's already some code written but need to go over it and also implement the visualizer/debugger to see what is going on
Second authentication when entering a server to grab account role
0 = Banned player 1 = FACC player 2 = PACC player 3 = GM 4 = Dev 5 = God Instead of caching the role we'd want to grab it from the server when entering a game server to ensure it's updated and not spoofed.
Implemented a server-side MOTD
Refactored GS playerdata schema to include financials data and updated all accounts
Immediate Technical Priorities
Refactor the save/loading to only occur on the server
This will remove the issues of players outside the US region sending calls to GS and will likely reduce the chances of players losing their data.
Implement a method to prevent characters from staying in-game during a crash or unauthorized logouts.
Once a player quits the game, the GM logout should check if it was a valid logout, if not, it will start a timer for 10 secs to destroy the pawn & handle save game stuff. If a player logs in during those 10 seconds, during login it will check if there's a pawn with that name and ID, save it's data, destroy it, then load in the new pawn.
Implement a tick manager system that consolidates all tick functions, plus automatically throttling tick rates depending on the amount of instances
Instead of doing a custom movement system, which has somewhat the similar execution times as CMC, lets implement a tick manager that consolidates all ticking actors/components and manages their tick intervals dynamically, depending on a specific set of instances and throttle rate.
Acquired east coast server to host the game on, which will result in better ping for eastern players
Implemented a new character component that reroutes all service RPCs
This got rid of all clutter in inventory/storage components by chucking all service-related RPC reroutes there (mining, market, travel, production, etc). We will place all future service functionality here so we keep all the behavior encapsulated in this class.