Building Indie Games With Modern Tech
Events
Subscribe:  iCal  |  Google Calendar
7, Mar — 12, Jun
San Francisco US   19, May — 24, May
London GB   29, May — 1, Jun
Birmingham GB   1, Jun — 4, Jun
Taipei TW   5, Jun — 10, Jun
Latest comments
by testure
2 min ago

@alex if i had to guess, they just finished two back-to-back AAA games in the same franchise and some people are seeing it as a good time to transition without burning bridges? aka business as usual?

by serkan_buldan@yahoo.com
7 hours ago

Derjyn it is really hard to understand your motivation of commenting. I bought the material and it *highly* satisfied my needs. Also the seller is really helpful, I was'nt able to run it in 4.18 he fixed it in minutes. If you really want make something really productive create your material and than release an article here.

by Alex
8 hours ago

So uhh.. What's happening at Machine Games then?

Building Indie Games With Modern Tech
31 January, 2017
Interview
We were fortunate to talk with Leonid Klimenko, who talked about the way his tiny studio manages to build ambitious indie project I’m Titanium.

Introduction

My name is Leonid Klimenko. I’m a CG supervisor in a small independent studio by the name of SGS. It’s just 3 people: Alexander Konik, Yuriy Tsygankov and me. Apart from the script and design, I also work on VFX, build UI and create music/sounds. Alexander Konik is our C#, C++ guru, who works on scripts and builds network code. Yuriy Tsygankov is our 3D designer, who does models, builds animation. He’s very talented.

We’ve been working in games industry since 2014. So far we’ve managed to launch HeroReturns and GROOVY. Sometimes we also work on technical demos and upload some free content for Unreal Engine 4. Check our website for more cool products.

GROOVY

Right now we’re working on three 3D games, with one project nearing completion. It’s called ‘I’m Titanium’. It’s a twin-stick shooter. After we finished GROOVY we took a month off and I had some time to think about the possible topic. Space seemed to be the hottest trend, so we decided to move in this direction.

I’m Titanium is a pretty complex project, with a wide variety of elements – including base defense, ship upgrades, resource gathering. We’ve utilized the ‘wave mechanic’ here. To make the game work, we’ve been testing a lot. It was important to get the right balance and rhythm.

Our game contains a bunch of procedural elements, which we call ‘events’. They are generated randomly as the player progresses. For example, the use can cause the meteorite shower, enemy attacks, appearance of alien starships and huge bosses – Guardians of the Galaxy (not related in any way to the Marvel film). The game is full of various visual effects, contextual music and audio. We’re using Unreal Engine 4 as the basis of this project. It’s a multiplayer project with 5 player co-op. It’s a great couch co-op experience. Plays beautifully on a 4K screen.

Making A Game with Houdini

To create various visual effects in our game I tend to use Houdini software – and in particular one of its tools – Houdini Digital Assets (HDAs). Houdini is an awesome generator of fire, smoke, sparks and all the other things – it’s very useful. All I need to do is press a button to generate the fire pattern, choose a style and set the folder for the final image. It also works with animation loops. Again, just one click. Frankly, it’s almost magic! Incredible technology. This is what the future of game development is all about.

Getting to Know Procedural Tools

I started to play with CGI back in 2000. For almost ten years I’ve been studying tools, which help to model 3D, work with animation and textures. A computer is a great tool, which is capable of doing a lot of routine stuff, giving you time to spare. I didn’t find any poetry in these 3D tasks, until I met SideFX Houdini.

It all started in 2007. SideFX is actually giving a completely free Apprentice license, which was not limited by time, so I’ve downloaded it and started exploring. So after years of 3ds Max, I’ve finally moved into the amazing world of nodes. Houdini was a very surprising and unusual experience. It is super fast and the node management editor is easy to use. It’s really the best way to handle nodes.

Traditional modeling in 3ds Max

The other surprise was the total absence of additional plugins, which do become a burden in 3ds Max over a time. Houdini is a completely self-sufficient program, which gives you all the tools you might need. Although back in the day it was more of a VFX tool for films, I thought it might become a huge help in game production.

