of the game development industry - Pros and cons of being a game developer - What makes a team of game developers - The technologies around game development industry - Unity3D introduction and basics about the engine
For a period of 3.5 years By a team of 240 in-house staff and 1500 people all around the world Sold 6 million copies in 6 weeks The company made a net profit of aproximatelly 62.5 million USD in the financial period
developers Battlefield 1 is the most liked trailer on Youtube and Call of Duty: Infinite Warfare is the most disliked one, due to a lot of conflict between the fanbases
of ways to start learning about game development as a software developer The first question you should ask yourself is “Do I want to create an engine or a game?”
a software framework that handles the core mechanisms and joins all the core libraries allowing for the game logic to “slip” in easily in a predictable and well defined flow Usually engine programmers deal more with low level software architectures whose code handles graphics, physics, networking, sound and input as the main pillars of the engine.
to spend more time creating a game, instead of having to deal with low level problems, use an already established engine created by third parties The most well known engines that can be acquired from third parties are: - Unreal Engine - Unity3D - Cryengine
of Virtual Reality the creation of interactive applications that use 3D graphics has grown significantly Like IKEA’s virtual reality kitchen experience and production of movies
possibly the most portable game engine in the market, runs from a huge array of devices, from the smallest mobile devices to the most powerful consoles and computers - Allows to use C#, UnityScript (very similar to JavaScript) and C++ for native plugins - Has different business models, one of them is the free version - Supports the newest technologies, like VR and always tries to keep itself up to date - Huge friendly community
difficult to optimize - Some undocument libraries that have to be dug out by the community - Lack of some more fundamental tools used in AAA production
not your code, the way of interacting with Unity is by building components, Components inherit MonoBehaviour and define methods with reserved signatures that are called by the engine The common practice in Unity is to use Component composition in Game Objects, having simple components with less functionality allowing to divide the different logical concerns making components reusable in different Game Objects without the need to inherit functionality from other Components that are not needed
frame and as the name suggests it’s used to update the component FixedUpdate - commonly confused with Update this method is called every fixed framerate frame, it’s a callback to deal with physics data Start - called when a script is enabled before any update Awake - called when the component instance is loaded, always before Start
simply drag and drop assets from the project folders to the scene view Not all assets allow this, since they don’t have a proper representation as a scene object While others need to be dragged on top of other objects, like shaders for example
like Mario For this we can use Unity’s physics, we will attach a rigid body to our character, so we can make him move when we press some buttons and let him fall when not touching any surface
talked about Unity’s physics system, is this a game about a guy that crosses walls and scares people? No It’s true that we added a rigid body to our character, but that is not enough, we need to tell what our scene which objects the character should collide and how For that we need colliders!
still pretty boring, because our character can’t do anything else Then let’s make him move when we press some buttons For this we will need to use Unity’s input system and apply forces to our character
well This happens because when we move the character the camera doesn’t follow him So let’s just do like all those big internet companies and follow his life everywhere For this we will need to move the camera when the character moves
ways to interact with other objects, it all depends of what you want to do Let’s try to create a proximity sensor, when the character gets close to a place something else happens Colliders can help us on that