From Game Idea to Product on the Marketplace

Dima Zangana
12 min readMay 26, 2021
Helicopter Prototype

Introduction

Hey there! This article is based on the previous live event that occurred on 19.05.2021. To watch the video, please follow the link below:

So, this article will try to explain everything from the video more in-depth and will hopefully also cover some parts that we missed as we began to go over the time we planned.

I would also like to mention, this is my first article ever and I hope you enjoy reading this.

In this article, you will learn about what it takes to go from just a Game Idea to actually get that idea to become a Prototype and then an actual Product on a Marketplace such as Huawei AppGallery.

Topics

  1. About Me
  2. From Game Idea to choosing the right tools
  3. Choosing the right platform for you
  4. How to manage visuals
  5. How to manage functionality
  6. How to polish, play, test and make your game ready for the market.
  7. How to manage marketplace assets, resources and requirements.

About Me

Dima and Luna staring at the sea.

My name’s Dima Zangana, I am a game developer that has been working with the Unity game engine for the last 10 years.

I currently work mostly with desktop-based games and working with the Steam platform where I have published two games.

I love playing games, as well as now making them, hopefully with you reading this coming from whatever background, you will hopefully find the passion I did for game development.

From Game Idea to choosing the right Tools

Unity 3D’s Logo

So, you’ve got that game idea in your head and want it to become a reality? You then need to decide how to make this possible.

It is in my opinion that with Unity in this day and time with the technologies it provides, I believe you can truly create almost anything. This can be achieved based on how much knowledge you have in the engine, how you put your skills to use, how you code to make sure everything is optimised and using the right technologies.

With technologies like DOTS what Unity recently released, this allows you to create massive scale worlds that meet MMO-like player bases such as World of Warcraft and actually having your game running smoothly, whereas before, this would be much harder to achieve without DOTS. https://unity.com/dots

Choosing your Game Engine / Tools

So, why did I choose Unity in my career? For me, it was simple. I felt that Unity has a massive community, they had lots of learning resources available and lots of other good places to allow you to develop yourself to become a Unity developer.

Also, the engine itself is very user friendly and full of ways to get you started no matter how new or experienced you are, there will always be resources designed for you.

I also studied Game Design and Development where I used Unity a lot and previously used JavaScript. My lecturers then pushed me to use C# which I eventually transitioned over to, now with me 100% using C# and not touching JS in years.

You find and choose what you are comfortable with. Work with what works for you. Be realistic and set goals that you feel you can achieve.

Choosing the Right Platform for You

Unity’s Build Settings showing some available platforms

Another important part of building your game idea and planning it is about which platform to use.

Are you intending it create a massive open-world game with high-quality content? Then maybe you shouldn’t choose Mobile and instead, go for PC or Console. You need to figure out what platform your game works on.

Maybe you’re not comfortable creating input for consoles? Or maybe it’s complicated scary going down the path trying to get a license to publish to the PlayStation store.

Be realistic and realise based on your prototype, what platform should you choose.

How to Manage Visuals

Example of Unity’s Asset Store

You might be a coder who doesn’t understand how to get 3D models or any other visual types of assets into your prototype. Don’t worry, these days many developers are creating content that is made for game developers like yourself.

Of course, it’s maybe not always best practice to use pre-made assets as some can be badly optimised. Check out the developer’s reputation, reviews and description to ensure that the asset works for you.

You may have chosen to make a mobile game and the developer’s asset only works with PC and Console with its expensive use of shaders and textures.

Yes, you most likely will be spending real money to get assets for yourself, game development can also be expensive, so plan your assets right that you intend to buy.

Here are some example links of where you can purchase assets for your prototype:

https://assetstore.unity.com/

https://www.turbosquid.com/

https://sketchfab.com/

How to Manage Functionality

Example of some code of a Player Controller

So, let’s assume you’ve downloaded a 3D model of a soldier called Jack:

  1. You’ve put Jack into your scene. He stands there in a T-pose doing nothing, even when you press Play.
  2. Of course, he’s going to stay and do nothing, we haven’t given him any functionality yet or animation.
  3. We need to create a new script and actually get him moving.
  4. You’ve now got him moving, but he doesn’t animate. Then research! Find some animations online or use the asset store once again, throw that search of ‘Soldier Animations’ or ‘Mocap’ and see what you find!

