Development Update #17

Hello Citizens,

Apologies for the long wait, these past few months were quite intense, my game development job scaled its production cycle and I’ve been pouring a lot more hours into that, also went through a pretty bad burnout phase around October-November, while IRL things just crept ontop of all that, plus the stress of having to constantly keep the progress going in MR tilted me for a while, it’s generally the things you’d expect from taking on such a huge project like this, but fear not, all of that has been long gone for quite some time now. Apart from the previous, I took some time off to learn some new techniques and improve my development skills even further, which has helped a lot in bettering our core systems and make me a much more efficient developer, with that said, let’s continue with the dev blog!

Ceres first became inhabited by humans in 2083 and was one of the first targets of North Star Mining’s Belt Mining Program. Over the next 50 years, North Star expanded its facilities on the dwarf planet. This expansion reached its height in 2140 when nearly 250,000 workers lived, worked and died in the confines of Ceres’ three company run mining towns.

In 2144 as prison populations on Earth, particularly those catering to political criminals and violent offenders began to overflow and several high profile escapes of dissidents and murderers occurred the Terran Union began a radical plan for the long-term, profitable, housing of criminals. To this end, the Union government purchased the dwarf planet Ceres from North Star Mining. Closing the two smallest company towns the CPC turned ‘Ceres City’ into a mega-prison.

Ceres due to the use of indentured labor in most of its mining and industrial areas made a wonderful premade prison. Large populations of prisoners could be placed there and escape was nearly impossible. If a riot occurred all the Union needed to do was stop shipments of food to the prison and eventually the prisoners would starve or surrender. The infrastructure for resource extraction and industry at Ceres also meant that the prisoners could be used for something useful. To this day 40% of all Union Agency ammunition and protective gear are produced at Ceres.

The public area at Ceres is small consisting of the shuttle bay and a visiting area. Beyond the visiting area is the Prison that is divided into various secured zones for guards and unsecured zones for prisoners. This includes a series of guard towers, an automatic prisoner release area, and the mining and industrial areas. The guard towers are linked to each other by secure passageways and protected within the secure areas there is a wardens office and a small canteen.

Ceres is a world that produces pure nostalgia for us old FoM players, as it is heavily inspired by DeMorgan’s Castle yet very different for the better in a lot of aspects. It is a dark and unforgiving place that serves as a holding facility for perpetrators of the Terran Union whilst also providing an intelligent way for the government to extract invaluable resources. It is currently being outlined and developed by our level designer, Dementei. I felt like it would’ve been best to give him this task as having someone who didn’t play FoM build Ceres would bring a fresh perspective and provide a better experience, which it did.

Apart from the prison, mines, service tunnels and industrial area, players will be able to exit the compound through an airlock, which will lead them to the exterior portion of the world, allowing external exploration, for this you’ll need special gear to survive the vacuum as it will kill you quickly if exposed to it. This allows another way of breaking players out of the prison, which involves going to the exterior portion of the world and hacking the prison mine airlock doors, mounting a backdoor attack.

This method will require a bigger investment in tools and equipment to safely get the prisoners out through the vacuum, it will provide players an additional escape route, but it will be a lot riskier and expensive to pull off. Ceres is still in its early blockout phases, so there’s still a lot of work left to be done, from layout changes to art’ing empty areas, but it’s in a fully playable state now and I personally can’t wait to run around with the community and get swarmed with nostalgia.

Some screenshots of Ceres below, although at the end of the dev blog you’ll find tons more!

The UI system was scrapped and re-done using Unreal’s slate C++ framework, which is how the Unreal Editor UI was built, this framework is quite easily one of the most complicated aspects of Unreal Engine, it’s C++ but at the same time it’s not, to keep it simple, it uses a lot of pre-processor black magic (which throws off the auto-complete features of Visual Studio, essentially programming in the dark) and its syntax is extremely confusing at first, which took me around a month or two to fully grasp and utilize this system to it’s fullest, but I persevered and kept at it till it clicked.

