Tuesday 13 September 2016

Game Idea Time Depend Tutorial

Most games have built-in tutorial system. It is extremely important to teach people playing your game.

Of course your game should have intuitive design, not 5 buttons pressed at same time or stuff like this, but anyway after a long break there is a problem with common games:

You forget everything but game thinks that you previously learnt all the stuff according to game progress and not displaying tutorial again.

Games like Risen all the time displaying help according to game situation. It is very cool, but harder.

What if save previous game session real world time. And after entering new session calculate time difference between current and previous session and according to  this information displaying game tutorial.

Sunday 31 July 2016

Why making games ?

I made fucking games since I was 11 and never asked myself WHY ? To spent time, to have fun, to escape from painfull reality, to make money ? And since the long way have been passed, lots of things have been changed and life turned you into ways never dreamed but dreams still far away from you and then you came to deeper conlusion WHY ? There is something inside you never accept - chaos, disorder, injustice, evil around you and evil inside other people. Simple answer was born - for well fighting evil. That's why I love games with story rather gameplay or graphics...For the light in darkness. That's our goal and we will bring the light til we can.

Wednesday 13 July 2016

Network theory of everything

Matter is well explained as lots of smallest particles, but there is no proved well explained theory of a field. String theory is thing that could really help with it but looks like a special case anyway. So I suddenly composed lot of experience in different science fields and came to Network theory. It is extremely clear and simple, but powerful at same time.

Main point:

Everything consists of smallest elements and connections. 

That's mean that our matter is a networks of lots of elements and connections. Smallest particles is a elements and connections and the most extreme thing - physics of our Universe is a elements and connection. I suppose that exist Universe with absolutely different physics according to topology of a network. Even more our Universe is connected with such different Universe or can be a sub-universe.

Main things that came from this theory:

- Everything is connected
- No random events, just hard reason events
- There is can be Universe where time travel or speed bigger than light is possible but we have no prove it is our Universe or not.
- Physics laws may change locally or globally, but obviously we can do it just for sub-networks. Our up-level network can change laws in our system.

Such theory guarantee that all laws is combined and exists more common law for each sub-Universe.

What is the element, connection and how this stored or looks like still not explained.


Tuesday 7 June 2016

Customizable construction toys

Thinking about C# and how it build I decided that it looks like LEGO constructor where you can compound things as you want but can't customize each block. Then it was obvious to make constructor like Java made with each customizable block. Such toy can be done from wood materials with stamp for making connections to each other.

Sunday 29 May 2016

Voice recognition

Many people when they use something at first try to say something to computer or even device. I mean How to open new file ? How to shoot ( when playing games ) ? How to change batteries ? And it is obvious to use voice recognition for such limited phrases and based on such input print help and hints  in game or even device. Can be done with neural networks or somehow.

Saturday 30 April 2016

Convert Code to Neural Networks

Neural Networks have lot of pluses ( and minuses of course ) but main of it ( as I think ) parallel computation. With power of modern GPU it can be delicious. What if create C++ code converter to neural networks. This task is not simple according to data limitations but possible.  Some methods can be converted and will improve your code speed. Such converter is easy to make with methods that take simple types like float, int, bool and return same type, for other it can be more complicated I guess.

Wednesday 27 April 2016

Playtest service

The most valuable feedback is seeing of first time playing your game. And it can be easily broken by giving people same game second time. They already know details so experiment will be not clear.

What if create service that help indie and not indie developers to test games ( or apps ) and receiving feedback by recording screen, webcam and input of player. Each person have an account in such service and balance like money for example you can upload your game and receive 5 feedbacks, If you rich that limit you cannot receive feedback anymore.

You can restore your balance by playing other developers games or paying money.  The most important is to record screen and input so such service can be build in Steam or Windows Live.

With such service you can test of first time playing many times instead of playtest group.

Tuesday 22 March 2016

Unity AAA game

Many people think that is not possible to create AAA game with Unity, so they choose Unreal or Cryengine.

