Jump to content
MattScott

Dev Update for July 2020

Recommended Posts

Hi everyone,

 

It's been a while since my last update, and several members of the Fallen Earth community have asked for more frequent posts.

The team at Little Orbit is very busy with several high priority tasks right now, and my schedule is the worst out of everyone.

Unfortunately that means I can't commit to monthly updates right now, but I will do my best to post more often.

 

I do need to reiterate that out of the 3 projects going on in the studio, Fallen Earth is currently the lowest priority.

I expect that to change as we get closer to the end of September or early October. I know that's not a fun thing to hear, but I want to set expectations correctly.

 

Work on the project is continuing on a number of different fronts. In May, I laid out the short term road map of areas we are working on which includes finalizing terrain, getting characters up and running, and implementing basic movement. There is a good amount of work in progress on those items, but much of it is behind the scenes which means I don't have good visuals for them.

 

One of the biggest setbacks, is that we found a number of places in our conversion code that were mishandled because we didn't fully understand the proper logic needed. The conversion code is critical to all of the immediate areas we are working on, because it is responsible for migrating assets from the old Icarus proprietary format into modern day formats that can be used by Unity.

 

Simply put, the more we looked at objects that were moved across, the more we found they looked very odd. Some where see through in places they shouldn't be. Some where shiny in places they shouldn't be.

 

Here is a quick primer before I continue.

If you're not interested in the technical bits, feel free to jump down to the Texture map examples below.

 

Most games use a model that looks like this Shader->Material->3D Model.

  • Shaders define inputs and how lighting will get applied.
  • Materials define texture maps, colors, and other properties that are passed into the Shader they are linked to.
  • Texture maps can be Grayscale with 1 channel (black), RGB with 3 channels (Red, Green, Blue) of information or RGBA with 4 channels (Red, Green, Blue, Alpha).
  • And finally, all in-game 3D Models (Objects) have a Material assigned to them.

 

When Fallen Earth was created, they only had Fixed Function pipelines to work with. That means their Shaders were hard coded in C++. Nowadays Shaders are much more diverse. They can operate at the geometry level (Vertex Shaders) or they can operate at the pixel level (Pixel Shaders). And they are mostly written in High Level shader languages like HLSL. The original FE Shaders are split up and named for the lighting model they render such as:

  • Normal Tangent (or DotBump) = materials that will have a Normal map
  • Gloss = materials that will have reflections
  • Alpha Test = materials that will have sections that are see through

 

Fallen Earth also used an older set of Texture maps for all of its Materials. This system attempted to "cheat" the look of real lighting across an object.

  • Diffuse = all color for an object including lighting and shadowing
  • Normal = detailed pixel by pixel curvature data that gives low polygon surfaces much more detail
  • Specular = this is only a grayscale image that defines the specular reflectivity of the object
  • and a couple more

 

Today we use custom Shader Graphs or the more standardized Physics Based Rendering approach (https://en.wikipedia.org/wiki/Physically_based_rendering).

PBR attempts to model how light really works as opposed to cheating the look and feel. Unity offers two approaches to PBR: Specular or Metallic

 

Since Fallen Earth already had Specular texture maps, we chose the Specular implementation. This uses different texture maps such as:

  • Albedo = similar to Diffuse with all color for an object but without any shadowing or lighting
  • Normal = detailed pixel by pixel curvature data that gives low polygon surfaces much more detail
  • Occlusion = grayscale texture showing ambient shadows that would occur without specific lighting
  • Specular = RGB texture showing both the color that is reflected and the degree to which parts of the object absorb light or reflect
  • Smoothness = grayscale texture showing what parts of the object are rough versus glossy

 

image.png


 

Now back to our work and some examples.

 

We assumed the Fallen Earth Diffuse texture maps would have coloring in the RGB channels and alpha in the Alpha channel, because this is the default setup in PBR. However this is not the case in a majority of the Fallen Earth materials. In retrospect, this should have been more obvious to us as very few Materials require alpha or transparency. Most objects in the world of Fallen Earth aren't see through. So having empty Alpha channels everywhere would have been wasteful.

 

Instead, they used a "flags" field in each Material to let the system know what the Alpha channel data in the Diffuse texture map would be used for. We found that in nearly 80% of cases, the Specular grayscale data was embedded in the Alpha of the Diffuse texture map. So more recently we had to go back through all the imported texture maps and split out the Alpha channel into a separate image. This allows us to merge that channel into other texture maps to migrate everything properly depending on what that alpha channel actually contains.

 

I'm going to walk through samples of texture maps for the Heavy Assault Battle Suit (this is what it's called in the data - but necessarily what it is called in-game). It contains Phoenix Plate, pants, and boots.

 

