Tag Archives: development

18 Apr

Ogre Head Studio turns 3 !

OgreHead

Hello,

We are proud to announce that today mark’s the 3rd anniversary of our indie game company, Ogre Head Studio. We just wanted to thank you for all the support and help that everyone has showered upon us over the years.

We would also like to take the time out to mention the folks who helped over the years and for Asura!

- Samar Malik for his incredible contribution towards marketing and cinematic art.

- Jay Doshi for his animation skills.

- Santosh Kumar for his character rigs.

- Orange Byte Studios for their masterful craftsmanship with regards to SFX and Music.

- Nasscom Gaming Forum for their support towards the Indian game development scene.

- Indie Mega-booth Team for providing us with a platform to showcase the game to 1000′s of people around the globe.

- Special thanks to Anjet for his contribution towards localizing our game into Chinese, Zameer Baig for providing us with QA support and Tejas who is helping us with the English localization.

- Coconut Island Games for helping us with the China release.

Last but not the least, to everyone in the game dev community in India as well as across the world. We would not be where we are without your invaluable feedback, suggestions, and advice.

As you might or might not know, our goal for the studio has always been to redefine the Indian game industry by making Hack, Slash, and Everything Epic!

The world has its orcs and elves and High fantasy. However, we believe that it’s time to add some Rakshasa, Devas, Yaksha and Vanaras in the mix. That is exactly why we do what we do. We want to blend game-play with our own inspiration of Indian culture/myth and share it with the world.

20170418_170814

We have already started the invasion with Asura and the response has been humbling as well as amazing.

Three year’s ago when we started Ogre Head, most people were cynical and thought we would never get this far. Now other folk’s are joining us in the league and we hope more will. :)

Thank you!

Neeraj & Zain.
Team Ogre Head

 

 

04 Oct

Using Optimized Texture Atlas for Particle System in Unity!

header

The tutorial will be much more helpful if you already have a basic understanding of the Shuriken particle system / Native particle system of unity and is directed towards Intermediate unity users.

The particle effects in your game which adds a lot of polish can also increase the Draw calls resulting in spike or decrease in FPS. This usually occurs when you have multiple elements of same effects  visible in the gameplay camera.

particl

As an example, I made a spark particle effect for this tutorial. The particle was created using 5 particle elements and when used, it costs 4 draw calls. Now If I duplicate it multiple  times and simulate it all together in the game camera, it will cost 14 draw calls as shown below. This can be a huge problem and can impact the performance of your game especially when you have a ton of effects later in the development.

unoptimized

In order to curb this issue, we can always optimize the particles to help make sure that it is as efficient as possible. There are many guidelines on optimizing the particles and we recently started using Atlas for our textures in effects. This is a standard technique used in the game industry however while researching on this subject, we never found a good tutorial or concise document explaining the method and hence we thought why not share our technique!

I have used 4 different textures to make the below effect. It consists of a glow effect, sparkle effect, radial effect and a variant of sparkle effect. For the sparks flying, I just used stretched billboard with the glow texture. There are 5 elements used in order to create the particle but 4 materials hence when simulating it, it takes 4 draw calls!

elements

In order to use this technique, we need to create an atlas and for the same purpose, we can use any photo editing software. Since each of our textures are 128 x 128 resolution, we can compile all the 4 textures into 256×256 as shown below!

atlas

Once done with atlas we can go ahead and import it to unity and prepare the material. We will use Additive shader for this particular effect.

If you replace your particle effect with the atlas material, it will not look as intended. This is because you  need to point out the correct texture to each element of your particle system.

mess

We can select the correct texture in the atlas by using the texture sheet animation tab.

texturesheet

The texture tab in default setting looks like above. we need to change it according to our needs. We have 2 rows in our textures with 2 frames each in X and Y coordinates. We need to input the required coordinates, change the animation tab to Single sheet and turn off Random row. Then besides the Frame Of Time graph, you will see a drop down menu. Select the Constant option from the list.

constant

After making the above said changes,  the texture sheet should look like something as below.