But what defines AAA game - graphics quality, hardcore features - nope.

Probably first thing - money. If you have no budget you can forget about AAA.

Next thing - size. You can't create small mobile look AAA game. So does Unity restrict you to make big games - no. You can make as much levels and worlds as it possible. Next thing - atmosphere: if you have lame designers you can't do AAA things in Unity or Unreal or Cryengine at all and it is not a problem of engine - it is a problem of people. Next thing story - with high budget storywriters you can do magic and even not well done games can be hits: like Witcther 1 or modern Life is Strange.  Awesome music it is also the part of the game.

I'm not telling that Unity have no limitations. For example huge open worlds it is not what Unity doing well. For such games Cryengine is better for now. So with small limitation it is absolutely possible.

So why there is no AAA game on Unity. Because of lack of experience. Unity is easy to start game engine, so many beginners start to use it, doing shit and say that its a fail of engine. They disappoint and start other engines. Also they forget that time is passing and their skill is growing up. So they make their AAA game at age of 30 as it should be.

Wednesday 16 March 2016

Pure MVC with Unity

Many new Unity users asked but is very simple to make pure MVC:

1. Use only one Root object with Monobehaviour inheritance like start point of whole application
2. Inside this Root object process everything in custom Models that can or not be associated with some GameObjects in scene via Find
3. Access prefabs from Resources and keep everything in Resoure folder + Constants file
4. Separate Contoller like event base non-platform specific event system to process input.

Thats it.

But it makes a lot of troubles working with juniors and designers that want to contoll parameters from the editror not in text file. Solution is to mix MVC with the way Unity propose to code. Like make process code in models and associate it with some kind of data container that inheritance from Monobehaviour and placed on GameObject.

Monday 14 March 2016

Particles Tutorial Unity



Note: Advanced tutorial

Hello again. Today we are going to make this:


When I wanted to add nuclear explosion into Skyship Aurora i was thinking that i could find some really good examples on market or even free. I was surprised that i have not found anything that satisfied me. So I started experiments. First I tried to learn existent prefabs on market. It was fun because all existent nuclear explosion was not real world scaled, so I need to manually scale them for real world ( yes i know that there is available particle scaler script :) ). Second problem - they was extremely complicated, used a lot of sub particle emitters and invisible psys. So I just leave it and start from 0.

Ok by steps:
1. Separate complicated effect into smaller parts ( dust at the ground, stipe,  mushroom head )
2. Setup particles for each individual part ( circle psys for ground dust, simple up emitter for stipe and sphere emitter for head )
3. Have done effect when explosion is ready and mushroom head on the top.

 Tada.

 But this was the simplest part. The hardest part was explosion behaviour. I mean:

1. Big light
2. Dust on the ground
3. Fire ball rising up with a stipe
4. Fire ball turns into dust mushroom head

So I watched all the videos on you tube with nuclear explosions and also look in-game one like Call Of Duty Modern Warfare 4 ( my favourite ).

I start experiments and found out the the most simple way to make it - use animation and scripts, instead of hardcore Shuriken functionality.

1. Big light
It was easy - point light with well setuped lens flare that I took from Unity Free Lens Flares. And control it by animation, It is about 5 second duration of big light

2. Dust on the ground
 
Sounds easy but it was not in fact. I haven't found any way to make it with one psys so i made it with 2 Circle Edge emmiters with different start particle size. Also I setuped order layers to make it correct appearence and changed sorting mode to youngest first or oldest etc. Spawn most of them before big ligt over.

3. Fire ball rising up with a stipe.
Stipe - simple emmiter with up rising dust. Tune lifetime to contol height of the stipe.

Fireball is a sphere particle emmitter with random start color generation from red to yellow and small life time to make burning effect.

How to make it move together - make it via animation. Simply move fireball up according to stipe evolution

4. Fire ball turns into dust mushroom head.

The hardest thing of the effect.

