|
Saturday, 08 May 2010 20:36 |
|
Well, well... it seems as though Adam Internet has finally got their wayward Ubuntu repository under control at FileArena, and the mirror is up to date.
This is of special importance for us Ubuntu users who use Adam Internet as their ISP as data from FileArena is unmetered, so you can download all the file system updates you want without affecting your month bandwidth quote.
Because FileArena doesn't appear in the list of Australian repositories, you're going to have to get your hands dirty with the terminal.
sudo cp /etc/apt/sources.bak gksudo gedit /etc/apt/sources.list
If you are using the stock sources.list, and haven't added any custom repositories, then you can simply replace the text in the file with what I'm using. Additionally, if you have customised your sources.list with extra repositories, you're going to have to copy the non-default entries back into the sources.list file after you replace it with what I'm using.
# deb cdrom:[Ubuntu 10.04 _Lucid Lynx_ - Beta amd64 (20100406.1)]/ lucid main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution.
deb http://www.filearena.net/pub/ubuntu lucid main restricted deb-src http://www.filearena.net/pub/ubuntu lucid main restricted
## Major bug fix updates produced after the final release of the ## distribution. deb http://www.filearena.net/pub/ubuntu lucid-updates main restricted deb-src http://www.filearena.net/pub/ubuntu lucid-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://www.filearena.net/pub/ubuntu lucid universe deb-src http://www.filearena.net/pub/ubuntu lucid universe deb http://www.filearena.net/pub/ubuntu lucid-updates universe deb-src http://www.filearena.net/pub/ubuntu lucid-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://www.filearena.net/pub/ubuntu lucid multiverse deb-src http://www.filearena.net/pub/ubuntu lucid multiverse deb http://www.filearena.net/pub/ubuntu lucid-updates multiverse deb-src http://www.filearena.net/pub/ubuntu lucid-updates multiverse
## Uncomment the following two lines to add software from the 'backports' ## repository. ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. # deb http://au.www.filearena.net/pub/ubuntu/ lucid-backports main restricted universe multiverse # deb-src http://au.www.filearena.net/pub/ubuntu/ lucid-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu lucid partner # deb-src http://archive.canonical.com/ubuntu lucid partner
deb http://www.filearena.net/pub/ubuntu lucid-security main restricted deb-src http://www.filearena.net/pub/ubuntu lucid-security main restricted deb http://www.filearena.net/pub/ubuntu lucid-security universe deb-src http://www.filearena.net/pub/ubuntu lucid-security universe deb http://www.filearena.net/pub/ubuntu lucid-security multiverse deb-src http://www.filearena.net/pub/ubuntu lucid-security multiverse
Save the changes, then refresh the file list.
sudo apt-get update
If it screws up, and you want to put it back the way it was, then simply replace the modified file with the backup we created earlier, sources.bak.
sudo rm /etc/apt/sources.list sudo cp /etc/apt/sources.bak /etc/apt/sources.list
|
|
Sunday, 25 April 2010 18:08 |
|
With the release of Lucid Lynx, Ubuntu 10.04, my method for disabling the left and right clicks of the mouse now longer works. I need to disable this because, as a Blender3D user, the middle mouse button is held down to rotate the editor view, and triggering a mouse wheel left or right click breaks Blender out of rotate mode, which is a tad annoying. Unfortunately, my previous fix didn't work.
The first thing I did was try my previous fix. No luck there, it didn't work anymore.
Googling for more info, I found that Ubuntu 10.04 had moved on from hal, to using udev.
Half an hour later I was left scratching my head because my udev rule simply wasn't working. There was no doubt that udev was picking up the rule, it was just ignoring it.
Googling for more info, I found that Ubuntu 10.04 had moved on from udev to using xorg.conf.d and that I'd have to create an xorg.conf.
Deprecating input device configuration twice during one release? You guys have gotta slow down, you're giving me wind-burn!
Luckily, it's pretty straightforward.
First of all, you'll need to find out the name of your device. The easiest way is simply run lshal and pipe the output to a text file.
lshal >> ~/devices.txt
The text file will be in the root of your home folder. Search through it for the string 'input.mouse' (without quotes) and inside this block there will be a line that specifies the product. If, like me, you have some sort of Logitech wireless mouse, then the product will look a lot like 'Logitech USB RECEIVER'
Next, create a text file in the xorg.conf.d folder.
gksudo gedit /X11/xorg.conf.d/20-middle-mouse-button.conf
Then paste the following into it.
Section "InputClass" Identifier "Logitech middle mouse button remap" MatchProduct "Logitech USB RECEIVER" MatchDevicePath "/dev/input/event*" Option "ButtonMapping" "1 2 3 4 5 0 0 0 0 0" EndSection
You can enter anything you like inside the quotes on the second line, but you'll need to put the product you found via lshal into the quotes on the third line.
Finally, enter your button mapping into the second set of quotes on line 5, putting zeros in the position corresponding with the buttons you want to disable.
If you don't know what the button id's are, then run xev.
xev
Clicking the scroll wheel left and right will put event info into the xev window. One of the fields of info includes the button. You'll find that the scroll wheel triggers two events, each with a different button id, one for click and one for release, so you'll end up with four numbers. In my case, those numbers were 6, 7, 11 and 12, so I simply put zero's into position 6 and 7 in the ButtonMapping value. I didn't bother with 11 and 12 because they didn't seem to trigger anything.
After rebooting, your scroll wheel left and right click should be blissfully absent
|
|
Wednesday, 05 May 2010 08:25 |
|
The original prototype of Keepers was developed in C++ using the impressive Irrlicht engine, in a frenzied 24 hours of coding spread across three sessions. The purpose of the prototype was to demonstrate what I intended to do if I won the competition, but the code itself was a bit bodgey, as it was setup to be a framework into which I could insert the final code, once proper development began.
The weekend before the winners were announced I began the process of moving to a desktop platform, away from the Ares handheld. This meant that it was time to begin work on some final code, and to make life easier, I decided to use Box2D to give the world gravity to make the platforming bits easier to code.
It seemed like a good idea at the time, but many hours later, while trying to figure out yet another bizarre physics problem, I realised that finishing Keepers was going to take a very, very long time. I'd spent more than a week, on-and-off, just trying to get Box2D to behave, and it was clear that once I'd tamed that beast, I would have to move on to do the same for an audio library, a networking library, an AI library, and who knows what else. Each of these libraries would would need to be compiled, added to the project, then the quirks would have to be discovered and dealt with through trial and error.
And, if I was able to overcome all that, I'd then have to figure out how to move all this to different platforms, since I wanted to produce at least a Windows version. Then again, I'm also interested in Android, and development on that platform is in Java, which would mean figuring everything out from scratch, all over again.
So much work, and for such a simple project!!
What about a game engine?
I was recently introduced to the idea of using a game engine to speed up development. There's loads of them out there, amongst which Torque 3D (rumored to be buggy) and Unity 3D are amongst the most popular. Some engines support Linux, but few commercial ones do. Torque did have a Linux version some years ago, but they palmed it off on a phantom "community" so it withered and died.
I looked at all the current alternatives, and In the end, my choice was quite easy, since there's actually only one engine that supports both Linux and Android.
Shiva3D
Shiva3D is the creation of a strangely named French company called Stonetrip. It supports a bewildering array of platforms, including, but not limited to Linux 32bit and 64bit, Android, Apple Mac, iPhone/iPad, Windows, Wii, XBox 360 and there's even a browser plugin for Firefox, IE, Safari, Chrome and Opera, though the plugin doesn't as yet work with 64bit Linux. I've been reliably informed that a 64bit Linux plugin is on it's way, for version 1.9, which is due in the next few months.
The reason that Shiva can support so many platforms is that games are developed inside a custom IDE after which all the logic and media in the project is bundled up into a single package for distribution. The package is then executed on the target platform using a native code runtime.