For this part, I think it's handy to see the final product of what we imported into Unity to give you some reference on what you're looking at.

 

Look at the red heart painted on the left side of the chest. It will help you figure out what you're looking at later on.

In our previous attempts, all of the shiny areas on this model were transparent. I'm sure you can imagine how weird that looked.

 

image (5).png

 

Next, here is a shot to give you an example of what this suit looks like without any texture maps. Notice the lack of detail and how flat everything is.

image.png

 

Here are the texture maps.

 

Diffuse (with the Alpha removed): Notice the red painted heart on the right side.

That part of the texture appears to be mapped backwards to the chest so the heart shows up on the left side and not the right.

 

hvy_phoenixplate_bs.png

 

Diffuse Alpha which turned out to be the Specular texture map: White areas have the most shine while black areas are the most dull.

 

hvy_phoenixplate_bs_extra.png

 

Normal texture map: This looks a bit bizarre to most people, and it should. The Normal map isn't painted like the other maps. It's generated from high polygon versions of the same model. Someone very smart decided lower polygon objects could look much better if we mapped the curvature in X,Y,Z values from higher polygon objects on a per pixel level to the R,G,B channels of the Normal map. All the detail you see in that top image comes from this texture map.

 

hvy_phoenixplate_nm.png

 

 

As part of our conversion process, we alter the Diffuse to remove shadows and lighting (as much as possible) to create the Albedo texture map used by PBR.
We got lucky with the Diffuse texture map in this case, because it didn't have a lot of lighting or shadows painted in.

 

And finally here is an example of what the new Occlusion map looks like.

hvy_phoenixplate_occlusion.png

 

 

 

As we continued work on the Character System, we came across another recent problem.

 

Fallen Earth has a relatively complex clothing system, and we found that sometimes our new clothing or armor pieces would interpenetrate to show the body parts poking through. This was because we never imported a set of data on the body called "Selection Sets" (we call these Mat Ids today). This data splits up the body into 17 different pieces that can be shown or hidden depending what you're wearing. To fix this, we had to go back, correct the code to import the Selection Set data, then split the meshes up properly, and finally re-import everything back in.

 

Here are some examples of how the Selection Set data is used to show or hide bits of the body depending on what you are wearing.

 

The full Male body looks like this. NOTE: no custom skin color has been applied yet, so it's pure white right now.

image (4).png

 