Fireball was easy - sphere emmiter with random between two color generations adds burning effect well.

Dust of the mushroom head was a little bit harder -

 

As you can see moving of the head dust is quite interesting - starting at the top of the head move down via gravity and turn up later for different pressure reason. How to do it:

1. Make sphere emmitter and emmit from the edge with some start speed
2. Add gravity multiplier,
3. Add force over lifetime curve : adding positive Y( in the world ) force to the particle later

And of course I thought it be easy - I was wrong. What I think I will do - control start fireball random colors into sorts of grey. And what have I've got - I can't control random between two colors property with animation. 
Ok I thought lets do it via code, not again this properties is kinda private. Not a problem let's do it via reflection - no way. Common how you did it ? Editor have access, code no. The only way is to use serialized properties that part of the UnityEditor namespace that you can't use in stand alone builds

OK lets make some chunk.
Create separatly fireball and dust ball and somehow blend one into other. Use separate material and control alpha material colour through the script. Just increase dust alpha, and decrease fireball material alpha. When you will see only dest destroy fireball object.

Of course tuning of the effect took some time, 4 days in fact - blending time and colour transition.

5, Lighting of the particle

Lighting is our everything. When I made first prototype of the explosion I found lack of lighting and it was hard to fix it via standard resources i mean billboards can't be realistically lighted at all. So having experience in afterburn and FumeFx I tried to make everything with small spheres that have standard Unity 5 skyboxed lighted shader and fade out mode. Of course it give some 3D look and correct light but spheres looks to much like spheres and I make about 200 spheres and it was not enough, and by the way even with small spheres the looks not so good because just of local ligthing, no global. For global I need shadow casting that can be little bit too much for 200 spheres and such distance. So I leave that idea for a moment, but later I think I will back to it.

So what do we have - colour control to simulate lighting.
I mean after explosion rising up fire sphere create a lot of light that we need to simulate for making effect more real. It was easy I just control particle start colour of inner-outer dust circle to make them brighter or darker during life cycle.

Summary
This effect is kind of not physically but artist based controlled via animation and script. I thinks that it is possible to simulate such effect in much more physically base soft and use simulation data in game or render. With such realisation it can be even more realistic with couple of blast waves, that you can do with distortion shader here:
http://kostiantyn-dvornik.blogspot.com/2014/06/interesting-advanced-particle-tutorial.html

And add shock wave of dust after it. That's not so complicated so I leave it to you :)

Thanks for reading.


Saturday 27 February 2016

AI Koi fish behaviour

I was watching 3 Koi fish in aquarium for quite long time and found out that fish behavior is not simple.I was thinking before that fish have a smallest amount of neurons, so their behavior is pretty random. But thats not true with Koi. This behavior can be used in video games or simulations. Maybe some day i will made it with unity or you can use it for any underwater creatures.

So what parameters fish have:

sex - male and female
activity - passive, active
long time memory
mood
hungry

What they can do:

- Swim slowly ( maybe random I don't figured it out )
- Swim fast
- Sleep at bottom
- Eat
- Find food
- Find food on bottom
- Male follow female with high speed

How parameters affect actions:
male follow female periodically
active male follow female, passive not
passive swim slowly most
they remember the most often place of feeding and at time of big hungry swim to that place
if they have bad mood ( was damaged ) they swim slowly most
if they are not hungry they not looking for food
Sleep when its night time
Active are much bigger

This actions can be triggered by neural network or just randomly in simplified AI model.

Thursday 25 February 2016

Interesting procedural generation

Procedural generation is common thing in computer industry. Procedural terrains, procedural quests, procedural weapon. But one thing that have all procedural things - they are boring. Boring terrains, boring quests, boring weapon. And it obvious, because any procedural generation have Gaussian distribution law that boring too. They only way to make procedural things interesting apply some rules like generated fractals, cool terrains with erosion. But anyway they boring as boring rules. But why this world, this life is not so boring ( commonly ) because rules applied many times and they are very balanced, that not destroying whole system just modify it. I found it when make some Neural Network Animation. This rules in real life - Physics, they applied at any very small part of the world and affect big huge connected structures. Creating such rules is not easy stuff they should be balanced, so creating random things like weapon or room in dungeon crawler is a same work as premade prefabs. Balance :)

