Learning How To Create A Game With Unity

262

Despite the gloomy weather prevailing throughout Colombo on the 7th of September 2017, we found ourselves on the top floor of the Subway building. Before you ask, no we were not here to review the food. Well, at least, not yet. We were here for the September edition of Sri Lanka Unity Developers Meetup taking place at one of the 99X Technology halls. If you recall, the first Unity Meetup held in August 2017 was the stepping stone for game developers to understand the core mechanics of the Unity Engine and how to create better games.

The meetup began with the participants giving a brief introduction to themselves. The audience varied from those in game development, to people working with AI, to Android app developers to everyone in between. They all had one thing in common though. You could say they were in Unity, both in programming and in the meetup as well.

We learnt why Unity is used for mobile gaming

The first speaker for the day was Amalan Dhananjayan – ‎Software Engineer at IFS who created The Last Runner in Unity. He gave a brief introduction to himself, kicking off his presentation. When it comes to mobile games, there are several factors to take into account such as performance, compactness, and efficiency or power management of the game/app itself. He drew from life experience from how he developed his first game and how he used tips and tricks to increase the number of app downloads. He also began working with other runtimes, engines and programming languages.

Unity
Why use Unity for Mobile Gaming? Amalan explained.

From HAXE to Cocos 2D-X to LibGDX to a number of other examples, Amalan explained that before Unity, even if your programming engine has a good runtime performance and is open source, if it has a difficult learning curve and poor community response, you won’t get very far in developing your apps and games.

But if you take Unity, it is extremely popular and has quite a strong base and community along with an active forum. It also has its own development environment, excellent support for any questions you may have and also has a relatively short learning curve. Unity is supported a various number of platforms such as iOS, Android, Windows, Google Cardboard, Steam, Fedora etc. If you want to monetize your app, you can add Unity Ads and even has its own Analytics tool as well.

How to design fun video games 101

Next up we learnt how to design fun video games from our very own Mazin Hussain. What is a video game? A video game is a marriage between art and technology, he says. A great video game is also a fun video game. Mazin then spoke about the components of a fun game. These components would be balance of: gameplay, story,and visuals.

Unity
Mazin explaining how to design fun video games

Gameplay refers to the tasks the players in your game carry out. As a developer, your responsibility is to make sure that you make these tasks fun to do. Even if it is a task of preparing cup noodles, you have to make it fun. Another element to making a great video game fun, is to have a memorable story. He used the example of Metal Gear Solid, to showcase how the game has a captivating story that will envelope the player and sometimes even make them forget that they’re in a game. In the end, a great story gives the player a purpose.

Unity
Image Credits: Mazin Hussain

Creating a great story is challenging, especially if you’re an indie developer because you have no huge company to back up your finances. Thus, another approach to creating a great story is to let the players create it themselves. This is what games like Pokemon Go did, by giving the tools the players to create their own stories with the right gameplay mechanics. However, it’s important that these tools are constantly updated so that players can continue to create new stories.

The last component Mazin highlighted that makes a great game is visuals. Using the example of Cup Head and Minecraft, Mazin explained that stunning visuals aren’t always realistic. He then spoke of things that can prevent developers from creating great video games. The first was getting absorbed in utilizing the latest and greatest technologies. Take No Man’s Sky, for example. Here, you, the player could visit 18 quintillion (1.8×1019) planets. As staggering as that number is, it wasn’t a fun game because even if you did visit each planet, you had nothing interesting to do. Using technology that is even a generation or two older would be better if the game was fun to play (Counter Strike 1.6, for example).

Unity
Image Credits: Mazin Hussain

Controls are the next challenge. If you make your game controls complicated, then players will not enjoy the game. Lastly, but by no means the least, Bugs are a developer’s bane. They can ruin and good video games, even if you have a great story and visuals. Long story short, if your game is buggy, players will be deterred from playing it. In the end, a great game is a fun game.

How to create our own AAA Game?

Next up again was our very own human cannonball, Binura De Zoysa teaching us how to create our own Triple A game. He gave us a brief description of himself and jumped straight into his topic. He explained the types of Industrial games such as AAA titles and AAA+ games. Using an example of the Witcher 3, he explained the difference between AAA and AAA+. Binura added III to this. These are games that are developed by Independent game developers but have the same popularity and magnitude that a AAA title would.

Unity
Binura explaining what makes a Triple A title.

He too explained the components of a video game such as gameplay, graphics, a story and also, audio. Audio plays an important role, Binura says. He calls a combination of these elements as a Presentation. Using an example of Bioshock Infinite, Binura explained how the audio in the game creates an enthralling and immersive story.

How to create a game

The first step to creating a game, he says is inspiration. Once you’re inspired, you can conceptualize your inspiration and them begin to develop a prototype. You can try out the game mechanics in the simplest way possible and then begin to prototype it. From there, you can use tools and assets to help you develop your game. Once you have covered your tools and assets, you essentially have a working platform. You just have to assemble everything together.

