Web Journal of Alex Combas
Programming, Animation, Linux and Life
RSS
  • Blog
  • Contact Us
  • Demo Reel
  • Education

The trouble with Linux Games

Blender, Ubuntu, games, gimp, inkscape, linux, programming 0 Comment »

mario_icon_applescripts_4527_thumbIn my web wandering I recently came across the Ubuntu Gaming team which is a marketing effort which was started from a post over on pinstack.

Here is the problem: the Linux gaming landscape is a wasteland, and more marketing couldn’t hurt but it sure wont fix the problem.

So what does Linux Gaming really need? Well I thought about it, and here is what I came up with.

A Lack of High Quality Game Engines

When you look at the titles of the really successful game company’s such as Ubisoft, Epic, and others they all run on these amazingly powerful proprietary game engines. The game engine itself is a huge piece of the puzzle when it comes to any half-way decent game and unfortunately this is an area where Linux is lagging behind other platforms. One could say that the reason for this is because there are simply not enough open-source developers dedicated to the cause of creating high quality open-source game engines (quite a mouthful), and while that may be partly the reason I suspect that organizing those developers is also to blame.

Open source works differently than regular development, in an open source project you’re aren’t assigned to a team and given a to-do list and a manager to check your list and while you may be thinking “Hey that sounds good!” The downside is you aren’t given a paycheck either. You are simply a volunteer who does what she wants when she wants on what she wants, and in that kind of situation it is very hard to accomplish everything that needs to be done.

Despite the inherent problems of lack of developers and lack of organization there are some open-source game engines out there who have figured out how to get things done and are actually quite good! Take two open-source game engines for example: Panda3d: an interesting combination of C++/Python, and jMonkeyengine: written in Java. Both of these engines have been used to make commercially successful games so they are certainly respectable projects, but realistically they are years behind even moderately successful proprietary engines despite being two of the best  engines that the Open Source world has to offer.

A Lack of Game Artists

You could have the best game concept in the world but without professional artwork your game is going to look end up looking like a pile of molten slag and unless your game is about the zany adventures of a boy and his pile of molten slag then you have a serious problem.

I wont go into just how eye-popping even the moderately successful proprietary games look these day because I’m sure we know already, the real question is how did those games get to look so good and how can we bring that over to the Linux system.

The first thing to understand: Game artists can’t work without tools. As an artist my tools are just as important to me when I’m creating art as when I am creating code, and many of the artists that I know also feel the same way. Non-artists may find it surprising that artists care deeply about their software, perhaps you thought that Emacs vs Vim type wars only happened in geeky programming mailing lists but let me tell you that artists can feel just as strongly about their favorite weapons of choice.

So what is the quality like of the artist tools available for Linux. The best three available are Blender, Gimp, and Inkscape and I can say in all good faith that they are simply amazing. I’d really like to emphasise this point. Just 2 or 3 years ago I would not and could not have said this with such confidence, but the beauty of open source is that it just continues to get better and better. I have total confidence that for anything I need to do open source tools meet the challenge.

However tools are only one piece of the puzzle, another important factor is money and recognition. Money is important to every professional but it is particularly important for artists because art is one of the more difficult industries to make a successful living. Your average programmer doesn’t have that much difficulty finding a job after college but that is not the case with the average artist despite being no less talented.

If I were to ever setup an open source game I would ensure that any serious artists linked to the project received a percentage cut of the donations or in some other way be compensated. I would also make sure that the artists got in-game and on-site named credit for their work and contributions.

A lack of Games Itself

By “Game” I mean the concept and code which connects the players to the game-engine. Despite the two previous problems of a lack of high quality game engines and a lack of game artists this problem is in my view the most difficult to overcome. People need to write more games for Linux, there is no way around this.

You may have a good idea, but I’ll tell you what Guy Kawasaki told me once and that is that good ideas are not hard to find, it is making them happen which is the trouble.

How do we get around this? Tie a bunch of artists and programmers together and don’t let them go until they start making some awesome games? That seems like a good idea but in actuality it is a really hard thing to do.

