Getting Started with Game Development - Meet Unity

1 written in front

I am Xinhai, a novice who has just stepped into the game industry. I have always had a dream - to develop a fun game .

After answering questions from Zhihu netizens , I decided to learn from Unity first.

At the beginning of learning, I found that there are not many beginner-friendly tutorials on the Internet. Here, I want to organize a tutorial for beginners to learn Unity game development through my learning and recording, so as to help more friends who love game development getting Started.

Of course, due to the limited ability of the author, there will inevitably be omissions in this tutorial. Please point out a lot, and we will correct and learn together.

2 Why do we use Unity to develop mobile games?

2.1 What is the Unity development engine

Unity defines itself: the world's leading real-time creation platform. "

What is an engine?

We are all familiar with the engine of a car, which is the core component that drives the car forward. How fast a car can go depends fundamentally on how powerful its engine is.


car engine


car engine

So what is the meaning of the development engine in Unity's own definition? In simple terms, a development engine is a feature-rich software platform that allows creators to develop content quickly and efficiently. Unity was originally developed from a game engine. Below we mainly introduce the concept of a game engine.

Similar to the concept of a car engine, a game engine is a core component of game development. The engine allows you to develop the game without having to develop the lowest technology from 0. Based on an engine, a lot of work can be reduced, and even a simple game can be developed just by dragging and dropping some components.

With a car engine, you can design the function and appearance of the car based on the engine.
With a game engine, you don’t need to worry about developing those low-level general functions. The engine has already integrated a series of functions required for game development. You only need to develop your game visual and sound effects based on it. , gameplay, etc.

Specifically: the development engine is a framework for developers to develop content, integrating many key modules of development. You can import art resources (such as 3D models made by 3D modeling software (Maya, 3ds Max, etc.) or pictures made by Photoshop, etc.) into the engine, and then build these resources into scenes, add lighting, audio, special effects, physics and animation, then add interaction and logic by writing code, and finally debug, optimize, and publish to the target platform (such as PC, mobile terminal, game console, etc.).

After continuous evolution, today's game engine has developed into a complex system composed of multiple subsystems, from modeling, animation to light and shadow, particle effects, from physics system, collision detection to file management, network communication, and Professional visual editing tools and plug-ins cover almost all important links in the development process.

The game engine mainly has the following modules:

graphics

Modern game engines can provide very powerful graphics and can greatly improve development efficiency; materials can be imported from different art software so that you don't have to spend a lot of time on each import.


Very realistic scene realized with Unity

Very realistic scene realized with Unity

For most games, the game engine can provide a comprehensive high-performance rendering architecture and provide a deeply optimized graphics API, so it can provide very powerful visual effects for the game.

audio

You can choose to design the sound in the game from scratch, from background music, sound effects, dubbing, to post-processing. You can also choose to purchase audio assets from specialized asset platforms such as the Unity Asset Store. In the engine, these resources can be combined and mixed in many ways.

The game engine can help you integrate audio into the game, and you can also use third-party plug-ins to make the sound performance better. You can focus on the combination of sounds, the right place and time for the sound in the game scene, the right way to trigger it, etc.

network

Many players like to connect with friends through the game, and also meet new friends in the game. Online games require complex network programming, which will bring a lot of complicated workflow and workload. Fortunately, many game engines have complete workflows for network communication and multiplayer.

physics

The physics system in the game engine can provide a physical simulation for the virtual world. You don't need to write code to simulate physical effects, you don't need to deal with each object in the scene individually, and you don't need to write code to handle collisions between objects. Game engines allow you to simulate the real physical world with drag and drop or with just a few lines of code.

Graphical User Interface (GUI)

Most games have their own unique interface, such as the main interface, player guidance, plot, etc. Almost all game engines provide developers with tools for building user interfaces. UI tools can compose, layout different UI elements and handle their interaction.

code/script

At the heart of a game is the code, sometimes called the script. You can customize game logic through scripts. In addition, with the help of built-in common scripts (provided by some game engines), you can easily implement scene roaming, camera control, animation, interface, etc. without writing code yourself.

Unity's own definition

Back to the definition Unity gave itself: the world's leading real -time creation platform

*World leader : According to McKinsey statistics, Unity's global share in the game engine market accounts for more than 45%, while the closest competitor only has 17%, so the world's top is worthy of the name. In tomorrow's article, we will also explore the prospects of Unity in depth.