The reason for switching was because the old UI system was too inefficient and hardcoded, every UI widget was an individual UMG blueprint, which means there was a lot of reused code and redundancy in all UI widgets. I wanted to build something that allowed me to define a base template or window UI, from which I could use and build other UI widgets inside of that, similar to FoM and other games.

The time spent learning and trying to write all the code necessary was completely worth it as it has made the UI a lot more efficient, I can create new UI widgets with ease and keep the same consistent behavior on all of them. Another cool thing is that all of the elements that you see are fully customizable as they all use a style sheet, which is a single point of reference from where it pulls all the colors, sizes, textures, etc, this allows me to tweak all UI widgets with a few clicks, allowing extreme flexibility and customization, the current style is a first pass and will likely change as we get a new 2d artist on the team.

Another cool fact, you could move the old UI widgets but only from a specific region (which was the left corner of the UI widget) and I had to write the movement code for EACH widget before, now all of them allow movement from any region of the window header and it works the same on every new UI window that I create.

This has been on the backlog for quite a bit, but finally, the time & date system has been implemented properly! The time & date system runs 24/7 in gamesparks using some cloud code that I wrote on one of their timed modules, which means the time still runs even when the game servers are offline and it’s extremely easy to change the time & date to whatever values and have it update without requiring a game update.

The game servers will pull the latest time from gamesparks and simulate it on their end, then replicate the time to the clients, it will also poll every few minutes to ensure the time is correct. It works pretty much as it did in FoM, running at 4x speed, this will be hooked onto many other systems in the game, such as the mailing, final battles, etc.

Special thanks to Marko & Chris, the OG FoM developers for sharing some insights on how the system worked over there so I could whip up my own solution.

Like with every other developer blog, a lot of code improvements and refactoring has been done on a lot of systems, mainly the legacy code from 2017. I’ve mentioned a lot of times in the past that this wasn’t originally going to be a full-fledged game, but mainly a small combat prototype to share with the FoM community, thus most of the core code was built towards that purpose, without that much thought into expanding it into a proper MMO game, mainly things such as the movement, weapons, consumables, etc. I would love to have a huge list of everything that has changed but sadly it’s just been too much to keep track of, let’s just say it’s been pretty successful and it will be a constant ongoing process.

The medical terminal has received a new service which is substance cleanse, this removes all active boosters from your character, this will be useful for canceling out boosters mid-fight or for players who duel a lot and have to wait for their boosters to run out. Might not seem too exciting, but I’m sure those who dueled a lot in FoM will enjoy this improvement as I’m sure you can recall having to wait that awkward minute waiting for your ana to finish before popping boosters and dueling, it’s likely that the price will scale with the number of boosters and the time left, but for now, it’s a static price.

Alongside the code improvements and refactoring, there’s been a lot of bug fixes and performance tweaks. The game performs a lot better and it crashes a lot less frequently now, plus the networking performance has improved massively and it’s still an ongoing process, there are still so many things left to optimize and improve, but for now I feel it’s miles ahead to what we had before. You can see in the image below how small the network traffic is when compared to other similar Unreal Engine games when they’re idle.

Even though I haven’t focused on the new character customization overhaul yet, we already have two new sets of armor to play with, these are the general/balanced light armor and medium armor, these are custom made for the game by Viktoriia, a contractor from Upwork that has been working with me on these new sets and many more to come.

Their texture maps have been built in a specific way that allows up to 3 different color customizations using color IDs, this will work as the initial prototype for the clothing/armor customization system that we’ll be using in the near future, which will allow players to customize the equipment they produce by slotting color mods during the production process to alter the visuals of the finished product. I know most of you have been dying to see this implemented as the character customization and aesthetics are lacking heavily.

This is something I will allocate around 2 to 3 months to work strictly just on character customization, which requires a lot of asset prep work and it’s a really tedious process of importing assets into Character Creator 3, skinning each individual asset to both male and female meshes, then importing them into Unreal Engine, then preparing the materials, naming conventions, organizing them into the correct folders and finally and setting the gameplay aspects of them, it’s something I’m really not looking forward to doing, but it must be done and it has to follow a specific and strict development pipeline to ensure all assets are consistent and easy to work with.