My Open-Source Indie Game Developer Formula

I think a lot of people would like to head down the road (myself included) of independent open-source game developer, but how exactly to do so is a bit of a mystery.

After some thought I’ve come up with the following suggestions on how it could be done:

1) Write out a rough draft of your concept: It doesn’t have to be perfect but you need to set some simple goals about what you are actually trying to accomplish with this project.

2) Figure out your business plan, how will you make money from this game (AdSense? donations? whatever). Having a business plan is important, if you do not plan for this game to make any money whatsoever then chances are the development will be slow going and you will have trouble finding support or getting recognition for your work. Do not waste time planning to get rich, but do figure out some way to turn your efforts into some cash. This will help you to stay motivated.

3) Write and release an open-source proof of concept that runs, it doesn’t have to be pretty it doesn’t have to be fun it doesn’t even need to work, it just needs to run.

4) Turn to the Open Source community and to your friends for support, ask bloggers that you know to write an article or to mention your project on their site. Start to offer incentives to artists who would be willing to help your project. Here is where the offering to give name credits on the work as well as a slice of the pie (i.e. money) which I mentioned earlier would help a lot I think.

5) After you’re done schmoozing for help, you need to return to your project and continue to work. Push out another release even if you’re still all alone and even if the game is still as ugly as hell. Once your next release is out then head back to the blog sphere again and try to drum up more interest and help for your project, then once again return to your project and continue to work.

6) Repeat step 4 and 5 until you reach the goals set out in step 1

I hope this article will interest and motivate some of you out there to give open source game development a chance. Linux is a great platform with great tools and some pretty good open-source game-engines just begging to be abused.  All it needs is more people with killer game concepts and enough willpower to get a basic game project up and running.


June 28th, 2009  
Tags: Blender, games, gimp, inkscape, linux, programming, Ubuntu



Cougar tossing Momma

Vancouver, cbc, news 0 Comment »

CBC News has a pretty amazing article about some conservation officers who tracked and shot a cougar in Squamish this week.

The only reason I read it was because I thought that “tracking a cougar” sounded pretty cool and images of awesome bushmen with tracking skills popped into my head, but I was disappointed to find out they actually used dogs which really doesn’t sound all that hard or challenging although I guess they must at least been somewhat decent shots to hit a live cougar, so I’ll give them that.

But then I wondered what happened to the baby, well a little further down in the article it explains:

“Mo (the mother) turned around and there was a cougar that was kind of on top of Maya (her baby), so she picked it up, threw it off, picked up Maya, and ran,”

She what a what?! OK, just let that sink in for a second. She picked up a live unrestrained wild cougar while it was trying to attack a baby and threw it. Talk about a mothers love.

They really need to re-title this article “Mother tosses cougar like a rag doll” or something because the conservation officers with their dogs and guns have absolutely nothing on this cougar tossing momma.

What’za girl gotta do to get noticed? She already tossed a cougar, would it have helped if she had body slammed it afterwards? <insert joke about male dominated news cycle>.

6hvw5m4int


June 17th, 2009  
Tags: cbc, news, Vancouver



Why doesn’t Google use Qt or Swing or SWT for Chromium?

Android, App Engine, Chromium, Firefox, HTC, Qt, SWT, Swing, google 0 Comment »

Google Chrome

Google Chrome

I’ve been pouring through the video’s as they’ve been released of the Google-IO conference which happened a few days ago, its really hard to imagine that so much awesome took place over just two days. I think Google’s next step should be to open Google University to teach people how to use all this awesome new crap. First on my list is definitely Google App Engine but I’ll talk more about that another time.

Also I’d like to quickly mention that I stopped by Best Buy to take a look at the new Android phones which just hit the Canadian market for the first time a few days ago, unfortunately they didn’t have a working model on display but it was still interesting to see them. I think the model with the flip screen (HTC Magic) which reveals the keyboard is particularly nice, and tonight I just found out that Android will have python scripting built right in! I can’t wait for my Bell contract to expire, I’ll definitely be making the switch to Rogers unless Bell has Android phones by then.