Traditional modeling in 3ds Max

I guess SideFX had the same kind of vision for Houdini and they’ve launched Houdini Engine and Houdini Indie. The development team made tremendous progress in building a reliable game production software. In 2017 Houdini is a perfect development environment for game developers, providing advanced tools in 3D modeling, UV unwrapping and animation. I’ve been using this software for 3D and 2D compositing since 2010 and I never looked back. It’s simply amazing.

The Role of Houdini in I’m Titanium

I’m Titanium

We use Houdini to create all the special effects: explosion sprites, lightning strikes, various nebulas and particles. With Houdini I’ve developed a special tool, which helps me generate destructible meteorites. I just enter the quantity of parts and export them into UE4. Then I use a special Blueprint which combines all those parts into a meteorite, like a puzzle. And you’ve got yourself a destructible object. It’s very flexible, you can enter the exact number of parts and each part has its own UV unwrapping. The final result looks perfect. So the 10-part meteorite takes me 10 seconds to make. And in the game we have 500 types of meteorites, some of which hold special resources for the player. We also use Houdini modeling tools to build all the starships, space stations and enemies.  

I’m Titanium

I always try to use procedural features of Houdini, without even clicking in viewport once. 100% procedural. It’s very useful especially if you want to add some modifications to the existing model to get a new look. No destructive geometry principle works great here. It’s like you’ve modeled an object in Max using only modifiers and all your actions (Extrusion, Bevel, Smooth, Divide) were recorded in these modifiers. It’s just magic!

Houdini for Gamedev

A lot of people still treat Houdini as a movie VFX tool. It’s great for simulating destruction, particles and all that stuff. It is a great tool to solve those problems. However, I’m certain Houdini is also a great tool for game asset production. To harness its full power you just need to understand what this software can provide.

Most designers think Houdini is some sort of a 3ds Max, Cinema 4D, Maya alternative. That’s a problem. You have to treat Houdini as a completely unique tool. Don’t rush it. In its essence, Houdini is a LEGO set, 3D-production Minecraft if you will. It’s a set of building blocks, with which you can build anything you want: be it spaceship or a simple chair.

You don’t need to just model stuff in Houdini. Your brain will definitely collapse, once you go over 100 nodes. That’s why I apply a different strategy here. To get the best results out of Houdini you have to use a Digital Assets mindset, thinking in a modular way. With this approach, you encapsulate the massive number of similar (or different) actions into one node, which helps to achieve the necessary result. This is the basic rule, which will help you to understand the incredible power of Houdini.

Animated GIF  - Find & Share on GIPHY

Animated GIF  - Find & Share on GIPHY

For example, when I model something I use a Digital Asset called 3 Step Extrude. The name pretty much sums up the function. Let’s say I have a cube, which requires me to compile 9 steps in extruding. The final result should be put into a group and two separate materials must be applied (one for the sides, one for the frontal polygons).

So to complete this task I require three nodes of 3 Step Extrude or 11 standard nodes like Poly Extrude, Groups, Materials. And that’s just the most obvious usage case. Imagine you’re working on a Hard Surface detail with 20 extrusion steps. Working in 3ds Max and similar programs you’re acting as a sculptor, looking at the draft and modifying it. You’re not worried about the number of actions you need to do to achieve the final result. With Houdini this approach just doesn’t work. People start to use Houdini when they want to achieve great results and cut down the production time. That’s why it’s so important to work on your own library of Digital Assets. My own library holds over 50 assets just for modeling alone. It’s a great help in my daily workflow.

With Houdini you can build completely different content starting with simple fire sprites and ending with huge 3D cities. With Metaball and Sculpt you can create soft organic forms, just like in Zbrush. Fractal and Mountain can help generate the landscape for your next game. L System can be used to build trees and vegetation. Copy could be used to place those trees around the landscape.The possibilities are endless. The great thing is that all digital assets could be used with game engines (UE4, Unity 5). This is what I call the next break in game production.