Game engine market share statistics from McKinsey report


Game engine market share statistics from McKinsey report

Real-time creation platform : When Unity was first born, it was a cross-platform 3D game engine. It saw the opportunity of multi-platform, pioneered the core function of one-time development and multi-platform release, and rose rapidly. In the beginning, his name was still based on Unity3d. Later, when the 2D functions were enriched, he was called Unity directly. In recent years, the hot VR and AR development is largely based on 3D technology, so Unity has a natural advantage. In addition, Unity keeps up with the trend of technology, and its support in the field of VR and AR is very advanced. Many VR/AR software and hardware manufacturers at home and abroad have supported the Unity engine for the first time. In addition, as the functions of Unity become more and more powerful, some real-time rendering of movies and TV shows can be done in Unity, and the final effect can be seen in real time without waiting for a long rendering time, which has achieved very good results. Therefore, Unity is already a powerful real-time creation platform.

2.2 The birth and development of Unity

insert image description here
Unity3D is a multi-platform comprehensive game development tool developed by Unity Technologies that allows players to easily create interactive content such as 3D games, architectural visualization, and real-time 3D animation. It is a fully integrated professional game engine .

Unity was born in Amsterdam, Denmark in 2004.

In 2005, headquartered in San Francisco, USA, and released Unity 1.0 version. At first it can only be applied to the MAC platform, mainly for the development of WEB projects and VR (virtual reality).

At that time, it was unremarkable. It was not until the Windows version was launched in 2008, and it began to support iOS and Wii , that it gradually stood out from many game engines and became very popular following the trend of mobile games.

In 2009, the number of registrations of Unity had reached 35,000, making it one of the top five game engines in 2009.

In 2010, Unity began to support Android and continued to spread its influence. It began to support PS3 and XBOX360 in 2011, which can be regarded as the completion of the construction of the whole platform.

Its editor can run on Windows, Linux (currently only supports Ubuntu and Centos distributions), Mac OS X, and can publish games to Windows, Mac, Wii, iPhone, WebGL (requires HTML5), Windows phone 8 and Android platforms. You can also use the Unity web player plug-in to publish web games, which support Mac and Windows web browsing.

Such a cross-platform capability is hard to be picky, especially supporting the most popular Web, iOS and Android. According to the foreign media "Game Developers" survey, Unity is the most widely used mobile game engine by developers, and 53.1% of developers are using it. At the same time, in the survey of which function is the most important in the game engine, "fast development time "Ranked first, many Unity users think this tool is easy to learn and use, and can basically master its functions within a month. As of 2016, the number of registrations for this engine has exploded to 800,000, and mobile games support almost half of Unity's profits.

2.3 What Unity can do

Now that you know what Unity is, what can you do with Unity?
With Unity, you can develop: 2D/3D games, 2D/3D applications, VR, AR, even mobile apps, web front-ends, real-time rendering of movies...

2D/3D games are the foundation of Unity, and VR and AR are also the official direction of Unity. But what the hell are apps and web pages? In fact, based on Unity's powerful cross-platform features, many developers will choose Unity as the engine in App and web design and development after learning Unity. Many developers are deeply obsessed with Unity's development efficiency. For a project and project team, the choice of technical route is the best.

At present, many film companies use Unity to produce movies and animations. This also shows that Unity occupies a leading position in terms of functions, ease of use, and rendering effects.

Kerbal Space Program (2011)
insert image description here

Tricky Pig (2012)
insert image description here
Temple Run 2 (2012)

insert image description here

New Legend of Sword and Fairy Online (2013)

insert image description here
Hearthstone: Heroes of Warcraft (2013)
insert image description here
Monument Valley (2014)
insert image description here
King of Glory (2014)
insert image description here

3 write at the end

Seeing that these well-known games are all developed by Unity, are you also moved? Next, we will use this engine to learn game development and become a game developer.

Summarize

Today we mainly introduced the game engine and the Unity engine. I hope you can master the following three points:

  • The game engine is a framework for game development, which integrates multiple key development modules, which can greatly reduce the development workload.

  • Unity is the world's leading content creation engine.

  • Unity can develop: 2D/3D games, 2D/3D applications, VR, AR, even mobile apps, web front-ends, real-time rendering of movies.

Guess you like

Origin blog.csdn.net/Gnewocean/article/details/101112038