But regarding a completely separate Google product which was really the reason I’m staying up late to write this; recently one of the Google Chromium developers commented regarding porting Chromium to the Linux platform “This entire situation is a clusterf*ck, I am not happy with the technical constraints imposed by Linux and its assorted UI’s on Chrome’s UI and feature set.”. (original thread)

I have the Linux developer version of Chromium installed and I’ve used it a few times it certainly is an interesting looking application and I sympathize with the developer in question, cross platform development with multiple toolkits no doubt is incredibly painful. However I can’t help but think that in this case it is a self-inflicted pain since there are already existing cross platform toolkits freely available which Google could have used  such as Qt, Swing or even SWT. Using a cross platform toolkit would have alleviated much of the pain and frustration that they are now facing porting Chromium to Linux. If they wanted their product to look the same on all platforms then they would have got that out of the box had they chosen Swing or Qt, however if they wanted a native look across each platform then SWT the toolkit used by Eclipse should have worked just fine.

How stupid is it to completely rebuild the entire UI of an application using separate toolkits when the developers knew from the beginning that being cross platform was an absolute requirement and there are cross platform open source toolkits freely available? Is GTK so much better on Linux than the alternatives? Is the native windows toolkit so much better than the alternatives on Windows? It certainly can’t be that it is easier to develop simultaneously with multiple toolkits, so there must be some other powerful reason they chose to do it this way but it baffles me.

Don’t get me wrong I’m really no expert developer so there may have actually been very good reasons why Google chose not to use Swing, SWT or Qt and although I cant think of what they might be I am open the idea and I’d love to find out if someone else actually  does know.

Thankfully  there will always be Firefox and although it doesn’t use Webkit or V8, which I wish it did, it is still an amazingly good Browser and I highly recommend it. In addition Firefox-3.5 will support the HTML-5 specification just the same as the Webkit based browsers so there is no need to ever worry that Firefox users will be left behind. HTML-5 is really exciting it will give browsers the ability to play online video’s without a plugin (bye-bye Flash). That’s going to be a beautiful day.

Edit: Just wanted to add, there seems to have been a bit of confusion generated by this article so I wanted to clear it up. You can not add a Java (SWT, Swing) interface onto a non-Java application so thats not what I was suggesting although it might have seemed that way to some. I was merely speculating that if Google knew it would need to develop on 3 different platforms from the *beginning* then why didnt they choose a crossplatform toolkit.


June 9th, 2009  
Tags: Android, App Engine, Chromium, Firefox, google, HTC, Qt, Swing, SWT



Unemployment rate in B.C. expecting 9%

Vancouver, employment, industry 0 Comment »

Unemployment rate in B.C. inches up to 7.6% and they are expecting it to go to 9% by the year end.

Also The Big Money reporting that nearly 12% of the Video Game industry has been laid off since last year (8,450 jobs bye-bye)

Well… one thing I will say though is that it seems like this is the perfect time to be re-training or otherwise getting yourself ready for when the economy bounces back and its time to start making money again. So if you’re thinking about starting a business, training centers are probably booming.

I think there needs to be an “if” in there somewhere but I think I’ll leave it out for now.


June 5th, 2009  
Tags: employment, industry, Vancouver



Setup Guide: Maya 2009 Sp1 Linux x64

Maya, Ubuntu, linux, x64 0 Comment »

Since writing the lamentation about my absence from the Linux scene I discovered that I had actually installed an older version of Mays since SP1 is now out for 2009

So this seemed like a good time to hammer out  a more in depth guide to setting up Maya 2009 x64 on Ubuntu Jaunty.

Pre-install setup:

First you will need to make sure that CSH is installed for the Maya setup scripts:

sudo apt-get install csh

Next some directory house-keeping for Maya :

sudo mkdir /var/flexlm

sudo cp <your Windows Maya 2009 license file “aw.dat”> /var/flexlm/

sudo chown 444 /var/flexlm/aw.dat

if [ ! -f  /usr/tmp ]; then sudo mkdir /usr/tmp; fi

sudo chown 777 /usr/tmp