Please keep in mind that these are still a heavy work in progress, not the newest revisions and the colors like I mentioned in the previous paragraph, are fully tweakable so you’ll be able to color them however you want.

Let’s get serious now, I haven’t been too happy with how the game has been handled in regards to the marketing and public relations, let’s just way I’ve “blown my load” way too quickly and went too tryhard when the game didn’t have the content or momentum to support those pushes and I’m sure you guys can agree with this.

Too much effort has been put into this and it hasn’t really yielded the expected results, too much money invested into past events, which to be honest, it was a cool experience and I did get some contacts with publishers and people with connections, but most of these people only care about how much money they can make off the game and they don’t care about the community or what the game is truly about.

I found myself bored after the first day and enjoyed more the clubbing and partying after the event day was over, it’s likely that I’ll skip GDC/E3 this year to focus more on the game. Although I don’t regret doing those things, after all, I’ve learned so much from those trips, experiences, and mistakes, which in turn have made me into a better person and developer.

This year I will be taking a step back from tryhard’ing on the marketing/PR aspects and not focus on how the exterior perceives us. I’ve made the mistake of investing too much of my energy into attracting people from outside our circle, from YouTubers, publishers, and potential partners, when all that focus should’ve just been invested into the people we have already and the veteran players making their way back.

I have repeatedly mentioned that I am making this game because I want to play it myself with all of you guys and I shouldn’t divert from that vision until it’s been accomplished. If opportunities appear that doesn’t compromise the game’s vision, I’ll gladly take them but I won’t go out my way to make them happen as I did before. I’m not in this for the money, this is a passion project and something I’d love to play myself for many years to come, whatever money this game makes will just be invested back to make it even better.

Also, you might’ve have noticed how my behavior has shifted when it comes to community interactions, I’m way more open and less restricted to the bullshit front that other developers put in between them and the community. I’m always interacting with the community in the discord, talking shit, trolling and behaving like another player and doing things you won’t see other developers doing, while also keeping the level of respect and professionalism when needed. This is how I intend to behave with the community most of the times, as most of us have known each other for many years and played games together, just because I’m the developer doesn’t mean I have to act in a different way, I’m still the same troll, just a bit more mature, lol.

One thing you guys might’ve noticed is that there’s been a lack of content in the game for the past few months now, mainly due to me focusing my energy into improving the technical side of the game instead of just cranking out new content on top of a broken and buggy game. A mistake most similar indie titles do is that they focus entirely on content and the public perception and leave the fixing for last and this leads to quick burnout from players and a dumpster fire waiting to happen, as experienced from previous playtests and player feedback.

Players would rather play on something functional and smooth with barely any content than something with a lot of content that’s barely playable, it’s a lesson I learned the hard way throughout these past two years through trial and error and seeing a lot of videos of dumpster fire indie games getting demolished by big YouTubers. There have been tons of improvements, from quality of life, to a lot of bug fixes, networking, and improved server performance.

This will mean the game’s proposed roadmap will be delayed, but once we’re done with all the technical stuff, it will be pretty much a smooth path towards new content and you guys will be glad I focused on that, instead of just cranking out new content. Good thing is that I can afford to do that with MR as it’s just me doing all coding and not having a rigid launch date, budget, etc, I am going to ensure this game plays really well, barely crashes and that it barely lags, and we’re getting there at a steady pace, recent feedback from the development team and high command players has been extremely positive in this area and I will keep doing my best to ensure this just keeps improving at an exponential rate.

Fickey has developed an awesome tool on our website which essentially acts as a pretty wrapper around my personal trello board, this means you’ll have 24/7 access to whatever the game is being worked on, you’ll be able to see all current tasks, what’s already done and what’s planned for the future. It’s raw and dirty, but it’s a 100% transparent look at what’s going on with the game’s development, this will get cleaned up in the near future to offer a bit more insight, with lesser programmer/dev jargon and pretty pictures, so if you ever have a doubt with the game’s development or thinking “IS GAEM DED?”, you can refer to this or just simply jump into the discord and ask me personally.

