Game Development - Part 3 - Unity Asset Store

One important advantage Unity has over other game engines is the Unity Asset Store. The Asset Store is an excellent resource for developers with a huge variety of free and paid 3D models, sounds, and scripts available to include in your project.

After experimenting with Blender and researching some of the expensive commercial alternatives, it quickly became apparent that I would need help building the graphical assets for RoadBall Rally. Finding suitable assets for your project is a time consuming effort that will involve lots of experimentation. To keep my project clean, I created a separate test project that I would use to import and test assets. In the end I used a number of textures and materials from Yughues who offers a large number of popular and free material packs and I purchased the Simple Town environment from Synty Studios mostly for the car models.

Other packages I used were the Gamestrap UI GUI skin for the initial versions of the buttons and the Univeral Sound FX package from Imphenzia for some of the sound effects.

In my experience the texture and materials assets are a great resource for first time and indie game developers who may not have the technical or artistic ability to create their own graphical assets. I'm more reluctant to use the scripting assets in my project. In most cases it is easier to write the code myself then depend on 3rd party scripts. I also want to make sure I understand all the code in the project and that I'm not depending on 3rd party code that may be abandoned in the future.

Game Development - Part 2 - Unity and Git

After experimenting with Unity for a while I've finally built a simple game that I want to continue working on. Before I spent too much time on the game I wanted to make sure that I had a backup of the project. The options seemed to be to upgrade to Unity Pro and use the integrated version control, use GIT as an external version control system, or just backup to Dropbox as many small developers seem to do. I don't need Unity Pro at this point and I wanted to use a version control system instead of just a Dropbox backup so I choose Git and Bitbucket. 

Here are the steps I followed to add my existing Unity project to version control using Git and then push it to Bitbucket.

  1.  In Unity under Edit/Project Settings/Editor, I selected a Version Control mode of Visible Meta Files and an Asset Serialization mode of Force Text. I then saved and closed my project.
  2. I created a Bitbucket project and downloaded and installed SourceTree to use as a Git client. During install I skipped the 'Clone project' and 'Install SSH Key' steps.
  3.  In SourceTree, I selected Clone/New, Create new repository, and then set the destination path to the path of my existing Unity project.
  4. I setup my .gitignore under Repository/Repository Settings/Advanced using: and setup my name and email address under Tools/Options.
  5.  I used Repository/Add Remote to add my remote Bitbucket repository. I copied the URL from Bitbucket into the path field and added the name of the project.
  6. I then used Commit to commit my work and Push to push it to Bitbucket.
  7.  Finally, I checked Bitbucket to confirm my files were there and cloned the project on a different computer to make sure everything was working properly.

I have been working with Unity, Git, and Bitbucket for a few weeks without any problems. I'm not much of a fan of SourceTree and would probably just use the command line if I was developing on Linux. I'm using Windows and I find myself typing unix commands into the Windows command prompt whenever I try it so I will stick to SourceTree for now.

Game Development - Part 1 - Unity

In a previous post, I built a skeleton Android app that I intended to use as a starting point to develop a simple hacker trivia game as an Android coding exercise. After some research into the various game development engines and libraries my ambitions have grown and I’m now planning on developing a cross platform 3d game using Unity.

I looked quickly into AndEngineCitruslibgdx, and others but in the end I decided to choose between Unity and Unreal Engine. Both Unity and Unreal met my main requirements including cross platform support, excellent documentation, stores or marketplaces for purchasing assets, and a very strong likelihood that they will be actively developed and supported for years.

I started working with Unity first. Unity was easy to install and there are a lot of video tutorials on the Unity site and on YouTube. I went through the Space Shooter video tutorials and had a game up and running quickly. The biggest challenge seems to be learning to use the Unity development environment and learning the Unity game development concepts. The small amount of coding that was required was in written C# using MonoDevelop and easy to understand.

I liked Unity but I figured I should give the Unreal Engine a try. After signing up for an account, I installed the Epic Launcher. From the Epic Launcher I installed the Unreal Engine and then quit for the day. The next day when I tried to start the Epic Launcher I had to wait for it to update. After it updated there was another 4 gig update for a new version of the Unreal Engine. At this point I gave up and decided to browse the documentation for a while before spending any additional time in an endless update loop.

In the end, I chose Unity because it was easier to get started with and I prefer to code in C# in Unity over using Blueprints or coding in C++ in Unreal. I’m currently brainstorming ideas for my game and working through the Unity video tutorials. I will post a demo using the Unity Web Player as soon as I have something that is playable.

Switching from Unity to Cinnamon

I’ve been trying to stick with the default Unity desktop on Ubuntu 14.04 but the menu bars and scrollbars in Unity continue to frustrate me. I decided to give Cinnamon another try and I’m glad I made the change.

Installing Cinnamon takes just a few simple steps:

$ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
$ sudo apt-get update
$ sudo apt-get install cinnamon

After installing Cinnamon, log out of your session and choose Cinnamon instead of Unity when creating a new session.

In addition to the improved menu bars and scrolling, I’ve found that Cinnamon appears to be faster then Unity when opening and closing windows. I’m sticking with Cinnamon for now and I may even try Linux Mint the next time I need to create a VM.