Shiva 3D comes in three flavous, PLE, Unlimited and Advanced. The PLE (which is free to try) and Unlimited editions offer all the tools necessary to develop a game, with the only difference being that the PLE version can't compile the game into a final package for distribution. The Advanced edition offers additional tools such as a performance analyser. There's also a dedicated network server package for writing games such as MMO's, which supports a large number of simultaneous connections, though the Unlimited and Advanced edition do include tools for creating basic networked games. Additionally, both the Unlimited and Advanced editions permit royalty free distribution of games, so you won't be gouged if you try to go commercial.
Despite Shiva supporting Linux as a run-time target, at this stage, the IDE is Windows or Mac only. Version 2 of Shiva3D, due out late this year, is going to support all three platforms for development. In the meantime there are workarounds for this little problem, including Virtual Box and dual booting.
Virtual Box
I've been a long-time VMWare user, and have pretty much ignored Virtual Box, so I was quite surprised to see how far it's come when I installed it recently. I'd even go as far as saying that I think it's better than VMWare since there's no need to compile every time there's a new kernel and it certainly seems less glitchy.
It was an even bigger revelation to discover that Virtual Box supports hardware acceleration for 2D and 3D applications. Although games are a bit hit and miss when vitualised, it turns out that the Shiva 3D engine works very well, resulting in a drastic performance improvement when using with the IDE. it's even possible to run Shiva games virtualised, though they will be nowhere near as fast as running them native.
I tried out a few of the demo games, including The Hunt, which is a graphically impressive 3D shooter. While vritualised it only managed a few frames per second, which is quite impressive since running on my normal Ubuntu desktop maxed it out at around 30 fps. Although The Hunt was quite slow, simpler games ran very quickly inside Virtual Box and were largely indistinguishable from running them natively. I'd have to say that virtualising Shiva is suitable stop-gap measure until the fabled version 2.0 is released.
Virtual Box tips
Here's a few of tips you might find useful if you plan to virtualise Shiva3D.
- Under Ubuntu, the left Alt key is mapped for task switching. The left Alt is also used by Shiva to enable fast access to the scale, rotate and translate functions for a model, so you're going to need to remap that key. Go to System->Preferences->Windows and set the movement key to "Super", which is the Windows key on most keyboards. Hey, it's not like you'll be using that key for anything else...
- Menus drawn over the OpenGL preview window in the IDE inside Virtual Box don't always render properly which can make it look like they didn't drop down or the program has locked up. It hasn't, if you move your mouse over where the window is supposed to be, it'll draw properly.
- Make sure you turn on 2D and 3D hardware acceleration for the virtual machine, and give the environment as much system and video RAM as you can spare, or it's going to spend all it's time paging which will slow your productivity.
- To get a bit more performance out of the virtual machine, if your hardware supports virtualisation directly, you'll want to enable that in the BIOS. I've set mine up so that two of my four cores are dedicated to the VM, the other two to the host.
- If you are a modeler, and you work in Blender3D, you could have some trouble getting your work into Shiva as it only supports the Collada format. Versions of Blender prior 1.5 have a Collada exporter, but it doesn't really work very well. Thanks to Google Summer Of Code, a proper Collada exporter is currently being added to Blender, intended for the 1.5.x release, which is still under heavy development. Thanks to Graphicall.org, I've had an opportunity to play around with the exporter from the latest development builds, and it's coming along nicely, though it doesn't appear to handle animations 100% correctly yet. In the meantime, it's possible to continue using versions of Blender prior to 1.5, then simply load up the models in the alpha release and export them from there, though you are going to have to play around with your models to make sure they are suitable for Shiva. In the longer term, Blender 1.5 and beyond should provide a clean pathway for getting 3D assets into Shiva3D.
- Finally, for Blender users. If you are running the latest Ubuntu 10.04, and you're getting irritated by the middle mouse wheel clicking and knocking you out of camera spin mode, then you can disable the left and right click for the scroll wheel by following this guide.
Try it out for yourself
I'll admit it. I was quite impressed by Shiva3D, hence this long spiel. I was even more impressed by the responsiveness of the developers in the forum and the fact that they are taking Linux seriously as a target platform. This led me to try out the PLE edition, and finally to purchase my own copy of the unlimited edition to hopefully produce a few games with, including Keepers and other ideas I have swimming around in my noggin.
Of course, it's one thing for me to say Shiva is the "bees knees", and another for you to see it in action for yourself.
For Windows, Mac, and Linux 32bit users, you can simply navigate to the Stonetrip site and try out some demos right now, in this very browser. Linux 64bit users (I'm one) will either have to wait a bit longer for the 64bit browser plugin, or you have can download the demo package and run it from your desktop after installing the native code runtime from here. Unfortunately, the demo files aren't listed on the Stonetrip site for individual download, but I can at least direct you towards the most impressive of the bunch, The Hunt. Be warned, you'll need a beefy PC to play The Hunt at a reasonable frame rate.
If you are at all interested in developing cross-platform 3D applications, then you should check out the PLE edition of the IDE, it's free to try.
|
|
Thursday, 22 April 2010 18:29 |
|
The competition is over, and I didn't win.
I came fourth.
Of three.
The phantom entry
The competition came down to a four way poll between three of the entries.
Yes, you read that right.
One of the entries, despite being a well written PSP game, couldn't actually win. There wasn't anything wrong with the project itself, rather, the setting and plot was supposed to be a sequel to intellectual property (IP) owned by Bandai, ie. it was a fan-game, as freely admitted by the author who had nothing to hide. Unfortunately, it's not that unusual for fan-game developers to get a visit from a lawyer when they borrow intellectual property, and it's also not uncommon for such games to never hear a peep from the owner either because they're too small to notice or the IP isn't important enough to fight for.
However, the likelihood of a visit from an unfriendly lawyer increases exponentially when the author of the borrowed IP tries to sell the title. I'm not sure if this particular author had read the rules thoroughly or not, but the purpose of the contest was to create a game to sell in Gizmo's shop, presumably in an effort to increase sales of the device since the only existing games for the system are ported emulators. Attempting to make this title available from the shop could easily be interpreted as trying to profit off Bandai's IP, ergo, this entry could not win.
The Gizmo guys have since confirmed that they were aware of this, and that means that they decided to leave the entry in the running, despite it's ineligibility. It ended up taking second place.
Except it didn't. When the results were revealed, it was finally excluded, bumping my effort from fourth to third. How unexpected.
So why exactly did they leave this particular entry in place to score votes which might otherwise have been given to an entry that could have won?
I have no idea, but it didn't really matter in the end.
Democracy in action
A short time after the poll went live, I checked it out, and as one often does, I voted for my entry.
Then I realised I hadn't actually logged in to the site, so logging in, I voted again. Two votes.
Hey, this is fun!
I tried voting for myself again, but unfortunately, my vote was rejected, something about IP addresses and cookies. So, I cleared my cookies, browsed to a free web based anonymiser and voted for myself twice more. Four votes.
This lead to me writing a nice email to the Gizmo guys, quitting the competition to reinforce the point that the poll could easily be gamed.
They were genuinely surprised since they were using a standard poll plugin for Joomla which they believed was secure. It was to a certain degree, but to anyone who had even minimal experience with web applications, it had some pretty obvious flaws. So, they closed the poll to anonymous votes, reset the counters and I rejoined the competition.
With the poll back up, I tested the changes and sure enough only registered users could vote, but there was still nothing stopping a user registering multiple times using different IP's. I let it go because it would be pretty obvious if anyone was faking votes.
Sure enough, there was a large difference in the result, but not because of intentional cheating.
It was more likely the friends dynamic.
Friends, being friends, want to help. So friends will register and vote. And vote they did. I confirmed this for a while, by checking where each vote was coming from and I found a connection to who the vote was for in most cases, at least for the first four days after which I stopped caring.
If I'd known I was entering a simple popularity contest, I'd have baked a cake, not designed a game.
I was left with three choices: cheat, lose or quit.
As I'd already demonstrated that I wouldn't cheat, and I'd already played the quitting card, that left only losing. In this case, losing wasn't such a terrible thing. Knowing that one of the entries could not finish the competition meant that I was guaranteed a "win" of sorts, third place, which came with no money, no console and more importantly, no further obligation. Bronze medal quitting, if you will.
With this in mind, I put aside childish thoughts of using the one-two combo of gmail and a web anonymiser to fake votes, of calling in my vast legion of friends and of raising the white flag.
And sure enough, I achieved my goal with a total of four votes, but it was a close call. If just one of my friends had accidentally voted, I could have come joint second! What would I have done with half a console?!
The runner up finished with five votes, the ineligible entry got nine and the winner came home with a staggering eleven votes.
I'd like to make a special thank you to the stranger who voted for my entry, the only vote I got from someone I didn't know.
But that's not how I'll remember it. In years to come I'll weave a fantastic tale of a battle between the world's top game designers, fighting tooth and claw for the ultimate prize: one of two limited edition Ares consoles. When the screaming had stopped, I found myself standing in a sea of corpses, ahead lay the final two warriors to face, but I was spent. I could not go on. My blood stained sword slipped from numb fingers and falling to my knees, I accepted third place on the podium of winners.
At least I got a t-shirt.
LOL
PS. Good luck to the Gizmo guys and the winners, I hope Ares takes you places!
PPS. Keepers will live on to be released on Linux and Windows!!
|
|
Sunday, 18 April 2010 08:46 |
|
Doesn't time fly? It's been six months already and the next Ubuntu is due in the a week or so.
Earlier this month I had decided to stick to Ubuntu 9.10. For the first time in my Ubuntu experience, I had found a version that didn't need upgrading. Karmic Koala required no messing around over the last six months, no compiling of apps that were the wrong version or not even in the repo. Life has been easy.
Then, on Friday, I was checking out my local cut-price computer parts store, as I periodically do, when I noticed they had Kingston SSD drives for a pretty decent price. I read a couple of reviews and it turned out that Kingston's drive was pretty good, not up to the standard's of Intel's X series of course, but good value for money.
Finally, it was time to take a chance on an SSD as a boot drive. And with a new boot drive drive, I had to reinstall Ubuntu. As the 10.04 release is almost upon us, it seemed like fate had decided I was going to upgrade to Lucid Lynx.
Here is my take on beta 2, nine days before the final release.
First Impressions
The first thing I did was to crack open my PC's case, remove the old drive and installed the new SSD and 1.5TB Seagate drive that was to become my new home folder. The SSD is tiny, and unsurprisingly, it didn't really fit any of the drive bays in my typical tower case. On the plus side, since it's also light and has no moving parts, I just cheated and screwed one side of it into a 3.5" drive bay that had screw holes at a convenient height so that the drive was resting on the floor of the bay and wasn't just hanging off the screws. So long as we don't have any more massive earth quakes like we did the other day, I have no concerns.
Next, I booted off the Lynx live cd. After a few minutes (CDs are slow), I was presented with the new Ubuntu desktop theme. Before I get onto that, I'd like to mention that the boot process was a little disconcerting because the screen went black a few seconds after the desktop wallpaper appeared and stayed that way for a further 30 to 60 seconds. As the CD drive was still making noises, I left it alone, and sure enough, the full desktop finally appeared. All I can say is, be patient.

What can I say about the new theme? Mmmm, purple.
Ubuntu has traditionally had a brown and orange desktop in keeping with the theme of "humanity", which has often caused certain people to complain, myself not included, though I do admit that I had no particular fondness for the colour selections. The new theme of purple and dark gray looks far more professional, and surprisingly, works quite well. In a world of operating system blues, greens and greys, purple stands out. I can't think of another operating system off the top of my head that uses this colour scheme, so it makes Ubuntu look unique, in a good way. Nicely done.
Installation
Immediately after checking out the menus for changes (where's my Gimp, dammit!), I launched the installer. Ubuntu has certainly come a long way, as again, it's quite professional looking with the fancy adverts that are now displayed while installation progresses.
It was during the installation that I encountered my first issue with Lynx. I got to the drive partitioning page and set my system up so that the 64GB drive would be the boot drive, the 1.5TB was home and I had the partitioner leave the WinXP drive alone. Moving forward though the installation process, when I was presented with the summary, it informed me that there were no drives to format, which was odd. I thought, "what the hell", clicked go and and let it perform the install. Sure enough, the correct drives were formatted, but unfortunately, but the actual install errored out at about 60% claiming the disc was damaged.
As I'd already MD5'd the disc before installation, I knew it was fine, so I buffed the disc a little on my t-shirt to remove any wayward fingerprints that might be gumming up the install, rebooted and started the process anew. This time, the installer correctly identified that it had to format the new drives and did so, finishing successfully this time.
Rebooting left the computer hanging just after the BIOS check, as though the SSD was not bootable. The XP drive was also no longer bootable, coming up with a grub error, which meant that Ubuntu had wiped the Windows boot sector.
Time for some payback, eh Mr. Shuttleworth? For all those grubs obliterated by the Windows installer?
With an intuitive leap, I rearranged which SATA sockets the drives were plugged into so that the SSD was recognised as the first master, the home drive was the first slave and the WinXP drive was the second master. Fast forward through reinstalling again and the PC was now bootable, followed by a visit to the recovery console to get WinXP back up.
Real world use
Because of the SSD, the computer starts up in about 15 seconds after POSTing, give or take. Small apps, like GEdit, now open in under a second, while big apps, like Open Office, take almost two seconds to open the first time. Subsequently opening any app that's been started once is nearly instantaneous, except for Gimp, which stubbornly always takes about two seconds to open. Appalling!
Hardware wise, my wireless USB dongle connects quicker and seems to maintain higher speeds. I did have trouble with the nVidia drivers though. The system detected that the card was in the machine, and then installed the drivers, but produced an error something like "Jockey couldn't complete the install". Rebooting the system showed that the nVidia driver is actually installed, but the system thinks it isn't. Weird. Doesn't matter, it's working, and I'm sure this problem will be resolved before the final release as I'm not the only one who's had it. The only side effect of this is that the boot and shutdown splash screens are now low-res, but as they only briefly flicker into life before disappearing, thanks to the SSD, I'm not that bothered.
I rather like the new Empathy applet. I'd never bothered even investigating Empathy in the previous Ubuntu release, but this time, it was so easy to get into, it practically logged me into my chat accounts by itself, putting Pidgin out of work in the process, with none of the messing around I'd had to do to get Pidgin to connect to gtalk, for instance. That's ease of use and that's what people love.
And finally, the same old problem as last time, and the time before that has reared it's head. Flash. Sure, it installed OK, but it installed the 32bit version and the wrapper. Seriously, guys? The 32bit version simply doesn't work properly on any 64bit system I've tried it on, so I always end up having to manually install the 64bit version. It's been out for ages, so why not use it?
What about Trim?
The first round of SSDs that came out a few years ago suffered from a rather annoying flaw. When updating or deleting files, the drives typically marked the block of memory cells the file was in as unavailable. Over time, depending on how much was stored on the drive, the entire drive would fill with these unavailable sectors rendering it unusable.
At the moment, Ubuntu 10.04 doesn't support Trim as support is coming in the next kernel, which will be out after the final release of Lucid Lynx. I doubt I'm going to need to worry about this problem for a month or two as my complete Ubuntu install only using a tiny fraction of the 64GB available on this drive, so I'll simply wait for a solution to emerge, presumably a custom version of the kernel. Even if the worst happens and there is no solution, I can simply format the SSD when it fills up and be back up and running in under half an hour.
In summary
I really had no pressing need to upgrade from Karmic Koala, but the new theme and the little improvements I've been seeing all over the place have made it well worth the effort of moving up to Ubuntu 10.04, Lucid Lynx.
|
|
|