Maybe you can’t code yet? Use BOLT

Example of Unity’s Visual Scripting tool known as BOLT.

So, maybe you’re afraid to code yet or you prefer to see it visually in a graphical way and not through a scripting editor like Visual Studio? Then feel free to use BOLT, unity’s new visual-scripting tool.

This way, you can maybe even learn all the technical parts of Unity’s API with C# and one day transition over to actually writing it and already understanding what everything does.

Use what looks comfortable to you.

How to make your game ready for the Market

Example of Huawei AppGallery

The first step to making sure it runs well is simply by building your game and trying it on the designated platform that you chose. If possible, try to run it on several devices and see if any differences are ranging from low-end to high-end devices.

In the world of quality assurance, it is always essential to think about all your users and not assume that everyone has the latest Samsung, Huawei or iPhone device. Will the game run for low-end users as well?

Your customer base and reputation for the published game all depends on how optimised you made the game. Not just performance optimisation, but also some people might be after collecting stuff and earning achievements. So this is why it could be good to add collectables such as achievements or a leader board system.

You may make a good game, but are you using the distribution platform’s extra features such as the achievements mentioned, make use of what your distribution platform provides and take advantage of it. This will allow you to potentially get more customers and in general, get your game to have more purpose to it.

Huawei Cloud Debugging

Huawei Cloud Debugging

Regarding getting your game ready for the market and testing it, another example is Huawei’s Cloud Debugging tools, which is useful for developers that may lack funding to buy several devices to test your game on those devices that may be low-end or high-end.

The focus of Cloud Debugging is to allow you to test your .APK on our devices that are physically connected through a cloud. This way, saving you the hassle of having to go and buy yourself a physical phone.

Polish it first

You probably feel the game is ready and can now be published. Nope! You’ve now hit the stage where you need to polish it and potentially get other minds to even run through it if you work in a team.

You may have unoptimized code or you haven’t set the correct settings so that the mobile phone doesn’t keep rotating from portrait to landscape and so on.

It could be simple things or it could be very complicated things.

Maybe your APK size is too large because you have so many unused assets such as music files. If you publish your game as a massive game such as more than 1GB, you will lose a lot of potential customers. Keeping the APK as small as possible is always very beneficial.

https://www.youtube.com/watch?v=Fy0aCDmgnxg — Juice it or Lose it Example

Prototype to a Game

So, you’ve got your prototype to a stage where you feel like that you finally want it to become a game that you can actually now publish and call it a game rather than a prototype. Based on my helicopter prototype shown in the picture above, here is what I would do next to get it ready to be a game:

  1. Change the helicopter from a prototype model to a 3D model with animated chopper blades.
  2. Add crash and damage physics systems.
  3. Add audio, particles, wind systems, etc.
  4. Leaderboard systems for people to compete on multiplayer of who could land the fastest without crashing.
  5. More levels, a campaign based on rescuing people and voice acting.

That is what I would do for my next steps if I continued with this project.

Old Helicopter Landing prototype

Above is an example of one of my old prototypes that started from something just like this cartoon-like prototype I just showed you. This is what can be achieved from constant development and dedication to a project.

Also, bear in mind, this more high-quality looking prototype also worked for mobile because the way I created it, coded it, applied the shaders all would work and be optimised for mobile, you can create any game you want for whichever platform if you do it right and understand the limitations and barriers you may bump in to.

Test it many times!

This part is the most important part of developing a game and getting ready to publish it.

Test, test and test. Not just you, get friends or colleagues to test it. It’s almost certain that there are bugs. I have never heard of a bug-free game. Even AAA studios create awesome games that still have game-breaking bugs in them.

The key is to make your game as bug-free as possible. If you are making a physics-based game being an example, prepare yourself for the unpredictability it can throw at you.

As said before, test the game on multiple devices:

PC Game? Try it on several PCs that are low-end, or high end and also laptops vs desktops.

Mobile Game? Try it on several devices that are low-end, average and high-end. See how the resolution is affected on each.

Unity’s Profiler

Unity Technologie’s Profiler tool in-editor