Unity
An example of a game creation life cycle
Image Credits: XNA Game Developer Journal

Once assembled, you need to carry out level editing. This is where you have to work on the story, gameplay and controls.  The best games are the ones that are most enjoyable. This is where player testing comes into play: you play the game and see what others think of the game. This provides you with valuable feedback about bugs, improvement and suggestions to your game. This will all help with the final debugging stage.

Once all this is done, it’s time to publish the game and make sure that everyone gets the game. Once the game is released, the game developers work is still not done. They have to maintain the game and ensure that the game is bug free as much as possible. This is where updates come into play. These can bug fixes, or completely new downloadable content or season passes that extend the gameplay and add new storylines such as what CD Projekt Red did with Witcher 3.

How to create a AAA game in Sri Lanka

He then spoke about the same thing in relation to Sri Lanka. Here it is heavily commercialized, developers have no incentive, society can backfire, we have no time, we are also heavily into software piracy. How saw would it be to have your own app pirated in your own country?

In order to go AAA, we need to check our resources, if we don’t have a lot, we can go indie. We should build games, and not products, we can use existing technology. Most importantly, we should not try to reinvent the wheel. We should value our creative history. Don’t worry about your game conforming to social norms. Also, in the end, take your time.

How to distribute your app/game and monetize it

The last session for the day was from Bhagya Nirmaan Silva about app distribution and monetization. He spoke about two main topics: distribution and monetization. Books are one of the original experiences people started to sell and distribute. Then, with the introduction of the printing press, production multiplied and more people began to read. Books were purchased by libraries and publishers. Publishers made it easier to publish books and to monetize them. It helped with distribution of knowledge and experiences at scale. They also established stores, trade routes and found newer and better ways to package.

Unity
Bhagya explaning how to distribute and monetize your game/app

He went onto say, “You are a creator. What you build needs to be distributed in order for you to make a living and have the required funding do keep doing what you love.” In the early days of publishing you would build a prototype and then get consent from the publishers in order to publish it. If your product didn’t fit a target audience, you would have a very difficult time. Then came digital distribution. Tools and processes became more affordable, and publishers no longer have the ability to decide what gets published. That power goes to the creators and distributors.

He spoke about distribution mediums such as cartridges, floppy disks, CD-ROMs, DVD-ROMs, & Blu-Ray /HD-DVDs. From there, digital distribution came forth with digital downloads, online stores, app stores, bundles such as humble bundles, P2p sharing and even online play and streaming.

App stores are everywhere.

They can be mobile, console, desktop or even dead such as Symbian apps. When it comes to mobile app stores, there are over 3 Billion active Android and iOS devices combined with Android taking a lion’s share. The creators have a market size and a platform that never existed in human history. Thus, creators have to start thinking about large scale distribution from day one. It’s also difficult to monetize in very small niches due to lower price expectations. Products you download are also expected to work across borders, it has to be globally available and understandable and usable by all.

Unity
Image Credits: Appbuilderonline

A common mistake made is that the developers target a subset of individuals. They also place low emphasis on quality and have lack of funding. They also have poor legal knowledge and application. He then spoke about the steps of distribution. This involves processes such as build process review, quality assessment, usability and accessibility, packaging, creating a good customer relationship, making sure your app is compliant with legal aspects. You need to make sure that everyone gets the chance to experience what you created. You also need to monetize your application/game.

Monetization – the act of earning money from your app

This is a term used to describe the conversion of an object to money. He also spoke about the various forms of monetization. The first is where the user pays. The app can be free with ads, free with in app purchases, paid, paid with expansion packs, paid with in-app purchases, subscription and subscription with trials

Unity
Image Credits: Mobisoft Infotech

The second one is where someone else pays. Here, a game is done to promote a studio or creator. The studio gets acquired and they get paid or simply that you have to give it away because the license doesn’t allow paid distribution. For example, if you create a game using Unity but you can’t pay back Unity for the license so you give it away free. Lastly, sponsored monetization is where you develop a game or app for libraries, educational institutes or government institutes.

He then spoke about the steps needed to monetize your app. You would first need to define a strategy to which is specific towards your game. After you implement a plan for the strategy, the next step would be to optimize your model to improve in order to get the highest revenue that you can. In conclusion, Bhagya noted that app stores are here to stay and that pricing will continue to drop. Subscriptions too are here to stay. App stores will offer subscriptions to encourage consumers to use them.

With that, the September edition of the Unity Developers Meetup came to a close. If you are interested in attending these events and being a part of the Unity Developers community, you can get in touch with them via Facebook and Twitter. We hope to see you at the next meet up too.

LEAVE A REPLY

Please enter your comment!
Please enter your name here