Monday 22 February 2016

Re-Thinking 3D

When I started 3D ( modeling, texturing ) etc. I thought that mesh makes the most visual impact. I was trying hard in ZBrush etc., when making rocks and stuff like this. Then make high detailded 3d terrains. But they was not so good. I leaved 3D later.

During making of Skyship Aurora we make sattelite based terrains and I found out that not detailed shape of heightmap is not a big problem. Seriousle the most important thing is texture because of lack of real lighting in the game we can use just use high detailed prebaked textures. I turned back to the laser scanned images and found out that time a lot of models now available at Sketchfab. I found this and understood that even grass can be look realistic withour actual grass just a texture:

Sunday 21 February 2016

Skyship Aurora Make it huge




One of the special thing about Skyship Aurora - huge size. I mean ship really big and terrain is huge, you fly at 7km altitude . Of course Unity is mostly madden for middle size games like FPS, racer games, 2d platformers. We don't want to scale down whole game like most people do when they making space games with actual not realistic size, multiplied by 0.01. In such scaled world people feel difference specially if game use real physics like Aurora do. Also camera perspective correction make toy effect. So just do it as is.

First big problem was terrain. Huge large scale terrain was a big performance problem of the game. We tried to use repeated built-in terrain to cover the ground, because at 7 km you see really a lot of the things. Anyway it adds about 400 draw calls that was not awesome, also it looks blurry and repeatedly. Solution was to use mesh terrains with a high detailed texture and global normal map. At least it was much more faster and not blurry.

Problem was there is no repeated terrain on the market to use, so combining them together looks with seems and wrong lighting. Also we don't understand how it should looks like ( scale ) at 7km, so result work was also unrealistic. The cool solution is to use real satellite images and heightmap data. We got understand that at 7km altitude visual look of terrain is much more depends on texture, but not the heightmap.

Second problem was a speed. It is about 1200km per/hour ship movement. Also ship was a real rigidbody that moved by adding force to it. Camera moved with the ship. We noticed some glitches and spent some time discovering what was wrong. Some code was not in FixedUpdate and also we used interpolations on some physics objects. So turn off interpolation because we can't synchronize time for different interpolated physics bodies, and move every things into FixedUpdate. At low speed you sometimes will never notice it.

Third problem that everything looks slowly. Yeahh we are at 1200km/h but looks like we stand at one point. The reason that the human eye have no object to determine actual speed. So if you want to game high speed movement feeling you should add small objects close to the camera. If you travel by the car and look at the highway you will feel the speed, but if you look at the sky you feel nothing, except dramatic universe hugeness :). We  fix it with particles added to the ship that moves to you with high speed.

Fourth problem is the gun positioning. At low distances you can shoot according to camera forward vector and hit the target. But at long distances you should correct your weapon according to distance to the object. So we raycasted to the target and position each gun individually ( we have a lot of them ) to hit the target.

Fifth problem was limit of  Unity world. I mean Unity use float to describe game coordinates, so with huge coordinate value you will get an error during render and at some point you can't move at all. So we make -80 km to 80 km movement about 20 minutes level fly. If we take bigger coordinate we will get warning.



Thursday 18 February 2016

Skyship Aurora Store Data Tutorial



Sources of custom PlayerPrefs and example how it to use you can DOWNLOAD here:
https://www.dropbox.com/s/2t1jwiwb1zjbl3d/StoringTutorial.zip?dl=0