And here is an outfit assembled from random pieces of clothing we imported (don't judge me for my fashion sense 🙂)

image (2).png

 

Here is what the body looks like using the Selection Set data if I hide the outfit.

You can see how areas covered by clothing are hidden so they work properly.

image (3).png

 

 

Lastly we also went back and captured some data that allows multiple pieces of equipment to be created from a single 3D model.

This part of the system uses the definition of equipment items and allows them to show or hide parts of the model to make it more unique.

 

As an example, here is the same Heavy Assault Battle Suit, but the pants, boots and gloves have been hidden to create a Jacket instead.

image (6).png

 

That's it for now. We're going to keep working through all the equipment, heads, hair, weapons and accessories so that we can reconstitute a character properly, and then we'll start work on the basic character movement.

 

Thanks,
Matt

  • Like 16
  • Thanks 4

Share this post


Link to post
Share on other sites

Not later than 5 hours ago I was switching through the forum and your twitter/facebook account thinking, damn, an update on the project would be nice. And here we are.

 

Thanks for you work Matt, that's awesome !

  • Like 3

Share this post


Link to post
Share on other sites

Seeing the textures next to the normal map with that flatness blew my mind,

1637242632_image(5).png.dffd2b11bd9b939a

image.png.f6c617bdac29c8a5870f521be42e99

 

Magic.

 

 

F.E Forever Evolving.

 

I'll wait for you.

  • Like 4

Share this post


Link to post
Share on other sites

Thanks for all this hard work, the community it's really excited about every update, so... keep working!!  I'll hope try it very soon!

  • Like 2

Share this post


Link to post
Share on other sites

Well, that's cool. I mean, really. We all here can just sit there and have faith, that one day FE will come back, as great, as it ever was.
Спасибо от Русского сообщества.

  • Like 2

Share this post


Link to post
Share on other sites

Keep up the good work. No left alone the Fallen Earth!

Share this post


Link to post
Share on other sites

Assuming that any of the original Icarus Code made sense, even to them, was your first mistake. Thanks for the update. Glad you haven't just abandoned her completly.

Share this post


Link to post
Share on other sites

Thank you for the work your team has put into the project so far, cant wait for the final product 🙂

Keep up! 

Share this post


Link to post
Share on other sites

thanks a lot for your effort and thanks for not abandoning it ! thank you Matt and everyone else who is working on it

btw Matt there no current option to log in to the old servers right ? if u could check out my dm please ill be very thankful ! 

Share this post


Link to post
Share on other sites

All the techie geeks I know love the update Matt.  There is a huge lack of good MMO's out now, everyone is always excited to hear an update about Fallen earth from you and yours.  Keep up the good work and stay safe.

Share this post


Link to post
Share on other sites

Thankyou for the update, Very excited to play Fallen Earth again. I will be waiting patiently ;)

Share this post


Link to post
Share on other sites

It might not seem like much but good to be given updates. Thanks for not throwing in the towel on a bunch of people who love a project. The new stuff so far looking great.

You guys shut down just as I was getting back into playing again. Play wise (sand box wise & crafting wise) please don't mess that up. Haven't seen systems as good as Fallen Earth since back in the Star Wars Galaxies days. 🙂 Grandpa will shut up about the old days now *grumbles about getting the kids off the lawn* 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Great news ,thanks to all who are working on this project and also thanks to everyone who have contributed in anyway to forum ,keeps it alive and ticking along

Share this post


Link to post
Share on other sites

Pretty neat update. I actually really started to wonder how spaghetti the old system was back when G1 was trying to do polygon reductions for really laggy areas and minor info was passed down about the reductions they were doing with newer tech. I hadnt even considered the polygon count for the actual characters and how many slots we were able to fill.

(It might be a nightmare to code, but I really miss having two different shoulder pads or gloves.)

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Thank you very much for update, keep up the good work :)

Share this post


Link to post
Share on other sites

Just curious to ask. but will there be a chance of going back to the old armor system in this engine. Were its one per each arm hand leg for gloves thigh upper/lower forearms and shoulders. I only ask becuase it seems you can work more freely in unity and what ever else this is i can do any sort of coding or modeling

  • Thanks 1

Share this post


Link to post
Share on other sites

a couple questions. will Haven and Embry have the design they were updated to, or will they be reverted back to their older one (miss my Haven apartment)? will there be combat pets as rumored for years (so i've heard) that never happened, and is it possible to have multi-passenger vehicles this time around?

i too miss the old armor system. it's the apocalypse, you're not always going to find a matching pair of shoes that have both in good shape. you're going to mix and match whatever you can find that doesn't look like swiss cheese that's been through the garbage disposal

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks for the update. FE was a great game with a great community.

 

Really miss the game. Looking forward to maybe camping lowbies in embry again some time in the future ;) 

 

Remember type /pvp for free chips, everyone.

Share this post


Link to post
Share on other sites
Posted (edited)

Welp, considering that due to all our requests, priority is to launch the project again first of all, ofc.

 

And, since it was a fall for few teams in the past, trying to add more content BEFORE releasing, the model is like that nowadays. First - release it, then - add more stuff.

 

So...yeah, mixed sets of gloves/shoulders/boots and so on is a thing obvi, and that "jacket" example shows how.

Edited by Creeping Vulture

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...