Installing Maya:

Now we are ready to start installing Maya.

Although Maya comes packages natively from Autodesk in rpm format that is not a problem, just install the rpm tool for Ubuntu

sudo apt-get install rpm

Now download the Linux version of Maya 2009 from Autodesk, it only comes in one flavor x86_64 (Also known as AMD64) which can only be installed on a 64bit version of Linux.

wget http://images.autodesk.com/adsk/files/autodesk_maya_2009sp1a_linux64.tgz

It takes around five minutes to download, after you download right-click and choose “extract here” and then navigate into that folder using the terminal and install the rpm’s

sudo rpm -ivh –nodeps AWCommon-11.5-19.i686.rpm AWCommon-server-11.5-19.i686.rpm Maya2009_0_64-2009.0-452.x86_64.rpm

Post-install clean up:

Once that is finished click the “System” menu at the top of the screen and go to “System -> Preferences -> Windows” and change it so “Movement Key” = “Super”

Then add this line “MAYA_MMSET_DEFAULT_XCURSOR=1″ to the file located at /home/<your user name>/maya/2009-x64/maya.env

Adding that line will tell maya to always use the default cursor if you dont set this maya will change the cursor when you use it.

The final thing we must do before launching Maya is to change the xorg.conf file to disable the Composite feature.

Edit the file /etc/X11/xorg.conf  add these lines to the bottom

Section “Extensions”
Option        “Composite”    “Disable”
EndSection

Now, restart your desktop to make sure you edited the file properly.

If the desktop does not restart press CTRL+ALT+F1 and log into a terminal and check the file for spelling mistakes then restart your computer.

Once that is all finished, just launch Maya by pressing ALT+F2, and typing in “maya” and pressing enter.

If everything went properly Maya should pop up on your screen in just a few seconds. You should not see the Licensing window.

Now feel free to add a short cut to your hot-bar or menu, I will leave that up to you.

Trouble Shooting:

If you get errors when you try to launch Maya saying that it is missing necessary libraries then I suggest installing and running a packaged named “getlibs”

wget http://frozenfox.freehostia.com/cappy/getlibs-all.deb

sudo dpkg -i getlibs-all.deb

sudo getlibs /usr/autodesk/maya/bin/maya.bin

If you have any licensing problems please contact Autodesk for further support.

Hope this guide is useful to some out there.

Maya is an amazing package I just wish it was open source, but I’ve got my eye on Blender maybe someday I’ll make the switch.


May 31st, 2009  
Tags: linux, Maya, Ubuntu, x64



Previous Entries
  • About the Authors

    Alex Combas is a CG Artist and web developer.

    May Combas is a Cell Phone specialist.

    This site is OpenID Enabled and viewable on portable devices.

    Click this to subscribe for free...
  • Our Tag Cloud

    Andy Serkis animation chrome Dr. Who dreamworks environment facebook Firefox Functional games gmail google google browser Haskell hobby howto internet life linux Lua maps Maya mocap movies news openid Paramount Pascal Peter Jackson programming reader Ruby Stephen Moffat students tabs technorati teletoon Thomas Sangster Tintin tweets twitter Ubuntu Vancouver wordpress youtube
  • Meta

    • Register
    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
Categories
  • Android
  • animation
  • App Engine
  • Autodesk
  • Blender
  • Cartoon Network
  • cbc
  • Chromium
  • employment
  • Firefox
  • games
  • gimp
  • google
  • Haskell
  • HTC
  • important
  • industry
  • inkscape
  • interesting
  • linux
  • Maya
  • movies
  • Nerd Corps
  • news
  • programming
  • Qt
  • Swing
  • SWT
  • twitterings
  • Ubuntu
  • Vancouver
  • wip
  • x64
About Me

My name is Alex Combas. I'm a CG Artist and web developer living in beautiful Vancouver, Canada.

This site is OpenID Enabled and viewable on portable devices.

Copyright © 2010 Web Journal of Alex Combas All Rights Reserved THEMES CSS WP THEME by I SOFTWARE REVIEWS