Common problem of many games is storing data. Scores, health, screen resolution, huge world of Skyrim everything you need to store somewhere or somehow. Unity have buit-in cross platfrom thing called PlayerPrefs, Everything ok with them except they not working on Xbox and you could not save custom data types with them. Of course you can use System.IO for serializing custom classes into a file or upload them on server, but System.IO is not working on Windows Phone. If you dont want to make your code full of #if define symbols mess you need something universal. So what our needs:

1. Class that will store data
2. Able to save/load at any part of the code
3. Working on PC/Console/Webplayer/Mobile

So the only way is to write custom PlayerPrefs that can be serialized into various data structures like xml, binary etc.  Also we need a singleton witch we can access at any part of the code like StoreData.Instance.SetInt("MyInt", 10 ). We need to attach such singleton to a gameobject at very first scene of the game and mark them as DontDestroyOnLoad cuz loading new scene will destroy any gameobject and data associated with them. So at very first scene at Awake function we need to load data for example from Steam cloud ( but as for me I recommend to save data into a file and mark them synchronized with cloud in steamworks panel) , wait til everything will be loaded from xbox storage container etc, then prompt Press any key to continue. Process input and continue the game. At least everything platform related things  will be in one place, so you can control bugs easily and separate game logic from system things. It is a very good idea to separate everything from game logic like input, save/load, achievements etc.

Huge plus of such custom player prefs that you can fast rebuilt game that was madden on PlayerPrefs into you custom PlayerPrefs. I also not recommend to call your custom PlayerPrefs like GamePrefs or anything else with prefix Game cuz in the future you will use GameObject much more often then GamePrefs so you need to switch in class helper in Monodevelop or Visual Studio which not optimal.

One more thing that you will need to know about PlayerPrefs that on xbox you can't use binnary serializer but instead you will need a XML serialization, but keep in mind that xml is much bigger then binary data and saving can take time, BTW you can't save longer then 1 second at xbox otherwise you will not pass Microsoft certification. Often solution is to pack data into zip and serialize it, or completely redesign your game witch is not funny :D

Also if your game is quite big you need to separate configuration like resolution, music volume ( better into .ini file ) from saved world. But for Skyship we have only one save file and it is not so big.

Webplayer often was much more complicated for saving data cuz weplayer policiy deny saving any files on desktop. So the only 2 ways - saving everything on server or use playerprefs. For a small games player prefs is quite ok but for middle size game like Anoxemia or SkyshipAurora it will be not comfortable to use PlayerPrefs for saving everything. Solution is quite tricky:

1.Serialize custom PlayerPrefs into byte array
2. Convert byte array into base64 string
3. Save base64 data string into original PlayerPrefs like PlayerPrefs.SetString( "GameData", mBase64Str ).

Thats it. Ofcourse for big games like MMORPG you will need to store data on server with authorization and things like this.

Into this custom PlayerPrefs you can add custom types of data that you can serialize.

Sources of custom PlayerPrefs and example how it to use you can DOWNLOAD here:
https://www.dropbox.com/s/2t1jwiwb1zjbl3d/StoringTutorial.zip?dl=0



Saturday 13 February 2016

Unity unsupported multi-object editing

Some componets in Unity like Shuriken Particles or Terrain does not support multi-editing:


Solution is to switch to debug mode of Unity Editor


Then you will get a lot of internal information of script in Inspector. Like


You should not touch InstanceID or Local Identifier but you can change Tree Distance or Detail Object Distance and parameters will be changed on all multi-selected objects. Thats it. 

Particles system data will be looks like this:


Wednesday 10 February 2016

Skyship Aurora Unity Water Tutorial



DOWNLOAD complete project:
https://www.dropbox.com/s/0gdq68f9axi2f7l/LongDistanceWater.zip?dl=0

We gonna make water like this:



Now there is a lot of different waters for Unity. Some of them are very awesome and looks extremely real. But water is often suitable for first person human look and also sources and shaders are extremely complicated for modify and learning. For such game like Skyship Aurora we need not very complicated but fast water with reflection and waves. I've looked at existed solutions and found only HORIZON[ON]. Quite awesome thing for long distance rendering, but at same time quite complicated and hard to modifying.  Best of all works all together with built-in terrains rendering system. So  I've decided to make my own water again :). Once I've did it, so I have a vector to move on. Let's check previous water tutorial and modify it for long distance:

http://kostiantyn-dvornik.blogspot.com/2013/05/unity-worlds-coolest-tutorial-about.html

Warning:
Keep in mind that this solution works with deffered rendering legacy only. So please turn on this rendering method for your project.

First we need to remove all underwater things and leave only above water stuff, also we need to remove tranparent soft edge blending ( cuz we need to make as fast shader as possible ).

Let's take a look at our previous solution. We have polygon with water material applied, mirror reflection script that makes reflection texture and script that detects underwater and change shader lod that makes underwater effect. Everything else should be removed like this.



You can download start (cleanup) project Unity 5 here:
https://www.dropbox.com/s/ssu9l6ajdvm9u82/LongDistanceWaterStart.zip?dl=0

This small dot at huge cube is a human size

Shader looks like this:

Ok lets remove step by step things that we don't need. Because of water have no transparent effect lets remove grab pass that do transparent things of water and texture accoding to this

Before:
sampler2D _GrabTexture : register(s0);
sampler2D _BumpMap : register(s2);
sampler2D _ReflectionTex : register(s3);

sampler2D _CameraDepthTexture; // : register(s4);

After:
sampler2D _BumpMap;
sampler2D _ReflectionTex;

only 2 textures we need to make such long distance water. After remove everything that cause error when shader compiles.

You will get this small shader that makes water:

Shader "Dvornik/Long Distance Water" {
Properties {
 _SpecColor ("Specular Color", Color) = (0.5,0.5,0.5,1)
 _Shininess ("Shininess", Range (0.01, 1)) = 0.078125
 _Refraction ("Refraction", Range (0.00, 100.0)) = 1.0 
 _ReflectColor ("Reflection Color", Color) = (1,1,1,0.5)
 _DepthColor ("Depth Color", Color) = (1,1,1,0.5)
 _BumpReflectionStr ("_BumpReflectionStr", Range(0.00,1.00)) = 0.5
 _ReflectionTex ("_ReflectionTex", 2D) = "white" {}
 _BumpMap ("Normalmap", 2D) = "bump" {}
}

SubShader 
#pragma surface surf BlinnPhong
sampler2D _BumpMap;
float4 _ReflectColor;
struct Input {
void surf (Input IN, inout SurfaceOutput o) 
 float2 offset = o.Normal * _Refraction;
}


 Tags { "RenderType"="Opaque" }

CGPROGRAM

#pragma target 3.0

sampler2D _ReflectionTex;

float _Shininess;
float _Refraction;
float _BumpReflectionStr;

 float2 uv_MainTex;
 float2 uv_BumpMap;
 float3 worldRefl; 
 float4 screenPos;
 float3 viewDir;
 INTERNAL_DATA
};


 //Specular stuff
 o.Gloss = _SpecColor.a;
 o.Specular = _Shininess;

 //Normal stuff
 o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap - 33.0 * _Time.y ));
 o.Normal += UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap - 100.0 * _Time.y));
 o.Normal *= 0.5;

 IN.screenPos.xy = offset * IN.screenPos.z + IN.screenPos.xy; 

 float3 worldRefl = WorldReflectionVector(IN, o.Normal*half3(_BumpReflectionStr,_BumpReflectionStr,_BumpReflectionStr));
 worldRefl.y = -worldRefl.y;
 worldRefl.x = -worldRefl.x;

 half4 reflcol = tex2Dproj(_ReflectionTex, IN.screenPos);
 reflcol = reflcol * _ReflectColor;

 half4 resCol = reflcol; 

 o.Emission = resCol;
 o.Albedo = o.Emission;

ENDCG
}

FallBack "Reflective/Bumped Diffuse"
}


And result image will looks like this:


looks bad, but just because of settings. So lets continue our experiments. I tweaked a lot of parameters like wave speed and color like this:


Also I've found not so tilable texture that can be used in wave generation.

Result shader looks like this:

Shader "Dvornik/Long Distance Water" {
Properties {
 _SpecColor ("Specular Color", Color) = (0.5,0.5,0.5,1)
 _Shininess ("Shininess", Range (0.01, 1)) = 0.078125
 _Refraction ("Refraction", Range (0.00, 1.0)) = 0.02 
 _ReflectColor ("Reflection Color", Color) = (1,1,1,0.5) 
 _ReflectionTex ("_ReflectionTex", 2D) = "white" {}
 _BumpMap ("Normalmap", 2D) = "bump" {}
}

SubShader 


 Tags { "RenderType"="Opaque" }

CGPROGRAM

#pragma surface surf BlinnPhong

sampler2D _BumpMap;
sampler2D _ReflectionTex;

float4 _ReflectColor;
float _Shininess;
float _Refraction;
float _BumpReflectionStr;

struct Input {
 float2 uv_MainTex;
 float2 uv_BumpMap; 
 float4 screenPos;
 float3 viewDir;
 INTERNAL_DATA
};

void surf (Input IN, inout SurfaceOutput o) 

 //Specular stuff
 o.Gloss = _SpecColor.a;
 o.Specular = _Shininess;

 //Normal stuff
 o.Normal = UnpackNormal(tex2D(_BumpMap, 2.0 * IN.uv_BumpMap + 0.01 * _Time.y ));
 o.Normal += UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap - 0.01 * _Time.y));
 o.Normal *= 0.5;

  float2 offset = o.Normal * _Refraction;
 IN.screenPos.xy = offset * IN.screenPos.z + IN.screenPos.xy; 
  
 half4 reflcol = tex2Dproj(_ReflectionTex, IN.screenPos);
 reflcol = reflcol * _ReflectColor;

 half4 resCol = reflcol; 

 o.Emission = resCol;
 o.Albedo = o.Emission;

}
ENDCG
}

FallBack "Reflective/Bumped Diffuse"
}

And we got it:

Note:
In mirror reflection script you can tweak layers that will be render for reflection to minimize drawcalls and make your render faster.


Thursday 4 February 2016

Smart TV voice

Have no idea was it implemented or not. But when you say something - volume of TV become lover. Like you can discuss film.

Tuesday 19 January 2016

Post apocalyptic park

Imagine some huge territory destroyed by the war ( Donbass  region will fit for now ) that can be turned into park for fans of post apocalyptic atmosphere where you can hunt, survive and make cool movies with real decoration and feelings. Of course monetize it with tickets and stuff like that.

Thursday 7 January 2016

Human experiment

Imagine huge big room where molecules of food is spread in air. I mean meat or potation small molecules in gas state. It is interesting to know does human body like plants on long time will absorb this molecular through skin for feeding or not ?

Planet life

We all searching life on other planets and now we quite unsuccessful. But what if every planet have life from perspective of 4th dimension.  I mean in some period of Universe life every planet have it own life but at same time there is no other planet with life. Life on the exact planet can be only one solution of hard life function. But for robot civilization it is possible to have life for example on mars or moon. For humans or batteries or plants its sound unreal.

Game Idea: Underwater Fruits

Imagine worms that build underwater submarines from fruits like watermelon or melon and do some investigation finding alien insects

Game Idea: Crafting

Crafting in modern games absolutely not realistic. I mean it looks more like trading where resources needed to build something is money and blueprint is trader. Also there is no fun of real crafting where you can do something in may ways or replace one components with the other and have logical structure of what you doing like actual design do. The only way to really craft something inside game - circuit simulation algorithm where you can build some scheme and test in on your pc or coding. But of course it is much more complicated to make and may not be popular because of complexity. Probably it can be replaces with some kind of LEGO or PlusPlus idea where crafting is simplified  a lot for people.