In regards to testing, the Unity Profiler in my opinion is the most important tool in the Unity Editor for optimisation. You want to see the real data of what’s going on behind your visuals, code, etc.

Use it, don’t ignore it. It’s a very valuable tool that should be used frequently in my opinion.

Are you publishing it to a specific platform?

Maybe you want to publish it on Steam? — https://partner.steamgames.com/

Maybe you want to publish it on Huawei AppGallery? https://appgallery.huawei.com/#/Featured

Maybe you want to publish it on Google Play? https://play.google.com/console/about/

Maybe you want to publish it on Apple Store? https://developer.apple.com/app-store/submitting/

You choose where you think your game should be!

Huawei Unity Plugin

Huawei’s new Unity plugin just arrived which was created to save lots of development time, simplify the process of integration of games and applications to Huawei AppGallery.

Developed in a way that brings all the services that Huawei provides in a very beginner-friendly and very approachable package.

https://github.com/EvilMindDevs/hms-unity-plugin — Follow this link for more information and how to get started.

How to manage marketplace assets

Example of my Steam game, Dark Existence showing Libray Capsule Art dimensions

When publishing your game, you will need to decide about your marketing materials such as banners, videos, the dimensions of them and if they fit correctly on the intended distribution store you intend to publish to.

Each store may require different dimensions, so it may be wise to create everything in a resolution that can be scaled down without problems and so on.

Does your game require review agencies?

PEGI 18 age-rated logo.

Now, this is important. You need to be realistic about your game, think about your budget. Can you really afford to go down the route of sending your game off to agencies such as PEGI, etc? It’s not cheap.

The more violent your game gets, the more bloody or has sexual content, the more likely you will have to send your game off for reviewing otherwise you may see lawsuits somewhere down the line of when you have already published.

Think, do I really need to add this feature of blood splats when shooting an enemy as an example?

Do I really need to have this cinematic scene portraying sexual content?

Do I really need anything that considers me, an indie developer with a very low budget to have to add content to my game that requires me having to pay lots of reviewing agencies?

What to expect when publishing your first game

Here are some ideas from what I have learnt down the road.

  1. Don’t have high expectations.
  2. Keep excited and don’t let be down by anything, especially reviews, it’s a toxic world out there today, let’s realise that.
  3. Make sure you enjoyed the ride even if it doesn’t become commercially successful, you published a game! That’s the most important part, you did it, now use all that experience and knowledge again and make your second game, and do it better or join the company you’ve been aspiring to join.

The Psychology behind Game Development

This is some stuff that I have picked up also down the route of my career, this is very important in my opinion. I have a code that I follow as game development can be addictive and programming in general.

There are many ways to code specific systems and so on, and you may think your way is the best, but then you may find someone found a way to cut down your code by 100 lines and made it even more optimised. But then, someone else managed to find an even better way than that person, this is why it’s good to respect that there is always someone more experienced than you, and that is why I follow this code:

  1. No one is better than you.
  2. Accept that there is always someone who will be more experienced than you.
  3. When creating a system, there is no right or wrong way, there is only the better way, meaning, optimisation of that system.
  4. Be healthy. Keep that balance, do not burn out. It’s a dark world.

Some Tips

  1. You wrote some code, and you got it working? You now need to find a way to make it as optimised and neat as possible.
  2. Try not to repeat your code everywhere. Simplify it if possible.
  3. When I code, I prefer to try to give each function 1 responsibility. https://en.wikipedia.org/wiki/SOLID

https://www.youtube.com/watch?v=QDldZWvNK_E — SOLID Principles in Unity

Links:

Huawei Unity Plugin to get your game on Huawei AppGallery:

  1. https://github.com/EvilMindDevs/hms-unity-plugin
  2. https://medium.com/huawei-developers/quickly-integrate-hms-to-your-game-using-hms-unity-plugin-2-0-part-1-ef574c7f5cf4

Steam Unity Plugin to get your game on Valve’s Platform Steam

  1. https://assetstore.unity.com/packages/tools/integration/steamworks-v2-complete-190316 — Newest asset
  2. https://assetstore.unity.com/packages/tools/integration/steamworks-v1-complete-123784 — Version that was used in my personal project
  3. https://partner.steamgames.com/doc/sdk — If you are planning to do it yourself.

--

--