At the end of December 2020, I decided it would be a great time to build a little Game app that my 6 & 8 year old kids could play. The reasons for doing this are as follows:
- To get the kids involved on actively building something they can play on their devices, rather than passively consuming cartoons or other games
- Teach the kids how to build something from start to finish that other people can enjoy
- Help myself become a better coder by working on a project
- Eventually teach the kids about game design, 3d world creation, programming logic
- Test a new gaming business model
Reviewing some of the games they have installed on their Tablet and old phones along with asking them what would be good to build, they agreed that a 3D block world would be a great start.
Due to the intended age group, it was decided early on to use simple block characters with cartoon graphics, no gore or blood and try to avoid any ‘realistic’ violence. Cartoon figures swinging swords or typical shooting gameplay is up for discussion though.
Based off feedback from my son, he would like to see a city based landscape built where character have weapons like “claw fists”, bombs, machine guns and snipers. This sounds extreme but can be cartoonified and abstracted, like other games where instead of real weapons it is paint bullets or EMP electricity explosions.
My daughter’s feedback was a lot more imaginative, with a fantasy world being created where dragons are the either pets or boss opponents. This world spreads out across forest, dark lands, mountains and even stretches to space and alternate dimensions.
The initial premise, is to run around a 3D world where you can collect coins. These coins can these be used to buy new characters and power-ups. This concept is much like every other game in existence, however the key difference is into integrate with the Kin Ecosystem for coin management.
The development strategy taken, was to build an MVP, whilst learning how to code in Unity. To start building, we need a 3D world and characters, could be a stickman inside a room to begin with, as there are fundamental elements to create first such a player physics and initial game play rules.
Getting Started with Unity
A quick Google found that indie / small development teams typically build Unity & Unreal engine to get started. Unity is great for 2D or 3D mobile games, whereas Unreal is better suited for hardcore games like Fortnite.
Imphenzia has a load of great YouTube videos all about learning the basics of building with the Unity game engine, how to build 3D object and coding gameplay mechanics.
After many late nights and weekends on YouTube the game world finally began to take shape. A big benefit of building games in Unity is their Asset Store. You can quick get started plugging templates together for characters, 3d worlds, race cars, chat plugins to build a holistic game in a matter of weeks.
Using Imphenzia’s YouTube videos I was able to get basic 3D player gameplay motion working so I could run and jump around the map. His walkthroughs on using the Unity Editor, starting your project, placing 3D objects in your game then creating new gameplay via C# scripts are invaluable.
It was very slow going and ran into many bugs, sometimes taking hours to fix issues like “jump floating” and “uncontrollable spinning”. To avoid complete frustration I decided to get some help for specific tasks like building out Mobile gaming controls and complex game play.
For these setbacks it is good to invest in freelancing websites like Freelancer and Fiverr. This is where you can put your specific task online in a marketplace and people bid for the work. You can also find 5 star Unity Developers to help with your project. It’s always good to have a life line if you get stuck, however it is advisable to try to do most yourself to keep costs low.
It’s important to also save your work, so backup your project files regularly and potentially even create a Git repository to track versions. You never know when you’ll stuff something up and will need to fail back. In my experience there are always new bugs you are running into that will break your game, so you need to either fix forward or roll back quickly to keep development momentum.
Designing a Logo
Canva is a fantastic graphic design tool where you can create banners, logos and blog post headers. This is exactly where I went to create my logo. This took less than 30 minutes, crossing the themes of “colourful” and “3D”.
Prototype is Created, Time to Build Some Buzz
Now the initial gameplay was taking shape I could record a video on my Android phone and put it “out there” on the internet. The idea here is to start building awareness that this game is coming so that when the app drops we have some early adopters to provide some feedback on the game (outside of the ones in my own house).
Initial Testing & Feedback from my Little Beta Testers
Initial feedback was pretty constructive.
Breaking this down into actionable tasks, the quickly achievable and needed gameplay items would be changing your character (3), a tutorial mode of how to play (6), have buildings you can walk into (1) and picking and throwing objects (9). Rather than collecting randomly placed coins, doing little jobs (8) around the world to earn extra coins is a fascinating concept and will definitely be explored in future releases.
Integrating a Game Coin system
The Kin Ecosystem is a blockchain based coin that rewards projects based on their in-game / in-app coin usage, specifically via metrics of coin Earns, Spends and cross-app Transfers. Specifics around how to integrate with Unity are outlined in their Unity blog post series, however since 2019, their Unity SDK and Partner Status has changed so there are plenty of things missing and time needed to integrate correctly with your game.
For the coin system to work and sync with the Kin blockchain, a Node.JS server was needed to be created, that is called from the Android client app C# scripts. A Python web server with Django was also built at https://kinland.org
Apple IOS build has not yet been created, but is definitely on the roadmap. Luckily, Unity Editor takes care of a lot of the build process for Android and IOS so really it is just installing the necessary libraries and getting your build configuration right so you can build a playable mobile app.
Using Templates from the Unity Asset Store
There are so many Unity Assets out there to help you get your game started, with approximately 11000+ available ranging from $5 to $500. So it is up to you how much to spend.
Example Asset Pack template for 3D fox animals
More Canva Buzz for Social Media
Getting the Fundamental Features Right for Beta
It’s fine to build 3D players and worlds, however if the game play is boring you will have issues with user retention. The main thing for our Kinland Beta app is to have the fundamentals working 100%, character movement, object collisions, coin collection and character selection. After that, future development will be strictly based off user feedback, to avoid building things that people do not want and burning critical development time.
Publishing Beta App to the Google Play Store
Once you have the game working in Unity and you can build your APK app file for Android, you are then ready to publish it on the Google Play store!
Google Play Store App Feedback
Official beta feedback has been good so far:
- Huge potential for this one. Runs smoothly, looking forward to new/more features.
- Real Crypto Game . Easy And Happy.
The install base is geographically spread out across the world, with the leading users in USA, Netherlands, Canada & Philippines.
Kinland Beta 0.2 currently has 54 active testers, will be dropping Kinland Beta v0.8 soon.
Critical Household App Feedback
A game is never finished and my daughter has already provided the next action items. Will keep iterating the game over time.
Hope this post helps anyone out there get started with building. If you are keen on learning to code, teach the kids to code or enjoy just get stuck into learning new things, then building things on Unity is a great place to start!
Hope you all have a great 2021 !