Kickstarter and Game Development: Highlighting Games Coming to Linux Part 5

Throughout this series we have discussed a few of the upcoming games for Linux, which have been funded in part or in whole, via the crowd sourcing website Kickstarter. In the previous articles, we spoke with various developers about their experience with both the Kickstarter initiative and supporting Linux. The one thing that most of those game studios have in common is that they have based their games on the Unity 3D game engine.

Water sample created with Unity 4, the latest release from Unity Technologies

Today,  we give the game developers a little break and instead I thought we should talk a little more in depth about Unity 3d. With Ubuntu’s parent company Canonical getting fully behind Unity 3D support on their platform, a more detailed look into Unity 3D seemed to fit quite nicely with the whole idea of game development and Linux support. To that end, I have contacted Unity’s David Helgason to get the answers to some of the less obvious questions. But, before we get to that, let’s cover what Unity 3D is, its history, and what has made it an appealing choice to developers.

Unity is made up of a couple of basic segments, the Engine and the game development environment. The core pieces of Unity work together to create a vertical game publishing experience. While the standard edition can deploy to a variety of platforms from the get-go, there are many ‘add-ons’ which can be purchased that allow developers to easily deploy their product across additional platforms. At the time of writing, Unity 4 supports the following platforms: Linux, Android, Windows, Windows RT, Windows Phone, Unity Web Player, Mac, iOS, Xbox 360,  Nintendo Wii, Nintendo Wii U, and the PlayStation 3.

The company behind Unity 3D, Unity Technologies calls their product:

…An intuitive and flexible development platform used to make wildly creative and intelligently interactive 3D and 2D content. The “author once, deploy everywhere” capability ensures developers can publish to all of the most popular platforms. Unity Technologies boasts a thriving community of nearly 1.5 million registered developers including large publishers, indie studios, students and hobbyists. Unity Technologies aggressively re-invests in its award-winning 3D development tools and democratization initiatives, such as the Asset Store digital content marketplace and Union game distribution service, in order to remain at the forefront of innovation.

What is interesting is that developers seem to echo the press-friendly description provided by Unity Technologies. Photon Productions, who is using Unity to develop their upcoming game Forsaken Fortress, describes Unity this way:

Unity is a fast emerging technology. It suits a small studio like us because it is relatively easy to use and learn and it has a large community. It has the ability to create AAA visual fidelity and it has reliable performance while allowing extensive optimization such as occlusion culling…. The built in features such as the physics engine and different terrain will make life a lot easier so we can focus on the gameplay.

While the Engine itself is based on C/C++, scripting for Unity is accomplished through the use of JavaScript, C# or Boo. As we will see later, these scripting options have quite the appeal within the development community. Unity Technologies says that it has built on the Mono framework and therefore anywhere that Mono runs, Unity will also run. Given the Linux community’s precarious past with Mono, it will be interesting to see how, or if opinions on Mono will slowly shift. During my conversation with Unity Technology I asked them about support for Linux specifically. With the heavy focus on Windows-centric gaming, why has Unity chosen to adopt a cross platform approach?

Unity has a “build once, deploy anywhere” philosophy.  Unity currently deploys to PC, Mac, Unity Web Player, iOS, Android, Xbox 360, PS3, and Wii with the click of a button and will soon deploy to Flash, Linux, and Windows Phone 8 in the same way. Gaming is changing, and now more than ever players and developers want to be able play and develop games on a variety of platforms. With the huge growth in mobile gaming, we feel that it is important for developers to be able to reach gamers everywhere.

