Game Engine

A game engine is a software framework designed for the creation and development of video games. Developers use them to create games for consoles, mobile devices and personal computers. The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, and a scene graph. Source: Wikipedia

From my experience at working Unity 5 project, I can say it is unlikely create a game like Battlefield 4 without game engine. Can you imagine how many hours, days, months or even years to develop code over and over again? We (video game developers) need a lot of code that simulates rain, walking, a car destroyed by train, enemies fire at FPS character, etc.

A good video game requires a large and multidisciplinary team (designers, software developer, team leader, etc.) and it takes years to develop. What I can say, I wouldn’t develop a small virtual reality application without Unity 5 and my workmate who is a designer.

I found a list where you can see the best game engines at this site.

Static variable

A static variable, also know as class variable, is any field declared with the static modifier; this tells the compiler that there is exactly one copy of this variable in existence, regardless of how many times the class has been instantiated.

So I have been using the static variable to pass a value between various scenes on my Unity 5 project.

using UnityEngine;
using System.Collections;

public class WaterReservoir {

	static public int resId = 0;

}

In that way, I can use (get or set) the value across the many scenes which is stored from the beginning.

    Bibliography:

  1. Oracle Java
  2. Christian H