You can view the development roadmap here!

I keep delaying the playtests, initially due to the build being broken for months due to critical game systems being refactored, but recently I’ve put in a lot of work to fix the development server and it’s been running 24/7 for weeks now without many issues, since there hasn’t been much new content, there’s really no point in hyping people up for a playtest as it will be exactly the same as before, lots of initial hype, players log in for a few hours and then they’ll stop playing and vanish for a few months.

Our first few playtests in 2017 were the most successful, since then participation has lowered significantly, both logging in and offering feedback, which nullifies the point of a playtest as there’s really not much data being gathered. The game is stable enough to allow all donators in, but I really want to implement a new movement system and tweak some additional things before allowing everyone as this will allow the game to gather more hype and reach bigger numbers when we actually need to test proper systems out.

Upcoming playtests will be TBA, could happen in a week or two or whenever I feel like opening the servers up, in short, when it’s ready :tm:, just stay tuned to discord updates!

Similar to the point above, since there hasn’t been much new content, there’s really no point in showing more gameplay, it will be literally the same thing, roaming around an empty map and fighting other players, we’ve already had enough of those videos, I’d rather let the hype slowly build with time and when we do launch a video, it will serve an actual purpose instead of just being another combat video with improved performance and better graphics, although I’ve been dying to get a new combat video in the new maps with a lot of people, so expect that to happen in the upcoming month or so.

You can look up the development boards to see what I’ll be working on for the upcoming months, my priority right now is to replace the current movement system with a custom, more lightweight one, as the current movement system (Character Movement Component, provided by Unreal Engine) is too heavy and its the main cause for not being able to push higher numbers in a single server, both for players and AI.

I did a lot of tests and found out that even if the network bandwidth is low, once there are around 20-40 instances of the Character Movement Component, be it AI or players, the server’s performance degrades heavily on the computational side as this component is very heavy (over 10,000 lines of code long), it reaches a point where the server performance gets bogged down too much that it stops sending updates to clients, once I disabled this component on the AI, I was able to spawn more than 100 and the server performance was the same, only the GPU suffered due too many dynamic shadows being cast.

A new custom, lightweight movement system will likely allow us to scale heavily and have a lot of players and AI in a single server, as we’re really not being held back by networking issues but mainly computational ones related to the server, I will take an additional step and create a multithreading manager that will place all instances of the movement component in a specific thread, outside of the game thread, which will improve the performance by a lot more as all movement will be handled in a different thread, allowing the game thread to handle everything else related to the game mechanics and not worry about the movement eating up resources.

I have a few more things I’d like to wrap up before moving onto content again, so please bear with me and be patient as I resolve these issues which will result in a better gameplay experience for all of us, I’m estimating a month or two, could go quicker, we’ll see.

I also have a personal goal this year to not burn myself out and put my wellbeing first, I will be definitively lowering the hours I put into this project when needed and not worry about meeting expectations, I made that mistake too many times in the past and in turn my health has suffered. I had an epiphany at the end of the year and proceeded to cut out a lot of things from my life, such as toxic people, anyone that doesn’t value my time or bring any benefits, bad habits and anything, in general, that doesn’t serve my goals and in turn, I’ve never felt so fulfilled and motivated with game development till now, this is gonna be an awesome year for Mankind Reborn.

Discuss here: THREAD LINK

Like what you see? Please consider pledging to the project here and receive exquisite rewards in return, as a little thank you!

Here’s some additional content that has been posted on the discord leak channel just in case you haven’t seen it, let’s start with the videos/GIFs first and then screenshots!

New Aurora outposts, this is the mining outpost located in the same spot as the previous iteration

Running around Union City sewers

New headshot FX, this video is a bit scuffed, skip to 5 secs to avoid the audio lag

Running around Union City

GIFs from Ceres and Union City

Random images from High Command playtest

Duel with Rian Felix in Union City, for some reason WordPress didn’t let me upload this video so I’m just linking the streamable

And finally, tons of Ceres images dumped below, again keep in mind these are work in progress and some areas are empty!