This is a very interesting point of view and it may turn out to be quite wise as the rise of Linux gaming seems to be at hand, with the top content distribution network on the PC working to bring their platform to Linux. Games Foundry’s new game Folk Tale is using the Unity engine and had this to say about Unity 3D:
Looking at the market … Unity seemed the most flexible [game development platform]. I have 10 years of C# experience, Unity’s workflow is pretty nice, and the senior management shared a common vision. Now the learning curve is out of the way, I can safely say [choosing Unity] was a good decision. Building for PC and Mac was easy, and Linux support is imminent.
I decided to ask Unity Technology about their experience in attempting to support the Linux Desktop, I was curious to find out their impressions both positive and negative. To which they had this to say:
Linux support has been a highly requested feature by the developer community. While it does not have a large market share on the desktop, relatively speaking, those who do game on the platform tend to be very dedicated to supporting good games. Publishing a quality Unity-based title on Linux is very little effort and thus simply improves the return on investment. We are thrilled to announce that we will be adding a Linux deployment option to Unity with Unity 4. It will be able to deploy to Desktop Linux and will be supporting Ubuntu Linux. This deployment option will be available to all Unity 4 users (including those using the free version) upon final release and will give our users access to a great group of PC gamers.
So with Unity doing most of the heavy lifting to support Linux (specifically Ubuntu), game developers are now free to focus on making an improved gameplay experience without having to worry about game engine concerns of cross-platform deployment. In fact most of the games we have talked about in this series have chosen Unity 3D, including Wasteland 2, inXile’s upcoming RPG.
From looking at Unity demos, other games developed with Unity, and conducting our own art and coding tests, we are convinced that Unity delivers on the game system that we need to build Wasteland 2 in style. This includes advanced 3D rendering, pathing, physics (PhysX), multiple options for scripting language, advanced 3D level editor that is customizable with scripted components, and much more.
Where Unity really bowled us over was the support and expertise available from vendor and in community. Besides generous support available from Unity staff, the Unity Asset Store is a treasure trove of assets (3D models and code) provided by the large and growing community of Unity users. We’ve been able to find all kinds of useful 3D assets and code in the Asset Store ranging in price from cheap to free! Having an organized marketplace like the Asset Store for finding assets and expertise fits right in with our desire to leverage and give back to the community. While we cannot share engine source code changes, we can share script code and components, as well as graphical assets as part of our modding support.
Example assets which may be available from the Asset Store
This piqued my interest and I decided to delve a little deeper into the idea of the Asset store, as this seemed like a great way to build and maintain a community of developers as was alluded to earlier. So what was the idea behind the store, who has access to it, and how has it contributed to Unity’s success?
The Unity Asset Store is a unified digital marketplace where developers can share and sell assets to each other to accelerate their workflows. The Asset Store is a critical time and effort-saving resource when creating your game. Character models, props, materials and textures, landscape painting tools, game creating tools, audio effects and music, visual programming solutions, scripts and editor extensions are all available. You can download helpful learning resources, such as demos, and tutorials for car physics, character customizations, C#, landscape creation and more.
As a publisher, you can provide for free or sell your assets in the Asset Store, build and enhance your profile with tens of thousands of fellow Unity users, and make money. As a customer, you can access a wealth of ready-made assets that can drastically reduce the time, cost and effort of making a game.
Professional game developers, a number of whom now make a living by selling their products on the Asset Store, create the assets. Our publishers keep 70% of the profits from each sale. You access the Asset Store directly from Unity. Download Unity. Open the Unity Editor, go to Windows and click on Asset Store from the drop down menu. The Asset Store catalog is constantly growing, and currently comprises nearly 5000 ready-to-use free and for purchase asset packages.
For those of you who wish to experience Unity 3D for yourself, the company offers two different versions of their product. The free version includes a 30 day free trail of Unity Pro. unfortunately for the Linux fans out there, the editor is currently only available for Windows and Mac, with no definitive word on whether the Development Tools will be ported to Linux any time soon.
In the next article we return to the focus on game developers. Still to come: interviews with The Guys from Andromeda and Photon Productions.
-Steve Ovens – stratus_ss
About Stratus_ss 7 Articles
I have worked for the past 4 years as a Linux Administrator for both the movie industry and the software development industryI have certifications from Redhat, Canonical, LPI, Novell, Cisco and Comptia.I am an active member of the Alternative Operating Systems section at overclockers.com/forums

Loading new replies...

D
Dmanstasiu

Registered

37 messages 0 likes

I love the idea but ... will we be getting driver support from AMD and Nvidia ?

Reply Like

Avatar of ssjwizard
ssjwizard

1

5,583 messages 149 likes

Nice read, I worked on a project last year that wanted to use unity but went with a custom coded engine because unity lacked linux support. Im very happy to see this is going to be added in the coming version.

@Dmanstasiu
nVidia worked hand in hand with Valve for the last linux driver release. That as far as I know was the first gamer oriented Linux driver from nVidia EVER. As Steam comes to bare on linux and other developers push further into *nix land I imagine AMD will finally get off there butts and start offering proper drivers.

Reply Like

D
Dmanstasiu

Registered

37 messages 0 likes

Glad to hear NVidia is working on it, at least. Hopefully AMD doesn't screw itself over

Reply Like

Avatar of Stratus_ss
Stratus_ss

1

4,078 messages 0 likes

Things on the driver front are really picking up.

As for Unity3D, I have played a few of their games for linux and they work quite well. I have noted that the execute bit almost always has to be set before you can double click on the executable or else you get a dialogue indicating that Linux doesn't know what to do with the file. Its a minor thing, and overall it allows great titles to come to Linux easily!

Reply Like

Avatar of Owenator
Owenator

1

1,484 messages 12 likes

Unity Web Player is the used by my youngest son's favorite game Monkey Quest. It crashes so often on my PC (Windows 7 x64) that I've given up playing with him. So far I am less than impressed with the web version of the engine. Hopefully it runs better on Linux.

Reply Like