Поиск по STEAMB

Игры по онлайну и скины по объёму продаж

Ничего не найдено

Попробуйте другое название или переключите категорию.

Меню

Dev-Blog #1: Building buidlings

1 / 1 · 100%

Greetings, this is David from the Bleakmill Team!

This is the first official Devblog for INDUSTRIA, our Steampunk shooter we are developing since 3 years now. Expect to see more of these throughout the upcoming weeks and months. We will share them on Steam as an update to the game as well as on our Discord channel. So lets get started shall we?

We recently did a live stream on our YouTube channel about this exact subject. If you want to rewatch it, you can do so here:

BUILDING BUIDLINGS

As you probably can imagine (INDUSTRIA is set in a steampunk city for those who dont know) we need alot of buildings to let the games urban environments really feel like a living, breathing city. If you believe it or not, since we started to do concepts for this game back in 2015, we went through three different approaches to make this happen.

See, the problem of buildings in video games, especially first- and third person-shooters, is their size and at the same time their level of detail. Textures have to be crisp when getting close to the buildings (reaaaally close in a FPS like INDUSTRIA) but at the same time, just using a texture that tiles will look bad, because the building would lack any unique weathering and dirt effects.

OVER THE YEARS

Our first approach back in 2016 was a modular system, but the texturing never saw the light of day. Check out this screenshot from literally 5 years ago, when INDUSTRIA was a third-person, Silent Hill-ish game with a completely different story:

1 / 1 · 100%

This screenshot is literally 5 years old now!

As the concept changed from a third- to a first-person perspective game, we once again changed the building system, since the old one was not made for players being that close to the geometry and textures:

1 / 1 · 100%

Without textures

1 / 1 · 100%

With textures (and where it gets problematic)

Back then we were really proud of this system. The process to produce it was a pain though. This was before the now industry standard texturing software Substance painter (basically used in every single AAA production nowadays) was a thing. Being a modular system consisting of manny single pieces, its textures had to be seamless wherever two, or even four pieces met. As I was texturing all this manuly in Photoshop CS6 back then, it was a huge task to create a unique textures for each piece that would be seamless in every possible combination. We scraped it once again (yes, scrapping weeks of work, welcome to game development).

That was when we decided to do something similar, a modular system, but with simpler pieces that would be textured in Unreal Engine 4 with a world-tiling material. This fixed the seam problem and we built the game as you know it with this new approach:

1 / 1 · 100%

Good variety in shapes, but as you can see, the textures are pretty boring

A solid system. But it was two weak points: performance and the lack of texture fidelity. See, in game engines, every single object has to be handled by your GPU. The more objects, the more work for your computer. We call these draw calls. Every material is an extra draw call. This means, a building in our city that consists of 50 objects could easily go over 100 draw calls. Just one building. Now imagine a whole city. But thats not where it stops, the worst part is, that it all looks kind of- boring. No unique weathering effects, always just tiling textures all over the buildings. We had to change the approach once again, as painful this process already was, and even if that would mean to redo alot levels...

THE SOLUTION

So what we needed was less draw calls (better performance) as well as beautiful looking buildings that look old and weathered. First, draw calls need to be reduced, so I built just one object, handled as just one draw call in engine. Secondly, textures would be made with Substance (the texturing software I talked about before). The Substance workflow is based on building a high detailed version of your object, in this case a complete building, and in a process called „normal baking“ transfer this high detail information onto the low detailed version of the building. It will look high detailed when light hits the surfaces, although the model is not at all this detailed, saving polygons and with that valuable performance. This is called „High to Low-poly (poly = polygon) baking“ and got established as a very common workflow in the games industry. The result, I believe, speaks for itself:

1 / 1 · 100%

Remember, this is just one model, copied three times! Imagine what we can do with a few different ones of them plus extra decoration like posters, street lamps etc.

1 / 1 · 100%

Even up close, we have high res detail

The buildings are now quicker to process for your GPU, they look more interesting and on top of that I can create as manny texture variants as I want really damn quick, a win-win-win. Here is the reference photo I used here and which I took on a trip to Prague:

1 / 1 · 100%

The reference photo I took in Prague, what a beautiful city

Prague has just absolutely beautiful buildings, as the patina on the plaster just comes up with amazing color tones. I will use the Prague reference photos I made as close reference for the cities look, so expect some Prague-ish steampunk city in the final game.

CONCLUSION

So what did we learned? Alot! Redoing systems like this numerous times is incredibly valuable, and I am sure even the solution is not the best way of tackling this. I looked at games like Dishonored 2 and its approach. Their buidlings are absolutely gorgeous, being huge and still having all that sweet dirt/weathering detail. From what I know, they use a mixture of a tiling base texture, and layered details on top. For a huge game like Dishonored, this means good flexibility when building dozens of levels. As we are just two guys designing and building the city, we have to find our own workflow, for a smaller game with less manpower and money behind.

I recommend to try things out and afterwards, not to be afraid of scrapping them, even if you worked x amount of time on it. Its all a big learning curve in the end. Yes, you have to call it a day at some point, but try to improve as long as you can, it will be worth it!

Thats it for this blog entry, thank you alot for reading and supporting this project!

Best wishes and stay healthy, David

Читать в Steam ↗

Комментарии 0

Гостевые никнеймы не подтверждают личность. Все комментарии проходят проверку владельцем сайта.

Обсуждение ещё не началось.

    Настройки cookies

    Вы можете изменить выбор в любой момент. Отказ от аналитики не ограничивает доступ к сайту.

    Технологии, провайдеры и сроки хранения