Houdini works with UE4. We experience no problems during import of objects or fbxс attributes Vertex Color, Normal. Skeletal animation work flawlessly. With UE4.14 you can export Alembic (.abc) files from Houdini with morphing animation.

Working With UE4

Unreal Engine 4 was a fresh addition to our workflow. We’ve started using it back in 2015, when it was still a paid product ($19 per month). I’ve been working with UDK for a while. I always liked the way it functioned: Kismet, particle editor, content manager, shader editor. Everything worked pretty well and had a lot in common with Houdini as it also relied on nodes. UE4 also provides an outstanding rendering technology. We kind of didn’t have much of a choice there, so we eagerly went with UE4. It was a wise choice. Our first commercial game Hero Returns was done with the help of Torque 2D. GROOVY was built with Unreal Engine 4 and we continue to use this technology.

While building our Unreal Engine projects we usually rely on Blueprints. I’d say 80% of our games is done with Blueprint scripts. 20% is С++ work by Alexander Konik. We have compiled our own big library of Blueprint scripts, which holds the wealth of various mechanics.

I like Unreal Engine 4 for its versatility. We’ve used it to build a Rolling Ball Arcade based on physics, and now we’re creating a twin-stick shooter with RPG elements. And we’re also building a platformer and a horror game. So you can literally create anything you want with UE4.

The Trouble with Building Action Games

There are some peculiarities of building games of a particular genre, and building action games can be pretty difficult. You need to figure out the right balance of difficulty. You need to make sure the user experience is fun, but also challenging. The player has to get that ‘last minute’ win, so the enemy AI can’t be too predictable or primitive. The world needs to be updated with random, unpredictable events. To achieve this you need to constantly test and polish your product.

I’m Titanium was more or less finished back in November of 2016. But I decided to give it some time, rework the economy of the game, make the whole project more challenging and more straightforward. To get that predictability factor out of the way. One publisher told me that our game feels a lot like a match3 project: you never know what’s waiting around the corner.

I’m Titanium is really like that. You can hold your base for five minutes or an hour. You can try exploring the world around you and be destroyed by an asteroid, or you can stay without fuel. Or you could get shot. There’s a lot of randomness here, so you need to have a reliable strategy, especially if you want to work in co-operation with someone.

In our work we use SVN software to control versions. Every release is supplied with a commentary. After a month of development we gather the full project at least once a week to see how it all plays. We usually play in the office, sometimes share the experience with our friends or our publisher. We’re constantly updating our project. Sometimes we add some particular feature into the project, being inspired by some recent games or general trends. I do a lot of research on Steam, trying to understand what games work and why are they popular. But with gameplay, there’s just no easy way of achieving your goals. You have to do thorough testing.

It’s nice that you don’t have to spend time building your own engine nowadays or spend thousand of dollars on software. Everything is pretty accessible and affordable right now. CryEngine, Unreal Engine, Unity – these are FREE engines. And you can download hundreds of free plugins, tools and textures. With 3D software you can always buy an affordable subscription. It’s never been easier to get into game industry, but it doesn’t mean you can sell garbage. No matter how much you charge, your customer expects a completed product.

We’ve been testing GROOVY for four months. I’ve personally launched it 400 times and finished the entire thing 20 times. And it seems to be going great – not a single complaint on technical issues. And it is still being sold on Steam!

I’m Titanium will be available in March 2017. We’re going to release it on Steam but we also want to launch a console version in June-July for Xbox One and PS4. Enjoy!

Interview conducted by Kirill Tokarev

Follow 80.lv on Facebook, Twitter and Instagram

Comments

Leave a Reply

2 Comments on "Building Indie Games With Modern Tech"

avatar
Leonid
Guest
Leonid

All what you need learn about procedural modeling with Houdini you may find here:
https://sidefx.com/tutorials/

Edoartworks
Guest
Edoartworks

Great interview and really good insight!
Q: Do you have any advise for a 3D modeler that wants to approach Houdini procedural modeling without feeling overwhelmed by all its other features? Can you suggest any website/tutorial/course/book in particular?

Thanks!

wpDiscuz