texturesheetwithvalues

There are two options now available to us, Rows and Frames Over Time. Below I will explain what each does!

rowsandframes

Rows:This is the value which denotes which row you would like to select in your sheet. Every horizontal break in your texture sheet will be called as Row. They ascend from the top of the page to the bottom. rows

Frames over life a.k.a Frames: Frames are the respective image in your atlas. Since atlas is a compilation of all the textures, the frame number can be used to identify and select the desired texture from your sheet. Refer the image to understand how frame numbers are divided.

frames

After understanding the rows and frame settings, now we can select the desired texture from the sheet. Let’s have a look at our atlas below. If we want to pick a glow texture, then we would need to add Row:1 and Frame: 1. Using this mapping technique we can now start optimizing our entire particle system by selecting each element and replacing it with the corresponding texture in the atlas.

texturesheetanatomy

I went ahead and optimized all of the elements in the particle effects with the atlas texture and now we can see that the draw call has reduced to 1! No matter how many duplicates or instances I make of the same particle, the draw call is always 1. SUPER OPTIMIZED!

optimized

Using the atlas can a very powerful method when using with particle effects in your game. It can help maintain an optimal draw call and boost its performance. Making use of this technique can be very useful especially for mobile games where draw calls are a bane and can drastically impact the fps of your game.

Hope the tutorial helped you in understanding how to use Texture Atlas for your particle effects and may nothing stop you from creating that epic effects for your awesome game! :)

giphy

If you have any queries or if you were confused at any point when following the above process, please do let us know via the comments or email.

Cheers!

21 May

Game Dev Tip : Exporting with correct unit setup | 3DS Max to Unity !

box

Hello,

Ever pulled out your hair while figuring out why did your 3DSMax  model re-sized itself into a giant city destroying Kaiju when exporting into unity.

Well, It happens due to your Max scale setup being  not configured to proper settings. If you work in Max and if you have been facing such problems then worry not and let us explain how you can get it all sorted.

We personally  use meters as our base unit for level design and to measure all the assets which basically means every tile in the game is equal to 1 meter and the main character is 1.5 meter. Once this is laid out , we move on to building all the assets.

Now if you just directly go ahead in max , make a box mesh of 1 x 1 x 1 unit and export it, catastrophe will strike and you will be disappointed. This is because Max default unit is set to centimeters.

box

box2

Well, you can re-scale the exported box in unity  manually but then you will have to pull up a calculator to figure out the scale and when you work with many assets this simply becomes nigh-on impossible! Yo

Now lets fix this issue shall we!

1.) First thing we should fix is the unit setup. you can open the units setup tab by going over to Customize > Units setup in your 3DS Max tool bar.

units

2.) A tab will open up and under Display Unit Scale, choose Meters in Metric tab.

unit

3.) Now open up system unit setup by clicking the button and change 1 unit = 1.0 Meters. Press OK like a boss and we are ready to export our awesome box ! :)

metric

4.) Now we select the box and go to File > Export selected > Export and another huge export option tab will open up. Please don’t be scared and hide under the table. Just  go to units option in the tab > Turn off Automatic > Change units converted to = Meters and press OK…. again like a boss!

redbox

5.) Now lets head over to unity and import the box. Drag and drop the box mesh into the scene and create a cube in unity with 1 x 1 x 1 scale and viola! The scale from 3DS Max should have properly translated to Unity with the unit of the exported box and unity box being the same. This method should have fix the issue and you are good to go :D

back

This scaling issue used to haunt us for a long time but not any more.  It has been such a relief to just drag and drop models and assemble it . It all fits perfectly and speeds up the pipeline. Hope the tip has helped you and made your development pipeline that much better. If  the issue is fixed you deserve to dance like below, if not just let us know and we will dance after fixing together.

992d027ac6a12d8b60b3c20348b3425a

Everybody needs to dance after fixing stuff !

Happy developing epic stuff !

Peace.

 

 

For any queries please contact zain@ogrehead.com or support @ogrehead.com| Get Presskit here: http://ogrehead.com/press